From 5effea9a610009e7ba9a23b80b1b546dae6c3006 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Wed, 30 Dec 2020 09:56:46 +0100 Subject: [PATCH] DEBUG: mes/module/mes/guile/module.mes --- mes/module/mes/boot-5.mes | 1 + mes/module/mes/guile/module.mes | 39 +++++++++++++++++++++++++++++---- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/mes/module/mes/boot-5.mes b/mes/module/mes/boot-5.mes index 1ee894c5..9571efbf 100644 --- a/mes/module/mes/boot-5.mes +++ b/mes/module/mes/boot-5.mes @@ -98,6 +98,7 @@ #t) (define-macro (define-module module . rest) + (display "BOOT-5 DEFINE-MODULE") #t) ;; end boot-02.scm diff --git a/mes/module/mes/guile/module.mes b/mes/module/mes/guile/module.mes index da1087a1..5d4b803c 100644 --- a/mes/module/mes/guile/module.mes +++ b/mes/module/mes/guile/module.mes @@ -517,12 +517,13 @@ path)) (define (%search-load-path file-name) - (when (> %debug 2) + (when #t ;;(> %debug 2) + (format (current-error-port) "%load-path ~s\n" %load-path) (format (current-error-port) "%search-load-path ~s\n" file-name)) (let ((file (or (search-path %load-path (string-append file-name ".mes")) (search-path %load-path (string-append file-name ".scm"))))) (when (> %debug 1) - (format (current-error-port) " => ~s\n" file)) + (format (current-error-port) " *file-name => ~s\n" file)) file)) @@ -1424,7 +1425,11 @@ (define (module-public-interface m) (module-ref m '%module-public-interface #f)) (define (set-module-public-interface! m i) - (module-define! m '%module-public-interface i)) + (pke "setting public-i:" (module-name m)) + (module-define! m '%module-public-interface i) + (when (module-name m) + (pke " ==> public-i" (module-name m) "=>" (module-public-interface m))) + ) (define (set-system-module! m s) (set-procedure-property! (module-eval-closure m) 'system-module s)) (define the-root-module (make-root-module)) @@ -1575,6 +1580,12 @@ identity)) (module (resolve-module name)) (public-i (and module (module-public-interface module)))) + (and (not module) + (error "no such module" name)) + (and (not public-i) + (format (current-error-port) " module=~s\n" module) + (error "module has no public-i" name)) + (pke "***have public-i***" name "=>" public-i) (and (or (not module) (not public-i)) (error "no code for module" name)) (if (and (not select) (null? hide) (eq? renamer identity)) @@ -1626,6 +1637,8 @@ (kws (cdr args)) (unrecognized (lambda (arg) (error "unrecognized define-module argument" arg)))) + (pke "process-define-module args=" args) + (pke "process-define-module name=" (module-name module)) (beautify-user-module! module) (let loop ((kws kws) (reversed-interfaces '()) @@ -1760,22 +1773,39 @@ (map (lambda (elt) (string-append (symbol->string elt) "/")) dir-hint-module-name)))) + (pke "try-module-autoload" module-name) + (pke "dir-hint" dir-hint) (resolve-module dir-hint-module-name #f) + (pke "resolft!") (and (not (autoload-done-or-in-progress? dir-hint name)) + (pke "...") (let ((didit #f)) ;; FIXME: *undefined* here is a terrible hack; it switches ;; toplevel for defines. (define (load-file *undefined* file) - (save-module-excursion (lambda () (primitive-load file))) + (pke "reading file:" file) + ;;(save-module-excursion (lambda () (primitive-load file))) + (save-module-excursion (lambda () + (pke "calling primitve-load...") + (primitive-load file))) (set! didit #t)) (dynamic-wind (lambda () (autoload-in-progress! dir-hint name)) (lambda () + (pke "gonna load..." dir-hint name) (let ((file (in-vicinity dir-hint name))) + (pke "FILE:" file) (cond ((and load-compiled (%search-load-path (string-append file ".go"))) => (lambda (full) (load-file load-compiled full))) + + ((%search-load-path file) + => (lambda (full) + ;;(save-module-excursion (lambda () (load-file 'primitive-load full))) + (load-file 'primitive-load full) + )) + ((%search-load-path file) => (lambda (full) (with-fluids ((current-reader #f)) @@ -2733,3 +2763,4 @@ (define-module (guile-user)) ;;; boot-9.scm ends here +(pke "guile/module.mes booted")