XEmacs 21.4.12 "Portable Code".
authortomo <tomo>
Sat, 12 Jul 2003 08:09:33 +0000 (08:09 +0000)
committertomo <tomo>
Sat, 12 Jul 2003 08:09:33 +0000 (08:09 +0000)
25 files changed:
ChangeLog
configure
configure.in
lib-src/ChangeLog
lisp/ChangeLog
lisp/about.el
lisp/isearch-mode.el
lisp/menubar-items.el
lwlib/ChangeLog
lwlib/lwlib-Xm.c
man/ChangeLog
netinstall/ChangeLog
nt/ChangeLog
src/ChangeLog
src/Makefile.in.in
src/config.h.in
src/emacs.c
src/process-unix.c
src/redisplay-x.c
src/syntax.c
src/syntax.h
src/unexcw.c
tests/ChangeLog
tests/automated/regexp-tests.el
version.sh

index 70ae2c8..3067e31 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.12 "Portable Code" is released.
+
+2003-01-13  Ilya Golubev  <golubev@xemacs.org>
+
+       * etc/photos/golubev.png, etc/photos/golubevm.png: New.
+
+2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
+
+        * configure.in: Add -lkernel32 to the list of system libraries 
+        linked under Cygwin. Needed for IsBadReadPtr().
+
 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.11 "Native Windows TTY Support" is released.
 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.11 "Native Windows TTY Support" is released.
index e7c08cb..3363fa8 100755 (executable)
--- a/configure
+++ b/configure
@@ -7078,7 +7078,7 @@ EOF
     fi
 
     install_pp="$blddir/lib-src/installexe.sh"
     fi
 
     install_pp="$blddir/lib-src/installexe.sh"
-    libs_system="$libs_system -lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lwinspool" &&  if test "$extra_verbose" = "yes"; then echo "    Appending \"-lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lwinspool\" to \$libs_system"; fi
+    libs_system="$libs_system -lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lkernel32 -lwinspool" &&  if test "$extra_verbose" = "yes"; then echo "    Appending \"-lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lkernel32 -lwinspool\" to \$libs_system"; fi
     test "$with_dragndrop" != no && dragndrop_proto="$dragndrop_proto msw" &&  if test "$extra_verbose" = "yes"; then echo "    Appending \"msw\" to \$dragndrop_proto"; fi
     if test "$window_system" != x11; then
        window_system=msw
     test "$with_dragndrop" != no && dragndrop_proto="$dragndrop_proto msw" &&  if test "$extra_verbose" = "yes"; then echo "    Appending \"msw\" to \$dragndrop_proto"; fi
     if test "$window_system" != x11; then
        window_system=msw
index d762714..7dbf2d9 100644 (file)
@@ -2936,7 +2936,7 @@ if test "$with_msw" != "no"; then
     fi
 
     install_pp="$blddir/lib-src/installexe.sh"
     fi
 
     install_pp="$blddir/lib-src/installexe.sh"
-    XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lwinspool, libs_system)
+    XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lkernel32 -lwinspool, libs_system)
     test "$with_dragndrop" != no && XE_APPEND(msw, dragndrop_proto)
     if test "$window_system" != x11; then
        window_system=msw
     test "$with_dragndrop" != no && XE_APPEND(msw, dragndrop_proto)
     if test "$window_system" != x11; then
        window_system=msw
index 1f607b1..f0cbd83 100644 (file)
@@ -1,3 +1,7 @@
+2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.12 "Portable Code" is released.
+
 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.11 "Native Windows TTY Support" is released.
 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.11 "Native Windows TTY Support" is released.
index c2fc568..999fad7 100644 (file)
@@ -1,3 +1,29 @@
+2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.12 "Portable Code" is released.
+
+2003-01-13  Ilya Golubev  <golubev@xemacs.org>
+
+       * about.el: Update golubev data.
+
+2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * isearch-mode.el (isearch-mode-map): Substitute comment on
+       desirability, and back out "GR is printable" changes.
+
+2003-01-08  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * isearch-mode.el (isearch-mode-map): Don't bind CSI.
+
+2003-01-07  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * isearch-mode.el (isearch-mode-map): GR (and C1) is printable.
+
+2003-01-06  Ville Skyttä  <scop@xemacs.org>
+
+       * menubar-items.el (default-menubar): Use browse-url-mozilla
+       instead of browse-url-gnome-moz for Mozilla.
+
 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.11 "Native Windows TTY Support" is released.
 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.11 "Native Windows TTY Support" is released.
index a0f5714..635b2a1 100644 (file)
     (dv       "Didier Verna"      "didier@xemacs.org")
     (eb       "Eric Benson"       "eb@xemacs.org")
     (fabrice  "Fabrice Popineau"  "fabrice@xemacs.org")
     (dv       "Didier Verna"      "didier@xemacs.org")
     (eb       "Eric Benson"       "eb@xemacs.org")
     (fabrice  "Fabrice Popineau"  "fabrice@xemacs.org")
-    (golubev  "I N Golubev"       "golubev@xemacs.org")
+    (golubev  "Ilya Golubev"      "golubev@xemacs.org")
     (gunnar   "Gunnar Evermann"   "gunnar@xemacs.org")
     (hbs      "Harlan Sexton"     "hbs@xemacs.org")
     (hisashi  "Hisashi Miyashita" "hisashi@xemacs.org")
     (gunnar   "Gunnar Evermann"   "gunnar@xemacs.org")
     (hbs      "Harlan Sexton"     "hbs@xemacs.org")
     (hisashi  "Hisashi Miyashita" "hisashi@xemacs.org")
@@ -955,7 +955,19 @@ It is included in the TeX Live cdrom edited by Sebastian Rahtz.\n")
     (golubev
      (widget-insert
       "\
     (golubev
      (widget-insert
       "\
-Sorry, no personal information available about me yet.\n"))
+I appreciate power of XEmacs, but elementary editing operations should
+be done by single keystrokes with no modifiers.  So would not use
+XEmacs until discovered viper, and now can't live without viper.
+Occasionally dislike something in there or in other free software, and
+try to get it fixed.  .plan file contains classic (perhaps reinvented
+independently) formula:
+
+Hacking world for ever
+
+(borrowed from \"Hacking X for Y\" in ")
+     (about-url-link "http://www.jargon.org/"
+                    "Jargon File" "www.jargon.org")
+     (widget-insert ").\n"))
     (gunnar
      (widget-insert
       "\
     (gunnar
      (widget-insert
       "\
@@ -1523,7 +1535,10 @@ I also contributed elisp code long ago to make Gnus run under XEmacs.\n"))
     (golubev
      (widget-insert
       "\
     (golubev
      (widget-insert
       "\
-Sorry, no information about my XEmacs contributions yet.\n"))
+Used XEmacs since early 1997.  Fixed bugs that annoy me, both in
+XEmacs core and in packages I use, mostly viper.  Hoping to get
+coding-cookie package distributed, which is also a fix of what I
+consider a bug.\n"))
     (gunnar
      (widget-insert
       "\
     (gunnar
      (widget-insert
       "\
index 3cb2440..70b7929 100644 (file)
@@ -238,6 +238,13 @@ Default nil means edit the string from the search ring first."
     ;; then it would terminate the search and be executed without this.
     (let ((i 32)
          (str (make-string 1 0)))
     ;; then it would terminate the search and be executed without this.
     (let ((i 32)
          (str (make-string 1 0)))
+      ;; #### GR (and C1 too, in KOI8 and Windows-land at least) should
+      ;; be printing.  But that breaks on high-bit-is-meta brain-damage.
+      ;; At least in no-mule, the high bit is treated as a meta bit.
+      ;; With GR treated as printable in isearch, any meta command
+      ;; events will not be executed because they are treated as GR
+      ;; characters by isearch, but then there is an error because
+      ;; event-to-character (properly) returns nil.
       (while (< i 127)
        (aset str 0 i)
        (define-key map str 'isearch-printing-char)
       (while (< i 127)
        (aset str 0 i)
        (define-key map str 'isearch-printing-char)
index 487617a..1c410a3 100644 (file)
@@ -970,12 +970,12 @@ which will not be used as accelerators."
                      (fboundp 'browse-url-kde))]
        ["Mo%_zilla"
         (customize-set-variable 'browse-url-browser-function
                      (fboundp 'browse-url-kde))]
        ["Mo%_zilla"
         (customize-set-variable 'browse-url-browser-function
-                                'browse-url-gnome-moz)
+                                'browse-url-mozilla)
         :style radio
         :selected (and (boundp 'browse-url-browser-function)
         :style radio
         :selected (and (boundp 'browse-url-browser-function)
-                       (eq browse-url-browser-function 'browse-url-gnome-moz))
+                       (eq browse-url-browser-function 'browse-url-mozilla))
         :active (and (boundp 'browse-url-browser-function)
         :active (and (boundp 'browse-url-browser-function)
-                     (fboundp 'browse-url-gnome-moz))]
+                     (fboundp 'browse-url-mozilla))]
        ["G%_aleon"
         (customize-set-variable 'browse-url-browser-function
                                 'browse-url-galeon)
        ["G%_aleon"
         (customize-set-variable 'browse-url-browser-function
                                 'browse-url-galeon)
index 9a36377..cc6b7a3 100644 (file)
@@ -1,3 +1,12 @@
+2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.12 "Portable Code" is released.
+
+2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * lwlib-Xm.c (): Don't reference xm_update_progress
+       --without-widgets.  Thanks Martin Buchholz <martin@xemacs.org>.
+
 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.11 "Native Windows TTY Support" is released.
 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.11 "Native Windows TTY Support" is released.
index acd68df..55402d5 100644 (file)
@@ -896,10 +896,12 @@ xm_update_one_widget (widget_instance* instance, Widget widget,
       xm_update_scrollbar (instance, widget, val);
     }
 #endif
       xm_update_scrollbar (instance, widget, val);
     }
 #endif
+#ifdef LWLIB_WIDGETS_MOTIF
   else if (class == xmScaleWidgetClass)
     {
       xm_update_progress (instance, widget, val);
     }
   else if (class == xmScaleWidgetClass)
     {
       xm_update_progress (instance, widget, val);
     }
+#endif
   /* Lastly update our global arg values. */
   if (val->args && val->args->nargs)
     XtSetValues (widget, val->args->args, val->args->nargs);
   /* Lastly update our global arg values. */
   if (val->args && val->args->nargs)
     XtSetValues (widget, val->args->args, val->args->nargs);
index 244c88e..38a58f0 100644 (file)
@@ -1,3 +1,7 @@
+2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.12 "Portable Code" is released.
+
 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.11 "Native Windows TTY Support" is released.
 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.11 "Native Windows TTY Support" is released.
index e3db2c2..6fb11d5 100644 (file)
@@ -1,3 +1,7 @@
+2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.12 "Portable Code" is released.
+
 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.11 "Native Windows TTY Support" is released.
 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.11 "Native Windows TTY Support" is released.
 
        * all: port from cygwin setup.
 
 
        * all: port from cygwin setup.
 
-%%% $Id: ChangeLog,v 1.2.2.19 2002/12/12 06:21:23 stephent Exp $
-$Revision: 1.2.2.19 $
+%%% $Id: ChangeLog,v 1.2.2.20 2003/01/03 10:49:30 stephent Exp $
+$Revision: 1.2.2.20 $
 
 
index e8185fc..b711a91 100644 (file)
@@ -1,3 +1,7 @@
+2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.12 "Portable Code" is released.
+
 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.11 "Native Windows TTY Support" is released.
 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.11 "Native Windows TTY Support" is released.
index 9533df0..03c25d8 100644 (file)
@@ -1,3 +1,35 @@
+2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.12 "Portable Code" is released.
+
+2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
+
+       * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
+       * s/cygwin.sc: new linker file.
+
+2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
+
+       * redisplay-x.c (x_output_string): Use X11-specified types.
+       * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
+       * emacs.c (__free_hook): Use typeof with Intel compiler.
+       * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
+
+2003-01-08  Andy Piper  <andy@xemacs.org>
+
+       * unexcw.c (copy_executable_and_dump_data_section): Set the stack
+       reserve size during unexec().
+
+2003-01-07  Daiki Ueno  <daiki@xemacs.org>
+
+       * process-unix.c (unix_create_process): Don't let outchannel block.
+
+2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
+
+        * emacs.c: Include "syswindows.h" when compiling under Cygwin.
+        Needed for IsBadReadPtr().
+
 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.11 "Native Windows TTY Support" is released.
 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.11 "Native Windows TTY Support" is released.
index 2a5dc11..733b02a 100644 (file)
@@ -153,6 +153,9 @@ cppflags = $(CPPFLAGS) -Demacs -I. $(c_switch_all)
 cflags   = $(CFLAGS) $(cppflags)
 #if defined (WIN32_NATIVE) || defined (CYGWIN)
 ldflags  = $(LDFLAGS) -mwindows -e _mainCRTStartup $(ld_switch_all) $(ld_dynamic_link_flags)
 cflags   = $(CFLAGS) $(cppflags)
 #if defined (WIN32_NATIVE) || defined (CYGWIN)
 ldflags  = $(LDFLAGS) -mwindows -e _mainCRTStartup $(ld_switch_all) $(ld_dynamic_link_flags)
+# if defined (CYGWIN)
+ldflags += -Wl,--script=s/cygwin.sc
+# endif
 #else
 ldflags  = $(LDFLAGS) $(ld_switch_all) $(ld_dynamic_link_flags)
 #endif
 #else
 ldflags  = $(LDFLAGS) $(ld_switch_all) $(ld_dynamic_link_flags)
 #endif
index 50a3c11..3a10221 100644 (file)
@@ -42,6 +42,8 @@ Boston, MA 02111-1307, USA.  */
 #elif defined __DECC
 #include <alloca.h>
 #pragma intrinsic(alloca)
 #elif defined __DECC
 #include <alloca.h>
 #pragma intrinsic(alloca)
+#elif defined __INTEL_COMPILER && defined HAVE_ALLOCA_H
+/* defer #include to end of file */
 #elif defined HAVE_ALLOCA_H
 #include <alloca.h>
 #elif defined(_AIX)
 #elif defined HAVE_ALLOCA_H
 #include <alloca.h>
 #elif defined(_AIX)
@@ -903,4 +905,12 @@ on various systems. */
 
 #undef PDUMP
 
 
 #undef PDUMP
 
+#ifndef NOT_C_CODE
+#if defined __INTEL_COMPILER && defined HAVE_ALLOCA_H
+/* icc's alloca.h pulls in <features.h>,
+   but that must be done after _GNU_SOURCE and friends are defined */
+#include <alloca.h>
+#endif
+#endif /* C code */
+
 #endif /* _SRC_CONFIG_H_ */
 #endif /* _SRC_CONFIG_H_ */
index ee1c8a2..ea67ffc 100644 (file)
@@ -180,6 +180,10 @@ version 18.59 released October 31, 1992.
 #include "sysfile.h"
 #include "systime.h"
 
 #include "sysfile.h"
 #include "systime.h"
 
+#ifdef CYGWIN
+#include "syswindows.h"
+#endif
+
 #ifdef PDUMP
 #include "dumper.h"
 #endif
 #ifdef PDUMP
 #include "dumper.h"
 #endif
@@ -2909,7 +2913,8 @@ voodoo_free_hook (void *mem)
   /* Disable all calls to free() when XEmacs is exiting and it doesn't */
   /* matter. */
   __free_hook =
   /* Disable all calls to free() when XEmacs is exiting and it doesn't */
   /* matter. */
   __free_hook =
-#ifdef __GNUC__ /* prototype of __free_hook varies with glibc version */
+#if defined __GNUC__ || defined __INTEL_COMPILER
+/* prototype of __free_hook varies with glibc version */
     (__typeof__ (__free_hook))
 #endif
     voodoo_free_hook;
     (__typeof__ (__free_hook))
 #endif
     voodoo_free_hook;
@@ -2983,7 +2988,8 @@ all of which are called before XEmacs is actually killed.
 
 #if defined(GNU_MALLOC)
   __free_hook =
 
 #if defined(GNU_MALLOC)
   __free_hook =
-#ifdef __GNUC__ /* prototype of __free_hook varies with glibc version */
+#if defined __GNUC__ || defined __INTEL_COMPILER
+/* prototype of __free_hook varies with glibc version */
     (__typeof__ (__free_hook))
 #endif
     voodoo_free_hook;
     (__typeof__ (__free_hook))
 #endif
     voodoo_free_hook;
index e7fcc3d..0d57c95 100644 (file)
@@ -892,6 +892,7 @@ unix_create_process (Lisp_Process *p,
 #endif
 
   set_descriptor_non_blocking (inchannel);
 #endif
 
   set_descriptor_non_blocking (inchannel);
+  set_descriptor_non_blocking (outchannel);
 
   /* Record this as an active process, with its channels.
      As a result, child_setup will close Emacs's side of the pipes.  */
 
   /* Record this as an active process, with its channels.
      As a result, child_setup will close Emacs's side of the pipes.  */
index d74bb3e..ff49eb5 100644 (file)
@@ -972,8 +972,8 @@ x_output_string (struct window *w, struct display_line *dl,
       /* We draw underlines in the same color as the text. */
       if (cachel->underline)
        {
       /* We draw underlines in the same color as the text. */
       if (cachel->underline)
        {
-         long upos;
-         long uthick;
+         unsigned long upos;
+         unsigned long uthick;
          XFontStruct *xfont;
 
          xfont = FONT_INSTANCE_X_FONT (XFONT_INSTANCE (font));
          XFontStruct *xfont;
 
          xfont = FONT_INSTANCE_X_FONT (XFONT_INSTANCE (font));
index 42628c5..db3faba 100644 (file)
@@ -426,7 +426,7 @@ update_syntax_cache (int pos, int count)
   else if (CONSP (tmp_table) && INTP (XCAR (tmp_table)))
     {
       syntax_cache.use_code = 1;
   else if (CONSP (tmp_table) && INTP (XCAR (tmp_table)))
     {
       syntax_cache.use_code = 1;
-      syntax_cache.syntax_code = XINT (XCAR(tmp_table));
+      syntax_cache.syntax_code = (enum syntaxcode) XINT (XCAR (tmp_table));
     }
   else 
     {
     }
   else 
     {
index 8ea4fcb..3502cfb 100644 (file)
@@ -74,10 +74,10 @@ enum syntaxcode charset_syntax (struct buffer *buf, Lisp_Object charset,
 /* Return the syntax code for a particular character and mirror table. */
 
 #define SYNTAX_CODE_UNSAFE(table, c) \
 /* Return the syntax code for a particular character and mirror table. */
 
 #define SYNTAX_CODE_UNSAFE(table, c) \
-   XINT (CHAR_TABLE_VALUE_UNSAFE (table, c))
+   ((enum syntaxcode) XINT (CHAR_TABLE_VALUE_UNSAFE (table, c)))
 
 
-INLINE_HEADER int SYNTAX_CODE (Lisp_Char_Table *table, Emchar c);
-INLINE_HEADER int
+INLINE_HEADER enum syntaxcode SYNTAX_CODE (Lisp_Char_Table *table, Emchar c);
+INLINE_HEADER enum syntaxcode
 SYNTAX_CODE (Lisp_Char_Table *table, Emchar c)
 {
   return SYNTAX_CODE_UNSAFE (table, c);
 SYNTAX_CODE (Lisp_Char_Table *table, Emchar c)
 {
   return SYNTAX_CODE_UNSAFE (table, c);
@@ -390,7 +390,7 @@ struct syntax_cache
                                           syntax table to the cache. */
   Lisp_Object object;                  /* The buffer or string the current
                                           syntax cache applies to. */
                                           syntax table to the cache. */
   Lisp_Object object;                  /* The buffer or string the current
                                           syntax cache applies to. */
-  int syntax_code;                     /* Syntax code of current char. */
+  enum syntaxcode syntax_code;         /* Syntax code of current char. */
   Lisp_Object current_syntax_table;    /* Syntax table for current pos. */
   Lisp_Object old_prop;                        /* Syntax-table prop at prev pos. */
 
   Lisp_Object current_syntax_table;    /* Syntax table for current pos. */
   Lisp_Object old_prop;                        /* Syntax-table prop at prev pos. */
 
index 1b8ad08..81a38b1 100644 (file)
@@ -54,6 +54,7 @@ unexec (char *, char *, void *, void *,       void *)
 #include <a.out.h>
 #endif
 
 #include <a.out.h>
 #endif
 
+#define STACK_SIZE 0x800000
 #define ALLOC_UNIT 0xFFFF
 #define ALLOC_MASK ~((unsigned long)(ALLOC_UNIT))
 #define ALIGN_ALLOC(addr) \
 #define ALLOC_UNIT 0xFFFF
 #define ALLOC_MASK ~((unsigned long)(ALLOC_UNIT))
 #define ALIGN_ALLOC(addr) \
@@ -340,6 +341,9 @@ copy_executable_and_dump_data_section (int a_out, int a_new)
     }
   f_ohdr.dsize=new_data_size;
   f_ohdr.bsize=BSS_PAD_SIZE;
     }
   f_ohdr.dsize=new_data_size;
   f_ohdr.bsize=BSS_PAD_SIZE;
+  /* Prevent stack overflow with regexp usage. */
+  f_ohdr.SizeOfStackReserve = STACK_SIZE;
+
   if (write(a_new, &f_ohdr, sizeof(f_ohdr)) != sizeof(f_ohdr))
     {
       PERROR("failed to write optional header");
   if (write(a_new, &f_ohdr, sizeof(f_ohdr)) != sizeof(f_ohdr))
     {
       PERROR("failed to write optional header");
index 4eedfc9..a3aeca8 100644 (file)
@@ -1,3 +1,12 @@
+2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.12 "Portable Code" is released.
+
+2003-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * automated/regexp-tests.el (stale match data): Stale match data
+       persists after failed match.  Thanks to <bjacob@ca.metsci.com>.
+
 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.11 "Native Windows TTY Support" is released.
 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
 
        * XEmacs 21.4.11 "Native Windows TTY Support" is released.
index 6c1fcba..ea42480 100644 (file)
       (Assert (not (string-match "@[A]" (string ?@ ch1))))
       (Assert (eq (string-match "@[^A]" (string ?@ ch1)) 0))
       (Assert (not (string-match "@?A" (string ?@ ch1))))))
       (Assert (not (string-match "@[A]" (string ?@ ch1))))
       (Assert (eq (string-match "@[^A]" (string ?@ ch1)) 0))
       (Assert (not (string-match "@?A" (string ?@ ch1))))))
+
+;; More stale match data tests.
+;; Thanks to <bjacob@ca.metsci.com>.
+(Assert (not (progn (string-match "a" "a")
+                   (string-match "b" "a")
+                   (match-string 0 "a"))))
+(Assert (not (progn (string-match "a" "a")
+                   (string-match "b" "a")
+                   (match-string 1 "a"))))
+(Assert (not (progn (string-match "\\(a\\)" "a")
+                   (string-match "\\(b\\)" "a")
+                   (match-string 0 "a"))))
+(Assert (not (progn (string-match "\\(a\\)" "a")
+                   (string-match "\\(b\\)" "a")
+                   (match-string 1 "a"))))
index 0077e5d..5b6ebaf 100644 (file)
@@ -2,8 +2,8 @@
 emacs_is_beta=
 emacs_major_version=21
 emacs_minor_version=4
 emacs_is_beta=
 emacs_major_version=21
 emacs_minor_version=4
-emacs_beta_version=11
-xemacs_codename="Native Windows TTY Support"
+emacs_beta_version=12
+xemacs_codename="Portable Code"
 emacs_kit_version=
 infodock_major_version=4
 infodock_minor_version=0
 emacs_kit_version=
 infodock_major_version=4
 infodock_minor_version=0