Named form when it appears in the compiler input. Lambda-List is a DEFMACRO
style lambda-list used to parse the arguments. The Body should return a
list of subforms suitable for a \"~{~S ~}\" format string."
- (let ((n-whole (gensym)))
+ (with-unique-names (whole)
`(setf (gethash ',name *source-context-methods*)
- (lambda (,n-whole)
- (destructuring-bind ,lambda-list ,n-whole ,@body)))))
-
-(defmacro def-source-context (&rest rest)
- (deprecation-warning 'def-source-context 'define-source-context)
- `(define-source-context ,@rest))
+ (lambda (,whole)
+ (destructuring-bind ,lambda-list ,whole ,@body)))))
(define-source-context defstruct (name-or-options &rest slots)
(declare (ignore slots))
(compiler-error-context-original-source last)))
(note-message-repeats stream)
(setq last nil)
- (pprint-logical-block (stream nil :per-line-prefix "; ")
- (format stream " ~A" form))
+ (pprint-logical-block (stream nil :per-line-prefix "; ")
+ (princ form stream))
(fresh-line stream))
(unless (and last
(values))
;; Issue a note when we might or might not be in the compiler.
- (defun maybe-compiler-notify (&rest rest)
+ (defun maybe-compiler-notify (datum &rest args)
(if (boundp '*lexenv*) ; if we're in the compiler
- (apply #'compiler-notify rest)
- (with-condition (condition (car rest) (cdr rest))
+ (apply #'compiler-notify datum args)
+ (with-condition (condition datum args)
(let ((stream *error-output*))
(pprint-logical-block (stream nil :per-line-prefix ";")
(format stream " note: ~3I~_")