comparison src/ChangeLog @ 4996:c17c857e20bf

Merge.
author Aidan Kehoe <kehoea@parhasard.net>
date Wed, 03 Feb 2010 20:18:53 +0000
parents c90385e49231 8431b52e43b1
children 8800b5350a13
comparison
equal deleted inserted replaced
4927:5274591ce707 4996:c17c857e20bf
540 * search.c (search_buffer): 540 * search.c (search_buffer):
541 Don't use Boyer-Moore for case-insensitive search if the search 541 Don't use Boyer-Moore for case-insensitive search if the search
542 pattern contains repeated Ibytes and the corresponding character 542 pattern contains repeated Ibytes and the corresponding character
543 has case information (or, equivalently, if one of its case 543 has case information (or, equivalently, if one of its case
544 equivalents would contain repeated Ibytes). 544 equivalents would contain repeated Ibytes).
545
546 2010-01-31 Aidan Kehoe <kehoea@parhasard.net>
547
548 Move #'mapcar*, #'mapcan, #'mapc, #'map, #'mapl, #'mapcon to C;
549 extend #'mapvector, #'mapconcat, #'mapcar to support more
550 SEQUENCES; have them all error with circular lists.
551
552 * fns.c (Fsubseq): Call CHECK_SEQUENCE here; Flength can return
553 from the debugger if it errors with a non-sequence, leading to a
554 crash in Fsubseq if sequence really is *not* a sequence.
555 (mapcarX): Rename mapcar1 to mapcarX; rework it comprehensively to
556 take an optional lisp output argument, and a varying number of
557 sequences.
558 Special-case a single list argument, as we used to, saving its
559 elements in the stack space for the results before calling
560 FUNCTION, so FUNCTION can corrupt the list all it
561 wants. dead_wrong_type_argument() in the other cases if we
562 encounter a non-cons where we expected a cons.
563 (Fmapconcat):
564 Accept further SEQUENCES after separator here. Special-case
565 the idiom (mapconcat 'identity SEQUENCE), don't even funcall.
566 (FmapcarX): Rename this from Fmapcar. Accept optional SEQUENCES.
567 (Fmapvector): Accept optional SEQUENCES.
568 (Fmapcan, Fmapc, Fmap): Move these here from cl-extra.el.
569 (Fmap_into): New function, as specified by Common Lisp.
570 (maplist): New function, the guts of the implementation of
571 Fmaplist and Fmapl.
572 (Fmaplist, Fmapl, Fmapcon): Move these from cl-extra.el.
573 (syms_of_fns):
574 Add a few needed symbols here, for the type tests
575 used by #'map. Add the new subrs, with aliases for #'mapc-internal
576 and #'mapcar.
577
578 * general-slots.h: Declare Qcoerce here, now it's used in both
579 indent.c and fns.c
580 * indent.c (syms_of_indent): Qcoerce is gone from here.
581
582 * lisp.h: Add ARRAYP(), SEQUENCEP(), and the corresponding CHECK_*
583 macros. Declare Fbit_vector, Fstring, FmapcarX, now other files
584 need to use them.
585 * data.c (Farrayp, Fsequencep): Use ARRAYP and SEQUENCEP, just
586 added to lisp.h
587
588 * buffer.c (Fbuffer_list): Now Fmapcar has been renamed FmapcarX
589 and takes MANY arguments, update this function to reflect that.
545 590
546 2010-01-28 Jerry James <james@xemacs.org> 591 2010-01-28 Jerry James <james@xemacs.org>
547 592
548 * Makefile.in.in: Remove internationalization rules, since the 593 * Makefile.in.in: Remove internationalization rules, since the
549 lib-src programs they invoke are now gone. 594 lib-src programs they invoke are now gone.