Make sure this works with slime. IIRC slime doesn't understand logical pathnames as source locations currently. FWIW I've used the below to adjust the source pointers in the past.
(defun fix-abcl-src-pointers ()
(do-all-symbols (sym)
(let ((s (get sym 'system::%source)))
(when (and s (consp s) (pathnamep (car s)) (search '("org" "armedbear") (pathname-directory (car s)) :test 'equal))
(let ((new-pname
(cond ((find #\! (namestring (car s)))
(format nil "abcl-src:~a"
(substitute #\; #\/
(subseq (namestring (car s))
(+ 2 (position #\! (namestring (car s))))))
))
((position "src" (pathname-directory (car s)) :test 'equal)
(format nil "abcl-src:~{~A;~}~a.~a"
(subseq (pathname-directory (car s))
(1+ (position "src" (pathname-directory (car s)) :test 'equal)))
(pathname-name (car s))
(pathname-type (car s)))))))
(when new-pname
(setf (car s) (translate-logical-pathname new-pname)))
)))))
I define the logical pathname ABCL-SRC to be wherever the src directory is, e.g