• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/emacs-93/emacs/lisp/emacs-lisp/

Lines Matching defs:macro

51 ;; hook that you can attach to any function/macro/subr.
246 ;; The main means of defining a piece of advice is the macro `defadvice',
255 ;; <function> is the name of the function/macro/subr to be advised.
295 ;; at macro-expansion/compile time of this `defadvice'. This
319 ;; Suppose a function/macro/subr/special-form has N pieces of before advice,
325 ;; ([macro] lambda <arglist>
347 ;; [macro] in the beginning of the definition.
473 ;; special keyword `ad-arg-bindings' which is a text macro that will be
518 ;; it conses up arguments. The macro `ad-define-subr-args' can be used by
594 ;; check whether the function/macro they defined had advice information
807 ;; implemented as a macro, hence, in most cases the byte-compiler will
914 ;; - ad-compile byte-compiles a function/macro if it is compilable.
926 ;; ad-arg-bindings text macro that returns the actual names, values
932 ;; ad-do-it text macro that identifies the place where the original
959 ;; use the macro `defadvice' which takes a function name, a list of advice
1595 ;; Because of &rest arguments we need a second kind of access macro that
1725 ;; time points in the invocation of a macro: Expansion and evaluation time.
1726 ;; For an advised macro instead of evaluating the original definition we
1728 ;; environments by pieces of advice has an affect during macro expansion
1730 ;; of pieces of advice will occur during macro expansion. To also affect
1747 ;; macro expansion:
1780 ;; because it allows one to influence macro expansion as well as evaluation.
1782 ;; particular, because compile-time macro expansion takes away a lot of the
1946 ;; Make sure the compiler is loaded during macro expansion:
2050 ;; Don't make this a macro so we can use it as a predicate:
2463 "Take a lambda function DEFINITION and make a macro out of it."
2464 `(cons 'macro ,definition))
2467 "Take a macro function DEFINITION and make a lambda out of it."
2496 (defmacro ad-macro-p (definition)
2497 ;;"non-nil if DEFINITION is a macro."
2498 `(eq (car-safe ,definition) 'macro))
2518 (and (ad-macro-p ,definition)
2523 `(if (ad-macro-p ,compiled-definition)
2528 "Return the lambda expression of a function/macro/advice DEFINITION."
2531 ((ad-macro-p definition)
2638 (ad-macro-p definition)
2647 (if (ad-macro-p definition)
2648 'macro
2685 (ad-macro-p (symbol-function function)))
2689 "Byte-compiles FUNCTION (or macro) if it is not yet compiled."
3069 (orig-macro-p (ad-macro-p origdef))
3076 (cond (orig-macro-p nil)
3088 (cond ((or orig-special-form-p orig-macro-p)
3091 ;; macro that does the correct thing when it gets eval'ed.
3093 ;; macro and return that. This way compiled advised macros
3097 ;; at macro expansion time or not. For special forms there
3099 ;; compiler, hence we just evaluate the original at macro
3103 `(,(if orig-macro-p 'macroexpand 'eval)
3124 (cond (orig-macro-p 'macro)
3139 It constructs a function or macro definition according to TYPE which has to
3140 be either `macro', `function' or `special-form'. ARGS is the argument list
3191 `(,@(if (memq type '(macro special-form)) '(macro))
3233 ;; 4) the type of the original function (macro, subr, etc.)
3244 ;; macro, or a subr became a function
3483 (let* ((macro-p (ad-macro-p frozen-definition))
3484 (body (cdr (if macro-p
3494 (,(if macro-p 'defmacro 'defun)
3805 `preactivate': Preactivates the advised FUNCTION at macro-expansion/compile
3865 ,(cond ((ad-macro-p (car preactivation))
3886 undone on exit of this macro."
3915 ;; they had outside this macro call: