From unknown Fri Aug 22 01:04:06 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#28759 <28759@debbugs.gnu.org> To: bug#28759 <28759@debbugs.gnu.org> Subject: Status: 26.0.60; Bovine apparently generates Elisp code with oldstyle backquotes Reply-To: bug#28759 <28759@debbugs.gnu.org> Date: Fri, 22 Aug 2025 08:04:06 +0000 retitle 28759 26.0.60; Bovine apparently generates Elisp code with oldstyle= backquotes reassign 28759 emacs submitter 28759 Philipp
See https://lists.gnu.org/archiv= e/html/emacs-devel/2017-10/msg00313.html
The backtrace I got was
$ (cd admin/grammars && EMACSLOADPATH=3D "../../src/emacs"= ; -batch --no-site-file --no-site-lisp -eval '(setq debug-on-error t)= 39; -l semantic/bovine/grammar=C2=A0 -f bovine-batch-make-parser -o ".= ./../lisp/cedet/semantic/bovine/make-by.el" make.by)
../../lisp/emacs-lisp/eieio.el: =E2=80=98eieio-object-name-string=E2=80=99 = is an obsolete generic function (as of 25.1); use =E2=80=98eieio-named=E2= =80=99 instead.
../../lisp/emacs-lisp/eieio.el: =E2=80=98object-print=E2=80=99 is an obsole= te generic function (as of 26.1); use =E2=80=98cl-print-object=E2=80=99 ins= tead.
../../lisp/emacs-lisp/eieio-base.el: =E2=80=98eieio-object-name-string=E2= =80=99 is an obsolete generic function (as of 25.1); use =E2=80=98eieio-nam= ed=E2=80=99 instead.
Debugger entered--Lisp error: (error "Loading =E2=80=98nil=E2=80=99: o= ld-style backquotes detected!")
=C2=A0 read("( ,@$2 )")
See https://lists.gnu.org/archiv= e/html/emacs-devel/2017-10/msg00313.html
The backtrace I got was
$ (cd admin/grammars && EMACSLOADPATH=3D "../../src/emacs"= ; -batch --no-site-file --no-site-lisp -eval '(setq debug-on-error t)= 39; -l semantic/bovine/grammar=C2=A0 -f bovine-batch-make-parser -o ".= ./../lisp/cedet/semantic/bovine/make-by.el" make.by)
../../lisp/emacs-lisp/eieio.el: =E2=80=98eieio-object-name-string=E2=80=99 = is an obsolete generic function (as of 25.1); use =E2=80=98eieio-named=E2= =80=99 instead.
../../lisp/emacs-lisp/eieio.el: =E2=80=98object-print=E2=80=99 is an obsole= te generic function (as of 26.1); use =E2=80=98cl-print-object=E2=80=99 ins= tead.
../../lisp/emacs-lisp/eieio-base.el: =E2=80=98eieio-object-name-string=E2= =80=99 is an obsolete generic function (as of 25.1); use =E2=80=98eieio-nam= ed=E2=80=99 instead.
Debugger entered--Lisp error: (error "Loading =E2=80=98nil=E2=80=99: o= ld-style backquotes detected!")
=C2=A0 read("( ,@$2 )")
Philipp <p.stephani2@gmail.com> sch= rieb am Mo., 9. Okt. 2017 um 16:20=C2=A0Uhr:
See https://lists.gnu.org/archiv= e/html/emacs-devel/2017-10/msg00313.html
The backtrace I got was
$ (cd admin/grammars && EMACSLOADPATH=3D "../../src/emacs"= ; -batch --no-site-file --no-site-lisp -eval '(setq debug-on-error t)= 39; -l semantic/bovine/grammar=C2=A0 -f bovine-batch-make-parser -o ".= ./../lisp/cedet/semantic/bovine/make-by.el" make.by)
../../lisp/emacs-lisp/eieio.el: =E2=80=98eieio-object-name-string=E2=80=99 = is an obsolete generic function (as of 25.1); use =E2=80=98eieio-named=E2= =80=99 instead.
../../lisp/emacs-lisp/eieio.el: =E2=80=98object-print=E2=80=99 is an obsole= te generic function (as of 26.1); use =E2=80=98cl-print-object=E2=80=99 ins= tead.
../../lisp/emacs-lisp/eieio-base.el: =E2=80=98eieio-object-name-string=E2= =80=99 is an obsolete generic function (as of 25.1); use =E2=80=98eieio-nam= ed=E2=80=99 instead.
Debugger entered--Lisp error: (error "Loading =E2=80=98nil=E2=80=99: o= ld-style backquotes detected!")
=C2=A0 read("( ,@$2 )")
I looked a bit around, and found that these strings are copie= d verbatim from the *.by files.Looking at the comments of lread.= c, this seems to be a limitation of the reader: "Because it's more= difficult to peek 2 chars ahead, a new-style=C2=A0,@ can still not be used= outside of a `, unless it's in the middle=C2=A0of a list."<= div>Not sure what to do with this, though. Changing the reader would introd= uce a breaking change for no good reason, since we're trying to get rid= of old-style backquotes. So I think this should rather be fixed in Bovine,= either by escaping the offending commas, or by removing the space between = ( and ,.