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 | ea52102ada24aece8efec96fbd37ce302805cdaf (patch) | |
tree | 0d4b9d14bf2fce49cb7dd1561960adfd09940531 | |
parent | 7b77380c3fe79764648c47268dd3dcca5d48b32b (diff) | |
download | geiser-guile-ea52102ada24aece8efec96fbd37ce302805cdaf.tar.gz geiser-guile-ea52102ada24aece8efec96fbd37ce302805cdaf.tar.bz2 |
A bit more robust generic methods.
-rw-r--r-- | geiser/xref.scm | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/geiser/xref.scm b/geiser/xref.scm index c94835a..cb39c5d 100644 --- a/geiser/xref.scm +++ b/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)) |