%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/emacs-lisp/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/emacs-lisp/checkdoc.elc

;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.

;;; This file contains utf-8 non-ASCII characters,
;;; and so cannot be loaded into Emacs 22 or earlier.
(and (boundp 'emacs-version)
     (< (aref emacs-version (1- (length emacs-version))) ?A)
     (string-lessp emacs-version "23")
     (error "`%s' was compiled for Emacs 23 or later" #$))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


#@56 Release version of checkdoc you are currently running.
(defvar checkdoc-version "0.6.2" (#$ . 408))
(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\305\306\307\310\311\312\313\314\315\316&	\210\317\320\321\322\323DD\324\325\326\315\327&\210\317\330\321\322\331DD\332\325\333%\210\317\334\321\322\335DD\336\325\337%\210\317\340\321\322\341DD\342\325\337%\210\317\343\321\322\344DD\345\325\337%\210\317\346\321\322\347DD\350\325\337%\210\317\351\321\322\352DD\353\325\354%\207" [require cl-lib help-mode thingatpt lisp-mnt custom-declare-group checkdoc nil "Support for doc string checking in Emacs Lisp." :prefix "checkdoc" :group lisp :version "20.3" custom-declare-variable checkdoc-minor-mode-string funcall function #[0 "\300\207" [#1=" CDoc"] 1 #1#] "String to display in mode line when Checkdoc mode is enabled; nil for none." :type (choice string (const :tag "None" nil)) "23.1" checkdoc-autofix-flag #[0 "\300\207" [semiautomatic] 1] "Non-nil means attempt auto-fixing of doc strings.\nIf this value is the symbol `query', then the user is queried before\nany change is made.  If the value is `automatic', then all changes are\nmade without asking unless the change is very complex.  If the value\nis `semiautomatic' or any other value, then simple fixes are made\nwithout asking, and complex changes are made by asking the user first.\nThe value `never' is the same as nil, never ask or change anything." (choice (const automatic) (const query) (const never) (other :tag "semiautomatic" semiautomatic)) checkdoc-bouncy-flag #[0 "\300\207" [t] 1] "Non-nil means to \"bounce\" to auto-fix locations.\nSetting this to nil will silently make fixes that require no user\ninteraction.  See `checkdoc-autofix-flag' for auto-fixing details." boolean checkdoc-force-docstrings-flag #[0 "\300\207" [t] 1] "Non-nil means that all checkable definitions should have documentation.\nStyle guide dictates that interactive functions MUST have documentation,\nand that it's good but not required practice to make non user visible items\nhave doc strings." checkdoc-force-history-flag #[0 "\300\207" [nil] 1] "Non-nil means that files should have a History section or ChangeLog file.\nThis helps document the evolution of, and recent changes to, the package." checkdoc-permit-comma-termination-flag #[0 "\300\207" [nil] 1] "Non-nil means the first line of a docstring may end with a comma.\nOrdinarily, a full sentence is required.  This may be misleading when\nthere is a substantial caveat to the one-line description -- the comma\nshould be used when the first part could stand alone as a sentence, but\nit indicates that a modifying clause follows." checkdoc-spellcheck-documentation-flag #[0 "\300\207" [nil] 1] "Non-nil means run Ispell on text based on value.\nThis is automatically set to nil if Ispell does not exist on your\nsystem.  Possible values are:\n\n  nil         - Don't spell-check during basic style checks.\n  defun       - Spell-check when style checking a single defun.\n  buffer      - Spell-check when style checking the whole buffer.\n  interactive - Spell-check during any interactive check.\n  t           - Always spell-check." (choice (const nil) (const defun) (const buffer) (const interactive) (const t))] 10)
#@72 List of words that are correct when spell-checking Lisp documentation.
(defvar checkdoc-ispell-lisp-words '("alist" "emacs" "etags" "keymap" "paren" "regexp" "sexp" "xemacs") (#$ . 3665))
(byte-code "\300\301\302\303\304DD\305\306\307%\210\300\310\302\303\311DD\312\313\314\306\315&\210\300\316\302\303\317DD\320\313\321\306\315&\210\322\323\324\325#\210\326\211\203R\211@\323N\203K\324N\204K\327\324\323N#\210A\266\202\2021\210\330\323\324\331#\207" [custom-declare-variable checkdoc-max-keyref-before-warn funcall function #[0 "\300\207" [10] 1] "The number of \\ [command-to-keystroke] tokens allowed in a doc string.\nAny more than this and a warning is generated suggesting that the construct\n\\ {keymap} be used instead." :type integer checkdoc-arguments-in-order-flag #[0 "\300\207" [nil] 1] "Non-nil means warn if arguments appear out of order.\nSetting this to nil will mean only checking that all the arguments\nappear in the proper form in the documentation, not that they are in\nthe same order as they appear in the argument list.  No mention is\nmade in the style guide relating to order." :version "26.1" boolean checkdoc-package-keywords-flag #[0 "\300\207" [nil] 1] "Non-nil means warn if this file's package keywords are not recognized.\nCurrently, all recognized keywords must be on `finder-known-keywords'." "25.1" defvaralias checkdoc-style-hooks checkdoc-style-functions nil (saved-value saved-variable-comment) put make-obsolete-variable "24.3"] 8)
#@358 Hook run after the standard style check is completed.
All functions must return nil or a string representing the error found.
Useful for adding new user implemented commands.

Each hook is called with two parameters, (DEFUNINFO ENDPOINT).
DEFUNINFO is the return value of `checkdoc-defun-info'.  ENDPOINT is the
location of end of the documentation string.
(defvar checkdoc-style-functions nil (#$ . 5156))
(byte-code "\300\301\302\303#\210\304\211\203(\211@\301N\203!\302N\204!\305\302\301N#\210A\266\202\202\210\306\301\302\307#\207" [defvaralias checkdoc-comment-style-hooks checkdoc-comment-style-functions nil (saved-value saved-variable-comment) put make-obsolete-variable "24.3"] 7)
#@196 Hook run after the standard comment style check is completed.
Must return nil if no errors are found, or a string describing the
problem discovered.  This is useful for adding additional checks.
(defvar checkdoc-comment-style-functions nil (#$ . 5863))
#@33 Name of warning message buffer.
(defvar checkdoc-diagnostic-buffer "*Style Warnings*" (#$ . 6122))
(byte-code "\300\301\302\303\304DD\305\306\307%\207" [custom-declare-variable checkdoc-verb-check-experimental-flag funcall function #[0 "\300\207" [t] 1] "Non-nil means to attempt to check the voice of the doc string.\nThis check keys off some words which are commonly misused.  See the\nvariable `checkdoc-common-verbs-wrong-voice' if you wish to add your own." :type boolean] 6)
#@157 Non-nil means generate warnings in a buffer for browsing.
Do not set this by hand, use a function like `checkdoc-current-buffer'
with a universal argument.
(defvar checkdoc-generate-compile-warnings-flag nil (#$ . 6610))
(byte-code "\300\301\302\303\304DD\305\306\307%\207" [custom-declare-variable checkdoc-symbol-words funcall function #[0 "\300\207" [nil] 1] "A list of symbol names (strings) which also happen to make good words.\nThese words are ignored when unquoted symbols are searched for.\nThis should be set in an Emacs Lisp file's local variables." :type (repeat (symbol :tag "Word"))] 6)
#@51 Return t when OBJ is a list of strings.

(fn OBJ)
(defalias 'checkdoc-list-of-strings-p #[257 "\211<\205\f\300\301\302\">?\207" [nil mapcar stringp] 5 (#$ . 7217)])
#@62 List of words (not capitalized) which should be capitalized.
(defvar checkdoc-proper-noun-list '("ispell" "xemacs" "emacs" "lisp") (#$ . 7390))
#@64 Regular expression derived from `checkdoc-proper-noun-regexp'.
(defvar checkdoc-proper-noun-regexp (byte-code "\301\302\303\"\304Q\207" [checkdoc-proper-noun-list "\\_<" regexp-opt t "\\(\\_>\\|[.!?][ 	\n\"]\\)"] 4) (#$ . 7540))
#@65 Regular expression derived from `checkdoc-common-verbs-regexp'.
(defvar checkdoc-common-verbs-regexp nil (#$ . 7776))
#@296 Alist of common words in the wrong voice and what should be used instead.
Set `checkdoc-verb-check-experimental-flag' to nil to avoid this costly
and experimental check.  Do not modify this list without setting
the value of `checkdoc-common-verbs-regexp' to nil which cause it to
be re-created.
(defvar checkdoc-common-verbs-wrong-voice '(("adds" . "add") ("allows" . "allow") ("appends" . "append") ("applies" . "apply") ("arranges" . "arrange") ("brings" . "bring") ("calls" . "call") ("catches" . "catch") ("changes" . "change") ("checks" . "check") ("contains" . "contain") ("converts" . "convert") ("creates" . "create") ("destroys" . "destroy") ("disables" . "disable") ("executes" . "execute") ("evals" . "evaluate") ("evaluates" . "evaluate") ("finds" . "find") ("forces" . "force") ("gathers" . "gather") ("generates" . "generate") ("goes" . "go") ("guesses" . "guess") ("highlights" . "highlight") ("holds" . "hold") ("ignores" . "ignore") ("indents" . "indent") ("initializes" . "initialize") ("inserts" . "insert") ("installs" . "install") ("investigates" . "investigate") ("keeps" . "keep") ("kills" . "kill") ("leaves" . "leave") ("lets" . "let") ("loads" . "load") ("looks" . "look") ("makes" . "make") ("marks" . "mark") ("matches" . "match") ("moves" . "move") ("notifies" . "notify") ("offers" . "offer") ("parses" . "parse") ("performs" . "perform") ("prepares" . "prepare") ("prepends" . "prepend") ("reads" . "read") ("raises" . "raise") ("removes" . "remove") ("replaces" . "replace") ("resets" . "reset") ("restores" . "restore") ("returns" . "return") ("runs" . "run") ("saves" . "save") ("says" . "say") ("searches" . "search") ("selects" . "select") ("sets" . "set") ("sex" . "s*x") ("shows" . "show") ("signifies" . "signify") ("sorts" . "sort") ("starts" . "start") ("stores" . "store") ("switches" . "switch") ("tells" . "tell") ("tests" . "test") ("toggles" . "toggle") ("tries" . "try") ("turns" . "turn") ("undoes" . "undo") ("unloads" . "unload") ("unmarks" . "unmark") ("updates" . "update") ("uses" . "use") ("yanks" . "yank")) (#$ . 7901))
#@52 Syntax table used by checkdoc in document strings.
(defvar checkdoc-syntax-table (byte-code "\301!\302\303\304#\210\211\207" [emacs-lisp-mode-syntax-table make-syntax-table modify-syntax-entry 45 "w"] 5) (#$ . 9983))
#@173 Interactively check the entire buffer for style errors.
The current status of the check will be displayed in a buffer which
the users will view as each check is completed.
(defalias 'checkdoc #[0 "\303\304\211\211F\305>@	\203	\306=\203\307\202	\310\311!\210\211\n\204+\312\2025\313 \2034\314\2025\315\240\266A\211\303\240\266\311!\210\316\310\317\"\262A\211\203X\320\321G\"\202Y\315\240\266AA\211\303\240\266\311!\210AA\211\322\310\317\"\211\262\203~\320\321G\"\202\315\240\266\323\233\211\303\240\266\311!\210\323\233\211\3241\236\325\310\317\"0\202\242\210\202\251\203\251\314\202\252\315\240\266\311!*\207" [checkdoc-spellcheck-documentation-flag checkdoc-autofix-flag buffer-file-name "Checking..." "-" (buffer interactive t) never query nil checkdoc-display-status-buffer "Not checked" checkdoc-file-comments-engine "Errors" "Ok" checkdoc-interactive t format "%d Errors" checkdoc-message-interactive 3 (error) checkdoc-rogue-spaces] 9 (#$ . 10209) nil])
#@207 Display and update the status buffer for the current checkdoc mode.
CHECK is a list of four strings stating the current status of each
test; the nth string describes the status of the nth test.

(fn CHECK)
(defalias 'checkdoc-display-status-buffer #[257 "\306	r\307\310!q\210p\311 \210\306\211\312\211\312\313 \210\314\300!\210+\211\315\316\317@\320A@\321\322\n8\323\324\f8\257\"\210\325!\210)\266)\326\327\310!!\210\330\306!\210\331\332!\207" [temp-buffer-setup-hook default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks nil get-buffer-create "*Checkdoc Status*" kill-all-local-variables t erase-buffer run-hooks mapc princ "Buffer comments and tags:  " "\nDocumentation style:       " "\nMessage/Query text style:  " 2 "\nUnwanted Spaces:           " 3 internal-temp-output-buffer-show shrink-window-if-larger-than-buffer get-buffer-window message sit-for 0 inhibit-read-only standard-output] 15 (#$ . 11225)])
#@475 Interactively check the current buffer for doc string errors.
Prefix argument START-HERE will start the checking from the current
point, otherwise the check starts at the beginning of the current
buffer.  Allows navigation forward and backwards through document
errors.  Does not check for comment or space warnings.
Optional argument SHOWSTATUS indicates that we should update the
checkdoc status window instead of the usual behavior.

(fn &optional START-HERE SHOWSTATUS)
(defalias 'checkdoc-interactive #[512 "\301>@\302\303#\304!\210)\207" [checkdoc-spellcheck-documentation-flag (interactive t) checkdoc-interactive-loop checkdoc-next-error checkdoc-interactive-ispell-loop] 6 (#$ . 12206) "P"])
#@479 Interactively check the current buffer for message string errors.
Prefix argument START-HERE will start the checking from the current
point, otherwise the check starts at the beginning of the current
buffer.  Allows navigation forward and backwards through document
errors.  Does not check for comment or space warnings.
Optional argument SHOWSTATUS indicates that we should update the
checkdoc status window instead of the usual behavior.

(fn &optional START-HERE SHOWSTATUS)
(defalias 'checkdoc-message-interactive #[512 "\301>@\302\303#\304!\210)\207" [checkdoc-spellcheck-documentation-flag (interactive t) checkdoc-interactive-loop checkdoc-next-message-error checkdoc-message-interactive-ispell-loop] 6 (#$ . 12919) "P"])
#@628 Interactively loop over all errors that can be found by a given method.

If START-HERE is nil, searching starts at the beginning of the current
buffer, otherwise searching starts at START-HERE.  SHOWSTATUS
expresses the verbosity of the search, and whether ending the search
will auto-exit this function.

FINDFUNC is a symbol representing a function that will position the
cursor, and return error message text to present to the user.  It is
assumed that the cursor will stop just before a major sexp, which will
be highlighted to present the user with feedback as to the offending
style.

(fn START-HERE SHOWSTATUS FINDFUNC)
(defalias 'checkdoc-interactive-loop #[771 "`\204eb\210\306>@\307!C\307C\307\211\310 \311\312\313\314\315!\316\"\317$\216@\204+\307\262\320 \210\203p@Ab\210@@;\203L\212\321`\322\323!\210`\")\202Z\321\324@@!\325@@!\"\240\210\311\312\326\314\315!\327\"\317$\216\330\242\331\332#\210\333\312!\210g\334U\203\255\335\212\322\323!\210`)\336 \"\204\255\337`\212\322\323!\210`)\"\211\340 V\203\240\341\323!\210\202\251\341\340 Z\317\245!\210\210\202\260\341 \210\342\343\344@@!\345@@!\203\305\346\202\306\347#\210\212\324@@!b\210\335 \204\334\341\340 \317Z!\210\350 \262)\250\204\351\351\262\352\267\202\375\353\354\307\"\210\202l\355\242!\210\307\240\210@Ab\210\356\307\357!\210	\356=?\262\211\204#\342\360!\210\333\317!\210\202(A\262)\266\320 \210\307!\211\203?\211B\262\202V\204N\342\361!\210\333\317!\210\202V\342\362!\210\333\317!\210\210\202l\307!\211\204\206\203p\262\307\262\202\214\204{\342\361!\210\202\342\362!\210\333\317!\210\202\214\211B\262\210\202lG\323U\204\246A\262@Ab\210\320 \210\202l\342\363!\210\333\317!\210\202l\364\344@@!!\210\355\242!\210A\262\320 \210\307!\211\204\347\203\334\262\307\262\202\355\342\361!\210\333\317!\210\202\355\211B\262\210\202l\262\307\262`\262\202l\365\366!\203\367\365\366!!\210\370\366!\210\202l\nr\371\366!q\210p\372 \210\307\211\357\211\357@A\373 \210\374\375!\210+\211BrBq\210\376\345@@!\203G\346\202H\377\201C\201D\201E\201F\201G\261\210)\201H!\210)\266\201I\365\366!!\210)\202.)\210b\210\201J\366!\203\201\370\366!\210\342\201K!\210)\207" [checkdoc-spellcheck-documentation-flag checkdoc-autofix-flag default-directory buffer-read-only buffer-file-name buffer-undo-list (buffer interactive t) nil current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 beginning-of-defun make-overlay forward-sexp 1 checkdoc-error-start checkdoc-error-end "\300\242\205	\301\300\242!\207" [delete-overlay] overlay-put face highlight sit-for 34 pos-visible-in-window-p selected-window count-lines window-height recenter message "%s (C-h,%se,n,p,q)" checkdoc-error-text checkdoc-error-unfixable "" "f," read-event 63 #s(hash-table size 9 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (7 239 121 247 102 247 110 346 32 346 112 400 127 400 101 433 113 497)) signal quit delete-overlay automatic-then-never t "A Fix was not available." "No More Stylistic Errors." "No Additional style errors.  Continuing..." "No Previous Errors." checkdoc-recursive-edit get-buffer-window "*Checkdoc Help*" delete-window kill-buffer get-buffer-create kill-all-local-variables erase-buffer run-hooks temp-buffer-setup-hook "Checkdoc Keyboard Summary:\n" "f, y    - auto Fix this warning without asking (if available.)\n         Very complex operations will still query.\n" inhibit-modification-hooks inhibit-read-only standard-output "e      - Enter recursive Edit.  Press C-M-c to exit.\n" "SPC, n - skip to the Next error.\n" "DEL, p - skip to the Previous error.\n" "q      - Quit checkdoc.\n" "C-h    - Toggle this help buffer." internal-temp-output-buffer-show shrink-window-if-larger-than-buffer get-buffer "Checkdoc: Done."] 19 (#$ . 13660)])
#@200 Interactively spell check doc strings in the current buffer.
If START-HERE is nil, searching starts at the beginning of the current
buffer, otherwise searching starts at START-HERE.

(fn START-HERE)
(defalias 'checkdoc-interactive-ispell-loop #[257 "\2059\212\211\203\301 \210\202eb\210\302 \2035\303\304\305\306`_d\"\"\210g\307U\203\310\212\311\312!\210\313 )!\210\202\303\314!)\207" [checkdoc-spellcheck-documentation-flag beginning-of-defun checkdoc-next-docstring message "Searching for doc string spell error...%d%%" floor 100.0 34 checkdoc-ispell-docstring-engine forward-sexp 1 point-marker "Checkdoc: Done."] 6 (#$ . 17576)])
#@197 Interactively spell check messages in the current buffer.
If START-HERE is nil, searching starts at the beginning of the current
buffer, otherwise searching starts at START-HERE.

(fn START-HERE)
(defalias 'checkdoc-message-interactive-ispell-loop #[257 "\205:\212\211\203\301 \210\202eb\210\302d!\2036\303\304\305\306`_d\"\"\210g\307U\203\310\212\311\312!\210\313 )!\210\202\303\314!)\207" [checkdoc-spellcheck-documentation-flag beginning-of-defun checkdoc-message-text-next-string message "Searching for message string spell error...%d%%" floor 100.0 34 checkdoc-ispell-docstring-engine forward-sexp 1 point-marker "Checkdoc: Done."] 6 (#$ . 18228)])
#@546 Find and return the next checkdoc error list, or nil.
Only documentation strings are checked.
An error list is of the form (WARNING . POSITION) where WARNING is the
warning text, and POSITION is the point in the buffer where the error
was found.  We can use points and not markers because we promise not
to edit the buffer before point without re-executing this check.
Argument ENABLE-FIX will enable auto-fixing while looking for the next
error.  This argument assumes that the cursor is already positioned to
perform the fix.

(fn ENABLE-FIX)
(defalias 'checkdoc-next-error #[257 "\211\203\301 \207\302`\302\30317?\2053\304 \2053\305\306\307\310`_d\"\"\210\301 \211\262\203`B\262\2020\202:\210\211b\210)\207" [checkdoc-autofix-flag checkdoc-this-string-valid nil (quit) checkdoc-next-docstring message "Searching for doc string error...%d%%" floor 100.0] 8 (#$ . 18900)])
#@336 Find and return the next checkdoc message related error list, or nil.
Only text for error and `y-or-n-p' strings are checked.  See
`checkdoc-next-error' for details on the return value.
Argument ENABLE-FIX turns on the auto-fix feature.  This argument
assumes that the cursor is already positioned to perform the fix.

(fn ENABLE-FIX)
(defalias 'checkdoc-next-message-error #[257 "\211\203\301 \207\302`\302\211\3031=?\2059\304d!\211\262\2059\305\306\307\310`_d\"\"\210\301!\211\262\203`B\262\2020\202@\210b\210)\207" [checkdoc-autofix-flag checkdoc-message-text-engine nil (quit) checkdoc-message-text-next-string message "Searching for message string error...%d%%" floor 100.0] 9 (#$ . 19797)])
#@157 Enter recursive edit to permit a user to fix some error checkdoc has found.
MSG is the error that was found, which is displayed in a help buffer.

(fn MSG)
(defalias 'checkdoc-recursive-edit #[257 "r\306\307!q\210p\310 \210\311\211\312\211\312\313 \210\314\315!\210+\211\316\317\320\321E\"\210\322!\210)\266\323\324\307!!\210\325\326!\210\327\216\330 )\207" [default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only get-buffer-create "*Checkdoc Help*" kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook mapc princ "Error message:\n  " "\n\nEdit to fix this problem, and press C-M-c to continue." internal-temp-output-buffer-show shrink-window-if-larger-than-buffer get-buffer-window message "When you're done editing press C-M-c to continue." #[0 "\300\301!\205\302\300\301!!\210\303\301!\207" [get-buffer-window "*Checkdoc Help*" delete-window kill-buffer] 3] recursive-edit standard-output] 9 (#$ . 20520)])
#@222 Evaluate and check documentation for the current buffer.
Evaluation is done first because good documentation for something that
doesn't work is just not useful.  Comments, doc strings, and rogue
spacing are all verified.
(defalias 'checkdoc-eval-current-buffer #[0 "\300\301!\210\302\303!\207" [eval-buffer nil checkdoc-current-buffer t] 2 (#$ . 21535) nil])
#@245 Check current buffer for document, comment, error style, and rogue spaces.
With a prefix argument (in Lisp, the argument TAKE-NOTES),
store all errors found in a warnings buffer,
otherwise stop after the first error.

(fn &optional TAKE-NOTES)
(defalias 'checkdoc-current-buffer #[256 "\305\306!\203\n\307\310!\210\311>@\203\312\202	\206\n\211\203'\313\314!\210\2030\315 \206\\\316!\206\\\317 \206\\\320 \206\\\f\203I\321 \206\\\305\306!?\206\\\211\203Y\322 \206\\\307\323!+\207" [checkdoc-spellcheck-documentation-flag checkdoc-autofix-flag checkdoc-generate-compile-warnings-flag buffer-file-name checkdoc-package-keywords-flag called-interactively-p interactive message "Checking buffer for style..." (buffer t) never checkdoc-start-section "checkdoc-current-buffer" checkdoc-comments checkdoc-start checkdoc-message-text checkdoc-rogue-spaces checkdoc-package-keywords checkdoc-show-diagnostics "Checking buffer for style...Done."] 4 (#$ . 21901) "P"])
#@77 Check FILE for document, comment, error style, and rogue spaces.

(fn FILE)
(defalias 'checkdoc-file #[257 "r\301!q\210\302\303\304!*\207" [checkdoc-diagnostic-buffer find-file-noselect "*warn*" checkdoc-current-buffer t] 3 (#$ . 22890)])
#@308 Start scanning the current buffer for documentation string style errors.
Only documentation strings are checked.
Use `checkdoc-continue' to continue checking if an error cannot be fixed.
Prefix argument TAKE-NOTES means to collect all the warning messages into
a separate buffer.

(fn &optional TAKE-NOTES)
(defalias 'checkdoc-start #[256 "`eb\210\203\300\301!\203\302\303!\210\304!\210\211b\210\305\207" [called-interactively-p interactive checkdoc-start-section "checkdoc-start" checkdoc-continue nil] 4 (#$ . 23138) "P"])
#@210 Find the next doc string in the current buffer which has a style error.
Prefix argument TAKE-NOTES means to continue through the whole
buffer and save warnings in a separate buffer.

(fn &optional TAKE-NOTES)
(defalias 'checkdoc-continue #[256 "\303\211\304>@\203\305\202	\206\n\212\2040\306 \2030\307!\262\211\203`\262\202)\203Cb\210\204C\310\311\312!\"\210\313 \210\314\315!\205O\316\317!+\207" [checkdoc-spellcheck-documentation-flag checkdoc-autofix-flag checkdoc-generate-compile-warnings-flag nil (buffer t) never checkdoc-next-docstring checkdoc-this-string-valid user-error "%s" checkdoc-error-text checkdoc-show-diagnostics called-interactively-p interactive message "No style warnings."] 7 (#$ . 23676) "P"])
#@101 Move to the next doc string after point, and return t.
Return nil if there are no more doc strings.
(defalias 'checkdoc-next-docstring #[0 "\300\301 \211\262\204\302\303!\204\211\207" [nil checkdoc--next-docstring beginning-of-defun -1] 3 (#$ . 24431)])
#@205 When looking at a definition with a doc string, find it.
Move to the next doc string after point, and return t.  When not
looking at a definition containing a doc string, return nil and
don't move point.
(defalias 'checkdoc--next-docstring #[0 "\212\3001\3011\302p!00\2020\210\303\202\210\303)\211:\205P\211@\211\304>\205NA\211:\205L\211@\2119\205JA\211:\205H\305 \210\306\307!\210\310\303w\210\311\262\262\262\262\207" [(end-of-file) (invalid-read-syntax) read nil (cl-defmacro cl-defmethod cl-defgeneric cl-defun defadvice defsubst defconst defmacro defcustom defvar defun) down-list forward-sexp 3 " \n	" t] 7 (#$ . 24697)])
#@239 Find missing comment sections in the current Emacs Lisp file.
Prefix argument TAKE-NOTES non-nil means to save warnings in a
separate buffer.  Otherwise print a message.  This returns the error
if there is one.

(fn &optional TAKE-NOTES)
(defalias 'checkdoc-comments #[256 "\211\203\304\305!\210\204\306\307!\210	\310>@\211\203\311\202\n\312 \206&\211\2032\313\314\315!\"\210\316 \210+\211\207" [buffer-file-name checkdoc-spellcheck-documentation-flag checkdoc-autofix-flag checkdoc-generate-compile-warnings-flag checkdoc-start-section "checkdoc-comments" error "Can only check comments for a file buffer" (buffer t) never checkdoc-file-comments-engine user-error "%s" checkdoc-error-text checkdoc-show-diagnostics] 6 (#$ . 25351) "P"])
#@305 Find extra spaces at the end of lines in the current file.
Prefix argument TAKE-NOTES non-nil means to save warnings in a
separate buffer.  Otherwise print a message.  This returns the error
if there is one.
Optional argument INTERACT permits more interactive fixing.

(fn &optional TAKE-NOTES INTERACT)
(defalias 'checkdoc-rogue-spaces #[512 "\203\302\303!\210\203\304\202\305\306\211#\206	\307\310!\204'\211\202:\211\2034\311\312\313!\"\202:\314 \210\311\315!*\207" [checkdoc-autofix-flag checkdoc-generate-compile-warnings-flag checkdoc-start-section "checkdoc-rogue-spaces" never checkdoc-rogue-space-check-engine nil called-interactively-p interactive message "%s" checkdoc-error-text checkdoc-show-diagnostics "Space Check: done."] 7 (#$ . 26113) "P"])
#@161 Scan the buffer for occurrences of the error function, and verify text.
Optional argument TAKE-NOTES causes all errors to be logged.

(fn &optional TAKE-NOTES)
(defalias 'checkdoc-message-text #[256 "\211\203\302\303!\210`\304\203\305\202\206	\306 \262\307\310!\2035\211\2032\311\312\313!\"\210\2025\314 \210b\210*\266\307\310!\205D\315\316!\207" [checkdoc-autofix-flag checkdoc-generate-compile-warnings-flag checkdoc-start-section "checkdoc-message-text" nil never checkdoc-message-text-search called-interactively-p interactive user-error "%s" checkdoc-error-text checkdoc-show-diagnostics message "Checking interactive message text...done."] 7 (#$ . 26899) "P"])
#@283 Evaluate the current form with `eval-defun' and check its documentation.
Evaluation is done first so the form will be read before the
documentation is checked.  If there is a documentation error, then the display
of what was evaluated will be overwritten by the diagnostic message.
(defalias 'checkdoc-eval-defun #[0 "\300\301!\210\302 \207" [call-interactively eval-defun checkdoc-defun] 2 (#$ . 27594) nil])
#@318 Examine the doc string of the function or variable under point.
Call `error' if the doc string has problems.  If NO-ERROR is
non-nil, then do not call error, but call `message' instead.
If the doc string passes the test, then check the function for rogue white
space at the end of each line.

(fn &optional NO-ERROR)
(defalias 'checkdoc-defun #[256 "\212\301 \210\302 \205n\303>@\212\301 \210`)\212\304 \210`)\305\306\307\310\311\312\"\313\"\314$\306\307\310\311\312\"\315\"\314$E\211\203a\211@\211 \211\203Y\203R\316\317\320!\"\210\202Y\321\317\320!\"\210\210A\266\202\2028\210\322\323!\205k\316\324!)\266\202)\207" [checkdoc-spellcheck-documentation-flag beginning-of-defun checkdoc--next-docstring (defun t) end-of-defun checkdoc-this-string-valid make-byte-code 0 "\302\300\301\"\207" vconcat vector [checkdoc-message-text-search] 3 [checkdoc-rogue-space-check-engine] message "%s" checkdoc-error-text user-error called-interactively-p interactive "Checkdoc: done."] 12 (#$ . 28011) nil])
#@154 Check the style and spelling of everything interactively.
Calls `checkdoc' with spell-checking turned on.
Prefix argument is the same as for `checkdoc'.
(defalias 'checkdoc-ispell #[0 "\301\302\303!)\207" [checkdoc-spellcheck-documentation-flag t call-interactively checkdoc] 2 (#$ . 29032) nil])
#@178 Check the style and spelling of the current buffer.
Calls `checkdoc-current-buffer' with spell-checking turned on.
Prefix argument is the same as for `checkdoc-current-buffer'.
(defalias 'checkdoc-ispell-current-buffer #[0 "\301\302\303!)\207" [checkdoc-spellcheck-documentation-flag t call-interactively checkdoc-current-buffer] 2 (#$ . 29337) nil])
#@186 Check the style and spelling of the current buffer interactively.
Calls `checkdoc-interactive' with spell-checking turned on.
Prefix argument is the same as for `checkdoc-interactive'.
(defalias 'checkdoc-ispell-interactive #[0 "\301\302\303!)\207" [checkdoc-spellcheck-documentation-flag t call-interactively checkdoc-interactive] 2 (#$ . 29696) nil])
#@196 Check the style and spelling of message text interactively.
Calls `checkdoc-message-interactive' with spell-checking turned on.
Prefix argument is the same as for `checkdoc-message-interactive'.
(defalias 'checkdoc-ispell-message-interactive #[0 "\302\303\304\305	#)\207" [checkdoc-spellcheck-documentation-flag current-prefix-arg t call-interactively checkdoc-message-interactive nil] 4 (#$ . 30057) nil])
#@182 Check the style and spelling of message text interactively.
Calls `checkdoc-message-text' with spell-checking turned on.
Prefix argument is the same as for `checkdoc-message-text'.
(defalias 'checkdoc-ispell-message-text #[0 "\301\302\303!)\207" [checkdoc-spellcheck-documentation-flag t call-interactively checkdoc-message-text] 2 (#$ . 30472) nil])
#@160 Check the style and spelling of the current buffer.
Calls `checkdoc-start' with spell-checking turned on.
Prefix argument is the same as for `checkdoc-start'.
(defalias 'checkdoc-ispell-start #[0 "\301\302\303!)\207" [checkdoc-spellcheck-documentation-flag t call-interactively checkdoc-start] 2 (#$ . 30831) nil])
#@178 Check the style and spelling of the current buffer after point.
Calls `checkdoc-continue' with spell-checking turned on.
Prefix argument is the same as for `checkdoc-continue'.
(defalias 'checkdoc-ispell-continue #[0 "\301\302\303!)\207" [checkdoc-spellcheck-documentation-flag t call-interactively checkdoc-continue] 2 (#$ . 31154) nil])
#@177 Check the style and spelling of the current buffer's comments.
Calls `checkdoc-comments' with spell-checking turned on.
Prefix argument is the same as for `checkdoc-comments'.
(defalias 'checkdoc-ispell-comments #[0 "\301\302\303!)\207" [checkdoc-spellcheck-documentation-flag t call-interactively checkdoc-comments] 2 (#$ . 31501) nil])
#@171 Check the style and spelling of the current defun with Ispell.
Calls `checkdoc-defun' with spell-checking turned on.
Prefix argument is the same as for `checkdoc-defun'.
(defalias 'checkdoc-ispell-defun #[0 "\301\302\303!)\207" [checkdoc-spellcheck-documentation-flag t call-interactively checkdoc-defun] 2 (#$ . 31847) nil])
#@73 compiler-macro for inlining `checkdoc-error-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'checkdoc-error-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block checkdoc-error-p (and (memq (type-of cl-x) cl-struct-checkdoc-error-tags) t)) nil] 9 (#$ . 32180)])
(put 'checkdoc-error-p 'compiler-macro 'checkdoc-error-p--cmacro)
#@13 

(fn CL-X)
(defalias 'checkdoc-error-p #[257 "\301!>\205	\302\207" [cl-struct-checkdoc-error-tags type-of t] 3 (#$ . 32539)])
(byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put checkdoc-error-p side-effect-free error-free put checkdoc-error cl-deftype-satisfies] 5)
#@76 compiler-macro for inlining `checkdoc-error-text'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'checkdoc-error-text--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block checkdoc-error-text (progn (or (checkdoc-error-p cl-x) (signal 'wrong-type-argument (list 'checkdoc-error cl-x))) (aref cl-x 1))) nil] 9 (#$ . 32830)])
(put 'checkdoc-error-text 'compiler-macro 'checkdoc-error-text--cmacro)
#@64 Access slot "text" of `checkdoc-error' struct CL-X.

(fn CL-X)
(defalias 'checkdoc-error-text #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-checkdoc-error-tags type-of signal wrong-type-argument checkdoc-error 1] 5 (#$ . 33253)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put checkdoc-error-text side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" checkdoc-error-text] 5 "\n\n(fn CL-DO CL-X)"]] 5)
#@77 compiler-macro for inlining `checkdoc-error-start'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'checkdoc-error-start--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block checkdoc-error-start (progn (or (checkdoc-error-p cl-x) (signal 'wrong-type-argument (list 'checkdoc-error cl-x))) (aref cl-x 2))) nil] 9 (#$ . 33740)])
(put 'checkdoc-error-start 'compiler-macro 'checkdoc-error-start--cmacro)
#@65 Access slot "start" of `checkdoc-error' struct CL-X.

(fn CL-X)
(defalias 'checkdoc-error-start #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-checkdoc-error-tags type-of signal wrong-type-argument checkdoc-error 2] 5 (#$ . 34168)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put checkdoc-error-start side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" checkdoc-error-start] 5 "\n\n(fn CL-DO CL-X)"]] 5)
#@75 compiler-macro for inlining `checkdoc-error-end'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'checkdoc-error-end--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block checkdoc-error-end (progn (or (checkdoc-error-p cl-x) (signal 'wrong-type-argument (list 'checkdoc-error cl-x))) (aref cl-x 3))) nil] 9 (#$ . 34659)])
(put 'checkdoc-error-end 'compiler-macro 'checkdoc-error-end--cmacro)
#@63 Access slot "end" of `checkdoc-error' struct CL-X.

(fn CL-X)
(defalias 'checkdoc-error-end #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-checkdoc-error-tags type-of signal wrong-type-argument checkdoc-error 3] 5 (#$ . 35077)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put checkdoc-error-end side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" checkdoc-error-end] 5 "\n\n(fn CL-DO CL-X)"]] 5)
#@81 compiler-macro for inlining `checkdoc-error-unfixable'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'checkdoc-error-unfixable--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block checkdoc-error-unfixable (progn (or (checkdoc-error-p cl-x) (signal 'wrong-type-argument (list 'checkdoc-error cl-x))) (aref cl-x 4))) nil] 9 (#$ . 35560)])
(put 'checkdoc-error-unfixable 'compiler-macro 'checkdoc-error-unfixable--cmacro)
#@69 Access slot "unfixable" of `checkdoc-error' struct CL-X.

(fn CL-X)
(defalias 'checkdoc-error-unfixable #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-checkdoc-error-tags type-of signal wrong-type-argument checkdoc-error 4] 5 (#$ . 36008)])
(byte-code "\300\301\302\303#\300\301\304\305#\306\307\310\"\207" [function-put checkdoc-error-unfixable side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" checkdoc-error-unfixable] 5 "\n\n(fn CL-DO CL-X)"] defalias copy-checkdoc-error copy-sequence] 5)
#@109 compiler-macro for inlining `checkdoc--create-error'.

(fn CL-WHOLE-ARG TEXT START END &optional UNFIXABLE)
(defalias 'checkdoc--create-error--cmacro #[1284 "\300\301\302\303\211\211				&	\207" [cl--defsubst-expand (text start end unfixable) (cl-block checkdoc--create-error (record 'checkdoc-error text start end unfixable)) nil] 15 (#$ . 36569)])
(put 'checkdoc--create-error 'compiler-macro 'checkdoc--create-error--cmacro)
#@92 Constructor for objects of type `checkdoc-error'.

(fn TEXT START END &optional UNFIXABLE)
(defalias 'checkdoc--create-error #[1027 "\300\301%\207" [record checkdoc-error] 10 (#$ . 37006)])
(byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303&	\207" [function-put checkdoc--create-error side-effect-free t cl-struct-define checkdoc-error nil cl-structure-object record ((cl-tag-slot) (text nil :read-only t) (start nil :read-only t) (end nil :read-only t) (unfixable nil :read-only t)) cl-struct-checkdoc-error-tags] 11)
#@427 Function called when Checkdoc encounters an error.
Should accept as arguments (TEXT START END &optional UNFIXABLE).

TEXT is the descriptive text of the error.  START and END define the region
it is sensible to highlight when describing the problem.
Optional argument UNFIXABLE means that the error has no auto-fix available.

An object of type `checkdoc-error' is returned if we are not
generating a buffered list of errors.
(defvar checkdoc-create-error-function 'checkdoc--create-error-for-checkdoc (#$ . 37555))
#@193 Used to create the return error text returned from all engines.
TEXT, START, END and UNFIXABLE conform to
`checkdoc-create-error-function', which see.

(fn TEXT START END &optional UNFIXABLE)
(defalias 'checkdoc-create-error #[1027 "$\207" [checkdoc-create-error-function] 9 (#$ . 38078)])
#@159 Create an error for Checkdoc.
TEXT, START, END and UNFIXABLE conform to
`checkdoc-create-error-function', which see.

(fn TEXT START END &optional UNFIXABLE)
(defalias 'checkdoc--create-error-for-checkdoc #[1027 "\203\301\"\210\302\207\303\301%\207" [checkdoc-generate-compile-warnings-flag checkdoc-error nil record] 10 (#$ . 38380)])
#@77 Keymap used to override evaluation key-bindings for documentation checking.
(defvar checkdoc-minor-mode-map (byte-code "\300 \300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\301\314\305#\210\301\315\316#\210\301\317\320#\210\301\321\322#\210\301\323\324#\210\301\325\326#\210\301\327\330#\210\301\331\332#\210\301\333\307#\210\301\334\335#\210\301\336\337#\210\301\340\341#\210\301\342\343#\210\301\344\345#\210\301\346#\210\207" [make-sparse-keymap define-key "\230" checkdoc-eval-defun "`" checkdoc-continue [menu-bar emacs-lisp eval-buffer] checkdoc-eval-current-buffer "x" checkdoc-defun "X" checkdoc-ispell-defun "`" "~" checkdoc-ispell-continue "s" checkdoc-start "S" checkdoc-ispell-start "d" checkdoc "D" checkdoc-ispell "b" checkdoc-current-buffer "B" checkdoc-ispell-current-buffer "e" "m" checkdoc-message-text "M" checkdoc-ispell-message-text "c" checkdoc-comments "C" checkdoc-ispell-comments " " checkdoc-rogue-spaces "?"] 6) (#$ . 38731))
(easy-menu-do-define nil checkdoc-minor-mode-map "Checkdoc Minor Mode Menu" '("CheckDoc" ["Interactive Buffer Style Check" checkdoc t] ["Interactive Buffer Style and Spelling Check" checkdoc-ispell t] ["Check Buffer" checkdoc-current-buffer t] ["Check and Spell Buffer" checkdoc-ispell-current-buffer t] "---" ["Interactive Style Check" checkdoc-interactive t] ["Interactive Style and Spelling Check" checkdoc-ispell-interactive t] ["Find First Style Error" checkdoc-start t] ["Find First Style or Spelling  Error" checkdoc-ispell-start t] ["Next Style Error" checkdoc-continue t] ["Next Style or Spelling  Error" checkdoc-ispell-continue t] ["Interactive Message Text Style Check" checkdoc-message-interactive t] ["Interactive Message Text Style and Spelling Check" checkdoc-ispell-message-interactive t] ["Check Message Text" checkdoc-message-text t] ["Check and Spell Message Text" checkdoc-ispell-message-text t] ["Check Comment Style" checkdoc-comments buffer-file-name] ["Check Comment Style and Spelling" checkdoc-ispell-comments buffer-file-name] ["Check for Rogue Spaces" checkdoc-rogue-spaces t] "---" ["Check Defun" checkdoc-defun t] ["Check and Spell Defun" checkdoc-ispell-defun t] ["Check and Evaluate Defun" checkdoc-eval-defun t] ["Check and Evaluate Buffer" checkdoc-eval-current-buffer t]))
#@107 Non-nil if Checkdoc minor mode is enabled.
Use the command `checkdoc-minor-mode' to change this variable.
(defvar checkdoc-minor-mode nil (#$ . 41067))
(make-variable-buffer-local 'checkdoc-minor-mode)
#@579 Toggle automatic docstring checking (Checkdoc minor mode).

If called interactively, enable Checkdoc minor mode if ARG is
positive, and disable it if ARG is zero or negative.  If called from
Lisp, also enable the mode if ARG is omitted or nil, and toggle it if
ARG is `toggle'; disable the mode otherwise.

In Checkdoc minor mode, the usual bindings for `eval-defun' which is
bound to \<checkdoc-minor-mode-map>\[checkdoc-eval-defun] and `checkdoc-eval-current-buffer' are overridden to include
checking of documentation strings.

\{checkdoc-minor-mode-map}

(fn &optional ARG)
(defalias 'checkdoc-minor-mode #[256 "\301 \302=\203
?\202\303!\304V\305\306\203\307\202\310\"\210\311\312!\203B\301 \2032\211\301 \232\203B\313\314\315\203=\316\202>\317#\266\210\320 \210\207" [checkdoc-minor-mode current-message toggle prefix-numeric-value 0 run-hooks checkdoc-minor-mode-hook checkdoc-minor-mode-on-hook checkdoc-minor-mode-off-hook called-interactively-p any " in current buffer" message "Checkdoc minor mode %sabled%s" "en" "dis" force-mode-line-update] 7 (#$ . 41276) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)])
(defvar checkdoc-minor-mode-hook nil)
(byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\311\211%\207" [checkdoc-minor-mode-map checkdoc-minor-mode-hook variable-documentation put "Hook run after entering or leaving `checkdoc-minor-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" add-minor-mode checkdoc-minor-mode checkdoc-minor-mode-string boundp nil] 6)
#@58 Run hooks in HOOKVAR with ARGS.

(fn HOOKVAR &rest ARGS)
(defalias 'checkdoc-run-hooks #[385 "\300\301!\203\f\302\301#\207\302\303#\207" [fboundp run-hook-with-args-until-success apply run-hook-with-args] 6 (#$ . 42906)])
(put 'checkdoc-run-hooks 'byte-optimizer 'byte-compile-inline-expand)
#@57 Rebuild the contents of `checkdoc-common-verbs-regexp'.
(defalias 'checkdoc-create-common-verbs-regexp #[0 "\206\302\303\304	\305#\306Q\211\207" [checkdoc-common-verbs-regexp checkdoc-common-verbs-wrong-voice "\\<\\(" mapconcat #[257 "\211@\260\207" [] 2 "\n\n(fn E)"] "\\|" "\\)\\>"] 5 (#$ . 43209)])
(put 'checkdoc-create-common-verbs-regexp 'byte-optimizer 'byte-compile-inline-expand)
#@469 Return a message string if the current doc string is invalid.
Check for style only, such as the first line always being a complete
sentence, whitespace restrictions, and making sure there are no
hard-coded key-codes such as C-[char] or mouse-[number] in the comment.
See the style guide in the Emacs Lisp manual for more details.

With a non-nil TAKE-NOTES, store all errors found in a warnings
buffer, otherwise stop after the first error.

(fn &optional TAKE-NOTES)
(defalias 'checkdoc-this-string-valid #[256 "\304\305!\203\306y\210\307 \210\310\311w\210\202\312 \311A@?\205\345\3138\204'\205\345g\314=?\205\345\311\315\3161K\317\320!\210\317\306!\210\321\311w\210\304	!\211\2620\202O\210\202P\210\211\203\321\n\322=\204`\323\324!\203\310\212\325c\210`\304	!\203\237\304	!\203x\326\306!\210\202k\304\327!\203\204\330\224\330\225|\210\306y\210\307 \210\331\311w\210\304	!\203e\307 \210\332\306\333\"\210\202e\307 \210\320u\210\325c\210\320u\210\334\325\335#\203\271\336c\210\202\253\n\322=\205\302\337\211\262)\202\342\340\341`\342 #\202\342\340\3138\203\334\343\202\335\344``T\335$)\262\262\211\204g\314U\203\345 p\346\330\347\350\351\"\352\"\313$\216\353!\210\354\")\266\202\202\211\207" [checkdoc-force-docstrings-flag comment-start checkdoc-autofix-flag checkdoc-syntax-table looking-at "[ 	\n]*;" 1 beginning-of-line " \n	" nil checkdoc-defun-info 2 34 ";" (error) forward-sexp -1 "\n 	" automatic-then-never checkdoc-y-or-n-p "Convert comment to documentation? " "\"" delete-char "[ 	]+" 0 " 	" zap-to-char 59 search-backward t "\\" never checkdoc-create-error "You should convert this comment to documentation" line-end-position "All interactive functions should have documentation" "All variables and subroutines might as well have a documentation string" syntax-table make-byte-code "r\301q\210\302\300!)\207" vconcat vector [set-syntax-table] set-syntax-table checkdoc-this-string-valid-engine] 12 (#$ . 43610)])
#@348 Return an error list or string if the current doc string is invalid.
Depends on `checkdoc-this-string-valid' to reset the syntax table so that
regexp short cuts work.  FP is the function defun information.

With a non-nil TAKE-NOTES, store all errors found in a warnings
buffer, otherwise stop after the first error.

(fn FP &optional TAKE-NOTES)
(defalias 'checkdoc-this-string-valid-engine #[513 "\306`g\307U\203\212\310\311!\210\312 )\202`\212\311y\210\313 \210`W\205<\314\315!\205<\316\311\224\311\225\317\320$?\205<\321\322\311\224\311\225#)\206\216\212\323\324\325#\205^\316\326\224\326\225\327\330!\331$?\205^\321\332\326\224\326\225#)\206\216\306\211\314\333!\203v\311\224\262\311\225\211\262\204\223\212\310\311!\210\334u\210\335\306x\326U?\205\217`\262S\211\262)\205\242\316\317\320$?\205\242\321\336#\266\202\206\216\212\306\210\335\306x\210`V\203\270\211b\210\334u\210g\307=\203\351h\337=\204\351\334u\210\314\340!?\205\210\311u\210\316``T\341\342\325%?\205\210\321\343``T#\202\210\314\344!\203\363\306\202\210	\203g\345U\203\306\202\210\346`\313 \210\323\347\325#\203J\316\326\224T\326\225\350\351\325%\203v\306\211\352\210i\262\212\352\210i)\262\353\311#\354V\203;\355\262\202E\356\311!\210\357c\210\306\262\266\202v\306\210\354iZ`\311y\210\313 \210\323\360\361 \325#\203tiW\203t\316\211T\362\357\325%\203t\306\262\266\205\206\321\212b\210\361 )#\266\202)\206\216\212\363\306w\210\314\364!\205\256\316\326\224\326\225\365\366\326!\226\325%?\205\256\321\367\326\224\326\225#)\206\216\212\306\211`\370\204\322\323\325#\211\262\203\322\371\"?\262\202\267\205\343\321\372\366\311!\373Q\311\224\311\225\325$\266\204)\206\216\212\323\374\325\nT$\205\323\375\325#?\205\321\376\377!#)\206\216\212\325\306\211\211\323\201C\325#\203\225\204\225\366\311!\201D!\311\224\262\311\225\262\211\203\220\201E!\203\220\201F!\203\220\212b\210\201G\334!\210\314\201H!)\204\220\316\201I\325%\203\206\201J\201K\201L\306\325\306\211\201M&Sb\210\211\357\261\210\201G\311!\266\202\220\201N\201O\"\262\266\202\205\236\321#)\266\204)\206\216\212`\306`W\203\324\306\210`\262i\354W\204\316\313 \210\323\201P\325#\204\316\371\"\203\324\311y\210\202\250\306\210`W\205\361i\354V\205\361\321\201Q\212b\210\361 )#\266\202)\206\216A@\325=\203D\314\201R!\203\"\316\311\224\311\225\201S\201T$\204\"\321\201U\311\224\311\225#\206\216\201V\201W@\"\203g\314\201X!\204g\321\201Y\377!\325$\202d\201Z\233\326\311\201[8\205[\201[8@\201\\\201]\201[8\"\306\203\360\203\360V\203\360@\235\204\213\201V\201^@\"\203\225A\262\325\262\202i\262\212\323\201_@\226\201`Q\325#)\262\204\345\325\212\323\201a@\201bQ\325#)\203\344\316\311\224\311\225\327\201c\n@@\226#	@\226\325%\203\344\311\224\262)\203iA\262\202i\204^\201d\201N\201e@\226\"!\203G\212b\210\334u\210\351\203\201f\202\201g\201h@\226\357\261\210\201i\201j!c\210\212\334u\210\314\201k!)\204B\201lc\210)\306\202\205\321\327\201m@	@\226#	\377\n!#\202\205\203j\201n=\204s?\205\205\205\205W\205\205\321\201o	\377\n!\325$\266\206\206\216\f\203D\212
\204\247\201a\201p\201q@\201r#\201sQ\212\306\210h\337=\203\267\361\352!\202\270`)\306\211\211\325\204*\323
\325#\203*\201t\311\224\311\225\"\262\201u\227@\"\262\204\352\201v\201w!\210\306\201x\306\325A\201V#)\266\203\203\n\201yA!\202\fA)\262\316\311\224\311\225\201N\201z#\325%\203\276\306\262\202\276\205=\321\201N\201{#\311\224\311\225#)\266\204)\206\216\314\201|!\203g\316\311\224\311\225\201}\201~$\204g\321\201\311\224\311\225#\206\216\212\306`\306\211\204\323\201\200\325#\203\366\311!\262\201\201\306\325A\201V#)\266\203\203\240\201\202\326GS#\262\371\"\204l\201\203\"\204l\211B\235\204l\201D!\211\262\203l\201E!\204\324\201F!\203l\327\201\204\"\262\316\311\224\311\224G\\\201N\201\205\"\325%\203\371\306\262\202l\327\201\206\"\262\202l\205\321\311\224\311\224G\\#\266\204)\206\216\212\323\201\207\325#\205D\316\311\224\311\225\201N\201\210\366\352!\"\366\352!\325%?\205D\321\201\211\311\224\311\225#)\206\216\201\212`\"\206\216\201\213`\"\206\216\201\214\"\206\216\212\201\215D\201F\201\216!\203\202\201\217\201\216#\266\202\202\215\201\217\201\220#\266\202))\207" [case-fold-search checkdoc-permit-comma-termination-flag checkdoc-max-keyref-before-warn checkdoc-arguments-in-order-flag checkdoc-verb-check-experimental-flag checkdoc-common-verbs-regexp nil 34 forward-sexp 1 point-marker beginning-of-line looking-at "\\([ 	]+\\)[^ 	\n]" checkdoc-autofix-ask-replace "Remove this whitespace? " "" checkdoc-create-error "Second line should not have indentation" re-search-forward "^(" t 0 format-message "Escape this `('? " "\\(" "Open parenthesis in column 0 should be escaped" "\"\\([ 	\n]+\\)" -1 " 	\n" "Documentation strings should not start or end with whitespace" 92 "[.!?]" "Add period to sentence? " ".\"" "First sentence should end with punctuation" "[\\!?;:.)]" 44 "First line is not a complete sentence" "\\. +" "First line not a complete sentence.  Add RET here? " "\n" 2 + 80 "Incomplete auto-fix; doc string may require more formatting" delete-char " " "[.!?:\"]\\([ 	\n]+\\|\"\\)" line-end-position "1st line not a complete sentence.  Join these lines? " "\"*" "[a-z]" "Capitalize your sentence? " match-string "First line should be capitalized" "[^`‘A-Za-z0-9_]\\([CMA]-[a-zA-Z]\\|\\(\\([CMA]-\\)?mouse-[0-3]\\)\\)\\>" checkdoc-in-sample-code-p "Keycode " " embedded in doc string.  Use \\\\<keymap> & \\\\[function] instead" "\\\\\\\\\\[\\w+" "\\\\\\\\{\\w+}" "Too many occurrences of \\[function].  Use \\{keymap} instead" marker-position checkdoc-common-verbs-wrong-voice inhibit-changing-match-data checkdoc-symbol-words "[`‘]\\(\\sw\\(\\sw\\|\\s_\\)+\\)['’]" intern-soft boundp fboundp forward-word-strictly "variable\\|option\\|function\\|command\\|symbol" "Prefix this ambiguous symbol? " completing-read "Disambiguating Keyword (default variable): " (("function") ("command") ("variable") ("option") ("symbol")) "variable" format "Disambiguate %s by preceding w/ function,command,variable,option or symbol." "\\\\\\\\[[<{]" "Some lines are over 80 columns wide" "\"\\*?\\(True\\)\\b" "Say \"Non-nil\" instead of \"True\"? " "Non-nil" "\"True\" should usually be \"Non-nil\"" string-match "-flag$" "\"\\*?Non-nil\\s-+means\\s-+" "Flag variable doc strings should usually start: Non-nil means" 4 3 append ("&optional" "&rest" "&key" "&aux" "&context" "&environment" "&whole" "&body" "&allow-other-keys") "\\`_" "\\<" "\\(\\>\\|th\\>\\|s\\>\\|[.,;:]\\)" "\\<\\(" "\\)\\(\\>\\|th\\>\\|s\\>\\)" "If this is the argument `%s', it should appear as %s.  Fix? " checkdoc-y-or-n-p "Add %s documentation to end of doc string? " "Optional a" "A" "rgument " read-string "Describe: " "[.?!]" "." "Argument `%s' should appear (as %s) in the doc string" yes "Arguments occur in the doc string out of order" mapconcat #[257 "\211@\260\207" [] 2 "\n\n(fn E)"] "\\|" "\\)\\>" buffer-substring-no-properties assoc error "Verb voice alist corrupted" "^[A-Z]" capitalize "Use the imperative for \"%s\".  Replace with \"%s\"? " "Probably \"%s\" should be imperative \"%s\"" "\"Return \\(true\\)\\b" "Say \"non-nil\" instead of \"true\"? " "non-nil" "\"true\" should usually be \"non-nil\"" "[^-([`'‘’:a-zA-Z]\\(\\w+[:-]\\(\\w\\|\\s_\\)+\\)[^]('’]" "\\.$" substring checkdoc-in-example-string-p "Add quotes around Lisp symbol `%s'? " "`%s'" "Lisp symbol `%s' should appear in quotes" "\\([`‘]\\(t\\|nil\\)['’]\\)" "%s should not appear in quotes.  Remove? " "Symbols t and nil should not appear in single quotes" checkdoc-sentencespace-region-engine checkdoc-proper-noun-region-engine checkdoc-ispell-docstring-engine checkdoc-style-functions run-hook-with-args-until-success apply run-hook-with-args] 19 (#$ . 45594)])
#@631 Return a list of details about the current sexp.
It is a list of the form:
   (NAME VARIABLE INTERACTIVE NODOCPARAMS PARAMETERS ...)
where NAME is the name, VARIABLE is t if this is a `defvar',
INTERACTIVE is nil if this is not an interactive function, otherwise
it is the position of the `interactive' call, and PARAMETERS is a
string which is the name of each variable in the function's argument
list.  The NODOCPARAMS is a sublist of parameters specified by a checkdoc
comment for a given defun.  If the first element is not a string, then
the token checkdoc-order: <TOKEN> exists, and TOKEN is a symbol read
from the comment.
(defalias 'checkdoc-defun-info #[0 "\212\301 \210\302\303!\302\304!\305\211\306\307\310\"\311u\210\312\311!\210\313\305w\210\314`\312\311!\210`\"C\262\2042\315B\262\202\305B\262\212\316\317\212\320 \210`)\315#B\262)\321\305w\210`\212\312\311!\210`){\212\305\316\322\212\320 \210`)\315#\203y\302\323!\203o\324\202v\302\325!\205v\326C\262\316\327\212\320 \210`)\315#\203\317\305\310\225b\210\3301\231\331p!\211\2620\202\236\210\305\211\262\210<\204\250C\262\203\265@9\204\265\305\262\203\311\332@!B\262A\262\202\265\333\"\266\202\211\262B\262)\331!\262)\210<\204\346\305\262\204\203\332\334@!@!B\262A\262\202\352\237\266\205)\207" [obarray beginning-of-defun looking-at "(\\(?:cl-\\)?def\\(un\\|macro\\|subst\\|advice\\|generic\\|method\\)" "(defadvice" nil make-vector 3 0 1 forward-sexp " \n	" buffer-substring-no-properties t re-search-forward "^\\s-*(interactive" end-of-defun " 	\n" ";\\s-+checkdoc-order:\\s-+" "nil" no "t" yes ";\\s-+checkdoc-params:\\s-+" (error) read symbol-name append flatten-tree] 11 (#$ . 53679)])
#@351 Return non-nil if the current point is in a code fragment.
A code fragment is identified by an open parenthesis followed by a
symbol which is a valid function or a word in all CAPS, or a parenthesis
that is quoted with the \=' character.  Only the region from START to LIMIT
is allowed while searching for the bounding parenthesis.

(fn START LIMIT)
(defalias 'checkdoc-in-sample-code-p #[514 "\301 \302\303\304\305\306!\307\"\310$\216\214}\210\212\3111!\312\313!\210\3140\202&\210\315\202m\205m\31616\317\320!\210\3140\202;\210\315\202m\205m\212\320u\210\321\322!)\206m\321\323!\205m\324\313\224\313\225\"\325\326!!\206k\315\327\330\")\206k\327\331\"\262+\207" [case-fold-search match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 (error) up-list 1 t nil (error) forward-list -1 looking-at "'(" "(\\(\\(\\w\\|[-:_]\\)+\\)[ 	\n;]" buffer-substring-no-properties fboundp intern-soft string-match "^[A-Z-]+$" "\\w[-:_]+\\w"] 9 (#$ . 55406)])
#@196 Return non-nil if the current point is in an "example string".
This string is identified by the characters \" surrounding the text.
The text checked is between START and LIMIT.

(fn START LIMIT)
(defalias 'checkdoc-in-example-string-p #[514 "\300 \301\302\303\304\305!\306\"\307$\216\212`\302b\210`W\203)\310\311\312#\203)\211T\262\202\302W\2054\211\313\246\302U\266\202*\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 re-search-forward "\\\\\"" t 2] 9 (#$ . 56414)])
#@318 Check all text between BEGIN and END for lower case proper nouns.
These are Emacs centric proper nouns which should be capitalized for
consistency.  Return an error list if any are not fixed, but
internally skip over no answers.
If the offending word is in a piece of quoted text, then it is skipped.

(fn BEGIN END)
(defalias 'checkdoc-proper-noun-region-engine #[514 "\212\306\211\211\211\307 p\310\311\312\313\314\"\315\"\316$\216\317	!\210b\210\320\n\321#\203\246\322\323!\323\224\323\225\212b\210\324u\210\325\326!)\204\241\211f\327U\203R\206K`Sf\327U\204\241\330\"\204\241\331!\204\241\331\f!\204\241\332\333\334\"\335!\321%\204\241\203\221
\203\241\336\333\337\335!##\210\202\241\333\337\335!#\262\262\211\262\266\202!)\266\205\262\336#)\266\204)\207" [case-fold-search checkdoc-syntax-table checkdoc-proper-noun-regexp help-xref-info-regexp help-xref-url-regexp checkdoc-generate-compile-warnings-flag nil syntax-table make-byte-code 0 "r\301q\210\302\300!)\207" vconcat vector [set-syntax-table] 2 set-syntax-table re-search-forward t match-string 1 -1 looking-at "[`\".‘]\\|\\\\" 47 checkdoc-in-example-string-p thing-at-point-looking-at checkdoc-autofix-ask-replace format "Text %s should be capitalized.  Fix? " capitalize checkdoc-create-error "Name %s should appear capitalized as %s"] 17 (#$ . 56952)])
#@83 Make sure all sentences have double spaces between BEGIN and END.

(fn BEGIN END)
(defalias 'checkdoc-sentencespace-region-engine #[514 "\205\226\212\304\211\211\211\305 p\306\307\310\311\312\"\313\"\314$\216\315\n!\210b\210\316\317\320#\203\206\321\224\321\225\322\n\n\"\204\201\323\n\n\"\204\201\212b\210\3241W\325\326!\210\327\330!0\202Y\210\320)\204\201\331\332\333$\204\201\203x\203\201\334\335#\210\202\201\335\262\262\211\262\266\202%)\266\205\222\334#)\266\204)\207" [sentence-end-double-space case-fold-search checkdoc-syntax-table checkdoc-generate-compile-warnings-flag nil syntax-table make-byte-code 0 "r\301q\210\302\300!)\207" vconcat vector [set-syntax-table] 2 set-syntax-table re-search-forward "[^ .0-9]\\(\\. \\)[^ \n]" t 1 checkdoc-in-sample-code-p checkdoc-in-example-string-p (error) forward-sexp -1 looking-at "\\([a-zA-Z]\\|[iI]\\.?e\\|[eE]\\.?g\\|[cC]f\\)\\." checkdoc-autofix-ask-replace "There should be two spaces after a period.  Fix? " ".  " checkdoc-create-error "There should be two spaces after a period"] 15 (#$ . 58335)])
#@205 Initialize Ispell process (default version) with Lisp words.
The words used are from `checkdoc-ispell-lisp-words'.  If `ispell'
cannot be loaded, then set `checkdoc-spellcheck-documentation-flag' to
nil.
(defalias 'checkdoc-ispell-init #[0 "\303\304!\210?\2051\3051-\306 \210\307 \210	\211\205)\211@\310\311\312Q\"\210A\266\202\202\2620\207\210\313\211\207" [ispell-process checkdoc-ispell-lisp-words checkdoc-spellcheck-documentation-flag require ispell (error) ispell-set-spellchecker-params ispell-accept-buffer-local-defs process-send-string "@" "\n" nil] 7 (#$ . 59446)])
#@309 Run the Ispell tools on the doc string between point and END.
Since Ispell isn't Lisp-smart, we must pre-process the doc string
before using the Ispell engine on it.

With a non-nil TAKE-NOTES, store all errors found in a warnings
buffer, otherwise stop after the first error.

(fn END &optional TAKE-NOTES)
(defalias 'checkdoc-ispell-docstring-engine #[513 "\205\265\211\204	\205\265	\304=?\205\265\305 \210\204\306\307!\210\212\310\311w\210\311\211\211\211\211\211\204\260`W\203\260\212\312u\210\313\314!)\203H\315\316!\210\202\251`\262\317\311w\210`\262\320\"\262\321!\262\203n\322!\204\251\323!\204\251\324\325\"\204\251\313\326!\204\251\212\203\224\327 \204\231\330\331!#\210\202\231\332\311\333\"\210\232\204\247\334\335!\210\336\337!\210\210)\310\311w\210\202+)\266\206)\207" [checkdoc-spellcheck-documentation-flag checkdoc-autofix-flag case-fold-search last-input-event never checkdoc-ispell-init user-error "No spellchecker installed: check the variable `ispell-program-name'" "^a-zA-Z" nil -1 looking-at "[('`]" forward-sexp 1 "a-zA-Z-" buffer-substring-no-properties intern-soft boundp fboundp string-match "^[A-Z][A-Z]+\\(s\\|th\\)?$" "}" ispell-correct-p checkdoc-create-error ispell-error-checking-word ispell-word t sit-for 0 message "Continuing..."] 13 (#$ . 60041)])
#@330 Return a message list if there is a line with white space at the end.
If `checkdoc-autofix-flag' permits, delete that whitespace instead.
If optional arguments START and END are non-nil, bound the check to
this region.
Optional argument INTERACT may permit the user to fix problems on the fly.

(fn &optional START END INTERACT)
(defalias 'checkdoc-rogue-space-check-engine #[768 "`\300\211\211\211\204
e\262b\210\204H\301\302\303#\203H\304\262\305\224\262\305\225\262\303\262\203\306\307P!\203\310!\210\300\262b\210\311 \210\202b\210\204r\301\312\303#\203r\313\314\224\314\225\315\316$\204L\317\262\314\224\262\314\225\262\202L\203\320$\202\203b\210\300\207" [nil re-search-forward "\\?\\\\?[ 	][ 	]*$" t "Don't use `? ' at the end of a line. News agents may remove it" 0 y-or-n-p ". Fix? " checkdoc-recursive-edit beginning-of-line "[^ 	\n;]\\([ 	]+\\)$" checkdoc-autofix-ask-replace 1 "White space at end of line.  Remove? " "" "White space found at end of line" checkdoc-create-error] 13 (#$ . 61384)])
#@185 Return a message list if this file does not match the Emacs standard.
This checks for style only, such as the first line, Commentary:,
Code:, and others referenced in the style guide.
(defalias 'checkdoc-file-comments-engine #[0 "\212\302\303 !\304!\305G\"\306eb\210\307 ?\2058\310\311!\203-eb\210\312\313\314\315!\316\261\2028\317\320e\212eb\210\321 )#\262\322 \204\234eb\210\323\324\306\325#\203S\323\326\306\325#\210\202\210\323\327\306\325#\204s\323\330\306\325#\204s\323\331\306\325#\204s\323\332\306\325#\203y\333 \210\202\210\323\334\306\325#\204\210\317\335\306\211\325$\210\310\336!\203\223\337c\202\231\317\340\306\211\325$\206\235\211\262\203\373\341\342!\204\373\341\343!\204\373\344 \204\373\322 \206\272eb\210\323\324\306\325#\203\315\323\326\306\325#\210\202\350\323\330\306\325#\204\345\323\331\306\325#\204\345\323\332\306\325#\203\350\333 \210\310\345!\203\363\346c\202\370\317\347`\306#\206\374\211\262\350 \204G\325\306eb\210\351\352!\210\203)\323\353\354	!\355Q\306\325#\203)\356\224\262\357\360!\262\202\f\204=\310\361!\203=\211b\210\362c\210\306\202B\317\363`\306#\266\202\206H\211\262\212db\210\364\365\354!\366\354!\367\354	!\366\354\n!\370\260	\306\325#?\205\214\310\371!\203\200db\210\372\373\374\261\202\214\317\375\376\211$dSd#)\206\221\211\262\322 \211\203\271\212\211b\210\377\201@ !\201A`\"\210\201B`\"\210\201C!\266)\210\201D\306\201E\201F!\203\326\201G\201F#\266\202\202\341\201G\201H#\266\202\206\345\211\262\266\203)\207" [checkdoc-force-history-flag generate-autoload-cookie file-name-nondirectory buffer-file-name file-name-sans-extension substring nil lm-summary checkdoc-y-or-n-p "There is no first line summary!  Add one? " ";;; " " --- " read-string "Summary: " "\n" checkdoc-create-error "The first line should be of the form: \";;; package --- Summary\"" line-end-position lm-commentary-mark re-search-forward "write\\s-+to\\s-+the\\s-+Free Software Foundation, Inc." t "^;;\\s-*\n\\|^\n" "^;;; History" "^;;; Code" "^(require" "^(" beginning-of-line ";;; .* --- .*\n" "You should have a summary line (\";;; .* --- .*\")" "You should have a \";;; Commentary:\", add one? " "\n;;; Commentary:\n;; \n\n" "You should have a section marked \";;; Commentary:\"" file-exists-p "ChangeLog" "../ChangeLog" lm-history-mark "You should have a \";;; History:\", add one? " "\n;;; History:\n;; \n\n" "You should have a section marked \";;; History:\" or use a ChangeLog" lm-code-mark require autoload "^\\(" regexp-quote "\n\\)?(" 0 looking-at "require\\s-+" "There is no ;;; Code: marker.  Insert one? " ";;; Code:\n\n" "You should have a section marked \";;; Code:\"" re-search-backward "^;;;[ 	]+" "\\(" "\\)?[ 	]+ends here[ 	]*$\\|^;;;[ 	]+ End of file[ 	]+" "\\)?" "No identifiable footer!  Add one? " "\n(provide '" ")\n\n;;; " " ends here\n" format "The footer should be: (provide '%s)\\n;;; %s%s ends here" copy-marker lm-commentary-end checkdoc-sentencespace-region-engine checkdoc-proper-noun-region-engine checkdoc-ispell-docstring-engine checkdoc-comment-style-functions fboundp run-hook-with-args-until-success apply run-hook-with-args] 14 (#$ . 62445)])
#@58 Return t if point is outside the bounds of a valid sexp.
(defalias 'checkdoc-outside-major-sexp #[0 "\300 \301\302\303\304\305!\306\"\307$\216\212`\310 \210o\206\311 \210`W\262*\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 beginning-of-defun end-of-defun] 7 (#$ . 65643)])
#@200 Search between BEG and END for a style error with message text.
Optional arguments BEG and END represent the boundary of the check.
The default boundary is the entire buffer.

(fn &optional BEG END)
(defalias 'checkdoc-message-text-search #[512 "\300\211\204\204e\262d\262b\210\301!\211\262\203$\302!\262\202\207" [nil checkdoc-message-text-next-string checkdoc-message-text-engine] 6 (#$ . 65982)])
#@157 Move cursor to the next checkable message string after point.
Return the message classification.
Argument END is the maximum bounds to search in.

(fn END)
(defalias 'checkdoc-message-text-next-string #[257 "\300\211\204M\301\302\303#\203M\304\305!\306\307\"\203\310\202\311\306\312\"\203+\313\314!\210\315\300w\210\211\311=\203;\316\317!\203;\320\225b\210\315\300w\210\316\321!\203H\211\262\266\202\211\207" [nil re-search-forward "(\\s-*\\(\\(\\w\\|\\s_\\)*error\\|\\(\\w\\|\\s_\\)*y-or-n-p\\(-with-timeout\\)?\\|checkdoc-autofix-ask-replace\\)[ 	\n]+" t match-string 1 string-match "error" error y-or-n-p "checkdoc-autofix-ask-replace" forward-sexp 2 " 	\n" looking-at "(format[ 	\n]+" 0 "\""] 7 (#$ . 66406)])
#@366 Return or fix errors found in strings passed to a message display function.
According to the documentation for the function `error', the error list
should not end with a period, and should start with a capital letter.
The function `y-or-n-p' has similar constraints.
Argument TYPE specifies the type of question, such as `error' or `y-or-n-p'.

(fn &optional TYPE)
(defalias 'checkdoc-message-text-engine #[256 "\211\204!\212\301\302!\210\303\304!\203\301\302!\210\303\305!\203\306\202\307\262)\310\212\311u\210\303\312!)\203H\313\314\224\314\225\315\316\317\314!!\320%\204H\321\322\314\224\314\225#\206 \323`\212\324\311!\210`)\"\206 \325`\212\324\311!\210`)\"\206 \211\306=\203\215\212\324\311!\210\326u\210\303\327!)\203\215\313\314\224\314\225\330\331\320%\204\215\321\332\314\224\314\225#\206 \211\307=\203\212\324\311!\210\333u\210\303\334!)\204\212\324\311!\210\326u\210\303\335!)\203\311\313\314\224\314\225\336\337!\340\320%\204\321\341\314\224\314\225#\202\212\324\311!\210\326u\210\303\342!)\203\360\313\314\224\314\225\336\337!\340\320%\204\321\341\314\224\314\225#\202\212\324\311!\210\302u\210\303\343!)\203
\313\314\224\314\225\336\337!\344\320%\204\321\341\314\224\314\225#\206 \345\212\324\311!\210`)!)\207" [case-fold-search up-list -1 looking-at "(format" "(error" error y-or-n-p nil 1 "[a-z]\\w+" checkdoc-autofix-ask-replace 0 "Capitalize your message text? " capitalize match-string t checkdoc-create-error "Messages should start with a capital letter" checkdoc-sentencespace-region-engine forward-sexp checkdoc-proper-noun-region-engine -2 "\\." "Remove period from error? " "" "Error messages should *not* end with a period" -3 "\\? " "\\?" format-message "`y-or-n-p' argument should end with \"? \".  Fix? " "? " "`y-or-n-p' argument should end with \"? \"" " " "\"" "? \"" checkdoc-ispell-docstring-engine] 8 (#$ . 67144)])
#@134 Like `y-or-n-p', but pays attention to `checkdoc-autofix-flag'.
Argument QUESTION is the prompt passed to `y-or-n-p'.

(fn QUESTION)
(defalias 'checkdoc-y-or-n-p #[257 "?\206\301=?\205\302!\303=\203\301\207" [checkdoc-autofix-flag never y-or-n-p automatic-then-never] 4 (#$ . 69037)])
#@632 Highlight between START and END and queries the user with QUESTION.
If the user says yes, or if `checkdoc-autofix-flag' permits, replace
the region marked by START and END with REPLACEWITH.  If optional flag
COMPLEX is non-nil, then we may ask the user a question.  See the
documentation for `checkdoc-autofix-flag' for details.

If a section is auto-replaced without asking the user, this function
will pause near the fixed code so the user will briefly see what
happened.

This function returns non-nil if the text was replaced.

This function will not modify `match-data'.

(fn START END QUESTION REPLACEWITH &optional COMPLEX)
(defalias 'checkdoc-autofix-ask-replace #[1284 "\205\206\302=?\205\206\303\"\304\305 \306\307\310\311\312\"\313\"\314$\216\315\316\317#\210\320=\204N\321=\204N\322=\203=\203N\323=\204G\203r\324!\203r\212b\210	\203]\325\326\"\210|\210c\210	\203n\327\307!\210\330\262)\331!\210\332!\210)\321=\203\203\302\266\203\207" [checkdoc-autofix-flag checkdoc-bouncy-flag never make-overlay nil match-data make-byte-code 0 "\302\300!\210\303\301!\207" vconcat vector [delete-overlay set-match-data] 2 overlay-put face highlight automatic automatic-then-never semiautomatic query y-or-n-p message "%s -> done" sit-for t delete-overlay set-match-data] 15 (#$ . 69340)])
#@58 Keywords used to highlight a checkdoc diagnostic buffer.
(defvar checkdoc-output-font-lock-keywords '(("^\\*\\*\\* \\(.+\\.el\\): \\([^ \n]+\\)" (1 font-lock-function-name-face) (2 font-lock-comment-face))) (#$ . 70677))
(defvar checkdoc-output-error-regex-alist '(("^\\(.+\\.el\\):\\([0-9]+\\): " 1 2)))
#@65 Non-nil when there are errors that have not been displayed yet.
(defvar checkdoc-pending-errors nil (#$ . 70988))
(defvar checkdoc-output-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [checkdoc-output-mode-hook variable-documentation put "Hook run after entering Checkdoc mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp checkdoc-output-mode-map definition-name checkdoc-output-mode] 4)
(defvar checkdoc-output-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [checkdoc-output-mode-abbrev-table checkdoc-output-mode-map variable-documentation put purecopy "Keymap for `checkdoc-output-mode'." boundp checkdoc-output-mode-syntax-table definition-name checkdoc-output-mode (lambda (#1=#:def-tmp-var) (defvar checkdoc-output-mode-syntax-table #1#)) make-syntax-table "Syntax table for `checkdoc-output-mode'." (lambda (#1#) (defvar checkdoc-output-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `checkdoc-output-mode'." derived-mode-parent compilation-mode] 5)
#@284 Set up the major mode for the buffer containing the list of errors.

In addition to any hooks its parent mode `compilation-mode' might have run,
this mode runs the hook `checkdoc-output-mode-hook', as the final or penultimate step
during initialization.

\{checkdoc-output-mode-map}
(defalias 'checkdoc-output-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
=\204R\326
\325C#\210\327!\210\330\f!\210
\306\331!\210\306\332!\210)\333\334!\207" [delay-mode-hooks major-mode mode-name checkdoc-output-mode-map checkdoc-output-mode-syntax-table checkdoc-output-mode-abbrev-table make-local-variable t compilation-mode checkdoc-output-mode "Checkdoc" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table compilation-error-regexp-alist compilation-mode-font-lock-keywords run-mode-hooks checkdoc-output-mode-hook local-abbrev-table checkdoc-output-error-regex-alist checkdoc-output-font-lock-keywords] 5 (#$ . 72382) nil])
#@58 The name to use for a checkdoc buffer in the error list.
(defalias 'checkdoc-buffer-label #[0 "\300 \203\n\301\300 !\207\302\303 \304Q\207" [buffer-file-name file-relative-name "#<buffer " buffer-name ">"] 3 (#$ . 73621)])
#@180 Initialize the checkdoc diagnostic buffer for a pass.
Create the header so that the string CHECK-TYPE is displayed as the
function called to create the messages.

(fn CHECK-TYPE)
(defalias 'checkdoc-start-section #[257 "\304 r\305	!q\210\306 \210db\210\307\310\311\312\261*\207" [default-directory checkdoc-diagnostic-buffer inhibit-read-only checkdoc-version checkdoc-buffer-label get-buffer-create checkdoc-output-mode t "\n\n\f\n*** " ": " " V "] 9 (#$ . 73852)])
#@82 Store POINT and MSG as errors in the checkdoc diagnostic buffer.

(fn POINT MSG)
(defalias 'checkdoc-error #[514 "\303\304\305 \306\307\310e\206e\"!\311\257	\312\230\203$\313\314\315\"!\2029r\316	!q\210\303d\211b\210\314\317\")\266\202)\207" [checkdoc-pending-errors checkdoc-diagnostic-buffer inhibit-read-only t "\n" checkdoc-buffer-label ":" int-to-string count-lines ": " "*warn*" warn apply concat get-buffer insert] 9 (#$ . 74333)])
#@63 Display the checkdoc diagnostic buffer in a temporary window.
(defalias 'checkdoc-show-diagnostics #[0 "\205B\302	!\211\205\303!\211\203=\304!r\305\306\307\310\311!\312\"\313$\216\314@\315\"\210db\210\316\317\320\321#\210\322 \210\323y\210\324\306!\210*\210\320\211\266\202\207" [checkdoc-pending-errors checkdoc-diagnostic-buffer get-buffer display-buffer internal--before-with-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord re-search-backward "\f" nil t beginning-of-line 1 recenter] 10 (#$ . 74791)])
#@57 Return a list of package keywords for the current file.
(defalias 'checkdoc-get-keywords #[0 "\212eb\210\300\301\302\303#\205\304\305\306!\307\303#)\207" [re-search-forward "^;; Keywords: \\(.*\\)$" nil t split-string match-string-no-properties 1 ", "] 4 (#$ . 75392)])
#@63 Find package keywords that aren't in `finder-known-keywords'.
(defalias 'checkdoc-package-keywords #[0 "\302\303!\210\304\305\306 \"\211\2034\307\310\212eb\210\311\312\313\310#\210\314\315!\210\316\317\320\321\322#P\323\224\323\225#\210)\324 *\202=\325\326!\205=\327\330!\207" [checkdoc-autofix-flag checkdoc-generate-compile-warnings-flag require finder cl-remove-if #[257 "\301\302!\"\207" [finder-known-keywords assoc intern-soft] 4 "\n\n(fn X)"] checkdoc-get-keywords never t re-search-forward "^;; Keywords: \\(.*\\)$" nil checkdoc-start-section "checkdoc-package-keywords" checkdoc-create-error "Unrecognized keywords: " mapconcat identity ", " 1 checkdoc-show-diagnostics called-interactively-p any message "No Package Keyword Errors."] 7 (#$ . 75670) nil])
(byte-code "\300\301\302\"\210\303\304!\207" [custom-add-option emacs-lisp-mode-hook checkdoc-minor-mode provide checkdoc] 3)

Zerion Mini Shell 1.0