summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/smie.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2015-11-23 11:26:16 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2015-11-23 11:26:16 -0500
commit9f1a5113e103c789e173171ee0cda8d29de2f3d7 (patch)
tree7db6419eabb1d20ad0d8aae58c065dc6cff8e0fb /lisp/emacs-lisp/smie.el
parent2365e1eb93d4881954a19c96ea29902c1c9a67ad (diff)
downloademacs-9f1a5113e103c789e173171ee0cda8d29de2f3d7.tar.gz
* lisp/emacs-lisp/smie.el (smie-backward-sexp): Handle BOB better.
Diffstat (limited to 'lisp/emacs-lisp/smie.el')
-rw-r--r--lisp/emacs-lisp/smie.el7
1 files changed, 6 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/smie.el b/lisp/emacs-lisp/smie.el
index 738bdddcddf..197861fbae2 100644
--- a/lisp/emacs-lisp/smie.el
+++ b/lisp/emacs-lisp/smie.el
@@ -809,7 +809,12 @@ Possible return values:
nil: we skipped over an identifier, matched parentheses, ..."
(smie-next-sexp
(indirect-function smie-backward-token-function)
- (indirect-function #'backward-sexp)
+ (lambda (n)
+ (if (bobp)
+ ;; Arguably backward-sexp hould signal this error for us.
+ (signal 'scan-error
+ (list "Beginning of buffer" (point) (point)))
+ (backward-sexp n)))
(indirect-function #'smie-op-left)
(indirect-function #'smie-op-right)
halfsexp))