Mercurial > hg > xemacs-beta
annotate src/general.c @ 5570:6c76f5b7e2e3
Be more careful still in #'cl-defsubst-expand.
lisp/ChangeLog addition:
2011-09-11 Aidan Kehoe <kehoea@parhasard.net>
* cl-macs.el (cl-defsubst-expand):
Be more careful still here, make sure that any references to
variables in BODY don't access those values in the enclosing scope
when that would be inappropriate.
Add some documentation of a potential reasonable approach to
avoiding the problems with our (non-Common Lisp-conformant)
#'symbol-macrolet.
| author | Aidan Kehoe <kehoea@parhasard.net> |
|---|---|
| date | Sun, 11 Sep 2011 16:05:05 +0100 |
| parents | 6506fcb40fcf |
| children |
| rev | line source |
|---|---|
| 428 | 1 /* Commonly-used symbols |
| 2 Copyright (C) 1995 Sun Microsystems. | |
| 442 | 3 Copyright (C) 1995, 1996, 2000 Ben Wing. |
| 428 | 4 |
| 5 This file is part of XEmacs. | |
| 6 | |
|
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
1632
diff
changeset
|
7 XEmacs is free software: you can redistribute it and/or modify it |
| 428 | 8 under the terms of the GNU General Public License as published by the |
|
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
1632
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:
1632
diff
changeset
|
10 option) any later version. |
| 428 | 11 |
| 12 XEmacs is distributed in the hope that it will be useful, but WITHOUT | |
| 13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
| 14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
| 15 for more details. | |
| 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:
1632
diff
changeset
|
18 along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */ |
| 428 | 19 |
| 20 /* Synched up with: Not in FSF. */ | |
| 21 | |
| 442 | 22 /* See general-slots.h. |
| 23 */ | |
| 428 | 24 |
| 25 #include <config.h> | |
| 26 #include "lisp.h" | |
| 27 | |
| 442 | 28 #define SYMBOL(fou) Lisp_Object fou |
| 1632 | 29 #define SYMBOL_MODULE_API(fou) Lisp_Object fou |
|
5320
31be2a3d121d
Move Qcount, Q_default, Q_test to general-slots.h; add SYMBOL_KEYWORD_GENERAL()
Aidan Kehoe <kehoea@parhasard.net>
parents:
1632
diff
changeset
|
30 #define SYMBOL_KEYWORD(la_cle_est_folle) Lisp_Object la_cle_est_folle |
| 442 | 31 #define SYMBOL_GENERAL(tout_le_monde, est_fou) Lisp_Object tout_le_monde |
|
5320
31be2a3d121d
Move Qcount, Q_default, Q_test to general-slots.h; add SYMBOL_KEYWORD_GENERAL()
Aidan Kehoe <kehoea@parhasard.net>
parents:
1632
diff
changeset
|
32 #define SYMBOL_KEYWORD_GENERAL(ponle, la_clave) Lisp_Object ponle |
| 442 | 33 |
| 34 #include "general-slots.h" | |
| 35 | |
| 36 #undef SYMBOL | |
| 1632 | 37 #undef SYMBOL_MODULE_API |
| 442 | 38 #undef SYMBOL_KEYWORD |
| 39 #undef SYMBOL_GENERAL | |
|
5320
31be2a3d121d
Move Qcount, Q_default, Q_test to general-slots.h; add SYMBOL_KEYWORD_GENERAL()
Aidan Kehoe <kehoea@parhasard.net>
parents:
1632
diff
changeset
|
40 #undef SYMBOL_KEYWORD_GENERAL |
| 428 | 41 |
| 42 void | |
| 43 syms_of_general (void) | |
| 44 { | |
| 442 | 45 #define SYMBOL(loco) DEFSYMBOL (loco) |
| 1632 | 46 #define SYMBOL_MODULE_API(loco) DEFSYMBOL (loco) |
| 442 | 47 #define SYMBOL_KEYWORD(meshugeneh) DEFKEYWORD (meshugeneh) |
| 48 #define SYMBOL_GENERAL(vachement, fou) defsymbol (&vachement, fou) | |
|
5320
31be2a3d121d
Move Qcount, Q_default, Q_test to general-slots.h; add SYMBOL_KEYWORD_GENERAL()
Aidan Kehoe <kehoea@parhasard.net>
parents:
1632
diff
changeset
|
49 #define SYMBOL_KEYWORD_GENERAL(bescheuert, gaaanz_bescheuert) \ |
|
31be2a3d121d
Move Qcount, Q_default, Q_test to general-slots.h; add SYMBOL_KEYWORD_GENERAL()
Aidan Kehoe <kehoea@parhasard.net>
parents:
1632
diff
changeset
|
50 defkeyword (&bescheuert, gaaanz_bescheuert) |
| 442 | 51 |
| 52 #include "general-slots.h" | |
| 53 | |
| 54 #undef SYMBOL | |
| 55 #undef SYMBOL_KEYWORD | |
| 56 #undef SYMBOL_GENERAL | |
|
5320
31be2a3d121d
Move Qcount, Q_default, Q_test to general-slots.h; add SYMBOL_KEYWORD_GENERAL()
Aidan Kehoe <kehoea@parhasard.net>
parents:
1632
diff
changeset
|
57 #undef SYMBOL_KEYWORD_GENERAL |
| 428 | 58 } |
