anchor.diff:              (let* ((buffer (getf (sb-c:definition-source-location-plist sl)
                                    :emacs-buffer))
                      ;; use in prder of decreasing preference:
  +                   ;; :emacs-buffer
  +                   ;;   (use buffer first, since C-c C-c is probably
  +                   ;;    on stuff that hasn't been saved yet, file may
  +                   ;;    not even exist yet)
                      ;; :emacs-filename from source-location-plist
  -                   ;; :emacs-buffer
                      ;; source-location-namestring (which gets stuff like
                      ;; "/tmp/fileRBYgJc" from C-c C-c in *slime-scratch*)
                      (file (or (getf (sb-c:definition-source-location-plist sl)
                                      :emacs-filename)
  -                             (and (not buffer)
  -                                  (sb-c:definition-source-location-namestring
  -                                      sl))))
  +                             (sb-c:definition-source-location-namestring
  +                                 sl)))
                      (position `((,@(if (sb-c:definition-source-location-plist
                                             sl)
  -                                      `(,@(if file '(:position) '(:offset 0))
  +                                      `(,@(if buffer '(:offset 0) '(:position))
                                             ,(or (getf (sb-c:definition-source-location-plist
                                                            sl)
                                                        :emacs-position)
  
positive.code: (defparameter *ps-source-file* nil)
  (defparameter *ps-source-position* nil)
  (defparameter *ps-source-buffer* nil)
  (defparameter *ps-source-definer-name* nil)
  
  ;;; macros
  
negative.code:            (let ((snippet (or snippet
                                #++(format nil "(~s ~s ~s ~{~s~}" definer name lambda-list body))))
               `(                  ;,(format nil "(~s ~s)" definer name)
                 ,@(if buffer
                       `((:buffer ,buffer))
                       `((:file ,file)
                         (:modified ,(file-write-date file))))
                   ,(or (assoc :position position)
                        (assoc :offset position)
                        (assoc :line position)
  