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.