| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
* module/language/tree-il/fix-letrec.scm (fix-letrec): Remove "Local
Variables" bit.
* .dir-locals.el (scheme-mode): Add 'record-case'.
|
|
|
|
|
| |
* doc/ref/api-control.texi (Raising and Handling Exceptions): Fix typo,
h/t gtz on #guile.
|
|
|
|
| |
* README: Update Git URLs.
|
|
|
|
|
|
|
|
|
| |
* build-aux/guix/guile-package.scm (package-with-configure-flags): New
procedure.
(guile-without-threads, guile-without-networking)
(guile-debug, guile-strict-typing): New variables.
* build-aux/manifest.scm: Use (guile-package) module instead of 'load'.
(native-builds): Add the variants above + "guile-clang".
|
|
|
|
|
|
|
|
|
|
| |
By pretending to be a Guix channel, this repository can be consumed
seamlessly by tools such as Cuirass.
* .guix-channel: New file.
* guix.scm: Turn into a symlink to...
* build-aux/guix/guile-package.scm: ... this. New file.
* Makefile.am (EXTRA_DIST): Add them, except '.guix-channel'.
|
|
|
|
|
|
| |
* guix.scm, build-aux/manifest.scm: New files.
* Makefile.am (EXTRA_DIST): Add them.
* README: Mention it.
|
|
|
|
|
|
|
|
|
| |
Fixes <https://bugs.gnu.org/61073>.
* libguile/posix.c (FDES_FROM_PORT_OR_INTEGER): When OBJ is not an
integer, use 'SCM_VALIDATE_OPFPORT' before using 'SCM_FPORT_FDES'.
* test-suite/tests/posix.test ("spawn")["non-file port argument"]: New
test.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* doc/ref/api-binding.texi (Local Bindings): Document multiple-value
returns for let.
* doc/ref/api-control.texi (begin): Document multiple-value returns for
begin.
(Conditionals): Document multiple-value returns and use 'body' in the
syntax description of when, unless, cond, case.
(Multiple values): Document multiple-value returns and use 'body' in
the syntax description of SRFI-8 receive.
(Fluids and Dynamic States): Use 'body' in the syntax description of
'with-fluids'.
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds internal definitions to the following derived
forms: when, unless, cond, case, with-fluids, and and-let*.
* doc/ref/api-control.texi (Conditionals): Update the syntax and docs
of when, unless, cond, and case.
* module/ice-9/and-let-star.scm (and-let*): Changed begins to let.
* module/ice-9/boot-9.scm (cond, case, when, unless, with-fluids):
Changed begins to let.
|
|
|
|
|
|
|
|
|
|
| |
Fixes <https://bugs.gnu.org/60971>.
Reported by lloda <lloda@sarc.name> and Greg Troxel <gdt@lexort.com>.
On macOS and NetBSD, 'WEXITSTATUS' expects an lvalue so the expression
passed to 'verify' would be invalid.
* libguile/posix.c: Move 'verify' assertion within #ifdef.
|
|
|
|
|
|
|
| |
Reported by Greg Troxel <gdt@lexort.com>.
* Makefile.am (ensure-guile-readline): New target.
(dist-hook): Depend on it.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This is a followup to f859e0f58b211eedcb0dce4f2382cfebf37010d7, which
led to warnings on GNU/Linux:
threads.c:358:43: warning: 'scm_i_current_thread' initialized and declared 'extern'
* libguile/threads.c (scm_i_current_thread): Make 'SCM_INTERNAL'
conditional.
|
|
|
|
| |
* Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Add '--enable-mini-gmp'.
|
|
|
|
|
|
|
| |
* GUILE-VERSION (GUILE_MICRO_VERSION): Increment.
(LIBGUILE_INTERFACE_CURRENT): Increment, to account for the new
'scm_*at' procedures, 'scm_bytevector_slice', etc.
(LIBGUILE_INTERFACE_AGE): Increment.
|
|
|
|
| |
* doc/ref/web.texi (Web Client): Mention new URL of Guile-GnuTLS.
|
|
|
|
|
|
|
| |
This is again from Gnulib v0.1-5703-g356a414e8c.
* m4/gnulib-cache.m4: Add 'sys_select'.
* libguile/threads.c: Include <sys/select.h>.
|
|
|
|
|
|
| |
This is again from Gnulib v0.1-5703-g356a414e8c.
* m4/gnulib-cache.m4: Add 'gethostname'.
|
|
|
|
|
|
|
|
|
| |
This is again from Gnulib v0.1-5703-g356a414e8c.
* m4/gnulib-cache.m4: Add 'posix_spawn_file_actions_addclose',
'posix_spawn_file_actions_adddup2',
'posix_spawn_file_actions_addopen', and
'posix_spawn_file_actions_init'.
|
| |
|
|
|
|
|
|
|
|
|
| |
This is a followup to edfca3b7e5931b5b5a83112e2a9813b068be99c2, which
added the 'posix_spawnp' module but not 'posix_spawn'.
* m4/gnulib-cache.m4: Add 'posix_spawn' module.
* gnulib-local/m4/clock_time.m4.diff: Adjust.
* configure.ac: Move 'gl_EARLY' use right after 'AC_PROG_CC'.
|
|
|
|
| |
* libguile/posix.c (W_EXITCODE) [_WIN32]: New specialized definition.
|
|
|
|
|
| |
* libguile/posix.c (scm_spawn_process): Fix argument number in
'SCM_VALIDATE_NONEMPTYLIST'.
|
|
|
|
| |
* NEWS: Update.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reduces the amount of memory that needs to be allocated while
writing the ELF file to disk.
Note: We're abusing #:page-aligned? in 'link-elf' to choose whether to
return a bytevector or a procedure.
* module/system/vm/linker.scm (process-reloc): Subtract SECTION-OFFSET
when writing to BV.
(write-linker-object): Pass BV directly to the linker object writer.
(link-elf): When PAGE-ALIGNED? is false, call 'bytevector-slice' from
here. When it is true, return a procedure that takes a port and writes
to it, without having to allocate a bytevector for the whole ELF
container.
* module/language/bytecode/spec.scm (bytecode->value): Handle X being a
procedure instead of a bytevector.
(bytecode) <#:printer>: Likewise.
* test-suite/tests/linker.test (link-elf-with-one-main-section): Pass
#:page-aligned? #f.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* module/system/vm/linker.scm (write-linker-object): Pass the
'linker-object-writer' a single argument.
(string-table-writer, add-elf-objects): Adjust writers accordingly.
(string-table-writer):
(add-elf-objects):
* module/system/vm/assembler.scm (link-data, link-text-object)
(link-frame-maps, link-dynamic-section)
(link-symtab, link-arities, link-docstrs)
(link-procprops, link-debug): Likewise.
* test-suite/tests/linker.test (link-elf-with-one-main-section):
Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reduces the amount of memory used during linking and reduces the
number of copies to be done between bytevectors.
* module/system/vm/linker.scm (<linker-object>): Remove 'bv' field and
add 'size' and 'writer'.
(make-linker-object): Adjust accordingly.
(string-table-size): New procedure.
(link-string-table!): Remove.
(string-table-writer): New procedure.
(allocate-segment): Adjust 'make-linker-object' call.
(find-shstrndx): Call the 'linker-object-writer' of O.
(add-elf-objects): Adjust 'make-linker-object' call. Remove
'make-bytevector' allocations and move serialization to lazy 'writer'
procedures. Define 'segments' and 'add-header-segment!'. Return the
latter as the first value.
* module/system/vm/assembler.scm (make-object): Remove 'bv' parameter
and add 'size' and 'writer'.
(link-data): Remove 'make-bytevector' call and move serialization to
a lazy 'writer' procedure.
(link-text-object): Likewise.
(link-frame-maps): Likewise.
(link-dynamic-section): Likewise.
(link-shstrtab): Likewise.
(link-symtab): Likewise.
(link-arities): Likewise, and remove 'bytevector-append'.
(link-docstrs): Likewise.
(link-procprops): Likewise.
(link-debug): Likewise, and define 'copy-writer'.
* test-suite/tests/linker.test (link-elf-with-one-main-section): Adjust
accordingly.
|
|
|
|
|
|
|
| |
* module/system/vm/linker.scm (add-elf-objects)[write-and-reloc]: Split
into...
[compute-reloc, write-object-elf-header!]: ... this.
Adjust accordingly.
|
|
|
|
|
| |
* module/system/vm/assembler.scm (link-docstrs): Define
'write-docstrings!' and use it.
|
|
|
|
|
| |
* module/system/vm/assembler.scm (link-frame-maps)[make-frame-maps]:
Define 'write!' and use it.
|
|
|
|
|
| |
* module/system/vm/assembler.scm (link-procprops): Define
'write-procprops!' and use it.
|
|
|
|
|
| |
* module/system/vm/assembler.scm (link-dynamic-section): Define 'relocs'
once for all. Define 'write!' and use it.
|
|
|
|
|
| |
* module/system/vm/assembler.scm (link-symtab): Define 'names' and
'write-symbols!'. Use it.
|
|
|
|
|
|
|
|
| |
* module/system/vm/assembler.scm (process-relocs): Remove 'buf'
parameter and turn into a pure function.
(patch-relocs!): New procedure. Perform the side effects previously
done in 'process-relocs'.
(link-text-object): Adjust accordingly.
|
|
|
|
|
|
|
|
|
|
| |
This test would segfault prior to
c0004442b7691f59a0e37869ef288eb26382ad9e.
See <https://bugs.gnu.org/60488>.
* test-suite/tests/strings.test ("string-ref"): Use 'with-test-prefix/c&e'.
["negative index"]: Check the reported bounds.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* doc/ref/api-data.texi (Bytevectors): Fix typo in (r6:bytevector-copy),
index need not be positive.
Fix typos in bytevector-length, bytevector=, bytevector-fill!.
New node 'Bytevector Procedures in R7RS'.
(Bytevector Procedures in R7RS): Document R7RS bytevector,
bytevector-copy, bytevector-copy!, bytevector-append.
* doc/ref/api-io.texi (Binary I/O): Document R7RS
open-output-bytevector, write-u8, read-u8, peek-u8,
get-output-bytevector, open-input-bytevector, read-bytevector!,
read-bytevector, write-bytevector.
* doc/ref/r7rs.texi (R7RS support): Link to R7RS standard.
|
|
|
|
|
| |
* doc/ref/api-regex.texi: make it more obviously clear that regexp
matching supports only characters supported by the locale encoding.
|
|
|
|
|
|
|
| |
* doc/ref/api-macros.texi: make the macro expand to the literal
date, not to a call to the date function. The example previously
did not actually need eval-when and did not show the intended
effect.
|
|
|
|
|
|
|
| |
Fixes <https://bugs.gnu.org/60022>.
Reported by Florian Weimer <fweimer@redhat.com>.
* configure.ac: Add missing implicit 'int' return type in tests.
|
|
|
|
|
|
|
|
|
| |
Fixes <https://bugs.gnu.org/60522>.
Reported by Sascha Ziemann <ceving@gmail.com>.
* module/language/tree-il/primitives.scm (make-vector): Return #f when
passed an incorrect number of arguments.
* test-suite/tests/peval.test ("partial evaluation"): Add tests.
|
|
|
|
|
|
|
|
|
| |
* module/rnrs/bytevectors/gnu.scm: New file.
* am/bootstrap.am (SOURCES): Add it.
* libguile/bytevectors.c (scm_bytevector_slice): New function.
* libguile/bytevectors.h (scm_bytevector_slice): New declaration.
* test-suite/tests/bytevectors.test ("bytevector-slice"): New tests.
* doc/ref/api-data.texi (Bytevector Slices): New node.
|
|
|
|
|
|
| |
This was inadvertently committed in edfca3b7e5931b5b5a83112e2a9813b068be99c2.
* lib/stdbool.h: Delete.
|
|
|
|
|
|
| |
* module/ice-9/command-line.scm (version-etc):
* module/scripts/compile.scm (show-version):
* module/system/repl/common.scm (*version*): Bump to 2023.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes <https://bugs.gnu.org/59321>.
Reported by <hylophile@posteo.de>.
Some systems provide "/proc/self/fd" which is a directory containing an
entry for each open file descriptor in the current process. We use this
to limit the number of close() calls needed to ensure file descriptors
aren't leaked to the child process when forking.
* libguile/posix.c (close_inherited_fds_slow):
(close_inherited_fds): New static helper functions.
(scm_spawn_process): Attempt to close inherited file descriptors
efficiently using 'close_inherited_fds', falling back to the brute-force
approach in 'close_inherited_fds_slow'.
* NEWS: Update.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes <https://bugs.gnu.org/52835>.
* libguile/posix.c (scm_system_star, scm_piped_process): Use do_spawn.
(start_child): Remove function.
* test-suite/tests/posix.test ("system*")["https://bugs.gnu.org/52835"]:
New test.
* NEWS: Update.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libguile/posix.c: Include spawn.h from Gnulib.
(do_spawn, scm_spawn_process): New functions.
(kw_environment, hw_input, kw_output, kw_error, kw_search_path): New
variables.
* doc/ref/posix.texi (Processes): Document it.
* test-suite/tests/posix.test ("spawn"): New test prefix.
* NEWS: Update.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
|
|
| |
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
|
|
|
|
|
|
|
|
|
| |
This test reproduces the error from <https://bugs.gnu.org/56493>, and
passes with the workaround which was merged in commit
c7fa78fc751eb336bcfafbb5ac59c460ee2c5d7a.
* test-suite/tests/eval.test ("avoid frame-local-ref out of range"): New
test.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
|
|
|
|
| |
* module/system/base/target.scm (cpu-endianness): Add case for "Loongarch" variants
Signed-off-by: Zhang Ning <zhangn1985@outlook.com>
|
| |
|