From 9f1a5113e103c789e173171ee0cda8d29de2f3d7 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 23 Nov 2015 11:26:16 -0500 Subject: [PATCH] * lisp/emacs-lisp/smie.el (smie-backward-sexp): Handle BOB better. --- lisp/emacs-lisp/smie.el | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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)) -- 2.39.2