summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/checkdoc.el
Commit message (Collapse)AuthorAgeFilesLines
...
* lisp-mnt, checkdoc: Reduce run-time dependenciesStefan Monnier2022-02-071-26/+34
| | | | | | | | * lisp/emacs-lisp/lisp-mnt.el: Don't require `mail-parse` at top-level. (lm-crack-address): Require it here instead. * lisp/emacs-lisp/checkdoc.el (dired): Don't load at run-time. (checkdoc-dired): Add corresponding `declare-function`.
* Merge from origin/emacs-28Stefan Kangas2022-01-051-0/+1
|\ | | | | | | | | | | | | | | e7aa3ece52 Fix vc-git with old Git over Tramp and cygwin-mount.el c0cfbca311 * lisp/emacs-lisp/checkdoc.el (bytecomp): Add missing require # Conflicts: # etc/NEWS
| * * lisp/emacs-lisp/checkdoc.el (bytecomp): Add missing requirePhilipp Stephani2022-01-051-0/+1
| |
* | Merge from origin/emacs-28Eli Zaretskii2022-01-011-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 836be7a112 ; * etc/refcards/ru-refcard.tex: Update Copyright year. 86cbc6ee4a * lisp/net/tramp-sh.el: Adapt copyright year ebe8772f65 ; Minor fixes related to copyright years 23c1ee6989 ; * test/manual/etags/ETAGS.good_N: Adjust to copyright ye... 8d3fc7ec89 * src/xfaces.c (face_for_font): Make 'hash' be uintptr_t. 19dcb237b5 ; Add 2022 to copyright years. # Conflicts: # etc/NEWS # etc/refcards/ru-refcard.tex # lib/cdefs.h # lisp/erc/erc-dcc.el # lisp/erc/erc-imenu.el # lisp/erc/erc-replace.el # lisp/image-dired.el # lisp/progmodes/xref.el # m4/alloca.m4 # m4/byteswap.m4 # m4/errno_h.m4 # m4/getopt.m4 # m4/gnulib-common.m4 # m4/inttypes.m4 # m4/stddef_h.m4 # m4/stdint.m4 # m4/sys_socket_h.m4
| * ; Add 2022 to copyright years.Eli Zaretskii2022-01-011-1/+1
| |
* | * lisp/emacs-lisp/checkdoc.el (checkdoc-dired): Autoload.Stefan Kangas2021-11-121-0/+1
| |
* | Add "N.B." abbreviation to checkdocStefan Kangas2021-11-051-4/+2
| | | | | | | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Add abbreviation "N.B.".
* | Don't hardcode "Commentary" section in checkdocStefan Kangas2021-11-051-1/+5
|/ | | | | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-commentary-header-string): New defvar. (checkdoc-file-comments-engine): Insert value of above new variable instead of hardcoding what is inserted for the "Commentary" section.
* Make checkdoc's docstring substitution consistent with other docsNikolay Kudryavtsev2021-09-301-3/+3
| | | | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): In error text, say "mapvar" instead of "keymap", and "command" instead of "function", to be consistent with the ELisp manual. (Bug#50903)
* checkdoc: Allow Lisp symbols to start a messageStefan Kangas2021-09-281-7/+30
| | | | | | | | | | | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine): Allow Lisp symbols to start a message. (checkdoc--error-bad-format-p): New helper function. * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-test-error-format-is-good) (checkdoc-test-error-format-is-bad): New helper functions. (checkdoc-tests-error-message-bad-format-p) (checkdoc-tests-error-message-bad-format-p/defined-symbols) (checkdoc-tests-error-message-bad-format-p/not-capitalized): New tests.
* checkdoc: Don't add "Commentary" header to test filesStefan Kangas2021-09-261-2/+7
| | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-file-comments-engine): Don't add "Commentary:" header if it looks like a test file.
* checkdoc: Library footer must match package.el requirementStefan Kangas2021-09-261-4/+3
| | | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-file-comments-engine): Don't accept footer format unless it matches the requirement in package.el.
* checkdoc: Don't ask to disambiguate mode namesStefan Kangas2021-09-241-1/+4
| | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): Don't ask to disambiguate mode names. (Bug#4110)
* Fix recently introduced bug in checkdocStefan Kangas2021-09-241-2/+3
| | | | | | | * 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.
* checkdoc: Improve wide line warning to decrease false positivesStefan Kangas2021-09-241-6/+14
| | | | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): Respect 'byte-compile-docstring-max-column' if it is set. Allow the first line to be three characters longer than the others to account for indentation and the opening string character.
* ; * lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Doc fix.Stefan Kangas2021-09-241-2/+2
|
* checkdoc: Add abbreviation and simplifyStefan Kangas2021-09-231-5/+6
| | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Add abbreviation "a.k.a.". Simplify.
* Avoid jumping too far in checkdoc-in-abbreviation-pStefan Kangas2021-09-231-19/+23
| | | | | | | | | | | | | | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Use 'forward-ward' instead of 'forward-sexp' to avoid jumping too far in some situations. (Bug#50731) * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--abbrev-test): New helper function. (checkdoc-tests-in-abbrevation-p/basic-case): Rename from 'checkdoc-tests-in-abbrevation-p'. (checkdoc-tests-in-abbrevation-p/with-parens) (checkdoc-tests-in-abbrevation-p/with-escaped-parens): Use above new helper function. (checkdoc-tests-in-abbrevation-p/single-char) (checkdoc-tests-in-abbrevation-p/with-em-dash) (checkdoc-tests-in-abbrevation-p/incorrect-abbreviation): New tests.
* ; * lisp/emacs-lisp/checkdoc.el: Fix warnings.Stefan Kangas2021-09-211-4/+5
|
* Minor clean-up and fixes in checkdocStefan Kangas2021-09-211-44/+44
| | | | | | | | * lisp/emacs-lisp/checkdoc.el: Minor doc fixes. Remove unnecessary space at the end of 'y-or-n-p' prompts. Move obsolete definitions to the end of the file. (checkdoc-symbol-words, checkdoc-common-verbs-wrong-voice): Add some more common words.
* checkdoc: New defvars to disable some warningsStefan Kangas2021-09-211-10/+42
| | | | | | | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc--argument-missing-flag) (checkdoc--disambiguate-symbol-flag) (checkdoc--interactive-docstring-flag): New defvars to disable some warnings. These are intended for use with Emacs itself rather than with third-party libraries. (checkdoc-this-string-valid, checkdoc-this-string-valid-engine): Respect above new variables.
* Add new command 'checkdoc-dired'Stefan Kangas2021-09-211-0/+33
| | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-dired): New command. (checkdoc--dired-skip-lines-re): New constant.
* Revert "Flag checkdoc-symbol-words as a :safe variable"Stefan Kangas2021-09-191-1/+0
| | | | | | | There was no need for this change, as this variable was already marked as :safe. This reverts commit 222a7a1a8afdf6921e5981133c605c2d695e9281.
* checkdoc: Verify format of yes-or-no-p and format-messageStefan Kangas2021-09-191-5/+13
| | | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-next-string): Check also for "yes-or-no-p" and "format-message". Convert regexps to use rx.
* Flag checkdoc-symbol-words as a :safe variableStefan Kangas2021-09-191-0/+1
| | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-symbol-words): Flag as a safe file local variable.
* Use command substitution in checkdoc-recursive-editStefan Kangas2021-09-181-18/+21
| | | | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-recursive-edit): Use command substitution. (checkdoc--help-buffer): New variable. Use it instead of hard-coded string.
* Use command substitution for exit-recursive-editStefan Kangas2021-09-181-1/+2
| | | | | | * lisp/bindings.el (mode-line-modes): * lisp/emacs-lisp/checkdoc.el (checkdoc-recursive-edit): Use command substitution for 'exit-recursive-edit'.
* ; More stylistic docfixes in emacs-lisp/*.el found by checkdocStefan Kangas2021-09-181-1/+1
|
* * lisp/emacs-lisp/checkdoc.el: Doc fix; mention flymake.Stefan Kangas2021-09-181-3/+4
|
* Do interactive mode tagging for checkdoc.elStefan Kangas2021-09-181-9/+9
|
* checkdoc: Only look for commonly used modifier keysStefan Kangas2021-09-181-1/+3
| | | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): Search for the modifier key "s-", but not the modifier key "A-". The latter is very uncommon and leads to false positives.
* checkdoc: 'y-or-n-p' no longer needs spaceStefan Kangas2021-09-171-50/+32
| | | | | | | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine): Change 'y-or-n-p' check to accept prompt ending with both "? " or "?", that is, it no longer needs the space. (Bug#50621) (checkdoc--fix-y-or-n-p): New helper function. * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests-fix-y-or-n-p) (checkdoc-tests-fix-y-or-n-p/no-change) (checkdoc-tests-fix-y-or-n-p/with-space): New tests.
* Various minor checkdoc tweaksStefan Kangas2021-09-161-5/+15
| | | | | | | | | | | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-symbol-words): Add more "good" words that are used a lot in practice, and where using them doesn't really hurt the quality of the documentation. (checkdoc-proper-noun-list): Add "dired", remove "ispell"; the latter should not always be capitalized. (checkdoc-common-verbs-wrong-voice): Add some more common words. Don't check for "matches" as it leads to too many false positives and almost no fixes in practice. (checkdoc-this-string-valid-engine): Clarify comment. (checkdoc-in-abbreviation-p): Ignore some less common or non-standard abbreviations.
* checkdoc: Don't warn about command substitutions by defaultStefan Kangas2021-09-151-15/+20
| | | | | | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-max-keyref-before-warn): Add new valid value nil meaning to never warn about too many command substitutions, and use this value as the default. This is no longer a performance problem on modern machines. (Bug#50599) (checkdoc-this-string-valid-engine): Respect above new valid value nil.
* * lisp/emacs-lisp/checkdoc.el (checkdoc-symbol-words): Fix type.Glenn Morris2021-09-141-1/+1
|
* ; * lisp/emacs-lisp/checkdoc.el: Fix typo in previous commit.Stefan Kangas2021-09-141-1/+1
|
* Add user option to avoid checkdoc warning for unescaped left parenStefan Kangas2021-09-141-10/+19
| | | | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-column-zero-backslash-before-paren): New user option to avoid warning on unescaped left parenthesis in column zero. (checkdoc-this-string-valid-engine): Respect above new option.
* Minor improvements to checkdocStefan Kangas2021-09-141-7/+9
| | | | | | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-symbol-words): Add ignored values. (checkdoc-proper-noun-list): Remove XEmacs from list of words to capitalize; there is little need to insist on consistency here. (checkdoc-in-abbreviation-p): Add abbreviation "etc." and sort entries alphabetically.
* Improve checkdoc abbreviation handlingStefan Kangas2021-09-131-10/+26
| | | | | | | | | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): New helper function. (checkdoc-sentencespace-region-engine): Fix handling abbreviations after escaped parenthesis. * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests-in-abbrevation-p) (checkdoc-tests-in-abbrevation-p/with-parens) (checkdoc-tests-in-abbrevation-p/with-escaped-parens): New tests.
* * lisp/**/*.el: Avoid positional args to `define-minor-mode`Stefan Monnier2021-04-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Back in Emacs-21.1, `define-minor-mode` grew keywords arguments to replace its old positional arguments. Let's make sure we don't use the old-style any more. * lisp/org/ox-beamer.el (org-beamer-mode-map): Move initialization into declaration. (org-beamer-mode): * lisp/textmodes/tildify.el (tildify-mode): * lisp/textmodes/sgml-mode.el (html-autoview-mode): * lisp/textmodes/rst.el (rst-minor-mode): * lisp/textmodes/remember.el (remember-notes-mode): * lisp/textmodes/ispell.el (ispell-minor-mode): * lisp/tar-mode.el (tar-subfile-mode): * lisp/strokes.el (strokes-mode): * lisp/so-long.el (so-long-minor-mode): * lisp/shell.el (shell-dirtrack-mode): * lisp/scroll-all.el (scroll-all-mode): * lisp/ruler-mode.el (ruler-mode): * lisp/rect.el (rectangle-mark-mode): * lisp/progmodes/sh-script.el (sh-electric-here-document-mode): * lisp/outline.el (outline-minor-mode): * lisp/org/org.el (org-cdlatex-mode): * lisp/org/org-table.el (org-table-header-line-mode) (org-table-follow-field-mode, orgtbl-mode): * lisp/org/org-src.el (org-src-mode): * lisp/org/org-list.el (org-list-checkbox-radio-mode): * lisp/org/org-indent.el (org-indent-mode): * lisp/org/org-capture.el (org-capture-mode): * lisp/obsolete/pc-select.el (pc-selection-mode): * lisp/obsolete/iswitchb.el (iswitchb-mode): * lisp/net/rcirc.el (rcirc-omit-mode, rcirc-multiline-minor-mode) (rcirc-track-minor-mode): * lisp/net/goto-addr.el (goto-address-mode, goto-address-prog-mode): * lisp/image-mode.el (image-minor-mode): * lisp/ibuf-ext.el (ibuffer-auto-mode): * lisp/gnus/gnus-cite.el (gnus-message-citation-mode): * lisp/font-core.el (font-lock-mode): * lisp/erc/erc.el (define-erc-module): * lisp/erc/erc-track.el (erc-track-minor-mode): * lisp/erc/erc-fill.el (erc-fill-mode): * lisp/epa-mail.el (epa-mail-mode): * lisp/emacs-lisp/checkdoc.el (checkdoc-minor-mode): * lisp/dirtrack.el (dirtrack-mode, dirtrack-debug-mode): * lisp/dired-aux.el (dired-isearch-filenames-mode): * lisp/cedet/semantic/idle.el (semantic-idle-scheduler-mode): * lisp/cedet/semantic/decorate/mode.el (semantic-decoration-mode): * lisp/autoarg.el (autoarg-mode, autoarg-kp-mode): * lisp/vc/pcvs.el (cvs-minor-mode): Avoid old-style positional args to `define-minor-mode`.
* Use emacs-version instead of obsolete version variablesStefan Kangas2021-04-011-3/+6
| | | | | | | | | | | | | | * lisp/calendar/icalendar.el (icalendar-version): * lisp/dframe.el (dframe-version): * lisp/emacs-lisp/checkdoc.el (checkdoc-version): * lisp/emulation/edt.el (edt-version): * lisp/international/mule.el (mule-version): * lisp/linum.el (linum-version): * lisp/play/bubbles.el (bubbles-version): * lisp/textmodes/remember.el (remember-version): * lisp/url/url-vars.el (url-version): * lisp/woman.el (woman-version): Use emacs-version instead of obsolete version variables.
* * lisp: Remove yet more always-nil variablesStefan Monnier2021-03-111-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/align.el (align-region): Remove always-nil variable `group-c`. * lisp/ido.el (ido-make-prompt): Remove always-nil variable `prefix`. * lisp/xdg.el (xdg-mime-collect-associations): Remove always-nil variable `end`. * lisp/calc/calc-yank.el (calc-edit): Remove always-nil variable `flag`. * lisp/calendar/todo-mode.el (todo-edit-item--header): Remove always-nil variable `dayname`. (todo-show-categories-table): Remove always-nil variable `sortkey`. * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell-docstring-engine): Remove always-nil variable `err`. * lisp/emacs-lisp/tcover-ses.el: Remove always-nil variable `pause`. * lisp/eshell/em-ls.el (eshell-ls-files): Remove always-nil variable `ignore`. * lisp/net/ange-ftp.el (ange-ftp-copy-file-internal): Remove always-nil variable `temp2`. * lisp/progmodes/cperl-mode.el (cperl-tags-hier-init): Remove always-nil variables `l1`, `l2`, `l3`. (cperl-tags-treeify): Remove always-nil variable `l1`. * lisp/progmodes/ebrowse.el (ebrowse-tags-read-member+class-name): Remove always-nil variable `class`. * lisp/textmodes/artist.el (artist-draw-ellipse-with-0-height): Remove always-nil variable `fill-info`. * lisp/textmodes/flyspell.el (flyspell-emacs-popup): Remove always-nil variable `show-affix-info`. * lisp/textmodes/rst.el (rst-Ado): Remove always-nil variable `char`. * lisp/vc/vc.el (vc-diff-build-argument-list-internal): Remove always-nil variable `rev2-default`.
* Make checkdoc--next-docstring use the doc-string-elt propertyMauro Aranda2021-03-081-24/+9
| | | | | | | | | | | This follows from a fix for Bug#46918 and a discussion to use doc-string-elt: https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00232.html * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): Check for a non-nil doc-string-elt property, instead of hard-coding the supported symbols. Use that property to position point at the doc-string.
* Make checkdoc work with qualified methodsMauro Aranda2021-03-041-1/+20
| | | | | | | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): Handle cl-defmethod in a case of its own. Check for the presence of qualifiers, and skip them accordingly until the docstring. * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-cl-defmethod-qualified-ok) (checkdoc-cl-defmethod-with-extra-qualifier-ok) (checkdoc-cl-defmethod-with-extra-and-nil-args-ok): Add tests for the fix.
* * lisp/emacs-lisp/checkdoc.el: Doc fix; don't mention built-ins.Stefan Kangas2021-02-051-7/+0
|
* Fix position in empty buffers in checkdoc-file-comments-engineLars Ingebrigtsen2021-01-291-1/+3
| | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-file-comments-engine): Don't give invalid positions on empty buffers (bug#39987).
* checkdoc-spellcheck-documentation-flag doc string improvementLars Ingebrigtsen2021-01-201-1/+6
| | | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-spellcheck-documentation-flag): Mention `ispell-kill-ispell' (bug#6221).
* Revert "Always send Lisp words to checkdoc-ispell-init"Lars Ingebrigtsen2021-01-201-8/+6
| | | | | | | This reverts commit 93141d581330d94e7eec9f114def2bec15f87866. This would make checkdoc words be used in other flyspell buffers.
* Always send Lisp words to checkdoc-ispell-initLars Ingebrigtsen2021-01-201-6/+8
| | | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell-init): Always send the Lisp words to the process (bug#6221). This allows an existing ispell process to be correctly initialised.
* Update copyright year to 2021Paul Eggert2021-01-011-1/+1
| | | | Run "TZ=UTC0 admin/update-copyright".