From: Thien-Thi Nguyen Date: Sun, 5 Dec 2004 16:58:13 +0000 (+0000) Subject: (which-function): Use X-Git-Tag: ttn-vms-21-2-B4~3430 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=911aa04913aeaafe5341c91364fa045db37f3d35;p=emacs.git (which-function): Use `run-hook-with-args-until-success' instead of a custom loop. Fixes bug with local hooks. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 6afd04befda..3742818bd53 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2004-12-05 Paul Pogonyshev + + * progmodes/which-func.el (which-function): Use + `run-hook-with-args-until-success' instead of a custom loop. + Fixes bug with local hooks. + 2004-12-05 Roland Winkler * textmodes/bibtex.el (bibtex-font-lock-url-regexp): diff --git a/lisp/progmodes/which-func.el b/lisp/progmodes/which-func.el index 845c995371d..dae5722d430 100644 --- a/lisp/progmodes/which-func.el +++ b/lisp/progmodes/which-func.el @@ -243,15 +243,9 @@ It calls them sequentially, and if any returns non-nil, Uses `which-function-functions', `imenu--index-alist' or `add-log-current-defun-function'. If no function name is found, return nil." - (let (name) - ;; Try the which-function-functions functions first. - (let ((hooks which-func-functions)) - (while hooks - (let ((value (funcall (car hooks)))) - (when value - (setq name value - hooks nil))) - (setq hooks (cdr hooks)))) + (let ((name + ;; Try the `which-function-functions' functions first. + (run-hook-with-args-until-success 'which-func-functions))) ;; If Imenu is loaded, try to make an index alist with it. (when (and (null name)