%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!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\306\307\310\311\312\313\314\315&\207" [require srecode/compile srecode/find srecode/dictionary srecode/args srecode/filters custom-declare-variable srecode-insert-ask-variable-method 'ask "Determine how to ask for a dictionary value when inserting a template.\nOnly the ASK style inserter will query the user for a value.\nDictionary value references that ask begin with the ? character.\nPossible values are:\n `ask' - Prompt in the minibuffer as the value is inserted.\n `field' - Use the dictionary macro name as the inserted value,\n and place a field there. Matched fields change together.\n\nNOTE: The field feature does not yet work with XEmacs." :group srecode :type (choice (const :tag "Ask" ask) (const :tag "Field" field))] 8) #@70 Non-nil means that we are actively inserting a template with fields. (defvar srecode-insert-with-fields-in-progress nil (#$ . 1243)) #@75 The context that was at point at the beginning of the template insertion. (defvar srecode-insertion-start-context nil (#$ . 1382)) #@58 Insert the previously inserted template (by name) again. (defalias 'srecode-insert-again #[nil "@\211\203 \302 !\202 \303\302!)\207" [srecode-read-template-name-history prev srecode-insert call-interactively] 3 (#$ . 1519) nil]) #@123 Insert the template TEMPLATE-NAME into the current buffer at point. DICT-ENTRIES are additional dictionary values to add. (defalias 'srecode-insert #[(template-name &rest dict-entries) "\306 \204\n \307\310\"\210\311 \312\306 \"\313 \204 \307\314 \"\210 \2034 \315\f @ A@#\210 AA\211\204# \316\f\"+\207" [major-mode template-name srecode-insertion-start-context temp newdict dict-entries srecode-table error "No template table found for mode %s" srecode-create-dictionary srecode-template-get-table srecode-calculate-context "No Template named %s" srecode-dictionary-set-value srecode-insert-fcn] 5 (#$ . 1759) (list (srecode-read-template-name "Template Name: "))]) #@203 Insert TEMPLATE using DICTIONARY into STREAM. Optional SKIPRESOLVER means to avoid refreshing the tag list, or resolving any template arguments. It is assumed the caller has set everything up already. (defalias 'srecode-insert-fcn #[(template dictionary &optional stream skipresolver) "\206 p\306\307\304\"\203 \310\f\311\304\"\"\210 \204# \312 \210\313\f\"\210\314\n!\203D `\315\211\316\f\"\210*\317\320`\321$\210)\202I \322\f\"\210\314\n!\203b \307\323\324\"\203b \nq\210\325 \326\323\324\"b\210\327\323\324#\210 \206n `*\207" [stream end-mark standard-output template dictionary skipresolver nil slot-boundp srecode-dictionary-merge eieio-oref semantic-fetch-tags srecode-resolve-arguments bufferp t srecode--insert-into-buffer run-hook-with-args after-change-functions 0 srecode-insert-method srecode-template-inserter-point point point-marker eieio-oref-default eieio-oset-default start inhibit-modification-hooks inhibit-point-motion-hooks eieio-unbound] 5 (#$ . 2442)]) #@495 Insert a TEMPLATE with DICTIONARY into a buffer. Do not call this function yourself. Instead use: `srecode-insert' - Inserts by name. `srecode-insert-fcn' - Insert with objects. This function handles the case from one of the above functions when the template is inserted into a buffer. It looks at `srecode-insert-ask-variable-method' to decide if unbound dictionary entries ask questions or insert editable fields. Buffer based features related to change hooks is handled one level up. (defalias 'srecode--insert-into-buffer #[(template dictionary) "\306=\203\n \307\310!\210\311`\306=\205 \312\313\f \"\210)?\2059 \306=\2059 \n\2059 \314\315\316 \317`%\320!)*\207" [srecode-insert-ask-variable-method start srecode-field-archive srecode-insert-with-fields-in-progress template dictionary field require srecode/fields nil t srecode-insert-method srecode-template-inserted-region "TEMPLATE" :start :end srecode-overlaid-activate reg] 6 (#$ . 3448)]) #@134 Display an error report based on DICTIONARY, FORMAT and ARGS. This is intended to diagnose problems with failed template insertions. (defalias 'srecode-insert-show-error-report #[(dictionary format &rest args) "r\303\304!q\210\305 \210\306\307\310\311#\306\312\310\313#\314\261\210\315\316\317\320\321\"!\322\"\210\306\323\310\324#\325\261\210\326\327\322#\210\306\330\310\331#\325\261\210\332\333 \n#c\210\334p!)\207" [dictionary format args data-debug-new-buffer "*SRECODE INSERTION ERROR*" erase-buffer propertize "Template Stack" face (:weight bold) " (most recent at bottom)" (:slant italic) ":\n" data-debug-insert-stuff-list reverse eieio-oref-default srecode-template active "> " "Dictionary" (:weight bold) "\n" data-debug-insert-thing "" "Error" (:weight bold) apply format-message pop-to-buffer] 5 (#$ . 4424)]) (defalias 'srecode-insert-report-error #[(dictionary format &rest args) "\303 \n#\210\304\305 \n#\207" [dictionary format args srecode-insert-show-error-report apply error] 4]) #@103 Resolve all the arguments needed by the template TEMP. Apply anything learned to the dictionary DICT. (defalias 'srecode-resolve-arguments #[(temp dict) "\302\303\304\" #\207" [temp dict srecode-resolve-argument-list eieio-oref args] 4 (#$ . 5436)]) #@200 Resolve arguments in the argument list ARGS. ARGS is a list of symbols, such as :blank, or :file. Apply values to DICT. Optional argument TEMP is the template that is getting its arguments resolved. (defalias 'srecode-resolve-argument-list #[(args dict &optional temp) "\304 \205= \305\306\307 @!P!\211\204 \310\311 @\"\210\n\2031 \3121) \n\"0\202- \210!\210\2025 !\210 A\211\204 \304)\207" [fcn args temp dict nil intern-soft "srecode-semantic-handle-" symbol-name error "Error resolving template argument %S" (wrong-number-of-arguments)] 5 (#$ . 5695)]) (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%\207" [cl-generic-define-method srecode-push nil ((st srecode-template)) #[(st) "\301\302\303\302\"B#\207" [st eieio-oset active eieio-oref] 7 "Push the srecoder template ST onto the active stack."] srecode-pop ((st srecode-template)) #[(st) "\301\302\303\302\"A#\207" [st eieio-oset active eieio-oref] 6 "Pop the srecoder template ST onto the active stack."] srecode-peek ((st srecode-template)) #[(st) "\301\302\"@\207" [st eieio-oref active] 3 "Fetch the topmost active template record."] srecode-insert-method ((st srecode-template) dictionary) #[(st dictionary) "\303\301\"\203 \304 \305\301\"\"\210\306\216\305\307\"\310!\210\311\n \"*\207" [st dictionary c slot-boundp srecode-dictionary-merge eieio-oref #[nil "\301!\207" [st srecode-pop] 2] code srecode-push srecode-insert-code-stream] 5 "Insert the srecoder template ST."]] 6) #@95 Insert the CODE from a template into `standard-output'. Use DICTIONARY to resolve any macros. (defalias 'srecode-insert-code-stream #[(code dictionary) "\205 @;\203 \302@!\210\202 \303@ \"\210A\211\204 \304\207" [code dictionary princ srecode-insert-method nil] 4 (#$ . 7243)]) (byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\210\314\303\315\316\317$\207" [defalias srecode-template-inserter-newline-p eieio-make-class-predicate srecode-template-inserter-newline srecode-template-inserter-newline--eieio-childp eieio-make-child-predicate srecode-template-inserter-newline-child-p make-obsolete "use (cl-typep ... 'srecode-template-inserter-newline) instead" "25.1" put cl-deftype-satisfies eieio-defclass-internal (srecode-template-inserter) ((key :initform "\n" :allocation :class :documentation "The character code used to identify inserters of this style.") (hard :initform nil :initarg :hard :documentation "Is this a hard newline (always inserted) or optional?\nOptional newlines don't insert themselves if they are on a blank line\nby themselves.")) (:documentation "Insert a newline, and possibly do indenting.\nSpecify the :indent argument to enable automatic indentation when newlines\noccur in your template.")] 5) #@72 Create a new object of class type `srecode-template-inserter-newline'. (defalias 'srecode-template-inserter-newline #[(&rest slots) "\301\302\303#\207" [slots apply make-instance srecode-template-inserter-newline] 4 (#$ . 8551)]) (function-put 'srecode-template-inserter-newline 'compiler-macro 'srecode-template-inserter-newline--anon-cmacro) (defalias 'srecode-template-inserter-newline--anon-cmacro #[(whole &rest slots) "@;\204 \207\302\303\304@ @# @\305@DABB\"\207" [slots whole macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 5]) (byte-code "\300\301\302\303\302\304%\210\300\305\302\306\307\310%\210\311\312\313\314!\"\210\311\315\316\314!\"\210\311\317\315\"\210\320\317\321\322#\210\323\314\324\315#\210\325\314\326\327\330$\207" [cl-generic-define-method srecode-insert-method nil ((sti srecode-template-inserter-newline) dictionary) #[(sti dictionary) "\306\307\"\310 !\311\312 \f\203. \313\314\"\204. \315 \210\214`\n}\210\316\317!\203* \320)\nb\210 \311=\203>