]> code.delx.au - gnu-emacs/blobdiff - lisp/emacs-lisp/smie.el
* lisp/emacs-lisp/smie.el (smie-backward-sexp): Handle BOB better.
[gnu-emacs] / lisp / emacs-lisp / smie.el
index 738bdddcddf9fff2067d712e5486f320c5b29a24..197861fbae2968d4d2235026b1996d699b03d505 100644 (file)
@@ -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))