aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorPaul Eggert2013-06-18 00:42:37 -0700
committerPaul Eggert2013-06-18 00:42:37 -0700
commit9349e5f76716b44f92391fa722f5feba58898f27 (patch)
treeb92794231ade365c43949c92850d1af491953e4a /src/ChangeLog
parente0df2d1420f322f0879c59471d9e579cf74a8ea5 (diff)
downloademacs-9349e5f76716b44f92391fa722f5feba58898f27.tar.gz
emacs-9349e5f76716b44f92391fa722f5feba58898f27.zip
Porting fixes for merged specpdl and backtrace stacks.
In particular this ports to 32-bit sparc Sun cc. * eval.c (init_eval_once, grow_specpdl): Allocate a specbinding array with a dummy element at specpdl[-1], so that its address can be taken portably. (unbind_to): Do not copy the binding; not needed, now that we copy old_value in the one place where the copy is needed. * fileio.c (Fwrite_region): Use ptrdiff_t, not int, for specpdl count. * lisp.h (BITS_PER_PTRDIFF_T): Remove; no longer needed. (union specbinding): Rename from struct specbinding. Redo layout to avoid the need for 'ptrdiff_t nargs : BITS_PER_PTRDIFF_T - 1;', which is not portable. With Sun C 5.12 32-bit sparc, the declaration causes nargs to be an unsigned bitfield, a behavior that the C standard allows; but Emacs wants nargs to be signed. The overall type is now a union of structures rather than a structure of union of structures, and the 'kind' member is now a bitfield, so that the overall type doesn't grow. All uses changed. * process.c (Fmake_serial_process): Remove unnecessary initialization. Fixes: debbugs:14643
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 9a23c144e82..e1609356403 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,24 @@
12013-06-18 Paul Eggert <eggert@cs.ucla.edu>
2
3 Porting fixes for merged specpdl and backtrace stacks (Bug#14643).
4 In particular this ports to 32-bit sparc Sun cc.
5 * eval.c (init_eval_once, grow_specpdl): Allocate a specbinding
6 array with a dummy element at specpdl[-1], so that its address can
7 be taken portably.
8 (unbind_to): Do not copy the binding; not needed, now that we
9 copy old_value in the one place where the copy is needed.
10 * fileio.c (Fwrite_region): Use ptrdiff_t, not int, for specpdl count.
11 * lisp.h (BITS_PER_PTRDIFF_T): Remove; no longer needed.
12 (union specbinding): Rename from struct specbinding. Redo layout
13 to avoid the need for 'ptrdiff_t nargs : BITS_PER_PTRDIFF_T - 1;',
14 which is not portable. With Sun C 5.12 32-bit sparc, the
15 declaration causes nargs to be an unsigned bitfield, a behavior
16 that the C standard allows; but Emacs wants nargs to be signed.
17 The overall type is now a union of structures rather than a
18 structure of union of structures, and the 'kind' member is now a
19 bitfield, so that the overall type doesn't grow. All uses changed.
20 * process.c (Fmake_serial_process): Remove unnecessary initialization.
21
12013-06-17 Paul Eggert <eggert@cs.ucla.edu> 222013-06-17 Paul Eggert <eggert@cs.ucla.edu>
2 23
3 * frame.c (x_report_frame_params): Cast parent_desc to uintptr_t. 24 * frame.c (x_report_frame_params): Cast parent_desc to uintptr_t.