summaryrefslogtreecommitdiff
path: root/geiser/xref.scm
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2010-09-05 02:32:57 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2010-09-05 02:32:57 +0200
commit7ecebbc06fdedf20bcad07e0740214feb197a4d1 (patch)
treeceea96307559b29a9431ac027d92b6129d098191 /geiser/xref.scm
parent09f49941e2fff04f9bda4eaf1261d3fb1161907b (diff)
downloadgeiser-guile-7ecebbc06fdedf20bcad07e0740214feb197a4d1.tar.gz
geiser-guile-7ecebbc06fdedf20bcad07e0740214feb197a4d1.tar.bz2
Guile: xref commands working again
Diffstat (limited to 'geiser/xref.scm')
-rw-r--r--geiser/xref.scm13
1 files changed, 6 insertions, 7 deletions
diff --git a/geiser/xref.scm b/geiser/xref.scm
index 4f1b2cc..7dfa8af 100644
--- a/geiser/xref.scm
+++ b/geiser/xref.scm
@@ -48,20 +48,19 @@
(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)))
+ ((program-path p) => (lambda (s) (make-location s #f)))
(else #f)))
(define (program-path p)
(let* ((mod (program-module p))
- (name (and mod (module-name mod))))
+ (name (and (module? mod) (module-name mod))))
(and name (module-path name))))
(define (procedure-xref proc . mod-name)
- (let ((proc-name (or (procedure-name proc) '<anonymous>))
- (mod-name (if (null? mod-name)
- (symbol-module proc-name)
- (car mod-name))))
+ (let* ((proc-name (or (procedure-name proc) '<anonymous>))
+ (mod-name (if (null? mod-name)
+ (symbol-module proc-name)
+ (car mod-name))))
(make-xref proc proc-name mod-name)))
(define (callers sym)