MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.216.116.62
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/cedet/srecode/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/cedet/srecode/dictionary.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:11:29 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/cedet/srecode/dictionary.el
;;; in Emacs version 24.3.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\304\305\306\307\310$\210\304\311\306\211\312$\210\304\313\314\315\316$\210\317\320\321\320\322\"\"\210\323\320\306\313\324$\207" [require eieio srecode srecode/table eieio-defclass srecode-dictionary nil ((namehash :initarg :namehash :documentation "Hash table containing the names of all the templates.") (buffer :initarg :buffer :documentation "The buffer this dictionary was initialized with.") (parent :initarg :parent :type (or null srecode-dictionary) :documentation "The parent dictionary.\nSymbols not appearing in this dictionary will be checked against the\nparent dictionary.") (origin :initarg :origin :type string :documentation "A string representing the origin of this dictionary.\nUseful only while debugging.")) ("Dictionary of symbols and what they mean.\nDictionaries are used to look up named symbols from\ntemplates to decide what to do with those symbols.") srecode-dictionary-compound-value ("A compound dictionary value.\nValues stored in a dictionary must be a STRING,\na dictionary for showing sections, or an instance of a subclass\nof this class.\n\nCompound dictionary values derive from this class, and must\nprovide a sequence of method implementations to convert into\na string." :abstract t) srecode-dictionary-compound-variable (srecode-dictionary-compound-value) ((value :initarg :value :documentation "The value of this template variable.\nVariables in template files are usually a single string\nwhich can be inserted into a dictionary directly.\n\nSome variables may be more complex and involve dictionary\nlookups, strings, concatenation, or the like.\n\nThe format of VALUE is determined by current template\nformatting rules.") (compiled :initarg :compiled :type list :documentation "The compiled version of VALUE.")) ("A compound dictionary value for template file variables.\nYou can declare a variable in a template like this:\n\nset NAME \"str\" macro \"OTHERNAME\"\n\nwith appending various parts together in a list.") eieio--defalias initialize-instance eieio--defgeneric-init-form #1="Initialize the compound variable THIS.\nMakes sure that :value is compiled." eieio--defmethod #[(this &optional fields) "\306\211\n\203'\n@\307=\203\nA@\202\nA@\n@	BB\nAA\211\204\310	\237\"\210\311\312\"?\205\204\313\314\"\306\211\203}
@\211;\203Q\fB\202u<\203o@\315\232\203o\316\317!\210\320A\"\fB\202u\321\322\"\210)
A\211\204@\323\324\f\237#**\207" [state newfields fields this comp val nil :state call-next-method slot-boundp compiled eieio-oref :value macro require srecode/compile srecode-compile-parse-inserter error "Don't know how to handle variable value %S" eieio-oset :compiled nval] 5 #1#]] 5)
#@456 Create a dictionary for BUFFER.
If BUFFER-OR-PARENT is not specified, assume a buffer, and
use the current buffer.
If BUFFER-OR-PARENT is another dictionary, then remember the
parent within the new dictionary, and assume that BUFFER
is the same as belongs to the parent dictionary.
The dictionary is initialized with variables setup for that
buffer's table.
If BUFFER-OR-PARENT is t, then this dictionary should not be
associated with a buffer or parent.
(defalias 'srecode-create-dictionary #[(&optional buffer-or-parent) "\212\306\211\211\211\307\f!\203\fq\210\f\310\f!\311\202\\\312\f!\203E\f\313\f\302\"\314\f!\315\n\2038\310\n!\2029\316Q\n\203\\\nq\210\202\\\f\311=\203R\306\317\202\\p\320\310\n!P\311\321
\322\n\323\324\325\326\327\330\331$\332	&	\203\214\333
!\333\334! \335\"\210\335 \"\210*.\207" [initfrombuff origin buffer parent buffer-or-parent major-mode nil bufferp buffer-name t srecode-dictionary-child-p eieio-oref object-name " in " "no buffer" "Unspecified Origin" "Unspecified.  Assume " srecode-dictionary :buffer :parent :namehash make-hash-table :test equal :size 20 :origin srecode-get-mode-table default srecode-dictionary-add-template-table dict def mt] 12 (#$ . 3302)])
(byte-code "\300\301\302\301\303\"\"\210\304\301\305\306\307$\210\300\310\302\310\311\"\"\210\304\310\305\306\312$\210\300\313\302\313\314\"\"\210\304\313\305\306\315$\210\300\316\302\316\317\"\"\210\304\316\305\306\320$\210\300\321\302\321\322\"\"\210\304\321\305\306\323$\210\300\324\302\324\325\"\"\210\304\324\305\306\326$\210\300\327\302\327\330\"\"\210\304\327\305\306\331$\210\300\332\302\332\333\"\"\210\304\332\305\306\334$\210\300\335\302\335\336\"\"\210\304\335\305\306\337$\210\300\340\302\340\341\"\"\210\304\340\305\342\343$\210\300\344\302\344\345\"\"\210\304\344\305\342\346$\210\300\340\302\340\347\"\"\210\304\340\305\350\351$\210\300\344\302\344\345\"\"\210\304\344\305\350\352$\210\353\354\355\356\357$\210\300\340\302\340\360\"\"\210\304\340\305\354\361$\207" [eieio--defalias srecode-dictionary-add-template-table eieio--defgeneric-init-form #1="Insert into DICT the variables found in table TPL.\nTPL is an object representing a compiled template file." eieio--defmethod nil srecode-dictionary #[(dict tpl) "\205?\304\305\306\"!\307\310!\210	\205>\311	@!\2036\305	@\312\"\211\2035\313\n@@\n@A#\210\nA\211\204$)	A\211\204\314)\207" [tpl tabs vars dict reverse eieio-oref :tables require srecode/find srecode-template-table-in-project-p variables srecode-dictionary-set-value nil] 5 #1#] srecode-dictionary-set-value #2="In dictionary DICT, set NAME to have VALUE." #[(dict name value) ";\204\f\303\304\305D\"\210\306	\307\n\310\"#\207" [name value dict signal wrong-type-argument stringp puthash slot-value namehash] 6 #2#] srecode-dictionary-add-section-dictionary #3="In dictionary DICT, add a section dictionary for section macro NAME.\nReturn the new dictionary.\n\nYou can add several dictionaries to the same section entry.\nFor each dictionary added to a variable, the block of codes in\nthe template will be repeated.\n\nIf optional argument SHOW-ONLY is non-nil, then don't add a new dictionary\nif there is already one in place.  Also, don't add FIRST/LAST entries.\nThese entries are not needed when we are just showing a section.\n\nEach dictionary added will automatically get values for positional macros\nwhich will enable SECTIONS to be enabled.\n\n * FIRST - The first entry in the table.\n * NOTFIRST - Not the first entry in the table.\n * LAST - The last entry in the table\n * NOTLAST - Not the last entry in the table.\n\nAdding a new dictionary will alter these values in previously\ninserted dictionaries." #[(dict name &optional show-only force) ";\204\f\306\307\310D\"\210\311	!\312	\313#\f\204E\n\204+\314\315\"\210\314\316\"\210\202E\317\n!@\320
\316\"\210\314
\321\"\210)\314\322\"\210\314\316\"\210\204R\f\203R\n\204\\\323	\324\nC\"#\210*\207" [name dict ov new show-only tail signal wrong-type-argument stringp srecode-create-dictionary srecode-dictionary-lookup-name t srecode-dictionary-show-section "FIRST" "LAST" last srecode-dictionary-hide-section "NOTLAST" "NOTFIRST" srecode-dictionary-set-value append force] 6 #3#] srecode-dictionary-show-section #4="In dictionary DICT, indicate that the section NAME should be exposed." #[(dict name) ";\204\f\302\303\304D\"\210\305	\306#\210\307\207" [name dict signal wrong-type-argument stringp srecode-dictionary-add-section-dictionary t nil] 4 #4#] srecode-dictionary-hide-section #5="In dictionary DICT, indicate that the section NAME should be hidden." #[(dict name) ";\204\f\302\303\304D\"\210\305\306	\307\"\"\210\310\207" [name dict signal wrong-type-argument stringp remhash slot-value namehash nil] 5 #5#] srecode-dictionary-add-entries #6="Add ENTRIES to DICT.\n\nENTRIES is a list of even length of dictionary entries to\nadd. ENTRIES looks like this:\n\n  (NAME_1 VALUE_1 NAME_2 VALUE_2 ...)\n\nThe following rules apply:\n * NAME_N is a string\nand for values\n * If VALUE_N is t, the section NAME_N is shown.\n * If VALUE_N is a string, an ordinary value is inserted.\n * If VALUE_N is a dictionary, it is inserted as entry NAME_N.\n * Otherwise, a compound variable is created for VALUE_N.\n\nThe optional argument STATE has to non-nil when compound values\nare inserted. An error is signaled if ENTRIES contains compound\nvalues but STATE is nil." #[(dict entries &optional state) "\203V@A@	\305=\203\306\n\"\210\202M	;\203'\307\n	#\210\202M\310	!\2039\311\312\n\"	\305#\210\202M\f\204A\313\314!\210\307\n\315\n\316	\317\f%#\210*AA\211\204\207" [entries value name dict state t srecode-dictionary-show-section srecode-dictionary-set-value srecode-dictionary-child-p srecode-dictionary-merge srecode-dictionary-add-section-dictionary error "Cannot insert compound values without state." srecode-dictionary-compound-variable :value :state] 10 #6#] srecode-dictionary-merge #7="Merge into DICT the dictionary entries from OTHERDICT.\nUnless the optional argument FORCE is non-nil, values in DICT are\nnot modified, even if there are values of the same names in\nOTHERDICT." #[(dict otherdict &optional force) "\205\301\302\303\304\"\"\207" [otherdict maphash #[(key entry) "\204
\306	\n\307#?\205><\2039\310@!\2039\311\211\2057
@\312\313	\n\307\211$\f#\210
A\211\204!\311*\207\314	\n#\207" [force dict key entry sub-dict --dolist-tail-- srecode-dictionary-lookup-name t srecode-dictionary-p nil srecode-dictionary-merge srecode-dictionary-add-section-dictionary srecode-dictionary-set-value] 7] eieio-oref namehash] 5 #7#] srecode-dictionary-lookup-name #8="Return information about DICT's value for NAME.\nDICT is a dictionary, and NAME is a string that is treated as the\nname of an entry in the dictionary. If such an entry exists, its\nvalue is returned. Otherwise, nil is returned. Normally, the\nlookup is recursive in the sense that the parent of DICT is\nsearched for NAME if it is not found in DICT.  This recursive\nlookup can be disabled by the optional argument NON-RECURSIVE.\n\nThis function derives values for some special NAMEs, such as\n'FIRST' and 'LAST'." #[(dict name &optional non-recursive) "\303\304\"\205+\305	\306\304\"\"\206+\n?\205+	\307\235?\205+\306\310\"\205+\311\306\310\"	\"\207" [dict name non-recursive slot-boundp namehash gethash slot-value ("FIRST" "LAST" "NOTFIRST" "NOTLAST") parent srecode-dictionary-lookup-name] 5 #8#] srecode-root-dictionary #9="For dictionary DICT, return the root dictionary.\nThe root dictionary is usually for a current or active insertion." #[(dict) "\302	\303\"\203\302	\303\"\202	)\207" [dict ans eieio-oref parent] 3 #9#] srecode-compound-toString #10="Convert the compound dictionary value CP to a string.\nIf FUNCTION is non-nil, then FUNCTION is somehow applied to an aspect\nof the compound value.  The FUNCTION could be a fraction\nof some function symbol with a logical prefix excluded.\n\nIf you subclass `srecode-dictionary-compound-value' then this\nmethod could return nil, but if it does that, it must insert\nthe value itself using `princ', or by detecting if the current\nstandard out is a buffer, and using `insert'." srecode-dictionary-compound-value #[(cp function dictionary) "\301!\207" [cp object-name] 2 #10#] srecode-dump #11="Display information about this compound value." #[(cp &optional indent) "\301\302!!\207" [cp princ object-name] 3 #11#] #12="Convert the compound dictionary variable value CP into a string.\nFUNCTION and DICTIONARY are as for the baseclass." srecode-dictionary-compound-variable #[(cp function dictionary) "\302\303!\210\304\305\306\"	\"\207" [cp dictionary require srecode/insert srecode-insert-code-stream eieio-oref compiled] 4 #12#] #[(cp &optional indent) "\303\304!\210\305\306!\210\307\206\310\\\311	\312\"\313\n\314\315\"\"*\207" [indent cp cmp require srecode/compile princ "# Compound Variable #\n" 4 0 eieio-oref compiled srecode-dump-code-list make-string 32] 5 "Display information about this compound value."] eieio-defclass srecode-field-value (srecode-dictionary-compound-value) ((firstinserter :initarg :firstinserter :documentation "The inserter object for the first occurrence of this field.") (defaultvalue :initarg :defaultvalue :documentation "The default value for this inserter.")) ("When inserting values with editable field mode, a dictionary value.\nCompound values allow a field to be stored in the dictionary for when\nit is referenced a second time.  This compound value can then be\ninserted with a new editable field.") #13="Convert this field into an insertable string." #[(cp function dictionary) "\306\307!\210\310!\204\311\312!\210	\203\311\313!\210\202\201\314\n\315\"\314\n\316\"`\314\f\317\"\2046c\210\202i\320!\203F\321	#\210\202i;\203X\322\230\203Xc\210\202i;\203cc\210\202i\311\323\"\210\324\325\326
\327`\330\314\f\331\"\332\314\f\333\"&\210,\334\207" [standard-output function cp dv sti start require srecode/fields bufferp error "FIELDS invoked while inserting template to non-buffer" "@todo: Cannot mix field insertion with functions" eieio-oref defaultvalue firstinserter :object-name srecode-dictionary-compound-value-child-p srecode-compound-toString "" "Unknown default value for value %S" srecode-field :name :start :end :prompt prompt :read-fcn read-fcn nil name dictionary] 14 #13#]] 5)
#@485 Create a dictionary with entries according to TAGS.

TAGS should be in the format produced by the template file
grammar. That is

TAGS = (ENTRY_1 ENTRY_2 ...)

where

ENTRY_N = (NAME ENTRY_N_1 ENTRY_N_2 ...) | TAG

where TAG is a semantic tag of class 'variable. The (NAME ... )
form creates a child dictionary which is stored under the name
NAME. The TAG form creates a value entry or section dictionary
entry whose name is the name of the tag.

STATE is the current compiler state.
(defalias 'srecode-create-dictionaries-from-tags #[(tags state) "\304\305!\306\307\310\311\"\"\312\n	#\210\n*\207" [tags entries dict state srecode-create-dictionary t apply append mapcar #[(entry) "\306\307\310\217)\203=\211@)\211\311\312	\313	8)\n\"+\211<\2039G\314U\2039@;\2039@\202:*D\207@A\211\315
\"*D\207" [entry tag attribute value name entries nil (byte-code ":\205#@;\205#A@9\205#A@\205#\3018<\205#\3028<\207" [tag 2 3] 2) ((error)) :default-value plist-get 2 1 srecode-create-dictionaries-from-tags state] 5] srecode-dictionary-add-entries] 6 (#$ . 13776)])
#@43 Run data-debug on this mode's dictionary.
(defalias 'srecode-adebug-dictionary #[nil "\306\307!\210\306\310!\210\311 \312	!\210\313	!\206\314\315	\"\316p!\311 \317\320\n
\321\322
\n\"!*\"\210\323\324!\210\325\f\326\"-\207" [major-mode modesym start junk dict end require eieio-datadebug srecode/find current-time srecode-load-tables-for-mode srecode-get-mode-table error "No table found for mode %S" srecode-create-dictionary message "Creating a dictionary took %.2f seconds." float-time time-subtract data-debug-new-buffer "*SRECODE ADEBUG*" data-debug-insert-object-slots "*"] 6 (#$ . 14877) nil])
#@39 Dump a typical fabricated dictionary.
(defalias 'srecode-dictionary-dump #[nil "\306\307!\210\310	!\210\311	!\211\204\312\313	\"\210\314p!\fr\315\316!q\210p\317 \210
\320\211\321\211\321\322 \210\323\324!\210+\211 \325\326!\210\325!\210\325\327!\210\330!\331!\210.\207" [major-mode modesym tmp dict default-directory #1=#:old-dir require srecode/find srecode-load-tables-for-mode srecode-get-mode-table error "No table found for mode %S" srecode-create-dictionary get-buffer-create "*SRECODE DUMP*" kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook princ "DICTIONARY FOR " "\n--------------------------------------------\n" srecode-dump internal-temp-output-buffer-show buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only #2=#:buf standard-output] 4 (#$ . 15493) nil])
(byte-code "\300\301\302\301\303\"\"\210\304\301\305\306\307$\210\310\311!\207" [eieio--defalias srecode-dump eieio--defgeneric-init-form #1="Dump a dictionary." eieio--defmethod nil srecode-dictionary #[(dict &optional indent) "\204\302\303\304\305	\306\"\"\207" [indent dict 0 maphash #[(key entry) "\305\306\307\"!\210\305\310!\210\305	!\210\305\310!\210\n<\203R\311\n@!\203R\203)\312\\\202*\312\n\203J\305\313!\210\305\314\f!!\210\305\315!\210\316\n@\"\210\nA\211\204/)\305\315!\210\202h\317\n!\203d\316\n\"\210\305\315!\210\202h\320\n!\210\321 \207" [indent key entry newindent dict princ make-string 32 " " srecode-dictionary-p 4 " --> SUBDICTIONARY " object-name "\n" srecode-dump srecode-dictionary-compound-value-child-p prin1 terpri] 5] eieio-oref namehash] 5 #1#] provide srecode/dictionary] 5)

MMCT - 2023