Commit d5e3922e authored by Stefan Monnier's avatar Stefan Monnier
Browse files

* lisp/emacs-lisp/backquote.el: Fix bug with unoptimized exp.

Fixes: debbugs:19734

* lisp/emacs-lisp/backquote.el (backquote-delay-process): Don't reuse `s'
since it may be "equivalent" in some sense, yet different.
* test/automated/core-elisp-tests.el (core-elisp-tests-3-backquote): New test.
parent adebc14b
2015-01-30 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/backquote.el (backquote-delay-process): Don't reuse `s'
since it may be "equivalent" in some sense, yet different (bug#19734).
2015-01-30 Oleh Krehel <ohwoeowho@gmail.com>
* outline.el (outline-font-lock-face): Add docstring.
......
......@@ -120,9 +120,7 @@ Vectors work just like lists. Nested backquotes are permitted."
This simply recurses through the body."
(let ((exp (backquote-listify (list (cons 0 (list 'quote (car s))))
(backquote-process (cdr s) level))))
(if (eq (car-safe exp) 'quote)
(cons 0 (list 'quote s))
(cons 1 exp))))
(cons (if (eq (car-safe exp) 'quote) 0 1) exp)))
(defun backquote-process (s &optional level)
"Process the body of a backquote.
......
2015-01-30 Stefan Monnier <monnier@iro.umontreal.ca>
* automated/core-elisp-tests.el (core-elisp-tests-3-backquote): New test.
2015-01-28 Fabián Ezequiel Gallina <fgallina@gnu.org>
* automated/python-tests.el (python-indent-pep8-1)
......
......@@ -24,7 +24,7 @@
;;; Code:
(ert-deftest core-elisp-tests ()
(ert-deftest core-elisp-tests-1-defvar-in-let ()
"Test some core Elisp rules."
(with-temp-buffer
;; Check that when defvar is run within a let-binding, the toplevel default
......@@ -36,7 +36,7 @@
c-e-x)
'(1 2)))))
(ert-deftest core-elisp-test-window-configurations ()
(ert-deftest core-elisp-tests-2-window-configurations ()
"Test properties of window-configurations."
(let ((wc (current-window-configuration)))
(with-current-buffer (window-buffer (frame-selected-window))
......@@ -45,5 +45,8 @@
(set-window-configuration wc)
(should (or (not mark-active) (mark)))))
(ert-deftest core-elisp-tests-3-backquote ()
(should (eq 3 (eval ``,,'(+ 1 2)))))
(provide 'core-elisp-tests)
;;; core-elisp-tests.el ends here
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment