;ELC ;;; compiled by rms@mole.gnu.ai.mit.edu on Tue Jul 12 02:47:26 1994 ;;; from file /home/fsf/rms/e19/lisp/backquote.el ;;; emacs version 19.25.16. ;;; 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"))) (error "`/home/fsf/rms/e19/lisp/backquote.el' was compiled for Emacs 19")) (provide (quote backquote)) (defalias 'backquote-list*-function #[(first &rest list) "ƒ*\nÃB‰ Aƒ\" @ÃB¡ˆ A A‰‚ @¡ˆ\f+‡\n‡" [list rest first nil newlist last] 4 "\ 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 "\ Like `list' but the last argument is the tail of the new list. For example (backquote-list* 'a 'b 'c) => (a b . c)"])) (byte-code "ÀÁÂK\"‡" [defalias backquote-list* backquote-list*-macro] 3) (defvar backquote-backquote-symbol (quote \`) "\ *Symbol used to represent a backquote or nested backquote (e.g. `).") (defvar backquote-unquote-symbol (quote \,) "\ *Symbol used to represent an unquote (e.g. `,') inside a backquote.") (defvar backquote-splice-symbol (quote \,@) "\ *Symbol used to represent a splice (e.g. `,@') inside a backquote.") (defalias 'backquote '(macro . #[(arg) "À !A‡" [backquote-process arg] 2 "\ 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."])) (byte-code "ÀÁÂK\"ˆÀÃÄ\"ˆÀÅÆ\"‡" [defalias \` backquote 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] 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]] 3)