1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-02-05 20:43:08 +00:00

(ad-interactive-form): Re-introduce.

(ad-body-forms, ad-advised-interactive-form): Revert this part of last change.
This commit is contained in:
Stefan Monnier 2007-07-28 19:57:23 +00:00
parent 9d2aebf649
commit 806bc6df0a
2 changed files with 22 additions and 9 deletions

View File

@ -1,18 +1,23 @@
2007-07-28 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/advice.el (ad-interactive-form): Re-introduce.
(ad-body-forms, ad-advised-interactive-form): Revert this part of
last change.
2007-07-28 Masatake YAMATO <jet@gyve.org>
* vc.el (vc-dired-mode): Added a menu for VC related
operation. Use backend name as the menu label Suggested by
David Kastrup.
* vc.el (vc-dired-mode): Add a menu for VC related operation.
Use backend name as the menu label Suggested by David Kastrup.
2007-07-28 Alan Mackenzie <acm@muc.de>
Fix problem with modes derived from CC Mode:
* progmodes/cc-mode.el (c-make-emacs-variables-local): move this
* progmodes/cc-mode.el (c-make-emacs-variables-local): Move this
macro to cc-langs.
(c-init-language-vars-for): remove call to above macro.
* progmodes/cc-langs.el (c-make-emacs-variables-local): macro has
(c-init-language-vars-for): Remove call to above macro.
* progmodes/cc-langs.el (c-make-emacs-variables-local): Macro has
been moved to here.
(c-make-init-lang-vars-fun): call c-make-emacs-variables-local.
(c-make-init-lang-vars-fun): Call c-make-emacs-variables-local.
2007-07-28 Eli Zaretskii <eliz@gnu.org>

View File

@ -2586,13 +2586,21 @@ that property, or otherwise use `(&rest ad-subr-args)'."
(natnump docstring))
docstring)))
(defun ad-interactive-form (definition)
"Return the interactive form of DEFINITION.
Like `interactive-form', but also works on pieces of advice."
(interactive-form
(if (ad-advice-p definition)
(ad-lambda-expression definition)
definition)))
(defun ad-body-forms (definition)
"Return the list of body forms of DEFINITION."
(cond ((ad-compiled-p definition)
nil)
((consp definition)
(nthcdr (+ (if (ad-docstring definition) 1 0)
(if (interactive-form definition) 1 0))
(if (ad-interactive-form definition) 1 0))
(cdr (cdr (ad-lambda-expression definition)))))))
;; Matches the docstring of an advised definition.
@ -3024,7 +3032,7 @@ in any of these classes."
(ad-get-enabled-advices function 'around)
(ad-get-enabled-advices function 'after)))
(let ((interactive-form
(interactive-form (ad-advice-definition advice))))
(ad-interactive-form (ad-advice-definition advice))))
(if interactive-form
;; We found the first one, use it:
(ad-do-return interactive-form)))))