* lisp/emacs-lisp/lisp.el (lisp--local-variables): Catch `end-of-file'
authorDmitry Gutov <dgutov@yandex.ru>
Wed, 26 Feb 2014 02:31:27 +0000 (04:31 +0200)
committerDmitry Gutov <dgutov@yandex.ru>
Wed, 26 Feb 2014 02:31:27 +0000 (04:31 +0200)
error from `read-from-string'.

Fixes: debbugs:16850

lisp/ChangeLog
lisp/emacs-lisp/lisp.el

index 56ff5b1..01017ad 100644 (file)
@@ -1,5 +1,8 @@
 2014-02-26  Dmitry Gutov  <dgutov@yandex.ru>
 
+       * emacs-lisp/lisp.el (lisp--local-variables): Catch `end-of-file'
+       error from `read-from-string'.  (Bug#16850)
+
        * emacs-lisp/ert.el (ert-run-tests-interactively): `read' the
        result of `completing-read' in the interactive form.  (Bug#16854)
 
index 03be2f5..0487515 100644 (file)
@@ -719,8 +719,10 @@ considered."
       (dolist (p (nth 9 ppss))
         (push (cdr (syntax-after p)) closer))
       (setq closer (apply #'string closer))
-      (let* ((sexp (car (read-from-string
-                         (concat txt "lisp--witness--lisp" closer))))
+      (let* ((sexp (condition-case nil
+                       (car (read-from-string
+                             (concat txt "lisp--witness--lisp" closer)))
+                     (end-of-file nil)))
              (macroexpand-advice (lambda (expander form &rest args)
                                    (condition-case nil
                                        (apply expander form args)