Anonymous avatar Anonymous committed 3648169

Import from CVS: tag r20-0b93

Comments (0)

Files changed (70)

 							-*- indented-text -*-
+to 20.0 beta93
+-- tm-7.101
+-- w3-3.0.51
+-- Miscellaneous bug fixes
+
 to 20.0 beta92
 -- Miscellaneous bug fixes
 
Added
New image
+/* XPM */
+/*****************************************************************************/
+/**       This pixmap is kindly offered by Ion Cionca - 1992 -              **/
+/**       Swiss Federal Institute of Technology                             **/
+/**       Central Computing Service                                         **/
+/*****************************************************************************/
+static char * image_name [] = {
+/**/
+"64 38 8 1",
+/**/
+" 	s mask	c black",
+".	c gray70",
+"X	c gray85",
+"o	c gray50",
+"O	c #4000bf",
+"+	c darkolivegreen",
+"@	c white",
+"#	c black",
+"                                                                ",
+"               OOO                                              ",
+"              OOOOO       ...........................           ",
+"              OO OOO     .XXXXXXXXXXXXXXXXXXXXXXXXXXX.          ",
+"            O OOO OOO   .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXoo        ",
+"           OOO OOO OOO  .XX+++++++++++++++++++++++XXXXoo        ",
+"          O OOO OOO OOO .XX++++++++++++++++++++++++XXXooo       ",
+"         OOO OOO OOO OOO.XX++@@+@++@+@@@@++@+++++++XXXooo       ",
+"        O OOO OOO OOO O OXX++++++++++++++++++++++++XXXoooo      ",
+"       OOO OOO OOO OOO OOOX++@@@@+@@+@@@+++++++++++XXXoooo      ",
+"      OOO O OOO OOO O OOOXO++++++++++++++++++++++++XXXooooo     ",
+"     OOO OOO OOO OO  OOO.OOO+@@@@@@@@@@+@@@@@++++++XXXooooo     ",
+"    OOO OOO   OOOOO OOO OOO++++++++++++++++++++++++XXXooooo     ",
+"   OOO OOO OOO OOO OOO OOOXOOO@@+@@@@+@@++@@@++++++XXXooooo     ",
+"  OOO OOO OOOOO   OOO OOOXOOOOO++++++++++++++++++++XXXooooo     ",
+"  OO OOO OOO OO   OO OOO.OOO+OO++++++++++++++++++++XXXooooo     ",
+"  OOOOO OOO OOO   OOOOO OOO+OOO++++++++++++++++++++XXXooooo     ",
+"   OOO OOO OOO OOO OOO OOOXOOO@@@+@+@@@+@++++++++++XXXooooo     ",
+"      OOO OOO OOOOO   OOOXOOO++++++++++++++++++++++XXXooooo     ",
+"     OOO OOO  OO OOO OOO.OOO+@+@@@@++++++++++++++++XXXooooo     ",
+"      O OOO O OOO OOO O OOOX++++++++++++++++++++++XXXXoooo      ",
+"       OOO OOO OOO OOO OOOXXXXXXXXXXXXXXXXXXXXXXXXXXXXooo       ",
+"        O O OOO OOO OOO O.XXXXXXXXXXXXXXXXXXXXXXXXXXXooo        ",
+"         OOO OOO OOO OOO    ooooooooooooooooooooooooo...oo      ",
+"          OOO OOO OOO O      ..........................ooo      ",
+"           OOO OOO OOO      oooooooooooooooooooooooooooooo      ",
+"            OOO OOO O     oXXXXXXXXXXXXXXXXXXXXXXXXXXXoooo.. .. ",
+"             OOO OO       oXXXXXXXXXXXXXXXXXX#######XXoooo  .  .",
+"              OOOOO     oooooooooooooooooooooooooooXXXooo     . ",
+"               OOO     oXXXXXXXXXXXXXXXXXXXXXXXXXXooooo      .  ",
+"                      oXXXXXXXXXXXXXXXXXXXXXXXXXXoo      oooooo ",
+"                      oXX@@@@@@@@@@@@@@@@@@@XXXXXoo   ooooo...o ",
+"                     oXXXXXXXXXXXXXXXXXXXXXXXXXXoo   ooXXXoo..o ",
+"                    oXX@@@@@@@@@@@@@@@@@@@@XXXXoo    oXXXXX..o  ",
+"                   oXXXXXXXXXXXXXXXXXXXXXXXXXXoo     o.....oo   ",
+"                   oooooooooooooooooooooooooooo      ooooooo    ",
+"                                                                ",
+"                                                                "};
 #!/bin/sh -
 #
-# $Id: tm-au,v 1.4 1997/01/23 05:29:22 steve Exp $
+# $Id: tm-au,v 1.5 1997/01/30 02:22:29 steve Exp $
 #
+# Copyright 1994,1995,1996,1997 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with GNU Emacs; see the file COPYING.  If not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
 
 PATH=${PATH:-/usr/bin:/bin}:`dirname $0 2>/dev/null`; export PATH
 
 	echo "$2; $3 ->"
 	tmdecode $3 $1 $filename
 	if [ "$AUDIOSERVER" = "" ]; then
-          case "`uname`" in
-            IRIX )  sfplay $filename           ;;
-            OSF1 )  decsound -play $filename   ;;
-            *    )  cat $filename > /dev/audio ;;
-          esac
+		if [ `uname` = "IRIX" ]; then
+			sfplay $filename
+		else
+			cat $filename > /dev/audio
+		fi
 	else
-          autool -v 40 $filename
+		autool -v 40 $filename
 	fi
-        
 	trap 'rm -f $filename' 0 1 2 3 13 15
 	;;
 "extract")
 #!/bin/sh -
 #
-# $Id: tm-file,v 1.3 1997/01/11 20:13:51 steve Exp $
+# $Id: tm-file,v 1.4 1997/01/30 02:22:30 steve Exp $
 #
+# Copyright 1994,1995,1996,1997 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with GNU Emacs; see the file COPYING.  If not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
 
 PATH=${PATH:-/usr/bin:/bin}:`dirname $0 2>/dev/null`; export PATH
 
 #!/bin/sh
 #
-# $Id: tm-html,v 1.3 1997/01/11 20:13:51 steve Exp $
+# $Id: tm-html,v 1.4 1997/01/30 02:22:30 steve Exp $
 #
+# Copyright 1994,1995,1996,1997 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with GNU Emacs; see the file COPYING.  If not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
 
 PATH=${PATH:-/usr/bin:/bin}:`dirname $0 2>/dev/null`; export PATH
 
 #!/bin/sh -
 #
-# $Id: tm-image,v 1.3 1997/01/11 20:13:51 steve Exp $
+# $Id: tm-image,v 1.4 1997/01/30 02:22:30 steve Exp $
 #
 # Copyright 1994, 1995, 1996 Free Software Foundation, Inc.
 
 #!/bin/sh -
 #
-# $Id: tm-mpeg,v 1.3 1997/01/11 20:13:51 steve Exp $
+# $Id: tm-mpeg,v 1.4 1997/01/30 02:22:30 steve Exp $
 #
 # Copyright 1994, 1995, 1996 Free Software Foundation, Inc.
 
 #!/bin/sh -
 #
-# $Id: tm-plain,v 1.3 1997/01/11 20:13:52 steve Exp $
+# $Id: tm-plain,v 1.4 1997/01/30 02:22:30 steve Exp $
 #
+# Copyright 1994,1995,1996,1997 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with GNU Emacs; see the file COPYING.  If not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
 
 PATH=${PATH:-/usr/bin:/bin}:`dirname $0 2>/dev/null`; export PATH
 
 #!/bin/sh -
 #
-# $Id: tm-ps,v 1.3 1997/01/11 20:13:52 steve Exp $
+# $Id: tm-ps,v 1.4 1997/01/30 02:22:30 steve Exp $
 #
 # Copyright 1994, 1995, 1996 Free Software Foundation, Inc.
 
 #!/bin/sh -
 #
-# $Id: tmdecode,v 1.3 1997/01/11 20:13:52 steve Exp $
+# $Id: tmdecode,v 1.4 1997/01/30 02:22:30 steve Exp $
 #
 # Copyright 1994, 1995, 1996 Free Software Foundation, Inc.
 
+Mon Jan 27 21:45:17 1997  Tomasz J. Cholewo  <tjchol01@mecca.spd.louisville.edu>
+
+	* dired/ange-ftp.el (ange-ftp-write-region): Changes for jka-compr.
+
+	* packages/jka-compr.el (jka-compr-write-region): Convert to 20.0
+	write-region interface.
+
+Mon Jan 27 19:09:28 1997  Steven L Baur  <steve@altair.xemacs.org>
+
+	* prim/about.el (about-xemacs): Updated to reflect change of
+	management.
+
+Mon Jan 27 13:25:17 1997  William M. Perry <wmperry@aventail.com>
+
+	* packages/man.el (Manual-entry-switches): Don't default to -s.
+
+Sun Jan 26 16:27:49 1997  Steven L Baur  <steve@altair.xemacs.org>
+
+	* bytecomp/byte-optimize.el (byte-compile-inline-expand):
+	Correctly refresh the pointer to a symbol being autoloaded prior
+	to inline.
+
+Sun Jan 26 13:57:22 1997  Bob Weiner <weiner@infodock.com>
+
+	* prim/about.el (about-xemacs-xref): Update bio.
+
+Sat Jan 25 22:58:15 1997  Steven L Baur  <steve@altair.xemacs.org>
+
+	* x11/x-menubar.el (default-menubar): Update ps-paper-type options
+	for new ps-print.el.
+
 Thu Jan 23 01:40:53 1997  Steven L Baur  <steve@altair.xemacs.org>
 
 	* psgml/psgml-html.el (html-mode): Set up friendlier syntax

lisp/bytecomp/byte-optimize.el

 	  form)
       ;; else
       (if (and (consp fn) (eq (car fn) 'autoload))
-	  (load (nth 1 fn)))
+	  (progn
+	    (load (nth 1 fn))
+	    (setq fn (or (cdr (assq name byte-compile-function-environment))
+			 (and (fboundp name) (symbol-function name))))))
       (if (and (consp fn) (eq (car fn) 'autoload))
 	  (error "file \"%s\" didn't define \"%s\"" (nth 1 fn) name))
       (if (symbolp fn)

lisp/cl/cl-extra.el

 
 (run-hooks 'cl-extra-load-hook)
 
+(provide 'cl-extra)
+
 ;;; cl-extra.el ends here

lisp/dired/ange-ftp.el

 ;;; 1. Umask problems:
 ;;;    Be warned that files created by using ange-ftp will take account of the
 ;;;    umask of the ftp daemon process rather than the umask of the creating
-;;;    user.  This is particulary important when logging in as the root user.
+;;;    user.  This is particularly important when logging in as the root user.
 ;;;    The way that I tighten up the ftp daemon's umask under HP-UX is to make
 ;;;    sure that the umask is changed to 027 before I spawn /etc/inetd.  I
 ;;;    suspect that there is something similar on other systems.
 ;;; which the writers of this program believe could never happen. However,
 ;;; being realists they have put calls to 'error in the program at these
 ;;; points. These errors provide a code, which is an integer, greater than 1.
-;;; To aid debugging.  the error codes, and the functions in which they reside
+;;; To aid debugging the error codes, and the functions in which they reside
 ;;; are listed below.
 ;;; 
 ;;; 1: See ange-ftp-ls
   (ange-ftp-save-match-data
     (string-match ange-ftp-binary-file-name-regexp file)))
 
+;;; 20.0-b92 change (see jka-compr)
 (defun ange-ftp-write-region (start end filename &optional append visit
-			      lockname)
+			      lockname coding-system)
   "Documented as original."
   (interactive "r\nFWrite region to file: ")
   (setq filename (expand-file-name filename))
 		      (mod-p (buffer-modified-p)))
 		  (unwind-protect
 		      (ange-ftp-real-write-region start end temp nil
-						  visit lockname)
+						  visit lockname coding-system)
 		    ;; cleanup forms
 		    (setq buffer-file-name filename)
 		    (if (fboundp 'compute-buffer-file-truename)
 		(set-buffer-modified-p nil)))
 	  (ange-ftp-message "Wrote %s" abbr)
 	  (ange-ftp-add-file-entry filename))
-      (ange-ftp-real-write-region start end filename append visit lockname))))
+      (ange-ftp-real-write-region start end filename append visit lockname coding-system))))
 
 (defun ange-ftp-insert-file-contents (filename &optional visit beg end replace)
   "Documented as original."

lisp/mu/latex-math-symbol.el

 ;;; latex-math-symbol.el --- LaTeX math symbol decoder
 
-;; Copyright (C) 1996 MORIOKA Tomohiko
+;; Copyright (C) 1996,1997 MORIOKA Tomohiko
 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Created: 1996/7/1
 ;; Version:
-;;    $Id: latex-math-symbol.el,v 1.2 1996/12/28 21:02:58 steve Exp $
+;;    $Id: latex-math-symbol.el,v 1.3 1997/01/30 02:22:35 steve Exp $
 ;; Keywords: LaTeX, math, mule
 
 ;; This file is part of MU (Message Utilities).
 ;; General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
-;; along with this program; see the file COPYING.  If not, write to
-;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; along with GNU Emacs; see the file COPYING.  If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 ;; Boston, MA 02111-1307, USA.
 
 ;;; Commentary:
 ;;; Code:
 
 (defvar latex-math-symbol-table-alist
-  '(("\\pi"		. "$B&P(B")
+  '(("\\alpha"		. ",Fa(B")
+    ("\\beta"		. ",Fb(B")
+    ("\\gamma"		. ",Fc(B")("\\Gamma"	. "$B&#(B")
+    ("\\delta"		. ",Fd(B")("\\Delta"	. "$B&$(B")
+    ("\\epsilon"	. ",Fe(B")("\\varepsilon"	. "$B&E(B")
+    ("\\zeta"		. ",Ff(B")
+    ("\\eta"		. ",Fg(B")
+    ("\\theta"		. ",Fh(B")("\\Theta"	. "$B&((B")
+    ("\\iota"		. ",Fi(B")
+    ("\\kappa"		. ",Fj(B")
+    ("\\lambda"		. ",Fk(B")("\\Lambda"	. "$B&+(B")
+    ("\\mu"		. ",Fl(B")
+    ("\\nu"		. ",Fm(B")
+    ("\\xi"		. ",Fn(B")("\\Xi"		. "$B&.(B")
+    ("\\pi"		. ",Fp(B")("\\Pi"		. "$B&0(B")
+    ("\\rho"		. ",Fq(B")
+    ("\\sigma"		. ",Fs(B")("\\Sigma"	. "$B&2(B")
+    ("\\varsigma"	. ",Fr(B")
+    ("\\tau"		. ",Ft(B")
+    ("\\upsilon"	. ",Fu(B")("\\Upsilon"	. "$B&4(B")
+    ("\\phi"		. "$B&U(B")("\\Phi"		. "$B&5(B")
+    ("\\varphi"		. ",Fv(B")
+    ("\\chi"		. ",Fw(B")
+    ("\\psi"		. ",Fx(B")("\\Psi"		. "$B&7(B")
+    ("\\omega"		. ",Fy(B")("\\Omega"	. "$B&8(B")
     
     ("\\{"		. "$B!P(B")("\\}"		. "$B!Q(B")
+    ("\\langle\\!\\langle" . "$B!T(B")("\\rangle\\!\\rangle" . "$B!U(B")
+    ("\\langle"		. "$B!R(B")("\\rangle"	. "$B!S(B")
     
+    ("\\cdots"		. "$B!D(B")
+    
+    ("\\ln"		. "$(G"L(B")
+    ("\\log"		. "$(G"K(B")
+    
+    ("\\pm"		. "$B!^(B")
     ("\\cdot"		. "$B!&(B")
-    ("\\times"		. "$B!_(B")
+    ("\\times"		. "$B!_(B")("\\ast"		. "$B!v(B")
+    ("\\star"		. "$B!z(B")
+    ("\\bullet"		. "$B!&(B")
+    ("\\div"		. "$B!`(B")
     ("\\cap"		. "$B"A(B")("\\cup"		. "$B"@(B")
+    ("\\lhd"		. "$(C"7(B")("\\rhd"		. "$(C"9(B")
+    ("\\bigcirc"	. "$B"~(B")
+    ("\\vee"		. "$B"K(B")("\\lor"		. "$B"K(B")
+    ("\\wedge"		. "$B"J(B")("\\land"	. "$B"J(B")
+    ("\\oplus"		. "$(G"S(B")
+    ("\\odot"		. "$(G"T(B")
+    ("\\dagger"		. "$B"w(B")("\\ddagger"	. "$B"x(B")
     
     ("\\leq"		. "$(C!B(B")("\\geq"		. "$(C!C(B")
     ("\\le"		. "$(C!B(B")("\\ge"		. "$(C!C(B")
+    ("\\ll"		. "$B"c(B")("\\gg"		. "$B"d(B")
     ("\\subseteq"	. "$B"<(B")("\\supseteq"	. "$B"=(B")
     ("\\subset"		. "$B">(B")("\\supset"	. "$B"?(B")
-    ("\\in"		. "$B":(B")("\\ni"		. "$B";(B")
-    ("\\mid"		. "$B!C(B")
+    ("\\in"		. "$B":(B")
+    ("\\ni"		. "$B";(B")("\\owns"	. "$B";(B")
+    ("\\frown"		. "$B"^(B")
+    ("\\mid"		. "$B!C(B")("\\parallel"	. "$B!B(B")
+    ("\\sim"		. "$B!A(B")
+    ("\\equiv"		. "$B"a(B")
+    ("\\approx"		. "$A!V(B")
+    ("\\not="		. "$B!b(B")
     ("\\neq"		. "$B!b(B")("\\ne"		. "$B!b(B")
+    ("\\perp"		. "$B"](B")
     
+    ("\\triangleup"	. "$B"$(B")
     ("\\forall"		. "$B"O(B")
     
+    ("\\hbar"		. ",C1(B")("\\imath"	. ",C9(B")
+    ("\\ell"		. "$(C'$(B")
+    ("\\partial"	. "$B"_(B")
+    ("\\infty"		. "$B!g(B")
+    ("\\smallint"	. "$B"i(B")
+    ("\\P"		. "$B"y(B")
+    ("\\prime"		. "$B!l(B")
+    ("\\nabla"		. "$B"`(B")
+    ("\\top"		. "$(D0#(B")("\\bot"		. "$(D0"(B")
+    ("\\vert"		. "$B!C(B")("\\Vert"	. "$B!B(B")
+    ("\\angle"		. "$B"\(B")
+    ("\\triangle"	. "$B"$(B")
+    ("\\backslash"	. "$B!@(B")
+    ("\\S"		. "$B!x(B")
+    ("\\forall"		. "$B"O(B")
+    ("\\exists"		. "$B"P(B")
+    ("\\neg"		. "$B"L(B")("\\lnot"	. "$B"L(B")
+    ("\\flat"		. "$B"u(B")("\\sharp"	. "$B"t(B")
+    ("\\clubsuit"	. "$(C"@(B")
+    ("\\diamondsuit"	. "$B!~(B")
+    ("\\heartsuit"	. "$(C"=(B")
+    ("\\spadesuit"	. "$(C"<(B")
+    
     ("\\leftarrow"	. "$B"+(B")("\\rightarrow"	. "$B"*(B")
     ("\\gets"		. "$B"+(B")("\\to"		. "$B"*(B")
     
-    ("^1"		. ",A9(B")
-    ("^2"		. ",A2(B")
-    ("^3"		. ",A3(B")
+    ("^1"		. ",A9(B")("^{1}"		. ",A9(B")
+    ("^2"		. ",A2(B")("^{2}"		. ",A2(B")
+    ("^3"		. ",A3(B")("^{3}"		. ",A3(B")
+    ("^4"		. "$(C)y(B")("^{4}"		. "$(C)y(B")
+    ("^n"		. "$(C)z(B")("^{n}"		. "$(C)z(B")
+    ("_1"		. "$(C){(B")("_{1}"		. "$(C){(B")
+    ("_2"		. "$(C)|(B")("_{2}"		. "$(C)|(B")
+    ("_3"		. "$(C)}(B")("_{3}"		. "$(C)}(B")
+    ("_4"		. "$(C)~(B")("_{4}"		. "$(C)~(B")
     ))
 
 (defun latex-math-decode-region (beg end)
   (save-restriction
     (narrow-to-region beg end)
     (let ((rest latex-math-symbol-table-alist)
+	  (case-fold-search nil)
 	  cell)
       (while rest
 	(setq cell (car rest))
 	(goto-char beg)
-	(while (search-forward (car cell) nil t)
-	  (replace-match (cdr cell))
+	(while (re-search-forward
+		(concat "\\("
+			(regexp-quote (car cell))
+			"\\)\\([^a-zA-Z]\\|$\\)")
+		nil t)
+	  (delete-region (match-beginning 1)(match-end 1))
+	  (goto-char (match-beginning 0))
+	  (insert (cdr cell))
 	  )
 	(setq rest (cdr rest))
 	))))

lisp/mu/mu-cite.el

 ;;; mu-cite.el --- yet another citation tool for GNU Emacs
 
-;; Copyright (C) 1995,1996 Free Software Foundation, Inc.
+;; Copyright (C) 1995,1996,1997 Free Software Foundation, Inc.
 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;         MINOURA Makoto <minoura@netlaputa.or.jp>
 ;;         Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp>
 ;; Maintainer: Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp>
-;; Version: $Revision: 1.2 $
+;; Version: $Revision: 1.3 $
 ;; Keywords: mail, news, citation
 
-;; This file is part of tl (Tiny Library).
+;; This file is part of MU (Message Utilities).
 
 ;; This program is free software; you can redistribute it and/or
 ;; modify it under the terms of the GNU General Public License as
 ;;;
 
 (defconst mu-cite/RCS-ID
-  "$Id: mu-cite.el,v 1.2 1996/12/28 21:02:58 steve Exp $")
+  "$Id: mu-cite.el,v 1.3 1997/01/30 02:22:36 steve Exp $")
 (defconst mu-cite/version (get-version-string mu-cite/RCS-ID))
 
 
 
 ;;; @ message editing utilities
 ;;;
+  
+(defvar citation-mark-chars ">}|"
+  "*String of characters for citation delimiter. [mu-cite.el]")
 
-(defvar cited-prefix-regexp "^[^ \t>]*[>|]+[ \t#]*"
-  "*Regexp to match the citation prefix.")
+(defun detect-paragraph-cited-prefix ()
+  (save-excursion
+    (goto-char (point-min))
+    (let ((i 0)
+	  (prefix
+	   (buffer-substring
+	    (progn (beginning-of-line)(point))
+	    (progn (end-of-line)(point))
+	    ))
+	  str ret)
+      (while (and (= (forward-line) 0)
+		  (setq str (buffer-substring
+			     (progn (beginning-of-line)(point))
+			     (progn (end-of-line)(point))))
+		  (setq ret (string-compare-from-top prefix str))
+		  )
+	(setq prefix (second ret))
+	(setq i (1+ i))
+	)
+      (cond ((> i 1) prefix)
+	    ((> i 0)
+	     (goto-char (point-min))
+	     (save-restriction
+	       (narrow-to-region (point)
+				 (+ (point)(length prefix)))
+	       (goto-char (point-max))
+	       (if (re-search-backward
+		    (concat "[" citation-mark-chars "]") nil t)
+		   (progn
+		     (goto-char (match-end 0))
+		     (if (looking-at "[ \t]+")
+			 (goto-char (match-end 0))
+		       )
+		     (buffer-substring (point-min)(point))
+		     )
+		 prefix)))
+	    ((progn
+	       (goto-char (point-max))
+	       (re-search-backward (concat "[" citation-mark-chars "]")
+				   nil t)
+	       )
+	     (goto-char (match-end 0))
+	     (if (looking-at "[ \t]+")
+		 (goto-char (match-end 0))
+	       )
+	     (buffer-substring (point-min)(point))
+	     )
+	    (t ""))
+      )))
 
 (defun fill-cited-region (beg end)
   (interactive "*r")
   (save-excursion
     (save-restriction
       (goto-char end)
-      (while (not (eolp))
-	(backward-char)
-	)
-      (setq end (point))
+      (and (search-backward "\n" nil t)
+	   (setq end (match-end 0))
+	   )
       (narrow-to-region beg end)
-      (goto-char (point-min))
-      (let* ((fill-prefix
-	      (let* ((str1 (buffer-substring
-			    (progn (beginning-of-line)(point))
-			    (progn (end-of-line)(point))
-			    ))
-		     (str2 (let ((p0 (point)))
-			     (forward-line)
-			     (if (> (count-lines p0 (point)) 0)
-				 (buffer-substring
-				  (progn (beginning-of-line)(point))
-				  (progn (end-of-line)(point))
-				  ))))
-		     (ret (string-compare-from-top str1 str2))
-		     )
-		(if ret
-		    (let ((prefix (nth 1 ret)))
-		      (if (string-match cited-prefix-regexp prefix)
-			  (substring prefix 0 (match-end 0))
-			prefix))
-		  (goto-char (point-min))
-		  (if (re-search-forward cited-prefix-regexp nil t)
-		      (buffer-substring (match-beginning 0) (match-end 0))
-		    ))))
-	     (pat (concat "\n" fill-prefix))
+      (let* ((fill-prefix (detect-paragraph-cited-prefix))
+	     (pat (concat fill-prefix "\n"))
 	     )
 	(goto-char (point-min))
 	(while (search-forward pat nil t)
 	(fill-region (point-min) (point-max))
 	))))
 
-(defvar citation-mark-chars ">}|")
-
 (defun compress-cited-prefix ()
   (interactive)
   (save-excursion

lisp/mule/european-hooks.el

 (define-language-environment 'european
   "European (for Latin-1 through Latin-5)"
   (lambda ()
-    ;(set-coding-category-system 'iso-8-designate 'iso-8859-1)
-    ;(set-coding-priority-list '(iso-8-designate iso-8-1))
+    (set-coding-category-system 'iso-8-designate 'iso-8859-1)
+    (set-coding-priority-list '(iso-8-designate iso-8-1))
     (set-default-file-coding-system    'binary) ; iso-8859-1
     ;;(setq locale-coding-system         'binary) ; iso-8859-1
     (setq process-input-coding-system  'binary) ; iso-8859-1

lisp/mule/mule-coding.el

 ;; so that the remaining Lisp files can contain extended characters.
 ;; (They will be in ISO-7 format)
 
-(set-coding-priority-list '(iso-8-2 shift-jis iso-8-designate iso-8-1 big5
+(set-coding-priority-list '(iso-8-2 iso-8-designate iso-8-1
 			    iso-7 iso-lock-shift no-conversion))
 
 (set-coding-category-system 'iso-7 'iso-2022-7)

lisp/mule/mule-files.el

   '(("\\.el$" . iso-2022-8)
     ("\\.info$" . iso-2022-8)
     ("ChangeLog$" . iso-2022-8)
+    ("\\.texi$" . iso-2022-8)
     ("\\.\\(gz\\|Z\\)$" . binary)
     ("/spool/mail/.*$" . convert-mbox-coding-system))
   "Alist specifying the coding system used for particular files.

lisp/packages/jka-compr.el

 ;; APPLICATION NOTES:
 ;;
 ;; crypt++
-;;   jka-compr can coexist with crpyt++ if you take all the decompression
+;;   jka-compr can coexist with crypt++ if you take all the decompression
 ;;   entries out of the crypt-encoding-list.  Clearly problems will arise if
 ;;   you have two programs trying to compress/decompress files.  jka-compr
 ;;   will not "work with" crypt++ in the following sense: you won't be able to
       (delete-file temp)
     (error nil)))
 
-
-(defun jka-compr-write-region (start end file &optional append visit)
+;;; 20.0-b92 change
+;;; Now receives both `lockname' and `codesys' from Fwrite_region_internal
+;;; what makes it compatible with write-region
+(defun jka-compr-write-region (start end file &optional append visit lockname coding-system)
   (let* ((filename (expand-file-name file))
 	 (visit-file (if (stringp visit) (expand-file-name visit) filename))
 	 (info (jka-compr-get-compression-info visit-file)))
 	     (message "%s %s..." compress-message base-name))
 	    
 	    (jka-compr-run-real-handler 'write-region
-					(list start end temp-file t 'dont))
+					(list start end temp-file t 'dont lockname coding-system))
 
 	    (jka-compr-call-process compress-program
 				    (concat compress-message
 	    (jka-compr-run-real-handler 'write-region
 					(list (point-min) (point-max)
 					      filename
-					      (and append can-append) 'dont))
+					      (and append can-append) 'dont lockname coding-system))
 	    (erase-buffer)
 	    (set-buffer cbuf)
 
 	    nil)
 	      
 	(jka-compr-run-real-handler 'write-region
-				    (list start end filename append visit)))))
+				    (list start end filename append visit lockname coding-system)))))
 
 
 (defun jka-compr-insert-file-contents (file &optional visit beg end replace)

lisp/packages/man.el

 	(error (buffer-substring (point) (progn (end-of-line) (point))))))
   nil)
 
-(defvar Manual-entry-switches '("-s")
+(defvar Manual-entry-switches nil
   "Switches for `manual-entry' including switch for section (at the end).")
 (defvar Manual-apropos-switches nil
   "Additional switches for `Manpage-apropos' excluding switch `-k'.")

lisp/prim/about.el

 ;;; about.el --- the About The Authors page (shameless self promotion).
 ;;;
 
-;; Copyright (c) 1995, 1996 XEmacs Advocacy Organization.
+;; Copyright (c) 1995, 1996, 1997 XEmacs Advocacy Organization.
 
 ;; This file is part of XEmacs.
 
 ;;;		      and Chuck Thompson <cthomp@xemacs.org>
 ;;; More hacking for 19.12 by Chuck Thompson and Ben Wing.
 ;;; 19.13 and 19.14 updating done by Chuck Thompson.
+;;; 19.15 and 20.0 updating done by Steve Baur.
 
 (require 'browse-url)
 (defvar about-xref-map (let ((map (make-sparse-keymap)))
   (view-mode nil 'kill-buffer)		;; assume the new view-less
   (let* ((buffer-read-only nil)
          (emacs-short-version (concat emacs-major-version "." emacs-minor-version))
-         (emacs-about-version (format "version %s; June 1996" emacs-short-version))
+         (emacs-about-version (format "version %s; February 1997" emacs-short-version))
 	 (indent-tabs-mode t)
 	 )
     (erase-buffer)
     (insert "XEmacs is the result of the time and effort of many people.
 	The developers responsible for the " emacs-short-version " release are:
 
+		 * ") (about-xref "Steve Baur" 'steve "Find out more about Steve Baur") (insert "  <steve@altair.xemacs.org>
+		 * ") (about-xref "Martin Buchholz" 'mrb "Find out more about Martin Buchholz") (insert "  <mrb@eng.sun.com>
 		 * ") (about-xref "Chuck Thompson" 'cthomp "Find out more about Chuck Thompson") (insert "  <cthomp@xemacs.org>
 		 * ") (about-xref "Ben Wing" 'wing "Find out more about Ben Wing") (insert "  <wing@xemacs.org>
 
 		 * ") (about-xref "And many other contributors..." 'others "Read about the legion of XEmacs hackers") (insert "
 
+	Chuck Thompson was Mr. XEmacs from 19.11 through 19.14.  Ben Wing
+	was crucial to each of those releases.
+
 	Jamie Zawinski was Mr. Lucid Emacs from 19.0 through 19.10,
 	the last release actually named Lucid Emacs.  Richard Mlynarik
 	was crucial to most of those releases.
     (toggle-read-only 0)
 
     (let ((rest (if who-to-load (list who-to-load)
-		  '(cthomp wing stig jwz mly vladimir baw piper bw wmperry)))
+		  '(steve mrb cthomp wing stig jwz mly vladimir baw piper bw wmperry)))
 	  (got-error nil))
       (while rest
 	(let* ((who (car rest))
   (goto-char (point-max))
   (insert "\n   ")
 
-  (let ((rest '(cthomp wing stig linebreak jwz mly vladimir linebreak baw piper bw linebreak wmperry))
+  (let ((rest '(steve mrb cthomp wing stig linebreak jwz mly vladimir linebreak baw piper bw linebreak wmperry))
 	(got-error nil))
     (while rest
       (if (eq (car rest) 'linebreak)
 			       ((eq xref 'bw) "About Bob Weiner")
 			       ((eq xref 'piper) "About Andy Piper")
 			       ((eq xref 'stig) "About Jonathan Stigelman")
+			       ((eq xref 'steve) "About Steve Baur")
+			       ((eq xref 'mrb) "About Martin Buchholz")
 			       ((eq xref 'others) "About Everyone")
 			       ((eq xref 'features) "New XEmacs Features")
 			       ((eq xref 'history) "XEmacs History")
 	  (about-xref "here" prev-page "Return to previous page")
 	  (insert " to go back to the previous page.\n")
 	  )
+	 ((eq xref 'steve)
+	  (about-face "Steve Baur" 'bold)
+	  (insert " <steve@altair.xemacs.org>
+
+	Steve took over the maintenance of XEmacs in November of 1996
+	(it seemed like a good idea at the time ...).  In real life he is a
+	network administrator and Unix systems programmer for Miranova
+	Systems, Inc.
+
+	Steve's main contributions to XEmacs have been reviving the FAQ,
+	testing and integrating patches, tracking down and fixing bugs, and
+	answering hundreds of questions on Usenet.")
+
+	  (insert "\n\n\tClick ")
+	  (about-xref "here" prev-page "Return to previous page")
+	  (insert " to go back to the previous page.\n")
+	  )
+	 ((eq xref 'mrb)
+	  (about-face "Martin Buchholz" 'bold)
+	  (insert " <mrb@eng.sun.com>
+
+	Martin Buchholz <Martin.Buchholz@sun.com>
+	Technical lead for XEmacs at DevPro (formerly SunPro), a
+	division of Sun Microsystems.  Martin used to do XEmacs as a
+	`hobby' while at IBM, and was crazy enough to try to do it
+	for a living at Sun.  Martin is currently working mostly on
+	Internationalization.")
+
+	  (insert "\n\n\tClick ")
+	  (about-xref "here" prev-page "Return to previous page")
+	  (insert " to go back to the previous page.\n")
+	  )
 	 ((eq xref 'cthomp)
 	  (about-face "Chuck Thompson" 'bold)
 	  (insert " <cthomp@xemacs.org>
 
 	 ((eq xref 'bw)
 	  (about-face "Bob Weiner" 'bold)
-	  (insert " <weiner@mot.com>
+	  (insert " <weiner@infodock.com>
 
 	Author of the Hyperbole everyday information management
 	hypertext system and the OO-Browser multi-language code
 	browser.  He also designed the InfoDock integrated tool
 	framework for software engineers.  It runs atop XEmacs and is
-	available from \"/anonymous@ftp.xemacs.org:pub/infodock\".
+	available from his firm, InfoDock Associates, which offers custom
+        development and support packages for corporate users of XEmacs,
+        GNU Emacs and InfoDock.  See \"http://www.infodock.com>\".
 	His interests include user interfaces, information management,
 	CASE tools, communications and enterprise integration.")
 
 
 	 ((eq xref 'wmperry)
 	  (about-face "William Perry" 'bold)
-	  (insert " <wmperry@spry.com>
+	  (insert " <wmperry@aventail.com>
 
- 	Author of Emacs-w3, the builtin web browser that comes with XEmacs,
-        and various additions to the C code (e.g. the database support,
-        the PNG support, some of the GIF/JPEG support, the strikethru
-        face attribute support).
+	Author of Emacs-w3, the builtin web browser that comes with XEmacs,
+	and various additions to the C code (e.g. the database support,
+	the PNG support, some of the GIF/JPEG support, the strikethru
+	face attribute support).
 
-        He is currently working on adding really cool stylesheets to the
-        web, which will stress the new capabilities of XEmacs to the limit.
-
-        He only gets paid for working on an HTTP server for Spry, but will
-        hack emacs for beer.")
+	He is currently working at Aventail, Corp. on SOCKS v5 servers.")
 
 	  (insert "\n\n\tClick ")
 	  (about-xref "here" prev-page "Return to previous page")
 	These are some of the contributors; we have no doubt forgotten
 	someone; we apologize!  You can see some of our faces further below.
 
-	Martin Buchholz <Martin.Buchholz@sun.com>
-	  Technical lead for XEmacs at DevPro (formerly SunPro), a
-	  division of Sun Microsystems.  Martin used to do XEmacs as a
-	  `hobby' while at IBM, and was crazy enough to try to do it
-	  for a living at Sun.  Martin is currently working mostly on
-	  Internationalization.
-
 	") (about-xref "Vladimir Ivanovic" 'vladimir "Find out more about Vladimir Ivanovic") (insert " <vladimir@mri.com>
 	  Former technical lead for XEmacs at Sun Microsystems.  He is
 	  now with Microtec Research Inc., working on embedded systems
 	  Created the prototype for the toolbars.  Has been the first to make
 	  use of many of the new XEmacs graphics features.
 
-	") (about-xref "Bob Weiner" 'bw "Find out more about Bob Weiner") (insert " <weiner@mot.com>
+	") (about-xref "Bob Weiner" 'bw "Find out more about Bob Weiner") (insert " <weiner@infodock.com>
 	  Author of the Hyperbole everyday information management
 	  hypertext system and the OO-Browser multi-language code
 	  browser.  He also designed the InfoDock integrated tool
 	  framework for software engineers.  It runs atop XEmacs and is
-	  available from \"/anonymous@ftp.xemacs.org:pub/infodock\".
+	  available from his firm, InfoDock Associates, which offers custom
+          development and support packages for corporate users of XEmacs,
+          GNU Emacs and InfoDock.  See \"http://www.infodock.com>\".
 	  His interests include user interfaces, information management,
-	  CASE tools, communications and enterprise integration.
+ 	  CASE tools, communications and enterprise integration.
 
-	") (about-xref "William Perry" 'wmperry "Find out more about Bill Perry") (insert " <wmperry@spry.com>
-	  Author of W3, a package for browsing the World Wide Web
-	  which is included in the standard XEmacs distribution.
-	  Although W3 runs on all versions of Emacs, Bill has been
-	  quick to take advantage of the unique features of XEmacs
-	  (such as embedded images and windows).  Thus, the XEmacs
-	  version of W3 is significantly more powerful than versions
-	  running in other Emacs variants.
+	") (about-xref "William Perry" 'wmperry "Find out more about Bill Perry") (insert " <wmperry@aventail.com>
+	  Author of Emacs-w3, the builtin web browser that comes with XEmacs,
+	  and various additions to the C code (e.g. the database support,
+	  the PNG support, some of the GIF/JPEG support, the strikethru
+	  face attribute support).
 
 	Kyle Jones <kyle@crystal.wonderworks.com>
 	  Author of VM (View Mail), a mail-reading package that is
 	  Mark Allender <allender@vnet.IBM.COM>
 	  Butch Anton <butch@zaphod.uchicago.edu>
 	  Fred Appelman <Fred.Appelman@cv.ruu.nl>
+	  Erik \"The Pope\" Arneson <lazarus@mind.net>
 	  Tor Arntsen <tor@spacetec.no>
 	  Mike Battaglia <mbattagl@dsccc.com>
-	  Steven L Baur <steve@miranova.com>
 	  Neal Becker <neal@ctd.comsat.com>
 	  Paul Bibilo <peb@delcam.com>
 	  Jan Borchers <job@tk.uni-linz.ac.at>
 	  Philippe Charton <charton@lmd.ens.fr>
 	  Peter Cheng <peter.cheng@sun.com>
 	  Jin S. Choi <jin@atype.com>
+	  Tomasz J. Cholewo <tjchol01@mecca.spd.louisville.edu>
 	  Serenella Ciongoli <czs00@ladybug.oes.amdahl.com>
 	  Richard Cognot <cognot@ensg.u-nancy.fr>
 	  Andy Cohen <cohen@andy.bu.edu>
+	  Andrew J Cosgriff <ajc@bing.wattle.id.au>
+	  Nick J. Crabtree <nickc@scopic.com>
 	  Christopher Davis <ckd@kei.com>
+	  Soren Dayton <csdayton@cs.uchicago.edu>
 	  Michael Diers <mdiers@logware.de>
 	  William G. Dubuque <wgd@martigny.ai.mit.edu>
 	  Samuel J. Eaton <samuele@cogs.susx.ac.uk>
 	  Carl Edman <cedman@Princeton.EDU>
 	  Dave Edmondson <davided@sco.com>
+	  Jonathan Edwards <edwards@intranet.com>
 	  Eric Eide <eeide@asylum.cs.utah.edu>
+	  EKR <ekr@terisa.com>
+	  Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch>
 	  David Fletcher <frodo@tsunami.com>
 	  Paul Flinders <ptf@delcam.co.uk>
 	  Jered J Floyd <jered@mit.edu>
 	  Benjamin Fried <bf@morgan.com>
 	  Barry Friedman <friedman@bnr.ca>
 	  Lew Gaiter III <lew@StarFire.com>
+	  Itay Gat <itay@cs.huji.ac.il>
 	  Tim Geisler <Tim.Geisler@informatik.uni-muenchen.de>
 	  Dave Gillespie <daveg@synaptics.com>
 	  Christian F. Goetze <cg@bigbook.com>
 	  Magnus Hammerin <magnush@epact.se>
 	  ChangGil Han <cghan@phys401.phys.pusan.ac.kr>
 	  Derek Harding <dharding@lssec.bt.co.uk>
+	  Michael Harnois <mharnois@sbt.net>
 	  John Haxby <J.Haxby@isode.com>
 	  Jareth \"JHod\" Hein <jhod@po.iijnet.or.jp>
 	  Benedikt Heinen <beh@icemark.thenet.ch>
 	  Robin Jeffries <robin.jeffries@sun.com>
 	  Philip Johnson <johnson@uhics.ics.Hawaii.Edu>
 	  J. Kean Johnston <jkj@paradigm-sa.com>
+	  Andreas Kaempf <andreas@sccon.com>
 	  Doug Keller <dkeller@vnet.ibm.com>
+	  Hunter Kelly <retnuh@corona>
 	  Gregor Kennedy <gregork@dadd.ti.com>
 	  Michael Kifer <kifer@cs.sunysb.edu>
 	  Yasuhiko Kiuchi <kiuchi@dsp.ksp.fujixerox.co.jp>
+	  Greg Klanderman <greg@alphatech.com>
+	  Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
+	  Jens Krinke <krinke@ips.cs.tu-bs.de>
+	  Mats Larsson <Mats.Larsson@uab.ericsson.se>
 	  Jens Lautenbacher <jens@lemcbed.lem.uni-karlsruhe.de>
 	  Simon Leinen <simon@instrumatic.ch>
+	  Carsten Leonhardt <leo@arioch.tng.oche.de>
 	  James LewisMoss <moss@cs.sc.edu>
 	  Mats Lidell <mats.lidell@contactor.se>
 	  Matt Liggett <mliggett@seven.ucs.indiana.edu>
 	  Robert Lipe <robertl@arnet.com>
 	  Damon Lipparelli <lipp@aa.net>
 	  Hamish Macdonald <hamish@bnr.ca>
-	  Ian MacKinnon <imac@rd.abs.alcatel.co.uk>
+	  Ian MacKinnon <imackinnon@telia.co.uk>
 	  Patrick MacRoberts <macro@hpcobr30.cup.hp.com>
 	  Tonny Madsen <Tonny.Madsen@netman.dk>
 	  Ketil Z Malde <ketil@ii.uib.no>
 	  Steve March <smarch@quaver.urbana.mcd.mot.com>
+	  Pekka Marjola <pema@iki.fi>
 	  Simon Marshall <Simon.Marshall@mail.esrin.esa.it>
 	  Dave Mason <dmason@plg.uwaterloo.ca>
 	  Jaye Mathisen <mrcpu@cdsnet.net>
 	  Michael Meissner <meissner@osf.org>
 	  David M. Meyer <meyer@ns.uoregon.edu>
 	  Brad Miller <bmiller@cs.umn.edu>
+	  Jeff Miller <jmiller@bay1.bayserve.net>
+	  David Moore <dmoore@UCSD.EDU>
 	  John Morey <jmorey@crl.com>
 	  Rob Mori <rob.mori@sun.com>
 	  Heiko Muenkel <muenkel@tnt.uni-hannover.de>
 	  Arup Mukherjee <arup+@cs.cmu.edu>
 	  Colas Nahaboo <Colas.Nahaboo@sophia.inria.fr>
 	  Lynn D. Newton <lynn@ives.phx.mcd.mot.com>
+	  Casey Nielson <knielson@joule.elee.calpoly.edu>
 	  Georg Nikodym <Georg.Nikodym@canada.sun.com>
+	  Hrvoje Niksic <hniksic@srce.hr>
 	  Andy Norman <ange@hplb.hpl.hp.com>
 	  Joseph J. Nuspl Jr. <nuspl@cc.purdue.edu>
 	  Kim Nyberg <kny@tekla.fi>
 	  David Ofelt <ofelt@getalife.Stanford.EDU>
+	  Tore Olsen <toreo@colargol.idb.hist.no>
 	  Greg Onufer <Greg.Onufer@eng.sun.com>
 	  Achim Oppelt <aoppelt@theorie3.physik.uni-erlangen.de>
 	  Sudeep Kumar Palat <palat@idt.unit.no>
 	  Marc Paquette <Marc.Paquette@Softimage.com>
 	  Jens-U H Petersen <petersen@kurims.kyoto-u.ac.jp>
+	  Joel Peterson <tarzan@aosi.com>
 	  Thomas A. Peterson <tap@src.honeywell.com>
 	  Peter Pezaris <pez@dwwc.com>
 	  Tibor Polgar <tlp00@eng.amdahl.com>
+	  Frederic Poncin <fp@info.ucl.ac.be>
 	  E. Rehmi Post <rehmi@asylum.sf.ca.us>
+	  Colin Rafferty <craffert@spspme.ml.com>
 	  Paul M Reilly <pmr@pajato.com>
 	  Jack Repenning <jackr@sgi.com>
 	  Daniel Rich <drich@cisco.com>
 	  Roland Rieke <rol@darmstadt.gmd.de>
 	  Russell Ritchie <ritchier@msc.ie>
+	  Roland <rol@darmstadt.gmd.de>
 	  Mike Russell <mjruss@rchland.vnet.ibm.com>
 	  Jan Sandquist <etxquist@iqa.ericsson.se>
 	  Marty Sasaki <sasaki@spdcc.com>
 	  Cotton Seed <cottons@cybercom.net>
 	  Axel Seibert <seiberta@informatik.tu-muenchen.de>
 	  Odd-Magne Sekkingstad <oddms@ii.uib.no>
+	  Vinnie Shelton <shelton@icd.teradyne.com>
 	  John Shen <zfs60@cas.org>
+	  Murata Shuuichirou <mrt@mickey.ai.kyutech.ac.jp>
 	  Jeffrey Sparkes <jsparkes@bnr.ca>
 	  Michael Sperber <sperber@informatik.uni-tuebingen.de>
 	  Manoj Srivastava <srivasta@pilgrim.umass.edu>
 	  Morioka Tomohiko <morioka@jaist.ac.jp>
 	  Raymond L. Toy <toy@rtp.ericsson.se>
 	  John Turner <turner@xdiv.lanl.gov>
+	  Juan E. Villacis <jvillaci@cs.indiana.edu>
 	  Vladimir Vukicevic <vladimir@intrepid.com>
 	  Peter Ware <ware@cis.ohio-state.edu>
 	  Yoav Weiss <yoav@zeus.datasrv.co.il>

lisp/prim/auto-autoloads.el

 ;;;### (autoloads (ksh-mode) "ksh-mode" "modes/ksh-mode.el")
 
 (autoload 'ksh-mode "ksh-mode" "\
-ksh-mode $Revision: 1.5 $ - Major mode for editing (Bourne, Korn or Bourne again)
+ksh-mode $Revision: 1.6 $ - Major mode for editing (Bourne, Korn or Bourne again)
 shell scripts.
 Special key bindings and commands:
 \\{ksh-mode-map}
 
 (autoload 'vhdl-mode "vhdl-mode" "\
 Major mode for editing VHDL code.
-vhdl-mode $Revision: 1.5 $
+vhdl-mode $Revision: 1.6 $
 To submit a problem report, enter `\\[vhdl-submit-bug-report]' from a
 vhdl-mode buffer.  This automatically sets up a mail buffer with version
 information already added.  You just need to add a description of the
 	--[[text/plain]]
 	This is also a plain text.  But, it is explicitly specified as
 	is.
-	--[[text/plain; charset=ISO-2022-JP]]
-        ... Japanese text here ...
-	--[[text/richtext]]
-	<center>This is a richtext.</center>
-	--[[image/gif][base64]]^M...image encoded in base64 here...
-	--[[audio/basic][base64]]^M...audio encoded in base64 here...
+	--[[text/plain; charset=ISO-8859-1]]
+	This is also a plain text.  But charset is specified as
+	iso-8859-1.
+
+	�Hola!  Buenos d�as.  �C�mo est� usted?
+	--[[text/enriched]]
+	This is a <bold>enriched text</bold>.
+	--[[image/gif][base64]]...image encoded in base64 here...
+	--[[audio/basic][base64]]...audio encoded in base64 here...
 
 User customizable variables (not documented all of them):
  mime-prefix
 
 ;;;***
 
+;;;### (autoloads nil "timezone" "utils/timezone.el")
+
+(define-error 'invalid-date "Invalid date string")
+
+;;;***
+
 ;;;### (autoloads (tq-create) "tq" "utils/tq.el")
 
 (autoload 'tq-create "tq" "\

lisp/prim/faces.el

 ;; pre Lucid-Emacs 19.0.
 ;;
 ;; face implementation #2 (used one face object per frame per face)
-;; authored by Jamie Zawinkski for 19.9.
+;; authored by Jamie Zawinski for 19.9.
 ;;
 ;; face implementation #3 (use one face object per face) originally
 ;; authored for 19.12 by Chuck Thompson <cthomp@cs.uiuc.edu>,
 
 See `set-face-property' for the built-in property-names."
 
-  (or (facep face) (setq face (get-face face)))
+  (setq face (get-face face))
   (let ((value (get face property)))
     (if (and locale
 	     (or (memq property built-in-face-specifiers)
     ;; locale was specified, put a specifier there.  
     ;; If there was already a value there, convert it to a
     ;; specifier with the value as its 'global instantiator.
-    (if (not (specifierp specifier))
-	(let ((new-specifier (make-specifier 'generic)))
-	  (if (or (not (null specifier))
-		  ;; make sure the nil returned from `get' wasn't
-		  ;; actually the value of the property
-		  (null (get face property t)))
-	      (add-spec-to-specifier new-specifier specifier))
-	  (setq specifier new-specifier)
-	  (put face property specifier)))))
+    (unless (specifierp specifier)
+      (let ((new-specifier (make-specifier 'generic)))
+	(if (or (not (null specifier))
+		;; make sure the nil returned from `get' wasn't
+		;; actually the value of the property
+		(null (get face property t)))
+	    (add-spec-to-specifier new-specifier specifier))
+	(setq specifier new-specifier)
+	(put face property specifier)))))
 
 (defun face-property-instance (face property
 				    &optional domain default no-fallback)
 Optional arguments DEFAULT and NO-FALLBACK are the same as in
   `specifier-instance'."
 
-  (or (facep face) (setq face (get-face face)))
+  (setq face (get-face face))
   (let ((value (get face property)))
     (if (specifierp value)
 	(setq value (specifier-instance value domain default no-fallback)))
 See also `specifier-matching-instance' for a fuller description of the
 matching process."
 
-  (or (facep face) (setq face (get-face face)))
+  (setq face (get-face face))
   (let ((value (get face property)))
     (if (specifierp value)
 	(setq value (specifier-matching-instance value matchspec domain
                     the other built-in properties, and cannot
                     contain locale-specific values."
 
-  (or (facep face) (setq face (get-face face)))
+  (setq face (get-face face))
   (if (memq property built-in-face-specifiers)
       (set-specifier (get face property) value locale tag-set how-to-add)
 
 This makes FACE inherit all its display properties from 'default.
 WARNING: Be absolutely sure you want to do this!!!  It is a dangerous
 operation and is not undoable."
-  (mapcar #'(lambda (x)
+  (mapcar (lambda (x)
 	    (remove-specifier (face-property face x)))
-	built-in-face-specifiers)
+	  built-in-face-specifiers)
   nil)
 
 (defun set-face-parent (face parent &optional locale tag-set how-to-add)
   "Set the parent of FACE to PARENT, for all properties.
 This makes all properties of FACE inherit from PARENT."
   (setq parent (get-face parent))
-  (mapcar #'(lambda (x)
+  (mapcar (lambda (x)
 	    (set-face-property face x (vector parent) locale tag-set
 			       how-to-add))
-	(delq 'display-table
-	      (delq 'background-pixmap
-		    (copy-sequence built-in-face-specifiers))))
+	  (delq 'display-table
+		(delq 'background-pixmap
+		      (copy-sequence built-in-face-specifiers))))
   (set-face-background-pixmap face (vector 'inherit ':face parent)
 			      locale tag-set how-to-add)
   nil)
 	;; this is easy.
 	(let* ((inst (face-property-instance face property locale))
 	       (name (and inst (funcall func inst (dfw-device locale)))))
-	  (if name
-	      (add-spec-to-specifier sp name locale)))
+	  (when name
+	    (add-spec-to-specifier sp name locale)))
       ;; otherwise, map over all specifications ...
       ;; but first, some further kludging:
       ;; (1) if we're frobbing the global property, make sure
 	  (error "Property must have a specification in locale %S" locale))
       (map-specifier
        sp
-       #'(lambda (sp locale inst-list func)
-	   (let* ((device (dfw-device locale))
-		  ;; if a device can be derived from the locale,
-		  ;; call frob-face-property-1 for that device.
-		  ;; Otherwise map frob-face-property-1 over each device.
-		  (result
-		   (if device
-		       (list (frob-face-property-1 sp device inst-list func))
-		     (mapcar #'(lambda (device)
-				 (frob-face-property-1 sp device
-						       inst-list func))
-			     (device-list))))
-		  new-result)
-	     ;; remove duplicates and nils from the obtained list of
-	     ;; instantiators.
-	     (mapcar #'(lambda (arg)
-			 (if (and arg (not (member arg new-result)))
-			     (setq new-result (cons arg new-result))))
-		     result)
-	     ;; add back in.
-	     (add-spec-list-to-specifier sp
-					 (list (cons locale new-result)))
-	     ;; tell map-specifier to keep going.
-	     nil))
+       (lambda (sp locale inst-list func)
+	 (let* ((device (dfw-device locale))
+		;; if a device can be derived from the locale,
+		;; call frob-face-property-1 for that device.
+		;; Otherwise map frob-face-property-1 over each device.
+		(result
+		 (if device
+		     (list (frob-face-property-1 sp device inst-list func))
+		   (mapcar (lambda (device)
+			     (frob-face-property-1 sp device
+						   inst-list func))
+			   (device-list))))
+		new-result)
+	   ;; remove duplicates and nils from the obtained list of
+	   ;; instantiators.
+	   (mapcar (lambda (arg)
+		     (when (and arg (not (member arg new-result)))
+		       (setq new-result (cons arg new-result))))
+		   result)
+	   ;; add back in.
+	   (add-spec-list-to-specifier sp (list (cons locale new-result)))
+	   ;; tell map-specifier to keep going.
+	   nil))
        locale
        func))))
 
   (interactive (list (read-face-name "Make which face bold: ")))
   (frob-face-font-2
    face locale 'default 'bold
-   #'(lambda ()
-       ;; handle TTY specific entries
-       (if (featurep 'tty)
-	   (set-face-highlight-p face t locale 'tty)))
-   #'(lambda ()
-       ;; handle X specific entries
-       (frob-face-property face 'font 'x-make-font-bold locale))
+   (lambda ()
+     ;; handle TTY specific entries
+     (when (featurep 'tty)
+       (set-face-highlight-p face t locale 'tty)))
+   (lambda ()
+     ;; handle X specific entries
+     (frob-face-property face 'font 'x-make-font-bold locale))
    '(([default] . [bold])
      ([bold] . t)
      ([italic] . [bold-italic])
   (interactive (list (read-face-name "Make which face italic: ")))
   (frob-face-font-2
    face locale 'default 'italic
-   #'(lambda ()
-       ;; handle TTY specific entries
-       (if (featurep 'tty)
-	   (set-face-underline-p face t locale 'tty)))
-   #'(lambda ()
-       ;; handle X specific entries
-       (frob-face-property face 'font 'x-make-font-italic locale))
+   (lambda ()
+     ;; handle TTY specific entries
+     (when (featurep 'tty)
+       (set-face-underline-p face t locale 'tty)))
+   (lambda ()
+     ;; handle X specific entries
+     (frob-face-property face 'font 'x-make-font-italic locale))
    '(([default] . [italic])
      ([bold] . [bold-italic])
      ([italic] . t)
   (interactive (list (read-face-name "Make which face bold-italic: ")))
   (frob-face-font-2
    face locale 'default 'bold-italic
-   #'(lambda ()
-       ;; handle TTY specific entries
-       (if (featurep 'tty)
-	   (progn
-	     (set-face-highlight-p face t locale 'tty)
-	     (set-face-underline-p face t locale 'tty))))
-   #'(lambda ()
-       ;; handle X specific entries
-       (frob-face-property face 'font 'x-make-font-bold-italic locale))
+   (lambda ()
+     ;; handle TTY specific entries
+     (when (featurep 'tty)
+       (set-face-highlight-p face t locale 'tty)
+       (set-face-underline-p face t locale 'tty)))
+   (lambda ()
+     ;; handle X specific entries
+     (frob-face-property face 'font 'x-make-font-bold-italic locale))
    '(([default] . [italic])
      ([bold] . [bold-italic])
      ([italic] . [bold-italic])
   (interactive (list (read-face-name "Make which face non-bold: ")))
   (frob-face-font-2
    face locale 'bold 'default
-   #'(lambda ()
-       ;; handle TTY specific entries
-       (if (featurep 'tty)
-	   (set-face-highlight-p face nil locale 'tty)))
-   #'(lambda ()
-       ;; handle X specific entries
-       (frob-face-property face 'font 'x-make-font-unbold locale))
+   (lambda ()
+     ;; handle TTY specific entries
+     (when (featurep 'tty)
+       (set-face-highlight-p face nil locale 'tty)))
+   (lambda ()
+     ;; handle X specific entries
+     (frob-face-property face 'font 'x-make-font-unbold locale))
    '(([default] . t)
      ([bold] . [default])
      ([italic] . t)
   (interactive (list (read-face-name "Make which face non-italic: ")))
   (frob-face-font-2
    face locale 'italic 'default
-   #'(lambda ()
-       ;; handle TTY specific entries
-       (if (featurep 'tty)
-	   (set-face-underline-p face nil locale 'tty)))
-   #'(lambda ()
-       ;; handle X specific entries
-       (frob-face-property face 'font 'x-make-font-unitalic locale))
+   (lambda ()
+     ;; handle TTY specific entries
+     (when (featurep 'tty)
+       (set-face-underline-p face nil locale 'tty)))
+   (lambda ()
+     ;; handle X specific entries
+     (frob-face-property face 'font 'x-make-font-unitalic locale))
    '(([default] . t)
      ([bold] . t)
      ([italic] . [default])
 
 (defun init-device-faces (device)
   ;; First, add any device-local face resources.
-  (let ((faces (face-list)))
-    (while faces
-      (init-face-from-resources (car faces) device)
-      (setq faces (cdr faces))))
+  (loop for face in (face-list) do
+	(init-face-from-resources face device))
   ;; Then do any device-specific initialization.
   (cond ((eq 'x (device-type device))
 	 (x-init-device-faces device))
 
 (defun init-frame-faces (frame)
   ;; First, add any frame-local face resources.
-  (let ((faces (face-list)))
-    (while faces
-      (init-face-from-resources (car faces) frame)
-      (setq faces (cdr faces))))
+  (loop for face in (face-list) do
+	(init-face-from-resources face frame))
   ;; Then do any frame-specific initialization.
   (cond ((eq 'x (frame-type frame))
 	 (x-init-frame-faces frame))
 
 (defun init-global-faces ()
   ;; Look for global face resources.
-  (let ((faces (face-list)))
-    (while faces
-      (init-face-from-resources (car faces) 'global)
-      (setq faces (cdr faces))))
+  (loop for face in (face-list) do
+	(init-face-from-resources face 'global))
   ;; Further X frobbing.
   (x-init-global-faces)
   ;; for bold and the like, make the global specification be bold etc.
   ;; if the user didn't already specify a value.  These will also be
   ;; frobbed further in init-other-random-faces.
-  (or (face-font 'bold 'global)
-      (make-face-bold 'bold 'global))
+  (unless (face-font 'bold 'global)
+    (make-face-bold 'bold 'global))
   ;;
-  (or (face-font 'italic 'global)
-      (make-face-italic 'italic 'global))
+  (unless (face-font 'italic 'global)
+    (make-face-italic 'italic 'global))
   ;;
-  (or (face-font 'bold-italic 'global)
-      (make-face-bold-italic 'bold-italic 'global))
+  (unless (face-font 'bold-italic 'global)
+    (make-face-bold-italic 'bold-italic 'global)
+    (unless (face-font 'bold-italic 'global)
+      (copy-face 'bold 'bold-italic)
+      (make-face-italic 'bold-italic)))
 
-  (if (not (face-font 'bold-italic 'global))
-      (progn
-	(copy-face 'bold 'bold-italic)
-	(make-face-italic 'bold-italic)))
-
-  (if (face-equal 'bold 'bold-italic)
-      (progn
-	(copy-face 'italic 'bold-italic)
-	(make-face-bold 'bold-italic)))
+  (when (face-equal 'bold 'bold-italic)
+    (copy-face 'italic 'bold-italic)
+    (make-face-bold 'bold-italic))
   ;;
   ;; Nothing more to be done for X or TTY's?
 )
 
   ;; try to make 'bold look different from the default on this device.
   ;; If that doesn't work at all, then issue a warning.
-  (or (face-differs-from-default-p 'bold device)
-      (make-face-bold 'bold device))
-  (or (face-differs-from-default-p 'bold device)
-      (make-face-unbold 'bold device))
-  (or (face-differs-from-default-p 'bold device)
-      ;; otherwise the luser specified one of the bogus font names
-      (face-complain-about-font 'bold device))
+  (unless (face-differs-from-default-p 'bold device)
+    (make-face-bold 'bold device)
+    (unless (face-differs-from-default-p 'bold device)
+      (make-face-unbold 'bold device)
+      (unless (face-differs-from-default-p 'bold device)
+	;; the luser specified one of the bogus font names
+	(face-complain-about-font 'bold device))))
 
-  ;; similar for italic.
-  (or (face-differs-from-default-p 'italic device)
-      (make-face-italic 'italic device))
-  (or (face-differs-from-default-p 'italic device)
-      (progn
-	(make-face-bold 'italic device) ; bold if possible, then complain
-	(face-complain-about-font 'italic device)))
+  ;; Similar for italic.
+  ;; It's unreasonable to expect to be able to make a font italic all
+  ;; the time.  For many languages, italic is an alien concept.
+  ;; Basically, because italic is not a globally meaningful concept,
+  ;; the use of the italic face should really be oboleted.
+
+  ;; In a Solaris Japanese environment, there just aren't any italic
+  ;; fonts - period.  CDE recognizes this reality, and fonts
+  ;; -dt-interface user-medium-r-normal-*-*-*-*-*-*-*-*-* don't come
+  ;; in italic versions.  So we first try to make the font bold before
+  ;; complaining.
+  (unless (face-differs-from-default-p 'italic device)
+    (make-face-italic 'italic device)
+    (unless (face-differs-from-default-p 'italic device)
+      (make-face-bold 'italic device)
+      (unless (face-differs-from-default-p 'italic device)
+	(face-complain-about-font 'italic device))))
 
   ;; similar for bold-italic.
-  (or (face-differs-from-default-p 'bold-italic device)
-      (make-face-bold-italic 'bold-italic device))
-  ;; if we couldn't get a bold-italic version, try just bold.
-  (or (face-differs-from-default-p 'bold-italic device)
-      (make-face-bold-italic 'bold-italic device))
-  ;; if we couldn't get bold or bold-italic, then that's probably because
-  ;; the default font is bold, so make the `bold-italic' face be unbold.
-  (or (face-differs-from-default-p 'bold-italic device)
-      (progn
+  (unless (face-differs-from-default-p 'bold-italic device)
+    (make-face-bold-italic 'bold-italic device)
+    ;; if we couldn't get a bold-italic version, try just bold.
+    (unless (face-differs-from-default-p 'bold-italic device)
+      (make-face-bold-italic 'bold-italic device)
+      ;; if we couldn't get bold or bold-italic, then that's probably because
+      ;; the default font is bold, so make the `bold-italic' face be unbold.
+      (unless (face-differs-from-default-p 'bold-italic device)
 	(make-face-unbold 'bold-italic device)
-	(make-face-italic 'bold-italic device)))
-  (or (face-differs-from-default-p 'bold-italic device)
-      (progn
-      ;; if that didn't work, try italic (can this ever happen? what the hell.)
 	(make-face-italic 'bold-italic device)
-	;; then bitch and moan.
-	(face-complain-about-font 'bold-italic device)))
+	(unless (face-differs-from-default-p 'bold-italic device)
+	  ;; if that didn't work, try plain italic
+	  ;; (can this ever happen? what the hell.)
+	  (make-face-italic 'bold-italic device)
+	  (unless (face-differs-from-default-p 'bold-italic device)
+	    ;; then bitch and moan.
+	    (face-complain-about-font 'bold-italic device))))))
 
-  ;; first time through, set the text-cursor colors if not already
-  ;; specified.
-  (if (and (not (face-background 'text-cursor 'global))
-	   (face-property-equal 'text-cursor 'default 'background device))
-      (set-face-background 'text-cursor [default foreground] 'global
-			   nil 'append))
-  (if (and (not (face-foreground 'text-cursor 'global))
-	   (face-property-equal 'text-cursor 'default 'foreground device))
-      (set-face-foreground 'text-cursor [default background] 'global
-			   nil 'append))
+  ;; Set the text-cursor colors unless already specified.
+  (when (and (not (face-background 'text-cursor 'global))
+	     (face-property-equal 'text-cursor 'default 'background device))
+    (set-face-background 'text-cursor [default foreground] 'global
+			 nil 'append))
+  (when (and (not (face-foreground 'text-cursor 'global))
+	     (face-property-equal 'text-cursor 'default 'foreground device))
+    (set-face-foreground 'text-cursor [default background] 'global
+			 nil 'append))
 
-  ;; first time through, set the secondary-selection color if it's not already
-  ;; specified.
-  (if (and (not (face-differs-from-default-p 'highlight device))
-	   (not (face-background 'highlight 'global)))
-      (progn
-	;; some older servers don't recognize "darkseagreen2"
-        (set-face-background 'highlight
-			     '((color . "darkseagreen2")
-			       (color . "green"))
-			     'global nil 'append)
-	(set-face-background 'highlight "gray53" 'global 'grayscale 'append)))
-  (if (and (not (face-differs-from-default-p 'highlight device))
-	   (not (face-background-pixmap 'highlight 'global)))
-      (progn
-	(set-face-background-pixmap 'highlight [nothing] 'global 'color
-				    'append)
-	(set-face-background-pixmap 'highlight [nothing] 'global 'grayscale
-				    'append)
-	(set-face-background-pixmap 'highlight "gray1" 'global 'mono 'append)))
+  ;; Set the secondary-selection color unless already specified.
+  (unless (or (face-differs-from-default-p 'highlight device)
+	      (face-background 'highlight 'global))
+    ;; some older servers don't recognize "darkseagreen2"
+    (set-face-background 'highlight
+			 '((color . "darkseagreen2")
+			   (color . "green"))
+			 'global nil 'append)
+    (set-face-background 'highlight "gray53" 'global 'grayscale 'append))
+  (unless (or (face-differs-from-default-p 'highlight device)
+	      (face-background-pixmap 'highlight 'global))
+    (set-face-background-pixmap 'highlight [nothing] 'global 'color 'append)
+    (set-face-background-pixmap 'highlight [nothing] 'global 'grayscale 'append)
+    (set-face-background-pixmap 'highlight "gray1" 'global 'mono 'append))
   ;; if the highlight face isn't distinguished on this device,
   ;; at least try inverting it.
-  (or (face-differs-from-default-p 'highlight device)
-      (invert-face 'highlight device))
+  (unless (face-differs-from-default-p 'highlight device)
+    (invert-face 'highlight device))
 
   ;; first time through, set the zmacs-region color if it's not already
   ;; specified.
-  (if (and (not (face-differs-from-default-p 'zmacs-region device))
-	   (not (face-background 'zmacs-region 'global)))
-      (progn
-	(set-face-background 'zmacs-region "gray" 'global 'color)
-	(set-face-background 'zmacs-region "gray80" 'global 'grayscale)))
-  (if (and (not (face-differs-from-default-p 'zmacs-region device))
-	   (not (face-background-pixmap 'zmacs-region 'global)))
-      (progn
-	(set-face-background-pixmap 'zmacs-region [nothing] 'global 'color)
-	(set-face-background-pixmap 'zmacs-region [nothing] 'global 'grayscale)
-	(set-face-background-pixmap 'zmacs-region "gray3" 'global 'mono)))
+  (unless (or (face-differs-from-default-p 'zmacs-region device)
+	      (face-background 'zmacs-region 'global))
+    (set-face-background 'zmacs-region "gray" 'global 'color)
+    (set-face-background 'zmacs-region "gray80" 'global 'grayscale))
+  (unless (or (face-differs-from-default-p 'zmacs-region device)
+	      (face-background-pixmap 'zmacs-region 'global))
+    (set-face-background-pixmap 'zmacs-region [nothing] 'global 'color)
+    (set-face-background-pixmap 'zmacs-region [nothing] 'global 'grayscale)
+    (set-face-background-pixmap 'zmacs-region "gray3" 'global 'mono))
   ;; if the zmacs-region face isn't distinguished on this device,
   ;; at least try inverting it.
-  (or (face-differs-from-default-p 'zmacs-region device)
-      (invert-face 'zmacs-region device))
+  (unless (face-differs-from-default-p 'zmacs-region device)
+    (invert-face 'zmacs-region device))
 
   ;; first time through, set the list-mode-item-selected color if it's
   ;; not already specified.
-  (if (and (not (face-differs-from-default-p 'list-mode-item-selected device))
-	   (not (face-background 'list-mode-item-selected 'global)))
-      (progn
-	(set-face-background 'list-mode-item-selected "gray68" 'global 'color)
-	(set-face-background 'list-mode-item-selected "gray68" 'global
-			     'grayscale)
-	(if (not (face-foreground 'list-mode-item-selected 'global))
-	    (progn
-	      (set-face-background 'list-mode-item-selected
-				   [default foreground] 'global '(mono x))
-	      (set-face-foreground 'list-mode-item-selected
-				   [default background] 'global '(mono x))))))
+  (unless (or (face-differs-from-default-p 'list-mode-item-selected device)
+	      (face-background 'list-mode-item-selected 'global))
+    (set-face-background 'list-mode-item-selected "gray68" 'global 'color)
+    (set-face-background 'list-mode-item-selected "gray68" 'global 'grayscale)
+    (unless (face-foreground 'list-mode-item-selected 'global)
+      (set-face-background 'list-mode-item-selected
+			   [default foreground] 'global '(mono x))
+      (set-face-foreground 'list-mode-item-selected
+			   [default background] 'global '(mono x))))
   ;; if the list-mode-item-selected face isn't distinguished on this device,
   ;; at least try inverting it.
-  (or (face-differs-from-default-p 'list-mode-item-selected device)
-      (invert-face 'list-mode-item-selected device))
+  (unless (face-differs-from-default-p 'list-mode-item-selected device)
+    (invert-face 'list-mode-item-selected device))
 
-  ;; first time through, set the primary-selection color if it's not already
-  ;; specified.
-  (if (and (not (face-differs-from-default-p 'primary-selection device))
-	   (not (face-background 'primary-selection 'global)))
-      (progn
-	(set-face-background 'primary-selection "gray" 'global 'color)
-	(set-face-background 'primary-selection "gray80" 'global 'grayscale)))
-  (if (and (not (face-differs-from-default-p 'secondary-selection device))
-	   (not (face-background-pixmap 'primary-selection 'global)))
-      (set-face-background-pixmap 'primary-selection "gray3" 'global 'mono))
-  ;; if the primary-selection face isn't distinguished on this device,
+  ;; Set the primary-selection color unless already specified.
+  (unless (or (face-differs-from-default-p 'primary-selection device)
+	      (face-background 'primary-selection 'global))
+    (set-face-background 'primary-selection "gray" 'global 'color)
+    (set-face-background 'primary-selection "gray80" 'global 'grayscale))
+  (unless (or (face-differs-from-default-p 'secondary-selection device)
+	      (face-background-pixmap 'primary-selection 'global))
+    (set-face-background-pixmap 'primary-selection "gray3" 'global 'mono))
+  ;; If the primary-selection face isn't distinguished on this device,
   ;; at least try inverting it.
-  (or (face-differs-from-default-p 'primary-selection device)
-      (invert-face 'primary-selection device))
+  (unless (face-differs-from-default-p 'primary-selection device)
+    (invert-face 'primary-selection device))
 
-  ;; first time through, set the secondary-selection color if it's not already
-  ;; specified.
-  (if (and (not (face-differs-from-default-p 'secondary-selection device))
-	   (not (face-background 'secondary-selection 'global)))
-      (progn
-	(set-face-background 'secondary-selection
-			     '((color . "paleturquoise")
-			       (color . "green"))
-			     'global)
-	(set-face-background 'secondary-selection "gray53" 'global
-			     'grayscale)))
-  (if (and (not (face-differs-from-default-p 'secondary-selection device))
-	   (not (face-background-pixmap 'secondary-selection 'global)))
-      (set-face-background-pixmap 'secondary-selection "gray1" 'global 'mono))
-  ;; if the secondary-selection face isn't distinguished on this device,
+  ;; Set the secondary-selection color unless already specified.
+  (unless (or (face-differs-from-default-p 'secondary-selection device)
+	      (face-background 'secondary-selection 'global))
+    (set-face-background 'secondary-selection
+			 '((color . "paleturquoise")
+			   (color . "green"))
+			 'global)
+    (set-face-background 'secondary-selection "gray53" 'global
+			 'grayscale))
+  (unless (or (face-differs-from-default-p 'secondary-selection device)
+	      (face-background-pixmap 'secondary-selection 'global))
+    (set-face-background-pixmap 'secondary-selection "gray1" 'global 'mono))
+  ;; If the secondary-selection face isn't distinguished on this device,
   ;; at least try inverting it.
-  (or (face-differs-from-default-p 'secondary-selection device)
-      (invert-face 'secondary-selection device))
+  (unless (face-differs-from-default-p 'secondary-selection device)
+    (invert-face 'secondary-selection device))
 
-  ;; set the isearch color if it's not already specified.
-  (if (not (face-differs-from-default-p 'isearch device))
-      (or (face-background 'isearch 'global)
-	  ;; TTY's and some older X servers don't recognize "paleturquoise"
-	  (set-face-background 'isearch
-			       '((color . "paleturquoise")
-				 (color . "green"))
-			       'global)))
+  ;; Set the isearch color if unless already specified.
+  (unless (or (face-differs-from-default-p 'isearch device)
+	      (face-background 'isearch 'global))
+    ;; TTY's and some older X servers don't recognize "paleturquoise"
+    (set-face-background 'isearch
+			 '((color . "paleturquoise")
+			   (color . "green"))
+			 'global))
   ;; if the isearch face isn't distinguished (e.g. we're not on a color
   ;; display), at least try making it bold.
-  (or (face-differs-from-default-p 'isearch device)
-      (set-face-font 'isearch [bold]))
+  (unless (face-differs-from-default-p 'isearch device)
+    (set-face-font 'isearch [bold]))
 
-  ;; set the modeline face colors/fonts if not already specified.
+  ;; Set the modeline face colors/fonts unless already specified.
 
   ;; modeline-buffer-id:
-  (if (not (face-differs-from-default-p 'modeline-buffer-id device))
-      (let ((fg (face-foreground 'modeline-buffer-id 'global))
-	    (font (face-font 'modeline-buffer-id 'global)))
-	(and (featurep 'x)
-	     (or fg
-		 (set-face-foreground 'modeline-buffer-id "blue" 'global
-				      '(color x))))
-	(if font
-	    nil
-	  (if (featurep 'x)
-	      (progn
-		(set-face-font 'modeline-buffer-id [bold-italic] nil '(mono x))
-		(set-face-font 'modeline-buffer-id [bold-italic] nil
-			       '(grayscale x))))
-	  (if (featurep 'tty)
-	      (set-face-font 'modeline-buffer-id [bold-italic] nil 'tty)))))
+  (unless (face-differs-from-default-p 'modeline-buffer-id device)
+    (let ((fg (face-foreground 'modeline-buffer-id 'global))
+	  (font (face-font 'modeline-buffer-id 'global)))
+      (when (and (null fg) (featurep 'x))
+	(set-face-foreground 'modeline-buffer-id "blue" 'global '(color x)))
+      (unless font
+	(when (featurep 'x)
+	  (set-face-font 'modeline-buffer-id [bold-italic] nil '(mono x))
+	  (set-face-font 'modeline-buffer-id [bold-italic] nil '(grayscale x)))
+	(when (featurep 'tty)
+	  (set-face-font 'modeline-buffer-id [bold-italic] nil 'tty)))))
   (set-face-parent 'modeline-buffer-id 'modeline nil nil 'append)
 
   ;; modeline-mousable:
-  (if (not (face-differs-from-default-p 'modeline-mousable device))
-      (let ((fg (face-foreground 'modeline-mousable 'global))
-	    (font (face-font 'modeline-mousable 'global)))
-	(and (featurep 'x)
-	     (or fg
-		 (set-face-foreground 'modeline-mousable "red" 'global
-				      '(color x))))
-	(if font
-	    nil
-	  (if (featurep 'x)
-	      (progn
-		(set-face-font 'modeline-mousable [bold] nil '(mono x))
-		(set-face-font 'modeline-mousable [bold] nil
-			       '(grayscale x)))))))
+  (unless (face-differs-from-default-p 'modeline-mousable device)
+    (let ((fg (face-foreground 'modeline-mousable 'global))
+	  (font (face-font 'modeline-mousable 'global)))
+      (when (and (null fg) (featurep 'x))
+	(set-face-foreground 'modeline-mousable "red" 'global '(color x)))
+      (unless font
+	(when (featurep 'x)
+	  (set-face-font 'modeline-mousable [bold] nil '(mono x))
+	  (set-face-font 'modeline-mousable [bold] nil '(grayscale x))))))
   (set-face-parent 'modeline-mousable 'modeline nil nil 'append)
 
   ;; modeline-mousable-minor-mode:
-  (if (not (face-differs-from-default-p 'modeline-mousable-minor-mode device))
-      (let ((fg (face-foreground 'modeline-mousable-minor-mode 'global)))
-	(and (featurep 'x)
-	     (or fg
-		 (set-face-foreground 'modeline-mousable-minor-mode
-				      '(((color x) . "green4")
-					((color x) . "green")) 'global)))))
+  (unless (face-differs-from-default-p 'modeline-mousable-minor-mode device)
+    (let ((fg (face-foreground 'modeline-mousable-minor-mode 'global)))
+      (when (and (null fg) (featurep 'x))
+	(set-face-foreground 'modeline-mousable-minor-mode
+			     '(((color x) . "green4")
+			       ((color x) . "green")) 'global))))
   (set-face-parent 'modeline-mousable-minor-mode 'modeline-mousable
 		   nil nil 'append)
   )
 (make-face 'primary-selection)
 (make-face 'secondary-selection)
 
-(make-face 'red "red text")
-(set-face-foreground 'red "red" nil 'color)
-(make-face 'green "green text")
-(set-face-foreground 'green "green" nil 'color)
-(make-face 'blue "blue text")
-(set-face-foreground 'blue "blue" nil 'color)
-(make-face 'yellow "yellow text")
-(set-face-foreground 'yellow "yellow" nil 'color)
+(loop for color in '("red" "green" "blue" "yellow") do
+      (make-face (intern color) (concat color " text"))
+      (set-face-foreground (intern color) color nil 'color))
 
-;;
 ;; Make some useful faces.  This happens very early, before creating
 ;; the first non-stream device.  We initialize the tty global values here.
 ;; We cannot initialize the X global values here because they depend
 ;; on having already resourced the global face specs, which happens
 ;; when the first X device is created.
-;;
 
-(if (featurep 'tty)
-    (set-face-reverse-p 'modeline t 'global 'tty))
 (set-face-background-pixmap 'modeline [nothing])
-;;
-(if (featurep 'tty)
-    (set-face-highlight-p 'highlight t 'global 'tty))
-;;
-(if (featurep 'tty)
-    (set-face-reverse-p 'text-cursor t 'global 'tty))
-;;
-(if (featurep 'tty)
-    (set-face-highlight-p 'bold t 'global 'tty))
-;;
-(if (featurep 'tty)
-    (set-face-underline-p 'italic t 'global 'tty))
-;;
-(if (featurep 'tty)
-    (progn
-      (set-face-highlight-p 'bold-italic t 'global 'tty)
-      (set-face-underline-p 'bold-italic t 'global 'tty)))
-;;
-(if (featurep 'tty)
-    (set-face-reverse-p 'zmacs-region t 'global 'tty))
-;;
-(if (featurep 'tty)
-    (set-face-reverse-p 'list-mode-item-selected t 'global 'tty))
-;;
-(if (featurep 'tty)
-    (set-face-reverse-p 'isearch t 'global 'tty))
 
-;;; faces.el ends here
+(when (featurep 'tty)
+  (set-face-highlight-p 'bold                    t 'global 'tty)
+  (set-face-underline-p 'italic                  t 'global 'tty)
+  (set-face-highlight-p 'bold-italic             t 'global 'tty)
+  (set-face-underline-p 'bold-italic             t 'global 'tty)
+  (set-face-highlight-p 'highlight               t 'global 'tty)
+  (set-face-reverse-p   'text-cursor             t 'global 'tty)
+  (set-face-reverse-p   'modeline                t 'global 'tty)
+  (set-face-reverse-p   'zmacs-region            t 'global 'tty)
+  (set-face-reverse-p   'list-mode-item-selected t 'global 'tty)
+  (set-face-reverse-p   'isearch                 t 'global 'tty)
+  )

lisp/prim/files-nomule.el

 ;; Free Software Foundation, 59 Temple Place - Suite 330,
 ;; Boston, MA 02111-1307, USA.
 
-;;; Synched up with: FSF 19.34 (files.el).
+;;; Synched up with: FSF 19.34 (files.el).   (Is it?  Please check)
 
 ;;; Commentary:
 
 and (2) it puts less data in the undo list."
   (insert-file-contents-internal filename visit beg end replace nil nil))
 
-(defun write-region (start end filename &optional append visit lockname)
+(defun write-region (start end filename &optional append visit lockname coding-system)
   "Write current region into specified file.
 When called from a program, takes three arguments:
 START, END and FILENAME.  START and END are buffer positions.
 The optional sixth arg LOCKNAME, if non-nil, specifies the name to
   use for locking and unlocking, overriding FILENAME and VISIT.
 Kludgy feature: if START is a string, then that string is written
-to the file, instead of any buffer contents, and END is ignored."
+to the file, instead of any buffer contents, and END is ignored.
+Optional seventh argument CODING-SYSTEM is meaningful only if support
+  for Mule is present in XEmacs and specifies the coding system
+  used to encode the text when it is written out, and defaults to
+  the value of `file-coding-system' in the current buffer.  When Mule
+  support is not present, the CODING-SYSTEM argument is ignored."
   (interactive "r\nFWrite region to file: ")
   (write-region-internal start end filename append visit lockname nil))
 

lisp/psgml/ChangeLog

+Mon Jan 27 13:12:41 1997  Jin S. Choi <jsc@atype.com>
+
+	* psgml.el: Fix location of CATALOG in `sgml-validate-command'.
+
 Thu Jan 16 18:23:51 1997  Steven L Baur  <steve@miranova.com>
 
 	* psgml.el: Use newer interface form of nsgmls.
Add a comment to this file

lisp/psgml/psgml-lfix.el

Empty file removed.

lisp/psgml/psgml.el

 ;;; psgml.el --- SGML-editing mode with parsing support
-;; $Id: psgml.el,v 1.4 1997/01/26 00:21:43 steve Exp $
+;; $Id: psgml.el,v 1.5 1997/01/30 02:22:44 steve Exp $
 
 ;; Copyright (C) 1993, 1994, 1995, 1996 Lennart Staflin
 ;; Copyright (C) 1992 Free Software Foundation, Inc.
 ;;; The -s option suppresses output.
 
 (defvar sgml-validate-command (concat "nsgmls -s -m "
-				      data-directory
-				      "CATALOG %s %s")
+				      sgml-data-directory
+				      "/CATALOG %s %s")
   "*The shell command to validate an SGML document.
 
 This is a `format' control string that by default should contain two

lisp/rmail/rmail.el

 		(set-buffer rmail-summary-buffer)
 		(progn (,@ body))))
 	    (rmail-maybe-display-summary))))
+
+
+;;; 1996/12/9 by MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+;;; @ for mule and MIME
+;;;
+
+(require 'tm-view)
+
+(defconst rmail-support-mime t)
+(defvar rmail-show-mime t)
+(defvar rmail-show-mime-method (function rmail-show-mime-message))
+
+(defun rmail-show-all-header ()
+  (rmail-maybe-set-message-counters)
+  (narrow-to-region (rmail-msgbeg rmail-current-message) (point-max))
+  (let ((buffer-read-only nil))
+    (goto-char (point-min))
+    (forward-line 1)
+    (if (= (following-char) ?1)
+	(progn
+	  (delete-char 1)
+	  (insert ?0)
+	  (forward-line 1)
+	  (let ((case-fold-search t))
+	    (while (looking-at "Summary-Line:\\|Mail-From:")
+	      (forward-line 1)))
+	  (insert "*** EOOH ***\n")
+	  (forward-char -1)
+	  (search-forward "\n*** EOOH ***\n")
+	  (forward-line -1)
+	  (let ((temp (point)))
+	    (and (search-forward "\n\n" nil t)
+		 (delete-region temp (point))))
+	  (goto-char (point-min))
+	  (search-forward "\n*** EOOH ***\n")
+	  (narrow-to-region (point) (point-max)))
+      )))
+
+(defun rmail-show-mime-message ()
+  (rmail-show-all-header)
+  (let ((abuf (current-buffer))
+	(buf-name (format "*Preview-%s [%d/%d]*"
+			  (buffer-name)
+			  rmail-current-message rmail-total-messages))
+	buf win)
+    (if (and mime::article/preview-buffer
+	     (setq buf (get-buffer mime::article/preview-buffer))
+	     )
+	(progn
+	  (save-excursion
+	    (set-buffer buf)
+	    (rename-buffer buf-name)
+	    )
+	  (if (setq win (get-buffer-window buf))
+	      (progn
+		(delete-window (get-buffer-window abuf))
+		(set-window-buffer win abuf)
+		(set-buffer abuf)
+		))
+	  ))
+    (setq win (get-buffer-window abuf))
+    (save-window-excursion
+      (mime/viewer-mode nil nil nil nil buf-name rmail-mode-map)
+      (or buf
+	  (setq buf (current-buffer))
+	  )
+      )
+    (set-window-buffer win buf)
+    ))
+
+(set-alist 'mime-viewer/code-converter-alist
+	   'rmail-mode
+	   (function mime-charset/decode-buffer))
+
+(set-alist 'mime-viewer/quitting-method-alist
+	   'rmail-mode
+	   (function rmail-quit)
+	   )
+
+(set-alist 'mime-viewer/over-to-previous-method-alist
+	   'rmail-mode
+	   (function
+	    (lambda ()
+	      (rmail-previous-undeleted-message 1)
+	      )))
+
+(set-alist 'mime-viewer/over-to-next-method-alist
+	   'rmail-mode
+	   (function
+	    (lambda ()
+	      (rmail-next-undeleted-message 1)
+	      )))
+
+(set-alist 'mime-viewer/show-summary-method