# HG changeset patch # User Aidan Kehoe # Date 1326543365 0 # Node ID 5bda701e9e7c0dff05fa01010e151be8e0c0dd10 # Parent f4d74be744622833a2a78e5e2eebcac7f849be93 Be more careful about non-quoted-symbol TAGs, #'byte-compile-catch lisp/ChangeLog addition: 2012-01-14 Aidan Kehoe * 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 * automated/lisp-tests.el: Check that `byte-compile-catch' doesn't strip keyword (as such, non-quoted) TAGs. diff -r f4d74be74462 -r 5bda701e9e7c lisp/ChangeLog --- 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 +2012-01-14 Aidan Kehoe + + * 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 * cus-face.el: autoload custom-set-face-bold. diff -r f4d74be74462 -r 5bda701e9e7c lisp/bytecomp.el --- 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 diff -r f4d74be74462 -r 5bda701e9e7c tests/ChangeLog --- 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 + + * automated/lisp-tests.el: + Check that `byte-compile-catch' doesn't strip keyword (as such, + non-quoted) TAGs. + 2012-01-01 Aidan Kehoe * automated/completion-tests.el: New. diff -r f4d74be74462 -r 5bda701e9e7c tests/automated/lisp-tests.el --- 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