GNU bug report logs -
#50861
Bug in kexport:html
Previous Next
Reported by: Hugo Thunnissen <devel <at> hugot.nl>
Date: Tue, 28 Sep 2021 00:13:01 UTC
Severity: normal
Done: Hugo Thunnissen <devel <at> hugot.nl>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Hi there,
I am using hyperbole version 7.1.3.
On GNU Emacs 27.2 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.25)
When exporting a kotl-mode file using `kexport:html' I encountered a
problem with the regex that is used to replace klinks with a HTML anchor
tag. The problem seemed to stem from the use of the \\0 back
reference.
Relevant part of the backtrace:
Debugger entered--Lisp error: (error "Invalid use of ‘\\’ in replacement text")
replace-match("<A HREF=\"#k\\1\">\\0</A>" nil nil "<@ 5a>" nil)
I was able to fix the problem with the following code:
(eval-after-load 'kotl-mode
(let ((klink-replacement
(cons (format "<\\s-*@\\s-*\\(%s\\)[^=&>]*>"
kexport:kcell-partial-reference-regexp)
"<A HREF=\"#k\\1\">\\1</A>")))
(setf (alist-get (car klink-replacement) kexport:html-replacement-alist nil nil 'string=)
(cdr klink-replacement))))
which essentially just replaces the \0 reference in the replacement
text with a \1 reference. I can't find documentation of a \0
back-reference in the elisp regexp manual, as the \N references are
1-based according to it
(https://www.gnu.org/software/emacs/manual/html_node/elisp/Regexp-Backslash.html). Is
there something I'm missing?
If there is something I can do to help or give you more information, let
me know.
-Hugo
This bug report was last modified 3 years and 291 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.