]> git.eshelyaron.com Git - emacs.git/commitdiff
(lisp-completion-at-point): Try and handle errors.
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 21 Apr 2010 17:53:03 +0000 (13:53 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 21 Apr 2010 17:53:03 +0000 (13:53 -0400)
lisp/ChangeLog
lisp/emacs-lisp/lisp.el

index 5ac61d146cd895eca76a67872bdca5db8415c8d5..451498175cabfb82aeac9e58236a1503d191401f 100644 (file)
@@ -1,3 +1,7 @@
+2010-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * emacs-lisp/lisp.el (lisp-completion-at-point): Try and handle errors.
+
 2010-04-21  Jan Djärv  <jan.h.d@swipnet.se>
 
        * vc-dir.el (vc-dir-tool-bar-map): Add :label on some tool bar items.
index e6b9af95a7382d8deb31534f3bdd84ca5a8e08e2..58289660a3ccec668499eec023b6fdc50f634fda 100644 (file)
@@ -633,10 +633,12 @@ considered."
   ;; 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 @@ considered."
                     '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