Re: Bug: Inconsistent formatting when terminating bold inside a link [9.3 (release_9.3 @ /usr/share/emacs/27.0.91/lisp/org/)]

2020-06-23 Thread Nicolas Goaziou
Hello,

"Tom Alexander"  writes:

> When you have a section of bold text that ends inside a link, for example:
>
>   *can you [[http://foo.bar/][terminate *bolds* inside]] links*
>
> Inside emacs it bolds the text "can you terminate bolds" and represents 
> "terminate *bolds* inside" as a link, but if you export to any non-text 
> format (I tested html, LaTeX to PDF, and ODT) then it breaks the link 
> exporting the raw org-mode link syntax.
>
> Expected behavior: I see three options. 

There is only one option, per Org syntax.

> 3. or the emacs rendering can be updated to accurately reflect the
> link being broken as it currently is in the exported output.

The link is broken. The fontification is at fault here. This is because
its implementation cannot understand fully the syntax(!). So, you'll
encounter some glitches like this one from time to time.

Patches welcome, of course. However, the fontification will never be
perfect unless its internals are rewritten.

Regards,
-- 
Nicolas Goaziou



Bug: Inconsistent formatting when terminating bold inside a link [9.3 (release_9.3 @ /usr/share/emacs/27.0.91/lisp/org/)]

2020-06-22 Thread Tom Alexander
When you have a section of bold text that ends inside a link, for example:

  *can you [[http://foo.bar/][terminate *bolds* inside]] links*

Inside emacs it bolds the text "can you terminate bolds" and represents 
"terminate *bolds* inside" as a link, but if you export to any non-text format 
(I tested html, LaTeX to PDF, and ODT) then it breaks the link exporting the 
raw org-mode link syntax.

Expected behavior: I see three options. Naturally in HTML you can't do can 
you http://foo.bar/";>terminate bolds inside links so it could 
either

1. duplicate the bold tag:

can you http://foo.bar/";>terminate bolds inside links

2. or the text inside a link could be considered an independent context from 
the outside text:
can you http://foo.bar/";>terminate bolds inside links

3. or the emacs rendering can be updated to accurately reflect the link being 
broken as it currently is in the exported output.

Reproduced the issue with `emacs -q`. Below is the version/config information:

Emacs  : GNU Emacs 27.0.91 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, 
cairo version 1.17.3)
 of 2020-06-09
Package: Org mode version 9.3 (release_9.3 @ /usr/share/emacs/27.0.91/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-html-format-inlinetask-function 
'org-html-format-inlinetask-default-function
 org-odt-format-headline-function 'org-odt-format-headline-default-function
 org-ascii-format-inlinetask-function 'org-ascii-format-inlinetask-default
 org-mode-hook '(#[0 "\301\211\207" [imenu-create-index-function 
org-imenu-get-tree] 2]
 #[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-odt-format-drawer-function #[514 "\207" [] 3 "\n\n(fn NAME CONTENTS)"]
 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-latex-format-drawer-function #[514 "\207" [] 3 "\n\n(fn _ CONTENTS)"]
 org-babel-pre-tangle-hook '(save-buffer)
 org-tab-first-hook '(org-babel-hide-result-toggle-maybe 
org-babel-header-arg-expand)
 org-ascii-format-drawer-function #[771 "\207" [] 4 "\n\n(fn NAME CONTENTS 
WIDTH)"]
 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-odt-format-inlinetask-function 'org-odt-format-inlinetask-default-function
 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\302Q!\207" ["news" browse-url ":"] 5 
"\n\n(fn URL)"])
   ("mailto" :follow
#[257 "\301\300\302Q!\207" ["mailto" browse-url ":"] 5 
"\n\n(fn URL)"])
   ("https" :follow
#[257 "\301\300\302Q!\207" ["https" browse-url ":"] 5 
"\n\n(fn URL)"])
   ("http" :follow
#[257 "\301\300\302Q!\207" ["h