diff --git a/src/c/compiler.d b/src/c/compiler.d index 2bf16b589..311d960b5 100644 --- a/src/c/compiler.d +++ b/src/c/compiler.d @@ -144,7 +144,7 @@ asm_end(cl_index beginning) { cl_object bytecodes; cl_index code_size, data_size, i; cl_opcode *code; - cl_object file = SYM_VAL(@'*load-pathname*'); + cl_object file = SYM_VAL(@'*load-truename*'); cl_object position = SYM_VAL(@'ext::*load-position*'); /* Save bytecodes from this session in a new vector */ diff --git a/src/lsp/config.lsp.in b/src/lsp/config.lsp.in index d711a5270..30959efbf 100644 --- a/src/lsp/config.lsp.in +++ b/src/lsp/config.lsp.in @@ -46,7 +46,7 @@ Returns, as a string, the location of the machine on which ECL runs." (defun lisp-implementation-version () "Args:() Returns the version of your ECL as a string." - "@PACKAGE_VERSION@ (CVS 2008-04-22 14:29)") + "@PACKAGE_VERSION@ (CVS 2008-04-22 15:00)") (defun machine-type () "Args: () diff --git a/src/lsp/top.lsp b/src/lsp/top.lsp index 671052a72..b9a19b452 100644 --- a/src/lsp/top.lsp +++ b/src/lsp/top.lsp @@ -684,13 +684,19 @@ under certain conditions; see file 'Copyright' for details.") (format *debug-io* " FRS[~d]: ---> IHS[~d],BDS[~d]~%" i (frs-ihs i) (frs-bds i))) -(defun break-where (&aux (fname (ihs-fname *ihs-current*))) +(defun break-where () (if (<= *tpl-level* 0) (format t "Top level.~%") - (format t "Broken at ~:@(~S~).~%" (ihs-fname *ihs-current*)))) + (tpl-print-current))) (defun tpl-print-current () - (format t "Broken at ~:@(~S~)." (ihs-fname *ihs-current*)) + (let ((name (ihs-fname *ihs-current*))) + (format t "Broken at ~:@(~S~)." name) + (when (fboundp name) + (multiple-value-bind (file position) + (si::bc-file (fdefinition name)) + (when file + (format t " File: ~S (Form #~D)" file position))))) (values)) (defun tpl-hide (fname)