[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[AUCTeX-diffs] [elpa] externals/auctex 90fcbd4 41/80: Make navigation fu
From: |
Tassilo Horn |
Subject: |
[AUCTeX-diffs] [elpa] externals/auctex 90fcbd4 41/80: Make navigation function robust |
Date: |
Wed, 16 Oct 2019 11:07:14 -0400 (EDT) |
branch: externals/auctex
commit 90fcbd44a0f69b7b6511ef3af33bbc1a09670221
Author: Ikumi Keita <address@hidden>
Commit: Ikumi Keita <address@hidden>
Make navigation function robust
* tex.el (TeX-find-macro-end-helper): Cater for corner case that the
`while' loop is exited or skipped.
* tests/tex/navigation.el: Add new test.
---
tests/tex/navigation.el | 54 +++++++++++++++++++++++++++++++++++++++++++++++++
tex.el | 8 +++++---
2 files changed, 59 insertions(+), 3 deletions(-)
diff --git a/tests/tex/navigation.el b/tests/tex/navigation.el
new file mode 100644
index 0000000..daf1840
--- /dev/null
+++ b/tests/tex/navigation.el
@@ -0,0 +1,54 @@
+;;; navigation.el --- tests for navigation function in TeX buffer
+
+;; Copyright (C) 2019 Free Software Foundation, Inc.
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING. If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Code:
+
+(require 'ert)
+(require 'tex)
+
+(defun TeX-check-f-m-e-h (string &optional position)
+ "Check whether `TeX-find-macro-end-helper' works for exceptional case."
+ (with-temp-buffer
+ (insert string)
+ (should (= (or position (point-max))
+ (TeX-find-macro-end-helper (point-min))))))
+
+(ert-deftest TeX-find-macro-end-helper-single ()
+ ;; single macro ending at EOB
+ (TeX-check-f-m-e-h "\foo"))
+
+(ert-deftest TeX-find-macro-end-helper-curly ()
+ ;; curly braces ending at EOB
+ (TeX-check-f-m-e-h "\foo{bar}"))
+
+(ert-deftest TeX-find-macro-end-helper-curly-fail ()
+ ;; curly brace failing to close at EOB
+ (TeX-check-f-m-e-h "\foo{bar"))
+
+(ert-deftest TeX-find-macro-end-helper-square ()
+ ;; square brackets ending at EOB
+ (TeX-check-f-m-e-h "\foo{bar}[baz]"))
+
+(ert-deftest TeX-find-macro-end-helper-square-fail ()
+ ;; square bracket failing to close at EOB
+ (TeX-check-f-m-e-h "\foo{bar}[baz" (1+ (length "\foo{bar}"))))
+
+;;; navigation.el ends here
diff --git a/tex.el b/tex.el
index 0fda0d5..de8c6cf 100644
--- a/tex.el
+++ b/tex.el
@@ -5484,10 +5484,12 @@ those will be considered part of it."
;; If we cannot find a regular end, use the
;; next whitespace.
(save-excursion (skip-chars-forward "^
")
- (point))))
- (when (eobp) (throw 'found (point))))
+ (point)))))
(t
- (throw 'found (point)))))))))
+ (throw 'found (point)))))
+ ;; Make sure that this function does not return nil, even
+ ;; when the above `while' loop is totally skipped. (bug#35638)
+ (throw 'found (point))))))
(defun TeX-find-macro-start (&optional limit)
"Return the start of a macro.
- [AUCTeX-diffs] [elpa] externals/auctex a8bbd1f 31/80: ; Fix document, (continued)
- [AUCTeX-diffs] [elpa] externals/auctex a8bbd1f 31/80: ; Fix document, Tassilo Horn, 2019/10/16
- [AUCTeX-diffs] [elpa] externals/auctex ff688b9 33/80: Stop depreciated usage of undeclared dynamic variable, Tassilo Horn, 2019/10/16
- [AUCTeX-diffs] [elpa] externals/auctex 945ffaf 40/80: Update style/babel.el to package version 3.31, Tassilo Horn, 2019/10/16
- [AUCTeX-diffs] [elpa] externals/auctex 1b88eda 38/80: Fix autoload generation code (bug#35758), Tassilo Horn, 2019/10/16
- [AUCTeX-diffs] [elpa] externals/auctex b141ded 27/80: Remove compatibility code for xemacs, Tassilo Horn, 2019/10/16
- [AUCTeX-diffs] [elpa] externals/auctex 92c090d 30/80: Fix treatment of class and package options, Tassilo Horn, 2019/10/16
- [AUCTeX-diffs] [elpa] externals/auctex 36d06e2 44/80: ; * tests/latex/preview-latex-test.el: Fix typo., Tassilo Horn, 2019/10/16
- [AUCTeX-diffs] [elpa] externals/auctex 686366e 48/80: ; Add Emacs 24 compatibility to the previous commit, Tassilo Horn, 2019/10/16
- [AUCTeX-diffs] [elpa] externals/auctex cdb98c6 34/80: Fix last commit, Tassilo Horn, 2019/10/16
- [AUCTeX-diffs] [elpa] externals/auctex 0a9407c 47/80: Conform to `delete-selection-mode' (bug#36385), Tassilo Horn, 2019/10/16
- [AUCTeX-diffs] [elpa] externals/auctex 90fcbd4 41/80: Make navigation function robust,
Tassilo Horn <=
- [AUCTeX-diffs] [elpa] externals/auctex f127145 60/80: * context.el (ConTeXt-environment): Fix docstring., Tassilo Horn, 2019/10/16
- [AUCTeX-diffs] [elpa] externals/auctex 0fd9848 35/80: Improve style/mflogo.el, Tassilo Horn, 2019/10/16
- [AUCTeX-diffs] [elpa] externals/auctex 5208d91 50/80: Enhance support for file names with spaces, Tassilo Horn, 2019/10/16
- [AUCTeX-diffs] [elpa] externals/auctex c92251c 36/80: Load hyperref.el in `LaTeX-beamer-class-options', Tassilo Horn, 2019/10/16
- [AUCTeX-diffs] [elpa] externals/auctex 0cc2578 39/80: ; Use the correct variable `LaTeX-fontspec-font-features', Tassilo Horn, 2019/10/16
- [AUCTeX-diffs] [elpa] externals/auctex c07e4bf 49/80: Update style/AnonymousPro.el to package version 2.2, Tassilo Horn, 2019/10/16
- [AUCTeX-diffs] [elpa] externals/auctex 43e98f1 55/80: Update style/titlesec.el to package version 2.11, Tassilo Horn, 2019/10/16
- [AUCTeX-diffs] [elpa] externals/auctex b7083ee 51/80: Change color adjustment method (bug#35571, bug#35696, bug#36039), Tassilo Horn, 2019/10/16
- [AUCTeX-diffs] [elpa] externals/auctex d56a596 58/80: ; * tests/tex/path-expansion.el (): Fix typo., Tassilo Horn, 2019/10/16
- [AUCTeX-diffs] [elpa] externals/auctex ccfd3d9 57/80: Restore syntax fontify in Texinfo mode, Tassilo Horn, 2019/10/16