comparison man/internals/internals.texi @ 5607:1a507c4c6c42

Refactor out sequence-oriented builtins from fns.c to the new sequence.c. src/ChangeLog addition: 2011-12-04 Aidan Kehoe <kehoea@parhasard.net> * Makefile.in.in (objs): * depend: Add sequence.o to the list of objects and dependencies. * alloc.c: * alloc.c (mark_bit_vector): * alloc.c (print_bit_vector): * alloc.c (bit_vector_equal): * alloc.c (internal_bit_vector_equalp_hash): * alloc.c (bit_vector_hash): * alloc.c (init_alloc_once_early): Move the implementation of the bit vector type here from fns.c. * emacs.c (main_1): Call syms_of_sequence() here, now sequence.c is included. * fns.c (Fold_rassq): Move this together with the rest of the Fold_* functions. * fns.c: * fns.c (syms_of_fns): Move most functions dealing with sequences generally, and especially those taking key arguments, to a separate file, sequence.c. * general-slots.h: Qyes_or_no_p belong here, not fns.c. * lisp.h: Make Flist_length available here, it's used by sequence.c * sequence.c: * sequence.c (check_sequence_range): * sequence.c (Flength): * sequence.c (check_other_nokey): * sequence.c (check_other_key): * sequence.c (check_if_key): * sequence.c (check_match_eq_key): * sequence.c (check_match_eql_key): * sequence.c (check_match_equal_key): * sequence.c (check_match_equalp_key): * sequence.c (check_match_other_key): * sequence.c (check_lss_key): * sequence.c (check_lss_key_car): * sequence.c (check_string_lessp_key): * sequence.c (check_string_lessp_key_car): * sequence.c (get_check_match_function_1): * sequence.c (get_merge_predicate): * sequence.c (count_with_tail): * sequence.c (list_count_from_end): * sequence.c (string_count_from_end): * sequence.c (Fcount): * sequence.c (Fsubseq): * sequence.c (list_position_cons_before): * sequence.c (FmemberX): * sequence.c (Fadjoin): * sequence.c (FassocX): * sequence.c (FrassocX): * sequence.c (position): * sequence.c (Fposition): * sequence.c (Ffind): * sequence.c (delq_no_quit_and_free_cons): * sequence.c (FdeleteX): * sequence.c (FremoveX): * sequence.c (list_delete_duplicates_from_end): * sequence.c (Fdelete_duplicates): * sequence.c (Fremove_duplicates): * sequence.c (Fnreverse): * sequence.c (Freverse): * sequence.c (list_merge): * sequence.c (array_merge): * sequence.c (list_array_merge_into_list): * sequence.c (list_list_merge_into_array): * sequence.c (list_array_merge_into_array): * sequence.c (Fmerge): * sequence.c (list_sort): * sequence.c (array_sort): * sequence.c (FsortX): * sequence.c (Ffill): * sequence.c (mapcarX): * sequence.c (shortest_length_among_sequences): * sequence.c (Fmapconcat): * sequence.c (FmapcarX): * sequence.c (Fmapvector): * sequence.c (Fmapcan): * sequence.c (Fmap): * sequence.c (Fmap_into): * sequence.c (Fsome): * sequence.c (Fevery): * sequence.c (Freduce): * sequence.c (replace_string_range_1): * sequence.c (Freplace): * sequence.c (Fnsubstitute): * sequence.c (Fsubstitute): * sequence.c (subst): * sequence.c (sublis): * sequence.c (Fsublis): * sequence.c (nsublis): * sequence.c (Fnsublis): * sequence.c (Fsubst): * sequence.c (Fnsubst): * sequence.c (tree_equal): * sequence.c (Ftree_equal): * sequence.c (mismatch_from_end): * sequence.c (mismatch_list_list): * sequence.c (mismatch_list_string): * sequence.c (mismatch_list_array): * sequence.c (mismatch_string_array): * sequence.c (mismatch_string_string): * sequence.c (mismatch_array_array): * sequence.c (get_mismatch_func): * sequence.c (Fmismatch): * sequence.c (Fsearch): * sequence.c (venn): * sequence.c (nvenn): * sequence.c (Funion): * sequence.c (Fset_exclusive_or): * sequence.c (Fnset_exclusive_or): * sequence.c (syms_of_sequence): Add this file, containing those general functions that dealt with sequences that were in fns.c. * symsinit.h: Make syms_of_sequence() available here. man/ChangeLog addition: 2011-12-04 Aidan Kehoe <kehoea@parhasard.net> * internals/internals.texi (Basic Lisp Modules): Document sequence.c here too.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 04 Dec 2011 18:42:50 +0000
parents 873d7425c1ad
children 9c9b07d40f20
comparison
equal deleted inserted replaced
5606:7c383c5784ed 5607:1a507c4c6c42
3209 @item @file{select-gtk.c} @tab 3209 @item @file{select-gtk.c} @tab
3210 @item @file{select-msw.c} @tab @ref{Modules for Interfacing with X Windows}. 3210 @item @file{select-msw.c} @tab @ref{Modules for Interfacing with X Windows}.
3211 @item @file{select-x.c} @tab @ref{Modules for Interfacing with X Windows}. 3211 @item @file{select-x.c} @tab @ref{Modules for Interfacing with X Windows}.
3212 @item @file{select.c} @tab @ref{Modules for Interfacing with X Windows}. 3212 @item @file{select.c} @tab @ref{Modules for Interfacing with X Windows}.
3213 @item @file{select.h} @tab @ref{Modules for Interfacing with X Windows}. 3213 @item @file{select.h} @tab @ref{Modules for Interfacing with X Windows}.
3214 @item @file{sequence.c} @tab @ref{Basic Lisp Modules}.
3214 @item @file{sgiplay.c} @tab @ref{Modules for Interfacing with the Operating System}. 3215 @item @file{sgiplay.c} @tab @ref{Modules for Interfacing with the Operating System}.
3215 @item @file{sheap.c} @tab 3216 @item @file{sheap.c} @tab
3216 @item @file{signal.c} @tab @ref{Low-Level Modules}. 3217 @item @file{signal.c} @tab @ref{Low-Level Modules}.
3217 @item @file{sound.c} @tab @ref{Modules for Interfacing with the Operating System}. 3218 @item @file{sound.c} @tab @ref{Modules for Interfacing with the Operating System}.
3218 @item @file{sound.h} @tab 3219 @item @file{sound.h} @tab
3632 3633
3633 @example 3634 @example
3634 @file{data.c} 3635 @file{data.c}
3635 @file{floatfns.c} 3636 @file{floatfns.c}
3636 @file{fns.c} 3637 @file{fns.c}
3638 @file{sequence.c}
3637 @end example 3639 @end example
3638 3640
3639 These modules implement the methods and standard Lisp primitives for all 3641 These modules implement the methods and standard Lisp primitives for all
3640 the basic Lisp object types other than symbols (which are described 3642 the basic Lisp object types other than symbols (which are described
3641 above). @file{data.c} contains all the predicates (primitives that return 3643 above). @file{data.c} contains all the predicates (primitives that return
3642 whether an object is of a particular type); the integer arithmetic 3644 whether an object is of a particular type); the integer arithmetic
3643 functions; and the basic accessor and mutator primitives for the various 3645 functions; and the basic accessor and mutator primitives for the various
3644 object types. @file{fns.c} contains all the standard predicates for working 3646 object types. @file{sequence.c} contains all the built-in functions for working
3645 with sequences (where, abstractly speaking, a sequence is an ordered set 3647 with sequences (where, abstractly speaking, a sequence is an ordered set
3646 of objects, and can be represented by a list, string, vector, or 3648 of objects, and can be represented by a list, string, vector, or
3647 bit-vector); it also contains @code{equal}, perhaps on the grounds that 3649 bit-vector). @file{fns.c} contains @code{equal} and a grab-bag of other
3648 bulk of the operation of @code{equal} is comparing sequences. 3650 functions that should probably be refactored elsewhere.
3649 @file{floatfns.c} contains methods and primitives for floats and floating-point 3651 @file{floatfns.c} contains methods and primitives for floats and floating-point
3650 arithmetic. 3652 arithmetic.
3651 3653
3652 3654
3653 3655