]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/smie.el (smie-prec2->grammar): Fix corner case problem.
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 19 Feb 2015 01:31:17 +0000 (20:31 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 19 Feb 2015 01:31:17 +0000 (20:31 -0500)
lisp/ChangeLog
lisp/emacs-lisp/smie.el

index b71b55d84771de50e1e455080cf7ccda51337d95..933e5bbb515d00848f42ab8d3656bab872efb97f 100644 (file)
@@ -1,3 +1,7 @@
+2015-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * emacs-lisp/smie.el (smie-prec2->grammar): Fix corner case problem.
+
 2015-02-18  Kelly Dean  <kelly@prtime.org>
 
        * register.el (jump-to-register):
index 5b9dc6422a2d951c2221f484e33b68f10a741c75..48bded4e3a6545dcbcb52e4a07651d2191cc57df 100644 (file)
@@ -612,8 +612,11 @@ PREC2 is a table as returned by `smie-precs->prec2' or
              (cons (pcase (cdr x)
                      (`closer (cddr (assoc token table)))
                      (`opener (cdr (assoc token table))))))
-        (cl-assert (numberp (car cons)))
-        (setf (car cons) (list (car cons)))))
+        ;; `cons' can be nil for openers/closers which only contain
+        ;; "atomic" elements.
+        (when cons
+          (cl-assert (numberp (car cons)))
+          (setf (car cons) (list (car cons))))))
     (let ((ca (gethash :smie-closer-alist prec2)))
       (when ca (push (cons :smie-closer-alist ca) table)))
     ;; (smie-check-grammar table prec2 'step3)