|Subject:||bug#28759: 26.0.60; Bovine apparently generates Elisp code with oldstyle backquotes|
|Date:||Sat, 09 Dec 2017 20:17:00 +0000|
Philipp Stephani <address@hidden> schrieb am So., 15. Okt. 2017 um 21:41 Uhr:Philipp <address@hidden> schrieb am Mo., 9. Okt. 2017 um 16:20 Uhr:
The backtrace I got was
$ (cd admin/grammars && EMACSLOADPATH= "../../src/emacs" -batch --no-site-file --no-site-lisp -eval '(setq debug-on-error t)' -l semantic/bovine/grammar -f bovine-batch-make-parser -o "../../lisp/cedet/semantic/bovine/make-by.el" make.by)
../../lisp/emacs-lisp/eieio.el: ‘eieio-object-name-string’ is an obsolete generic function (as of 25.1); use ‘eieio-named’ instead.
../../lisp/emacs-lisp/eieio.el: ‘object-print’ is an obsolete generic function (as of 26.1); use ‘cl-print-object’ instead.
../../lisp/emacs-lisp/eieio-base.el: ‘eieio-object-name-string’ is an obsolete generic function (as of 25.1); use ‘eieio-named’ instead.
Debugger entered--Lisp error: (error "Loading ‘nil’: old-style backquotes detected!")
read("( ,@$2 )")
I looked a bit around, and found that these strings are copied 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 ,@ can still not be used outside of a `, unless it's in the middle of a list."Not sure what to do with this, though. Changing the reader would introduce 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 ,.Here is a minimal patch.
|[Prev in Thread]||Current Thread||[Next in Thread]|