diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-03-06 00:55:41 +0100 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-03-06 00:55:41 +0100 |
commit | 1f8abf10f7167cacf122a2eaa50acc66f0974d53 (patch) | |
tree | b63266a8cd8efb27ac07cec9936c432793666979 /scheme | |
parent | 754aa7a194c412f52b4733142566ed5e33a04f4f (diff) | |
download | geiser-guile-1f8abf10f7167cacf122a2eaa50acc66f0974d53.tar.gz geiser-guile-1f8abf10f7167cacf122a2eaa50acc66f0974d53.tar.bz2 |
A bit more robust generic methods.
Diffstat (limited to 'scheme')
-rw-r--r-- | scheme/guile/geiser/xref.scm | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/scheme/guile/geiser/xref.scm b/scheme/guile/geiser/xref.scm index c94835a..cb39c5d 100644 --- a/scheme/guile/geiser/xref.scm +++ b/scheme/guile/geiser/xref.scm @@ -46,17 +46,17 @@ (define (describe-method name m) (let ((proc (method-procedure m))) (if proc - `((location . ,(program-location proc)) + `((location . ,(or (program-location proc) (symbol-location name))) (signature . ,(object-signature name proc))) '()))) (define (program-location p) - (cond ((not (program? p)) '()) + (cond ((not (program? p)) #f) ((program-source p 0) => (lambda (s) (make-location (program-path p) (source:line s)))) ((program-path p) => (lambda (s) (make-location (program-path p) #f))) - (else '()))) + (else #f))) (define (program-path p) (let* ((mod (program-module p)) |