Mercurial > hg > xemacs-beta
annotate src/s/gnu.h @ 5659:e63bb7b22c8f
Add compiler macros for #'equal, #'member, ... where #'eq, #'memq appropriate.
lisp/ChangeLog addition:
2012-05-07 Aidan Kehoe <kehoea@parhasard.net>
* cl-macs.el:
* cl-macs.el (cl-non-fixnum-number-p): Rename, to
cl-non-immediate-number-p. This is a little more informative as a
name, though still not ideal, in that it will give t for some
immediate fixnums on 64-bit builds.
* cl-macs.el (eql):
* cl-macs.el (define-star-compiler-macros):
* cl-macs.el (delq):
* cl-macs.el (remq):
Use the new name.
* cl-macs.el (cl-equal-equivalent-to-eq-p): New.
* cl-macs.el (cl-car-or-pi): New.
* cl-macs.el (cl-cdr-or-pi): New.
* cl-macs.el (equal): New compiler macro.
* cl-macs.el (member): New compiler macro.
* cl-macs.el (assoc): New compiler macro.
* cl-macs.el (rassoc): New compiler macro.
If any of #'equal, #'member, #'assoc or #'rassoc has a constant
argument such that #'eq, #'memq, #'assq or #'rassq, respectively,
are equivalent, make the substitution. Relevant in files like
ispell.el, there's a reasonable amount of code out there that
doesn't quite get the distinction.
| author | Aidan Kehoe <kehoea@parhasard.net> |
|---|---|
| date | Mon, 07 May 2012 17:56:24 +0100 |
| parents | 1f0b15040456 |
| children |
| rev | line source |
|---|---|
| 613 | 1 /* Definitions file for XEmacs running on the GNU Hurd. |
| 428 | 2 Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. |
|
5494
861f2601a38b
Sync s/ files with GNU 23.1.92, delete obsolete stuff, simplify other stuff
Ben Wing <ben@xemacs.org>
parents:
613
diff
changeset
|
3 Copyright (C) 2010 Ben Wing. |
| 428 | 4 |
| 613 | 5 This file is part of XEmacs. |
| 428 | 6 |
|
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
613
diff
changeset
|
7 XEmacs is free software: you can redistribute it and/or modify it |
|
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
613
diff
changeset
|
8 under the terms of the GNU General Public License as published by the |
|
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
613
diff
changeset
|
9 Free Software Foundation, either version 3 of the License, or (at your |
|
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
613
diff
changeset
|
10 option) any later version. |
| 428 | 11 |
|
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
613
diff
changeset
|
12 XEmacs is distributed in the hope that it will be useful, but WITHOUT |
|
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
613
diff
changeset
|
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
613
diff
changeset
|
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
|
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
613
diff
changeset
|
15 for more details. |
| 428 | 16 |
| 17 You should have received a copy of the GNU General Public License | |
|
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
613
diff
changeset
|
18 along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */ |
| 428 | 19 |
| 20 /* Synched up with: FSF 19.31. */ | |
| 21 | |
| 22 /* Get most of the stuff from bsd4.3 */ | |
| 23 #include "bsd4-3.h" | |
| 24 | |
|
5494
861f2601a38b
Sync s/ files with GNU 23.1.92, delete obsolete stuff, simplify other stuff
Ben Wing <ben@xemacs.org>
parents:
613
diff
changeset
|
25 /* Delete BSD4_2 -- unused in XEmacs */ |
| 428 | 26 |
| 27 #undef SYSTEM_TYPE | |
| 28 #define SYSTEM_TYPE "gnu" | |
| 29 | |
|
5494
861f2601a38b
Sync s/ files with GNU 23.1.92, delete obsolete stuff, simplify other stuff
Ben Wing <ben@xemacs.org>
parents:
613
diff
changeset
|
30 /* XEmacs deleted LIBS_DEBUG */ |
| 428 | 31 |
| 32 /* GNU needs its own crt0, and libc defines data_start. */ | |
| 33 #define ORDINARY_LINK | |
| 34 #define DATA_START ({ extern int data_start; (char *) &data_start; }) | |
| 35 | |
| 36 /* GNU now always uses the ELF format. */ | |
| 37 #define UNEXEC "unexelf.o" | |
| 38 | |
| 39 /* Some losing code fails to include this and then assumes | |
| 40 that because it is braindead that O_RDONLY==0. */ | |
| 41 #ifndef NOT_C_CODE | |
| 42 #include <fcntl.h> | |
| 43 #endif |
