diff --git libguile/hash.c libguile/hash.c index c192ac2e5..5abdfe397 100644 --- libguile/hash.c +++ libguile/hash.c @@ -185,7 +185,7 @@ scm_i_utf8_string_hash (const char *str, size_t len) /* Invalid UTF-8; punt. */ return scm_i_string_hash (scm_from_utf8_stringn (str, len)); - length = u8_strnlen (ustr, len); + length = u8_mbsnlen (ustr, len); /* Set up the internal state. */ a = b = c = 0xdeadbeef + ((uint32_t)(length<<2)) + 47; diff --git libguile/posix.c libguile/posix.c index 0b1fe2637..4cf4ef383 100644 --- libguile/posix.c +++ libguile/posix.c @@ -1322,41 +1322,38 @@ SCM_DEFINE (scm_fork, "primitive-fork", 0, 0, 0, #undef FUNC_NAME #endif /* HAVE_FORK */ -static void -close_inherited_fds_slow (posix_spawn_file_actions_t *actions, int max_fd) -{ - while (--max_fd > 2) - posix_spawn_file_actions_addclose (actions, max_fd); -} +#ifdef HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSEFROM_NP +# define HAVE_ADDCLOSEFROM 1 +#endif + +#ifndef HAVE_ADDCLOSEFROM static void close_inherited_fds (posix_spawn_file_actions_t *actions, int max_fd) { - DIR *dirp; - struct dirent *d; - int fd; - - /* Try to use the platform-specific list of open file descriptors, so - we don't need to use the brute force approach. */ - dirp = opendir ("/proc/self/fd"); - - if (dirp == NULL) - return close_inherited_fds_slow (actions, max_fd); - - while ((d = readdir (dirp)) != NULL) + while (--max_fd > 2) { - fd = atoi (d->d_name); - - /* Skip "." and "..", garbage entries, stdin/stdout/stderr. */ - if (fd <= 2) - continue; - - posix_spawn_file_actions_addclose (actions, fd); + /* Adding a 'close' action for a file descriptor that is not open + causes 'posix_spawn' to fail on GNU/Hurd and on OpenBSD, but + not on GNU/Linux: . Hence this + strategy: + + - On GNU/Linux, close every FD, since that's the only + race-free way to make sure the child doesn't inherit one. + - On other systems, only close FDs currently open in the + parent; it works, but it's racy (XXX). + + The only reliable option is 'addclosefrom'. */ +#if ! (defined __GLIBC__ && defined __linux__) + int flags = fcntl (max_fd, F_GETFD, NULL); + if (flags >= 0) +#endif + posix_spawn_file_actions_addclose (actions, max_fd); } - - closedir (dirp); } +#endif + static pid_t do_spawn (char *exec_file, char **exec_argv, char **exec_env, int in, int out, int err, int spawnp) @@ -1393,14 +1390,27 @@ do_spawn (char *exec_file, char **exec_argv, char **exec_env, /* Move the fds out of the way, so that duplicate fds or fds equal to 0, 1, 2 don't trample each other */ - posix_spawn_file_actions_adddup2 (&actions, in, fd_slot[0]); - posix_spawn_file_actions_adddup2 (&actions, out, fd_slot[1]); - posix_spawn_file_actions_adddup2 (&actions, err, fd_slot[2]); - posix_spawn_file_actions_adddup2 (&actions, fd_slot[0], 0); - posix_spawn_file_actions_adddup2 (&actions, fd_slot[1], 1); - posix_spawn_file_actions_adddup2 (&actions, fd_slot[2], 2); + int dup2_action_from[] = {in, out, err, + fd_slot[0], fd_slot[1], fd_slot[2]}; + int dup2_action_to [] = {fd_slot[0], fd_slot[1], fd_slot[2], + 0, 1, 2}; + errno = 0; + for (int i = 0; i < sizeof (dup2_action_from) / sizeof (int); i++) + { + errno = posix_spawn_file_actions_adddup2 (&actions, dup2_action_from[i], + dup2_action_to[i]); + if (errno != 0) + return -1; + } + +#ifdef HAVE_ADDCLOSEFROM + /* This function appears in glibc 2.34. It's both free from race + conditions and more efficient than the alternative. */ + posix_spawn_file_actions_addclosefrom_np (&actions, 3); +#else close_inherited_fds (&actions, max_fd); +#endif int res = -1; if (spawnp) @@ -1486,12 +1496,20 @@ SCM_DEFINE (scm_spawn_process, "spawn", 2, 0, 1, if (SCM_UNBNDP (err_scm)) err_scm = scm_current_error_port (); -#define FDES_FROM_PORT_OR_INTEGER(obj) \ - (scm_is_integer (obj) ? scm_to_int (obj) : SCM_FPORT_FDES (obj)) +#define FDES_FROM_PORT_OR_INTEGER(fd, obj, pos) \ + { \ + if (scm_is_integer (obj)) \ + fd = scm_to_int (obj); \ + else \ + { \ + SCM_VALIDATE_OPFPORT (pos, obj); \ + fd = SCM_FPORT_FDES (obj); \ + } \ + } - in = FDES_FROM_PORT_OR_INTEGER (in_scm); - out = FDES_FROM_PORT_OR_INTEGER (out_scm); - err = FDES_FROM_PORT_OR_INTEGER (err_scm); + FDES_FROM_PORT_OR_INTEGER (in, in_scm, 3); + FDES_FROM_PORT_OR_INTEGER (out, out_scm, 4); + FDES_FROM_PORT_OR_INTEGER (err, err_scm, 5); #undef FDES_FROM_PORT_OR_INTEGER @@ -1544,10 +1562,22 @@ piped_process (pid_t *pid, SCM prog, SCM args, SCM from, SCM to) if (SCM_OPOUTFPORTP ((port = scm_current_error_port ()))) err = SCM_FPORT_FDES (port); - if (out == -1 && SCM_OPOUTFPORTP ((port = scm_current_output_port ()))) - out = SCM_FPORT_FDES (port); - if (in == -1 && SCM_OPINFPORTP ((port = scm_current_input_port ()))) - in = SCM_FPORT_FDES (port); + else + err = open ("/dev/null", O_WRONLY | O_CLOEXEC); + if (out == -1) + { + if (SCM_OPOUTFPORTP ((port = scm_current_output_port ()))) + out = SCM_FPORT_FDES (port); + else + out = open ("/dev/null", O_WRONLY | O_CLOEXEC); + } + if (in == -1) + { + if (SCM_OPINFPORTP ((port = scm_current_input_port ()))) + in = SCM_FPORT_FDES (port); + else + in = open ("/dev/null", O_RDONLY | O_CLOEXEC); + } } *pid = do_spawn (exec_file, exec_argv, exec_env, in, out, err, 1); diff --git libguile/symbols.c libguile/symbols.c index 02be7c1c4..086abf585 100644 --- libguile/symbols.c +++ libguile/symbols.c @@ -239,7 +239,7 @@ static SCM scm_i_str2symbol (SCM str) { SCM symbol; - size_t raw_hash = scm_i_string_hash (str); + unsigned long raw_hash = scm_i_string_hash (str); symbol = lookup_interned_symbol (str, raw_hash); if (scm_is_true (symbol)) @@ -261,7 +261,7 @@ scm_i_str2symbol (SCM str) static SCM scm_i_str2uninterned_symbol (SCM str) { - size_t raw_hash = scm_i_string_hash (str); + unsigned long raw_hash = scm_i_string_hash (str); return scm_i_make_symbol (str, SCM_I_F_SYMBOL_UNINTERNED, raw_hash); } diff --git libguile/vm.c libguile/vm.c index b565db970..36138f0d5 100644 --- libguile/vm.c +++ libguile/vm.c @@ -1,4 +1,4 @@ -/* Copyright 2001,2009-2015,2017-2020,2022 +/* Copyright 2001,2009-2015,2017-2020,2022-2023 Free Software Foundation, Inc. This file is part of Guile. @@ -451,11 +451,12 @@ define_vm_builtins (void) const uint32_t call_with_values_code[] = { SCM_PACK_OP_24 (assert_nargs_ee, 3), - SCM_PACK_OP_24 (alloc_frame, 8), - SCM_PACK_OP_12_12 (mov, 0, 6), - SCM_PACK_OP_24 (call, 7), SCM_PACK_OP_ARG_8_24 (0, 1), - SCM_PACK_OP_24 (long_fmov, 0), SCM_PACK_OP_ARG_8_24 (0, 2), - SCM_PACK_OP_12_12 (shuffle_down, 7, 1), + SCM_PACK_OP_24 (alloc_frame, 6), + SCM_PACK_OP_12_12 (mov, 0, 4), + SCM_PACK_OP_12_12 (mov, 4, 3), + SCM_PACK_OP_24 (call, 5), SCM_PACK_OP_ARG_8_24 (0, 1), + SCM_PACK_OP_24 (long_fmov, 0), SCM_PACK_OP_ARG_8_24 (0, 1), + SCM_PACK_OP_12_12 (shuffle_down, 5, 1), SCM_PACK_OP_24 (tail_call, 0) }; diff --git module/ice-9/copy-tree.scm module/ice-9/copy-tree.scm index e1d91ad9e..004167821 100644 --- module/ice-9/copy-tree.scm +++ module/ice-9/copy-tree.scm @@ -23,7 +23,6 @@ (define-module (ice-9 copy-tree) - #:use-module (ice-9 match) #:use-module (srfi srfi-11) #:replace (copy-tree)) diff --git module/ice-9/eval-string.scm module/ice-9/eval-string.scm index 789980938..ea0f17777 100644 --- module/ice-9/eval-string.scm +++ module/ice-9/eval-string.scm @@ -21,7 +21,6 @@ (define-module (ice-9 eval-string) #:use-module (system base compile) #:use-module (system base language) - #:use-module (system vm program) #:use-module (system vm loader) #:replace (eval-string)) diff --git module/ice-9/getopt-long.scm module/ice-9/getopt-long.scm index 14eaf8e23..18b235390 100644 --- module/ice-9/getopt-long.scm +++ module/ice-9/getopt-long.scm @@ -161,7 +161,6 @@ #:use-module (srfi srfi-9) #:use-module (ice-9 match) #:use-module (ice-9 regex) - #:use-module (ice-9 optargs) #:export (getopt-long option-ref)) (define %program-name (make-fluid "guile")) diff --git module/ice-9/poll.scm module/ice-9/poll.scm index 57b5047ab..2688270ac 100644 --- module/ice-9/poll.scm +++ module/ice-9/poll.scm @@ -19,7 +19,6 @@ (define-module (ice-9 poll) #:use-module (srfi srfi-9) - #:use-module (srfi srfi-9 gnu) #:use-module (rnrs bytevectors) #:export (make-empty-poll-set poll-set? diff --git module/ice-9/popen.scm module/ice-9/popen.scm index e638726a4..957cde0aa 100644 --- module/ice-9/popen.scm +++ module/ice-9/popen.scm @@ -19,7 +19,6 @@ ;;;; (define-module (ice-9 popen) - #:use-module (rnrs bytevectors) #:use-module (ice-9 binary-ports) #:use-module (ice-9 threads) #:use-module (srfi srfi-1) diff --git module/ice-9/sandbox.scm module/ice-9/sandbox.scm index fcfc57365..601485cce 100644 --- module/ice-9/sandbox.scm +++ module/ice-9/sandbox.scm @@ -21,7 +21,6 @@ ;;; Code: (define-module (ice-9 sandbox) - #:use-module (ice-9 control) #:use-module (ice-9 match) #:use-module ((ice-9 threads) #:select (current-thread)) #:use-module (system vm vm) diff --git module/ice-9/suspendable-ports.scm module/ice-9/suspendable-ports.scm index a823f1d37..9fac1df62 100644 --- module/ice-9/suspendable-ports.scm +++ module/ice-9/suspendable-ports.scm @@ -419,7 +419,7 @@ (= (logand u8_2 #xc0) #x80) (case u8_0 ((#xe0) (>= u8_1 #xa0)) - ((#xed) (>= u8_1 #x9f)) + ((#xed) (<= u8_1 #x9f)) (else #t))) (kt (integer->char (logior (ash (logand u8_0 #x0f) 12) @@ -436,7 +436,7 @@ (= (logand u8_3 #xc0) #x80) (case u8_0 ((#xf0) (>= u8_1 #x90)) - ((#xf4) (>= u8_1 #x8f)) + ((#xf4) (<= u8_1 #x8f)) (else #t))) (kt (integer->char (logior (ash (logand u8_0 #x07) 18) @@ -462,7 +462,7 @@ ((< buffering 2) 1) ((not (= (logand (ref 1) #xc0) #x80)) 1) ((and (eq? first-byte #xe0) (< (ref 1) #xa0)) 1) - ((and (eq? first-byte #xed) (< (ref 1) #x9f)) 1) + ((and (eq? first-byte #xed) (> (ref 1) #x9f)) 1) ((< buffering 3) 2) ((not (= (logand (ref 2) #xc0) #x80)) 2) (else 0))) @@ -471,7 +471,7 @@ ((< buffering 2) 1) ((not (= (logand (ref 1) #xc0) #x80)) 1) ((and (eq? first-byte #xf0) (< (ref 1) #x90)) 1) - ((and (eq? first-byte #xf4) (< (ref 1) #x8f)) 1) + ((and (eq? first-byte #xf4) (> (ref 1) #x8f)) 1) ((< buffering 3) 2) ((not (= (logand (ref 2) #xc0) #x80)) 2) ((< buffering 4) 3) diff --git module/ice-9/threads.scm module/ice-9/threads.scm index c42bd266f..5a13cec1d 100644 --- module/ice-9/threads.scm +++ module/ice-9/threads.scm @@ -31,7 +31,6 @@ (define-module (ice-9 threads) #:use-module (ice-9 match) - #:use-module (ice-9 control) ;; These bindings are marked as #:replace because when deprecated code ;; is enabled, (ice-9 deprecated) also exports these names. ;; (Referencing one of the deprecated names prints a warning directing diff --git module/sxml/apply-templates.scm module/sxml/apply-templates.scm index 0ee27477c..dd2742397 100644 --- module/sxml/apply-templates.scm +++ module/sxml/apply-templates.scm @@ -49,9 +49,7 @@ ;;; Code: (define-module (sxml apply-templates) - #:use-module (sxml ssax) #:use-module ((sxml xpath) :hide (filter)) - #:export (apply-templates)) (define (apply-templates tree templates) diff --git module/sxml/simple.scm module/sxml/simple.scm index 703ad9137..57fccbc9c 100644 --- module/sxml/simple.scm +++ module/sxml/simple.scm @@ -30,7 +30,6 @@ #:use-module (sxml ssax) #:use-module (sxml transform) #:use-module (ice-9 match) - #:use-module (srfi srfi-13) #:export (xml->sxml sxml->xml sxml->string)) ;; Helpers from upstream/SSAX.scm. diff --git module/system/base/types.scm module/system/base/types.scm index b63febff8..7ed038d3a 100644 --- module/system/base/types.scm +++ module/system/base/types.scm @@ -20,7 +20,6 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) #:use-module (srfi srfi-9 gnu) - #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module (srfi srfi-60) #:use-module (ice-9 match) diff --git module/system/repl/command.scm module/system/repl/command.scm index 0024fd165..74187270a 100644 --- module/system/repl/command.scm +++ module/system/repl/command.scm @@ -20,7 +20,6 @@ ;;; Code: (define-module (system repl command) - #:use-module (system base syntax) #:use-module (system base pmatch) #:autoload (system base compile) (compile-file) #:use-module (system repl common) @@ -31,14 +30,12 @@ #:use-module (system vm loader) #:use-module (system vm program) #:use-module (system vm trap-state) - #:use-module (system vm vm) #:autoload (system base language) (lookup-language language-reader language-title language-name) #:autoload (system vm trace) (call-with-trace) #:use-module (ice-9 format) #:use-module (ice-9 session) #:use-module (ice-9 documentation) - #:use-module (ice-9 and-let-star) #:use-module (ice-9 rdelim) #:use-module (ice-9 control) #:use-module ((ice-9 pretty-print) #:select ((pretty-print . pp))) diff --git module/system/repl/common.scm module/system/repl/common.scm index 8c5426d37..59b5c494a 100644 --- module/system/repl/common.scm +++ module/system/repl/common.scm @@ -22,8 +22,6 @@ #:use-module (system base syntax) #:use-module (system base compile) #:use-module (system base language) - #:use-module (system base message) - #:use-module (system vm program) #:use-module (system vm loader) #:use-module (ice-9 control) #:use-module (ice-9 copy-tree) diff --git module/system/repl/coop-server.scm module/system/repl/coop-server.scm index c29bbd645..aaab44f6e 100644 --- module/system/repl/coop-server.scm +++ module/system/repl/coop-server.scm @@ -21,7 +21,6 @@ (define-module (system repl coop-server) #:use-module (ice-9 match) - #:use-module (ice-9 receive) #:use-module (ice-9 threads) #:use-module (ice-9 q) #:use-module (srfi srfi-9) diff --git module/system/repl/debug.scm module/system/repl/debug.scm index 383d37921..c83241340 100644 --- module/system/repl/debug.scm +++ module/system/repl/debug.scm @@ -19,17 +19,11 @@ ;;; Code: (define-module (system repl debug) - #:use-module (system base pmatch) #:use-module (system base syntax) - #:use-module (system base language) - #:use-module (system vm vm) #:use-module (system vm frame) #:use-module (system vm debug) #:use-module (ice-9 format) #:use-module (ice-9 match) - #:use-module (ice-9 rdelim) - #:use-module (ice-9 pretty-print) - #:use-module ((system vm inspect) #:select ((inspect . %inspect))) #:use-module (system vm program) #:export ( make-debug debug? diff --git module/system/repl/error-handling.scm module/system/repl/error-handling.scm index 8d5a8a5f0..c12ca6f4a 100644 --- module/system/repl/error-handling.scm +++ module/system/repl/error-handling.scm @@ -20,7 +20,6 @@ ;;; Code: (define-module (system repl error-handling) - #:use-module (system base pmatch) #:use-module (system vm trap-state) #:use-module (system repl debug) #:use-module (ice-9 format) diff --git module/system/repl/repl.scm module/system/repl/repl.scm index 5b27125f1..d83d28759 100644 --- module/system/repl/repl.scm +++ module/system/repl/repl.scm @@ -21,11 +21,7 @@ ;;; Code: (define-module (system repl repl) - #:use-module (system base syntax) - #:use-module (system base pmatch) - #:use-module (system base compile) #:use-module (system base language) - #:use-module (system vm vm) #:use-module (system repl error-handling) #:use-module (system repl common) #:use-module (system repl command) diff --git module/system/repl/server.scm module/system/repl/server.scm index 7a04affe9..9a8f51c5b 100644 --- module/system/repl/server.scm +++ module/system/repl/server.scm @@ -27,7 +27,6 @@ #:use-module (ice-9 iconv) #:use-module (rnrs bytevectors) #:use-module (ice-9 binary-ports) - #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) ; cut #:export (make-tcp-server-socket make-unix-domain-server-socket diff --git module/system/vm/assembler.scm module/system/vm/assembler.scm index 165976363..33f3018f6 100644 --- module/system/vm/assembler.scm +++ module/system/vm/assembler.scm @@ -51,12 +51,10 @@ #:use-module (system syntax internal) #:use-module (language bytecode) #:use-module (rnrs bytevectors) - #:use-module (rnrs bytevectors gnu) #:use-module (ice-9 binary-ports) #:use-module (ice-9 vlist) #:use-module (ice-9 match) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-4) #:use-module (srfi srfi-9) #:use-module (srfi srfi-11) #:export (make-assembler diff --git module/system/vm/disassembler.scm module/system/vm/disassembler.scm index 2c9755ab9..ac1d21639 100644 --- module/system/vm/disassembler.scm +++ module/system/vm/disassembler.scm @@ -29,9 +29,7 @@ #:use-module (rnrs bytevectors) #:use-module (ice-9 format) #:use-module (ice-9 match) - #:use-module (ice-9 vlist) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-4) #:export (disassemble-program fold-program-code disassemble-image diff --git module/system/vm/dwarf.scm module/system/vm/dwarf.scm index f3e45c758..587906c9e 100644 --- module/system/vm/dwarf.scm +++ module/system/vm/dwarf.scm @@ -71,8 +71,6 @@ (define-module (system vm dwarf) #:use-module (rnrs bytevectors) - #:use-module (system foreign) - #:use-module (system base target) #:use-module (system vm elf) #:use-module ((srfi srfi-1) #:select (fold)) #:use-module (srfi srfi-9) diff --git module/system/vm/elf.scm module/system/vm/elf.scm index 6ee62f129..8cd142bbe 100644 --- module/system/vm/elf.scm +++ module/system/vm/elf.scm @@ -36,8 +36,6 @@ #:use-module (system foreign) #:use-module (system base target) #:use-module (srfi srfi-9) - #:use-module (ice-9 receive) - #:use-module (ice-9 vlist) #:export (has-elf-header? (make-elf* . make-elf) diff --git module/system/vm/frame.scm module/system/vm/frame.scm index 6b14fc62a..9218bf3b2 100644 --- module/system/vm/frame.scm +++ module/system/vm/frame.scm @@ -19,8 +19,6 @@ ;;; Code: (define-module (system vm frame) - #:use-module (system base pmatch) - #:use-module (system foreign) #:use-module (system vm program) #:use-module (system vm debug) #:use-module (system vm disassembler) diff --git module/system/vm/inspect.scm module/system/vm/inspect.scm index 1f6d99d19..4825fa234 100644 --- module/system/vm/inspect.scm +++ module/system/vm/inspect.scm @@ -19,12 +19,7 @@ ;;; Code: (define-module (system vm inspect) - #:use-module (system base pmatch) - #:use-module (system base syntax) - #:use-module (system vm vm) - #:use-module (system vm frame) #:use-module (system vm disassembler) - #:use-module (ice-9 rdelim) #:use-module (ice-9 pretty-print) #:use-module (ice-9 format) #:use-module (system vm program) diff --git module/system/vm/linker.scm module/system/vm/linker.scm index e126cfb0d..cf213323e 100644 --- module/system/vm/linker.scm +++ module/system/vm/linker.scm @@ -67,9 +67,7 @@ (define-module (system vm linker) #:use-module (rnrs bytevectors) #:use-module (rnrs bytevectors gnu) - #:use-module (system foreign) #:use-module (system base target) - #:use-module ((srfi srfi-1) #:select (append-map)) #:use-module (srfi srfi-9) #:use-module (ice-9 binary-ports) #:use-module (ice-9 receive) diff --git module/system/vm/program.scm module/system/vm/program.scm index e5dbcc089..4858d5158 100644 --- module/system/vm/program.scm +++ module/system/vm/program.scm @@ -21,7 +21,6 @@ (define-module (system vm program) #:use-module (ice-9 match) #:use-module (system vm debug) - #:use-module (rnrs bytevectors) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:export (source:addr source:line source:column source:file diff --git module/system/vm/trace.scm module/system/vm/trace.scm index 54840d8fd..c1eaffa9c 100644 --- module/system/vm/trace.scm +++ module/system/vm/trace.scm @@ -19,12 +19,9 @@ ;;; Code: (define-module (system vm trace) - #:use-module (system base syntax) #:use-module (system vm vm) #:use-module (system vm frame) - #:use-module (system vm program) #:use-module (system vm traps) - #:use-module (rnrs bytevectors) #:use-module (ice-9 format) #:export (trace-calls-in-procedure trace-calls-to-procedure diff --git module/system/vm/trap-state.scm module/system/vm/trap-state.scm index 464740bcd..ba4cc6b31 100644 --- module/system/vm/trap-state.scm +++ module/system/vm/trap-state.scm @@ -26,7 +26,6 @@ #:use-module (system vm vm) #:use-module (system vm traps) #:use-module (system vm trace) - #:use-module (system vm frame) #:use-module (system vm program) #:export (add-trap! list-traps diff --git module/system/vm/traps.scm module/system/vm/traps.scm index 76be8d7d3..cd0e13cc9 100644 --- module/system/vm/traps.scm +++ module/system/vm/traps.scm @@ -58,10 +58,8 @@ #:use-module (ice-9 match) #:use-module (system vm vm) #:use-module (system vm debug) - #:use-module (system vm frame) #:use-module (system vm program) #:use-module (system xref) - #:use-module (rnrs bytevectors) #:export (trap-at-procedure-call trap-in-procedure trap-instructions-in-procedure diff --git module/system/xref.scm module/system/xref.scm index e335f9481..104bf3edf 100644 --- module/system/xref.scm +++ module/system/xref.scm @@ -17,7 +17,6 @@ (define-module (system xref) - #:use-module (system base compile) #:use-module (system vm program) #:use-module (system vm disassembler) #:use-module (ice-9 match) diff --git module/texinfo/indexing.scm module/texinfo/indexing.scm index d7d10cd69..c77013d7d 100644 --- module/texinfo/indexing.scm +++ module/texinfo/indexing.scm @@ -29,7 +29,6 @@ (define-module (texinfo indexing) #:use-module (sxml simple) - #:use-module (srfi srfi-13) #:export (stexi-extract-index)) (define defines diff --git module/texinfo/plain-text.scm module/texinfo/plain-text.scm index 5ea99c86b..666df74f5 100644 --- module/texinfo/plain-text.scm +++ module/texinfo/plain-text.scm @@ -26,11 +26,8 @@ ;;; Code: (define-module (texinfo plain-text) - #:use-module (texinfo) #:use-module (texinfo string-utils) - #:use-module (sxml transform) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-13) #:use-module (ice-9 match) #:export (stexi->plain-text *line-width*)) diff --git module/texinfo/reflection.scm module/texinfo/reflection.scm index 50cb2ab05..4ff11995c 100644 --- module/texinfo/reflection.scm +++ module/texinfo/reflection.scm @@ -33,10 +33,8 @@ #:use-module (oop goops) #:use-module (texinfo) #:use-module (texinfo plain-text) - #:use-module (srfi srfi-13) #:use-module (ice-9 session) #:use-module (ice-9 documentation) - #:use-module (ice-9 optargs) #:use-module ((sxml transform) #:select (pre-post-order)) #:export (module-stexi-documentation script-stexi-documentation diff --git module/texinfo/string-utils.scm module/texinfo/string-utils.scm index 42074d334..0d2c994d7 100644 --- module/texinfo/string-utils.scm +++ module/texinfo/string-utils.scm @@ -24,8 +24,6 @@ ;;; Code: (define-module (texinfo string-utils) - #:use-module (srfi srfi-13) - #:use-module (srfi srfi-14) #:export (escape-special-chars transform-string expand-tabs diff --git module/web/client.scm module/web/client.scm index a08c4203c..6c54c5021 100644 --- module/web/client.scm +++ module/web/client.scm @@ -36,7 +36,6 @@ #:use-module (ice-9 binary-ports) #:use-module (ice-9 copy-tree) #:use-module (ice-9 iconv) - #:use-module (ice-9 rdelim) #:use-module (web request) #:use-module (web response) #:use-module (web uri) @@ -45,8 +44,6 @@ #:use-module (srfi srfi-9) #:use-module (srfi srfi-9 gnu) #:use-module (srfi srfi-26) - #:use-module ((rnrs io ports) - #:prefix rnrs-ports:) #:use-module (ice-9 match) #:autoload (ice-9 ftw) (scandir) #:export (current-http-proxy diff --git module/web/http.scm module/web/http.scm index 29736f2eb..94f9c7ea8 100644 --- module/web/http.scm +++ module/web/http.scm @@ -30,7 +30,6 @@ ;;; Code: (define-module (web http) - #:use-module ((srfi srfi-1) #:select (append-map! map!)) #:use-module (srfi srfi-9) #:use-module (srfi srfi-19) #:use-module (ice-9 rdelim) @@ -39,7 +38,6 @@ #:use-module (ice-9 binary-ports) #:use-module (ice-9 textual-ports) #:use-module (ice-9 exceptions) - #:use-module (rnrs bytevectors) #:use-module (web uri) #:export (string->header header->string diff --git module/web/request.scm module/web/request.scm index eea32e9ce..ff4b94485 100644 --- module/web/request.scm +++ module/web/request.scm @@ -23,7 +23,6 @@ #:use-module (rnrs bytevectors) #:use-module (ice-9 binary-ports) #:use-module (ice-9 textual-ports) - #:use-module (ice-9 rdelim) #:use-module (srfi srfi-9) #:use-module (web uri) #:use-module (web http) diff --git module/web/response.scm module/web/response.scm index 06e1c6dc1..4ac4d74ca 100644 --- module/web/response.scm +++ module/web/response.scm @@ -20,10 +20,8 @@ ;;; Code: (define-module (web response) - #:use-module (rnrs bytevectors) #:use-module (ice-9 binary-ports) #:use-module (ice-9 textual-ports) - #:use-module (ice-9 rdelim) #:use-module (ice-9 match) #:use-module (srfi srfi-9) #:use-module (web http)