diff options
| author | jao <jao@gnu.org> | 2026-05-10 19:33:18 +0200 |
|---|---|---|
| committer | jao <jao@gnu.org> | 2026-05-10 19:33:18 +0200 |
| commit | 31d2ab5fc4c4dc589e69dbfa7ad3a6f77410ead7 (patch) | |
| tree | 0d14ffe207a4c0160aecff4d1352138ee0487a80 /src | |
| parent | a0f111f8dedd31c593c4ed12c0b99745f3c1340f (diff) | |
| download | geiser-guile-31d2ab5fc4c4dc589e69dbfa7ad3a6f77410ead7.tar.gz geiser-guile-31d2ab5fc4c4dc589e69dbfa7ad3a6f77410ead7.tar.bz2 | |
ensuring absolute paths in locations of system definitions
this one should fix #64: when asking guile for the path of a core module,
it'll answer with a relative path that must be resolved against the load path.
Diffstat (limited to 'src')
| -rw-r--r-- | src/geiser/modules.scm | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/geiser/modules.scm b/src/geiser/modules.scm index 32b0f1f..db694ca 100644 --- a/src/geiser/modules.scm +++ b/src/geiser/modules.scm @@ -1,6 +1,6 @@ ;;; modules.scm -- module metadata -;; Copyright (C) 2009, 2010, 2011, 2018 Jose Antonio Ortega Ruiz +;; Copyright (C) 2009, 2010, 2011, 2018, 2026 Jose Antonio Ortega Ruiz ;; This program is free software; you can redistribute it and/or ;; modify it under the terms of the Modified BSD License. You should @@ -80,8 +80,9 @@ (define (module-path module-name) (and (module-name? module-name) - (or ((@@ (ice-9 session) module-filename) module-name) - (module-filename (resolve-module module-name #f))))) + (let ((file (or ((@@ (ice-9 session) module-filename) module-name) + (module-filename (resolve-module module-name #f))))) + (and (string? file) (%search-load-path file))))) (define (submodules mod) (hash-map->list (lambda (k v) v) (module-submodules mod))) |
