From 75a020cf12f776c5fee74905887e62b6cccca48e Mon Sep 17 00:00:00 2001 From: Raymond Toy <toy.raymond@gmail.com> Date: Tue, 18 Dec 2012 19:22:16 -0800 Subject: [PATCH] Add source-location information for DEFINE-COMPILER-MACRO. Patch from Helmut Eller, cmucl-imp 2012-12-16. --- src/code/macros.lisp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/code/macros.lisp b/src/code/macros.lisp index 934bcbb98..892e1cfb2 100644 --- a/src/code/macros.lisp +++ b/src/code/macros.lisp @@ -192,9 +192,9 @@ ;;; (defmacro define-symbol-macro (name expansion) `(eval-when (:compile-toplevel :load-toplevel :execute) - (%define-symbol-macro ',name ',expansion))) + (%define-symbol-macro ',name ',expansion (c::source-location)))) ;;; -(defun %define-symbol-macro (name expansion) +(defun %define-symbol-macro (name expansion source-location) (unless (symbolp name) (error 'simple-type-error :datum name :expected-type 'symbol :format-control (intl:gettext "Symbol macro name is not a symbol: ~S.") @@ -202,7 +202,8 @@ (ecase (info variable kind name) ((:macro :global nil) (setf (info variable kind name) :macro) - (setf (info variable macro-expansion name) expansion)) + (setf (info variable macro-expansion name) expansion) + (set-defvar-source-location name source-location)) (:special (error 'simple-program-error :format-control (intl:gettext "Symbol macro name already declared special: ~S.") -- GitLab