| Commit message (Expand) | Author | Age | Files | Lines |
* | Merge branch 'stable-2.0'...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
| Mark H Weaver | 2014-09-30 | 1 | -4/+36 |
|\ |
|
| * | Optimize scm_ilength and 'length+'....* libguile/list.c (scm_ilength): Test for SCM_NULL_OR_NIL_P only after
testing scm_is_pair. Conform to GNU coding standards.
* libguile/srfi-1.c (scm_srfi1_length_plus): Ditto.
| Mark H Weaver | 2014-06-04 | 1 | -7/+15 |
| * | SRFI-1 'length+' raises an error unless passed a proper or circular list....Fixes <http://bugs.gnu.org/17296>.
* libguile/srfi-1.c (scm_srfi1_length_plus): Rewrite to raise an error
unless passed a proper or circular list, based on code from
'scm_ilength'.
* test-suite/tests/srfi-1.test (length+): Add tests.
| Mark H Weaver | 2014-06-01 | 1 | -4/+28 |
* | | Change eval.c to use scm_c_vm_run instead of scm_call_with_vm....* libguile/eval.c (scm_apply_0, scm_apply_1, scm_apply_2, scm_apply_3)
(scm_map, scm_for_each, scm_apply): Change to prefer scm_apply_0, and
to have it call vm_run instead of call_with_vm.
(eval): Use scm_apply_0 and scm_call_0.
* libguile/srfi-1.c (scm_srfi1_count): Use scm_apply_0.
| Andy Wingo | 2013-11-21 | 1 | -2/+2 |
|/ |
|
* | Improve the usage of variable names in C docstrings....* libguile/alist.c:
* libguile/array-map.c:
* libguile/arrays.c:
* libguile/bitvectors.c:
* libguile/filesys.c:
* libguile/foreign.c:
* libguile/generalized-arrays.c:
* libguile/hashtab.c:
* libguile/ioext.c:
* libguile/load.c:
* libguile/numbers.c:
* libguile/ports.c:
* libguile/posix.c:
* libguile/print.c:
* libguile/procprop.c:
* libguile/promises.c:
* libguile/simpos.c:
* libguile/socket.c:
* libguile/srfi-1.c:
* libguile/srfi-13.c:
* libguile/srfi-14.c:
* libguile/stacks.c:
* libguile/stime.c:
* libguile/strings.c:
* libguile/struct.c:
* libguile/symbols.c:
* libguile/threads.c:
* libguile/weak-table.c:
* libguile/weak-vector.c: Make the variable names in the C docstrings more
consistent. Replace a few instances of @var with @code when appropriate.
| Bake Timmons | 2012-02-02 | 1 | -4/+4 |
* | fix take-right and drop-right for improper lists...* libguile/srfi-1.h:
* libguile/srfi-1.c (scm_srfi1_drop_right, scm_srfi1_take_right): Remove
these internal functions, replacing with Scheme implementations.
* module/srfi/srfi-1.scm (take-right, drop-right): Add these impls from
the reference code. They do the right thing for improper lists,
according to the spec, but they diverge for circular lists. Oh well.
* test-suite/tests/srfi-1.test ("drop-right", "take-right"): Add more
tests.
| Andy Wingo | 2011-08-12 | 1 | -39/+0 |
* | map and for-each in scheme...* module/ice-9/boot-9.scm (map, for-each): Implement in Scheme instead
of C. There are boot versions before `cond' is defined.
(map-in-order): Define this alias here instead of in evalext.h.
* libguile/eval.c: Stub out the map and for-each definitions to just
call into Scheme.
* libguile/evalext.c: Remove map-in-order definition.
* module/srfi/srfi-1.scm: Replace all calls to map1 with calls to map.
(map, for-each): Define implementations here, in Scheme, instead of in
C.
* test-suite/tests/eval.test (exception:wrong-length, "map"): Update the
expected exception for mapping over lists of different lengths.
* libguile/srfi-1.h:
* libguile/srfi-1.c: Remove map and for-each definitions. Remove the
bit that extended the core `map' primitive with another method: the
right way to do that is with modules.
| Andy Wingo | 2011-05-05 | 1 | -229/+0 |
* | srfi-1 `member' in scheme, inlines to memq / memv in some cases...* libguile/srfi-1.c:
* libguile/srfi-1.h (scm_srfi1_member): Move implementation to Scheme.
* module/srfi/srfi-1.scm (member): Implement here, with the inlining
cases for eq? and eqv?. Speeds up a compiled bootstrap of
psyntax.scm, because lset-adjoin inlines to the memq case.
(lset<=): Reindent.
(lset-adjoin, lset-union): If the comparator is eq? or eqv?, just pass
it through to `member', so we inline to memq / memv. Use something
closer to the reference implementations.
| Andy Wingo | 2011-05-05 | 1 | -37/+0 |
* | fix typos in the manual bits generated from source comments....* libguile/bitvectors.c, libguile/chars.c,
libguile/deprecated.c, libguile/numbers.c, libguile/random.c,
libguile/read.c, libguile/root.c, libguile/srfi-1.c,
libguile/srfi-13.c, libguile/srfi-14.c, libguile/uniform.c:
Fix typos, add missing newlines.
| Ralf Wildenhues | 2011-02-09 | 1 | -2/+2 |
* | Fix typo....* libguile/srfi-1.c (scm_srfi1_concatenate_x): Fix `FUNC_NAME'.
| Ludovic Courtès | 2011-02-02 | 1 | -3/+3 |
* | SRFI-1: Rewrite `split-at' and `split-at!' in Scheme....This partially reverts commit bb560b9c16893f762699ba5a3109c8367fff8dfc
(Tue Mar 15 2005).
* module/srfi/srfi-1.scm (out-of-range, split-at, split-at!): New
procedures.
* libguile/srfi-1.c (scm_srfi1_split_at, scm_srfi1_split_at_x): Remove.
* libguile/srfi-1.h (scm_srfi1_split_at, scm_srfi1_split_at_x): Ditto.
| Ludovic Courtès | 2010-10-08 | 1 | -51/+0 |
* | SRFI-1: Rewrite `filter-map' in Scheme....This partially reverts commit c16359466bcc3f2ebf6d750c069f787f629fc625
(Thu Mar 17 2005).
* libguile/srfi-1.c (scm_srfi1_filter_map): Remove.
* libguile/srfi-1.h (scm_srfi1_filter_map): Ditto.
* module/srfi/srfi-1.scm (filter-map): New procedure.
| Ludovic Courtès | 2010-10-08 | 1 | -109/+0 |
* | SRFI-1: Rewrite `alist-copy' in Scheme....This partially reverts commit b1fff4e793619b20342cba0015b9367680d3a0bd
(Sat Apr 2 2005).
* libguile/srfi-1.c (scm_srfi1_alist_copy): Remove.
* libguile/srfi-1.h (scm_srfi1_alist_copy): Remove declaration.
* module/srfi/srfi-1.scm (alist-copy): New procedure.
| Ludovic Courtès | 2010-09-20 | 1 | -35/+0 |
* | Remove the SRFI-1 C proxies....* libguile/srfi-1.c (srfi1_module, CACHE_VAR): Remove.
(scm_srfi1_break, scm_srfi1_break_x, scm_srfi1_car_plus_cdr,
scm_srfi1_drop_right_x, scm_srfi1_drop_while, scm_srfi1_eighth,
scm_srfi1_fifth, scm_srfi1_fold, scm_srfi1_last, scm_srfi1_list_index,
scm_srfi1_list_tabulate, scm_srfi1_lset_adjoin, scm_srfi1_ninth,
scm_srfi1_not_pair_p, scm_srfi1_reduce, scm_srfi1_reduce_right,
scm_srfi1_seventh, scm_srfi1_sixth, scm_srfi1_span, scm_srfi1_span_x,
scm_srfi1_take_x, scm_srfi1_take_while, scm_srfi1_take_while_x,
scm_srfi1_tenth, scm_srfi1_xcons): Remove.
* libguile/srfi-1.h: Remove the corresponding declarations.
| Ludovic Courtès | 2010-09-20 | 1 | -197/+0 |
* | move srfi-1 and srfi-60 C impl to libguile, without public C api...* libguile/srfi-1.c:
* libguile/srfi-1.h:
* libguile/srfi-60.c:
* libguile/srfi-60.h:
* libguile/ChangeLog-srfi: Move here, from the srfi/ dir. The C API is
internal. Add API to register the extensions, called by init.c.
* libguile/init.c: Verily, register srfi extensions.
* libguile/Makefile.am: Add srfi files.
* module/srfi/srfi-1.scm:
* module/srfi/srfi-60.scm: Update load-extension invocation.
* Makefile.am:
* configure.ac: Remove srfi/ dir.
* test-suite/standalone/Makefile.am:
* test-suite/standalone/test-srfi-1.c: Remove srfi-1 C test, we don't
support this API any more.
| Andy Wingo | 2010-09-12 | 1 | -0/+1619 |