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



(byte-code "\300\301!\210\300\302!\210\300\303!\207" [require semantic eieio-base srecode] 2)#@47 Find the base template directory for SRecode.
(defalias 'srecode-map-base-template-dir #[0 "\301\302\"\207" [data-directory expand-file-name "srecode"] 3 (#$ . 177)])#@47 The current map for global SRecode templates.
(defvar srecode-current-map nil (#$ . 350))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\312\313\314\315!\"\210\312\316\317\315!\"\210\312\320\316\"\210\321\320\322\323#\210\324\315\325\316#\326\315\327\330\331$\207" [custom-declare-variable srecode-map-save-file funcall function #[0 "\300\301\302\"\207" [locate-user-emacs-file "srecode-map.el" ".srecode/srecode-map"] 3 ""] "The save location for SRecode's map file.\nIf the save file is nil, then the MAP is not saved between sessions." :group srecode :type (choice (const :tag "Don't save" nil) file) defalias srecode-map-p eieio-make-class-predicate srecode-map srecode-map--eieio-childp eieio-make-child-predicate srecode-map-child-p make-obsolete "use (cl-typep ... 'srecode-map) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (eieio-persistent) ((fileheaderline :initform ";; SRECODE TEMPLATE MAP") (files :initarg :files :initform nil :type list :documentation "An alist of files and the major-mode that they cover.") (apps :initarg :apps :initform nil :type list :documentation "An alist of applications.\nEach app keys to an alist of files and modes (as above.)")) (:documentation "A map of srecode templates.")] 8)#@68 Create a new object of class type `srecode-map'.

(fn &rest SLOTS)
(defalias 'srecode-map #[128 "\300\301\302#\207" [apply make-instance srecode-map] 5 (#$ . 1628)])
(byte-code "\300\301\302\303#\300\207" [function-put srecode-map compiler-macro srecode-map--anon-cmacro] 4)#@26 

(fn WHOLE &rest SLOTS)
(defalias 'srecode-map--anon-cmacro #[385 "\211@;\204 \207\300\301\302@@#@\303@DABB\304\211@%\207" [macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity nil] 8 (#$ . 1909)])
(byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\300\310\302\311\302\312%\210\300\313\302\314\302\315%\210\300\316\302\317\302\320%\210\300\321\302\322\302\323%\210\300\324\302\325\302\326%\210\300\327\302\330\302\331%\210\300\332\302\333\302\334%\207" [cl-generic-define-method srecode-map-entry-for-file nil ((map srecode-map) file) #[514 "\300\301\302\"\"\207" [assoc eieio-oref files] 7 "Return the entry in MAP for FILE.\n\n(fn MAP FILE)"] srecode-map-entries-for-mode ((map srecode-map) mode) #[514 "\300\301\302\"\211\203 \211@\303A\"\203 \211B\262A\266\202\202 \210\207" [nil eieio-oref files mode-local-use-bindings-p] 8 "Return the entries in MAP for major MODE.\n\n(fn MAP MODE)"] srecode-map-entry-for-app ((map srecode-map) app) #[514 "\300\301\302\"\"\207" [assoc eieio-oref apps] 7 "Return the entry in MAP for APP.\n\n(fn MAP APP)"] srecode-map-entries-for-app-and-mode ((map srecode-map) app mode) #[771 "\300\301\"\211A\211\203  \211@\211A=\203 \211B\262A\266\202\202 \210\207" [nil srecode-map-entry-for-app] 9 "Return the entries in MAP for major MODE.\n\n(fn MAP APP MODE)"] srecode-map-entry-for-file-anywhere ((map srecode-map) file) #[514 "\300\"\211\205 \301B\262\2065 \301\302\303\"\211\2031 \211@\304A\"\211\203) B\262\210A\266\202\202 \210\211\262\207" [srecode-map-entry-for-file nil eieio-oref apps assoc] 8 "Search in all entry points in MAP for FILE.\nReturn a list ( APP . FILE-ASSOC ) where APP is nil\nin the global map.\n\n(fn MAP FILE)"] srecode-map-delete-file-entry ((map srecode-map) file) #[514 "\300\"\211\205 \301\302#\207" [srecode-map-entry-for-file object-remove-from-list files] 7 "Update MAP to exclude FILE from the file list.\n\n(fn MAP FILE)"] srecode-map-update-file-entry ((map srecode-map) file mode) #[771 "\300\"\301\203 A=\203 \302\207\203 \241\210\207\303\304B#\210\207" [srecode-map-entry-for-file t nil object-add-to-list files] 10 "Update a MAP entry for FILE to be used with MODE.\nReturn non-nil if the MAP was changed.\n\n(fn MAP FILE MODE)"] srecode-map-delete-file-entry-from-app ((map srecode-map) file app) #[771 "\300\"\301A\"\302A\"\241\207" [srecode-map-entry-for-app assoc delete] 9 "Delete from MAP the FILE entry within the APP.\n\n(fn MAP FILE APP)"] srecode-map-update-app-file-entry ((map srecode-map) file mode app) #[1028 "\300\"\301A\"\302\203 A=\203 \303\207\203  \241\210\207\304\"\211\203J \211@\204: \305\"\266\202K \300\"\211\306AA\"\241\266\210\203[ BAB\241\210\207\307\310		BD#\210\207" [srecode-map-entry-for-app assoc t nil srecode-map-entry-for-file-anywhere srecode-map-delete-file-entry delete object-add-to-list apps] 13 "Update the MAP entry for FILE to be used with MODE within APP.\nReturn non-nil if the map was changed.\n\n(fn MAP FILE MODE APP)"]] 6)#@133 Get a list of maps relevant to the current buffer.
Optional argument RESET forces a reset of the current map.

(fn &optional RESET)
(defalias 'srecode-get-maps #[256 "\306?!\210\307\310!\203r r\311\312!q\210p\313 \210\314\211\315\211\315\316 \210\317\320!+\210\211\321\322!\210\323\324\325\"!\210\321\326!\210\324\327\"\211\203d \211@\211@A\321!\210\321\330!\210\323!\266\321\331!\210A\266\202\202B \210\321\332!\210\321\333!\334!)\210\207C\207" [default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only srecode-map-update-map called-interactively-p any get-buffer-create "*SRECODE MAP*" kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook princ "   -- SRecode Global map --\n" srecode-maps-dump-file-list eieio-oref files "\n   -- Application Maps --\n" apps " :\n" "\n" "\nUse:\n\n M-x customize-variable RET srecode-map-load-path RET" "\n To change the path where SRecode loads templates from." internal-temp-output-buffer-show standard-output srecode-current-map] 10 (#$ . 5028) "P"])#@49 Run ADEBUG on the output of `srecode-get-maps'.
(defalias 'srecode-adebug-maps #[0 "\300\301!\210\302 \303\304!\305\306\307\310\311\"!\266\202\"\210\312\313!\210\314\315\"\207" [require data-debug current-time srecode-get-maps t message "Updating the map took %.2f seconds." nil float-time time-subtract data-debug-new-buffer "*SRECODE ADEBUG*" data-debug-insert-stuff-list "*"] 10 (#$ . 6127) nil])#@58 Dump a file list FLIST to `standard-output'.

(fn FLIST)
(defalias 'srecode-maps-dump-file-list #[257 "\300\301!\210\300\302!\210\211\211\205D \211@\303A!\210\300\304!\210\305\306A!GV\203& \300\304!\210\307\306A!GV\2034 \300\304!\210\300@!\210\300\310!\210A\266\202\202	 \207" [princ "Mode			Filename\n" "------			------------------\n" prin1 "	" 16 symbol-name 8 "\n"] 6 (#$ . 6536)])#@65 Return t if FILENAME should be in MAP still.

(fn FILENAME MAP)
(defalias 'srecode-map-file-still-valid-p #[514 "\301\302!\205, \211\203* \211@\211GGW\203# \211\303GO\230\203# \304\262A\266\202\202 \210\211\207" [srecode-map-load-path nil file-exists-p 0 t] 9 (#$ . 6931)])#@283 Update the current map from `srecode-map-load-path'.
Scans all the files on the path, and makes sure we have entries
for them.
If option FAST is non-nil, then only parse a file for the mode-string
if that file is NEW, otherwise assume the mode has not changed.

(fn &optional FAST)
(defalias 'srecode-map-update-map #[256 "\204 	\204b \304 \305\306!\210\202b 	\204I \307!\204I \307\310!!\204D \n\204D \311\312\313\310!\"!\203< \314\310!!\210\202D \315\300!\210\316\317!\210\304\320\"	\204b \3211\\ \322\304\"\2110\210\202b \210\304\320\"\323\324\325	\326\"!\211\203\207 \211@\327@	\"\204\200 \330	@\"\210\331\262A\266\202\202i \210\324\325	\332\"!\211\203\300 \211@\324A!\211\203\270 \211@\327@	\"\204\261 \333	@@#\210\331\262A\266\202\202\230 \210A\266\202\202\216 \210\211\203\211@\307!\203 \334\331\335#\211\203\377 \211@\336!\204\370 \337!\204\370 \340!\203\370 \341\"\206\365 \211\262\210A\266\202\202\323 \210A\266\202\202\302 \210\211\205\n?\205\342	\320\"\205\343	!\207" [srecode-map-save-file srecode-current-map noninteractive srecode-map-load-path srecode-map message "SRecode map created in non-save mode." file-exists-p file-name-directory y-or-n-p format "Create dir %s? " make-directory customize-variable error "Change your SRecode map file" :file (error) eieio-persistent-read nil copy-sequence eieio-oref files srecode-map-file-still-valid-p srecode-map-delete-file-entry t apps srecode-map-delete-file-entry-from-app directory-files "\\.srt\\'" backup-file-name-p auto-save-file-name-p file-readable-p srecode-map-validate-file-for-mode slot-boundp eieio-persistent-save] 10 (#$ . 7219) nil])#@205 Read and validate FILE via the parser.  Return the mode.
Argument FAST implies that the file should not be reparsed if there
is already an entry for it.
Return non-nil if the map changed.

(fn FILE FAST)
(defalias 'srecode-map-validate-file-for-mode #[514 "\211\205 \303\"?\205\233 \304!\305\212\203 q\210\2021 \306\307!q\210\310\305\211\211\311%\210\312 \210\305\313 )\210\n\2048 \313 \210\314 \210\315\316p\"\305\315\317p\"\305\203] \211\320\321\3228\262\"\266\203@\262\202c \323\324	\"\210\203x \211\320\321\3228\262\"\266\203@\262\211\203\215 \325	\326!\326!$\266\205\202\230 \327	\326!#\266\205)\262\207" [srecode-current-map semantic-init-hook semantic-new-buffer-fcn-was-run srecode-map-entry-for-file-anywhere get-file-buffer nil get-buffer-create " *srecode-map-tmp*" insert-file-contents t srecode-template-mode semantic-new-buffer-fcn semantic-fetch-tags semantic-find-first-tag-by-name "mode" "application" :default-value plist-get 2 error "There should be a mode declaration in %s" srecode-map-update-app-file-entry read srecode-map-update-file-entry] 15 (#$ . 8883)])#@68 Set SYM to the new VAL, then update the srecode map.

(fn SYM VAL)
(defalias 'srecode-map-load-path-set #[514 "\300\"\210\301\302!\207" [set-default srecode-map-update-map t] 5 (#$ . 10004)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\210\314\315!\207" [custom-declare-variable srecode-map-load-path funcall function #[0 "\300 \301\302!D\207" [srecode-map-base-template-dir expand-file-name "~/.srecode/"] 3 ""] "Global load path for SRecode template files." :group srecode :type (repeat file) :set srecode-map-load-path-set provide srecode/map] 10)
