;ELC ;;; compiled by kwzh@nutrimat.gnu.ai.mit.edu on Thu Jun 15 18:22:44 1995 ;;; from file /gd/gnu/emacs/19.0/lisp/backquote.el ;;; emacs version 19.28.94.3. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.28.90"))) (error "`backquote.el' was compiled for Emacs 19.29 or later")) (provide (quote backquote)) #@117 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) "ƒ*\nÃB‰ Aƒ\" @ÃB¡ˆ A A‰‚ @¡ˆ\f+‡\n‡" [list rest first nil newlist last] 4 (#$ . 514)]) #@117 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) "À \nB!‰@\nA‰ƒ3\n@\nAÅ E\fƒ/Å\f@E\fA‰„ +‡ ‡" [reverse first list second rest cons newlist] 4 (#$ . 795)])) (byte-code "ÀÁÂK\"‡" [defalias backquote-list* backquote-list*-macro] 3) #@69 *Symbol used to represent a backquote or nested backquote (e.g. `). (defvar backquote-backquote-symbol (quote \`) (#$ . -1179)) #@69 *Symbol used to represent an unquote (e.g. `,') inside a backquote. (defvar backquote-unquote-symbol (quote \,) (#$ . -1313)) #@68 *Symbol used to represent a splice (e.g. `,@') inside a backquote. (defvar backquote-splice-symbol (quote \,@) (#$ . -1445)) #@494 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 . #[(arg) "À !A‡" [backquote-process arg] 2 (#$ . 1577)])) (byte-code "ÀÁÂK\"‡" [defalias \` backquote] 3) (defalias 'backquote-process #[(s) "À !ƒCÂà Ä\"!‰@ÆUƒÆ B‚AÇ A@È=ƒ+É AAB‚@ A@Ã=ƒ;Ê AAB‚@ËÌ AEB)‡ :„aÆ ƒX Í=„X 9„\\ ‚_Î DB‡ @=ƒoÇ A@B‡ @=ƒ}Ñ A@B‡ @=ƒŽÂ‰ A@!A!‡ ĉ‰‰‰‰:ƒÿ@=ƒ¸A@DCÂ@!‰@ÑUƒï„ÒăáØÙ\"BABÄ‚öBA‰‚¡„ ƒØÂ!\"BA„&@¢=ƒ.ßB‚1@ƒBØÇB\"¢Î=ƒRÆÎ DB‚VÇB.‡" [vectorp s backquote-process append nil n 0 1 list vector vconcat apply (function vector) t quote backquote-unquote-symbol backquote-splice-symbol 2 backquote-backquote-symbol expression lists firstlist item rest backquote-listify (0)] 7]) (defalias 'backquote-listify #[(list old-tail) "À A\nÀ @ÇUƒÈ !À\f:ƒF\f@\fA„2 „2 @ÇU„< AB‚È A! B‚ ƒ… „RÉ DƒA†k@:…k@@\n=‰ ƒuÌ‚vÍÎ C\")B‚‰ ‚‰ÂB,‡" [nil old-tail list item list-tail tail heads 0 eval quote backquote-splice-symbol use-list* backquote-list* cons append] 5])