--- Begin Message ---
Subject: |
[BUG] 30.0.50; pp-emacs-lisp-code produces invalid elisp for backquoted forms |
Date: |
Thu, 15 Feb 2024 14:19:19 -0500 |
User-agent: |
mu4e 1.11.27; emacs 30.0.50 |
Observe the output of the following two expressions:
(eval (read (with-temp-buffer
(pp-emacs-lisp-code '`(1+ ,(1+ 1)))
(buffer-string)))
t)
;; => eval: Invalid function: `(1+ (,(1+ 1)))
(eval
(read (with-temp-buffer
(insert (pp-to-string '`(1+ ,(1+ 1))))
(buffer-string)))
t)
;; => (1+ 2)
The form returned by pp-emacs-lisp-code is:
(` (1+ (, (1+ 1))))
The backqoute and comma are not escaped, resulting in the error.
It looks like the logic in pp--insert-lisp would need to be
extended to account for backquoting constructs.
In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.41, cairo version 1.18.0) of 2024-02-03 built on laptop
Repository revision: 4ebded3f5ee8617ac6b1debaa01706cd78206f39
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version
11.0.12101011
System Description: Arch Linux
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#69168: [BUG] 30.0.50; pp-emacs-lisp-code produces invalid elisp for backquoted forms |
Date: |
Mon, 11 Mar 2024 05:48:30 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Eli Zaretskii <eliz@gnu.org> writes:
> I suggest
>
> Does SEXP have a form like (ELT... . ,X) ?
Done, thanks. Along with Drew's correction.
I have pushed both commits to master and close this report.
Michael.
--- End Message ---