(sync from trunk 2008-01-25)

Martin Rudalics  <rudalics at gmx.at>

(find-library): Wrap search for library name in condition-case to
avoid reporting a scan-error.  (Bug#563)
This commit is contained in:
Glenn Morris 2008-08-13 03:07:55 +00:00
parent 5ef52f40c5
commit 6ad38dc0ac
2 changed files with 17 additions and 5 deletions

View file

@ -1,3 +1,9 @@
2008-08-13 Martin Rudalics <rudalics@gmx.at>
* emacs-lisp/find-func.el (find-library): Wrap search for
library name in condition-case to avoid reporting a scan-error.
(Bug#563) (sync from trunk 2008-01-25)
2008-08-12 Juanma Barranquero <lekktu@gmail.com>
* desktop.el (desktop-minor-mode-table): Add `savehist-mode'.

View file

@ -198,11 +198,17 @@ TYPE should be nil to find a function, or `defvar' to find a variable."
(let* ((path (cons (or find-function-source-path load-path)
(find-library-suffixes)))
(def (if (eq (function-called-at-point) 'require)
(save-excursion
(backward-up-list)
(forward-char)
(backward-sexp -2)
(thing-at-point 'symbol))
;; `function-called-at-point' may return 'require
;; with `point' anywhere on this line. So wrap the
;; `save-excursion' below in a `condition-case' to
;; avoid reporting a scan-error here.
(condition-case nil
(save-excursion
(backward-up-list)
(forward-char)
(forward-sexp 2)
(thing-at-point 'symbol))
(error nil))
(thing-at-point 'symbol))))
(when def
(setq def (and (locate-file-completion def path 'test) def)))