APPROVE COMMIT 21.5
NOTE: This patch has been committed.
This is one of the minor fixes I have in my workspace for a while:
Initialize strings with direct data correctly, instead of assuming
that the memory is zeroed out before.
src/ChangeLog addition:
2006-03-26 Marcus Crestani <crestani(a)xemacs.org>
* alloc.c (make_uninit_string): Use set_lispstringp_direct.
* lisp.h (set_lispstringp_direct): New.
manual-mc-xemacs-21.5 source patch:
Diff command: cvs -q diff -u
Files affected: src/lisp.h src/alloc.c
Index: src/alloc.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/alloc.c,v
retrieving revision 1.123
diff -u -r1.123 alloc.c
--- src/alloc.c 27 Feb 2006 16:29:21 -0000 1.123
+++ src/alloc.c 26 Mar 2006 14:29:15 -0000
@@ -2500,6 +2500,7 @@
XSET_STRING_ASCII_BEGIN (wrap_string (s), 0);
#ifdef NEW_GC
+ set_lispstringp_direct (s);
STRING_DATA_OBJECT (s) =
wrap_string_direct_data (alloc_lrecord (fullsize,
&lrecord_string_direct_data));
Index: src/lisp.h
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/lisp.h,v
retrieving revision 1.139
diff -u -r1.139 lisp.h
--- src/lisp.h 20 Mar 2006 21:20:29 -0000 1.139
+++ src/lisp.h 26 Mar 2006 14:29:19 -0000
@@ -2475,6 +2475,7 @@
/* Operations on Lisp_String *'s; only ones left */
#ifdef NEW_GC
+#define set_lispstringp_direct(s) ((s)->indirect = 0)
#define set_lispstringp_indirect(s) ((s)->indirect = 1)
#define set_lispstringp_length(s, len) XSET_STRING_DATA_SIZE (s, len)
#define set_lispstringp_data(s, ptr) XSET_STRING_DATA_DATA (s, ptr)
--
Marcus
Show replies by date