1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 20:00:19 +02:00
Commit graph

15861 commits

Author SHA1 Message Date
Mark H Weaver
5c8b3be820 Bump user-visible copyright years to 2016.
* doc/ref/guile.texi: Add 2016 to user-visible copyright notice.
* module/ice-9/command-line.scm (version-etc): Bump 'copyright-year' to
  2016.
* module/system/repl/common.scm (*version*): Add 2016 to the range of
  copyright years.
2016-01-06 16:44:39 -05:00
Mark H Weaver
b97bfa8be3 SRFI-19: Update the table of leap seconds.
* module/srfi/srfi-19.scm (leap-second-table): Update to include the
  most recent leap second.
2016-01-06 16:44:39 -05:00
Ludovic Courtès
4d08e38e0a http: Use 'read-header-line' instead of 'read-line*'.
* module/web/http.scm (read-line*): Remove.
(read-continuation-line, read-header, read-request-line): Use
'read-header-line' instead of 'read-line*'.
2016-01-06 17:16:46 +01:00
Ludovic Courtès
4c7732c59e http: Accept empty reason phrases.
Fixes <http://bugs.gnu.org/22273>.
Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.

* module/web/http.scm (read-header-line): New procedure.
(read-response-line): Use it instead of 'read-line*'.
* test-suite/tests/web-http.test ("read-response-line"): Add test.
2016-01-06 17:16:46 +01:00
Ludovic Courtès
5df0822b7c http: Test that responses lacking CR/LF are rejected.
* test-suite/tests/web-http.test ("read-response-line")["missing
CR/LF"]: New test.
2016-01-06 17:16:46 +01:00
Mark H Weaver
5c9a8ecd01 Bump user-visible copyright years to 2015.
* module/ice-9/command-line.scm (version-etc): Bump 'copyright-year' to
  2015.

* module/system/repl/common.scm (*version*): Add 2015 to the range of
  copyright years.
2015-11-28 12:38:16 -05:00
Mark H Weaver
e94a42c7f0 Fix getsockopt/setsockopt handling of SO_SNDBUF/SO_RCVBUF options.
Reported by Park SungMin <byulparan_eng@icloud.com>
in <https://lists.gnu.org/archive/html/guile-user/2015-11/msg00026.html>.

* libguile/socket.c (scm_getsockopt, scm_setsockopt): Remove code that
  incorrectly assumed that the argument for SO_SNDBUF and SO_RCVBUF
  options was of type 'size_t'.  Both the Linux and POSIX documentation
  indicates that the argument is of type 'int', as is the case for most
  options.
2015-11-13 11:45:00 -05:00
Mark H Weaver
3e0605458a Revert "Add SRFI-25 implementation"
This reverts commit aaea5b248e.
2015-11-13 11:45:00 -05:00
Andreas Rottmann
aaea5b248e Add SRFI-25 implementation
Adds an implementation of SRFI 25 on top of Guile's native arrays. The
implementation does not introduce a disjoint type; Guile arrays and
SRFI-25 arrays can be used interchangably, though with different, partly
conflicting APIs.

* NEWS: Add preliminary, incomplete section on 2.0.12, noting the
  addition of SRFI-25.
* doc/ref/srfi-modules.texi (SRFI-25): New node.
* module/srfi/srfi-25.scm: New file.
* test-suite/tests/srfi-25.test: New file.
* module/Makefile.am:
* test-suite/Makefile.am: Add new files.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-11-05 21:05:57 +01:00
Ludovic Courtès
c028c64eb8 Regenerate SRFI-14 character set data.
Suggested by Mike Gran <spk121@yahoo.com>.

* libguile/srfi-14.i.c: Regenerate for Unicode 8.0.0,
  <ftp://unicode.org/Public/UNIDATA/UnicodeData.txt> with SHA256
  38b17e1118206489a7e0ab5d29d7932212d38838df7d3ec025ecb58e8798ec20.
2015-11-05 21:05:57 +01:00
Mark H Weaver
133ec4c491 string ports: Add overflow checks and other fixes.
* libguile/strports.c (st_resize_port): Check that 'new_size' fits in a
  size_t.
  (st_end_input): Improve code clarity.
  (st_seek): Check for overflow during computation of target position.
  Check for invalid 'whence' argument.  Resize the port when seeking to
  a position beyond the end of the buffer.  Check for overflow during
  computation of new buffer size when resizing the port.
2015-11-01 21:30:01 -05:00
Mark H Weaver
448eb30e3d Fix seeking on binary input ports with putback buffers.
Fixes <http://bugs.gnu.org/20302>.
Reported by David Kastrup <dak@gnu.org>.

* libguile/r6rs-ports.c (bip_end_input): New static function.
  (initialize_bytevector_input_ports): Register it.
  (bip_seek): Rewrite to handle putback buffers, based on st_seek from
  strports.c.
2015-11-01 21:29:45 -05:00
Mark H Weaver
e1788828df build: Add SCM_T_OFF_MAX and SCM_T_OFF_MIN to scmconfig.h.
* libguile/gen-scmconfig.c (main): Add SCM_T_OFF_MAX and SCM_T_OFF_MIN
  to the generated 'scmconfig.h' file.
2015-11-01 21:29:32 -05:00
Ludovic Courtès
f57aba7ab7 doc: Mention a known-good Flex version number.
Suggested by Jamil Egdemir <unclejamil@gmail.com>.

* HACKING: Mention a Flex version number.
2015-10-30 17:15:24 +01:00
Ludovic Courtès
ac2ceddbfa Thank David and Kouhei. 2015-10-29 23:59:02 +01:00
Ludovic Courtès
efd8a438b3 build: Remove libguile/mkstemp.c, redundant with Gnulib.
Fixes <http://bugs.gnu.org/21425>.
Reported by Kouhei Sutou <kou@cozmixng.org>.

* configure.ac: Remove 'AC_REPLACE_FUNCS' for 'mkstemp'.
* libguile/Makefile.am (EXTRA_libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES):
  Remove mkstemp.c.
* libguile/mkstemp.c: Remove.
2015-10-29 23:55:05 +01:00
David Michael
c3f95ec2c2 Remove SIGEV constant definitions.
* libguile/Makefile.am (chknew-E chknew-SIG): Anchor the end of the
  signal/error name pattern to only match alphanumeric symbols.
* libguile/cpp-SIG.syms (SIGEV_MAX_SIZE, SIGEV_NONE): Remove.
  (SIGEV_PAD_SIZE, SIGEV_SIGNAL, SIGEV_THREAD): Likewise.
  (SIGEV_THREAD_ID): Likewise.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-10-29 23:39:55 +01:00
David Michael
1be3063bf6 Add Hurd signal and error constants.
* libguile/cpp-E.syms (EAUTH, EBACKGROUND): New definitions.
  (EBADRPC, ED, EDIED, EFTYPE, EGRATUITOUS, EGREGIOUS): Likewise.
  (EIEIO, ENEEDAUTH, EPROCLIM, EPROCUNAVAIL): Likewise.
  (EPROGMISMATCH, EPROGUNAVAIL, ERPCMISMATCH): Likewise.
* libguile/cpp-SIG.syms (SIGEMT, SIGEV_MAX_SIZE): Likewise.
  (SIGEV_PAD_SIZE, SIGINFO, SIGLOST): Likewise.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-10-29 23:39:38 +01:00
David Michael
ead362f8d1 Add new Linux errno constants.
* libguile/cpp-E.syms (EHWPOISON, ERFKILL): New definitions.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-10-29 23:39:18 +01:00
David Michael
9a4215b8c2 Fix the rule to check for new signals and errors
Fixes <http://bugs.gnu.org/21114>.

* libguile/Makefile.am (chknew-E chknew-SIG): Remove the line
  continuation after the targets, and include numbers in the
  recipe's signal/error regexp to catch names like E2BIG.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-10-29 23:37:39 +01:00
Ludovic Courtès
67a5377fd8 i18n: Add new collation test for posterity.
* test-suite/tests/i18n.test ("text collation (Czech)"): New test
  prefix.
2015-10-29 23:17:51 +01:00
Ludovic Courtès
53b8d5f335 web: Gracefully handle premature EOF when reading chunk header.
* module/web/http.scm (read-chunk-header): Return 0 when 'read-line'
  returns EOF.
2015-09-26 11:07:05 +02:00
Mark H Weaver
4fd7ad6f85 docs: Fix external representation of <toplevel-define> in tree-il.
* doc/ref/compiler.texi (Tree-IL): Provide the correct external
  representation of <toplevel-define>.
2015-09-17 22:32:10 -04:00
Ludovic Courtès
5a10e416e3 web: Fix 'close' method of delimited input ports.
* module/web/response.scm (make-delimited-input-port)[close]: Replace
  erroneous self-recursive call with a call to 'close-port'.
* test-suite/tests/web-response.test ("example-1")["response-body-port +
  close"]: New test.
2015-09-10 22:30:52 +02:00
Ludovic Courtès
d85d6d14a2 Thank Ricardo. 2015-09-04 22:55:52 +02:00
Ludovic Courtès
66305829ce doc: Fix menu order for SXML.
* doc/ref/sxml.texi (SXML): Add missing quotes in example.
  Fix node order in menu.
2015-09-04 22:55:52 +02:00
Ricardo Wurmus
fbe95dc6e6 doc: Add SXPath documentation from sources
Fixes <http://bugs.gnu.org/19478>.

* doc/ref/sxml.texi (SXPath): Add procedure documentation from sources.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-09-04 22:55:52 +02:00
Mark H Weaver
3bda6eb9df psyntax: Fix bug in match-each+.
Reported by Panicz Maciej Godek <godek.maciek@gmail.com> in
<http://lists.gnu.org/archive/html/guile-user/2015-09/msg00017.html>.

* module/ice-9/psyntax.scm (match-each+): Fix the case where a non-pair
  syntax object is encountered in a dotted tail.
* module/ice-9/psyntax-pp.scm: Regenerate.
2015-09-03 02:51:00 -04:00
Taylan Ulrich Bayırlı/Kammer
5d66fd3fcf Clarify datum->syntax documentation.
* doc/ref/api-macros.texi (Syntax Case): Make it clear that the first
  argument to datum->syntax must be an identifier.
2015-09-02 14:08:46 -04:00
Mark H Weaver
4c5788d1ab Fix uses of 'scm_gc_protect', which does not exist, in the manual.
* doc/ref/api-memory.texi (Garbage Collection Functions),
  doc/ref/libguile-concepts.texi (Garbage Collection): Change
  'scm_gc_protect' --> 'scm_gc_protect_object'.
2015-09-02 13:55:16 -04:00
Andreas Rottmann
27df2f3439 Heed the reader settings implied by #!r6rs
When encountering the #!r6rs directive, apply the appropriate reader
settings to the port.

* libguile/read.scm (read-string-as-list): New helper procedure.
  (scm_read_shebang): Set reader options implied by the R6RS syntax
  upon encountering the #!r6rs directive.
* test-suite/tests/reader.test (per-port-read-options): Add tests for
  the #!r6rs directive.
2015-07-28 23:06:36 +02:00
Mark H Weaver
e3c59bfb8d Fix atan procedure when applied to complex numbers.
Fixes a regression introduced in commit
ad79736c68.

* libguile/numbers.c (scm_atan): Fix the complex case.
* test-suite/tests/numbers.test ("atan"): Add test.
2015-07-22 21:03:05 -04:00
Ken Raeburn
67d8ccc0e4 FFI: sizeof: Account for trailing padding of structs.
* libguile/foreign.c (scm_sizeof): Make sure the overall size is a
  multiple of the alignment of the structure.
* test-suite/tests/foreign.test: Test size of { double, int8 }.
2015-06-25 14:45:55 +02:00
Mathieu Lirzin
0854b87493 doc: Fix parameter of 'set-record-type-printer!'.
* doc/ref/api-compound.texi (SRFI-9 Records)[set-record-type-printer!]:
  Fix parameter name.
2015-06-19 16:11:13 -04:00
Natanael Copa
ed0c14769a i18n: Check for non-POSIX strtol_l.
* configure.ac: Check for strtol_l.
* libguile/i18n.c: Check HAVE_STRTOL_L before using strtol_l.
2015-06-19 16:04:37 -04:00
Alex Kost
4c7f9b7644 Fix typo in the man page.
* doc/guile.1: "--no-autocompile" -> "--no-auto-compile".
2015-06-19 15:44:24 -04:00
Alex Kost
f285b2115f Fix typo in manual.
* doc/ref/api-modules.texi (Using Guile Modules): Remove extra "yet".
2015-06-19 15:43:58 -04:00
Ludovic Courtès
6bfd298c56 gdb: Support builds with SCM_DEBUG_TYPING_STRICTNESS=2.
* libguile/libguile-2.0-gdb.scm (scm-value->integer): New procedure.
  (%scm-pretty-printer): Use it instead of 'value->integer'.
2015-06-02 21:09:31 +02:00
Ludovic Courtès
2a4d21b5fa gdb: Remove unused procedure.
* libguile/libguile-2.0-gdb.scm (scm-value->string): Remove.
2015-06-02 21:09:28 +02:00
Ludovic Courtès
d680713327 doc: Update libgc URL.
* doc/ref/data-rep.texi (Conservative GC): Update libgc URL.
2015-04-03 16:35:54 +02:00
Ludovic Courtès
6001fa35c6 Fix test in 'fport_write'.
Reported by Doug Evans <xdje42@gmail.com>
at <http://lists.gnu.org/archive/html/guile-devel/2015-03/msg00023.html>.

* libguile/fports.c (fport_write): Change SIZE to REMAINING in
  condition.  This doesn't have any observable effect.
2015-03-31 21:26:29 +02:00
Mark H Weaver
d574d96f87 Fix bytevector and custom binary ports to actually use ISO-8859-1 encoding.
Fixes <http://bugs.gnu.org/20200>, introduced in
  commit 337edc591f.
Reported by David Kastrup <dak@gnu.org>.

* libguile/r6rs-ports.c (make_bip, make_cbip, make_bop, make_cbop):
  After setting port encoding = NULL, update 'encoding_mode'
  accordingly.
* libguile/ports.c (scm_i_set_port_encoding_x): Add warning comment.
* test-suite/tests/r6rs-ports.test: Add tests.
2015-03-28 16:01:23 -04:00
Mark H Weaver
2c032c2215 Handle zero-length bytevectors correctly in (system base types).
* module/system/base/types.scm (cell->object): Use 'get-bytevector-n'
  instead of 'get-bytevector-all', so that the zero-length case does not
  return EOF.
2015-03-26 23:18:39 -04:00
Mark H Weaver
4ab9f0f8b9 Work around requirement that size be non-zero in GDB 'open-memory'.
* module/system/base/types.scm (memory-port): Handle zero size case
  specially.
2015-03-26 23:18:39 -04:00
Ludovic Courtès
61e1c2130c web: Export 'server-impl' procedures and the 'http' server implementation.
* module/web/server.scm: Export the 'server-impl' procedures.
* module/web/server/http.scm: Export 'http'.
2015-03-10 09:01:54 +01:00
Mark H Weaver
c74f776bbb build: Use pipe symbol instead of comma for substitutions.
* meta/Makefile.am (substitute): Use pipe symbol instead of comma for
  substitutions.
2015-03-06 23:59:18 -05:00
Taylan Ulrich Bayırlı/Kammer
bfdea17192 Correct docstring of 'symlink'.
* libguile/filesys.c (symlink): Correct the docstring, which had
  'oldpath' and 'newpath' confused.
2015-03-05 22:45:29 +01:00
Ludovic Courtès
3b50be4546 tests: Gracefully handle ENOSYS return for 'setaffinity'.
Fixes <http://bugs.gnu.org/19646>.
Reported by John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>.

* test-suite/tests/posix.test ("affinity")["setaffinity"]: Wrap in
  'catch' and throw 'unresolved upon ENOSYS.
2015-03-04 09:50:06 +01:00
Ludovic Courtès
9b8dbee047 tests: Make 'test-guild-compile' more reliable.
Before that it would occasionally fail because the "$target" (not the
intermediate temporary file) would be produced.

* test-suite/standalone/test-guild-compile: Call 'pause' before 'sleep'
  in test program.
2015-03-04 09:50:06 +01:00
Ludovic Courtès
b4f7e24c84 Use 'scm_is_eq' to compare 'SCM' objects.
* libguile/goops.c (scm_compute_applicable_methods): Use 'scm_is_eq'
  rather than direct comparison (regression introduced in 649ec8d8.)
2015-03-04 09:50:06 +01:00