This was flushed out by my compiling semantic; I’m not sure it would have
been so quickly without print-circle being turned on, there was much more
shared structure read from disk than I would have anticipated with 21.4.
APPROVE COMMIT
NOTE: This patch has been committed
# HG changeset patch
# User Aidan Kehoe <kehoea(a)parhasard.net>
# Date 1325275718 0
# Node ID dd26f4da8a525b506bb1e5b603acb7c6a665cb51
# Parent 0513a8248ef0de3c230fdded7d3f27624feee15e
advice.el: #'subst, not #'nsubst, advice constructed by macro can share structure
ChangeLog addition:
2011-12-30 Aidan Kehoe <kehoea(a)parhasard.net>
* advice.el (ad-set-arguments):
* advice.el (ad-assemble-advised-definition):
Use #'subst, not #'nsubst; advice constructed by macros may have
shared structure, and any in-place modification will break this.
diff -r 0513a8248ef0 -r dd26f4da8a52 ChangeLog
--- a/ChangeLog Sat Sep 03 14:53:57 2011 +0200
+++ b/ChangeLog Fri Dec 30 20:08:38 2011 +0000
@@ -1,3 +1,10 @@
+2011-12-30 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * advice.el (ad-set-arguments):
+ * advice.el (ad-assemble-advised-definition):
+ Use #'subst, not #'nsubst; advice constructed by macros may have
+ shared structure, and any in-place modification will break this.
+
2011-01-10 Norbert Koch <viteno(a)xemacs.org>
* Makefile (VERSION): XEmacs package 2.30 released.
diff -r 0513a8248ef0 -r dd26f4da8a52 advice.el
--- a/advice.el Sat Sep 03 14:53:57 2011 +0200
+++ b/advice.el Fri Dec 30 20:08:38 2011 +0000
@@ -2797,7 +2797,7 @@
index arglist)
(if (= (length set-forms) 1)
;; For exactly one set-form we can use values-form directly,...
- (nsubst values-form 'ad-vAlUeS (car set-forms))
+ (subst values-form 'ad-vAlUeS (car set-forms))
;; ...if we have more we have to bind it to a variable:
(` (let ((ad-vAlUeS (, values-form)))
(,@ (reverse set-forms))
@@ -3092,9 +3092,9 @@
(if (ad-advice-protected advice)
(setq around-form-protected t))
(setq around-form
- (nsubst around-form 'ad-do-it
- (ad-prognify
- (ad-body-forms (ad-advice-definition advice))))))
+ (subst around-form 'ad-do-it
+ (ad-prognify
+ (ad-body-forms (ad-advice-definition advice))))))
(setq after-forms
(if (and around-form-protected before-forms)
(` ((unwind-protect
--
‘Iodine deficiency was endemic in parts of the UK until, through what has been
described as “an unplanned and accidental public health triumph”, iodine was
added to cattle feed to improve milk production in the 1930s.’
(EN Pearce, Lancet, June 2011)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches