* Bug: Tildes in URL impact visible link text [9.3 (release_9.3 @ /usr/share/emacs/27.1/lisp/org/)]
@ 2020-12-27 16:44 Chris Hunt
2020-12-27 18:12 ` Juan Manuel Macías
0 siblings, 1 reply; 5+ messages in thread
From: Chris Hunt @ 2020-12-27 16:44 UTC (permalink / raw)
To: emacs-orgmode
I'm trying to create a link in an org file with this URL:
https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#metricsV2:graph=~(view~'timeSeries~stacked~false~metrics~(~(~'CWAgent~'backup_time~'host~'desktop~'metric_type~'timing))~region~'us-east-1);query=~'*7bCWAgent*2chost*2cmetric_type*7d
and this description: "metrics".
To do it, I followed these steps:
1. run `emacs -Q test.org`, where test.org is not an existing file
2. emacs GUI displays, type `M-x org-insert-link`
3. a "Link" prompt is displayed, paste the link and press return
4. a "Description" prompt is displayed, type "metrics" and press return
At this point I expect to see only the text "metrics" in the buffer, with normal
link decoration (underline and highlight).
Instead, I see "~(~'CWAgent~metrics" with some mix of link decoration
and some other style, as shown in the following image:
https://i.imgur.com/vb9vE43.png
The actual text from the file is
[[https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#metricsV2:graph=~(view~'timeSeries~stacked~false~metrics~(~(~'CWAgent~'backup_time~'host~'desktop~'metric_type~'timing))~region~'us-east-1);query=~'*7bCWAgent*2chost*2cmetric_type*7d][metrics]]
This is emacs 27.1 from http://ppa.launchpad.net/kelleyk/emacs/ubuntu,
with org version 9.3.
Emacs : GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.22.30, cairo version 1.15.10)
of 2020-09-19
Package: Org mode version 9.3 (release_9.3 @ /usr/share/emacs/27.1/lisp/org/)
current state:
==============
(setq
org-src-mode-hook '(org-src-babel-configure-edit-buffer
org-src-mode-configure-edit-buffer)
org-link-shell-confirm-function 'yes-or-no-p
org-metadown-hook '(org-babel-pop-to-session-maybe)
org-clock-out-hook '(org-clock-remove-empty-clock-drawer)
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-archive-hook '(org-attach-archive-delete-maybe)
org-confirm-elisp-link-function 'yes-or-no-p
org-agenda-before-write-hook '(org-agenda-add-entry-text)
org-metaup-hook '(org-babel-load-in-session-maybe)
org-bibtex-headline-format-function #[257 "\300 \236A\207" [:title] 3
"\n\n(fn ENTRY)"]
org-babel-pre-tangle-hook '(save-buffer)
org-tab-first-hook '(org-babel-hide-result-toggle-maybe
org-babel-header-arg-expand)
org-occur-hook '(org-first-headline-recenter)
org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-show-empty-lines
org-optimize-window-after-visibility-change)
org-speed-command-hook '(org-speed-command-activate
org-babel-speed-command-activate)
org-confirm-shell-link-function 'yes-or-no-p
org-link-parameters '(("attachment" :follow org-attach-open-link :export
org-attach-export-link :complete
org-attach-complete-link)
("id" :follow org-id-open)
("eww" :follow eww :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) ("file+sys")
("file+emacs") ("shell" :follow org-link--open-shell)
("news" :follow
#[257 "\301\300\302 Q!\207" ["news" browse-url ":"] 5
"\n\n(fn URL)"]
)
("mailto" :follow
#[257 "\301\300\302 Q!\207" ["mailto" browse-url ":"]
5 "\n\n(fn URL)"]
)
("https" :follow
#[257 "\301\300\302 Q!\207" ["https" browse-url ":"]
5 "\n\n(fn URL)"]
)
("http" :follow
#[257 "\301\300\302 Q!\207" ["http" browse-url ":"] 5
"\n\n(fn URL)"]
)
("ftp" :follow
#[257 "\301\300\302 Q!\207" ["ftp" browse-url ":"] 5
"\n\n(fn URL)"]
)
("help" :follow org-link--open-help)
("file" :complete org-link-complete-file)
("elisp" :follow org-link--open-elisp)
("doi" :follow org-link--open-doi))
org-link-elisp-confirm-function 'yes-or-no-p
)
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Bug: Tildes in URL impact visible link text [9.3 (release_9.3 @ /usr/share/emacs/27.1/lisp/org/)]
2020-12-27 16:44 Bug: Tildes in URL impact visible link text [9.3 (release_9.3 @ /usr/share/emacs/27.1/lisp/org/)] Chris Hunt
@ 2020-12-27 18:12 ` Juan Manuel Macías
2020-12-27 20:14 ` tomas
2020-12-27 23:54 ` Chris Hunt
0 siblings, 2 replies; 5+ messages in thread
From: Juan Manuel Macías @ 2020-12-27 18:12 UTC (permalink / raw)
To: Chris Hunt; +Cc: orgmode
Hello,
I think the problem comes because in that url the tilde does not have an
escape character. If it's just that case, you can try replacing each
tilde with %7E (see
https://www.w3schools.com/tags/ref_urlencode.asp). That way the
link description would have to be formatted correctly, without spurious
characters.
Regards
Juan Manuel
Chris Hunt <chrahunt@gmail.com> writes:
> I'm trying to create a link in an org file with this URL:
>
> https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#metricsV2:graph=~(view~'timeSeries~stacked~false~metrics~(~(~'CWAgent~'backup_time~'host~'desktop~'metric_type~'timing))~region~'us-east-1);query=~'*7bCWAgent*2chost*2cmetric_type*7d
>
> and this description: "metrics".
>
> To do it, I followed these steps:
>
> 1. run `emacs -Q test.org`, where test.org is not an existing file
> 2. emacs GUI displays, type `M-x org-insert-link`
> 3. a "Link" prompt is displayed, paste the link and press return
> 4. a "Description" prompt is displayed, type "metrics" and press return
>
> At this point I expect to see only the text "metrics" in the buffer, with normal
> link decoration (underline and highlight).
>
> Instead, I see "~(~'CWAgent~metrics" with some mix of link decoration
> and some other style, as shown in the following image:
>
> https://i.imgur.com/vb9vE43.png
>
> The actual text from the file is
>
> [[https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#metricsV2:graph=~(view~'timeSeries~stacked~false~metrics~(~(~'CWAgent~'backup_time~'host~'desktop~'metric_type~'timing))~region~'us-east-1);query=~'*7bCWAgent*2chost*2cmetric_type*7d][metrics]]
>
> This is emacs 27.1 from http://ppa.launchpad.net/kelleyk/emacs/ubuntu,
> with org version 9.3.
>
> Emacs : GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version
> 3.22.30, cairo version 1.15.10)
> of 2020-09-19
> Package: Org mode version 9.3 (release_9.3 @ /usr/share/emacs/27.1/lisp/org/)
>
> current state:
> ==============
> (setq
> org-src-mode-hook '(org-src-babel-configure-edit-buffer
> org-src-mode-configure-edit-buffer)
> org-link-shell-confirm-function 'yes-or-no-p
> org-metadown-hook '(org-babel-pop-to-session-maybe)
> org-clock-out-hook '(org-clock-remove-empty-clock-drawer)
> 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-archive-hook '(org-attach-archive-delete-maybe)
> org-confirm-elisp-link-function 'yes-or-no-p
> org-agenda-before-write-hook '(org-agenda-add-entry-text)
> org-metaup-hook '(org-babel-load-in-session-maybe)
> org-bibtex-headline-format-function #[257 "\300 \236A\207" [:title] 3
> "\n\n(fn ENTRY)"]
> org-babel-pre-tangle-hook '(save-buffer)
> org-tab-first-hook '(org-babel-hide-result-toggle-maybe
> org-babel-header-arg-expand)
> org-occur-hook '(org-first-headline-recenter)
> org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-show-empty-lines
> org-optimize-window-after-visibility-change)
> org-speed-command-hook '(org-speed-command-activate
> org-babel-speed-command-activate)
> org-confirm-shell-link-function 'yes-or-no-p
> org-link-parameters '(("attachment" :follow org-attach-open-link :export
> org-attach-export-link :complete
> org-attach-complete-link)
> ("id" :follow org-id-open)
> ("eww" :follow eww :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) ("file+sys")
> ("file+emacs") ("shell" :follow org-link--open-shell)
> ("news" :follow
> #[257 "\301\300\302 Q!\207" ["news" browse-url ":"] 5
> "\n\n(fn URL)"]
> )
> ("mailto" :follow
> #[257 "\301\300\302 Q!\207" ["mailto" browse-url ":"]
> 5 "\n\n(fn URL)"]
> )
> ("https" :follow
> #[257 "\301\300\302 Q!\207" ["https" browse-url ":"]
> 5 "\n\n(fn URL)"]
> )
> ("http" :follow
> #[257 "\301\300\302 Q!\207" ["http" browse-url ":"] 5
> "\n\n(fn URL)"]
> )
> ("ftp" :follow
> #[257 "\301\300\302 Q!\207" ["ftp" browse-url ":"] 5
> "\n\n(fn URL)"]
> )
> ("help" :follow org-link--open-help)
> ("file" :complete org-link-complete-file)
> ("elisp" :follow org-link--open-elisp)
> ("doi" :follow org-link--open-doi))
> org-link-elisp-confirm-function 'yes-or-no-p
> )
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Bug: Tildes in URL impact visible link text [9.3 (release_9.3 @ /usr/share/emacs/27.1/lisp/org/)]
2020-12-27 18:12 ` Juan Manuel Macías
@ 2020-12-27 20:14 ` tomas
2020-12-27 21:33 ` Juan Manuel Macías
2020-12-27 23:54 ` Chris Hunt
1 sibling, 1 reply; 5+ messages in thread
From: tomas @ 2020-12-27 20:14 UTC (permalink / raw)
To: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 547 bytes --]
On Sun, Dec 27, 2020 at 07:12:42PM +0100, Juan Manuel Macías wrote:
> Hello,
>
> I think the problem comes because in that url the tilde does not have an
> escape character. If it's just that case, you can try replacing each
> tilde with %7E (see
> https://www.w3schools.com/tags/ref_urlencode.asp). That way the
> link description would have to be formatted correctly, without spurious
> characters.
This would be a bug: tilde is an allowed URI character [1]
Cheers
[1] https://tools.ietf.org/html/rfc3986#section-2.3
- t
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Bug: Tildes in URL impact visible link text [9.3 (release_9.3 @ /usr/share/emacs/27.1/lisp/org/)]
2020-12-27 20:14 ` tomas
@ 2020-12-27 21:33 ` Juan Manuel Macías
0 siblings, 0 replies; 5+ messages in thread
From: Juan Manuel Macías @ 2020-12-27 21:33 UTC (permalink / raw)
To: tomas; +Cc: orgmode
Hello,
<tomas@tuxteam.de> writes:
> This would be a bug: tilde is an allowed URI character [1]
You're right. I have also noticed that if I write links like these:
[[*foo ~foo~ foo]][[foo]]
[[*foo =foo= foo]][[foo]]
There is an anomaly in the description similar to what Chris comments in
his email...
Regards,
Juan Manuel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Bug: Tildes in URL impact visible link text [9.3 (release_9.3 @ /usr/share/emacs/27.1/lisp/org/)]
2020-12-27 18:12 ` Juan Manuel Macías
2020-12-27 20:14 ` tomas
@ 2020-12-27 23:54 ` Chris Hunt
1 sibling, 0 replies; 5+ messages in thread
From: Chris Hunt @ 2020-12-27 23:54 UTC (permalink / raw)
To: Juan Manuel Macías; +Cc: orgmode
> If it's just that case, you can try replacing each
> tilde with %7E (see
> https://www.w3schools.com/tags/ref_urlencode.asp). That way the
> link description would have to be formatted correctly, without spurious
> characters.
That's a good workaround, thank you. Manually replacing "~" in the URL
with "%7E" results in the expected
description ("metrics"). Using that link in Firefox navigates to the
page successfully, too.
I looked at the problem some more. I think the underlying behavior
leading to the bug is that `org-activate-links` sets an
`invisible` text property on the URL and brackets of link text.
`org-activate-code`, which runs afterwards, identifies
"code" in a way that isn't aware of links, then proceeds to drop the
"invisible" property. That behavior makes sense,
since in the usual case we're removing properties so the text is
displayed verbatim, but not when the whole text is contained
in the URL section of a link.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-12-27 23:55 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-27 16:44 Bug: Tildes in URL impact visible link text [9.3 (release_9.3 @ /usr/share/emacs/27.1/lisp/org/)] Chris Hunt
2020-12-27 18:12 ` Juan Manuel Macías
2020-12-27 20:14 ` tomas
2020-12-27 21:33 ` Juan Manuel Macías
2020-12-27 23:54 ` Chris Hunt
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).