| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
* libguile/eval.c (eval): Remove unused variable.
* libguile/memoize.c (unmemoize): Fix unmemoization.
* module/ice-9/eval.scm: Attempt to speed up common box-ref cases.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libguile/expand.c (convert_assignment): Handle creation of the default
lambda-case body here.
* libguile/eval.c (eval):
* module/ice-9/eval.scm (primitive-eval):
* libguile/memoize.h:
* libguile/memoize.c (MAKMEMO_BOX_REF, MAKMEMO_BOX_SET):
(MAKMEMO_TOP_BOX, MAKMEMO_MOD_BOX): Refactor all global var resolution
to go through "resolve". Add "box-ref" and "box-set!". Rename
memoize-variable-access! to %resolve-variable, and don't be
destructive.
|
|
|
|
|
|
|
| |
* libguile/memoize.c (MAKMEMO_CAPTURE_ENV, push_nested_link)
(push_flat_link, env_link_is_flat, env_link_vars)
(env_link_add_flat_var, lookup, capture_flat_env, memoize): Capture
flat environments around closures.
|
|
|
|
|
|
|
|
| |
* libguile/eval.c (eval):
* libguile/memoize.c (memoized_tags, unmemoize):
* libguile/memoize.h (SCM_M_CAPTURE_ENV):
* module/ice-9/eval.scm (primitive-eval): Add capture-env memoized
expression type.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libguile/memoize.c (FULL_ARITY): Serialize "ninits" and the unbound
value instead of the init list.
(memoize): Adapt to FULL_ARITY changes. Remove LETREC case.
(unmemoize): Adapt to memoized code change.
* libguile/eval.c (BOOT_CLOSURE_PARSE_FULL): Adapt to parse ninits and
unbound instead of inits.
(eval): Lexical-ref can no longer raise an error.
(prepare_boot_closure_env_for_apply): Adapt to inits change.
* module/ice-9/eval.scm (primitive-eval): Adapt to ninits/unbound
change.
* libguile/expand.c (expand_named_let): Fix lambda-case creation to make
lists for opt and inits.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libguile/expand.c (compute_assigned, convert_assignment)
(scm_convert_assignment): New functions.
* libguile/expand.h: Declare scm_convert_assignment.
* libguile/memoize.c (scm_memoize_expression): Do assignment conversion
before memoization.
* test-suite/tests/syntax.test ("letrec"): Detection of unbound letrec
variables now works.
|
|
|
|
|
|
|
| |
* module/texinfo.scm (texi-command-specs): The body of @url{} can have
texinfo commands.
* test-suite/tests/texinfo.test ("test-texinfo->stexinfo"): Add tests.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* module/web/uri.scm (validate-uri): Add reference? keyword argument,
for validating references.
(build-uri): Clarify comments to indicate that the result is an
absolute URI.
(build-uri-reference): New interface, to build URI-references.
(string->uri-reference): Rename from string->uri*. Fix fragment
parsing to not include the #.
(string->uri): Adapt to string->uri-reference name change.
* module/web/request.scm (request-absolute-uri): Add default-scheme
optional argument. Use it if the request-uri has no scheme, or
error.
* module/web/http.scm (write-uri): Reflow to use "when". Fix writing of
URI-reference instances.
(declare-uri-reference-header!): Rename from
declare-relative-uri-header!. Use string->uri-reference.
("Location"): Declare as a URI-reference header, as per RFC 7231.
* module/web/client.scm (open-socket-for-uri): Handle the case in which
there is no URI scheme.
* test-suite/tests/web-http.test:
* test-suite/tests/web-uri.test: Add tests.
|
|\ |
|
| |
| |
| |
| |
| | |
* module/system/vm/assembler.scm (intern-constant, link-data): handle
the array case.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* libguile/arrays.c (scm_i_make_array): redo object layout.
* libguile/arrays.h (SCM_I_ARRAY_V, SCM_ARRAY_BASE, SCM_I_ARRAY_DIMS):
to match new layout.
(SCM_I_ARRAY_SET_V, SCM_ARRAY_SET_BASE): new setters.
(SCM_I_ARRAY_MEM, scm_i_t_array): unused, remove.
(scm_i_shap2ra, scm_make_typed_array, scm_from_contiguous_typed_array,
scm_from_contiguous_array, scm_make_shared_array, scm_transpose_array,
scm_array_contents): fix uses of SCM_I_ARRAY_V, SCM_ARRAY_BASE as
lvalues.
* libguile/array-map.c (make1array, scm_ramapc): fix uses of
SCM_I_ARRAY_V, SCM_ARRAY_BASE as lvalues.
|
|/
|
|
|
|
|
| |
* test-suite/test-suite/lib.scm (c&e): accept (pass-if exp) clause.
* test-suite/tests/arrays.test: use with-prefix/c&e instead of
with-prefix where possible.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
benchmark-suite/benchmarks/ports.bm
libguile/async.h
libguile/bytevectors.c
libguile/foreign.c
libguile/gsubr.c
libguile/srfi-1.c
libguile/vm-engine.h
libguile/vm-i-scheme.c
module/Makefile.am
module/language/tree-il/analyze.scm
module/language/tree-il/peval.scm
module/scripts/compile.scm
module/scripts/disassemble.scm
test-suite/tests/asm-to-bytecode.test
test-suite/tests/peval.test
test-suite/tests/rdelim.test
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* libguile/unicode.c:
* libguile/unicode.h:
* test-suite/tests/unicode.test:
* module/ice-9/unicode.scm: New files.
* module/Makefile.am:
* libguile/Makefile.am:
* test-suite/Makefile.am:
* libguile/init.c: Wire new files into the build.
* doc/ref/api-data.texi: Add docs.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes <http://bugs.gnu.org/17634>.
Reported by Josep Portella Florit <jpf@primfilat.com>.
* module/language/tree-il/peval.scm (inlined-application): When inlining
an application whose operator is a lambda expression with optional
arguments that rely on default initializers, expand into a series of
nested let expressions, to ensure that previous arguments are in scope
when the default initializers are evaluated.
* test-suite/tests/peval.test ("partial evaluation"): Add tests.
|
| |
| |
| |
| |
| |
| |
| | |
* doc/ref/srfi-modules.texi (SRFI-43 Constructors)[vector-unfold]:
Improve description.
* module/srfi/srfi-43.scm (vector-unfold, vector-unfold-right):
Improve docstrings.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Suggested by Frank Terbeck <ft@bewatermyfriend.org>.
* libguile/posix.c (scm_init_posix): Define 'EXIT_SUCCESS' and
'EXIT_FAILURE'.
* doc/ref/posix.texi (Processes): Document them.
|
| |
| |
| |
| |
| | |
* guile-readline/ice-9/readline.scm (history-file): When the HOME
environment variable is unset, use the current directory instead.
|
| |
| |
| |
| |
| |
| |
| | |
Fixes <http://bugs.gnu.org/18470>.
Reported by Rob Browning <rlb@defaultvalue.org>.
* autogen.sh: Invoke 'libtoolize' instead of 'libtool'.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes <http://bugs.gnu.org/18495>.
* libguile/smob.h (SCM_SMOB_OBJECT_LOC, SCM_SMOB_OBJECT_0_LOC)
(SCM_SMOB_OBJECT_1_LOC, SCM_SMOB_OBJECT_2_LOC)
(SCM_SMOB_OBJECT_3_LOC): These elementary API macros have been broken
by commit 56164dc47f6616b359f0ad23be208f01a77b55fa in 2009.
Signed-off-by: David Kastrup <dak@gnu.org>
|
| |
| |
| |
| |
| | |
* module/scripts/disassemble.scm: Use #:prefix instead of #:renamer
in #:use-module clause.
|
| |
| |
| |
| |
| | |
* doc/ref/api-modules.texi (Using Guile Modules): Document #:prefix
option.
|
| |
| |
| |
| |
| | |
* module/srfi/srfi-43.scm (vector-concatenate): Fix the 'who' of an
error message.
|
| |
| |
| |
| |
| |
| |
| | |
Subset of a patch by Andreas Schwab <schwab@linux-m68k.org>.
Reported by Rob Browning <rlb@defaultvalue.org>.
* libguile/vm-engine.h (IP_REG)[__mc68000__]: Use register "a3".
|
| |
| |
| |
| |
| |
| |
| |
| | |
Reported by Rob Browning <rlb@defaultvalue.org>.
* libguile/vm-engine.h (IP_REG)[__arm__]: Remove explicit register
choice ("r7") for FP_REG, which was reported to cause compilation
failures on ARM.
|
| |
| |
| |
| |
| |
| | |
* libguile/foreign.c (raw_bytecode, objcode_cells):
* libguile/gsubr.c (raw_bytecode, objcode_cells): Use SCM_ALIGNED to
ensure 64-bit alignment.
|
| |
| |
| |
| |
| |
| |
| | |
Reported by Rob Browning <rlb@defaultvalue.org>.
* libguile/vm-i-scheme.c (ASM_MUL)[ARM]: Add earlyclobber (&) constraint
to the SMULL output registers.
|
| |
| |
| |
| |
| |
| |
| | |
Reported by Eli Zaretskii <eliz@gnu.org>.
* test-suite/standalone/Makefile.am (test_scm_take_locale_symbol_LDADD):
Add libgnu.la, for the 'strdup' replacement.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes <http://bugs.gnu.org/18299>.
Reported by Frank Terbeck <ft@bewatermyfriend.org>.
* module/language/tree-il/analyze.scm (format-string-argument-count):
Add case for ~p.
* test-suite/tests/tree-il.test ("warnings")["format"]("~p", "~p, too
few arguments", "~:p", "~:@p, too many arguments", "~:@p, too few
arguments"): New tests.
|
| |
| |
| |
| |
| | |
* libguile/load.c (search_path): On MS-Windows, convert all
backslashes to forward slashes if the file was found on PATH.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Based on a patch by Eli Zaretskii <eliz@gnu.org>.
* libguile/i18n.c (copy_string_or_null): New static function.
(scm_nl_langinfo): Use 'copy_string_or_null' to copy the result from
'nl_langinfo' and 'nl_langinfo_l' before the next call and before
releasing the locale mutex.
|
| |
| |
| |
| |
| |
| |
| | |
* test-suite/tests/coding.test (with-temp-file): Instead of
hard-coding "/tmp" as the temporary directory, use $TMPDIR or
$TEMP from the environment, and fall back on "/tmp" if none of
those 2 is defined.
|
| |
| |
| |
| |
| | |
* doc/ref/api-evaluation.texi (Block Comments): Remove "which must appear on a
line of their own". Reported by David Michael <fedora.dm0@gmail.com>.
|
| |
| |
| |
| |
| |
| |
| | |
* doc/ref/api-utility.texi (Object Properties)[make-object-property]:
Clarify that object-properties cannot be reliably applied to numbers.
Signed-off-by: David Kastrup <dak@gnu.org>
|
| |
| |
| |
| | |
* module/ice-9/curried-definitions.scm (define*-public): New macro.
|
| |
| |
| |
| |
| |
| | |
* module/ice-9/boot-9.scm (add-to-load-path): Remove argument from
%load-path (if it exists) before pushing. This also means that the
`elt' will always be at the front of %load-path.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Suggested by Dale P. Smith.
* module/system/base/target.scm (cpu-endianness): Add cases for
"arm.*eb", "^aarch64.*be", and "aarch64". Change "arm" case to
"arm.*".
(triplet-pointer-size): Allow underscore as in 'aarch64_be'.
* test-suite/tests/asm-to-bytecode.test ("cross-compilation")["armeb-unknown-linux-gnu",
"aarch64-linux-gnu", "aarch64_be-linux-gnu"]: New tests.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* libguile/bitvectors.c (scm_bit_count_star): Fix typo introduced in
2005 refactor (!) in which the second arg was erroneously taken from
the first arg.
* test-suite/tests/bitvectors.test: Add test.
* doc/ref/api-compound.texi: Fix doc example for u32vector selector.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reported by Sylvain Beucler <beuc@beuc.net>.
* configure.ac: Check for 'pthread_cancel'.
* libguile/threads.c (scm_cancel_thread): Conditionalize on
!SCM_USE_PTHREAD_THREADS || defined HAVE_PTHREAD_CANCEL.
* test-suite/tests/threads.test (require-cancel-thread): New procedure.
("timed joining fails if timeout exceeded", "join-thread returns
timeoutval on timeout", "cancel succeeds", "handler result passed to
join", "can cancel self"): Use it.
|
| |
| |
| |
| |
| | |
* configure.ac: Use 'LT_LIB_M' instead of 'AC_CHECK_LIB(m, cos)'.
Suggested by Sylvain Beucler <beuc@beuc.net>.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reported by Sylvain Beucler <beuc@beuc.net>.
* module/system/base/target.scm (cpu-endianness): Add case where CPU is
"arm".
* test-suite/tests/asm-to-bytecode.test ("cross-compilation")["arm-unknown-linux-androideabi"]:
New test.
|
| | |
|
| |
| |
| |
| |
| |
| | |
* test-suite/tests/ports.test: Untabify.
* test-suite/tests/posix.test: Untabify.
* test-suite/tests/r6rs-files.test: Untabify.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* libguile/load.c (scm_i_mirror_backslashes): New function.
(scm_init_load_path): Call it to produce MS-Windows file names
with forward slashes.
(FILE_NAME_SEPARATOR_STRING): Define as "/" on all platforms.
* libguile/load.h (scm_i_mirror_backslashes): Add prototype.
* libguile/init.c (scm_boot_guile): Call scm_i_mirror_backslashes
on argv[0].
* libguile/filesys.c (scm_getcwd): Call scm_i_mirror_backslashes
on the directory name returned by getcwd.
* test-suite/tests/ports.test ("file name separators"): New test.
|
| |
| |
| |
| |
| | |
* libguile/posix.c (cpu_set_to_bitvector): Use CPU_SETSIZE, not
sizeof, to compute the size of the CPU set.
|
| |
| |
| |
| |
| | |
* libguile/debug.c (init_stack_limit) [__MINGW32__]: Use
VirtualQuery to compute the stack limit on MS-Windows.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* module/Makefile.am (ICE_9_SOURCES): Add ice-9/popen.scm.
(ICE_9_SOURCES) [BUILD_ICE_9_POPEN]: Remove conditional addition
of ice-9/popen.scm.
(SCRIPTS_SOURCES): Add scripts/autofrisk.scm and
scripts/scan-api.scm unconditionally.
(SCRIPTS_SOURCES) [BUILD_ICE_9_POPEN]: Remove conditional addition
of scripts/autofrisk.scm and scripts/scan-api.scm.
* configure.ac: Remove the BUILD_ICE_9_POPEN condition.
* test-suite/tests/popen.test (if-supported): Don't test for 'fork
feature being supported.
|
| |
| |
| |
| |
| |
| |
| |
| | |
* test-suite/tests/r6rs-files.test: Close the port after
using it.
* test-suite/tests/posix.test ("mkstemp!"): Close the port after
using it.
|
| |
| |
| |
| |
| |
| | |
* libguile/simpos.c (scm_system_star) [!HAVE_FORK]: An
implementation of 'system*' for MS-Windows, which doesn't have
'fork', but can use 'spawnvp' in this case.
|