GNU bug report logs - #50861
Bug in kexport:html

Previous Next

Package: hyperbole;

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


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Hugo Thunnissen <devel <at> hugot.nl>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#50861: closed (Bug in kexport:html)
Date: Wed, 29 Sep 2021 19:11:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Wed, 29 Sep 2021 21:10:15 +0200
with message-id <877dez6vvs.fsf <at> hugot.nl>
and subject line Re: bug#50861: Bug in kexport:html
has caused the debbugs.gnu.org bug report #50861,
regarding Bug in kexport:html
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
50861: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=50861
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Hugo Thunnissen <devel <at> hugot.nl>
To: bug-hyperbole <at> gnu.org
Subject: Bug in kexport:html
Date: Tue, 28 Sep 2021 01:20:25 +0200
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 "&lt;@ 5a&gt;" nil)


I was able to fix the problem with the following code:
    
    (eval-after-load 'kotl-mode
      (let ((klink-replacement
             (cons (format "&lt;\\s-*@\\s-*\\(%s\\)[^=&>]*&gt;"
    		               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


[Message part 3 (message/rfc822, inline)]
From: Hugo Thunnissen <devel <at> hugot.nl>
To: 50861-done <at> debbugs.gnu.org
Subject: Re: bug#50861: Bug in kexport:html
Date: Wed, 29 Sep 2021 21:10:15 +0200
Closed.


This bug report was last modified 3 years and 290 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.