* lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Fix
recently introduced bug where some abbreviations weren't recognized.
* test/lisp/emacs-lisp/checkdoc-tests.el
(checkdoc-tests-in-abbrevation-p/basic-case): Extend test.
(save-excursion
(goto-char begin)
(condition-case nil
- (let ((single-letter t))
+ (let (single-letter)
(forward-word -1)
;; Skip over all dots backwards, as `forward-word' will only
;; go one dot at a time in a string like "e.g.".
(while (save-excursion (forward-char -1)
(looking-at (rx ".")))
- (setq single-letter nil)
(forward-word -1))
+ (when (= (point) (1- begin))
+ (setq single-letter t))
;; Piece of an abbreviation.
(looking-at
(if single-letter
(checkdoc-in-abbreviation-p (point))))
(ert-deftest checkdoc-tests-in-abbrevation-p/basic-case ()
- (should (checkdoc-tests--abbrev-test "foo bar e.g. baz" "e.g")))
+ (should (checkdoc-tests--abbrev-test "foo bar e.g. baz" "e.g"))
+ (should (checkdoc-tests--abbrev-test "behavior/errors etc. that" "etc"))
+ (should (checkdoc-tests--abbrev-test "foo vs. bar" "vs"))
+ (should (checkdoc-tests--abbrev-test "spy a.k.a. spy" "a.k.a")))
(ert-deftest checkdoc-tests-in-abbrevation-p/with-parens ()
(should (checkdoc-tests--abbrev-test "foo bar (e.g. baz)" "e.g")))