;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; with all optimizations.



(byte-code "\300\301!\210\300\302!\210\300\303!\207" [require radix-tree lisp-mnt generate-lisp-file] 2)#@277 If non-nil, autoload will add code to register the prefixes used in a file.
Standard prefixes won't be registered anyway.  I.e. if a file
"foo.el" defines variables or functions that use "foo-" as
prefix, that will not be registered.  But all other prefixes will
be included.
(defvar autoload-compute-prefixes t (#$ . 189))
(put 'autoload-compute-prefixes 'safe-local-variable 'booleanp)#@73 File local variable to prevent scanning this file for autoload cookies.
(defvar no-update-autoloads nil (#$ . 582))#@164 List of strings naming definitions to ignore for prefixes.
More specifically those definitions will not be considered for the
`register-definition-prefixes' call.
(defvar autoload-ignored-definitions '("define-obsolete-function-alias" "define-obsolete-variable-alias" "define-category" "define-key" "define-key-after" "define-keymap" "defgroup" "defface" "defadvice" "def-edebug-spec" "define-widget" "define-erc-module" "define-erc-response-handler" "defun-rcirc-command" "define-short-documentation-group" "def-edebug-elem-spec" "defvar-mode-local" "defcustom-mode-local-semantic-dependency-system-include-path" "define-ibuffer-column" "define-ibuffer-sorter") (#$ . 704))#@481 File into which to write autoload definitions.
A Lisp file can set this in its local variables section to make
its autoloads go somewhere else.

If this is a relative file name, the directory is determined as
follows:
 - If a Lisp file defined `generated-autoload-file' as a
   file-local variable, use its containing directory.
 - Otherwise use the "lisp" subdirectory of `source-directory'.

The autoload file is assumed to contain a trailer starting with a
FormFeed character.
(defvar generated-autoload-file nil (#$ . 1385))
(put 'generated-autoload-file 'safe-local-variable 'stringp)#@270 Load name for `autoload' statements generated from autoload cookies.
If nil, this defaults to the file name, sans extension.
Typically, you need to set this when the directory containing the file
is not in `load-path'.
This also affects the generated cus-load.el file.
(defvar generated-autoload-load-name nil (#$ . 1981))
(put 'generated-autoload-load-name 'safe-local-variable 'stringp)#@249 Compute the name that will be used to load FILE.
OUTFILE should be the name of the global loaddefs.el file, which
is expected to be at the root directory of the files we are
scanning for autoloads and will be in the `load-path'.

(fn FILE OUTFILE)
(defalias 'loaddefs-generate--file-load-name #[514 "\300\301!\"\302\301!\303!\204Y \203( \304!\262\305!B\262\301!\262\202 \204Y A\2048 @\262\202( \306\307\310\"!\203O \307\211A\262\242\"\262\202( \311\312\313#\262\202( \314\315\"\203f \316\211\224O\207\207" [file-relative-name file-name-directory nil file-name-absolute-p directory-file-name file-name-nondirectory file-exists-p expand-file-name "subdirs.el" mapconcat identity "/" string-match "\\.elc?\\(\\.\\|\\'\\)" 0] 9 (#$ . 2376)])#@66 Remove optional nil elements from an `autoload' form.

(fn FORM)
(defalias 'loaddefs-generate--shorten-autoload #[257 "\300G\301\302!\303\304#Z\305]\"\207" [take seq-position reverse nil #[514 "=?\207" [] 4 "\n\n(fn E1 E2)"] 3] 7 (#$ . 3146)])#@343 Turn FORM into an autoload or defvar for source file FILE.
Returns nil if FORM is not a special autoload form (i.e. a function definition
or macro definition or a defcustom).
If EXPANSION is non-nil, we're processing the macro expansion of an
expression, in which case we want to handle forms differently.

(fn FORM FILE &optional EXPANSION)
(defalias 'loaddefs-generate--make-autoload #[770 "C\211\242\242\302\203\215\303=\203\215\242\243\211\243\211\242\243\304:\203}\242\211\305\267\202m\243\211:\203\354 \211\242\211:\203\333 \211\242\211\306=\203\311 \243\211:\203\267 \211\242\211\307=\203\245 \243\211\204\223 \243\211:\203\201 \211\242\243\211\204o \310%\207\302\262\302\f%\207\302\262\302\n%\207\302\n\262\302	%\207\302	\262\302\f%\207\302\262\302%\207\302\262\302\n%\207\302\262\302	%\207\302\262\302\f%\207\243\211:\203]\211\242\211:\203L\211\242\211\307=\203:\243\243\211\204(\310%\207\302	\262\302\f%\207\302\262\302\n%\207\302\262\302	%\207\302\262\302\f%\207\302\262\302%\207\302\262\302\n%\207\203\305\311>\203\305\312\242>\211\203\255\313\242!\240\210\312\242>\302\241\210\314\302\315\316\317	#\242A\"\"\211\205\304\320B\207\321>\203\356\322!\203\356\211\323\242!*\211\262\203\356\211@\324>\203\356\325\326#\207\327\267\202N\330>\242A@\331\267\202\332\2428\202\333\202\302\202\310\334\335\"\206\336\242\233\211@;\205)\211A\262\242<\2034\337\"\262\340\341<\203?\202C\306D\f\342>\203Q\310\202k@\242\343=\205k@A\203j\306@AD\202k\310\n\205q\344\257!\207\242A@\332\2428\345\2428\346\306D\306D\n\257\207\242\243\242\345\242\233\347\350\"\242\243\243\242\242\243\243\243\242\320\351\235\204\263\242\202\271\352F\353\306D\3541\316\347	\355\"?0\202\320\210\302F\347\356\"\211\205\343\357\306\nD\360FC\262BBB\207\242\243\242\336\242\233\357\306D\361\362BF\207\242A@\363\347\242\364\"\310\"\365\366\367\306D\370BBDC\371\372\306D\373BB\302\357\306D\374\375\306D\376BBF\205H\357\306D\377\375\306\fD\367\306D\201@ BBEFCBBBBE\207\203[\242:\203[\242\207\266\302\207" [load-file-name load-true-file-name nil defalias #[1285 "\242\300>\205\n A@\301:\203W \242\211\302=\203E \243\211:\2033 \211\242\243\n&\207\303\211\n&\207\303\211\n\n\n	&\207\303\211			&\207" ['function #[1542 "\211\242;\203 \211@\202 \242;\205 @\300:\205\200 \242\211:\203[ \211\242\211\301=\2032 \243!\262\202V \243\211:\205T \211\242\211:\205R \211\242\211\301=\205P \243!\262\262\262\262\262\202~ \243\211:\205| \211\242\211:\205z \211\242\211\301=\205x \243!\262\262\262\262\262\262:\203\215 \302\"\262\303\304	\242A@	\n\257!\207" [#[257 "\211A\203\n \300AD\207\301\207" [quote t] 3 "\n\n(fn IARGS)"] interactive help-add-fundoc-usage loaddefs-generate--shorten-autoload autoload] 16 "\n\n(fn FORM FILE REST TYPE ARGS BODY)"] lambda t] 18 "\n\n(fn FORM FILE REST FUN TYPE)"] #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (cons 39 quote 252)) quote macro t (progn prog1) :autoload-end copy-sequence delq mapcar make-closure #[257 "\302\301\300#\207" [V0 V1 loaddefs-generate--make-autoload] 5 "\n\n(fn FORM)"] progn (easy-mmode-define-global-mode define-global-minor-mode define-globalized-minor-mode defun defmacro easy-mmode-define-minor-mode define-minor-mode define-inline cl-defun cl-defmacro cl-defgeneric cl-defstruct pcase-defmacro iter-defun cl-iter-defun transient-define-prefix) macrop macroexpand (progn prog1 defalias) loaddefs-generate--make-autoload expansion #s(hash-table size 18 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (define-skeleton 500 define-derived-mode 500 define-compilation-mode 500 define-generic-mode 500 easy-mmode-define-global-mode 500 define-global-minor-mode 500 define-globalized-minor-mode 500 easy-mmode-define-minor-mode 500 define-minor-mode 500 cl-defun 500 defun* 500 cl-defmacro 500 defmacro* 500 define-overloadable-function 500 defclass 629 defcustom 654 deftheme 745 defgroup 763)) (defmacro cl-defmacro defmacro*) #s(hash-table size 11 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (define-overloadable-function 513 cl-defmacro 513 cl-defun 513 defmacro* 513 defun* 513 defmacro 513 defun 513 define-skeleton 520 define-compilation-mode 524 define-derived-mode 524 define-generic-mode 524)) 2 (&optional str arg) function-get doc-string-elt 3 help-add-fundoc-usage loaddefs-generate--shorten-autoload autoload (define-skeleton define-derived-mode define-generic-mode easy-mmode-define-global-mode define-global-minor-mode define-globalized-minor-mode easy-mmode-define-minor-mode define-minor-mode) interactive 'macro 4 eieio-defclass-autoload plist-get :initialize (nil 'custom-initialize-default #'custom-initialize-default 'custom-initialize-reset #'custom-initialize-reset) defvar custom-autoload (error) :set :safe put 'safe-local-variable 'theme-properties list eval :group let loads get ('custom-loads) if member (loads) 'custom-loads cons (loads) 'custom-loads ('custom-loads)] 29 (#$ . 3401)])#@18 

(fn DEFS FILE)
(defalias 'loaddefs-generate--make-prefixes #[514 "\211\203 \211@\301\302#\262A\266\202\202 \210\211\262\303C\304\305\306\"\"\210\211\242\303\240\210\211\203l \211@\211@\211G\307V\203? \211\310\230\203N \311\312\"\204N \313A\314\"\203Y \242B\240\266\202e \304A\305\315#\"\266A\266\202\202* \210\211\242\205\211 \316\305\317\"\242\"\320\321\322\323\303\"\324\"DE\262\207" [radix-tree-empty radix-tree-insert t nil radix-tree-iter-subtrees make-closure #[514 "\300B\300\242B\240\207" [V0] 5 "\n\n(fn PREFIX SUBTREE)"] 2 "def" string-match ".[[:punct:]]\\'" radix-tree-lookup "" #[514 "\301\300PB\301\242B\240\207" [V0 V1] 5 "\n\n(fn PREFIX SUBTREE)"] mapcar #[257 "\211@\211G\301V\204 \211G\301=\203 \302\303\"\203 \207\304C\305A\306\307#\"\210\310\311\300\242$\210\304\207" [V0 2 string-match "[[:punct:]]" nil radix-tree-iter-mappings make-closure #[514 "\300\301P\300\242B\240\207" [V0 V1] 5 "\n\n(fn S _)"] message "%s:0: Warning: Not registering prefix \"%s\".  Affects: %S"] 9 "\n\n(fn X)"] register-definition-prefixes quote sort delq string<] 13 (#$ . 8750)])#@443 Examining FILE for ;;;###autoload statements.
MAIN-OUTFILE is the main loaddefs file these statements are
destined for, but this can be overridden by the buffer-local
setting of `generated-autoload-file' in FILE, and
by ;;;###foo-autoload statements.

If PACKAGE-DATA is `only', return only the package data.  If t,
include the package data with the rest of the data.  Otherwise,
don't include.

(fn FILE MAIN-OUTFILE &optional PACKAGE-DATA)
(defalias 'loaddefs-generate--parse-file #[770 "\302\303\"\304\302\211\305\306\304\"r\211q\210\307\310\"\216\311	!\210db\210\312\313d\314Z\304#\203i \212\315\316\302\304#\203; \317\320p!\321!\"\262)\212\315\322\302\304#\203J \320p!\262)\212\315\323\302\304#\203Y \320p!\262)\212\315\324\302\304#\203h \320p!\262)\204t \325 \210\202\276 \326\327!\302\203\274 \3301\207 \331!0\202\211 \210\302\211\262\203\274 \326\332!\206\233 \333\334\f!!\211\262\203\274 \206\247 	\335\336\337\340!BDD\341BBEC\262\266\204\222\342=\204\222eb\210\315\302\304#\203w\204\355 \343 \307\344\"\216\345 )\262\3468\262\204\314 \347\350!\211\203 \317\351P\321\f!\"\202\206l\203X\320p!n\204\352y\210\353	\"\206\211\211@\354=\203)\211A\202+\211C\211\203S\211A\262\242\211@\354=\203E\211A\244\266\202\202+E\fB\262\f\210\202+\266\202\314 \355\356\304\"\262\203e\352u\210\211`\357 {EB\262\266\202\314 	\203\222\203\222\360!\211\203\221\nEB\262\210*\210\207" [lisp-mode-autoload-regexp autoload-compute-prefixes nil loaddefs-generate--file-load-name t generate-new-buffer " *temp*" make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] insert-file-contents search-backward ";; Local Variables:" 1000 re-search-forward "generated-autoload-file: *" expand-file-name read file-name-directory "generated-autoload-load-name: *" "no-update-autoloads: *" "autoload-compute-prefixes: *" emacs-lisp-mode lm-header "version" (error) version-to-list "package" file-name-sans-extension file-name-nondirectory push purecopy quote intern (package--builtin-versions) only match-data #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] syntax-ppss 3 match-string 2 "-loaddefs.el" 1 loaddefs-generate--make-autoload progn " [	 ]" looking-at line-end-position loaddefs-generate--compute-prefixes] 18 (#$ . 9884)])#@18 

(fn LOAD-NAME)
(defalias 'loaddefs-generate--compute-prefixes #[257 "eb\210\301\302\303\301\304#\2034 \305\306!\235\204 \307\310!\212\311\224b\210o\206' \312y\210\313\314!?)\2030 \211B\262\210\202 \315\"\207" [autoload-ignored-definitions nil re-search-forward "^(\\(def[^ 	\n]+\\)[ 	\n]+['(]*\\([^' ()\"\n]+\\)[\n 	]" t match-string 1 match-string-no-properties 2 0 -1 looking-at ";;;###autoload" loaddefs-generate--make-prefixes] 6 (#$ . 12213)])#@491 Return a string giving the appropriate autoload rubric for FILE.
TYPE (default "autoloads") is a string stating the type of
information contained in FILE.  TYPE "package" acts like the default,
but adds an extra line to the output to modify `load-path'.

If FEATURE is non-nil, FILE will provide a feature.  FEATURE may
be a string naming the feature, otherwise it will be based on
FILE's name.

If COMPILE, don't include a "don't compile" cookie.

(fn FILE &optional TYPE FEATURE COMPILE)
(defalias 'loaddefs-generate--rubric #[1025 "\300\232\205\n \301\211\262\302\303\304\"r\211q\210\305\306\"\216\307\310\311\312	\206# \301P\313\314\315\"\205. \316&\210\2038 \317c\210\320c\210\321\322;\205G \323\324\304\325\f?&	\210\326 *\207" ["package" "autoloads" generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] generate-lisp-file-heading loaddefs-generate :title "automatically extracted " :commentary string-match "/lisp/loaddefs\\.el\\'" "This file will be copied to ldefs-boot.el and checked in periodically." "(add-to-list 'load-path (directory-file-name\n                         (or (file-name-directory #$) (car load-path))))\n\n" "\f\n;;; End of scraped data\n\n" generate-lisp-file-trailer :provide :compile :inhibit-native-compile :inhibit-provide buffer-string] 16 (#$ . 12677)])#@1087 Generate loaddefs files for Lisp files in one or more directories given by DIR.
DIR can be either a single directory or a list of directories.

The autoloads will be written to OUTPUT-FILE.  If any Lisp file
binds `generated-autoload-file' as a file-local variable, write
its autoloads into the specified file instead.

The function does NOT recursively descend into subdirectories of the
directories specified by DIR.

Optional argument EXCLUDED-FILES, if non-nil, should be a list of
files, such as preloaded files, whose autoloads should not be written
to OUTPUT-FILE.

If EXTRA-DATA is non-nil, it should be a string; include that string
at the beginning of the generated file.  This will also force the
generation of OUTPUT-FILE even if there are no autoloads to put into
that file.

If INCLUDE-PACKAGE-VERSION is non-nil, include package version data.

If GENERATE-FULL is non-nil, regenerate all the loaddefs files anew,
instead of just updating them with the new/changed autoloads.

(fn DIR OUTPUT-FILE &optional EXCLUDED-FILES EXTRA-DATA INCLUDE-PACKAGE-VERSION GENERATE-FULL)
(defalias 'loaddefs-generate #[1538 "\300\301 \211\203 \211@\302\303\"\204 \211B\262A\266\202\202 \210\304\305\306\"\307Q\262\310\311\312\313\314\"\n:\2038 \n\202; \nC\"\"\315!\205F ?\300\312\313\316\f\"	\"\262\317\320\321!\322G\300\323%\324\n!\3258\262\322\211\203\314 \211@T\211\262\300\247\203\200 @Y\205\205 \326#\266\203\232 \327\324!\3258\262\"\203\305 \330\"\235\205\260 \211\203\257 \331\202\260 \306\211\204\270 \204\303 \332#\244\262\266A\266\202\202g \210\333!\266\334\335\"\211\203\313\211@\211@\300\336\337\306\"r\211q\210\313\340\"\216\203\376 \315!\203\376 \341!\210\202\342\300\306$c\210\343\344!\210\203c\210\345\346!\210\347 \262\350\334\351A\"\352\"\211\203\244\211@\211A\262\353@A@\354!\"\355\356Q\315!\203jeb\210\357\300\306#\204[db\210\343\360\300\306#\210\202j\322\224\357\361!\205e\322\224|\210\362y\210\211c\210\363!\211\203\233\211@\211AA@\262\211;\203\211\364p\"\210\202\215\365!\210n\204\224\366c\210A\266\202\202p\266A\266\202\202%\210\347 \232\204\301\367ed\300\370%\210\320\353\371!@\"\306\372#\210*\266A\266\202\202\326 \210\205\315	!?\205\336\337\306\"r\211q\210\313\373\"\216\342\n\300\306#c\210\343\344!\210c\210\345\346!\210\367ed\f\300\370%*\262\207" [nil get-load-suffixes string-match "\\.\\(elc\\|so\\|dll\\)" "\\`[^=.].*" regexp-opt t "\\'" apply nconc mapcar make-closure #[257 "\301\302!\303\300#\207" [V0 directory-files expand-file-name t] 5 "\n\n(fn D)"] file-exists-p #[257 "\301\300\"\207" [V0 expand-file-name] 4 "\n\n(fn FILE)"] make-progress-reporter byte-compile-info "Scraping files for loaddefs" 0 10 file-attributes 5 progress-reporter-do-update time-less-p expand-file-name only loaddefs-generate--parse-file progress-reporter-done seq-group-by #[257 "\300@!\207" [expand-file-name] 3 "\n\n(fn X)"] generate-new-buffer " *temp*" #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] insert-file-contents loaddefs-generate--rubric search-backward "\f" ensure-empty-lines 1 buffer-hash sort cadr #[514 "\300\301@!!\300\301@!!\231\207" [file-name-sans-extension file-name-nondirectory] 6 "\n\n(fn E1 E2)"] file-relative-name file-name-directory "\n\f\n;;; Generated autoloads from " "\n\n" search-forward "\f\n" "\n\f\n;;" -2 reverse princ loaddefs-generate--print-form "\n" write-region silent ensure-list "GEN" #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2]] 24 (#$ . 14051)])#@71 Print DEF in a format that makes sense for version control.

(fn DEF)
(defalias 'loaddefs-generate--print-form #[257 "\211:\203 \211@9\203 \211@\300>\204 \3018;\204 \302p\303#\207\304c\210\305\211\301W\203@ \306\302\211A\262\242p\307#\210\310c\266\211T\262\202# \210`\302\211A\262\242p\303#\210\212\211Tb\210\311c)\266\211\203l \310c\210\302\211A\262\242p\312#\210\202W \313c\207" [(make-obsolete define-obsolete-function-alias) 3 prin1 t "(" 0 nil (t (escape-newlines . t) (escape-control-characters . t)) " " "\\\n" (t (escape-newlines . t) (escape-control-characters . t)) ")"] 7 (#$ . 17639)])
(defalias 'loaddefs-generate--excluded-files #[0 "\302!\303\211\304\305\306\"r\211q\210\307\310\"\216\311\312!\210\313\314\303\306#\203C \315\316!\262\317\320\"\2042 \321\322\"\262\317\323\"\204 \324!B\262\202 *\210\324\325!)B\207" [lisp-directory default-directory file-name-directory nil generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] insert-file-contents "loadup.el" re-search-forward "^(load \"\\([^\"]+\\)\"" match-string 1 string-match "\\.el\\'" format "%s.el" "\\`site-" expand-file-name "ldefs-boot.el"] 8])#@225 Generate loaddefs.el files in batch mode.
This scans for ;;;###autoload forms and related things.

The first element on the command line should be the (main)
loaddefs.el output file, and the rest are the directories to
use.
(defalias 'loaddefs-generate-batch #[0 "\301\302A\303@!\"\207" [command-line-args-left nil loaddefs-generate expand-file-name] 5 (#$ . 18855)])#@154 Generate the loaddefs for the Emacs build.
This is like `loaddefs-generate-batch', but has some specific
rules for built-in packages and excluded files.
(defalias 'loaddefs-generate--emacs-batch #[0 "\303\304	\"\305\306\307 \305\310\311\303\312	\"\"&\266\313\306\303\314	\"\303\315	\"\")\207" [command-line-args-left lisp-directory lisp-mode-autoload-regexp expand-file-name "loaddefs.el" nil loaddefs-generate loaddefs-generate--excluded-files t file-newer-than-file-p "emacs-lisp/loaddefs-gen.el" "^;;;###\\(\\(noexist\\)-\\)?\\(theme-autoload\\)" "../etc/themes/" "theme-loaddefs.el"] 12 (#$ . 19233)])
(provide 'loaddefs-gen)
