Hello,
I have Emacs 28 on one machine and this build 29 on this machine--both running
on Windows 10. I've encountered the same bug on both builds of Emacs. I believe
it's a bug.
To reproduce the behavior, first make a link that begins a line, such as:
[[www.google.com][link]]
Org Mode will turn the above text into a clickable link called "link".
Now, select the link either by clicking and dragging the mouse from the end of
the word "link" to the beginning of the word, or by starting a region at either
the beginning or end of the word (or on the next line) and then using the arrow
keys to move point to either the "l" or "k" in "link".
Your region should now encompass "link" and nothing else.
Now, kill the line or region.
You will see immediately that the full text was not killed. Instead, the link
description is killed, along with, depending on where point was, possibly some
of the brackets, leaving behind the opening brackets, the link URL, the URL
closing bracket, and in some cases the final two brackets.
This behavior does not occur if the link is not at the beginning of a line. For
example, write this instead:
This is a [[www.google.com][link]] to Google.
Now, mark the same area, just the link that Org Mode has made, called "link",
using the mouse or using a region demarcated by using the arrow keys.
Now, kill the link.
You will see that the full link has been killed. Yank to confirm.
I believe org mode is not correctly finding the last characters to select
before either the beginning or end of the line in these use cases.
Thank you!
Emacs : GNU Emacs 29.0.50 (build 8, x86_64-w64-mingw32)
of 2022-02-11
Package: Org mode version 9.5.2 (release_9.5.2-13-gdd6486 @ c:/Program
Files/Emacs/emacs-29.0.50-snapshot/share/emacs/29.0.50/lisp/org/)
current state:
==============
(setq
org-link-elisp-confirm-function 'yes-or-no-p
org-bibtex-headline-format-function #[257 "\300\236A\207" [:title] 3 "\n\n(fn
ENTRY)"]
org-export-before-parsing-hook '(org-attach-expand-links)
org-archive-hook '(org-attach-archive-delete-maybe)
org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers
org-cycle-show-empty-lines
org-optimize-window-after-visibility-change)
org-mode-hook '(#[0 "\300\301\302\303\304$\207"
[add-hook change-major-mode-hook org-show-all append local]
5]
#[0 "\300\301\302\303\304$\207"
[add-hook change-major-mode-hook org-babel-show-result-all
append local]
5]
org-babel-result-hide-spec org-babel-hide-all-hashes)
org-confirm-shell-link-function 'yes-or-no-p
outline-isearch-open-invisible-function 'outline-isearch-open-invisible
org-agenda-before-write-hook '(org-agenda-add-entry-text)
org-src-mode-hook '(org-src-babel-configure-edit-buffer
org-src-mode-configure-edit-buffer)
org-confirm-elisp-link-function 'yes-or-no-p
org-speed-command-hook '(org-speed-command-activate
org-babel-speed-command-activate)
org-tab-first-hook '(org-babel-hide-result-toggle-maybe
org-babel-header-arg-expand)
org-link-shell-confirm-function 'yes-or-no-p
org-babel-pre-tangle-hook '(save-buffer)
org-agenda-loop-over-headlines-in-active-region nil
org-occur-hook '(org-first-headline-recenter)
org-metadown-hook '(org-babel-pop-to-session-maybe)
org-link-parameters '(("attachment" :follow org-attach-follow :complete
org-attach-complete-link)
("id" :follow org-id-open)
("eww" :follow org-eww-open :store org-eww-store-link)
("rmail" :follow org-rmail-open :store
org-rmail-store-link)
("mhe" :follow org-mhe-open :store org-mhe-store-link)
("irc" :follow org-irc-visit :store org-irc-store-link
:export org-irc-export)
("info" :follow org-info-open :export org-info-export
:store org-info-store-link)
("gnus" :follow org-gnus-open :store
org-gnus-store-link)
("docview" :follow org-docview-open :export
org-docview-export :store org-docview-store-link)
("bibtex" :follow org-bibtex-open :store
org-bibtex-store-link)
("bbdb" :follow org-bbdb-open :export org-bbdb-export
:complete org-bbdb-complete-link :store
org-bbdb-store-link)
("w3m" :store org-w3m-store-link)
("doi" :follow org-link-doi-open :export
org-link-doi-export)
("file+sys") ("file+emacs")
("shell" :follow org-link--open-shell)
("news" :follow
#[514 "\301\300\302Q\"\207"
["news" browse-url ":"] 6 "\n\n(fn URL ARG)"]
)
("mailto" :follow
#[514 "\301\300\302Q\"\207"
["mailto" browse-url ":"] 6 "\n\n(fn URL ARG)"]
)
("https" :follow
#[514 "\301\300\302Q\"\207"
["https" browse-url ":"] 6 "\n\n(fn URL ARG)"]
)
("http" :follow
#[514 "\301\300\302Q\"\207"
["http" browse-url ":"] 6 "\n\n(fn URL ARG)"]
)
("ftp" :follow
#[514 "\301\300\302Q\"\207" ["ftp" browse-url ":"]
6 "\n\n(fn URL ARG)"]
)
("help" :follow org-link--open-help :store
org-link--store-help)
("file" :complete org-link-complete-file)
("elisp" :follow org-link--open-elisp))
org-metaup-hook '(org-babel-load-in-session-maybe)
)