Mercurial > hg > xemacs-beta
changeset 5642:5bda701e9e7c
Be more careful about non-quoted-symbol TAGs, #'byte-compile-catch
lisp/ChangeLog addition:
2012-01-14 Aidan Kehoe <kehoea@parhasard.net>
* bytecomp.el (byte-compile-catch):
Be more careful about non-quoted-symbol TAGs here; thank you
Robert Pluim in
CAMTcmTeLaZVrABnP-1MRUA3ZpZ=h2S_YVxKWDDNuc5bAyJD-gg@mail.gmail.com !
tests/ChangeLog addition:
2012-01-14 Aidan Kehoe <kehoea@parhasard.net>
* automated/lisp-tests.el:
Check that `byte-compile-catch' doesn't strip keyword (as such,
non-quoted) TAGs.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sat, 14 Jan 2012 12:16:05 +0000 |
parents | f4d74be74462 |
children | 611a6845ebee |
files | lisp/ChangeLog lisp/bytecomp.el tests/ChangeLog tests/automated/lisp-tests.el |
diffstat | 4 files changed, 20 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Wed Jan 11 16:38:50 2012 -0700 +++ b/lisp/ChangeLog Sat Jan 14 12:16:05 2012 +0000 @@ -1,4 +1,11 @@ - 2012-01-08 Vin Shelton <acs@xemacs.org> +2012-01-14 Aidan Kehoe <kehoea@parhasard.net> + + * bytecomp.el (byte-compile-catch): + Be more careful about non-quoted-symbol TAGs here; thank you + Robert Pluim in + CAMTcmTeLaZVrABnP-1MRUA3ZpZ=h2S_YVxKWDDNuc5bAyJD-gg@mail.gmail.com ! + +2012-01-08 Vin Shelton <acs@xemacs.org> * cus-face.el: autoload custom-set-face-bold.
--- a/lisp/bytecomp.el Wed Jan 11 16:38:50 2012 -0700 +++ b/lisp/bytecomp.el Sat Jan 14 12:16:05 2012 +0000 @@ -4382,8 +4382,9 @@ optimized away--just byte compile and return the BODY." (let* ((symbol (car-safe (cdr-safe (nth 1 form)))) (not-present '#:not-present) - (block (and symbol (symbolp symbol) - (get symbol 'cl-block-name not-present))) + (block (cond ((null symbol) not-present) + ((not (symbolp symbol)) not-present) + (t (get symbol 'cl-block-name not-present)))) (elt (and (not (eq block not-present)) (list block))) (byte-compile-active-blocks (if elt
--- a/tests/ChangeLog Wed Jan 11 16:38:50 2012 -0700 +++ b/tests/ChangeLog Sat Jan 14 12:16:05 2012 +0000 @@ -1,3 +1,9 @@ +2012-01-14 Aidan Kehoe <kehoea@parhasard.net> + + * automated/lisp-tests.el: + Check that `byte-compile-catch' doesn't strip keyword (as such, + non-quoted) TAGs. + 2012-01-01 Aidan Kehoe <kehoea@parhasard.net> * automated/completion-tests.el: New.
--- a/tests/automated/lisp-tests.el Wed Jan 11 16:38:50 2012 -0700 +++ b/tests/automated/lisp-tests.el Sat Jan 14 12:16:05 2012 +0000 @@ -2911,6 +2911,9 @@ (Assert (eql 0 (needs-lexical-context 2 nil nil)) "the function special operator doesn't create a lexical context."))) +(Assert (eql 10 (catch ':keyword (+ (catch :keyword (throw :keyword 9)) 1))) + "checking `byte-compile-catch' doesn't strip keyword TAGs") + ;; Test symbol-macrolet with symbols with identical string names. (macrolet