aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorPaul Eggert2015-01-10 13:33:38 -0800
committerPaul Eggert2015-01-10 13:42:35 -0800
commit6a37ecee0884ff30ac7666e6502e2a9d2608f291 (patch)
tree875bd8310981ff850911f04da4c3c3b95f34537b /src/ChangeLog
parent649937920b5023be5c0685d1537f5ea2bfb9899a (diff)
downloademacs-6a37ecee0884ff30ac7666e6502e2a9d2608f291.tar.gz
emacs-6a37ecee0884ff30ac7666e6502e2a9d2608f291.zip
Port to 32-bit --with-wide-int
Prefer symbol indexes to struct Lisp_Symbol * casted and then widened, as the latter had trouble with GCC on Fedora 21 when configured --with-wide-int and when used in static initializers. * lib-src/make-docfile.c (write_globals): Define and use symbols like iQnil (a small integer, like 0) rather than aQnil (an address constant). * src/alloc.c (garbage_collect_1, which_symbols): * src/lread.c (init_obarray): Prefer builtin_lisp_symbol when it can be used. * src/dispextern.h (struct image_type.type): * src/font.c (font_property_table.key): * src/frame.c (struct frame_parm_table.sym): * src/keyboard.c (scroll_bar_parts, struct event_head): * src/xdisp.c (struct props.name): Use the index of a builtin symbol rather than its address. All uses changed. * src/lisp.h (TAG_SYMPTR, XSYMBOL_INIT): Remove, replacing with ... (TAG_SYMOFFSET, SYMBOL_INDEX): ... new macros that deal with symbol indexes rather than pointers, and which work better on MSB hosts because they shift right before tagging. All uses changed. (DEFINE_LISP_SYMBOL_BEGIN, DEFINE_LISP_SYMBOL_END): No longer noops on wide-int hosts, since they work now. (builtin_lisp_symbol): New function.
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 39775eb675c..14d582d57ec 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,27 @@
12015-01-10 Paul Eggert <eggert@cs.ucla.edu> 12015-01-10 Paul Eggert <eggert@cs.ucla.edu>
2 2
3 Port to 32-bit --with-wide-int
4 Prefer symbol indexes to struct Lisp_Symbol * casted and then
5 widened, as the latter had trouble with GCC on Fedora 21 when
6 configured --with-wide-int and when used in static initializers.
7 * alloc.c (garbage_collect_1, which_symbols):
8 * lread.c (init_obarray):
9 Prefer builtin_lisp_symbol when it can be used.
10 * dispextern.h (struct image_type.type):
11 * font.c (font_property_table.key):
12 * frame.c (struct frame_parm_table.sym):
13 * keyboard.c (scroll_bar_parts, struct event_head):
14 * xdisp.c (struct props.name):
15 Use the index of a builtin symbol rather than its address.
16 All uses changed.
17 * lisp.h (TAG_SYMPTR, XSYMBOL_INIT): Remove, replacing with ...
18 (TAG_SYMOFFSET, SYMBOL_INDEX): ... new macros that deal with
19 symbol indexes rather than pointers, and which work better on MSB
20 hosts because they shift right before tagging. All uses changed.
21 (DEFINE_LISP_SYMBOL_BEGIN, DEFINE_LISP_SYMBOL_END):
22 No longer noops on wide-int hosts, since they work now.
23 (builtin_lisp_symbol): New function.
24
3 Port to HAVE_FREETYPE && !HAVE_XFT 25 Port to HAVE_FREETYPE && !HAVE_XFT
4 * dispextern.h (struct face.extra) [HAVE_FREETYPE && !HAVE_XFT]: 26 * dispextern.h (struct face.extra) [HAVE_FREETYPE && !HAVE_XFT]:
5 * font.h (syms_of_xftfont) [HAVE_FREETYPE && !HAVE_XFT]: 27 * font.h (syms_of_xftfont) [HAVE_FREETYPE && !HAVE_XFT]: