%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
;ELC ;;; Compiled ;;; in Emacs version 25.2.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\314\315\306\301&\210\310\316\317\320\314\315\306\301&\210\310\321\322\323\314\324\306\301&\210\310\325\326\327\314\315\306\301&\210\310\330\331\332\314\315\306\301&\210\310\333\334\335\314\315\306\301&\207" [custom-declare-group lisp-mnt nil "Utility functions for Emacs Lisp maintainers." :prefix "lm-" :group maint custom-declare-variable lm-header-prefix "^;+[ ]+\\(@(#)\\)?[ ]*\\$?" "Prefix that is ignored before the tag.\nFor example, you can write the 1st line synopsis string and headers like this\nin your Lisp package:\n\n ;; @(#) package.el -- package description\n ;;\n ;; @(#) $Maintainer: Person Foo Bar $\n\nThe @(#) construct is used by unix what(1) and\nthen $identifier: doc string $ is used by GNU ident(1)" :type regexp lm-copyright-prefix "^\\(;+[ ]\\)+Copyright (C) " "Prefix that is ignored before the dates in a copyright.\nLeading comment characters and whitespace should be in regexp group 1." lm-comment-column 16 "Column used for placing formatted output." integer lm-any-header ".*" "Regexp which matches start of any section." lm-commentary-header "Commentary\\|Documentation" "Regexp which matches start of documentation section." lm-history-header "Change ?Log\\|History" "Regexp which matches the start of code log section."] 8) #@122 Return regexp for matching HEADER. If called with optional MODE and with value `section', return section regexp instead. (defalias 'lm-get-header-re #[(header &optional mode) "\303=\203 \304 \305Q\207\n\306 \307R\207" [mode header lm-header-prefix section "^;;;;* \\(" "\\):[ ]*$" "\\(" "\\)[ ]*:[ ]*"] 4 (#$ . 1757)]) #@51 Return package name by looking at the first line. (defalias 'lm-get-package-name #[nil "\212eb\210\301\260!\205 \302\225b\210\301\303!\210\304\225\205 \305\304!)\207" [lm-header-prefix looking-at 0 "\\([^ ]+\\)" 1 match-string-no-properties] 2 (#$ . 2087)]) #@222 Return the buffer location of a given section start marker. The HEADER is the section mark string to search for. If AFTER is non-nil, return the location of the next line. If the given section does not exist, return nil. (defalias 'lm-section-start #[(header &optional after) "\212\303eb\210\304\305 \306\"\307\303#\205 \310\n\205 \311!*\207" [case-fold-search header after t re-search-forward lm-get-header-re section nil line-beginning-position 2] 4 (#$ . 2357)]) (defalias 'lm-section-mark 'lm-section-start) #@380 Return the buffer location of the end of a given section. The HEADER is the section string marking the beginning of the section. If the given section does not exist, return nil. The section ends before the first non-comment text or the next section of the same level or lower; whatever comes first. The function `lisp-outline-level' is used to compute the level of a section. (defalias 'lm-section-end #[(header) "\306\307!\210\310!\211\205W \212 b\210\311 \312\313\314\315!\210\316\317 \320\"\313\312#\211\2034 \212\314 \210\311 )\fV\204 \n\203J \314\321!\210\322\323!\204F \314\315!\210`\202K d b\210\324\325!\204N `^,)\207" [header start next-section-found case-fold-search level lm-any-header require outline lm-section-start lisp-outline-level t nil beginning-of-line 2 re-search-forward lm-get-header-re section 0 looking-at "\f" forward-comment 1] 5 (#$ . 2879)]) #@56 Return the buffer location of the `Code' start marker. (defalias 'lm-code-start #[nil "\300\301!\207" [lm-section-start "Code"] 2 (#$ . 3766)]) (byte-code "\300\301\302\303#\210\304\305\301\"\207" [put lm-code-start byte-optimizer byte-compile-inline-expand defalias lm-code-mark] 4) #@62 Return the buffer location of the `Commentary' start marker. (defalias 'lm-commentary-start #[nil "\301!\207" [lm-commentary-header lm-section-start] 2 (#$ . 4056)]) (byte-code "\300\301\302\303#\210\304\305\301\"\207" [put lm-commentary-start byte-optimizer byte-compile-inline-expand defalias lm-commentary-mark] 4) #@61 Return the buffer location of the `Commentary' section end. (defalias 'lm-commentary-end #[nil "\301!\207" [lm-commentary-header lm-section-end] 2 (#$ . 4381)]) (put 'lm-commentary-end 'byte-optimizer 'byte-compile-inline-expand) #@59 Return the buffer location of the `History' start marker. (defalias 'lm-history-start #[nil "\301!\207" [lm-history-header lm-section-start] 2 (#$ . 4618)]) (byte-code "\300\301\302\303#\210\304\305\301\"\207" [put lm-history-start byte-optimizer byte-compile-inline-expand defalias lm-history-mark] 4) #@53 Return the buffer location of the `Copyright' line. (defalias 'lm-copyright-mark #[nil "\212\302eb\210\303 \304\302#\205 `*\207" [case-fold-search lm-copyright-prefix t re-search-forward nil] 4 (#$ . 4928)]) (put 'lm-copyright-mark 'byte-optimizer 'byte-compile-inline-expand) #@49 Return the contents of the header named HEADER. (defalias 'lm-header #[(header) "eb\210\302\303\304 !\305 \302#\205+ \306\212\307\310\224x\210`\310\224U)\203# \311\202$ \312!\205+ \313\310!)\207" [case-fold-search header t re-search-forward lm-get-header-re lm-code-mark looking-at "^$" 0 "[^\n]+" "[^$\n]+" match-string-no-properties] 4 (#$ . 5213)]) #@129 Return the contents of the header named HEADER, with continuation lines. The returned value is a list of strings, one per line. (defalias 'lm-header-multiline #[(header) "\212eb\210\302!\211\203$ C\303y\210\304\305!\203$ \306\307! B\303y\210\202 \237*\207" [header res lm-header 1 looking-at "^;+\\( \\|[ ]\\{2,\\}\\)\\(.+\\)" match-string-no-properties 2] 3 (#$ . 5573)]) #@111 Execute BODY in a buffer containing the contents of FILE. If FILE is nil, execute BODY in the current buffer. (defalias 'lm-with-file '(macro . #[(file &rest body) "\303\304!\305 DC\306\307\310D\311\nBBB\312\313\314\315\316\317\nBBFDFE)\207" [filesym file body make-symbol "file" let if with-temp-buffer insert-file-contents (emacs-lisp-mode) save-excursion save-restriction (widen) (goto-char (point-min)) with-syntax-table emacs-lisp-mode-syntax-table] 12 (#$ . 5961)])) (byte-code "\300\301\302\303#\210\304\301\305\306#\207" [function-put lm-with-file lisp-indent-function 1 put edebug-form-spec t] 4) #@162 Return the copyright holder, and a list of copyright years. Use the current buffer if FILE is nil. Return argument is of the form ("HOLDER" "YEAR1" ... "YEARN") (defalias 'lm-crack-copyright #[(&optional file) "\211\203\276 \306\307!r\nq\210\310\216\311 !\210\312 \210\212\313eb\210\314\f\315\313#\205&