diff options
author | Mattias EngdegÄrd <mattiase@acm.org> | 2020-06-21 21:11:17 +0200 |
---|---|---|
committer | Mattias EngdegÄrd <mattiase@acm.org> | 2020-06-22 09:51:17 +0200 |
commit | 62426057310b2332037a26e6f70cd5cc8b2e3a11 (patch) | |
tree | 3379cf1077cd25b4c04f1a02956d3344ce3f8ad8 | |
parent | 73daab99914b4972a7cd167b03102be4c68e83e5 (diff) | |
download | emacs-62426057310b2332037a26e6f70cd5cc8b2e3a11.tar.gz |
Fix spurious error in beginning-of-defun in pascal-mode (bug#41740)
* lisp/progmodes/pascal.el (pascal-beg-of-defun):
Ignore errors in forward-sexp.
* test/lisp/progmodes/pascal-tests.el (pascal-beg-of-defun): New test.
-rw-r--r-- | lisp/progmodes/pascal.el | 2 | ||||
-rw-r--r-- | test/lisp/progmodes/pascal-tests.el | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el index b0191c029b9..fce059bafc7 100644 --- a/lisp/progmodes/pascal.el +++ b/lisp/progmodes/pascal.el @@ -589,7 +589,7 @@ See also `pascal-comment-area'." (interactive) (catch 'found (if (not (looking-at (concat "\\s \\|\\s)\\|" pascal-defun-re))) - (forward-sexp 1)) + (ignore-errors (forward-sexp 1))) (let ((nest 0) (max -1) (func 0) (reg (concat pascal-beg-block-re "\\|" pascal-end-block-re "\\|" diff --git a/test/lisp/progmodes/pascal-tests.el b/test/lisp/progmodes/pascal-tests.el index 10d6e0433d0..ed4c6fb03e0 100644 --- a/test/lisp/progmodes/pascal-tests.el +++ b/test/lisp/progmodes/pascal-tests.el @@ -52,4 +52,12 @@ (should (equal completions nil)) (should (equal point-before point-after)))))) +(ert-deftest pascal-beg-of-defun () + (with-temp-buffer + (pascal-mode) + (insert "program test; procedure p(") + (forward-char -1) + (pascal-beg-of-defun) + (should (equal (point) 15)))) + (provide 'pascal-tests) |