Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Tree: 6784d57ea1
Fetching contributors…

Cannot retrieve contributors at this time

100 lines (88 sloc) 8.838 kB
;ELC
;;; Compiled by toups@deluge on Mon Feb 28 09:10:34 2011
;;; from file /home/toups/elisp/utils/macro-utils.el
;;; in Emacs version 23.1.1
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
(< (aref emacs-version (1- (length emacs-version))) ?A)
(or (and (boundp 'epoch::version) epoch::version)
(string-lessp emacs-version "19.29")))
(error "`macro-utils.el' was compiled for Emacs 19.29 or later"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(byte-code "\300\301!\210\300\302!\207" [require utils cl] 2)
(defalias 'non-empty-listp #[(o) "<\205 G\301V\207" [o 0] 2])
(defalias 'quotep #[(o) "<\205G\301V\205@\302=\207" [o 0 quote] 2])
(byte-code "\301\302\207" [*setter-symbols* (setq setf) nil] 1)
(defalias 'setterp #[(o) "<\205G\303V\205@\304\305\306\n#)\207" [o type *setter-symbols* 1 foldl #[(it ac) "\206 \n=\207" [ac o it] 2] nil] 4])
(defalias 'get-setter-symbols #[(form) "A\211\306\307\306\f:\203&\f@\310\n!\203 B\fA\nT\202 \237-\207" [form _ i f #1=#:--cl-var-- #2=#:--cl-var-- nil 1 oddp] 4])
(defalias 'get-setter-expressions #[(form) "A\211\306\307\306\f:\203&\f@\310\n!\203 B\fA\nT\202 \237-\207" [form _ i f #1=#:--cl-var-- #2=#:--cl-var-- nil 1 evenp] 4])
(defalias 'setter-binds-symbolp #[(sym form) "\302\303 !\"\207" [sym form in get-setter-symbols] 4])
(byte-code "\301\302\207" [*letter-symbols* (let let* lexical-let lexical-let*) nil] 1)
(defalias 'function-formp #[(form) "\301!\205\n@\302=\207" [form non-empty-listp function] 2])
(defalias 'prognp #[(form) "\301!\205\n@\302=\207" [form non-empty-listp progn] 2])
(defalias 'prog1p #[(form) "\301!\205\n@\302=\207" [form non-empty-listp prog1] 2])
(defalias 'prog-like #[(form) "\301!\206 \302!\207" [form prognp prog1p] 2])
(defalias 'letp #[(o) "\301!\205\n@\302=\207" [o non-empty-listp let] 2])
(defalias 'let*p #[(o) "\301!\205\n@\302=\207" [o non-empty-listp let*] 2])
(defalias 'let/*p #[(o) "\301!\206 \302!\207" [o letp let*p] 2])
(defalias 'defunp #[(o) "\301!\205\n@\302=\207" [o non-empty-listp defun] 2])
(defalias 'setqp #[(o) "\301!\205\n@\302=\207" [o non-empty-listp setq] 2])
(defalias 'let-likep #[(o) "\303!\205@\304\305\306\n#)\207" [o type *letter-symbols* non-empty-listp foldl #[(it ac) "\206 \n=\207" [ac it type] 2] nil] 4])
(defalias 'let-form-binds-symbolp #[(sym form) "\303\304\305 \211A@)\"\"\207" [sym form x in mapcar car] 6])
(defalias 'condp #[(o) "\301!\205\n@\302=\207" [o non-empty-listp cond] 2])
#@47 Not documented
(fn SYM FORM &optional (N 0))
(defalias 'count-free-usages-cond #[(sym form &rest #1=#:--cl-rest--) "\203\f\211A@\202 \303\203\304\305\306\307G\\D\"\210\310 \311\312\nA\"B!)\207" [#1# n form 0 signal wrong-number-of-arguments count-free-usages-cond 3 sum mapcar #[(x) "\302 @\"\302 \211A@)\"\\\207" [sym x count-free-usages] 5]] 5 (#$ . 2644)])
(defalias 'get-let-body #[(let-form) "\211AA)\207" [let-form x] 2])
(defalias 'get-let-binders #[(let-form) "\211A@)\207" [let-form x] 2])
(defalias 'get-cond-predicates #[(cond-form) "\301\302A\"\207" [cond-form mapcar car] 3])
(defalias 'get-cond-bodies #[(cond-form) "\301\302A\"\207" [cond-form mapcar cdr] 3])
(defalias 'lambdap #[(o) "\301!\205\n@\302=\207" [o non-empty-listp lambda] 2])
(defalias 'lambda-list-optionals #[(llist) "\302\303\"\211\203 A\202 )\207" [llist _ member-if #[(x) "\301=\207" [x &optional] 2]] 4])
(defalias 'lambda-list-rest #[(llist) "\302\303\"\211\203 A\202 )\207" [llist _ member-if #[(x) "\301=\207" [x &rest] 2]] 4])
(defalias 'lambda-list-normal-args #[(llist) "\302\303\"\211@)\207" [llist _ split-list-right #[(x) "\301=\206 \302=\207" [x &rest &optional] 2]] 4])
(defalias 'lambda-form-binds-symbolp #[(sym form) "\211A@)\304 \305\306\n\"\")\207" [form x llist sym in filter #[(x) "\301=\206 \302=?\207" [x &optional &rest] 2]] 6])
(defalias 'get-lambda-body #[(form) "\211AA)\207" [form x] 2])
(byte-code "\301\302\207" [*defunners* (defun defun*) nil] 1)
(defalias 'defun-likep #[(o) "\302!\205\f\303@ \304#\207" [o *defunners* non-empty-listp in eq] 4])
(defalias 'third-on #[(lst) "AA\207" [lst] 1])
(defalias 'fletp #[(form) "<\205 @\301=\207" [form flet] 2])
#@47 Not documented
(fn SYM FORM &optional (N 0))
(defalias 'count-free-usages-let #[(sym form &rest #1=#:--cl-rest--) "\203\f\211A@\202 \306\203\307\310\311\312G\\D\"\210\313\314\315\316\317\n!\"\"\320 \321\322\n!B\306#\f \\+\207" [#1# n form sym n-in-body n-in-binders 0 signal wrong-number-of-arguments count-free-usages-let 3 apply + mapcar #[(x) "\302 \211A@)\303#\207" [sym x count-free-usages 0] 5] get-let-binders count-free-usages progn get-let-body] 6 (#$ . 4376)])
#@47 Not documented
(fn SYM FORM &optional (N 0))
(defalias 'count-free-usages-let* #[(sym form &rest #1=#:--cl-rest--) "\203\f\211A@\202 \306\203\307\310\311\312G\\D\"\210\313\314\n!\315\"@\316\317\320\321 \"\"\314\n!G GU\203D\f\322 \323\324\n!B\306#\\\202E\f+\207" [#1# n form binders-before-binding-sym n-in-unbound-binders sym 0 signal wrong-number-of-arguments count-free-usages-let* 3 split-list-left get-let-binders #[(br) "@ =\207" [br sym] 2] apply + mapcar #[(x) "\302 \211A@)\303#\207" [sym x count-free-usages 0] 5] count-free-usages progn get-let-body] 6 (#$ . 4868)])
#@47 Not documented
(fn SYM FORM &optional (N 0))
(defalias 'count-free-usages-let-like #[(sym form &rest #1=#:--cl-rest--) "\203\f\211A@\202 \304\203\305\306\307\310G\\D\"\210\311\n!\203*\312 \n #\2025\313\n!\2055\314 \n #)\207" [#1# n form sym 0 signal wrong-number-of-arguments count-free-usages-let-like 3 letp count-free-usages-let let*p count-free-usages-let*] 5 (#$ . 5469)])
#@47 Not documented
(fn SYM FORM &optional (N 0))
(defalias 'count-free-usages #[(sym form &rest #1=#:--cl-rest--) "\203\f\211A@\202 \304\203\305\306\307\310G\\D\"\210\n9\2030\n =\203, T\202\271 \202\271\n\247\2039 \202\271\n;\203B \202\271\n<\205\271\311\n!\204S\312\n!\203`\313\314 \315\316\nA\"B\"\202\271\317\n!\203n\320 \n #\202\271\321\n!\203\215\322 \n\"\203 \202\271\313\314 \315\323\324\n!\"B\"\202\271\325\n!\203\233\326 \n #\202\271\327\n!\203\257\313\314 \315\330\331\n!\"B\"\202\271\313\314 \315\332\nA\"B\")\207" [#1# n form sym 0 signal wrong-number-of-arguments count-free-usages 3 prog1p prognp apply + mapcar #[(sform) "\302 \"\207" [sym sform count-free-usages] 3] let-likep count-free-usages-let-like lambdap lambda-form-binds-symbolp #[(sform) "\302 \"\207" [sym sform count-free-usages] 3] get-lambda-body condp count-free-usages-cond setterp #[(sform) "\302 \"\207" [sym sform count-free-usages] 3] get-setter-expressions #[(subform) "\302 \303#\207" [sym subform count-free-usages 0] 4]] 7 (#$ . 5867)])
#@47 Not documented
(fn SYM FORM &optional (N 0))
(defalias 'count-free-usages-functions #[(sym form &rest #1=#:--cl-rest--) "\203\f\211A@\202 \304\203\305\306\307\310G\\D\"\210\n9\2030\n =\203, T\202\271 \202\271\n\247\2039 \202\271\n;\203B \202\271\n<\205\271\311\n!\204S\312\n!\203`\313\314 \315\316\nA\"B\"\202\271\317\n!\203n\320 \n #\202\271\321\n!\203\215\322 \n\"\203 \202\271\313\314 \315\323\324\n!\"B\"\202\271\325\n!\203\233\326 \n #\202\271\327\n!\203\257\313\314 \315\330\331\n!\"B\"\202\271\313\314 \315\332\nA\"B\")\207" [#1# n form sym 0 signal wrong-number-of-arguments count-free-usages-functions 3 prog1p prognp apply + mapcar #[(sform) "\302 \"\207" [sym sform count-free-usages] 3] let-likep count-free-usages-let-like lambdap lambda-form-binds-symbolp #[(sform) "\302 \"\207" [sym sform count-free-usages] 3] get-lambda-body condp count-free-usages-cond setterp #[(sform) "\302 \"\207" [sym sform count-free-usages] 3] get-setter-expressions #[(subform) "\302 \303#\207" [sym subform count-free-usages 0] 4]] 7 (#$ . 6934)])
(defalias 'print-and-return #[(f) "\301!\210\207" [f print] 2])
(defalias 'optimize-let-form-once #[(form) "@\211A@)\306!\211\307 \307\310\f :\203]@\211 @ \211A@)\f \233\311\f\nBB\"\211\312V\203O B,A\fT\f\202\313 !,\n+BB\207" [form x body bindings type-of-let new-bindings third-on nil 1 count-free-usages 0 reverse i binding #1=#:--cl-var-- sym val-form subsequent-bindings n-uses-in-sub-bindings] 8])
(defalias 'optimize-let-form #[(form) "\301\302\303#\207" [form fix optimize-let-form-once 10] 4])
(defalias 'symbols-in-form #[(form) "\301\302\303\304!\"!\207" [form unique filter symbolp flatten] 5])
(defalias 'nil->tbl #[(x) "\203\207\301 \207" [x tbl!] 1])
(byte-code "\301\302\303!\207" [*fundamentals* (if let let* cond lambda defun) provide macro-utils] 2)
Jump to Line
Something went wrong with that request. Please try again.