Subject: Re: bug#70914: 29.3; Crashes often on Windows

From: Eli Zaretskii <[email-masked]>
Date: Thu, 23 May 2024 11:18:45 +0300

> From: Simen Endsjø <[email-masked]>
> Date: Thu, 23 May 2024 09:31:22 +0200
> Cc: Ihor Radchenko <[email-masked]>, [email-masked], [email-masked], 
> 	[email-masked]
> 
> I managed to narrow it down further. Org incorrectly finds file:// links. I have
> some string concatenation in an emacs-lisp source block line `(concat "file://"
> "foo")`, and this breaks org.
> 
> I used the following function to extract all links, added them to a separate
> org file and went through them.
> 
>     (defun emacs-bug-70914/print-org-links ()
>       (interactive)
>       (save-excursion
>         (beginning-of-buffer)
>         (while (re-search-forward org-link-any-re nil t)
>           (message "link: %s" (match-string 0)))))
> 
> The following crashes
>     #+begin_src emacs-lisp
>     "file://"
>     #+end_src
> 
> Other combinations also crashes
>     #+begin_src emacs-lisp
>     (message "src=\"file://")
>     #+end_src
> 
>     #+begin_src emacs-lisp
>     "src=\"file://"
>     #+end_src

OK, thanks, I think we are close.  If I visit an Org file with one of
the above in "emacs -Q", what should I type to get the crash?  I
presume some optional features need to be turned on, because if I just
visit such a file in "emacs -Q", I don't see any crashes and don't see
"//" passed to the parse_root function.

Ihor, can you point me to the code which processes these file:// links
and as result calls file-exists-p on "//"?