diff options
| author | Mattias EngdegÄrd | 2020-06-21 21:11:17 +0200 |
|---|---|---|
| committer | Mattias EngdegÄrd | 2020-06-22 09:51:17 +0200 |
| commit | 62426057310b2332037a26e6f70cd5cc8b2e3a11 (patch) | |
| tree | 3379cf1077cd25b4c04f1a02956d3344ce3f8ad8 | |
| parent | 73daab99914b4972a7cd167b03102be4c68e83e5 (diff) | |
| download | emacs-62426057310b2332037a26e6f70cd5cc8b2e3a11.tar.gz emacs-62426057310b2332037a26e6f70cd5cc8b2e3a11.zip | |
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'." | |||
| 589 | (interactive) | 589 | (interactive) |
| 590 | (catch 'found | 590 | (catch 'found |
| 591 | (if (not (looking-at (concat "\\s \\|\\s)\\|" pascal-defun-re))) | 591 | (if (not (looking-at (concat "\\s \\|\\s)\\|" pascal-defun-re))) |
| 592 | (forward-sexp 1)) | 592 | (ignore-errors (forward-sexp 1))) |
| 593 | (let ((nest 0) (max -1) (func 0) | 593 | (let ((nest 0) (max -1) (func 0) |
| 594 | (reg (concat pascal-beg-block-re "\\|" | 594 | (reg (concat pascal-beg-block-re "\\|" |
| 595 | pascal-end-block-re "\\|" | 595 | 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 @@ | |||
| 52 | (should (equal completions nil)) | 52 | (should (equal completions nil)) |
| 53 | (should (equal point-before point-after)))))) | 53 | (should (equal point-before point-after)))))) |
| 54 | 54 | ||
| 55 | (ert-deftest pascal-beg-of-defun () | ||
| 56 | (with-temp-buffer | ||
| 57 | (pascal-mode) | ||
| 58 | (insert "program test; procedure p(") | ||
| 59 | (forward-char -1) | ||
| 60 | (pascal-beg-of-defun) | ||
| 61 | (should (equal (point) 15)))) | ||
| 62 | |||
| 55 | (provide 'pascal-tests) | 63 | (provide 'pascal-tests) |