annotate nt/site.def @ 5327:d1b17a33450b

Move the heavy lifting from cl-seq.el to C. src/ChangeLog addition: 2010-12-30 Aidan Kehoe <kehoea@parhasard.net> Move the heavy lifting from cl-seq.el to C, finally making those functions first-class XEmacs citizens, with circularity checking, built-in support for tests other than #'eql, and as much compatibility with current Common Lisp as Paul Dietz' tests require. * fns.c (check_eq_nokey, check_eq_key, check_eql_nokey) (check_eql_key, check_equal_nokey, check_equal_key) (check_equalp_nokey, check_equalp_key, check_string_match_nokey) (check_string_match_key, check_other_nokey, check_other_key) (check_if_nokey, check_if_key, check_match_eq_key) (check_match_eql_key, check_match_equal_key) (check_match_equalp_key, check_match_other_key): New. These are basically to provide function pointers to be used by Lisp functions that take TEST, TEST-NOT and KEY arguments. (get_check_match_function_1, get_check_test_function) (get_check_match_function): These functions work out which of the previous list of functions to use, given the keywords supplied by the user. (count_with_tail): New. This is the bones of #'count. (list_count_from_end, string_count_from_end): Utility functions for #'count. (Fcount): New, moved from cl-seq.el. (list_position_cons_before): New. The implementation of #'member*, and important in implementing various other functions. (FmemberX, Fadjoin, FassocX, FrassocX, Fposition, Ffind) (FdeleteX, FremoveX, Fdelete_duplicates, Fremove_duplicates) (Fnsubstitute, Fsubstitute, Fsublis, Fnsublis, Fsubst, Fnsubst) (Ftree_equal, Fmismatch, Fsearch, Fintersection, Fnintersection) (Fsubsetp, Fset_difference, Fnset_difference, Fnunion, Funion) (Fset_exclusive_or, Fnset_exclusive_or): New, moved here from cl-seq.el. (position): New. The implementation of #'find and #'position. (list_delete_duplicates_from_end, subst, sublis, nsublis) (tree_equal, mismatch_from_end, mismatch_list_list) (mismatch_list_string, mismatch_list_array) (mismatch_string_array, mismatch_string_string) (mismatch_array_array, get_mismatch_func): Helper C functions for the Lisp-visible functions. (venn, nvenn): New. The implementation of the main Lisp functions that treat lists as sets. lisp/ChangeLog addition: 2010-12-30 Aidan Kehoe <kehoea@parhasard.net> * cl-seq.el: Move the heavy lifting from this file to C. Dump the cl-parsing-keywords macro, but don't use defun* for the functions we define that do take keywords, dynamic scope lossage makes that not practical. * subr.el (sort, fillarray): Move these aliases here. (map-plist): #'nsublis is now built-in, but at this point #'eql isn't necessarily available as a test; use #'eq. * obsolete.el (cl-delete-duplicates): Make this available for old compiler macros and old code. (memql): Document that this is equivalent to #'member*, and worse. * cl.el (adjoin, subst): Removed. These are in C.
author Aidan Kehoe <kehoea@parhasard.net>
date Thu, 30 Dec 2010 01:59:52 +0000
parents 43dd3413c7c7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
155
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
1 XCOMM site: $XConsortium: site.def /main/revisionist/3 1996/10/15 09:31:04 swick $
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
2
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
3 /***************************************************************************
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
4 * *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
5 * SITE-SPECIFIC DEFINITIONS *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
6 * *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
7 * This file contains two halves, one included before the vendor-specific *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
8 * configuration file (.cf file), and one included after the .cf file. *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
9 * The before-half should be protected by #ifdef BeforeVendorCF, and the *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
10 * after-half should be protected by #ifdef AfterVendorCF. *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
11 * *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
12 * The before-half should only set things that the .cf file depends on. *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
13 * For the .cf files shipped in this release, the main variables in this *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
14 * category are HasGcc, HasGcc2, HasCplusplus, OSMajorVersion, *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
15 * OSMinorVersion, and OSTeenyVersion. *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
16 * *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
17 * The after-half should contain all other definitions. For example, *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
18 * place your ProjectRoot definition here. *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
19 * *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
20 * OS Major and Minor version numbers should be changed directly in the *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
21 * .cf file, not overridden in site.def. *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
22 * *
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
23 ***************************************************************************/
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
24
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
25 /* if you want host-specific customization, this is one way to do it */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
26 /*
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
27 #ifndef SiteIConfigFiles
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
28 #define SiteIConfigFiles $(IRULESRC)/host.def
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
29 #define LocalConfigFiles host.def
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
30 #endif
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
31 */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
32
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
33
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
34 #ifdef BeforeVendorCF
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
35
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
36 /* #include <host.def> */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
37
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
38 /* On systems where cpp doesn't expand correctly macros in include directives
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
39 * the two following macros need to be defined directly (where "X11" is
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
40 * really whatever the TopLevelProject macro is defined to be).
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
41 */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
42 # ifndef ProjectRulesFile
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
43 # define ProjectRulesFile <X11.rules>
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
44 # endif
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
45 # ifndef ProjectTmplFile
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
46 # define ProjectTmplFile <X11.tmpl>
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
47 # endif
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
48
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
49 /*
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
50 #ifndef HasGcc2
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
51 #define HasGcc2 YES
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
52 #endif
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
53 */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
54
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
55 #endif /* BeforeVendorCF */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
56
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
57 #ifdef AfterVendorCF
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
58
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
59 #define ProjectRoot f:/utils/X11R6
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
60
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
61 /* Only set HasXdmAuth to YES if you have a Wraphelp.c file. */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
62 /* #define HasXdmAuth YES */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
63
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
64 /* #define PreIncDir /usr/local/lib/gcc-lib/sparc-sun-solaris2.4/2.7.2/include */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
65
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
66 /*
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
67 #if defined(SunArchitecture) && defined(SparcArchitecture)
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
68 #define HasCodeCenter YES
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
69 #ifndef SVR4Architecture
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
70 #define HasTestCenter YES
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
71 #endif
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
72 #endif
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
73 */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
74
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
75 /*
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
76 #ifdef __hp9000s800
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
77 #define HasCodeCenter YES
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
78 #endif
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
79 */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
80
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
81 /*
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
82 #if defined(SunArchitecture) && defined(SparcArchitecture) && !defined(SVR4Architecture)
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
83 #define HasPurify YES
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
84 #endif
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
85 */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
86
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
87 /*
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
88 #define HasSentinel YES
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
89 */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
90
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
91 /*
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
92 #undef DefaultUserPath
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
93 #define DefaultUserPath /bin:/usr/bin:$(BINDIR):/usr/ucb:/usr/local/bin
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
94 */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
95
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
96
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
97 /* You do NOT need SetUID if you only run the server under xdm */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
98 /* You MAY need SetUID if users run the server by hand or under xinit */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
99 /* Consult your system administrator before making the X server setuid */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
100 /*
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
101 #if defined(SunArchitecture) && OSMajorVersion > 4
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
102 #define InstallXserverSetUID YES
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
103 #endif
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
104 */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
105
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
106 /* You do NOT need SetUID if you only run the server under xdm */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
107 /* You MAY need SetUID if users run the server by hand or under xinit */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
108 /* Consult your system administrator before making the X server setuid */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
109 /*
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
110 #ifdef XFree86Version
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
111 #define InstallXserverSetUID YES
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
112 #endif
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
113 */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
114
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
115 #ifndef XnestServer
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
116 #undef BuildServer
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
117 #define BuildServer YES
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
118 #define XnestServer YES
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
119 #endif
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
120
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
121 /* #include <host.def> */
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
122
43dd3413c7c7 Import from CVS: tag r20-3b4
cvs
parents:
diff changeset
123 #endif /* AfterVendorCF */