summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorDaniel Colascione <dancol@dancol.org>2015-03-23 01:50:42 -0700
committerDaniel Colascione <dancol@dancol.org>2015-03-23 01:54:42 -0700
commitbad7308e0c7bfe0192ac05d7aea72e1f7bea7b08 (patch)
tree42b1e353fcd67ba4327a75546e779d2651d54ce6 /lisp/emacs-lisp
parentb8d7d7e8e6b3f5542b52b57f2514960d7184210a (diff)
downloademacs-bad7308e0c7bfe0192ac05d7aea72e1f7bea7b08.tar.gz
emacs-bad7308e0c7bfe0192ac05d7aea72e1f7bea7b08.tar.bz2
emacs-bad7308e0c7bfe0192ac05d7aea72e1f7bea7b08.zip
Fix previous commit (again)
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/lisp-mode.el29
1 files changed, 16 insertions, 13 deletions
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index e96c8ed5cef..4c9a39fe174 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -190,19 +190,22 @@
(goto-char pos)
(or (eql (char-before) ?\')
(let ((parent
- (up-list -1)
- (cond
- ((looking-at (rx "(" (* (syntax -)) "("))
- (up-list -1)
- (when (looking-at "(\\_<let\\*?\\_>")
- (goto-char (match-end 0))
- 'let))
- ((looking-at
- (rx "("
- (group-n 1 (+ (or (syntax w) (syntax _))))
- symbol-end))
- (prog1 (intern-soft (match-string-no-properties 1))
- (goto-char (match-end 1)))))))
+ (progn
+ (up-list -1)
+ (cond
+ ((ignore-errors
+ (and (eql (char-after) ?\()
+ (progn
+ (up-list -1)
+ (looking-at "(\\_<let\\*?\\_>"))))
+ (goto-char (match-end 0))
+ 'let)
+ ((looking-at
+ (rx "("
+ (group-n 1 (+ (or (syntax w) (syntax _))))
+ symbol-end))
+ (prog1 (intern-soft (match-string-no-properties 1))
+ (goto-char (match-end 1))))))))
(or (eq parent 'declare)
(and (eq parent 'let)
(progn