X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcode%2Fdefboot.lisp;h=b7d3c0fdaa815c797c24ac4e58e3b81849787134;hb=830db48da09c88c0e91b11e2991d21b2a1af2579;hp=f87d263331a339c4ac0f313e28fb31843bd83ff0;hpb=4898ef32c639b1c7f4ee13a5ba566ce6debd03e6;p=sbcl.git diff --git a/src/code/defboot.lisp b/src/code/defboot.lisp index f87d263..b7d3c0f 100644 --- a/src/code/defboot.lisp +++ b/src/code/defboot.lisp @@ -19,6 +19,7 @@ ;;;; files for more information. (in-package "SB!IMPL") + ;;;; IN-PACKAGE @@ -200,10 +201,12 @@ #-sb-xc-host ,named-lambda #+sb-xc-host (fdefinition ',name) ,doc - ',inline-lambda)))))) + ',inline-lambda + (sb!c:source-location))))))) #-sb-xc-host -(defun %defun (name def doc inline-lambda) +(defun %defun (name def doc inline-lambda source-location) + (declare (ignore source-location)) (declare (type function def)) (declare (type (or null simple-string) doc)) (aver (legal-fun-name-p name)) ; should've been checked by DEFMACRO DEFUN @@ -235,7 +238,9 @@ (eval-when (:compile-toplevel) (%compiler-defvar ',var)) (eval-when (:load-toplevel :execute) - (%defvar ',var (unless (boundp ',var) ,val) ',valp ,doc ',docp)))) + (%defvar ',var (unless (boundp ',var) ,val) + ',valp ,doc ',docp + (sb!c:source-location))))) (defmacro-mundanely defparameter (var val &optional (doc nil docp)) #!+sb-doc @@ -248,27 +253,31 @@ (eval-when (:compile-toplevel) (%compiler-defvar ',var)) (eval-when (:load-toplevel :execute) - (%defparameter ',var ,val ,doc ',docp)))) + (%defparameter ',var ,val ,doc ',docp (sb!c:source-location))))) (defun %compiler-defvar (var) (sb!xc:proclaim `(special ,var))) #-sb-xc-host -(defun %defvar (var val valp doc docp) +(defun %defvar (var val valp doc docp source-location) (%compiler-defvar var) (when valp (unless (boundp var) (set var val))) (when docp (setf (fdocumentation var 'variable) doc)) + (sb!c:with-source-location (source-location) + (setf (info :source-location :variable var) source-location)) var) #-sb-xc-host -(defun %defparameter (var val doc docp) +(defun %defparameter (var val doc docp source-location) (%compiler-defvar var) (set var val) (when docp (setf (fdocumentation var 'variable) doc)) + (sb!c:with-source-location (source-location) + (setf (info :source-location :variable var) source-location)) var) ;;;; iteration constructs