From mboxrd@z Thu Jan 1 00:00:00 1970
Path: news.gmane.org!.POSTED!not-for-mail
From: Philipp
Newsgroups: gmane.emacs.bugs
Subject: bug#28759: 26.0.60;
Bovine apparently generates Elisp code with oldstyle backquotes
Date: Mon, 09 Oct 2017 16:19:01 +0200
Message-ID:
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Trace: blaine.gmane.org 1507558833 30259 195.159.176.226 (9 Oct 2017 14:20:33 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Mon, 9 Oct 2017 14:20:33 +0000 (UTC)
To: 28759@debbugs.gnu.org
Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Oct 09 16:20:25 2017
Return-path:
Envelope-to: geb-bug-gnu-emacs@m.gmane.org
Original-Received: from lists.gnu.org ([208.118.235.17])
by blaine.gmane.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1e1Yul-0005rB-Hn
for geb-bug-gnu-emacs@m.gmane.org; Mon, 09 Oct 2017 16:20:15 +0200
Original-Received: from localhost ([::1]:58158 helo=lists.gnu.org)
by lists.gnu.org with esmtp (Exim 4.71)
(envelope-from )
id 1e1Yus-0007Mp-SY
for geb-bug-gnu-emacs@m.gmane.org; Mon, 09 Oct 2017 10:20:22 -0400
Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53925)
by lists.gnu.org with esmtp (Exim 4.71)
(envelope-from ) id 1e1Yue-0007IE-Cc
for bug-gnu-emacs@gnu.org; Mon, 09 Oct 2017 10:20:11 -0400
Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from ) id 1e1YuY-00037T-QU
for bug-gnu-emacs@gnu.org; Mon, 09 Oct 2017 10:20:08 -0400
Original-Received: from debbugs.gnu.org ([208.118.235.43]:49741)
by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16)
(Exim 4.71) (envelope-from )
id 1e1YuY-00037P-KS
for bug-gnu-emacs@gnu.org; Mon, 09 Oct 2017 10:20:02 -0400
Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2)
(envelope-from ) id 1e1YuY-0004Hb-Ed
for bug-gnu-emacs@gnu.org; Mon, 09 Oct 2017 10:20:02 -0400
X-Loop: help-debbugs@gnu.org
Resent-From: Philipp
Original-Sender: "Debbugs-submit"
Resent-CC: bug-gnu-emacs@gnu.org
Resent-Date: Mon, 09 Oct 2017 14:20:02 +0000
Resent-Message-ID:
Resent-Sender: help-debbugs@gnu.org
X-GNU-PR-Message: report 28759
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords:
X-Debbugs-Original-To: bug-gnu-emacs@gnu.org
Original-Received: via spool by submit@debbugs.gnu.org id=B.150755876416405
(code B ref -1); Mon, 09 Oct 2017 14:20:02 +0000
Original-Received: (at submit) by debbugs.gnu.org; 9 Oct 2017 14:19:24 +0000
Original-Received: from localhost ([127.0.0.1]:58422 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1e1Ytu-0004GU-7z
for submit@debbugs.gnu.org; Mon, 09 Oct 2017 10:19:23 -0400
Original-Received: from eggs.gnu.org ([208.118.235.92]:34593)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from ) id 1e1Ytr-0004GF-5t
for submit@debbugs.gnu.org; Mon, 09 Oct 2017 10:19:20 -0400
Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from ) id 1e1Ytj-0002qQ-BS
for submit@debbugs.gnu.org; Mon, 09 Oct 2017 10:19:14 -0400
Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:46467)
by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
(Exim 4.71) (envelope-from )
id 1e1Ytj-0002qF-7x
for submit@debbugs.gnu.org; Mon, 09 Oct 2017 10:19:11 -0400
Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53772)
by lists.gnu.org with esmtp (Exim 4.71)
(envelope-from ) id 1e1Ytg-0007AV-2v
for bug-gnu-emacs@gnu.org; Mon, 09 Oct 2017 10:19:10 -0400
Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from ) id 1e1Ytd-0002my-E0
for bug-gnu-emacs@gnu.org; Mon, 09 Oct 2017 10:19:08 -0400
Original-Received: from mail-wm0-x22a.google.com ([2a00:1450:400c:c09::22a]:52676)
by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16)
(Exim 4.71) (envelope-from )
id 1e1Ytd-0002ma-3M
for bug-gnu-emacs@gnu.org; Mon, 09 Oct 2017 10:19:05 -0400
Original-Received: by mail-wm0-x22a.google.com with SMTP id k4so23948976wmc.1
for ; Mon, 09 Oct 2017 07:19:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=from:to:subject:date:message-id:mime-version
:content-transfer-encoding;
bh=boIdEIRP47EX+Mmmhjei5yWi9TMB6EJJOPZdMgG1d6o=;
b=Ig+CL+JPEAZsauigc2Rw9mQjHJcRazDOQwysV+oC0OQgKF1ZyFx956lrg9dVP165sY
nVkYIy+dhH4BTt+xKO8LyVlxV4yuYyNPf7uAsVGnGnnemc7dnKdPfCq9C7NQejc7QNwh
x8tdzc32I9z97B1g2tBqWN8kJph3OFqfutXiMUHv0Vh/+tyz8m+6KPfn3OVa12gIZkZK
qrSv5ZgJSr5f4G0HCRS5/db8u2m7l6KsVQF+yICWGDebHK72VLJZa7Nf7x0FqE8uhZ6y
8mBHz+f1DMgBV8vfdJv0Abw7r5v8cfEqJLeX8ox44ixn2QUx1FpejUGoDvdSefmz5z6T
P1aQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:from:to:subject:date:message-id:mime-version
:content-transfer-encoding;
bh=boIdEIRP47EX+Mmmhjei5yWi9TMB6EJJOPZdMgG1d6o=;
b=EDJXOHngHHXV9185VxxIJgFDCffCViOblIs8mHnCTUS9Z9nzZ9nw2wZ1BP58455+C2
eHGC6pShnp11/qYCSIYfMq5HT2o7uC1uhjaMVOYAyIF3CfshIBs8LPVCqO0TDzgftK/8
rB6yCPP70j3ExLf71MNddt1uLFQq98T5WRPEV2TCZ6Wp5pmV08K0R4gtp/Z7kGGIxeq6
s0HSfFp1yyESE3RU/rmdExmOLK2OWSafw2foLylkBZLcoT7uFP261gqSmNC64KG/e3Fe
Hb8ErfgkMjGSC+Wzm2fTSswDPuvThsC+mx7+gokbgw+AHSOMAAL/q4A+xEfo9ncC2cgo
AH4w==
X-Gm-Message-State: AMCzsaWI3+/YLI1l1bpeTeUSSg0TM7LTmtJYRsUzGzrSJw221Y3WX6Uj
SgH0pUfvCBwPkKn09/gaeOSPbdF/
X-Google-Smtp-Source: AOwi7QDqAMJPIuvEO2Sg26KLsOz2+IE8ntwEpsscbZvsX5pDVl6SVGAQiZQWHElK/AyIIgTlErJxSA==
X-Received: by 10.28.138.202 with SMTP id m193mr9888202wmd.63.1507558743138;
Mon, 09 Oct 2017 07:19:03 -0700 (PDT)
Original-Received: from a.muc.corp.google.com ([2a00:79e0:15:4:bfda:710c:4a38:a674])
by smtp.gmail.com with ESMTPSA id
o24sm7123864wmi.39.2017.10.09.07.19.02 for
(version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);
Mon, 09 Oct 2017 07:19:02 -0700 (PDT)
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
recognized.
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 208.118.235.43
X-BeenThere: bug-gnu-emacs@gnu.org
List-Id: "Bug reports for GNU Emacs,
the Swiss army knife of text editors"
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org
Original-Sender: "bug-gnu-emacs"
Xref: news.gmane.org gmane.emacs.bugs:138131
Archived-At:
See https://lists.gnu.org/archive/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)' -l semantic/bovine/gra=
mmar -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: old-st=
yle backquotes detected!")
read("( ,@$2 )")
(let ((sexp (read textform))) (insert "\n") (cond ((eq (car sexp) 'EXPAND=
) (insert ",(lambda (vals start end)") (bovine-grammar-expand-form (apply (=
cdr (assq 'EXPAND bovine--grammar-macros)) (cdr sexp)) quotemode t)) ((and =
(listp (car sexp)) (eq (car (car sexp)) 'EVAL))) (t (insert ",(semantic-lam=
bda") (bovine-grammar-expand-form sexp quotemode))) (insert ")\n"))
(if (string=3D "" textform) nil (let ((sexp (read textform))) (insert "\n=
") (cond ((eq (car sexp) 'EXPAND) (insert ",(lambda (vals start end)") (bov=
ine-grammar-expand-form (apply (cdr (assq 'EXPAND bovine--grammar-macros)) =
(cdr sexp)) quotemode t)) ((and (listp (car sexp)) (eq (car (car sexp)) 'EV=
AL))) (t (insert ",(semantic-lambda") (bovine-grammar-expand-form sexp quot=
emode))) (insert ")\n")))
bovine-grammar-expand-action("( ,@$2 )" backquote)
(if actn (bovine-grammar-expand-action actn quotemode))
(while rules (setq items (semantic-tag-get-attribute (car rules) :value) =
prec (semantic-tag-get-attribute (car rules) :prec) actn (semantic-tag-get-=
attribute (car rules) :expr) rules (cdr rules)) (insert "\n(") (if (null it=
ems) (insert ";;EMPTY" (if actn "" "\n")) (while items (setq item (car item=
s) items (cdr items)) (if (consp item) (message "Mid-rule action %S ignored=
" item) (or (char-equal (char-before) 40) (insert "\n")) (cond ((member ite=
m '("bovine-toplevel" "bovine-inner-scope")) (error "`%s' is a reserved int=
ernal name" item)) ((setq tag (semantic-find-first-tag-by-name item tags) t=
ype (semantic-tag-get-attribute tag :type)) (insert type) (if (setq regex (=
semantic-tag-get-attribute tag :value)) (insert (format "\n%S" regex)))) (t=
(insert (semantic-grammar-item-text item))))))) (if prec (message "%%prec =
%S ignored" prec)) (if actn (bovine-grammar-expand-action actn quotemode)) =
(insert ")"))
(while nterms (setq nterm (car nterms) rules (semantic-tag-components-sem=
antic-grammar-mode nterm) nterm (semantic-tag-name nterm) nterms (cdr nterm=
s)) (if (member nterm '("bovine-toplevel" "bovine-inner-scope")) (progn (er=
ror "`%s' is a reserved internal name" nterm))) (insert "\n(" nterm) (while=
rules (setq items (semantic-tag-get-attribute (car rules) :value) prec (se=
mantic-tag-get-attribute (car rules) :prec) actn (semantic-tag-get-attribut=
e (car rules) :expr) rules (cdr rules)) (insert "\n(") (if (null items) (in=
sert ";;EMPTY" (if actn "" "\n")) (while items (setq item (car items) items=
(cdr items)) (if (consp item) (message "Mid-rule action %S ignored" item) =
(or (char-equal (char-before) 40) (insert "\n")) (cond ((member item '("bov=
ine-toplevel" "bovine-inner-scope")) (error "`%s' is a reserved internal na=
me" item)) ((setq tag (semantic-find-first-tag-by-name item tags) type (sem=
antic-tag-get-attribute tag :type)) (insert type) (if (setq regex (semantic=
-tag-get-attribute tag :value)) (insert (format "\n%S" regex)))) (t (insert=
(semantic-grammar-item-text item))))))) (if prec (message "%%prec %S ignor=
ed" prec)) (if actn (bovine-grammar-expand-action actn quotemode)) (insert =
")")) (insert "\n) ;; end " nterm "\n"))
(progn (erase-buffer) (insert "`(") (insert "\n(bovine-toplevel \n(" star=
t ")\n) ;; end bovine-toplevel\n") (if scopestart (progn (insert "\n(bovine=
-inner-scope \n(" scopestart ")\n) ;; end bovine-inner-scope\n"))) (while n=
terms (setq nterm (car nterms) rules (semantic-tag-components-semantic-gram=
mar-mode nterm) nterm (semantic-tag-name nterm) nterms (cdr nterms)) (if (m=
ember nterm '("bovine-toplevel" "bovine-inner-scope")) (progn (error "`%s' =
is a reserved internal name" nterm))) (insert "\n(" nterm) (while rules (se=
tq items (semantic-tag-get-attribute (car rules) :value) prec (semantic-tag=
-get-attribute (car rules) :prec) actn (semantic-tag-get-attribute (car rul=
es) :expr) rules (cdr rules)) (insert "\n(") (if (null items) (insert ";;EM=
PTY" (if actn "" "\n")) (while items (setq item (car items) items (cdr item=
s)) (if (consp item) (message "Mid-rule action %S ignored" item) (or (char-=
equal (char-before) 40) (insert "\n")) (cond ((member item '("bovine-toplev=
el" "bovine-inner-scope")) (error "`%s' is a reserved internal name" item))=
((setq tag (semantic-find-first-tag-by-name item tags) type (semantic-tag-=
get-attribute tag :type)) (insert type) (if (setq regex (semantic-tag-get-a=
ttribute tag :value)) (insert (format "\n%S" regex)))) (t (insert (semantic=
-grammar-item-text item))))))) (if prec (message "%%prec %S ignored" prec))=
(if actn (bovine-grammar-expand-action actn quotemode)) (insert ")")) (ins=
ert "\n) ;; end " nterm "\n")) (insert ")\n") (buffer-string))
(unwind-protect (progn (erase-buffer) (insert "`(") (insert "\n(bovine-to=
plevel \n(" start ")\n) ;; end bovine-toplevel\n") (if scopestart (progn (i=
nsert "\n(bovine-inner-scope \n(" scopestart ")\n) ;; end bovine-inner-scop=
e\n"))) (while nterms (setq nterm (car nterms) rules (semantic-tag-componen=
ts-semantic-grammar-mode nterm) nterm (semantic-tag-name nterm) nterms (cdr=
nterms)) (if (member nterm '("bovine-toplevel" "bovine-inner-scope")) (pro=
gn (error "`%s' is a reserved internal name" nterm))) (insert "\n(" nterm) =
(while rules (setq items (semantic-tag-get-attribute (car rules) :value) pr=
ec (semantic-tag-get-attribute (car rules) :prec) actn (semantic-tag-get-at=
tribute (car rules) :expr) rules (cdr rules)) (insert "\n(") (if (null item=
s) (insert ";;EMPTY" (if actn "" "\n")) (while items (setq item (car items)=
items (cdr items)) (if (consp item) (message "Mid-rule action %S ignored" =
item) (or (char-equal (char-before) 40) (insert "\n")) (cond ((member item =
'("bovine-toplevel" "bovine-inner-scope")) (error "`%s' is a reserved inter=
nal name" item)) ((setq tag (semantic-find-first-tag-by-name item tags) typ=
e (semantic-tag-get-attribute tag :type)) (insert type) (if (setq regex (se=
mantic-tag-get-attribute tag :value)) (insert (format "\n%S" regex)))) (t (=
insert (semantic-grammar-item-text item))))))) (if prec (message "%%prec %S=
ignored" prec)) (if actn (bovine-grammar-expand-action actn quotemode)) (i=
nsert ")")) (insert "\n) ;; end " nterm "\n")) (insert ")\n") (buffer-strin=
g)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))
(save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (era=
se-buffer) (insert "`(") (insert "\n(bovine-toplevel \n(" start ")\n) ;; en=
d bovine-toplevel\n") (if scopestart (progn (insert "\n(bovine-inner-scope =
\n(" scopestart ")\n) ;; end bovine-inner-scope\n"))) (while nterms (setq n=
term (car nterms) rules (semantic-tag-components-semantic-grammar-mode nter=
m) nterm (semantic-tag-name nterm) nterms (cdr nterms)) (if (member nterm '=
("bovine-toplevel" "bovine-inner-scope")) (progn (error "`%s' is a reserved=
internal name" nterm))) (insert "\n(" nterm) (while rules (setq items (sem=
antic-tag-get-attribute (car rules) :value) prec (semantic-tag-get-attribut=
e (car rules) :prec) actn (semantic-tag-get-attribute (car rules) :expr) ru=
les (cdr rules)) (insert "\n(") (if (null items) (insert ";;EMPTY" (if actn=
"" "\n")) (while items (setq item (car items) items (cdr items)) (if (cons=
p item) (message "Mid-rule action %S ignored" item) (or (char-equal (char-b=
efore) 40) (insert "\n")) (cond ((member item '("bovine-toplevel" "bovine-i=
nner-scope")) (error "`%s' is a reserved internal name" item)) ((setq tag (=
semantic-find-first-tag-by-name item tags) type (semantic-tag-get-attribute=
tag :type)) (insert type) (if (setq regex (semantic-tag-get-attribute tag =
:value)) (insert (format "\n%S" regex)))) (t (insert (semantic-grammar-item=
-text item))))))) (if prec (message "%%prec %S ignored" prec)) (if actn (bo=
vine-grammar-expand-action actn quotemode)) (insert ")")) (insert "\n) ;; e=
nd " nterm "\n")) (insert ")\n") (buffer-string)) (and (buffer-name temp-bu=
ffer) (kill-buffer temp-buffer))))
(let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer=
(set-buffer temp-buffer) (unwind-protect (progn (erase-buffer) (insert "`(=
") (insert "\n(bovine-toplevel \n(" start ")\n) ;; end bovine-toplevel\n") =
(if scopestart (progn (insert "\n(bovine-inner-scope \n(" scopestart ")\n) =
;; end bovine-inner-scope\n"))) (while nterms (setq nterm (car nterms) rule=
s (semantic-tag-components-semantic-grammar-mode nterm) nterm (semantic-tag=
-name nterm) nterms (cdr nterms)) (if (member nterm '("bovine-toplevel" "bo=
vine-inner-scope")) (progn (error "`%s' is a reserved internal name" nterm)=
)) (insert "\n(" nterm) (while rules (setq items (semantic-tag-get-attribut=
e (car rules) :value) prec (semantic-tag-get-attribute (car rules) :prec) a=
ctn (semantic-tag-get-attribute (car rules) :expr) rules (cdr rules)) (inse=
rt "\n(") (if (null items) (insert ";;EMPTY" (if actn "" "\n")) (while item=
s (setq item (car items) items (cdr items)) (if (consp item) (message "Mid-=
rule action %S ignored" item) (or (char-equal (char-before) 40) (insert "\n=
")) (cond ((member item '("bovine-toplevel" "bovine-inner-scope")) (error "=
`%s' is a reserved internal name" item)) ((setq tag (semantic-find-first-ta=
g-by-name item tags) type (semantic-tag-get-attribute tag :type)) (insert t=
ype) (if (setq regex (semantic-tag-get-attribute tag :value)) (insert (form=
at "\n%S" regex)))) (t (insert (semantic-grammar-item-text item))))))) (if =
prec (message "%%prec %S ignored" prec)) (if actn (bovine-grammar-expand-ac=
tion actn quotemode)) (insert ")")) (insert "\n) ;; end " nterm "\n")) (ins=
ert ")\n") (buffer-string)) (and (buffer-name temp-buffer) (kill-buffer tem=
p-buffer)))))
(let* ((start (semantic-grammar-start)) (scopestart (semantic-grammar-sco=
pestart)) (quotemode (semantic-grammar-quotemode)) (tags (let ((tags (seman=
tic-something-to-tag-table (current-buffer))) (result nil)) (while tags (an=
d (eq 'token (semantic-tag-class (car tags))) (setq result (cons (car tags)=
result))) (setq tags (cdr tags))) (nreverse result))) (nterms (let ((tags =
(semantic-something-to-tag-table (current-buffer))) (result nil)) (while ta=
gs (and (eq 'nonterminal (semantic-tag-class (car tags))) (setq result (con=
s (car tags) result))) (setq tags (cdr tags))) (nreverse result))) (bovine-=
-grammar-macros (semantic-grammar-macros)) nterm rules items item actn prec=
tag type regex) (cond ((null nterms) (error "Bad input grammar")) (start (=
if (cdr start) (message "Extra start symbols %S ignored" (cdr start))) (set=
q start (symbol-name (car start))) (if (semantic-find-first-tag-by-name sta=
rt nterms) nil (error "start symbol `%s' has no rule" start))) (t (setq sta=
rt (semantic-tag-name (car nterms))))) (if scopestart (progn (setq scopesta=
rt (symbol-name scopestart)) (if (semantic-find-first-tag-by-name scopestar=
t nterms) nil (error "scopestart symbol `%s' has no rule" scopestart)))) (l=
et ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (se=
t-buffer temp-buffer) (unwind-protect (progn (erase-buffer) (insert "`(") (=
insert "\n(bovine-toplevel \n(" start ")\n) ;; end bovine-toplevel\n") (if =
scopestart (progn (insert "\n(bovine-inner-scope \n(" scopestart ")\n) ;; e=
nd bovine-inner-scope\n"))) (while nterms (setq nterm (car nterms) rules (s=
emantic-tag-components-semantic-grammar-mode nterm) nterm (semantic-tag-nam=
e nterm) nterms (cdr nterms)) (if (member nterm '("bovine-toplevel" "bovine=
-inner-scope")) (progn (error "`%s' is a reserved internal name" nterm))) (=
insert "\n(" nterm) (while rules (setq items (semantic-tag-get-attribute (c=
ar rules) :value) prec (semantic-tag-get-attribute (car rules) :prec) actn =
(semantic-tag-get-attribute (car rules) :expr) rules (cdr rules)) (insert "=
\n(") (if (null items) (insert ";;EMPTY" (if actn "" "\n")) (while items (s=
etq item (car items) items (cdr items)) (if (consp item) (message "Mid-rule=
action %S ignored" item) (or (char-equal (char-before) 40) (insert "\n")) =
(cond ((member item '("bovine-toplevel" "bovine-inner-scope")) (error "`%s'=
is a reserved internal name" item)) ((setq tag (semantic-find-first-tag-by=
-name item tags) type (semantic-tag-get-attribute tag :type)) (insert type)=
(if (setq regex (semantic-tag-get-attribute tag :value)) (insert (format "=
\n%S" regex)))) (t (insert (semantic-grammar-item-text item))))))) (if prec=
(message "%%prec %S ignored" prec)) (if actn (bovine-grammar-expand-action=
actn quotemode)) (insert ")")) (insert "\n) ;; end " nterm "\n")) (insert =
")\n") (buffer-string)) (and (buffer-name temp-buffer) (kill-buffer temp-bu=
ffer))))))
bovine-grammar-parsetable-builder()
semantic-grammar-parsetable-builder()
semantic-grammar-parser-data()
semantic-grammar-create-package(nil t)
(save-current-buffer (set-buffer (find-file-noselect infile)) (if outdir =
(setq default-directory outdir)) (semantic-grammar-create-package nil t))
(let ((packagename (save-current-buffer (set-buffer (find-file-noselect i=
nfile)) (if outdir (setq default-directory outdir)) (semantic-grammar-creat=
e-package nil t))) lang filename copyright-end) (if (and packagename (strin=
g-match "^.*/\\(.*\\)-by\\.el\\'" packagename)) (progn (setq lang (match-st=
ring 1 packagename)) (setq filename (expand-file-name (concat lang "-by.el"=
) outdir)) (let ((temp-file filename) (temp-buffer (get-buffer-create (gene=
rate-new-buffer-name " *temp file*")))) (unwind-protect (prog1 (save-curren=
t-buffer (set-buffer temp-buffer) (insert-file-contents filename) (goto-cha=
r (point-min)) (re-search-forward "^;; Author:") (setq copyright-end (match=
-beginning 0)) (re-search-forward "^;;; Code:\n") (delete-region copyright-=
end (match-end 0)) (goto-char copyright-end) (insert ";; This file is part =
of GNU Emacs.\n\n;; GNU Emacs is free software: you can redistribute it and=
/or modify\n;; it under the terms of the GNU General Public License as publ=
ished by\n;; the Free Software Foundation, either version 3 of the License,=
or\n;; (at your option) any later version.\n\n;; GNU Emacs is distributed =
in the hope that it will be useful,\n;; but WITHOUT ANY WARRANTY; without e=
ven the implied warranty of\n;; MERCHANTABILITY or FITNESS FOR A PARTICULAR=
PURPOSE. See the\n;; GNU General Public License for more details.\n\n;; Y=
ou should have received a copy of the GNU General Public License\n;; along =
with GNU Emacs. If not, see .\n\n;;; Commen=
tary:\n;;\n;; This file was generated from admin/grammars/" lang ".by.\n\n;=
;; Code:\n") (goto-char (point-min)) (delete-region (point-min) (line-end-p=
osition)) (insert ";;; " packagename " --- Generated parser support file") =
(delete-trailing-whitespace) (re-search-forward ";;; \\(.*\\) ends here") (=
replace-match packagename nil nil nil 1)) (save-current-buffer (set-buffer =
temp-buffer) (write-region nil nil temp-file nil 0))) (and (buffer-name tem=
p-buffer) (kill-buffer temp-buffer)))))))
bovine--make-parser-1("make.by" "../../lisp/cedet/semantic/bovine/")
(let ((debug-on-error t)) (bovine--make-parser-1 infile outdir))
bovine-batch-make-parser()
command-line-1(("-eval" "(setq debug-on-error t)" "-l" "semantic/bovine/g=
rammar" "-f" "bovine-batch-make-parser" "-o" "../../lisp/cedet/semantic/bov=
ine/make-by.el" "make.by"))
command-line()
normal-top-level()
So something generates the Lisp code ( ,@$2 ), which is wrong. Probably
this should generate ( \,@$2 ) instead.
In GNU Emacs 26.0.60 (build 3, x86_64-pc-linux-gnu, GTK+ Version 3.22.16)
of 2017-10-09 built on localhost
Repository revision: 5b81f65ad0050a4bbd79c9aed3648fba4f19af27
Windowing system distributor 'The X.Org Foundation', version 11.0.11903000
System Description: Debian GNU/Linux rodete (upgraded from: Ubuntu 14.04 LT=
S)
Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Configured using:
'configure --enable-gcc-warnings=3Dwarn-only
--enable-gtk-deprecation-warnings --without-pop --with-mailutils
--enable-checking --enable-check-lisp-object-type --with-modules
'CFLAGS=3D-O0 -ggdb3''
Configured features:
XPM JPEG TIFF GIF PNG SOUND DBUS GSETTINGS NOTIFY GNUTLS FREETYPE XFT
ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 MODULES
Important settings:
value of $LANG: en_US.UTF-8
locale-coding-system: utf-8-unix
Major mode: Lisp Interaction
Minor modes in effect:
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Load-path shadows:
None found.
Features:
(shadow sort mail-extr emacsbug message rmc puny seq byte-opt gv
bytecomp byte-compile cconv cl-loaddefs cl-lib dired dired-loaddefs
format-spec rfc822 mml easymenu mml-sec password-cache epa derived epg
epg-config gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
rfc2045 ietf-drums mm-util mail-prsvr mail-utils elec-pair time-date
mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar
dnd fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode elisp-mode lisp-mode prog-mode register page menu-bar
rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core term/tty-colors frame cl-generic cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese composite charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote dbusbind inotify
dynamic-setting system-font-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty make-network-process emacs)
Memory information:
((conses 16 95077 6455)
(symbols 48 20376 1)
(miscs 40 41 120)
(strings 32 28244 1299)
(string-bytes 1 740395)
(vectors 16 14053)
(vector-slots 8 494105 8303)
(floats 8 49 68)
(intervals 56 224 0)
(buffers 992 12))
--=20
Google Germany GmbH
Erika-Mann-Stra=C3=9Fe 33
80636 M=C3=BCnchen
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Gesch=C3=A4ftsf=C3=BChrer: Paul Manicle, Halimah DeLaine Prado
If you received this communication by mistake, please don=E2=80=99t forward=
it to
anyone else (it may contain confidential or privileged information), please
erase all copies of it, including all attachments, and please let the sender
know it went to the wrong person. Thanks.