summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/checkdoc.el
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2019-07-09 18:24:26 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2019-07-09 18:45:18 +0200
commit547800dade11a1517c0f9a3007baf9df1bceeb5f (patch)
tree9a3d5019be0f1598d76a4266c170a7275c5b4ae2 /lisp/emacs-lisp/checkdoc.el
parent29fc4622631b8269b9a0f16dc2f9f2c16a138a4f (diff)
downloademacs-547800dade11a1517c0f9a3007baf9df1bceeb5f.tar.gz
emacs-547800dade11a1517c0f9a3007baf9df1bceeb5f.tar.bz2
emacs-547800dade11a1517c0f9a3007baf9df1bceeb5f.zip
Checkdoc would bug out on empty files
* lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): Don't bug out on malformed Emacs Lisp (bug#34760). (checkdoc-file-comments-engine): Don't bug out on empty buffers.
Diffstat (limited to 'lisp/emacs-lisp/checkdoc.el')
-rw-r--r--lisp/emacs-lisp/checkdoc.el10
1 files changed, 8 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el
index 3e3246352a2..830743f5f89 100644
--- a/lisp/emacs-lisp/checkdoc.el
+++ b/lisp/emacs-lisp/checkdoc.el
@@ -929,7 +929,10 @@ don't move point."
(pcase (save-excursion (condition-case nil
(read (current-buffer))
;; Conservatively skip syntax errors.
- (invalid-read-syntax)))
+ (invalid-read-syntax)
+ ;; Don't bug out if the file is empty (or a
+ ;; definition ends prematurely.
+ (end-of-file)))
(`(,(or 'defun 'defvar 'defcustom 'defmacro 'defconst 'defsubst 'defadvice)
,(pred symbolp)
;; Require an initializer, i.e. ignore single-argument `defvar'
@@ -2250,7 +2253,10 @@ Code:, and others referenced in the style guide."
(re-search-forward "^(require" nil t)
(re-search-forward "^(" nil t))
(beginning-of-line))
- (t (re-search-forward ";;; .* --- .*\n")))
+ ((not (re-search-forward ";;; .* --- .*\n" nil t))
+ (checkdoc-create-error
+ "You should have a summary line (\";;; .* --- .*\")"
+ nil nil t)))
(if (checkdoc-y-or-n-p
"You should have a \";;; Commentary:\", add one? ")
(insert "\n;;; Commentary:\n;; \n\n")