# HG changeset patch # User Stefan Monnier # Date 1271872383 14400 # Node ID e61497621f0d39849276c55edb07c9cbfdf950c2 # Parent 3d3f9bad54602fc65645a6c89f43dcc75c61e255 (lisp-completion-at-point): Try and handle errors. diff -r 3d3f9bad5460 -r e61497621f0d lisp/ChangeLog --- a/lisp/ChangeLog Wed Apr 21 18:42:39 2010 +0200 +++ b/lisp/ChangeLog Wed Apr 21 13:53:03 2010 -0400 @@ -1,3 +1,7 @@ +2010-04-21 Stefan Monnier + + * emacs-lisp/lisp.el (lisp-completion-at-point): Try and handle errors. + 2010-04-21 Jan Djärv * vc-dir.el (vc-dir-tool-bar-map): Add :label on some tool bar items. diff -r 3d3f9bad5460 -r e61497621f0d lisp/emacs-lisp/lisp.el --- a/lisp/emacs-lisp/lisp.el Wed Apr 21 18:42:39 2010 +0200 +++ b/lisp/emacs-lisp/lisp.el Wed Apr 21 13:53:03 2010 -0400 @@ -633,10 +633,12 @@ ;; FIXME: the `end' could be after point? (let* ((pos (point)) (beg (with-syntax-table emacs-lisp-mode-syntax-table - (save-excursion - (backward-sexp 1) - (skip-syntax-forward "'") - (point)))) + (condition-case nil + (save-excursion + (backward-sexp 1) + (skip-syntax-forward "'") + (point)) + (scan-error pos)))) (predicate (or predicate (save-excursion @@ -658,12 +660,14 @@ 'fboundp))))) (end (unless (or (eq beg (point-max)) - (member (char-syntax (char-after beg)) '(?\( ?\)))) - (save-excursion - (goto-char beg) - (forward-sexp 1) - (when (>= (point) pos) - (point)))))) + (member (char-syntax (char-after beg)) '(?\" ?\( ?\)))) + (condition-case nil + (save-excursion + (goto-char beg) + (forward-sexp 1) + (when (>= (point) pos) + (point))) + (scan-error pos))))) (when end (list beg end obarray :predicate predicate