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