%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/emacs-lisp/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/emacs-lisp/backquote.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.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(provide 'backquote)
#@123 Like `list' but the last argument is the tail of the new list.

For example (backquote-list* \='a \='b \='c) => (a b . c)
(defalias 'backquote-list*-function #[(first &rest list) "\203*\n\305B\211	A\203\"\f	@\305B\241\210\fA	A\211\202
\f	@\241\210+\207\n\207" [list rest first newlist last nil] 4 (#$ . 430)])
#@123 Like `list' but the last argument is the tail of the new list.

For example (backquote-list* \='a \='b \='c) => (a b . c)
(defalias 'backquote-list*-macro '(macro . #[(first &rest list) "	B\237\211@	A\211\203.	@	A\305\nE\203+\305@\fEA\211\204\f+\207\207" [first list second rest newlist cons] 4 (#$ . 758)]))
(byte-code "\300\301\302K\"\207" [defalias backquote-list* backquote-list*-macro] 3)
#@59 Symbol used to represent a backquote or nested backquote.
(defconst backquote-backquote-symbol '\` (#$ . 1176))
#@57 Symbol used to represent an unquote inside a backquote.
(defconst backquote-unquote-symbol '\, (#$ . 1294))
#@55 Symbol used to represent a splice inside a backquote.
(defconst backquote-splice-symbol '\,@ (#$ . 1408))
#@500 Argument STRUCTURE describes a template to build.

The whole structure acts as if it were quoted except for certain
places where expressions are evaluated and inserted or spliced in.

For example:

b              => (ba bb bc)		; assume b has this value
\=`(a b c)       => (a b c)		; backquote acts like quote
\=`(a ,b c)      => (a (ba bb bc) c)	; insert the value of b
\=`(a ,@b c)     => (a ba bb bc c)	; splice in the value of b

Vectors work just like lists.  Nested backquotes are permitted.
(defalias 'backquote '(macro . #[(structure) "\301!A\207" [structure backquote-process] 2 (#$ . 1521)]))
(byte-code "\300\301\302K\"\207" [defalias \` backquote] 3)
#@92 Process a (un|back|splice)quote inside a backquote.
This simply recurses through the body.
(defalias 'backquote-delay-process #[(s level) "\303\304\305@DBC\306A	\"\"\211\242\305=\203\304\202\307\n)B\207" [s level exp backquote-listify 0 quote backquote-process 1] 6 (#$ . 2192)])
#@441 Process the body of a backquote.
S is the body.  Returns a cons cell whose cdr is piece of code which
is the macro-expansion of S, and whose car is a small integer whose value
can either indicate that the code is constant (0), or not (1), or returns
a list which should be spliced into its environment (2).
LEVEL is only used internally and indicates the nesting level:
0 (the default) is for the toplevel nested inside a single backquote.
(defalias 'backquote-process #[(s &optional level) "\204\306\307	!\203W\310\311	\312\"\"\211@\306U\203!\306	B\202U\313\nA<\204/\314\nAD\202T\nA@\315=\203?\316\nAAB\202T\nA@\311=\203O\314\nAAB\202T\317\320\nAEB)\207	:\204u\306	\203l	\321=\204l	9\204p	\202s\322	DB\207	@=\203\247\306X\203\241	G\323V\203\216\324\325	\"\207	A@\242\322=\203\233\306\202\234\313	A@B\207\326	S\"\207	@\f=\203\314\306X\203\306	G\323V\203\300\324\327	\"\207\323	A@B\207\326	S\"\207	@
=\203\331\326	T\"\207	\312\211\211\211\211
\211:\203H@=\204H@
=\204H\310@\"\211@\323U\2038\204
\312

\203*\330
\331\"BAB\312
\202?
B
A\211\202\354\204R
\203`\330
\310\"\"BA\204o@\242\f=\203w\311\237B\202z@\203\213\330\313B\"\242\322=\203\227\306\202\230\313.B\207" [level s n backquote-unquote-symbol backquote-splice-symbol backquote-backquote-symbol 0 vectorp backquote-process append nil 1 vconcat list vector apply #'vector t quote 2 error "Multiple args to , are not supported: %S" backquote-delay-process "Multiple args to ,@ are not supported: %S" backquote-listify (0) expression lists firstlist item rest] 7 (#$ . 2486)])
(defalias 'backquote-listify #[(list old-tail) "\306A	\306@\307U\203\310\f!\306:\203B@A
\2040\2040\n@\307U\2048\nA
B\202\310\nA!\fB\202\f\203|\204N\311\fD
\203x
A\206c
@:\205c
@@
=\211\203m\312\202n\313\314
\fC\")B\202\f\202\301
B,\207" [old-tail list item list-tail tail heads nil 0 eval quote backquote-list* cons append backquote-splice-symbol use-list*] 5])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\306\302\307#\210\300\306\304\305#\207" [put \, function-documentation "See `\\=`' (also `pcase') for the usage of `,'." reader-construct t \,@ "See `\\=`' for the usage of `,@'."] 4)

Zerion Mini Shell 1.0