Commits

Anonymous committed 7c94d56

Import from CVS: tag r21-1-3

Comments (0)

Files changed (42)

+1999-06-26  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+	* XEmacs 21.1.3 is released
+
+1999-06-26  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+	* XEmacs 21.1.3 is released
+
+1999-06-13    Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+	* xemacs.mak: Make Native build understand patch level's
+
+1999-06-13    SL Baur  <steve@xemacs.org>
+
+	* s/decosf4-0.h: Explicitly #undef SYSTEM_MALLOC.
+
+1999-06-13    SL Baur  <steve@steve1.m17n.org>
+
+	* m/alpha.h (SYSTEM_MALLOC): Fix indented preprocessor directive
+    	garbage.
+
+    	* s/decosf4-0.h: Defining ORDINARY_LINK here is redundant (and it
+    	doesn't really work as is implied by the commentary).
+    	Don't define SYSTEM_MALLOC so the old GNU malloc can be used.
+
+1999-06-13    SL Baur  <steve@steve1.m17n.org>
+
+	* Makefile.in.in: Move .PHONY up to force execution of `all'.
+
+1999-06-13    Gunnar Evermann  <ge204@eng.cam.ac.uk>
+
+	* README.packages: fix typos: user pacakge hierarchy is ~/.xemacs
+	From: Eric Veldhuyzen <eric@terra.nu>
+
+1999-06-12    Jan Vroonhof  <jan@xemacs.org>
+
+	* configure.in: For non-beta's use x.y.z format for version strings.
+
+	* lisp/version.el (emacs-version): Make the patch level/beta come
+ 	before the XEmacs qualifier so that it gets into (funcall
+ 	emacs-version) and thus in the bug reports.
+	(emacs-version>=): Support patch levels.
+
 1999-05-14  XEmacs Build Bot <builds@cvs.xemacs.org>
 
 	* XEmacs 21.1.2 is released
 ------------------------
 
 In addition to the system wide packages, each user can have his own
-packages installed in "./xemacs" (Note that this will most likely
-change to "./xemacs/packages" in the near future). If you want to
+packages installed in "~/.xemacs" (Note that this will most likely
+change to "~/.xemacs/packages" in the near future). If you want to
 install packages there using the interactive tools, you need to set
-'pui-package-install-dest-dir' to "/xemacs"
+'pui-package-install-dest-dir' to "~/xemacs"
 
 Site lisp/Site start
 --------------------
   	version="${version}-b${emacs_beta_version}"
   	AC_DEFINE_UNQUOTED(EMACS_BETA_VERSION, $emacs_beta_version)
   else
-	version="${version}-p${emacs_beta_version}"
+	version="${version}.${emacs_beta_version}"
 	AC_DEFINE_UNQUOTED(EMACS_PATCH_LEVEL, $emacs_beta_version)
   fi
 fi
 
 if test ! -z ${emacs_beta_version} ; then
   if test -z "${emacs_is_beta}" ; then
-	xemacs_betaname="-p${emacs_beta_version}"
+	xemacs_betaname=".${emacs_beta_version}"
   else
 	xemacs_betaname="-b${emacs_beta_version}"
   fi
 
 This means that if you want to test whether A < B < C, you can write
 it as (< A B C) instead of (and (< A B) (< B C)).  Likewise,
-(apply #'> LIST) now tests if LIST is monotonously increasing -- and
+(apply #'> LIST) now tests if LIST is monotonically increasing -- and
 so on.
 
 ** The XEmacs hashtables now have a consistent read/print syntax.

lib-src/ChangeLog

+1999-06-26  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+	* XEmacs 21.1.3 is released
+
+1999-06-26  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+	* XEmacs 21.1.3 is released
+
+1999-06-12    SL Baur  <steve@gneiss.etl.go.jp>
+
+	* update-elc.sh (ignore_pattern): Correct ignore_dirs/ignore=dirs
+	european keyboard fuckage.
+
 1999-05-14  XEmacs Build Bot <builds@cvs.xemacs.org>
 
 	* XEmacs 21.1.2 is released

lib-src/Makefile.in.in

 .c.o:
 	${CC} -c $(cflags) $<
 
+.PHONY : all maybe-blessmail install uninstall
+
 all: ${UTILITIES} ${INSTALLABLES} srcdir-symlink.stamp
 
 ## Make symlinks for shell scripts if using --srcdir
 
 ## We do not need to install "wakeup" explicitly, because it will be
 ## copied when this whole directory is copied.
-.PHONY : all maybe-blessmail install uninstall
 install: ${archlibdir}
 	@echo; echo "Installing utilities for users to run."
 	for file in ${INSTALLABLES} ; do \

lib-src/update-elc.sh

 mule_p="`$EMACS -batch -vanilla -eval \"$lisp_prog\"`"
 if test "$mule_p" = nil ; then
 	echo No
-	ignore_dirs="$ignore=dirs mule"
+	ignore_dirs="$ignore_dirs mule"
 else
   echo Yes
 fi
+1999-06-26  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+	* XEmacs 21.1.3 is released
+
+1999-06-26  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+	* XEmacs 21.1.3 is released
+
+1999-06-13    Yoshiki Hayashi <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+	* mule/mule-cmds.el (read-input-method-name): set input-method
+	properly.
+
+1999-06-12    Vin Shelton <acs@xemacs.org>
+
+	* startup.el: Document -private and break out non-standard X
+ 	options.
+
+1999-06-12    SL Baur  <steve@gneiss.etl.go.jp>
+
+	* info.el (Info-scroll-prev): Use event functions instead of
+	the old emacs 19 interface.
+
+1999-06-12    SL Baur  <steve@gneiss.etl.go.jp>
+
+	* about.el (about-xemacs): Update maintainer list.
+	Fix release date.
+
 1999-05-14  XEmacs Build Bot <builds@cvs.xemacs.org>
 
 	* XEmacs 21.1.2 is released
     (piper    "Andy Piper"        "andy@xemacs.org")
     (rickc    "Rick Campbell"     "rickc@lehman.com")
     (rossini  "Anthony Rossini"	  "rossini@stat.sc.edu")
-    (vin      "Vin Shelton"	  "acs@acm.org")
+    (vin      "Vin Shelton"	  "acs@xemacs.org")
     (sperber  "Michael Sperber"   "sperber@informatik.uni-tuebingen.de")
     (slb      "SL Baur"           "steve@xemacs.org")
     (stig     "Jonathan Stigelman" "stig@hackvan.com")
     (let* ((emacs-short-version (format "%d.%d"
 					emacs-major-version
 					emacs-minor-version))
-	   (emacs-about-version (format "version %s; Aug 1998"
+	   (emacs-about-version (format "version %s; May 1999"
 					emacs-short-version)))
       (widget-insert (about-center emacs-about-version))
       (widget-create 'link :help-echo "The latest NEWS of XEmacs"
 			     :value who)
 	      (widget-insert (format "  <%s>\n" address)))))
       ;; Setup persons responsible for this release.
-      (mapc 'setup-person '(slb hniksic kyle martin piper))
+      (mapc 'setup-person '(vin slb hniksic kyle martin piper))
       (widget-insert "\n\t* ")
       (widget-create 'link :help-echo "A legion of XEmacs hackers"
 		     :action 'about-hackers
 XEmacs will speak Scheme.\n"))
     (vin
      (widget-insert "\
-Vin maintains the XEmacs patch pages in order to bring a more
-stable XEmacs.  (Actually, he does it 'cause it's fun and he's been
-using emacs for a long, long time.)  Vin also contributed the detached
-minibuffer code as well as a few minor enhancements to the menubar
-options.
+Vin is currently maintaining the 21.1 (stable) version of XEmacs.  He does
+it 'cause it's fun and he's been using emacs for a long, long time.
+Vin also contributed the detached minibuffer code as well as a few minor
+enhancements to the menubar options.
 
 I own and operate my own consulting firm, EtherSoft.  Shhh, don't
 tell anyone, but it's named after an Ultimate team I used to play
 	       (not (eq Info-auto-advance t))
 	       (not (eq last-command this-command)))
 	  (message "Hit %s again to go to previous node"
-		   (if (= last-command-char 0)
+		   (if (mouse-event-p last-command-event)
 		       "mouse button"
-		     (key-description (char-to-string last-command-char))))
+		     (key-description (event-key last-command-event))))
 	(Info-page-prev)
 	(setq this-command 'Info))
     (scroll-down arg)))

lisp/mule/mule-cmds.el

 					nil t nil 'input-method-history)
 		       ;;default)
 		       ))
+    (if (string-equal input-method "")
+	(setq input-method default))
     (if (> (length input-method) 0)
 	input-method
       (if inhibit-null
     (princ (concat "\n" (emacs-version) "\n\n"))
     (princ
      (if (featurep 'x)
-	 (concat (emacs-name)
-		 " accepts all standard X Toolkit command line options.\n"
-		 "In addition, the")
+	 (concat "When creating a window on an X display, "
+		 (emacs-name)
+		 " accepts all standard X Toolkit
+command line options plus the following:
+  -iconname <title>     Use title as the icon name.
+  -mc <color>           Use color as the mouse color.
+  -cr <color>           Use color as the text-cursor foregound color.
+  -private              Install a private colormap.
+
+In addition, the")
        "The"))
     (princ " following options are accepted:
-
   -t <device>           Use TTY <device> instead of the terminal for input
                         and output.  This implies the -nw option.
   -nw                   Inhibit the use of any window-system-specific
    (format "%d.%d %s%s%s%s"
 	   emacs-major-version
 	   emacs-minor-version
-	   (if xemacs-codename
-	       (concat "\"" xemacs-codename "\"")
-	     "")
-	   " XEmacs Lucid"
 	   (if emacs-patch-level
-	       (format " (patch %d)" emacs-patch-level)
+	       (format "(patch %d)" emacs-patch-level)
 	     "")
 	   (if xemacs-betaname
 	       (concat " " xemacs-betaname)
-	     "")))
+	     "")
+	   (if xemacs-codename
+	       (concat " \"" xemacs-codename "\"")
+	     "")
+	   " XEmacs Lucid"))
   "Version numbers of this version of XEmacs.")
 
 (if (featurep 'infodock)
        (t          (insert version-string))))))
 
 ;; from emacs-vers.el
-(defun emacs-version>= (major &optional minor)
-  "Return true if the Emacs version is >= to the given MAJOR and MINOR numbers.
-The MAJOR version number argument is required, but the MINOR version number
-argument is optional.  If the minor version number is not specified (or is the
-symbol `nil') then only the major version numbers are considered in the test."
-  (if (null minor)
-      (>= emacs-major-version major)
-    (or (> emacs-major-version major)
-	(and (=  emacs-major-version major)
-	     (>= emacs-minor-version minor)))))
+(defun emacs-version>= (major &optional minor patch)
+  "Return true if the Emacs version is >= to the given MAJOR, MINOR,
+   and PATCH numbers.
+The MAJOR version number argument is required, but the other arguments
+argument are optional. Only the Non-nil arguments are used in the test."
+  (let ((emacs-patch (or emacs-patch-level emacs-beta-version -1)))
+    (cond ((> emacs-major-version major))
+	  ((< emacs-major-version major) nil)
+	  ((null minor))
+	  ((> emacs-minor-version minor))
+	  ((< emacs-minor-version minor) nil)
+	  ((null patch))
+	  ((>= emacs-patch patch)))))
 
 ;;; We hope that this alias is easier for people to find.
 (define-function 'version 'emacs-version)
+1999-06-26  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+	* XEmacs 21.1.3 is released
+
+1999-06-26  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+	* XEmacs 21.1.3 is released
+
 1999-05-14  XEmacs Build Bot <builds@cvs.xemacs.org>
 
 	* XEmacs 21.1.2 is released
   xgcv.foreground = mw->menu.bottom_shadow_color;
 /*  xgcv.stipple = mw->menu.bottom_shadow_pixmap; gtb */
 #ifdef NEED_MOTIF
-  if (mw->menu.top_shadow_pixmap &&
-      mw->menu.top_shadow_pixmap != XmUNSPECIFIED_PIXMAP)
+  if (mw->menu.bottom_shadow_pixmap &&
+      mw->menu.bottom_shadow_pixmap != XmUNSPECIFIED_PIXMAP)
      xgcv.stipple = mw->menu.bottom_shadow_pixmap;
   else
      xgcv.stipple = 0;
+1999-06-26  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+	* XEmacs 21.1.3 is released
+
+1999-06-26  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+	* XEmacs 21.1.3 is released
+
+1999-06-12    Vin Shelton <acs@xemacs.org>
+
+	* xemacs/cmdargs.texi: Document -private.
+
+1999-06-12    Karl M. Hegbloom  <karlheg@debian.org>
+
+	* internals/internals.texi (The XEmacs Object System
+	(Abstractly Speaking)): typo.
+
 1999-05-14  XEmacs Build Bot <builds@cvs.xemacs.org>
 
 	* XEmacs 21.1.2 is released

man/internals/internals.texi

 1.983e-4
 @end example
 
-converts to a float whose value is 1983.23e-4, or .0001983.
+converts to a float whose value is 1.983e-4, or .0001983.
 
 @example
 ?b

man/xemacs/cmdargs.texi

 
 @item -cr @var{color}
 Use @var{color} as the text-cursor foreground color.
+
+@item -private
+Install a private colormap for XEmacs.
 @end table
 
 In addition, XEmacs allows you to use a number of standard Xt
+1999-06-26  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+	* XEmacs 21.1.3 is released
+
+1999-06-26  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+	* XEmacs 21.1.3 is released
+
 1999-05-14  XEmacs Build Bot <builds@cvs.xemacs.org>
 
 	* XEmacs 21.1.2 is released
 	-DINFODOCK_MINOR_VERSION=$(infodock_minor_version)	\
 	-DINFODOCK_BUILD_VERSION=$(infodock_build_version)
 !else
-!if "$(emacs_beta_version)" != ""
+!if "$(emacs_is_beta)" != ""
 XEMACS_VERSION_STRING=$(emacs_major_version).$(emacs_minor_version)-b$(emacs_beta_version)
 !else
-XEMACS_VERSION_STRING=$(emacs_major_version).$(emacs_minor_version)
+XEMACS_VERSION_STRING=$(emacs_major_version).$(emacs_minor_version).$(emacs_beta_version)
 !endif
 PROGRAM_DEFINES=						\
 	-DPATH_VERSION=\"$(XEMACS_VERSION_STRING)\"		\
 # TEMACS Executable
 
 # This may not exist
-!if "$(emacs_beta_version)" != ""
+!if "$(emacs_is_beta)" != ""
 EMACS_BETA_VERSION=-DEMACS_BETA_VERSION=$(emacs_beta_version)
+!else
+EMACS_BETA_VERSION=-DEMACS_PATCH_LEVEL=$(emacs_beta_version)
 !ENDIF
 
 TEMACS_DIR=$(XEMACS)\src
+1999-06-26  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+	* XEmacs 21.1.3 is released
+
+1999-06-26  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+	* XEmacs 21.1.3 is released
+
+1999-06-26    SL Baur  <steve@miho.m17n.org>
+
+	* lisp.h (set_bit_vector_bit): Force promotion to unsigned long
+	int (fixes a 64-bit problem).
+
+1999-06-16    Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+	* event-Xt.c (emacs_Xt_unselect_console): Guard against
+	unselecting the GPM connection twice when using gnuattach on the
+	linux console.
+
+1999-06-14    Adrian Aichner <aichner@ecf.teradyne.com>
+
+	* src/ntproc.c: include buffer.h.
+
+1999-06-13    MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+	* mule-charset.c (complex_vars_of_mule_charset): Registry of
+	japanese-jisx0208-1978 should not match with "jisx0208.1983" nor
+	"jisc6226.1983".
+
+1999-06-13    SL Baur  <steve@steve1.m17n.org>
+
+	* symsinit.h: Declare vars_of_ntproc.
+    	* emacs.c (main_1): Call it.
+
+    	* ntproc.c (syms_of_ntproc): Move variable initializations from
+    	here ...
+    	(vars_of_ntproc): ... to here [new function].
+
+    	* file-coding.c (syms_of_file_coding): Rename.
+    	(vars_of_file_coding): Ditto.
+    	(complex_vars_of_file_coding): Ditto.
+
+    	* symsinit.h: Rename *_mule_coding to *_file_coding.
+
+    	* emacs.c (main_1): Call them by the proper name.
+
+    	* device-msw.c (syms_of_device_mswindows): Move variable
+    	initializations from here ...
+    	(vars_of_device_mswindows): ... to here.
+
+    	* chartab.c (vars_of_chartab): New function.
+
+    	* symsinit.h: New function, vars_of_chartab.
+
+    	* emacs.c (main_1): Call it.
+
+    	* mule-canna.c (syms_of_mule_canna): Move CANNA initialization ...
+    	(vars_of_mule_canna): ... to here.
+
+    	* mule-ccl.c (vars_of_mule_ccl): New function.  Move variable
+    	initializations out of syms_of_mule_ccl.
+
+    	* symsinit.h: Declare new function vars_of_mule_ccl.
+
+    	* emacs.c (main_1): Call it.
+
+1999-06-13    Hirokazu FUKUI  <fukui@atesoft.advantest.co.jp>
+
+	* frame.c (Fset_mouse_position):
+    	(Fset_mouse_pixel_position):
+    	* window.c (Fsplit_window):
+    	(Fmove_to_window_line):
+    	Fix crash when invoking functions with an already-deleted window
+    	argument.
+
+    	* indent.c (vertical_motion_1):
+    	(vmotion_pixels):
+    	(Fvertical_motion_pixels):
+    	* window.c (Fwindow_displayed_text_pixel_height):
+    	Fix error message when invoking functions with an already-deleted
+    	window argument.
+
+1999-06-13    Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+	* src/sysdep.c (request_sigio_on_device): Guard against glibc
+	2.1's stub streams implementation.
+
+1999-06-12    Kyle Jones  <kyle_jones@wonderworks.com>
+
+	* src/extents.c (splice_in_string_extents_mapper):
+	  Don't return without copying the extent if the
+	  start and end positions are the same.
+
+1999-06-12    Kyle Jones  <kyle_jones@wonderworks.com>
+
+	* src/fileio.c (Fwrite_region_internal): Return to 20.4
+	  behavior of always retrieving the file's modtime after
+	  the file is closed.  This is to avoid "file has changed 
+	  on disk" problems on systems that set the file's
+	  modification time when it is closed instead of when the 
+	  last write() call returns.
+
+1999-06-12    Hrvoje Niksic  <hniksic@srce.hr>
+
+	* mule-charset.c (Fmake_char): Strip the eighth bit off ARG1 and
+ 	ARG2.
+
+1999-06-12    Andy Piper  <andy@xemacs.org>
+
+	* ntproc.c (sys_spawnve): fix GCPRO/MULE filename bug. Share emacs 
+	console by default.
+
+	* symsinit.h: declare syms_of_ntproc();
+
+	* emacs.c (main_1): call syms_of_ntproc() when windows.
+
+1999-06-12    Jerry James  <jerry@cs.ucsb.edu>
+
+	* xlwmenu.c (make_shadow_gcs): Test bottom_shadow_pixmap before
+	using it.
+
+1999-06-12    Martin Buchholz  <martin@xemacs.org>
+
+	* lread.c (read_escape): Make hex escapes read only two hex
+	digits.
+
 1999-05-14  XEmacs Build Bot <builds@cvs.xemacs.org>
 
 	* XEmacs 21.1.2 is released
   DEFSUBR (Fcategory_table_value_p);
 #endif /* MULE */
 
+}
+
+void
+vars_of_chartab (void)
+{
   /* DO NOT staticpro this.  It works just like Vweak_hash_tables. */
   Vall_syntax_tables = Qnil;
 }
 {
   defsymbol (&Qinit_pre_mswindows_win, "init-pre-mswindows-win");
   defsymbol (&Qinit_post_mswindows_win, "init-post-mswindows-win");
-
-  DEFVAR_LISP ("mswindows-downcase-file-names", &Vmswindows_downcase_file_names /*
-Non-nil means convert all-upper case file names to lower case.
-This applies when performing completions and file name expansion.*/ );
-  Vmswindows_downcase_file_names = Qnil;
-
-  DEFVAR_LISP ("mswindows-get-true-file-attributes", &Vmswindows_get_true_file_attributes /*
-    "Non-nil means determine accurate link count in file-attributes.
-This option slows down file-attributes noticeably, so is disabled by
-default.  Note that it is only useful for files on NTFS volumes,
-where hard links are supported.
-*/ );
-  Vmswindows_get_true_file_attributes = Qnil;
 }
 
 void
 void
 vars_of_device_mswindows (void)
 {
+  DEFVAR_LISP ("mswindows-downcase-file-names", &Vmswindows_downcase_file_names /*
+Non-nil means convert all-upper case file names to lower case.
+This applies when performing completions and file name expansion.
+*/ );
+  Vmswindows_downcase_file_names = Qnil;
+
+  DEFVAR_LISP ("mswindows-get-true-file-attributes", &Vmswindows_get_true_file_attributes /*
+Non-nil means determine accurate link count in file-attributes.
+This option slows down file-attributes noticeably, so is disabled by
+default.  Note that it is only useful for files on NTFS volumes,
+where hard links are supported.
+*/ );
+  Vmswindows_get_true_file_attributes = Qnil;
 }
 #ifdef HAVE_MSW_C_DIRED
       syms_of_dired_mswindows ();
 #endif
+#ifdef WINDOWSNT
+      syms_of_ntproc ();
+#endif
 #endif	/* HAVE_MS_WINDOWS */
 
 #ifdef MULE
       syms_of_mule_charset ();
 #endif
 #ifdef FILE_CODING
-      syms_of_mule_coding ();
+      syms_of_file_coding ();
 #endif
 #ifdef MULE
 #ifdef HAVE_WNN
 
       lstream_type_create ();
 #ifdef FILE_CODING
-      lstream_type_create_mule_coding ();
+      lstream_type_create_file_coding ();
 #endif
 #if defined (HAVE_MS_WINDOWS) && !defined(HAVE_MSG_SELECT)
       lstream_type_create_mswindows_selectable ();
       vars_of_bytecode ();
       vars_of_callint ();
       vars_of_callproc ();
+      vars_of_chartab ();
       vars_of_cmdloop ();
       vars_of_cmds ();
       vars_of_console ();
       vars_of_menubar ();
 #endif
       vars_of_minibuf ();
+#ifdef WINDOWSNT
+      vars_of_ntproc ();
+#endif
       vars_of_objects ();
       vars_of_print ();
 
 
 #ifdef MULE
       vars_of_mule ();
+      vars_of_mule_ccl ();
       vars_of_mule_charset ();
 #endif
 #ifdef FILE_CODING
-      vars_of_mule_coding ();
+      vars_of_file_coding ();
 #endif
 #ifdef MULE
 #ifdef HAVE_WNN
       complex_vars_of_mule_charset ();
 #endif
 #if defined(FILE_CODING)
-      complex_vars_of_mule_coding ();
+      complex_vars_of_file_coding ();
 #endif
 
       /* This calls allocate_glyph(), which creates specifiers
   /* On a stream device (ie: noninteractive), bad things can happen. */
   if (EQ (CONSOLE_TYPE (con), Qtty)) {
     mousefd = CONSOLE_TTY_MOUSE_FD (con);
-    if (mousefd >= 0) {
+    if (mousefd >= 0 && filedesc_to_what_closure[mousefd]  ) {
       unselect_filedesc (mousefd);
     }
   }
     new_start = base_start;
   if (new_end > base_end)
     new_end = base_end;
-  if (new_end <= new_start)
-    return 0;
 
   if (!extent_duplicable_p (extent))
     return 0;

src/file-coding.c

 /************************************************************************/
 
 void
-syms_of_mule_coding (void)
+syms_of_file_coding (void)
 {
   defsymbol (&Qbuffer_file_coding_system, "buffer-file-coding-system");
   deferror (&Qcoding_system_error, "coding-system-error",
 }
 
 void
-lstream_type_create_mule_coding (void)
+lstream_type_create_file_coding (void)
 {
   LSTREAM_HAS_METHOD (decoding, reader);
   LSTREAM_HAS_METHOD (decoding, writer);
 }
 
 void
-vars_of_mule_coding (void)
+vars_of_file_coding (void)
 {
   int i;
 
 }
 
 void
-complex_vars_of_mule_coding (void)
+complex_vars_of_file_coding (void)
 {
   staticpro (&Vcoding_system_hashtable);
   Vcoding_system_hashtable = make_lisp_hashtable (50, HASHTABLE_NONWEAK,
       }
 #endif /* HAVE_FSYNC */
 
-    /* Spurious "file has changed on disk" warnings have been
-       observed on Suns as well.
-       It seems that `close' can change the modtime, under nfs.
-
-       (This has supposedly been fixed in Sunos 4,
-       but who knows about all the other machines with NFS?)  */
-    /* On VMS and APOLLO, must do the stat after the close
-       since closing changes the modtime.  */
-    /* As it does on Windows too - kkm */
-#if !defined (WINDOWSNT) /* !defined (VMS) && !defined (APOLLO) */
-    fstat (desc, &st);
-#endif
+    /*
+     * On VMS and APOLLO, must do the stat after the close
+     * since closing changes the modtime.
+     *
+     * Spurious "file has changed on disk" warnings have been
+     * observed on Suns as well.  It seems that `close' can change
+     * the modtime, under nfs.  (This has supposedly been fixed in
+     * Sunos 4, but who knows about all the other machines with
+     * NFS?)
+     *
+     * This is reported to happen under Windows also.
+     *
+     * So we don't do the stat here.  It is done after the
+     * descriptor is closed.
+     */
 
     /* NFS can report a write failure now.  */
     if (close (desc) < 0)
     unbind_to (speccount, Qnil);
   }
 
-#if defined (WINDOWSNT) /* defined (VMS) || defined (APOLLO) */
+  /*
+   * stat the file after the file is closed to avoid having the
+   * modtime change on us when the file is closed.
+   */
   stat ((char *) XSTRING_DATA (fn), &st);
-#endif
 
 #ifdef CLASH_DETECTION
   if (!auto_saving)
   struct window *w;
   int pix_x, pix_y;
 
-  CHECK_WINDOW (window);
+  CHECK_LIVE_WINDOW (window);
   CHECK_INT (x);
   CHECK_INT (y);
 
 {
   struct window *w;
 
-  CHECK_WINDOW (window);
+  CHECK_LIVE_WINDOW (window);
   CHECK_INT (x);
   CHECK_INT (y);
 
   if (NILP (window))
     window = Fselected_window (Qnil);
 
-  CHECK_WINDOW (window);
+  CHECK_LIVE_WINDOW (window);
   CHECK_INT (lines);
 
   selected = (EQ (window, Fselected_window (Qnil)));
   if (NILP (window))
     window = Fselected_window (Qnil);
 
-  CHECK_WINDOW (window);
+  CHECK_LIVE_WINDOW (window);
   w = XWINDOW (window);
 
   eobuf = BUF_ZV (XBUFFER (w->buffer));
   if (NILP (window))
     window = Fselected_window (Qnil);
 
-  CHECK_WINDOW (window);
+  CHECK_LIVE_WINDOW (window);
   CHECK_INT (pixels);
 
   selected = (EQ (window, Fselected_window (Qnil)));
 {
   unsigned int ui = (unsigned int) i;
   if (value)
-    (v)->bits[ui >> LONGBITS_LOG2] |= (1 << (ui & (LONGBITS_POWER_OF_2 - 1)));
+    (v)->bits[ui >> LONGBITS_LOG2] |= (1UL << (ui & (LONGBITS_POWER_OF_2 - 1)));
   else
-    (v)->bits[ui >> LONGBITS_LOG2] &= ~(1 << (ui & (LONGBITS_POWER_OF_2 - 1)));
+    (v)->bits[ui >> LONGBITS_LOG2] &= ~(1UL << (ui & (LONGBITS_POWER_OF_2 - 1)));
 }
 
 /* Number of longs required to hold LEN bits */
 static Lisp_Object
 read0 (Lisp_Object readcharfun)
 {
-  Lisp_Object val;
-
-  val = read1 (readcharfun);
+  Lisp_Object val = read1 (readcharfun);
+
   if (CONSP (val) && UNBOUNDP (XCAR (val)))
     {
       Emchar c = XCHAR (XCDR (val));
       }
 
     case 'x':
-      /* A hex escape, as in ANSI C.  */
+      /* A hex escape, as in ANSI C, except that we only allow latin-1
+	 characters to be read this way.  What is "\x4e03" supposed to
+	 mean, anyways, if the internal representation is hidden?
+         This is also consistent with the treatment of octal escapes. */
       {
 	REGISTER Emchar i = 0;
-	while (1)
+	REGISTER int count = 0;
+	while (++count <= 2)
 	  {
 	    c = readchar (readcharfun);
 	    /* Remember, can't use isdigit(), isalpha() etc. on Emchars */
 
 
 #ifdef LINUX
- # define SYSTEM_MALLOC
+# define SYSTEM_MALLOC
 #endif
 
 #ifdef OSF1
 void
 syms_of_mule_canna (void)
 {
-  DEFVAR_LISP ("CANNA", &VCANNA);		/* hir@nec, 1992.5.21 */
-  VCANNA = Qt;					/* hir@nec, 1992.5.21 */
-  
   DEFSUBR (Fcanna_key_proc);
   DEFSUBR (Fcanna_initialize);
   DEFSUBR (Fcanna_finalize);
 void
 vars_of_mule_canna (void)
 {
+  DEFVAR_LISP ("CANNA", &VCANNA);		/* hir@nec, 1992.5.21 */
+  VCANNA = Qt;					/* hir@nec, 1992.5.21 */
+
   DEFVAR_LISP ("canna-kakutei-string", &Vcanna_kakutei_string /*
 
 */ );
 void
 syms_of_mule_ccl (void)
 {
+  DEFSUBR (Fccl_execute);
+  DEFSUBR (Fccl_execute_on_string);
+  DEFSUBR (Fregister_ccl_program);
+}
+
+void
+vars_of_mule_ccl (void)
+{
   staticpro (&Vccl_program_table);
   Vccl_program_table = Fmake_vector (make_int (32), Qnil);
 
 If the font is single-byte font, the register R2 is not used.
 */ );
   Vfont_ccl_encoder_alist = Qnil;
-
-  DEFSUBR (Fccl_execute);
-  DEFSUBR (Fccl_execute_on_string);
-  DEFSUBR (Fregister_ccl_program);
 }
 
 #endif  /* emacs */

src/mule-charset.c

   else	/* CHARSET_CHARS (cs) == 96) */	     lowlim = 32, highlim = 127;
 
   CHECK_INT (arg1);
-  a1 = XINT (arg1);
+  /* It is useful (and safe, according to Olivier Galibert) to strip
+     the 8th bit off ARG1 and ARG2 becaue it allows programmers to
+     write (make-char 'latin-iso8859-2 CODE) where code is the actual
+     Latin 2 code of the character.  */
+  a1 = XINT (arg1) & 0x7f;
   if (a1 < lowlim || a1 > highlim)
     args_out_of_range_3 (arg1, make_int (lowlim), make_int (highlim));
 
     }
 
   CHECK_INT (arg2);
-  a2 = XINT (arg2);
+  a2 = XINT (arg2) & 0x7f;
   if (a2 < lowlim || a2 > highlim)
     args_out_of_range_3 (arg2, make_int (lowlim), make_int (highlim));
 
 		  CHARSET_LEFT_TO_RIGHT,
 		  build_string
 		  ("JIS X0208-1978 (Japanese Kanji; Old Version)"),
-		  build_string ("\\(jisx0208\\|jisc6226\\).19"));
+		  build_string ("\\(jisx0208\\|jisc6226\\).1978"));
   Vcharset_japanese_jisx0208 =
     make_charset (146, Qjapanese_jisx0208,
 		  LEADING_BYTE_JAPANESE_JISX0208, 3,
 #include "systime.h"
 #include "syssignal.h"
 #include "syswait.h"
+#include "buffer.h"
 #include "process.h"
 /*#include "w32term.h"*/ /* From 19.34.6: sync in ? --marcpa */
 
 	  errno = EINVAL;
 	  return -1;
 	}
-      cmdname = XSTRING_DATA (full);
-      /* #### KLUDGE */
-      *(char**)(argv[0]) = cmdname;
+      GET_C_STRING_FILENAME_DATA_ALLOCA (full, cmdname);
+    }
+  else
+    {
+      (char*)cmdname = alloca (strlen (argv[0]) + 1);
+      strcpy ((char*)cmdname, argv[0]);
     }
   UNGCPRO;
 
   /* make sure argv[0] and cmdname are both in DOS format */
-  strcpy (cmdname = alloca (strlen (cmdname) + 1), argv[0]);
   unixtodos_filename (cmdname);
   /* #### KLUDGE */
-  *(char**)(argv[0]) = cmdname;
+  ((CONST char**)argv)[0] = cmdname;
 
   /* Determine whether program is a 16-bit DOS executable, or a Win32
      executable that is implicitly linked to the Cygnus dll (implying it
 void
 syms_of_ntproc ()
 {
-  Qhigh = intern ("high");
-  Qlow = intern ("low");
-
   DEFSUBR (Fwin32_short_file_name);
   DEFSUBR (Fwin32_long_file_name);
   DEFSUBR (Fwin32_set_process_priority);
   DEFSUBR (Fwin32_get_default_locale_id);
   DEFSUBR (Fwin32_get_valid_locale_ids);
   DEFSUBR (Fwin32_set_current_locale);
+}
+
+
+void
+vars_of_ntproc (void)
+{
+  Qhigh = intern ("high");
+  Qlow = intern ("low");
 
   DEFVAR_LISP ("win32-quote-process-args", &Vwin32_quote_process_args /*
     Non-nil enables quoting of process arguments to ensure correct parsing.
 subprocess group, but may allow Emacs to interrupt a subprocess that doesn't
 otherwise respond to interrupts from Emacs.
 */ );
-  Vwin32_start_process_share_console = Qnil;
+  Vwin32_start_process_share_console = Qt;
 
   DEFVAR_LISP ("win32-pipe-read-delay", &Vwin32_pipe_read_delay /*
     Forced delay before reading subprocess output.
   Vwin32_generate_fake_inodes = Qnil;
 #endif
 }
+
 /* end of ntproc.c */

src/s/decosf4-0.h

 #define regoff_t sys_regoff_t
 #define regmatch_t sys_regmatch_t
 
-/* A perfectly ordinary link wins again - martin */
+/* A perfectly ordinary link wins again - martin 
 #undef C_SWITCH_SYSTEM
 #undef LIBS_SYSTEM
 #undef LIBS_DEBUG
-#define ORDINARY_LINK
+#define ORDINARY_LINK */
 
-#define SYSTEM_MALLOC
+#undef SYSTEM_MALLOC
 
 #if 0 /* martin */
 /* Some V4.0* versions before V4.0B don't detect rename properly. */
 void syms_of_mule_canna (void);
 void syms_of_mule_ccl (void);
 void syms_of_mule_charset (void);
-void syms_of_mule_coding (void);
+void syms_of_file_coding (void);
 void syms_of_mule_wnn (void);
+void syms_of_ntproc (void);
 void syms_of_objects_tty (void);
 void syms_of_objects_x (void);
 void syms_of_objects_mswindows (void);
 /* Initialize the lstream types (dump-time only). */
 
 void lstream_type_create (void);
-void lstream_type_create_mule_coding (void);
+void lstream_type_create_file_coding (void);
 void lstream_type_create_print (void);
 void lstream_type_create_mswindows_selectable (void);
 
 void vars_of_bytecode (void);
 void vars_of_callint (void);
 void vars_of_callproc (void);
+void vars_of_chartab (void);
 void vars_of_cmdloop (void);
 void vars_of_cmds (void);
 void vars_of_console (void);
 void vars_of_minibuf (void);
 void vars_of_mule (void);
 void vars_of_mule_canna (void);
+void vars_of_mule_ccl(void);
 void vars_of_mule_charset (void);
-void vars_of_mule_coding (void);
+void vars_of_file_coding (void);
 void vars_of_mule_wnn (void);
+void vars_of_ntproc (void);
 void vars_of_objects (void);
 void vars_of_objects_tty (void);
 void vars_of_objects_mswindows (void);
 void complex_vars_of_extents (void);
 void complex_vars_of_faces (void);
 void complex_vars_of_mule_charset (void);
-void complex_vars_of_mule_coding (void);
+void complex_vars_of_file_coding (void);
 void complex_vars_of_glyphs (void);
 void complex_vars_of_glyphs_x (void);
 void complex_vars_of_glyphs_mswindows (void);
 {
   int filedesc = DEVICE_INFD (d);
 
-#if defined (I_SETSIG) && !defined(HPUX10)
+#if defined (I_SETSIG) && !defined(HPUX10) && !defined(LINUX)
   {
     int events=0;
     ioctl (filedesc, I_GETSIG, &events);
 {
   int filedesc = DEVICE_INFD (d);
 
-#if defined (I_SETSIG) && !defined(HPUX10)
+#if defined (I_SETSIG) && !defined(HPUX10) && !defined(LINUX)
   {
     int events=0;
     ioctl (filedesc, I_GETSIG, &events);
   if (NILP (window))
     window = Fselected_window (Qnil);
 
-  CHECK_WINDOW (window);
+  CHECK_LIVE_WINDOW (window);
   w = XWINDOW (window);
 
   start  = marker_position (w->start[CURRENT_DISP]);
   if (NILP (window))
     window = Fselected_window (Qnil);
   else
-    CHECK_WINDOW (window);
+    CHECK_LIVE_WINDOW (window);
 
   o = XWINDOW (window);
   f = XFRAME (WINDOW_FRAME (o));
   if (NILP (window))
     window = Fselected_window (Qnil);
   else
-    CHECK_WINDOW (window);
+    CHECK_LIVE_WINDOW (window);
   w = XWINDOW (window);
   b = XBUFFER (w->buffer);
 
 #!/bin/sh
 emacs_major_version=21
 emacs_minor_version=1
-emacs_beta_version=2
-xemacs_codename="20 Minutes to Nikko"
+emacs_beta_version=3
+xemacs_codename="Acadia"
 infodock_major_version=4
 infodock_minor_version=0
 infodock_build_version=7