Age | Commit message (Collapse) | Author | Files | Lines |
|
* module/ice-9/session.scm (help): Convert to syntax-rules. Also move
most of the body into help-internal; help messages should not be
displayed at macro-expansion time.
(help-internal): New procedure.
|
|
* module/ice-9/i18n.scm (define-vector-langinfo-mapping)
(define-simple-langinfo-mapping, define-monetary-langinfo-mapping):
Convert to syntax-rules macros. Also change the use of rest parameters
to instead use case-lambda, in order to fail fast when given more than
one argument.
|
|
* test-suite/tests/exceptions.test (push): New syntax parameter.
(throw-test): Convert to a syntax-rules macro, using syntax parameters
to support the otherwise-unhygienic use of "push".
|
|
Fixes <http://bugs.gnu.org/15370>.
Reported by Thien-Thi Nguyen <ttn@gnu.org>.
* libguile/deprecated.c (scm_uniform_vector_read_x): Only multiply by
width when argument supplied.
|
|
Reported by David Kastrup <dak@gnu.org>.
* doc/ref/srfi-modules.texi (SRFI-1 Fold and Map): Change argument
name, and default value.
|
|
Reported by Dmitry Bogatov <KAction@gnu.org>.
* doc/ref/api-compound.texi (Vector Syntax, Vector Creation): Mention
that vectors are self-quoting. Remove examples with quote signs.
|
|
* doc/ref/libguile-smobs.texi (Describing a New Type): Only list 'print'
and 'equalp' as compulsory. Explain why 'mark' and 'free' are
optional.
(Creating Smob Instances): Remove paragraphs about allocations that
might fail etc. Use 'scm_gc_malloc_pointerless' for the pixel
buffer.
(Garbage Collecting Smobs): Explain when the 'mark' and 'free'
functions are needed.
(Garbage Collecting Simple Smobs): Remove.
|
|
Discussed in <http://bugs.gnu.org/15368>.
* libguile/ports.c (scm_c_read): Enter the 'swap_buffer' case when
pt->encoding is "ISO-8859-1".
|
|
* libguile/numbers.c (left_shift_exact_integer): Fix edge case where
N is -1 and count is SCM_I_FIXNUM_BIT-1 to return the most negative
fixnum. Previously this result was returned as a bignum.
* test-suite/tests/numbers.test (ash): Add tests.
|
|
This reverts commit 8df68898b9f6ba15171244f1f3549688f13d605f.
|
|
* libguile/programs.c:
* libguile/programs.h:
* libguile/deprecated.h:
* libguile/deprecated.c (scm_c_program_source): Deprecate.
|
|
* libguile/numbers.c (scm_ash): Fix (ash -1 SCM_I_FIXNUM_BIT-1) to
return a fixnum instead of a bignum.
* test-suite/tests/numbers.test (ash): Add tests.
|
|
Fixes <http://bugs.gnu.org/15487>.
Reported by Josep Portella Florit <jpf@primfilat.com>.
* doc/ref/api-i18n.texi (i18n Introduction, Text Collation,
Internationalization, Internationalization):
LC_MESSAGE --> LC_MESSAGES.
* doc/ref/api-procedures.texi (Compiled Procedures):
program-lambda-alist --> program-lambda-list.
* THANKS: Fix alignment of Josep Portella Florit.
|
|
Fixes <http://bugs.gnu.org/15152>.
Reported by Josep Portella Florit <jpf@primfilat.com>.
* doc/ref/api-io.texi (R6RS Textual Output): Fix truncated docs
for 'put-char'.
* THANKS: Add Josep Portella Florit to fixes section.
|
|
* module/web/client.scm (extend-request):
* module/web/server.scm (extend-response): Reimplement using
functional setters.
|
|
* module/web/client.scm (sanitize-request): Add a Content-Length
header if a body if given, even if the body is empty.
* module/web/server.scm (sanitize-response): Add a Content-Length
header if a body if given, even if the body is empty.
|
|
* module/srfi/srfi-9.scm: Add 2013 copyright date.
* test-suite/tests/srfi-9.test: Adapt to recent error reporting
improvements to procedures defined by 'define-tagged-inlinable'.
|
|
* module/ice-9/boot-9.scm (define-inlinable): Improve error reporting
when procedures defined using 'define-inlinable' are applied to the
wrong number of arguments.
* module/srfi/srfi-9.scm (define-tagged-inlinable): Improve error
reporting when procedures defined using 'define-tagged-inlinable' are
applied to the wrong number of arguments.
|
|
* THANKS: Add Alexandru Cojocaru to fixes section.
|
|
* module/web/client.scm (request, http-get, http-head, http-post,
http-put, http-delete, http-trace, http-options): HTTP methods are
symbols.
|
|
* module/web/client.scm (extend-request): Preserve method and meta.
|
|
* module/ice-9/psyntax.scm: cite the paper.
|
|
* module/ice-9/and-let-star.scm (%and-let*): Use 'and' instead of
'if'. Suggested by Chris K. Jester-Young <cky944@gmail.com>.
|
|
* module/ice-9/and-let-star.scm (%and-let*): Helper macro.
(and-let*): Reimplement using syntax-case.
|
|
* module/ice-9/curried-definitions.scm (cdefine, cdefine*): Simplify,
and improve error reporting by making the patterns more strict.
(define-public): Fix bug in generated 'export' form.
|
|
* module/ice-9/boot-9.scm (module-add!): Check that the symbol argument
is actually a symbol.
(define-public): Expand into 'define' in such a way that curried
definitions will immediately fail.
|
|
* doc/ref/api-io.texi (R6RS Textual Input): Remove `count' argument.
|
|
* module/web/http.scm (write-request-line): Always write "/" when path
is empty, regardless of query.
* test-suite/tests/web-http.test ("write-request-line"): Add test.
|
|
Partially fixes <http://bugs.gnu.org/15100>.
Reported by Göran Weinholt <goran@weinholt.se>.
* libguile/bytevectors.c (INTEGERS_TO_LIST): Make sure SIZE isn't 0.
Allow SIZE to be greater than the bytevector length, for consistency
with allowing extra bytes at the end when the bytevector length is
non-zero. Use scm_from_size_t instead of scm_from_uint.
* test-suite/tests/bytevectors.test: Add tests. Remove a test that
checks for an exception when SIZE is greater than the bytevector
length.
|
|
* module/Makefile.am: match.go depends on match.upstream.scm.
* module/ice-9/match.scm (error): Accept any number of arguments.
* module/ice-9/match.upstream.scm (match-next): Call 'error' in non-tail
context, and include the value that failed to match in the call.
|
|
* doc/ref/api-compound.texi (Append/Reverse): Clarify that 'append!' and
'reverse!' are not required to modify anything.
|
|
* doc/ref/api-compound.texi (Append/Reverse): Say that 'append!' *may*
modify the given lists, but don't promise that it will.
|
|
* module/language/tree-il/primitives.scm (define-primitive-expander):
Use 'match-lambda*' instead of 'case-lambda' for pattern matching.
(*primitive-expand-table*): In primitive expanders for '+', '*', '-',
'/', 'logior', and 'logand', assume conventional left-to-right
associativity.
|
|
* module/language/tree-il/primitives.scm (*negatable-primitives*):
Remove (< <= > >=) from the list of negatable primitives.
|
|
* test-suite/tests/i18n.test (under-turkish-utf8-locale-or-unresolved):
Disable tests of Turkish UTF-8 locale in FreeBSD 9.1.
|
|
* libguile/numbers.c (mem2ureal, left_shift_exact_integer,
floor_right_shift_exact_integer, round_right_shift_exact_integer):
Use 'assert' instead of 'scm_syserror' to indicate a case that should
never happen.
|
|
* libguile/foreign.c (scm_dereference_pointer): Check for attempts to
dereference a null pointer.
* test-suite/tests/foreign.test ("null pointer"): Add test.
|
|
* libguile/numbers.c (scm_numerator, scm_denominator): Handle signed
zeroes and infinities in accordance with the corresponding R6RS flonum
procedures.
* module/rnrs/arithmetic/flonums.scm (flnumerator, fldenominator):
Remove special handling of infinities.
* test-suite/tests/numbers.test (numerator, denominator): Add tests.
Convert existing tests to use 'pass-if-equal'.
* test-suite/tests/r6rs-arithmetic-flonums.test (flnumerator): Fix
broken test of (flnumerator -0.0).
|
|
* module/language/scheme/decompile-tree-il.scm (choose-output-names):
A <lambda> with no <lambda-case> decompiles into a 'case-lambda'
primitive. Ensure that 'case-lambda' is not shadowed by a lexical.
|
|
Fixes <http://bugs.gnu.org/15033>.
* libguile/print.c (print_extended_symbol): Double print backslashes.
Signed-off-by: Mark H Weaver <mhw@netris.org>
|
|
* lib/copysign.c:
* lib/isfinite.c:
* lib/isnanf-nolibm.h:
* lib/isnanl-nolibm.h:
* lib/signbitd.c:
* lib/signbitf.c:
* lib/signbitl.c:
* m4/copysign.m4:
* m4/isfinite.m4:
* m4/signbit.m4: New files.
|
|
* libguile/vm-i-scheme.c (ash): Use SCM_SRS. Handle inum right shift by
more than SCM_I_FIXNUM_BIT-1 bits in fast path.
|
|
* libguile/numbers.c (DOUBLE_IS_FINITE, DOUBLE_IS_POSITIVE_INFINITY,
DOUBLE_IS_NEGATIVE_INFINITY): Remove.
(scm_odd_p, scm_even_p, scm_finite_p, icmplx2str, scm_rational_p,
scm_inexact_to_exact): Use 'isfinite' instead of 'DOUBLE_IS_FINITE'.
|
|
* libguile/numbers.c (double_is_non_negative_zero): Remove.
(idbl2str, scm_max, scm_min, scm_angle, log_of_shifted_double,
scm_log10): Use 'copysign' to check signs of zeroes,
instead of 'double_is_non_negative_zero'.
|
|
* lib/Makefile.am:
* m4/gnulib-cache.m4:
* m4/gnulib-comp.m4: Add 'copysign' and 'isfinite' Gnulib modules.
|
|
* libguile/vm-i-scheme.c (ASM_ADD, ASM_SUB): Clobber _CX not "rcx".
|
|
* libguile/vm-i-scheme.c (ASM_MUL): Define only if the target
architecture is known to implement the SMULL instruction.
|
|
* libguile/vm-i-scheme.c (ASM_ADD, ASM_SUB, ASM_MUL): Implement for ARM.
|
|
* libguile/vm-i-scheme.c (logand, logior): Avoid untagging.
|
|
* libguile/vm-i-scheme.c (ASM_MUL): New macro.
(mul): Use ASM_MUL if available.
|