# HG changeset patch # User Karl Heuer <kwzh@gnu.org> # Date 934602901 0 # Node ID 0c8c07d1d12fd6867852039db0f7d7a18e159fd0 # Parent 9f7a9dceb11be02cfbdc0f50fd3a7b22db9efa52 (ad-special-forms): Use track-mouse iff bound. diff -r 9f7a9dceb11b -r 0c8c07d1d12f lisp/emacs-lisp/advice.el --- a/lisp/emacs-lisp/advice.el Sat Aug 14 03:24:48 1999 +0000 +++ b/lisp/emacs-lisp/advice.el Sat Aug 14 03:55:01 1999 +0000 @@ -2472,13 +2472,16 @@ ;; 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."