%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/cedet/srecode/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/cedet/srecode/insert.elc

;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; 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\312DD\313\314\315\316\317&\207" [require srecode/compile srecode/find srecode/dictionary srecode/args srecode/filters custom-declare-variable srecode-insert-ask-variable-method funcall function #[0 "\300\207" [ask] 1] "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." :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 (#$ . 1229))
#@75 The context that was at point at the beginning of the template insertion.
(defvar srecode-insertion-start-context nil (#$ . 1368))
#@58 Insert the previously inserted template (by name) again.
(defalias 'srecode-insert-again #[0 "@\211\203\f\301!\202\302\301!\207" [srecode-read-template-name-history srecode-insert call-interactively] 3 (#$ . 1505) nil])
#@162 Insert the template TEMPLATE-NAME into the current buffer at point.
DICT-ENTRIES are additional dictionary values to add.

(fn TEMPLATE-NAME &rest DICT-ENTRIES)
(defalias 'srecode-insert #[385 "\302 \204\n\303\304\"\210\305 \306\302 \"\307 \211\204\303\310\"\210\2032\311@A@#\210AA\262\202\312\")\207" [major-mode srecode-insertion-start-context 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] 8 (#$ . 1737) (byte-code "\300\301!C\207" [srecode-read-template-name "Template Name: "] 2)])
#@259 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.

(fn TEMPLATE DICTIONARY &optional STREAM SKIPRESOLVER)
(defalias 'srecode-insert-fcn #[1026 "\206p\304\305\306\"\203\307\310\306\"\"\210\204'\311 \210\312\"\210\313!\203E`\314\211\315\"\210*\316\317`\320$\266\202L\321\"\210\313!\203f\305\322\323\"\203fq\210\324 \262\325\322\323\"b\210\326\322\323#\210\211\206q`)\207" [standard-output inhibit-modification-hooks inhibit-point-motion-hooks eieio-unbound nil slot-boundp dictionary 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] 12 (#$ . 2411)])
#@521 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.

(fn TEMPLATE DICTIONARY)
(defalias 'srecode--insert-into-buffer #[514 "\303=\203\n\304\305!\210\306`\303=\205\307\310\"\210)\n?\2056\303=\2056	\2056\311\312\313`$\314!\262)\207" [srecode-insert-ask-variable-method srecode-field-archive srecode-insert-with-fields-in-progress field require srecode/fields nil t srecode-insert-method srecode-template-inserted-region :start :end srecode-overlaid-activate] 9 (#$ . 3385)])
#@169 Display an error report based on DICTIONARY, FORMAT and ARGS.
This is intended to diagnose problems with failed template
insertions.

(fn DICTIONARY FORMAT &rest ARGS)
(defalias 'srecode-insert-show-error-report #[642 "r\300\301!q\210\302 \210\303\304\305\306#\303\307\305\310#\311\261\210\312\313\314\315\316\"!\317\"\210\303\320\305\321#\322\261\210\323\324\317#\210\303\325\305\326#\322\261\210\327\330#c\210\331p!)\207" [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] 8 (#$ . 4324)])
#@37 

(fn DICTIONARY FORMAT &rest ARGS)
(defalias 'srecode-insert-report-error #[642 "\300#\210\301\302#\207" [srecode-insert-show-error-report apply error] 7 (#$ . 5141)])
#@119 Resolve all the arguments needed by the template TEMP.
Apply anything learned to the dictionary DICT.

(fn TEMP DICT)
(defalias 'srecode-resolve-arguments #[514 "\300\301\302\"#\207" [srecode-resolve-argument-list eieio-oref args] 6 (#$ . 5322)])
#@231 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.

(fn ARGS DICT &optional TEMP)
(defalias 'srecode-resolve-argument-list #[770 "\300\205=\301\302\303@!P!\262\211\204\304\305@\"\210\2032\3061*\211\"0\202.\210\211!\210\2026\211!\210A\262\202\207" [nil intern-soft "srecode-semantic-handle-" symbol-name error "Error resolving template argument %S" (wrong-number-of-arguments)] 8 (#$ . 5579)])
(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)) #[257 "\300\301\302\301\"B#\207" [eieio-oset active eieio-oref] 8 "Push the srecoder template ST onto the active stack.\n\n(fn ST)"] srecode-pop ((st srecode-template)) #[257 "\300\301\302\301\"A#\207" [eieio-oset active eieio-oref] 7 "Pop the srecoder template ST onto the active stack.\n\n(fn ST)"] srecode-peek ((st srecode-template)) #[257 "\300\301\"@\207" [eieio-oref active] 4 "Fetch the topmost active template record.\n\n(fn ST)"] srecode-insert-method ((st srecode-template) dictionary) #[514 "\300\301\"\203\302\303\301\"\"\210\304\305\306\307\310!\311\"\312$\216\303\313\"\314!\210\315\"\262)\207" [slot-boundp dictionary srecode-dictionary-merge eieio-oref make-byte-code 0 "\301\300!\207" vconcat vector [srecode-pop] 2 code srecode-push srecode-insert-code-stream] 8 "Insert the srecoder template ST.\n\n(fn ST DICTIONARY)"]] 6)
#@117 Insert the CODE from a template into `standard-output'.
Use DICTIONARY to resolve any macros.

(fn CODE DICTIONARY)
(defalias 'srecode-insert-code-stream #[514 "\205@;\203\300@!\210\202\301@\"\210A\262\202\207" [princ srecode-insert-method] 5 (#$ . 7207)])
(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#\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" define-symbol-prop 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.")] 6)
#@90 Create a new object of class type `srecode-template-inserter-newline'.

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

(fn WHOLE &rest SLOTS)
(defalias 'srecode-template-inserter-newline--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 8905)])
(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#\325\314\326\327\330$\207" [cl-generic-define-method srecode-insert-method nil ((sti srecode-template-inserter-newline) dictionary) #[514 "\301\302\"\303!\304\305 \203+\306\307\"\204+\310 \210\214`}\210\311\312!\203'\313\262)\211b\210\304=\203;\203;\314 \210\211b\210\205q\315\316!\210\304=\203[\303!\203[\305 \262\314 \210\211b\202q\247\203i\315\317\320\"!\202q;\205q\315!\207" [standard-output srecode-dictionary-lookup-name "INDENT" bufferp t point-marker eieio-oref hard beginning-of-line looking-at "\\s-*$" nil indent-according-to-mode princ "\n" make-string " "] 10 "Insert the STI inserter.\n\n(fn STI DICTIONARY)"] srecode-dump ((ins srecode-template-inserter-newline) _indent) t #[771 " \210\300\301\"\205
\302\303!\207" [eieio-oref hard princ " : hard"] 6 "Dump the state of the SRecode template inserter INS.\n\n(fn CL--CNM INS INDENT)"] defalias srecode-template-inserter-blank-p eieio-make-class-predicate srecode-template-inserter-blank srecode-template-inserter-blank--eieio-childp eieio-make-child-predicate srecode-template-inserter-blank-child-p make-obsolete "use (cl-typep ... \\='srecode-template-inserter-blank) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (srecode-template-inserter) ((key :initform "
" :allocation :class :documentation "The character representing this inserter style.\nCan't be blank, or it might be used by regular variable insertion.") (where :initform 'begin :initarg :where :documentation "This should be `begin' or `end', indicating where to insert a CR.\nWhen `begin', insert a CR if not at `bol'.\nWhen `end', insert a CR if not at `eol'.")) (:documentation "Insert a newline before and after a template, and possibly do indenting.\nSpecify the :blank argument to enable this inserter.")] 6)
#@88 Create a new object of class type `srecode-template-inserter-blank'.

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

(fn WHOLE &rest SLOTS)
(defalias 'srecode-template-inserter-blank--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 11521)])
(byte-code "\300\301\302\303\302\304%\210\305\306\307\310!\"\210\305\311\312\310!\"\210\305\313\311\"\210\314\313\315\316#\210\317\310\320\311#\321\310\322\323\324$\207" [cl-generic-define-method srecode-insert-method nil ((sti srecode-template-inserter-blank) dictionary) #[514 "\301\302\"\303!\304 \205}\305\306\307\"G\310U\205}\311=\2030\2030\312\313\"\314=\2040\315 \210\211b\210\312\313\"\314=\203Dn\204D\316\317!\210\202`\312\313\"\320=\203`\321\322!\203X`\323 |\210l\204`\316\317!\210\304 \262\311=\205}\205}\312\313\"\320=?\205}\315 \210\211b\207" [standard-output srecode-dictionary-lookup-name "INDENT" bufferp point-marker eieio-oref-default srecode-template active 1 t eieio-oref where begin indent-according-to-mode princ "\n" end looking-at "\\s-*$" point-at-eol] 8 "Make sure there is no text before or after point.\n\n(fn STI DICTIONARY)"] defalias srecode-template-inserter-comment-p eieio-make-class-predicate srecode-template-inserter-comment srecode-template-inserter-comment--eieio-childp eieio-make-child-predicate srecode-template-inserter-comment-child-p make-obsolete "use (cl-typep ... \\='srecode-template-inserter-comment) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (srecode-template-inserter) ((key :initform 33 :allocation :class :documentation "The character code used to identify inserters of this style.")) (:documentation "Allow comments within template coding.  This inserts nothing.")] 6)
#@90 Create a new object of class type `srecode-template-inserter-comment'.

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

(fn WHOLE &rest SLOTS)
(defalias 'srecode-template-inserter-comment--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 13653)])
(byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\310\311\312\313!\"\210\310\314\315\313!\"\210\310\316\314\"\210\317\316\320\321#\210\322\313\323\314#\324\313\325\326\327$\207" [cl-generic-define-method srecode-inserter-prin-example nil ((_ins (subclass srecode-template-inserter-comment)) escape-start escape-end) #[771 "\300\301!\210\300!\210\300\302!\210\300!\210\303 \207" [princ "   " "! Miscellaneous text commenting in your template. " terpri] 5 "Insert an example using inserter INS.\nArguments ESCAPE-START and ESCAPE-END are the current escape sequences in use.\n\n(fn INS ESCAPE-START ESCAPE-END)"] srecode-insert-method ((_sti srecode-template-inserter-comment) _dictionary) #[514 "\300\207" [nil] 3 "Don't insert anything for comment macros in STI.\n\n(fn STI DICTIONARY)"] defalias srecode-template-inserter-variable-p eieio-make-class-predicate srecode-template-inserter-variable srecode-template-inserter-variable--eieio-childp eieio-make-child-predicate srecode-template-inserter-variable-child-p make-obsolete "use (cl-typep ... \\='srecode-template-inserter-variable) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (srecode-template-inserter) ((key :initform nil :allocation :class :documentation "The character code used to identify inserters of this style.")) (:documentation "Insert the value of a dictionary entry.\nIf there is no entry, insert nothing.")] 6)
#@91 Create a new object of class type `srecode-template-inserter-variable'.

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

(fn WHOLE &rest SLOTS)
(defalias 'srecode-template-inserter-variable--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 15744)])
#@55 The active dictionary when calling a variable filter.
(defvar srecode-inserter-variable-current-dictionary nil (#$ . 15998))
(byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\310\311\312\313!\"\210\310\314\315\313!\"\210\310\316\314\"\210\317\316\320\321#\210\322\313\323\314#\324\313\325\326\327$\207" [cl-generic-define-method srecode-insert-variable-secondname-handler nil ((sti srecode-template-inserter-variable) dictionary value secondname) #[1028 "\211\203 \301!\302!\203\211!)\202\303\304\305!$\207\207" [srecode-inserter-variable-current-dictionary read fboundp srecode-insert-report-error "Variable inserter %s: second argument `%s' is not a function" cl-prin1-to-string] 10 "For VALUE handle SECONDNAME behaviors for this variable inserter.\nReturn the result as a string.\nBy default, treat as a function name.\nIf SECONDNAME is nil, return VALUE.\n\n(fn STI DICTIONARY VALUE SECONDNAME)"] srecode-insert-method ((sti srecode-template-inserter-variable) dictionary) #[514 "\300\301\"\300\302\"\303\"\304\204\305\306\"\210\307\262;\203,\310$\262\202d\311!\203M\203;\312!\262\313#\262\204d\314\262\202d\315!\203]\316\317#\210\202d\316\320#\210\211\205k\321!\207" [eieio-oref object-name secondname srecode-dictionary-lookup-name t message "Warning: macro %S was not found in the dictionary." "" srecode-insert-variable-secondname-handler srecode-dictionary-compound-value--eieio-childp read srecode-compound-toString nil srecode-dictionary--eieio-childp srecode-insert-report-error "Macro %s cannot insert a dictionary - use section macros instead" "Macro %s cannot insert arbitrary data" princ] 11 "Insert the STI inserter.\n\n(fn STI DICTIONARY)"] defalias srecode-template-inserter-ask-p eieio-make-class-predicate srecode-template-inserter-ask srecode-template-inserter-ask--eieio-childp eieio-make-child-predicate srecode-template-inserter-ask-child-p make-obsolete "use (cl-typep ... \\='srecode-template-inserter-ask) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (srecode-template-inserter-variable) ((key :initform 63 :allocation :class :documentation "The character code used to identify inserters of this style.") (prompt :initarg :prompt :initform nil :documentation "The prompt used to query for this dictionary value.") (defaultfcn :initarg :defaultfcn :initform nil :documentation "The function which can calculate a default value.") (read-fcn :initarg :read-fcn :initform 'read-string :documentation "The function used to read in the text for this prompt.")) (:documentation "Insert the value of a dictionary entry.\nIf there is no entry, prompt the user for the value to use.\nThe prompt text used is derived from the previous PROMPT command in the\ntemplate file.")] 6)
#@86 Create a new object of class type `srecode-template-inserter-ask'.

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

(fn WHOLE &rest SLOTS)
(defalias 'srecode-template-inserter-ask--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 19191)])
(byte-code "\300\301\302\303\302\304%\210\300\305\302\306\307\310%\210\300\311\302\312\302\313%\210\300\314\302\315\302\316%\210\300\317\302\320\302\321%\210\300\322\302\323\307\324%\210\325\326\327\330!\"\210\325\331\332\330!\"\210\325\333\331\"\210\334\333\335\336#\210\337\330\340\331#\341\330\342\343\344$\207" [cl-generic-define-method srecode-inserter-apply-state nil ((ins srecode-template-inserter-ask) STATE) #[514 "\302\303\"\211\205]\211@\211@)\302\304\"\230\203V\305\306@\307\310\3118)	\"*#\210\305\312@\313\310\3118)	\"*#\210\305\314@\315\310\3118)	\"*\206T\316#\210\211A\262\202\207" [tag attribute eieio-oref prompts object-name eieio-oset prompt :text plist-get 2 defaultfcn :default read-fcn :read read-string] 10 "For the template inserter INS, apply information from STATE.\nLoop over the prompts to see if we have a match.\n\n(fn INS STATE)"] srecode-insert-method ((sti srecode-template-inserter-ask) dictionary) t #[771 "\301\302\303\"\"\211\203 \2020\203\304\"\262\202#\305\"\262\306\307!\302\303\"#\210 \207" [srecode-insert-with-fields-in-progress srecode-dictionary-lookup-name eieio-oref object-name srecode-insert-method-field srecode-insert-method-ask srecode-dictionary-set-value srecode-root-dictionary] 9 "Insert the STI inserter.\n\n(fn CL--CNM STI DICTIONARY)"] srecode-insert-ask-default ((sti srecode-template-inserter-ask) dictionary) #[514 "\300\301\"\211;\203
\211\2029\302!\203\211 \2029\211<\203,\211@\303=\203,\304A\"\2029\211\2044\305\2029\306\307#\207" [eieio-oref defaultfcn functionp macro srecode-dictionary-lookup-name #1="" srecode-insert-report-error "Unknown default for prompt: %S"] 7 "Derive the default value for an askable inserter STI.\nDICTIONARY is used to derive some values.\n\n(fn STI DICTIONARY)"] srecode-insert-method-ask ((sti srecode-template-inserter-ask) dictionary) #[514 "\300\301\"\302\"\300\303\"\304\305\267\202G\306\206 \307\310\300	\311\"\"!\203*\262\202Z\312\262\202Z\307\313\314\206@\307\315\300\311\"\"!\"\262\202Z\212\206U\307\316\300	\311\"\"\"\262)\207" [eieio-oref prompt srecode-insert-ask-default read-fcn nil #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (y-or-n-p 19 read-char 48)) y-or-n-p format "%s? " object-name #1# "%c" read-char "Char for %s: " "Specify %s: "] 14 "Do the \"asking\" for the template inserter STI.\nUse DICTIONARY to resolve values.\n\n(fn STI DICTIONARY)"] srecode-insert-method-field ((sti srecode-template-inserter-ask) dictionary) #[514 "\300\"\301\302\303\"\304\305%\207" [srecode-insert-ask-default srecode-field-value eieio-oref object-name :firstinserter :defaultvalue] 9 "Create an editable field for the template inserter STI.\nUse DICTIONARY to resolve values.\n\n(fn STI DICTIONARY)"] srecode-dump ((ins srecode-template-inserter-ask) _indent) #[771 " \210\300\301!\210\300\302\303\"!\210\300\304!\207" [princ " : \"" eieio-oref prompt "\""] 7 "Dump the state of the SRecode template inserter INS.\n\n(fn CL--CNM INS INDENT)"] defalias srecode-template-inserter-width-p eieio-make-class-predicate srecode-template-inserter-width srecode-template-inserter-width--eieio-childp eieio-make-child-predicate srecode-template-inserter-width-child-p make-obsolete "use (cl-typep ... \\='srecode-template-inserter-width) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (srecode-template-inserter-variable) ((key :initform 124 :allocation :class :documentation "The character code used to identify inserters of this style.")) (:documentation "Inserts the value of a dictionary variable with a specific width.\nThe second argument specifies the width, and a pad, separated by a colon.\nThus a specification of `10:left' will insert the value of A\nto 10 characters, with spaces added to the left.  Use `right' for adding\nspaces to the right.")] 6)
#@88 Create a new object of class type `srecode-template-inserter-width'.

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

(fn WHOLE &rest SLOTS)
(defalias 'srecode-template-inserter-width--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 23754)])
(byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\207" [cl-generic-define-method srecode-insert-variable-secondname-handler nil ((_sti srecode-template-inserter-width) dictionary value width) #[1028 "\211\204	\300\301\"\210\302\303\"\304@!A@\211\203\211\305\230\203\"\306\2022\211\307\230\203,\310\2022\300\311#GY\203B\312\313#\202]\314GZ\315\"\310=\203W\211P\202[P\262\207" [srecode-insert-report-error "Width not specified for variable/width inserter" split-string ":" string-to-number "right" right "left" left "Unknown pad type %s" substring 0 make-string 32] 12 "For VALUE handle WIDTH behaviors for this variable inserter.\nReturn the result as a string.\nBy default, treat as a function name.\n\n(fn STI DICTIONARY VALUE WIDTH)"] srecode-inserter-prin-example ((_ins (subclass srecode-template-inserter-width)) escape-start escape-end) #[771 "\300\301!\210\300!\210\300\302!\210\300!\210\303 \207" [princ "   " "|A:10:right" terpri] 5 "Insert an example using inserter INS.\nArguments ESCAPE-START and ESCAPE-END are the current escape sequences in use.\n\n(fn INS ESCAPE-START ESCAPE-END)"]] 6)
#@298 Point-positioning method for the SRecode template inserter.
When nil, perform normal point-positioning behavior.
When the value is a cons cell (DEPTH . FUNCTION), call FUNCTION
instead, unless the template nesting depth, measured
by (length (oref srecode-template active)), is greater than
DEPTH.
(defvar srecode-template-inserter-point-override nil (#$ . 25161))
(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#\314\303\315\316\317$\207" [defalias srecode-template-inserter-point-p eieio-make-class-predicate srecode-template-inserter-point srecode-template-inserter-point--eieio-childp eieio-make-child-predicate srecode-template-inserter-point-child-p make-obsolete "use (cl-typep ... \\='srecode-template-inserter-point) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (srecode-template-inserter) ((key :initform 94 :allocation :class :documentation "The character code used to identify inserters of this style.") (point :type (or null marker) :allocation :class :documentation "Record the value of (point) in this class slot.\nIt is the responsibility of the inserter algorithm to clear this\nafter a successful insertion.")) (:documentation "Record the value of (point) when inserted.\nThe cursor is placed at the ^ macro after insertion.\nSome inserter macros, such as `srecode-template-inserter-include-wrap'\nwill place text at the ^ macro from the included macro.")] 6)
#@88 Create a new object of class type `srecode-template-inserter-point'.

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

(fn WHOLE &rest SLOTS)
(defalias 'srecode-template-inserter-point--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 27028)])
(byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\310\311\312\313!\"\210\310\314\315\313!\"\210\310\316\314\"\210\317\316\320\321#\210\322\313\323\314#\324\313\325\302\326$\207" [cl-generic-define-method srecode-inserter-prin-example nil ((_ins (subclass srecode-template-inserter-point)) escape-start escape-end) #[771 "\300\301!\210\300!\210\300\302!\210\300!\210\303 \207" [princ "   " "^" terpri] 5 "Insert an example using inserter INS.\nArguments ESCAPE-START and ESCAPE-END are the current escape sequences in use.\n\n(fn INS ESCAPE-START ESCAPE-END)"] srecode-insert-method ((sti srecode-template-inserter-point) dictionary) #[514 "\203\301\302\303\"G@X\203A\304\211!)\207\305\306\307 #\207" [srecode-template-inserter-point-override eieio-oref-default srecode-template active nil eieio-oset point point-marker] 6 "Insert the STI inserter.\nSave point in the class allocated `point' slot.\nIf `srecode-template-inserter-point-override' non-nil then this\ngeneralized marker will do something else.  See\n`srecode-template-inserter-include-wrap' as an example.\n\n(fn STI DICTIONARY)"] defalias srecode-template-inserter-subtemplate-p eieio-make-class-predicate srecode-template-inserter-subtemplate srecode-template-inserter-subtemplate--eieio-childp eieio-make-child-predicate srecode-template-inserter-subtemplate-child-p make-obsolete "use (cl-typep ... \\='srecode-template-inserter-subtemplate) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (srecode-template-inserter) (:documentation "Wrap a section of a template under the control of a macro." :abstract t)] 6)
#@95 You cannot create a new object of type `srecode-template-inserter-subtemplate'.

(fn &rest _)
(defalias 'srecode-template-inserter-subtemplate #[128 "\300\301!\207" [error "Class srecode-template-inserter-subtemplate is abstract"] 3 (#$ . 28922)])
(byte-code "\300\301\302\303\304\305%\210\300\306\302\307\302\310%\210\300\311\302\312\302\313%\210\300\314\302\315\302\316%\210\317\320\321\322!\"\210\317\323\324\322!\"\210\317\325\323\"\210\326\325\327\330#\210\331\322\332\323#\333\322\334\335\336$\207" [cl-generic-define-method srecode-inserter-prin-example nil ((_ins (subclass srecode-template-inserter-subtemplate)) escape-start escape-end) t #[1028 " \210\300\301!\210\302 \210\300\303!\210\300!\210\300\304!\210\300!\210\302 \207" [princ "     Template Text to control" terpri "   " "/VARNAME"] 6 "Insert an example using inserter INS.\nArguments ESCAPE-START and ESCAPE-END are the current escape sequences in use.\n\n(fn CL--CNM INS ESCAPE-START ESCAPE-END)"] srecode-insert-subtemplate ((sti srecode-template-inserter-subtemplate) dict slot) #[771 "\300!\204\301\302\303!#\210\304\305\"\"\207" [srecode-dictionary--eieio-childp srecode-insert-report-error "Only section dictionaries allowed for `%s'" eieio-object-name-string srecode-insert-method slot-value] 8 "Insert a subtemplate for the inserter STI with dictionary DICT.\n\n(fn STI DICT SLOT)"] srecode-insert-method-helper ((sti srecode-template-inserter-subtemplate) dictionary slot) #[771 "\300\301\302\"\"\211<\204\303\304\301\302\"#\210\211\2059\305@!\204+\303\304\301\302\"#\210\306@#\210\211A\262\202\207" [srecode-dictionary-lookup-name eieio-oref object-name srecode-insert-report-error "Cannot insert section %S from non-section variable." srecode-dictionary-p srecode-insert-subtemplate] 10 "Do the work for inserting the STI inserter.\nLoops over the embedded CODE which was saved here during compilation.\nThe template to insert is stored in SLOT.\n\n(fn STI DICTIONARY SLOT)"] srecode-insert-method ((sti srecode-template-inserter-subtemplate) dictionary) #[514 "\300\301#\207" [srecode-insert-method-helper template] 6 "Insert the STI inserter.\nCalls back to `srecode-insert-method-helper' for this class.\n\n(fn STI DICTIONARY)"] defalias srecode-template-inserter-section-start-p eieio-make-class-predicate srecode-template-inserter-section-start srecode-template-inserter-section-start--eieio-childp eieio-make-child-predicate srecode-template-inserter-section-start-child-p make-obsolete "use (cl-typep ... \\='srecode-template-inserter-section-start) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (srecode-template-inserter-subtemplate) ((key :initform 35 :allocation :class :documentation "The character code used to identify inserters of this style.") (template :initarg :template :documentation "A template used to frame the codes from this inserter.")) (:documentation "Apply values from a sub-dictionary to a template section.\nThe dictionary saved at the named dictionary entry will be\napplied to the text between the section start and the\n`srecode-template-inserter-section-end' macro.")] 6)
#@96 Create a new object of class type `srecode-template-inserter-section-start'.

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

(fn WHOLE &rest SLOTS)
(defalias 'srecode-template-inserter-section-start--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 32507)])
(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#\325\314\326\327\330$\207" [cl-generic-define-method srecode-parse-input nil ((ins srecode-template-inserter-section-start) tag input STATE) #[1028 "\300\301\302\"$\303\304\305\306	!\307\310\311\310\312\nA&#\210\211@\207" [srecode-compile-split-code eieio-oref object-name eieio-oset template srecode-template eieio-object-name-string :context nil :args :code] 16 "For the section inserter INS, parse INPUT.\nShorten input until the END token is found.\nReturn the remains of INPUT.\n\n(fn INS TAG INPUT STATE)"] srecode-dump ((ins srecode-template-inserter-section-start) indent) t #[771 " \210\300\301!\210\302\303\211\304\"\305\"\306P\"\207" [princ "\n" srecode-dump-code-list eieio-oref template code "    "] 8 "Dump the state of the SRecode template inserter INS.\n\n(fn CL--CNM INS INDENT)"] defalias srecode-template-inserter-section-end-p eieio-make-class-predicate srecode-template-inserter-section-end srecode-template-inserter-section-end--eieio-childp eieio-make-child-predicate srecode-template-inserter-section-end-child-p make-obsolete "use (cl-typep ... \\='srecode-template-inserter-section-end) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (srecode-template-inserter) ((key :initform 47 :allocation :class :documentation "The character code used to identify inserters of this style.")) (:documentation "All template segments between the section-start and section-end\nare treated specially.")] 6)
#@94 Create a new object of class type `srecode-template-inserter-section-end'.

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

(fn WHOLE &rest SLOTS)
(defalias 'srecode-template-inserter-section-end--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 34813)])
(byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\310\311\312\313!\"\210\310\314\315\313!\"\210\310\316\314\"\210\317\316\320\321#\210\322\313\323\314#\324\313\325\326\327$\207" [cl-generic-define-method srecode-insert-method nil ((_sti srecode-template-inserter-section-end) _dictionary) #[514 "\300\207" ["Insert the STI inserter."] 3 "\n\n(fn STI DICTIONARY)"] srecode-match-end ((ins srecode-template-inserter-section-end) name) #[514 "\211\300\301\"\230\207" [eieio-oref object-name] 6 "For the template inserter INS, do I end a section called NAME?\n\n(fn INS NAME)"] defalias srecode-template-inserter-include-p eieio-make-class-predicate srecode-template-inserter-include srecode-template-inserter-include--eieio-childp eieio-make-child-predicate srecode-template-inserter-include-child-p make-obsolete "use (cl-typep ... \\='srecode-template-inserter-include) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (srecode-template-inserter-subtemplate) ((key :initform 62 :allocation :class :documentation "The character code used to identify inserters of this style.") (includedtemplate :initarg :includedtemplate :documentation "The template included for this inserter.")) (:documentation "Include a different template into this one.\nThe included template will have additional dictionary entries from the subdictionary\nstored specified by this macro.")] 6)
#@90 Create a new object of class type `srecode-template-inserter-include'.

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

(fn WHOLE &rest SLOTS)
(defalias 'srecode-template-inserter-include--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 36882)])
(byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\300\310\302\311\302\312%\210\313\314\315\316!\"\210\313\317\320\316!\"\210\313\321\317\"\210\322\321\323\324#\210\325\316\326\317#\327\316\330\331\332$\207" [cl-generic-define-method srecode-inserter-prin-example nil ((_ins (subclass srecode-template-inserter-include)) escape-start escape-end) #[771 "\300\301!\210\300!\210\300\302!\210\300!\210\303 \207" [princ "   " ">DICTNAME:contextname:templatename" terpri] 5 "Insert an example using inserter INS.\nArguments ESCAPE-START and ESCAPE-END are the current escape sequences in use.\n\n(fn INS ESCAPE-START ESCAPE-END)"] srecode-insert-include-lookup ((sti srecode-template-inserter-include) dictionary) #[514 "\300\301\"\211\204\302\303\300\304\"#\210\305\306 \"\307\310\311\"\312\204l\204a\203a\300@\313\"\262\305\306 #\262\204Z\314@\315\"\203Z\300\211@\315\"\316\"\211\203Y\305\306 $\262\210A\262\202 \204l\305\306 \"\262\317\320#\266\300\320\"?\205\206\302\321\300\304\"$\207" [eieio-oref secondname srecode-insert-report-error "Include macro `%s' needs a template name" object-name srecode-template-get-table srecode-table eieio-oref-default srecode-template active nil context slot-boundp table application eieio-oset includedtemplate "No template \"%s\" found for include macro `%s'"] 12 "For the template inserter STI, lookup the template to include.\nFinds the template with this macro function part and stores it in\nthis template instance.\n\n(fn STI DICTIONARY)"] srecode-insert-method ((sti srecode-template-inserter-include) dictionary) #[514 "\300\"\210\301\302\303\"\"\203\304\305#\207\306\305#\207" [srecode-insert-include-lookup srecode-dictionary-lookup-name eieio-oref object-name srecode-insert-method-helper includedtemplate srecode-insert-subtemplate] 7 "Insert the STI inserter.\nFinds the template with this macro function part, and inserts it\nwith the dictionaries found in the dictionary.\n\n(fn STI DICTIONARY)"] defalias srecode-template-inserter-include-wrap-p eieio-make-class-predicate srecode-template-inserter-include-wrap srecode-template-inserter-include-wrap--eieio-childp eieio-make-child-predicate srecode-template-inserter-include-wrap-child-p make-obsolete "use (cl-typep ... \\='srecode-template-inserter-include-wrap) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (srecode-template-inserter-include srecode-template-inserter-section-start) ((key :initform 60 :allocation :class :documentation "The character code used to identify inserters of this style.")) (:documentation "Include a different template into this one, and add text at the ^ macro.\nThe included template will have additional dictionary entries from the subdictionary\nstored specified by this macro.  If the included macro includes a ^ macro,\nthen the text between this macro and the end macro will be inserted at\nthe ^ macro.")] 6)
#@95 Create a new object of class type `srecode-template-inserter-include-wrap'.

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

(fn WHOLE &rest SLOTS)
(defalias 'srecode-template-inserter-include-wrap--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 40515)])
(byte-code "\300\301\302\303\302\304%\210\300\305\302\306\307\310%\210\300\301\302\311\302\312%\210\313\314!\207" [cl-generic-define-method srecode-inserter-prin-example nil ((_ins (subclass srecode-template-inserter-include-wrap)) escape-start escape-end) #[771 "\300\301!\210\300!\210\300\302!\210\300!\210\303 \210\300\304!\210\303 \210\300\301!\210\300!\210\300\305!\210\300!\210\303 \207" [princ "   " "<DICTNAME:contextname:templatename" terpri "     Template Text to insert at ^ macro" "/DICTNAME"] 5 "Insert an example using inserter INS.\nArguments ESCAPE-START and ESCAPE-END are the current escape sequences in use.\n\n(fn INS ESCAPE-START ESCAPE-END)"] srecode-insert-method ((sti srecode-template-inserter-include-wrap) dictionary) t #[771 "\301\"\210\302\303\304\"GT\305\306\307\310\311!\312\"\313\314%B )\207" [srecode-template-inserter-point-override srecode-insert-include-lookup eieio-oref-default srecode-template active make-byte-code 257 "\302\303\304\300\305\"\"\203\306\300\307#\202\310\300\307#)\207" vconcat vector [srecode-template-inserter-point-override nil srecode-dictionary-lookup-name eieio-oref object-name srecode-insert-method-helper template srecode-insert-subtemplate] 6 "\n\n(fn DICT)"] 10 "Insert the template STI.\nThis will first insert the include part via inheritance, then\ninsert the section it wraps into the location in the included\ntemplate where a ^ inserter occurs.\n\n(fn CL--CNM STI DICTIONARY)"] ((ins (subclass srecode-template-inserter)) escape-start escape-end) #[771 "\300\301!\210\300!\210\302\303\"\203!\304\303\"\203!\300\305\306\304\303\"\"!\210\300\307!\210\300!\210\310 \207" [princ "   " slot-exists-p key eieio-oref format "%c" "VARNAME" terpri] 9 "Insert an example using inserter INS.\nArguments ESCAPE-START and ESCAPE-END are the current escape sequences in use.\n\n(fn INS ESCAPE-START ESCAPE-END)"] provide srecode/insert] 6)

Zerion Mini Shell 1.0