summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog7
-rw-r--r--lisp/emacs-lisp/advice.el9
2 files changed, 9 insertions, 7 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 05ffc2d2bf1..6801e15190c 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,10 @@
+2001-03-29 Gerd Moellmann <gerd@gnu.org>
+
+ * emacs-lisp/advice.el (ad-make-advised-definition): Call
+ interactive-form to obtain the interactive spec of subrs.
+
+ * subr.el (interactive-form): New function.
+
2001-03-29 Andre Spiegel <spiegel@gnu.org>
* vc-sccs.el (vc-sccs-register): Use relative file names.
diff --git a/lisp/emacs-lisp/advice.el b/lisp/emacs-lisp/advice.el
index 4d32929ee9b..0333c51df64 100644
--- a/lisp/emacs-lisp/advice.el
+++ b/lisp/emacs-lisp/advice.el
@@ -1,6 +1,6 @@
;;; advice.el --- an overloading mechanism for Emacs Lisp functions
-;; Copyright (C) 1993,1994,2000 Free Software Foundation, Inc.
+;; Copyright (C) 1993,1994,2000, 2001 Free Software Foundation, Inc.
;; Author: Hans Chalupsky <hans@cs.buffalo.edu>
;; Maintainer: FSF
@@ -3072,12 +3072,7 @@ Example: `(ad-map-arglists '(a &rest args) '(w x y z))' will return
;; Otherwise we must have a subr: make it interactive if
;; we have to and initialize required arguments in case
;; it is called interactively:
- (orig-interactive-p
- (let ((reqargs (car (ad-parse-arglist advised-arglist))))
- (if reqargs
- (` (interactive
- '(, (make-list (length reqargs) nil))))
- '(interactive))))))
+ (orig-interactive-p (interactive-form origdef))))
(orig-form
(cond ((or orig-special-form-p orig-macro-p)
;; Special forms and macros will be advised into macros.