mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-22 03:30:22 +02:00
(use-srfis, top-repl): Use process-use-modules, to
correctly handle duplicates between the core and other modules, in particular srfi-17 which should replace `car' etc (but didn't).
This commit is contained in:
parent
6ee5aca35c
commit
a59432a2ed
1 changed files with 17 additions and 15 deletions
|
@ -3313,13 +3313,11 @@
|
||||||
;; numbers, which are the numbers of the SRFIs to be loaded on startup.
|
;; numbers, which are the numbers of the SRFIs to be loaded on startup.
|
||||||
;;
|
;;
|
||||||
(define (use-srfis srfis)
|
(define (use-srfis srfis)
|
||||||
(let lp ((s srfis))
|
(process-use-modules
|
||||||
(if (pair? s)
|
(map (lambda (num)
|
||||||
(let* ((srfi (string->symbol
|
(list (list 'srfi (string->symbol
|
||||||
(string-append "srfi-" (number->string (car s)))))
|
(string-append "srfi-" (number->string num))))))
|
||||||
(mod-i (resolve-interface (list 'srfi srfi))))
|
srfis)))
|
||||||
(module-use! (current-module) mod-i)
|
|
||||||
(lp (cdr s))))))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -3387,19 +3385,23 @@
|
||||||
|
|
||||||
;; Use some convenient modules (in reverse order)
|
;; Use some convenient modules (in reverse order)
|
||||||
|
|
||||||
|
(set-current-module guile-user-module)
|
||||||
|
(process-use-modules
|
||||||
|
(append
|
||||||
|
'(((ice-9 r5rs))
|
||||||
|
((ice-9 session))
|
||||||
|
((ice-9 debug)))
|
||||||
(if (provided? 'regex)
|
(if (provided? 'regex)
|
||||||
(module-use! guile-user-module (resolve-interface '(ice-9 regex))))
|
'(((ice-9 regex)))
|
||||||
|
'())
|
||||||
(if (provided? 'threads)
|
(if (provided? 'threads)
|
||||||
(module-use! guile-user-module (resolve-interface '(ice-9 threads))))
|
'(((ice-9 threads)))
|
||||||
|
'())))
|
||||||
;; load debugger on demand
|
;; load debugger on demand
|
||||||
(module-use! guile-user-module
|
(module-use! guile-user-module
|
||||||
(make-autoload-interface guile-user-module
|
(make-autoload-interface guile-user-module
|
||||||
'(ice-9 debugger) '(debug)))
|
'(ice-9 debugger) '(debug)))
|
||||||
(module-use! guile-user-module (resolve-interface '(ice-9 session)))
|
|
||||||
(module-use! guile-user-module (resolve-interface '(ice-9 debug)))
|
|
||||||
(module-use! guile-user-module (resolve-interface '(ice-9 r5rs)))
|
|
||||||
|
|
||||||
(set-current-module guile-user-module)
|
|
||||||
|
|
||||||
(let ((old-handlers #f)
|
(let ((old-handlers #f)
|
||||||
(signals (if (provided? 'posix)
|
(signals (if (provided? 'posix)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue