* 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.
This commit is contained in:
parent
adebc14b9c
commit
d5e3922e08
4 changed files with 15 additions and 5 deletions
|
@ -1,3 +1,8 @@
|
|||
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.
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
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
|
||||
|
|
Loading…
Add table
Reference in a new issue