diff options
author | Karl Heuer <kwzh@gnu.org> | 1999-08-14 03:55:01 +0000 |
---|---|---|
committer | Karl Heuer <kwzh@gnu.org> | 1999-08-14 03:55:01 +0000 |
commit | 65a44e9fc083277175c8089bb0692a895df9cb66 (patch) | |
tree | 6fdafdc1a2899263832558bb89c78142ecbc99b1 /lisp/emacs-lisp/advice.el | |
parent | 0b6e8742b785de3b8630afd2bee7378a10d890bf (diff) | |
download | emacs-65a44e9fc083277175c8089bb0692a895df9cb66.tar.gz emacs-65a44e9fc083277175c8089bb0692a895df9cb66.tar.bz2 emacs-65a44e9fc083277175c8089bb0692a895df9cb66.zip |
(ad-special-forms): Use track-mouse iff bound.
Diffstat (limited to 'lisp/emacs-lisp/advice.el')
-rw-r--r-- | lisp/emacs-lisp/advice.el | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/lisp/emacs-lisp/advice.el b/lisp/emacs-lisp/advice.el index 9f670e8010c..6dab539a019 100644 --- a/lisp/emacs-lisp/advice.el +++ b/lisp/emacs-lisp/advice.el @@ -2472,13 +2472,16 @@ will clear the cache." ;; There is no way to determine whether some subr is a special form or not, ;; hence we need this list (which is probably out of date): (defvar ad-special-forms - (mapcar 'symbol-function - '(and catch cond condition-case defconst defmacro - defun defvar function if interactive let let* - or prog1 prog2 progn quote save-current-buffer - save-excursion save-restriction save-window-excursion - setq setq-default track-mouse unwind-protect while - with-output-to-temp-buffer))) + (let ((tem '(and catch cond condition-case defconst defmacro + defun defvar function if interactive let let* + or prog1 prog2 progn quote save-current-buffer + save-excursion save-restriction save-window-excursion + setq setq-default track-mouse unwind-protect while + with-output-to-temp-buffer))) + ;; track-mouse could be void in some configurations. + (if (fboundp 'track-mouse) + (setq tem (cons 'track-mouse tem))) + (mapcar 'symbol-function tem))) (defmacro ad-special-form-p (definition) ;;"non-nil if DEFINITION is a special form." |