Age | Commit message (Collapse) | Author |
|
Many link-related names changed in a486d9cbd (Move link-related core
functions out of "org.el", 2018-11-27).
|
|
2b00d6281 (Change bracket link escape syntax, 2019-03-09) updated a
match group in org-link-edit--link-data for a change in
org-bracket-link-regexp. Apply the change here.
That commit is included in the recently released v9.3. Set that as
the minimum requirement because the new value will not work with
earlier releases.
|
|
The existing description may not be of interest to the caller,
especially if it was automatically generated by org-store-link.
|
|
|
|
|
|
|
|
|
|
|
|
A to-be-transported link is allowed to have a description if a new
description isn't specified by the word at point or the selected text.
In this case, don't drop the original description during transport.
|
|
Make it more obvious that this variable corresponds to the original
link's description, not the new description specified by the word at
point or the selected text.
|
|
When point is on whitespace, there are no description bounds because
there is no text to use for the description. Avoid a type error in
this case by navigating to the initial location of point rather than
the left description bound.
|
|
|
|
|
|
The slurping and barfing commands are interested in point being on a
link, so it is sufficient for them to use org-link-edit--get-link-data
and get a user-error when point is not on a link. But an upcoming
command will want to know that point is _not_ in a link.
|
|
|
|
When a point is on a blank space beyond the link but before the next
element, org-element-context considers point to be a part of the link.
This leads to incorrect behavior (shown in the added tests) when
either barfing backward or forward. Avoid these issues by moving
point to the beginning of the link before deleting the old link and
inserting a new one. As a bonus, this makes some of the later
goto-char calculations unnecessary.
|
|
Most of the tests fail when running them with 8.2 checked out from the
Org repo. So far, it hasn't been too much extra work supporting
8.2.10 [*], but I'd rather not deal with the headache of trying to
support anything older.
[*] This is the version that shipped with Emacs 25.1. The current Org
version is 9.0.5.
|
|
Before Org 8.3 (specifically before aea374680), org-link-unescape
called string-match, which changes the match data and interferes with
extracting the description. (I noticed this because the slurp/barf
round-trip test failed with Org 8.2.10, but not on newer versions.)
Save the match data before calling org-link-unescape.
|
|
|
|
|
|
|
|
org-make-link-string will escape the link again when it's reinserted.
|
|
|
|
|
|
... instead of replacing each new line with a space.
|
|
Using words as the unit for slurping can give confusing results. For
example, slurping forward with
The [http://orgmode.org] Org-mode site
results in
The [[http://orgmode.org][Org]]-mode site
This is somewhat inconvenient because the intended slurp here is most
likely 'Org-mode'. However, given that the command clearly says that
it works at the level of words, this shouldn't be too surprising.
The problem is that, unless the user is displaying the full link
(e.g., using org-toggle-link-display), the entire text 'Org-mode' is
highlighted as though it's part of the link. If the user then tried
to slurp again to get 'site', '-mode' would actually be slurped, and
it would appear like nothing happened.
Instead of words, make blocks of non-whitespace characters, referred
to as blobs, the unit for slurping and barfing. When slurping
forward, don't consider trailing punctuation as part of a blob.
|
|
Fix the test that should have caught this.
|
|
|
|
Don't fail when there is no description and the slurped word isn't
separated by a non-word character.
|
|
|
|
|
|
|
|
|
|
|