diff options
| author | Paul Eggert | 2013-03-21 13:56:22 -0700 |
|---|---|---|
| committer | Paul Eggert | 2013-03-21 13:56:22 -0700 |
| commit | 7b1123d824e51d40496c242e7a7f173de8936100 (patch) | |
| tree | 0aaafb8bc660f02c35516227bfde2fef344d318a /src/ChangeLog | |
| parent | d6723bf7e58e17c889e354bc429f3f134281953a (diff) | |
| download | emacs-7b1123d824e51d40496c242e7a7f173de8936100.tar.gz emacs-7b1123d824e51d40496c242e7a7f173de8936100.zip | |
Use functions and constants to manipulate Lisp_Save_Value objects.
This replaces code that used macros and strings and token-pasting.
The change makes the C source a bit easier to follow,
and shrinks the Emacs executable a bit.
* alloc.c: Verify some properties of Lisp_Save_Value's representation.
(make_save_value): Change 1st arg from string to enum. All callers
changed.
(INTX): Remove.
(mark_object): Use if, not #if, for GC_MARK_STACK.
* lisp.h (SAVE_VALUEP, XSAVE_VALUE, XSAVE_POINTER, XSAVE_INTEGER)
(XSAVE_OBJECT): Now functions, not macros.
(STRING_BYTES_BOUND): Now just a macro, not a constant too;
the constant was never used.
(SAVE_SLOT_BITS, SAVE_VALUE_SLOTS, SAVE_TYPE_BITS, SAVE_TYPE_INT_INT)
(SAVE_TYPE_INT_INT_INT, SAVE_TYPE_OBJ_OBJ, SAVE_TYPE_OBJ_OBJ_OBJ)
(SAVE_TYPE_OBJ_OBJ_OBJ_OBJ, SAVE_TYPE_PTR_INT, SAVE_TYPE_PTR_OBJ)
(SAVE_TYPE_PTR_PTR, SAVE_TYPE_PTR_PTR_OBJ, SAVE_TYPE_MEMORY):
New constants.
(struct Lisp_Save_Value): Replace members area, type0, type1, type2,
type3 with a single member save_type. All uses changed.
(save_type, set_save_pointer, set_save_integer): New functions.
* print.c (PRINTX): Remove.
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index d6b50412f13..f65e08eb6fd 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,28 @@ | |||
| 1 | 2013-03-21 Paul Eggert <eggert@cs.ucla.edu> | 1 | 2013-03-21 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 2 | ||
| 3 | Use functions and constants to manipulate Lisp_Save_Value objects. | ||
| 4 | This replaces code that used macros and strings and token-pasting. | ||
| 5 | The change makes the C source a bit easier to follow, | ||
| 6 | and shrinks the Emacs executable a bit. | ||
| 7 | * alloc.c: Verify some properties of Lisp_Save_Value's representation. | ||
| 8 | (make_save_value): Change 1st arg from string to enum. All callers | ||
| 9 | changed. | ||
| 10 | (INTX): Remove. | ||
| 11 | (mark_object): Use if, not #if, for GC_MARK_STACK. | ||
| 12 | * lisp.h (SAVE_VALUEP, XSAVE_VALUE, XSAVE_POINTER, XSAVE_INTEGER) | ||
| 13 | (XSAVE_OBJECT): Now functions, not macros. | ||
| 14 | (STRING_BYTES_BOUND): Now just a macro, not a constant too; | ||
| 15 | the constant was never used. | ||
| 16 | (SAVE_SLOT_BITS, SAVE_VALUE_SLOTS, SAVE_TYPE_BITS, SAVE_TYPE_INT_INT) | ||
| 17 | (SAVE_TYPE_INT_INT_INT, SAVE_TYPE_OBJ_OBJ, SAVE_TYPE_OBJ_OBJ_OBJ) | ||
| 18 | (SAVE_TYPE_OBJ_OBJ_OBJ_OBJ, SAVE_TYPE_PTR_INT, SAVE_TYPE_PTR_OBJ) | ||
| 19 | (SAVE_TYPE_PTR_PTR, SAVE_TYPE_PTR_PTR_OBJ, SAVE_TYPE_MEMORY): | ||
| 20 | New constants. | ||
| 21 | (struct Lisp_Save_Value): Replace members area, type0, type1, type2, | ||
| 22 | type3 with a single member save_type. All uses changed. | ||
| 23 | (save_type, set_save_pointer, set_save_integer): New functions. | ||
| 24 | * print.c (PRINTX): Remove. | ||
| 25 | |||
| 3 | * alloc.c: Remove redundant static declarations. | 26 | * alloc.c: Remove redundant static declarations. |
| 4 | 27 | ||
| 5 | 2013-03-20 Dmitry Antipov <dmantipov@yandex.ru> | 28 | 2013-03-20 Dmitry Antipov <dmantipov@yandex.ru> |