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)) | 
