Commits

cvs  committed 7d59cb4

Import from CVS: tag r21-2-12

  • Participants
  • Parent commits 2e030b8
  • Tags r21-2-12

Comments (0)

Files changed (67)

+typescript
+config.log
+Makefile
+Installation
+Installation.el
+config.status
+GNUmakefile
+Makefile.in
+so_locations

File CHANGES-beta

 							-*- indented-text -*-
+to 21.2.12 "Clio"
+-- event-stream unification for MS Windows from Andy Piper
+-- Determine best visual to use to avoid flashing from IENAGA Kazuyuki
+-- Fix for new Berkeley DB library from Paul Keusemann/Gregory Neal Shapiro
+-- Various package-ui fixes from Jan Vroonhof
+-- Fix for doubled font-locking during buffer reversion
+-- KFM browsing support from Neal Becker
+-- info fix from Didier Verna
+-- Build bug fixes from Martin Buchholz
+-- Various Documentation updates
+-- X-Face support for MS Windows native build from Gleb Arshinov
+
 to 21.2 beta11 "Calliope"
 -- Dialog box fix from Jan Vroonhof
 -- unified mswindows and tty event loops from Andy Piper
+1999-03-05  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+	* XEmacs 21.2.12 is released
+
+1999-03-04  Martin Buchholz  <martin@xemacs.org>
+
+	* Makefile.in.in (top_distclean): Remove confdefs.h as well.
+
+1999-03-03  Martin Buchholz  <martin@xemacs.org>
+
+	* configure.in:
+	`uname -v` -> "`uname -v`":
+	backquoted expressions need additional double
+	quotes to be a single token.
+	Use separate if's to avoid extra process invocations.
+
+1999-01-05  Gunnar Evermann  <ge204@eng.cam.ac.uk>
+
+	* PROBLEMS: Document crashes on SPARC with gcc 2.8.1. 
+
 1999-03-01  XEmacs Build Bot <builds@cvs.xemacs.org>
 
 	* XEmacs 21.2.11 is released
 
 	* config.guess: Synched with latest FSF version.
 
-1998-07-12  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
+1998-07-12  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
 
 	* Makefile.in: added LDFLAGS.
 

File Makefile.in.in

 ##      `make distclean' should leave only the files that were in the
 ##      distribution.
 top_distclean=\
-	$(RM) config.status config.log config-tmp-* build-install Installation ; \
+	$(RM) config.status config.log confdefs.h config-tmp-* build-install Installation ; \
 	$(RM) core .sbinit lock/* GNUmakefile Makefile Makefile.in ; \
 	$(RM) lisp/finder-inf.el* Installation.el Installation.elc ; \
 	$(RM) packages mule-packages site-lisp
 ===============================
 
 ** General
+*** Don't use -O2 with gcc 2.8.1 and egcs 1.0 under SPARC architectures
+without also using `-fno-schedule-insns'.
+
+gcc will generate incorrect code otherwise, typically resulting in
+crashes in the function skip-syntax-backward.
+
 *** egcs-1.1
 
 There have been reports of egcs-1.1 not compiling XEmacs correctly on
 case "$with_dialogs" in
   motif    )
     echo "  Using Motif dialog boxes."
-    if test "$unexec" = "unexaix.o" -a `uname -v` = 4 -a `uname -r` -ge 3; then
+    if test "$unexec" = "unexaix.o"; then if test "`uname -v`" = 4 -a "`uname -r`" -ge 3; then
       echo "  *WARNING*  The Motif dialog boxes cause problems on AIX 4.3 and higher."
       echo "             We recommend using the Athena dialog boxes instead."
       echo "             Install libXaw and re-run configure with --with-dialogs='athena'."
       echo "             Read the PROBLEMS file for more information."
-    fi	
+    fi; fi
     ;;
   athena   ) echo "  Using Athena dialog boxes."    ;;
   athena3d ) echo "  Using Athena-3d dialog boxes." ;;

File configure.in

 case "$with_dialogs" in
   motif    )
     echo "  Using Motif dialog boxes."
-    if test "$unexec" = "unexaix.o" -a `uname -v` = 4 -a `uname -r` -ge 3; then
+    if test "$unexec" = "unexaix.o"; then if test "`uname -v`" = 4 -a "`uname -r`" -ge 3; then
       echo "  *WARNING*  The Motif dialog boxes cause problems on AIX 4.3 and higher."
       echo "             We recommend using the Athena dialog boxes instead."
       echo "             Install libXaw and re-run configure with --with-dialogs='athena'."
       echo "             Read the PROBLEMS file for more information."
-    fi	
+    fi; fi
     ;;
   athena   ) echo "  Using Athena dialog boxes."    ;;
   athena3d ) echo "  Using Athena-3d dialog boxes." ;;

File etc/package-index.LATEST.pgp

 (package-get-update-base-entry (quote
 (ediff
   (standards-version 1.0
-   version "1.17"
+   version "1.18"
    author-version "2.72"
-   date "1999-02-16"
-   build-date "1999-03-01"
+   date "1999-03-03"
+   build-date "1999-03-05"
    maintainer "Michael Kifer <kifer@cs.sunysb.edu>"
    distribution stable
    priority medium
    category "prog"
    dump nil
    description "Interface over GNU patch."
-   filename "ediff-1.17-pkg.tar.gz"
-   md5sum "b69c621d1943a9b668374f0babd243f3"
-   size 281481
+   filename "ediff-1.18-pkg.tar.gz"
+   md5sum "ece3aca382d80a7c03d71766987b9f2f"
+   size 281635
    provides (ediff)
    requires (pcl-cvs elib dired xemacs-base)
    type regular
 (package-get-update-base-entry (quote
 (locale
   (standards-version 1.0
-   version "1.11"
-   author-version "21.0b62"
-   date "1998-07-24"
-   build-date "1999-02-02"
+   version "1.12"
+   author-version "21.0b64"
+   date "1999-02-02"
+   build-date "1999-03-05"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution mule
    priority high
    category "mule"
    dump nil
    description "Localized menubars and localized splash screens."
-   filename "locale-1.11-pkg.tar.gz"
-   md5sum "245f5110c2adb4411e3f4e2db014c4bc"
-   size 32690
+   filename "locale-1.12-pkg.tar.gz"
+   md5sum "fbdb329b8e57e5eaf8c8fb9488357312"
+   size 33900
    provides ()
    requires (mule-base)
    type regular
 (package-get-update-base-entry (quote
 (psgml
   (standards-version 1.0
-   version "1.11"
+   version "1.12"
    author-version "1.01"
-   date "1998-07-06"
-   build-date "1999-02-02"
+   date "1999-03-05"
+   build-date "1999-03-05"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution stable
    priority medium
    category "oa"
    dump nil
    description "Validated HTML/SGML editing."
-   filename "psgml-1.11-pkg.tar.gz"
-   md5sum "e6d5a593138aa8861a5a178097c05594"
-   size 425005
+   filename "psgml-1.12-pkg.tar.gz"
+   md5sum "7303b3a604659b64f24b0847b3a686d5"
+   size 425458
    provides (psgml sgml)
    requires (edit-utils)
    type regular
 (package-get-update-base-entry (quote
 (viper
   (standards-version 1.0
-   version "1.13"
+   version "1.14"
    author-version "3.061"
-   date "1999-02-17"
-   build-date "1999-03-01"
+   date "1999-03-03"
+   build-date "1999-03-05"
    maintainer "Michael Kifer <kifer@cs.sunysb.edu>"
    distribution stable
    priority low
    category "wp"
    dump nil
    description "VI emulation support."
-   filename "viper-1.13-pkg.tar.gz"
-   md5sum "b369c53c499c3ab2e1478031ddaf6071"
-   size 317868
+   filename "viper-1.14-pkg.tar.gz"
+   md5sum "0e118822906e195dc352f28c8efc01e0"
+   size 317899
    provides (viper)
    requires (xemacs-base)
    type regular
 (package-get-update-base-entry (quote
 (reftex
   (standards-version 1.0
-   version "1.11"
-   author-version "3.42"
-   date "1998-08-11"
-   build-date "1999-02-02"
+   version "1.12"
+   author-version "3.43"
+   date "1999-03-01"
+   build-date "1999-03-02"
    maintainer "Carsten Dominik <dominik@strw.LeidenUniv.nl>"
    distribution stable
    priority medium
    category "wp"
    dump nil
    description "Emacs support for LaTeX cross-references, citations.."
-   filename "reftex-1.11-pkg.tar.gz"
-   md5sum "efe43ac8ef52b9f8cf949783e30bb4a9"
-   size 209331
+   filename "reftex-1.12-pkg.tar.gz"
+   md5sum "73efb58d055143d9322024d97fcca479"
+   size 215874
    provides (reftex)
    requires (fsf-compat xemacs-base)
    type regular
 (package-get-update-base-entry (quote
 (c-support
   (standards-version 1.0
-   version "1.11"
-   author-version "21.0b63"
-   date "1999-02-06"
-   build-date "1999-03-01"
+   version "1.12"
+   author-version "21.0b64"
+   date "1999-03-02"
+   build-date "1999-03-02"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution contrib
    priority low
    category "prog"
    dump nil
    description "Basic single-file add-ons for editing C code."
-   filename "c-support-1.11-pkg.tar.gz"
-   md5sum "d93566b09c3d9e79ac12a644250e7ca0"
-   size 69876
+   filename "c-support-1.12-pkg.tar.gz"
+   md5sum "a793cd83bb595d34771332a46d2abfd4"
+   size 69913
    provides (c-comment-edit cmacexp ctypes hideif hideshow)
    requires (cc-mode xemacs-base)
    type regular
 (package-get-update-base-entry (quote
 (misc-games
   (standards-version 1.0
-   version "1.09"
-   author-version "21.0b62"
-   date "1998-03-22"
-   build-date "1999-02-02"
+   version "1.10"
+   author-version "21.0b64"
+   date "1999-03-04"
+   build-date "1999-03-05"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution stable
    priority low
    category "games"
    dump nil
    description "Other amusements and diversions."
-   filename "misc-games-1.09-pkg.tar.gz"
-   md5sum "a4e7e18e7cf3ce771ad65dae24967603"
-   size 165698
+   filename "misc-games-1.10-pkg.tar.gz"
+   md5sum "d5d5c6c074fab908ba48a8a6ccdc4273"
+   size 165902
    provides (decipher gomoku hanoi life morse rot13)
    requires (xemacs-base)
    type single
 (package-get-update-base-entry (quote
 (gnus
   (standards-version 1.0
-   version "1.38"
-   author-version "5.6.45"
+   version "1.39"
+   author-version "5.6.45x1"
    date "1999-02-17"
-   build-date "1999-03-01"
+   build-date "1999-03-05"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution stable
    priority medium
    category "comm"
    dump nil
    description "The Gnus Newsreader and Mailreader."
-   filename "gnus-1.38-pkg.tar.gz"
-   md5sum "22f00c391c4680d0a4fe53a5e6b85f40"
-   size 1869217
+   filename "gnus-1.39-pkg.tar.gz"
+   md5sum "5413e7508693bfcb16c5a4a0e0bce7c7"
+   size 1869261
    provides (gnus message)
    requires (gnus tm apel w3 mh-e mailcrypt rmail mail-lib xemacs-base)
    type regular
 (package-get-update-base-entry (quote
 (w3
   (standards-version 1.0
-   version "1.12"
-   author-version "4.0pre39"
-   date "1999-01-08"
-   build-date "1999-03-01"
+   version "1.13"
+   author-version "4.0pre39x1"
+   date "1999-03-02"
+   build-date "1999-03-02"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution experimental
    priority high
    category "comm"
    dump nil
    description "A Web browser."
-   filename "w3-1.12-pkg.tar.gz"
-   md5sum "e7afce350e99f71dfde7ec752290670c"
-   size 679826
+   filename "w3-1.13-pkg.tar.gz"
+   md5sum "8e9f70ef2c4b43090cfbf86974517c66"
+   size 682040
    provides (w3 url)
    requires (w3 mail-lib xemacs-base)
    type regular
 (package-get-update-base-entry (quote
 (vm
   (standards-version 1.0
-   version "1.16"
+   version "1.17"
    author-version "6.67"
    date "1998-09-22"
-   build-date "1999-03-01"
+   build-date "1999-03-05"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution stable
    priority medium
    category "comm"
    dump nil
    description "An Emacs mailer."
-   filename "vm-1.16-pkg.tar.gz"
-   md5sum "e5ad7011473b17f7d1e9521407199b64"
-   size 603773
+   filename "vm-1.17-pkg.tar.gz"
+   md5sum "9a95c6264135124db979bce745bf0e07"
+   size 609688
    provides (vm)
    requires (mail-lib xemacs-base)
    type regular
 (package-get-update-base-entry (quote
 (sounds-wav
   (standards-version 1.0
-   version "1.06"
-   author-version "21.0b62"
-   date "1998-06-30"
-   build-date "1999-02-02"
+   version "1.07"
+   author-version "21.0b64"
+   date "1999-02-02"
+   build-date "1999-03-05"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution stable
    priority high
    category "libs"
    dump nil
    description "XEmacs Microsoft sound files."
-   filename "sounds-wav-1.06-pkg.tar.gz"
-   md5sum "7f3dfd84e88b418ea58233bde7d859fc"
-   size 148545
+   filename "sounds-wav-1.07-pkg.tar.gz"
+   md5sum "60a70b85e8711fb1c9a1c7d0f4bf8ee0"
+   size 149045
    provides ()
    requires ()
    type regular
 (package-get-update-base-entry (quote
 (sounds-au
   (standards-version 1.0
-   version "1.06"
-   author-version "21.0b62"
-   date "1998-06-30"
-   build-date "1999-02-02"
+   version "1.07"
+   author-version "21.0b64"
+   date "1999-02-02"
+   build-date "1999-03-05"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution stable
    priority high
    category "libs"
    dump nil
    description "XEmacs Sun sound files."
-   filename "sounds-au-1.06-pkg.tar.gz"
-   md5sum "aa4a6080061e802b72156f4ce59e9561"
-   size 125744
+   filename "sounds-au-1.07-pkg.tar.gz"
+   md5sum "4b5acd296b50102e50565650d9d7ec0b"
+   size 126184
    provides ()
    requires ()
    type regular
 (package-get-update-base-entry (quote
 (mail-lib
   (standards-version 1.0
-   version "1.21"
-   author-version "21.0b62"
-   date "1999-01-20"
-   build-date "1999-02-02"
+   version "1.22"
+   author-version "21.0b64"
+   date "1999-03-05"
+   build-date "1999-03-05"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution stable
    priority medium
    category "libs"
    dump nil
    description "Fundamental lisp files for providing email support."
-   filename "mail-lib-1.21-pkg.tar.gz"
-   md5sum "4011698f9a440406af74ee1694e5539b"
-   size 131218
+   filename "mail-lib-1.22-pkg.tar.gz"
+   md5sum "70a947a1980887430c53032e3dfcbe4f"
+   size 131476
    provides (browse-url highlight-headers mail-abbrevs mail-extr mail-utils reporter rfc822 rmail-mini rmailout sendmail smtpmail)
    requires (xemacs-base)
    type regular

File lib-src/.cvsignore

+Makefile.in
+config.values
+ellcc.h
+make-path
+wakeup
+Makefile
+GNUmakefile
+profile
+make-docfile
+digest-doc
+sorted-doc
+movemail
+cvtmail
+fakemail
+yow
+hexl
+gnuserv
+mmencode
+etags
+ctags
+b2m
+gnuclient
+ootags
+ellcc
+DOC

File lib-src/ChangeLog

+1999-03-05  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+	* XEmacs 21.2.12 is released
+
 1999-03-01  XEmacs Build Bot <builds@cvs.xemacs.org>
 
 	* XEmacs 21.2.11 is released

File lisp/.cvsignore

+finder-inf.el

File lisp/ChangeLog

+1999-03-05  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+	* XEmacs 21.2.12 is released
+
+1999-03-05  SL Baur  <steve@xemacs.org>
+
+	* menubar-items.el (default-menubar): Add kfm browsing support.
+	From Neal Becker <nbecker@fred.net>
+
+1999-03-03  Steven Baur  <steve@gneiss.etl.go.jp>
+
+	* font-lock.el (font-lock-revert-cleanup): Null out to avoid repeated
+	calls to font-lock during buffer reversion.
+
+1999-02-12  Didier Verna  <verna@inf.enst.fr>
+
+	* info.el (Info-build-node-completions): unconditionally widen the
+	tag table buffer.
+
+1999-02-19  Paul Stodghill  <stodghil@cs.cornell.edu>
+
+	* x-faces.el (x-init-face-from-resources):
+	Only set fonts in the 'x locale.
+
+1999-03-04  Adrian Aichner  <aichner@ecf.teradyne.com>
+
+	* package-ui.el (pui-install-selected-packages): Don't throw on
+	`package-admin-delete-binary-package' returning nil since it's
+	normal.  Reindent function.
+	(pui-add-required-packages): Handle case where packages selected
+	for installation have never been installed.
+
+1999-03-03  Martin Buchholz  <martin@xemacs.org>
+
+	* menubar-items.el (default-menubar): 
+	Implement the ``Mule->Set coding system of process'' menu item.
+
+1999-02-18  Martin Buchholz  <martin@xemacs.org>
+
+	* files.el (auto-mode-alist): Use c-mode for *.i pre-processed cpp 
+	files
+	- Change some `if's to `when's
+
 1999-03-01  XEmacs Build Bot <builds@cvs.xemacs.org>
 
 	* XEmacs 21.2.11 is released

File lisp/files.el

 	;; If any elt of directory-abbrev-alist matches this name,
 	;; abbreviate accordingly.
 	(while tail
-	  (if (string-match (car (car tail)) filename)
-	      (setq filename
-		    (concat (cdr (car tail)) (substring filename (match-end 0)))))
+	  (when (string-match (car (car tail)) filename)
+	    (setq filename
+		  (concat (cdr (car tail)) (substring filename (match-end 0)))))
 	  (setq tail (cdr tail))))
-      (if hack-homedir
-	  (progn
-	    ;; Compute and save the abbreviated homedir name.
-	    ;; We defer computing this until the first time it's needed, to
-	    ;; give time for directory-abbrev-alist to be set properly.
-	    ;; We include a slash at the end, to avoid spurious matches
-	    ;; such as `/usr/foobar' when the home dir is `/usr/foo'.
-	    (or abbreviated-home-dir
-		(setq abbreviated-home-dir
-		      (let ((abbreviated-home-dir "$foo"))
-			(concat "\\`" (regexp-quote (abbreviate-file-name
-						     (expand-file-name "~")))
-				"\\(/\\|\\'\\)"))))
-	    ;; If FILENAME starts with the abbreviated homedir,
-	    ;; make it start with `~' instead.
-	    (if (and (string-match abbreviated-home-dir filename)
-		     ;; If the home dir is just /, don't change it.
-		     (not (and (= (match-end 0) 1) ;#### unix-specific
-			       (= (aref filename 0) ?/)))
-		     (not (and (memq system-type '(ms-dos windows-nt))
-			       (save-match-data
-				 (string-match "^[a-zA-Z]:/$" filename)))))
-		(setq filename
-		      (concat "~"
-			      (substring filename
-					 (match-beginning 1) (match-end 1))
-			      (substring filename (match-end 0)))))))
+      (when hack-homedir
+	;; Compute and save the abbreviated homedir name.
+	;; We defer computing this until the first time it's needed, to
+	;; give time for directory-abbrev-alist to be set properly.
+	;; We include a slash at the end, to avoid spurious matches
+	;; such as `/usr/foobar' when the home dir is `/usr/foo'.
+	(or abbreviated-home-dir
+	    (setq abbreviated-home-dir
+		  (let ((abbreviated-home-dir "$foo"))
+		    (concat "\\`" (regexp-quote (abbreviate-file-name
+						 (expand-file-name "~")))
+			    "\\(/\\|\\'\\)"))))
+	;; If FILENAME starts with the abbreviated homedir,
+	;; make it start with `~' instead.
+	(if (and (string-match abbreviated-home-dir filename)
+		 ;; If the home dir is just /, don't change it.
+		 (not (and (= (match-end 0) 1) ;#### unix-specific
+			   (= (aref filename 0) ?/)))
+		 (not (and (memq system-type '(ms-dos windows-nt))
+			   (save-match-data
+			     (string-match "^[a-zA-Z]:/$" filename)))))
+	    (setq filename
+		  (concat "~"
+			  (substring filename
+				     (match-beginning 1) (match-end 1))
+			  (substring filename (match-end 0))))))
       filename)))
 
 (defcustom find-file-not-true-dirname-list nil
 
 (defvar auto-mode-alist
   '(("\\.te?xt\\'" . text-mode)
-    ("\\.[ch]\\'" . c-mode)
+    ("\\.[chi]\\'" . c-mode)
     ("\\.el\\'" . emacs-lisp-mode)
     ("\\.\\(?:[CH]\\|cc\\|hh\\)\\'" . c++-mode)
     ("\\.[ch]\\(pp\\|xx\\|\\+\\+\\)\\'" . c++-mode)

File lisp/font-lock.el

 
 ;; If the buffer has just been reverted, normally that turns off
 ;; Font Lock mode.  So turn the mode back on if necessary.
-(defalias 'font-lock-revert-cleanup 'turn-on-font-lock)
+;; sb 1999-03-03 -- The above comment no longer appears to be operative as
+;; the first call to normal-mode *will* restore the font-lock state and
+;; this call forces a second font-locking to occur when reverting a buffer,
+;; which is wasteful at best.
+;(defalias 'font-lock-revert-cleanup 'turn-on-font-lock)
+(defun font-lock-revert-cleanup ())
 
 
 ;; Various functions.

File lisp/info.el

       (let ((compl (Info-build-annotation-completions)))
 	(save-excursion
 	  (save-restriction
+	    (widen)
 	    (if (marker-buffer Info-tag-table-marker)
 		(progn
 		  (set-buffer (marker-buffer Info-tag-table-marker))
 			  (cons (list (buffer-substring (match-beginning 1)
 							(match-end 1)))
 				compl))))
-	      (widen)
 	      (goto-char (point-min))
 	      (while (search-forward "\n\^_" nil t)
 		(forward-line 1)

File lisp/menubar-items.el

       ["Show Message Log" show-message-log]
       )
 
-     ,@(if (featurep 'mule)
-	   '(("Mule"
-	      ("Describe language support")
-	      ("Set language environment")
-	      "--"
-	      ["Toggle input method" toggle-input-method]
-	      ["Select input method" select-input-method]
-	      ["Describe input method" describe-input-method]
-	      "--"
-	      ["Describe current coding systems"
-	       describe-current-coding-system]
-	      ["Set coding system of buffer file"
-	       set-buffer-file-coding-system]
-	      ;; not implemented yet
-	      ["Set coding system of terminal"
-	       set-terminal-coding-system :active nil]
-	      ;; not implemented yet
-	      ["Set coding system of keyboard"
-	       set-keyboard-coding-system :active nil]
-	      ;; not implemented yet
-	      ["Set coding system of process"
-	       set-current-process-coding-system :active nil]
-	      "--"
-	      ["Show character table" view-charset-by-menu]
-	      ;; not implemented yet
-	      ["Show diagnosis for MULE" mule-diag :active nil]
-	      ["Show many languages" view-hello-file])))
+     ,@(when (featurep 'mule)
+	 '(("Mule"
+	    ("Describe language support")
+	    ("Set language environment")
+	    "--"
+	    ["Toggle input method" toggle-input-method]
+	    ["Select input method" select-input-method]
+	    ["Describe input method" describe-input-method]
+	    "--"
+	    ["Describe current coding systems"
+	     describe-current-coding-system]
+	    ["Set coding system of buffer file"
+	     set-buffer-file-coding-system]
+	    ;; not implemented yet
+	    ["Set coding system of terminal"
+	     set-terminal-coding-system :active nil]
+	    ;; not implemented yet
+	    ["Set coding system of keyboard"
+	     set-keyboard-coding-system :active nil]
+	    ["Set coding system of process"
+	     set-buffer-process-coding-system
+	     :active (get-buffer-process (current-buffer))]
+	    "--"
+	    ["Show character table" view-charset-by-menu]
+	    ;; not implemented yet
+	    ["Show diagnosis for MULE" mule-diag :active nil]
+	    ["Show many languages" view-hello-file])))
 
      ("Apps"
       ["Read Mail (VM)..." vm
        ["Set..." customize-customized]
        ["Apropos..." customize-apropos]
        ["Browse..." customize-browse])
-      
+
       ("Manage Packages"
        ("Add Download Site"
         :filter (lambda (&rest junk)
        ["Help" (Info-goto-node "(xemacs)Packages")])
 
       "---"
-      
+
       ("Editing Options"
        ["Overstrike"
 	(progn
 	  (setq overwrite-mode (if overwrite-mode nil 'overwrite-mode-textual))
 	  (customize-set-variable 'overwrite-mode overwrite-mode))
 	:style toggle :selected overwrite-mode]
-       ["Case Sensitive Search" 
-	(customize-set-variable 'case-fold-search 
+       ["Case Sensitive Search"
+	(customize-set-variable 'case-fold-search
 				(setq case-fold-search (not case-fold-search)))
 	:style toggle :selected (not case-fold-search)]
-       ["Case Matching Replace" 
+       ["Case Matching Replace"
 	(customize-set-variable 'case-replace (not case-replace))
 	:style toggle :selected case-replace]
        ["Auto Delete Selection"
 	:style toggle
 	:selected (and (boundp 'pending-delete-mode) pending-delete-mode)
 	:active (boundp 'pending-delete-mode)]
-       ["Active Regions" 
+       ["Active Regions"
 	(customize-set-variable 'zmacs-regions (not zmacs-regions))
 	:style toggle :selected zmacs-regions]
-       ["Mouse Paste At Text Cursor" 
+       ["Mouse Paste At Text Cursor"
 	(customize-set-variable 'mouse-yank-at-point (not mouse-yank-at-point))
 	:style toggle :selected mouse-yank-at-point]
        ("Newline at end of file..."
 	 (customize-set-variable 'require-final-newline 'ask)
 	 :style radio :selected (and require-final-newline
 				     (not (eq require-final-newline t)))])
-       ["Add Newline When Moving Past End" 
-	(customize-set-variable 'next-line-add-newlines 
+       ["Add Newline When Moving Past End"
+	(customize-set-variable 'next-line-add-newlines
 				(not next-line-add-newlines))
 	:style toggle :selected next-line-add-newlines]
        )
       ("General Options"
-       ["Teach Extended Commands" 
+       ["Teach Extended Commands"
 	(customize-set-variable 'teach-extended-commands-p
 				(not teach-extended-commands-p))
 	:style toggle :selected teach-extended-commands-p]
        ["Debug On Error"
 	(customize-set-variable 'debug-on-error (not debug-on-error))
 	:style toggle :selected debug-on-error]
-       ["Debug On Quit" 
+       ["Debug On Quit"
 	(customize-set-variable 'debug-on-quit (not debug-on-quit))
 	:style toggle :selected debug-on-quit]
        )
 	 :style radio
 	 :selected (and (boundp 'ps-paper-type) (eq ps-paper-type 'statement))
 	 :active (boundp 'ps-paper-type)]
-	["Executive" 
+	["Executive"
 	 (customize-set-variable 'ps-paper-type 'executive)
 	 :style radio
 	 :selected (and (boundp 'ps-paper-type) (eq ps-paper-type 'executive))
 	 :style radio
 	 :selected (and (boundp 'ps-paper-type) (eq ps-paper-type 'tabloid))
 	 :active (boundp 'ps-paper-type)]
-	["Ledger" 
+	["Ledger"
 	 (customize-set-variable 'ps-paper-type 'ledger)
 	 :style radio
 	 :selected (and (boundp 'ps-paper-type) (eq ps-paper-type 'ledger))
 	 :style radio
 	 :selected (and (boundp 'ps-paper-type) (eq ps-paper-type 'a3))
 	 :active (boundp 'ps-paper-type)]
-	["A4" 
+	["A4"
 	 (customize-set-variable 'ps-paper-type 'a4)
 	 :style radio
 	 :selected (and (boundp 'ps-paper-type) (eq ps-paper-type 'a4))
 	 :active (boundp 'ps-paper-type)]
-	["A4small" 
+	["A4small"
 	 (customize-set-variable 'ps-paper-type 'a4small)
 	 :style radio
 	 :selected (and (boundp 'ps-paper-type) (eq ps-paper-type 'a4small))
 	 :active (boundp 'ps-paper-type)]
-	["B4" 
+	["B4"
 	 (customize-set-variable 'ps-paper-type 'b4)
 	 :style radio
 	 :selected (and (boundp 'ps-paper-type) (eq ps-paper-type 'b4))
 	 :active (boundp 'ps-paper-type)]
-	["B5" 
+	["B5"
 	 (customize-set-variable 'ps-paper-type 'b5)
 	 :style radio
 	 :selected (and (boundp 'ps-paper-type) (eq ps-paper-type 'b5))
 		    (set-face-background 'default original-face-background)))
 	      (t
 	       (customize-set-variable 'ps-print-color-p t)
-	       (setq original-face-background 
+	       (setq original-face-background
 		     (face-background-instance 'default))
 	       (set-face-background 'default "white")))
-	:style toggle 
+	:style toggle
 	:selected (and (boundp 'ps-print-color-p) ps-print-color-p)
 	:active (boundp 'ps-print-color-p)])
       ("\"Other Window\" Location"
        ["Always in Same Frame"
-	(customize-set-variable 
+	(customize-set-variable
 	 'get-frame-for-buffer-default-instance-limit nil)
 	:style radio
 	:selected (null get-frame-for-buffer-default-instance-limit)]
 	:selected (eq 0 get-frame-for-buffer-default-instance-limit)]
        "-----"
        ["Temp Buffers Always in Same Frame"
-	(customize-set-variable 'temp-buffer-show-function 
+	(customize-set-variable 'temp-buffer-show-function
 				'show-temp-buffer-in-current-frame)
 	:style radio
 	:selected (eq temp-buffer-show-function
        )
       "-----"
       ("Syntax Highlighting"
-       ["In This Buffer" 
+       ["In This Buffer"
 	(progn ;; becomes buffer local
 	  (font-lock-mode)
 	  (customize-set-variable 'font-lock-mode font-lock-mode))
-	:style toggle 
+	:style toggle
 	:selected (and (boundp 'font-lock-mode) font-lock-mode)
 	:active (boundp 'font-lock-mode)]
        ["Automatic"
 	:selected (and (boundp 'font-lock-auto-fontify) font-lock-auto-fontify)
 	:active (fboundp 'font-lock-mode)]
        "-----"
-       ["Fonts" 
+       ["Fonts"
 	(progn
 	  (require 'font-lock)
 	  (font-lock-use-default-fonts)
 				(not (eq t font-lock-maximum-decoration)))
 			   (and (integerp font-lock-maximum-decoration)
 				(<= font-lock-maximum-decoration 0))))]
-       ["More" 
+       ["More"
 	(progn
 	  (require 'font-lock)
 	  (if (and (integerp font-lock-maximum-decoration)
 	:selected (and (boundp 'font-lock-maximium-decoration)
 		       (integerp font-lock-maximum-decoration)
 		       (= 1 font-lock-maximum-decoration))]
-       ["Even More" 
+       ["Even More"
 	(progn
 	  (require 'font-lock)
 	  (if (and (integerp font-lock-maximum-decoration)
 	  ;; be a redisplay bug lurking somewhere (or
 	  ;; possibly another event handler bug)
 	  (redraw-modeline))
-	:active (and (boundp 'font-lock-mode) (boundp 'lazy-shot-mode) 
+	:active (and (boundp 'font-lock-mode) (boundp 'lazy-shot-mode)
 		     font-lock-mode)
 	:style toggle
 	:selected (and (boundp 'lazy-shot-mode) lazy-shot-mode)]
       ("Paren Highlighting"
        ["None"
 	(customize-set-variable 'paren-mode nil)
-	:style radio 
+	:style radio
 	:selected (and (boundp 'paren-mode) (not paren-mode))
 	:active (boundp 'paren-mode)]
        ["Blinking Paren"
 	:active (boundp 'paren-mode)]
        ["Steady Paren"
 	(customize-set-variable 'paren-mode 'paren)
-	:style radio 
+	:style radio
 	:selected (and (boundp 'paren-mode) (eq paren-mode 'paren))
 	:active (boundp 'paren-mode)]
        ["Expression"
 	(customize-set-variable 'paren-mode 'sexp)
-	:style radio 
+	:style radio
 	:selected (and (boundp 'paren-mode) (eq paren-mode 'sexp))
 	:active (boundp 'paren-mode)]
-;;	 ["Nested Shading"	     
+;;	 ["Nested Shading"
 ;;	  (customize-set-variable 'paren-mode 'nested)
-;;	  :style radio		     
+;;	  :style radio
 ;;	  :selected (and (boundp 'paren-mode) (eq paren-mode 'nested))
 ;;	  :active (boundp 'paren-mode)]
        )
       "-----"
       ("Frame Appearance"
-       ["Frame-Local Font Menu" 
+       ["Frame-Local Font Menu"
 	(customize-set-variable 'font-menu-this-frame-only-p
 				(not font-menu-this-frame-only-p))
-	:style toggle 
+	:style toggle
 	:selected (and (boundp 'font-menu-this-frame-only-p)
 		       font-menu-this-frame-only-p)]
        ,@(if (featurep 'scrollbar)
 	     '(["Scrollbars"
 		(customize-set-variable 'scrollbars-visible-p
 					(not scrollbars-visible-p))
-		:style toggle 
+		:style toggle
 		:selected scrollbars-visible-p]))
        ;; I don't think this is of any interest. - dverna apr. 98
        ;; #### I beg to differ!  Many FSFmacs converts hate the 3D
        ;; off through the Options menu.  I would have uncommented this
        ;; source, but the code for saving options would not save the
        ;; modeline 3D-ness.  Grrr.  --hniksic
-;;	 ["3D Modeline"			   
-;;	  (progn				   
+;;	 ["3D Modeline"
+;;	  (progn
 ;;	    (if (zerop (specifier-instance modeline-shadow-thickness))
 ;;		(set-specifier modeline-shadow-thickness 2)
 ;;	      (set-specifier modeline-shadow-thickness 0))
-;;	    (redraw-modeline t))		   
-;;	  :style toggle			   
-;;	  :selected (let ((thickness	   
+;;	    (redraw-modeline t))
+;;	  :style toggle
+;;	  :selected (let ((thickness
 ;;			   (specifier-instance modeline-shadow-thickness)))
 ;;		      (and (integerp thickness)
 ;;			   (> thickness 0)))]
 	:selected (and (boundp 'blink-cursor-mode) blink-cursor-mode)
 	:active (boundp 'blink-cursor-mode)]
        "-----"
-       ["Block cursor" 
+       ["Block cursor"
 	(progn
 	  (customize-set-variable 'bar-cursor nil)
 	  (force-cursor-redisplay))
 	:style radio
 	:selected (null bar-cursor)]
-       ["Bar cursor (1 pixel)" 
+       ["Bar cursor (1 pixel)"
 	(progn
 	  (customize-set-variable 'bar-cursor t)
 	  (force-cursor-redisplay))
 	:style radio
 	:selected (eq bar-cursor t)]
-	["Bar cursor (2 pixels)" 
+	["Bar cursor (2 pixels)"
 	 (progn
 	   (customize-set-variable 'bar-cursor 2)
 	   (force-cursor-redisplay))
-	 :style radio 
+	 :style radio
 	 :selected (and bar-cursor (not (eq bar-cursor t)))]
 	"------"
 	["Line Numbers"
 	(customize-set-variable
 	 'buffers-menu-max-size
 	 ;; would it be better to open a customization buffer ?
-	 (let ((val 
+	 (let ((val
 		(read-number
 		 "Enter number of buffers to display (or 0 for unlimited): ")))
 	   (if (eq val 0) nil val)))]
 		       buffers-menu-sort-function)]
 	["By Major Mode, Then Alphabetically"
 	 (progn
-	   (customize-set-variable 
+	   (customize-set-variable
 	    'buffers-menu-sort-function
 	    'sort-buffers-menu-by-mode-then-alphabetically)
-	   (customize-set-variable 
+	   (customize-set-variable
 	    'buffers-menu-grouping-function
 	    'group-buffers-menu-by-mode-then-alphabetically))
 	 :style radio
        ["Ignore Scaled Fonts"
 	(customize-set-variable 'font-menu-ignore-scaled-fonts
 				(not font-menu-ignore-scaled-fonts))
-	:style toggle 
+	:style toggle
 	:selected (and (boundp 'font-menu-ignore-scaled-fonts)
 		       font-menu-ignore-scaled-fonts)]
        )
       ,@(if (featurep 'toolbar)
 	    '(("Toolbar Appearance"
-	       ["Visible" 
+	       ["Visible"
 		(customize-set-variable 'toolbar-visible-p
 					(not toolbar-visible-p))
 		:style toggle
 		:selected toolbar-visible-p]
-	       ["Captioned" 
+	       ["Captioned"
 		(customize-set-variable 'toolbar-captioned-p
 					(not toolbar-captioned-p))
 		:style toggle
 	       ("Default Location"
 		["Top"
 		 (customize-set-variable 'default-toolbar-position 'top)
-		 :style radio 
+		 :style radio
 		 :selected (eq default-toolbar-position 'top)]
-		["Bottom" 
+		["Bottom"
 		 (customize-set-variable 'default-toolbar-position 'bottom)
 		 :style radio
 		 :selected (eq default-toolbar-position 'bottom)]
 	       )))
       ("Mouse"
        ["Avoid Text..."
-	(customize-set-variable 'mouse-avoidance-mode 
+	(customize-set-variable 'mouse-avoidance-mode
 				(if mouse-avoidance-mode nil 'banish))
 	:style toggle
 	:selected (and (boundp 'mouse-avoidance-mode) mouse-avoidance-mode)
 		     (device-on-window-system-p))]
        )
       ("Open URLs With"
-       ["Emacs-W3" 
+       ["Emacs-W3"
 	(customize-set-variable 'browse-url-browser-function 'browse-url-w3)
 	:style radio
 	:selected (and (boundp 'browse-url-browser-function)
 	:active (and (boundp 'browse-url-browser-function)
 		     (fboundp 'browse-url-w3)
 		     (fboundp 'w3-fetch))]
-       ["Netscape" 
-	(customize-set-variable 'browse-url-browser-function 
+       ["Netscape"
+	(customize-set-variable 'browse-url-browser-function
 				'browse-url-netscape)
 	:style radio
 	:selected (and (boundp 'browse-url-browser-function)
 		       (eq browse-url-browser-function 'browse-url-netscape))
 	:active (and (boundp 'browse-url-browser-function)
 		     (fboundp 'browse-url-netscape))]
-       ["Mosaic" 
+       ["Mosaic"
 	(customize-set-variable 'browse-url-browser-function
 				'browse-url-mosaic)
 	:style radio
 		       (eq browse-url-browser-function 'browse-url-mosaic))
 	:active (and (boundp 'browse-url-browser-function)
 		     (fboundp 'browse-url-mosaic))]
-       ["Mosaic (CCI)" 
+       ["Mosaic (CCI)"
 	(customize-set-variable 'browse-url-browser-function 'browse-url-cci)
 	:style radio
 	:selected (and (boundp 'browse-url-browser-function)
 		       (eq browse-url-browser-function 'browse-url-cci))
 	:active (and (boundp 'browse-url-browser-function)
 		     (fboundp 'browse-url-cci))]
-       ["IXI Mosaic" 
-	(customize-set-variable 'browse-url-browser-function 
+       ["IXI Mosaic"
+	(customize-set-variable 'browse-url-browser-function
 				'browse-url-iximosaic)
 	:style radio
 	:selected (and (boundp 'browse-url-browser-function)
 		       (eq browse-url-browser-function 'browse-url-iximosaic))
 	:active (and (boundp 'browse-url-browser-function)
 		     (fboundp 'browse-url-iximosaic))]
-       ["Lynx (xterm)" 
+       ["Lynx (xterm)"
 	(customize-set-variable 'browse-url-browser-function
 				'browse-url-lynx-xterm)
 	:style radio
 		       (eq browse-url-browser-function 'browse-url-lynx-emacs))
 	:active (and (boundp 'browse-url-browser-function)
 		     (fboundp 'browse-url-lynx-emacs))]
-       ["Grail" 
+       ["Grail"
 	(customize-set-variable 'browse-url-browser-function
 				'browse-url-grail)
 	:style radio
 		       (eq browse-url-browser-function 'browse-url-grail))
 	:active (and (boundp 'browse-url-browser-function)
 		     (fboundp 'browse-url-grail))]
+       ["Kfm" 
+	(customize-set-variable 'browse-url-browser-function
+				'browse-url-kfm)
+	:style radio
+	:selected (and (boundp 'browse-url-browser-function)
+		       (eq browse-url-browser-function 'browse-url-kfm))
+	:active (and (boundp 'browse-url-browser-function)
+		     (fboundp 'browse-url-kfm))]
        )
       "-----"
       ["Edit Faces..." (customize-face nil)]

File lisp/package-ui.el

 					       (symbol-name pkg)
 					       )
 					    pui-deleted-packages)
-					'string<)
-				       :activate-callback nil
-				       :help-string "Packages selected for removal:\n"
-				       :completion-string t
-				       ))
-	    (setq tmpbuf (get-buffer-create tmpbuf))
-	    (display-buffer tmpbuf)
-	    (setq do-delete (yes-or-no-p "Remove these packages? "))
-	    (kill-buffer tmpbuf))	    
+				    'string<)
+				   :activate-callback nil
+				   :help-string "Packages selected for removal:\n"
+				   :completion-string t
+				   ))
+	(setq tmpbuf (get-buffer-create tmpbuf))
+	(display-buffer tmpbuf)
+	(setq do-delete (yes-or-no-p "Remove these packages? "))
+	(kill-buffer tmpbuf))	    
       (when do-delete
 	(message "Deleting selected packages ...") (sit-for 0)
-	(when (catch 'done
-		(mapcar (lambda (pkg)
-			  (if (not
-			       (package-admin-delete-binary-package
-				  pkg (package-admin-get-install-dir pkg nil)))
-				    (throw 'done nil)))
-			      pui-deleted-packages)
-		      t)
-	  (message "Packages deleted")
-	  ))))
+	(mapcar (lambda (pkg)
+		  (package-admin-delete-binary-package
+		   pkg (package-admin-get-install-dir pkg nil)))
+		pui-deleted-packages)
+	(message "Packages deleted"))))
 	 
   (let ( (tmpbuf "*Packages-To-Install*") do-install)
     (if pui-selected-packages
 		      (message "Packages installed")
 		      ))
 		)
-	      (clear-message)
-	      )
+	    (clear-message)
+	    )
 	  )
       (if pui-deleted-packages
 	  (pui-list-packages)
                                      (package-get-info-find-package
                                       package-get-base pkg) nil)
                                     'version)))
-                              (if (< (if (stringp installed)
+                              (if (or (null installed)
+                                     (< (if (stringp installed)
                                          (string-to-number installed)
                                        installed)
                                      (if (stringp current)
                                          (string-to-number current)
-                                       current))
+                                       current)))
                                   pkg
                                 nil)))
                           (package-get-dependencies pui-selected-packages)))))

File lisp/x-faces.el

 	;; globally.  This means we should override global
 	;; defaults for all X device classes.
 	(remove-specifier (face-font face) locale x-tag-set nil))
-      (set-face-font face fn locale nil append))
+      (set-face-font face fn locale 'x append))
     ;; Kludge-o-rooni.  Set the foreground and background resources for
     ;; X devices only -- otherwise things tend to get all messed up
     ;; if you start up an X frame and then later create a TTY frame.

File lwlib/.cvsignore

+Makefile.in
+config.h
+Makefile
+GNUmakefile

File lwlib/ChangeLog

+1999-03-05  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+	* XEmacs 21.2.12 is released
+
+1999-02-18  Martin Buchholz  <martin@xemacs.org>
+
+	* lwlib/xlwmenu.c (massage_resource_name): Fix compiler warning
+	- Have to toupper ((int) (unsigned char) x) to be portable.

File lwlib/xlwmenu.c

       char ch = massaged_resource_char[(unsigned char) *in++];
       if (ch)
 	{
-	  *out++ = firstp ? tolower (ch) : toupper (ch);
+	  int int_ch = (int) (unsigned char) ch;
+	  *out++ = firstp ? tolower (int_ch) : toupper (int_ch);
 	  firstp = False;
 	  while ((ch = massaged_resource_char[(unsigned char) *in++]) != '\0')
 	    *out++ = ch;

File man/ChangeLog

+1999-03-05  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+	* XEmacs 21.2.12 is released
+
 1999-03-01  XEmacs Build Bot <builds@cvs.xemacs.org>
 
 	* XEmacs 21.2.11 is released

File man/lispref/extents.texi

 the extent.  This takes precedence over the @code{text-pointer-glyph}
 and @code{nontext-pointer-glyph} variables.  If for any reason this
 glyph is an invalid pointer, the standard glyphs will be used as
-fallbacks.  @xref{Mouse Pointer}
+fallbacks.  @xref{Mouse Pointer}.
 
 @item detachable
 (Boolean) Whether this extent becomes detached when all of the text it

File man/lispref/faces.texi

 which allows it to have separate values in particular buffers, frames,
 windows, and devices and to further vary according to device type
 (X or TTY) and device class (color, mono, or grayscale).
-@xref{Specifiers} for more information.
+@xref{Specifiers}, for more information.
 
 The face named @code{default} is used for ordinary text.  The face named
 @code{modeline} is used for displaying the modeline.  The face named

File man/lispref/glyphs.texi

 turn is tried until an image is successfully produced), a cons of a
 locale (frame, buffer, etc.) and an instantiator, a list of such conses,
 or any other form accepted by @code{canonicalize-spec-list}.
-@xref{Specifiers} for more information about specifiers.
+@xref{Specifiers}, for more information about specifiers.
 
 @var{type} specifies the type of the glyph, which specifies in which
 contexts the glyph can be used, and controls the allowable image types
 @code{color-pixmap} can be generated by @code{xpm}, @code{gif},
 @code{jpeg}, etc.).
 
-  @xref{Image Instances} for a more detailed discussion of image
+  @xref{Image Instances}, for a more detailed discussion of image
 instance types.
 
   An image instantiator should be a string or a vector of the form

File man/lispref/markers.texi

 concept of an @dfn{active region} exists.  The region is active when the
 corresponding mark is active.  Note that only one active region at a
 time can exist -- i.e. only one buffer's region is active at a time.
-@xref{The Mark} for more information about active regions.
+@xref{The Mark}, for more information about active regions.
 
 @defopt zmacs-regions
 If non-@code{nil} (the default), active regions are used.  @xref{The Mark},

File man/lispref/menus.texi

 @end defun
 
 @defun buffers-menu-filter menu-items
-This function sets up the Buffers menu.  @xref{Buffers Menu} for
+This function sets up the Buffers menu.  @xref{Buffers Menu}, for
 more information.
 @end defun
 

File man/lispref/objects.texi

   A string can hold extents and properties of the text it contains, in
 addition to the characters themselves.  This enables programs that copy
 text between strings and buffers to preserve the extents and properties
-with no special effort.  @xref{Extents}; @xref{Text Properties}.
+with no special effort.  @xref{Extents}, @xref{Text Properties}.
 
   Note that FSF GNU Emacs has a special read and print syntax for
 strings with text properties, but XEmacs does not currently implement

File man/lispref/positions.texi

 This function returns the maximum accessible value of point in
 @var{buffer}.  This is @code{(1+ (buffer-size buffer))}, unless
 narrowing is in effect, in which case it is the position of the end of
-the region that you narrowed to. (@xref{Narrowing}).  @var{buffer}
+the region that you narrowed to. (@pxref{Narrowing}).  @var{buffer}
 defaults to the current buffer if omitted.
 @end defun
 

File man/lispref/sequences.texi

 and text properties in the copy are also copied, not shared with the
 original. (This means that modifying the extents or text properties of
 the original will not affect the copy.) However, the actual values of
-the properties are shared.  @xref{Extents}; @xref{Text Properties}.
+the properties are shared.  @xref{Extents}, @xref{Text Properties}.
 
 See also @code{append} in @ref{Building Lists}, @code{concat} in
 @ref{Creating Strings}, @code{vconcat} in @ref{Vectors}, and
 as characters.
 
 @item
-Strings can hold extent and text properties.  @xref{Extents}; @xref{Text
+Strings can hold extent and text properties.  @xref{Extents}, @xref{Text
 Properties}.
 
 @item

File man/lispref/specifiers.texi

 @item toolbar
 The valid instantiators are toolbar descriptors, which are lists
 of toolbar-button descriptors (each of which is a vector of two
-or four elements).  @xref{Toolbar} for more information.
+or four elements).  @xref{Toolbar}, for more information.
 @end table
 
 Color and font instance objects can also be used in turn as
 device.  If the devices differ, the base color or font of the
 instantiating object is effectively used instead as the instantiator.
 
-@xref{Faces and Window-System Objects} for more information on fonts,
-colors, and face-boolean specifiers.  @xref{Glyphs} for more information
-about image specifiers.  @xref{Toolbar} for more information on toolbar
+@xref{Faces and Window-System Objects}, for more information on fonts,
+colors, and face-boolean specifiers.  @xref{Glyphs}, for more information
+about image specifiers.  @xref{Toolbar}, for more information on toolbar
 specifiers.
 
 @defun specifier-type specifier

File man/lispref/strings.texi

 
 The definition of a word is any sequence of consecutive characters that
 are assigned to the word constituent syntax class in the current syntax
-table (@xref{Syntax Class Table}).
+table (@pxref{Syntax Class Table}).
 
 When the argument to @code{capitalize} is a character, @code{capitalize}
 has the same result as @code{upcase}.

File man/lispref/toolbar.texi

 and query them with @code{specifier-specs} or @code{specifier-instance}.
 You will get an error if you try to set them using @code{setq}.  The
 valid instantiators for these specifiers are toolbar descriptors, as
-described above.  @xref{Specifiers} for more information.
+described above.  @xref{Specifiers}, for more information.
 
 Most of the time, you will set @code{default-toolbar}, which allows
 the user to choose where the toolbar should go.

File man/new-users-guide/modes.texi

 Do not add the "-mode" to it.  You can also select the @b{Paren
 Highlighting} option from the @b{Options} menu. After you enable this
 command, put your cursor on one of the left parenthesis. The other
-matching parenthesis will start blinking. @xref{Options Menu,} for more
+matching parenthesis will start blinking. @xref{Options Menu}, for more
 information on the @b{Paren Highlighting} option.
 @end table
 

File man/new-users-guide/region.texi

   The most common way to move or copy text in Emacs is through
 @dfn{killing} or @samp{cutting} it and then @dfn{yanking} or
 @samp{pasting} it. You can also use the @b{Cut} or @b{Copy} option from
-the @b{Edit} menu for killing and copying respectively. @xref{Edit menu} 
+the @b{Edit} menu for killing and copying respectively. @xref{Edit menu}, 
 for reviewing the commands for killing text. All the killed text
 in Emacs is recorded in the @dfn{kill ring}. Since there is only one
 kill ring in Emacs, you can kill text in one buffer and yank it in

File man/termcap.texi

 @samp{so} magic cookie on the screen.  (It may also be possible to remove a
 cookie which is not at the beginning of a line by clearing that line.)  The
 @samp{xt} capability also has implications for the use of tab characters,
-but in that regard it is obsolete (@xref{Cursor Motion}).
+but in that regard it is obsolete (@pxref{Cursor Motion}).
 
 @table @samp
 @item so

File man/texinfo.texi

 \input texinfo.tex    @c -*-texinfo-*-
-@c $Id: texinfo.texi,v 1.8 1998/06/30 06:35:31 steve Exp $
+@c $Id: texinfo.texi,v 1.8.2.1 1999/03/04 15:48:24 steveb Exp $
 @c %**start of header
 
 @c All text is ignored before the setfilename.
 
 How to Obtain @TeX{}
 
-* New Texinfo Mode Commands::   The updating commands are especially useful.
-* New Commands::                Many newly described @@-commands.
+@c * New Texinfo Mode Commands::   The updating commands are especially useful.
+@c * New Commands::                Many newly described @@-commands.
 @end detailmenu
 @end menu
 

File man/xemacs-faq.texi

 @finalout
 @titlepage
 @title XEmacs FAQ
-@subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 1998/12/05 16:55:03 $
+@subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 1999/03/04 15:48:25 $
 @sp 1
 @author Tony Rossini <arossini@@stat.sc.edu>
 @author Ben Wing <wing@@666.com>
 @node Q1.3.3, Q1.3.4, Q1.3.2, Introduction
 @unnumberedsubsec Q1.3.3: How do I type non-ASCII characters?
 
-See question 3.5.7 (@xref{Q3.5.7}) in part 3 of this FAQ.
+See question 3.5.7 (@pxref{Q3.5.7}) in part 3 of this FAQ.
 
 @node Q1.3.4, Q1.3.5, Q1.3.3, Introduction
 @unnumberedsubsec Q1.3.4: Can XEmacs messages come out in a different language?
 
 It's possible that a core file didn't get produced, in which case you're
 out of luck.  Go complain to your system administrator and tell him not
-to disable core files by default.  Also @xref{Q2.1.15} for tips and
+to disable core files by default.  Also @xref{Q2.1.15}, for tips and
 techniques for dealing with a debugger.
 
 When making a problem report make sure that:
 
 This is fine if you only need a few functions within the lambda body.
 If you're doing more it's cleaner to define a separate function as in
-question 3.5.3 (@xref{Q3.5.3}).
+question 3.5.3 (@pxref{Q3.5.3}).
 
 @node Q3.5.2, Q3.5.3, Q3.5.1, Customization
 @unnumberedsubsec Q3.5.2: How can I stop down-arrow from adding empty lines to the bottom of my buffers?
 
 The key point is that you can only bind simple functions to keys; you
 can not bind a key to a function that you're also passing arguments to.
-(@xref{Q3.5.1} for a better answer).
+(@pxref{Q3.5.1} for a better answer).
 
 @node Q3.5.4, Q3.5.5, Q3.5.3, Customization
 @unnumberedsubsec Q3.5.4: Globally binding @kbd{Delete}?
 
 VM supports MIME natively.
 
-You probably want to use the Tools for MIME (tm).  @xref{Q4.3.2} for
+You probably want to use the Tools for MIME (tm).  @xref{Q4.3.2}, for
 details.
 
 @email{trey@@cs.berkeley.edu, Trey Jackson} has an Emacs & MIME web page at
 
 @quotation
 The standard TeX modes leave much to be desired, and are somewhat
-leniently maintained.  Serious TeX users use AUC TeX (@xref{Q4.7.1}).
+leniently maintained.  Serious TeX users use AUC TeX (@pxref{Q4.7.1}).
 @end quotation
 
 @node Q5.0.20, Q5.1.1, Q5.0.19, Miscellaneous
 @node Q5.2.3, Q5.2.4, Q5.2.2, Miscellaneous
 @unnumberedsubsec Q5.2.3: What's NAS, how do I get it?
 
-@xref{Q2.0.3} for an explanation of the @dfn{Network Audio System}.
+@xref{Q2.0.3}, for an explanation of the @dfn{Network Audio System}.
 
 @node Q5.2.4, Q5.3.1, Q5.2.3, Miscellaneous
 @unnumberedsubsec Q5.2.4: Sunsite sounds don't play.

File man/xemacs/custom.texi

 
 @table @asis
 @item @code{geometry} (class @code{Geometry}): string
-Initial geometry for the frame.  @xref{Geometry Resources} for a
+Initial geometry for the frame.  @xref{Geometry Resources}, for a
 complete discussion of how this works.
 
 @item @code{iconic} (class @code{Iconic}): boolean

File man/xemacs/keystrokes.texi

 @section Representation of Characters
 
 This section briefly discusses how characters are represented in Emacs
-buffers.  @xref{Key Sequences} for information on representing key
+buffers.  @xref{Key Sequences}, for information on representing key
 sequences to create key bindings. 
 
   ASCII graphic characters in Emacs buffers are displayed with their
 Lisp Reference Manual}.
 
   The bindings between keys and functions are recorded in various tables
-called @dfn{keymaps}.  @xref{Key Bindings} for more information on key
-sequences you can bind commands to.  @xref{Keymaps} for information on
+called @dfn{keymaps}.  @xref{Key Bindings}, for more information on key
+sequences you can bind commands to.  @xref{Keymaps}, for information on
 creating keymaps.
 
   When we say  ``@kbd{C-n} moves down vertically one line'' we are

File man/xemacs/mark.texi

 the variable @code{zmacs-regions} to @code{t}. This makes the current
 region (defined by point and mark) highlight and makes it available as
 the X clipboard selection, which means you can use the menu bar items on
-it.  @xref{Active Regions} for more information.
+it.  @xref{Active Regions}, for more information.
  
   @kbd{C-x C-x} is also useful when you are satisfied with the location of
 point but want to move the mark; do @kbd{C-x C-x} to put point there and

File man/xemacs/menus.texi

 cannot invoke items that are faded.  For example, many commands on the
 @b{Edit} menu appear faded until you select text on which they are to
 operate; after you select a block of text, edit commands are enabled.
-@xref{Mouse Selection} for information on using the mouse to select
-text.  @xref{Using X Selections} for related information.
+@xref{Mouse Selection}, for information on using the mouse to select
+text.  @xref{Using X Selections}, for related information.
 
 There are also @kbd{M-x} equivalents for each menu item.  To find the
 equivalent for any left-button menu item, do the following:
 @cindex Buffers menu
 The @b{Buffers} menu provides a selection of up to ten buffers and the
 item @b{List All Buffers}, which provides a Buffer List. @xref{List
-Buffers} for more information.  
+Buffers}, for more information.  
 
 @node Tools Menu
 @subsection The Tools Menu
 
 The Help Menu gives you access to Emacs Info and provides a menu
 equivalent for each of the choices you have when using @kbd{C-h}. 
-@xref{Help} for more information. 
+@xref{Help}, for more information. 
 
 The Help menu also gives access to UNIX online manual pages via the
 @b{UNIX Manual Page} option.  

File man/xemacs/startup.texi

 During installation, all of these directories may also reside directly
 under @file{<root>}, because that is where they are in the XEmacs tarball.
 
-If XEmacs runs with the @code{-debug-paths} option (@xref{Command
+If XEmacs runs with the @code{-debug-paths} option (@pxref{Command
 Switches}), it will print the values of these variables, hopefully
 aiding in debugging any problems which come up.
 

File nt/ChangeLog

+1999-03-05  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+	* XEmacs 21.2.12 is released
+
+1999-03-03  Gleb Arshinov  <gleb@cs.stanford.edu>
+
+	* xemacs.mak (HAVE_XFACE): fix for building without X-Face support
+	provided by Brent B. Powers <bpowers@ms.com>.
+
+	* xemacs.mak (CONFIG_ERROR): Misc error detection for build with
+	X-Face.
+
+1999-02-01  Gleb Arshinov  <gleb@cs.stanford.edu>
+
+	* README: Document the X-Face build option.
+
+	* compface.mak: New file
+	  Makefile for building compface library under MSVC.  Build
+	  library only, not executables.  Should be extended to build
+	  executables and propagated upstream, if possible.
+
+	* xemacs.mak: Link in X-Face/Compface for NT native build.
+
 1999-03-01  XEmacs Build Bot <builds@cvs.xemacs.org>
 
 	* XEmacs 21.2.11 is released
 4.  If you want JPEG support grab the latest version of jpegsrc (jpeg-6b at 
     time of writing) and read the README for details on how to build it.
 
-5.  cd to the nt subdirectory of the xemacs distribution and build xemacs:
+5.  If you want X-Face support, grab compface distribution and unpack it 
+    somewhere.  Copy nt\compface.mak from xemacs sources to the compface
+    directory.  cd to that directory and build libcompface with 
+    'nmake -f compface.mak'.
+
+6.  cd to the nt subdirectory of the xemacs distribution and build xemacs:
     `nmake install -f xemacs.mak`, but read on before hitting Enter.
 
-6.  If you're building with XPM support, add this to the nmake command line:
+7.  If you're building with XPM support, add this to the nmake command line:
 	HAVE_XPM=1 XPM_DIR="x:\location\of\your\xpm\sources"
     and similarly for JPEG and TIFF support.
 
     If you want to build with GIF support, add this to the nmake command line:
 	HAVE_GIF=1
 
-7.  By default, XEmacs will expect to find its packages in the subdirectories
+    If you're building with X-Face support, add this to the nmake command line:
+    HAVE_XFACE=1 COMPFACE_DIR="x:\location\of\your\compface\sources"
+
+8.  By default, XEmacs will expect to find its packages in the subdirectories
     "site-packages", "mule-packages" and "xemacs-packages" under the package
     prefix directory "c:\Program Files\XEmacs". If you want it to look for
     these subdirectories elsewhere, add this to the nmake command line:
     after you've built XEmacs, delete the file .\obj\emacs.obj and rebuild with
     the new PACKAGE_PREFIX.
 
-8.  By default, XEmacs will be installed in directories under the directory
+9.  By default, XEmacs will be installed in directories under the directory
     "c:\Program Files\XEmacs\XEmacs-21.0". If you want to install it elsewhere,
     add this to the nmake command line:
 	INSTALL_DIR="x:\your\installation\directory"
 
-9.  Now you can press Enter. nmake will build temacs, the DOC file, update the
+10. Now you can press Enter. nmake will build temacs, the DOC file, update the
     elc's, dump xemacs and install the relevant files in the directories under
     the installation directory. Unless you set INSTALL_DIR above, the file that
     you should run to start XEmacs will be installed as 
     "c:\Program Files\XEmacs\XEmacs-21.0\i386-pc-win32\runemacs.exe". You may
     want to create a shortcut to that file from your Desktop or Start Menu.
 
-10. The build process always creates debugging and "Source Browser" information
+11. The build process always creates debugging and "Source Browser" information
     in the source tree for use with MS DevStudio. If you actually want to debug
     XEmacs you should run XEmacs from the source directory instead of from the
     installation directory. You should probably also build a debug version of

File nt/compface.mak

+#
+# Compface Makefile for Microsoft NMAKE
+# Based on xpm.mak
+#
+
+!if !defined(DEBUG_XEMACS)
+DEBUG_XEMACS=0
+!endif
+
+!if $(DEBUG_XEMACS)
+OPT=-Od -Zi
+!else
+OPT=-O2 -G5 -Zi
+!endif
+
+WARN_CPP_FLAGS = -W3
+
+#MSVC uses string.h, not strings.h
+DEFINES=-DSYSV32
+
+CC=cl
+CFLAGS=-nologo -DFOR_MSW $(WARN_CPP_FLAGS) $(OPT) $(INCLUDES) $(DEFINES) -Fo$@ -c
+
+OBJS= arith.obj file.obj compress.obj gen.obj uncompface.obj
+
+# nmake rule
+
+.SUFFIXES:
+.SUFFIXES:	.c
+
+.c.obj:
+	$(CC) $(CFLAGS) $< -Fo$@
+
+
+# targets
+
+all: libcompface.lib
+
+libcompface.lib: $(OBJS)
+	link.exe -lib -nologo -out:$@ $(OBJS)

File nt/xemacs.mak

 !if !defined(HAVE_JPEG)
 HAVE_JPEG=0
 !endif
+!if !defined(HAVE_XFACE)
+HAVE_XFACE=0
+!endif
 !if !defined(HAVE_GIF)
 HAVE_GIF=1
 !endif
 !message Specified JPEG directory does not contain "$(JPEG_DIR)\libjpeg.lib"
 CONFIG_ERROR=1
 !endif
+!if $(HAVE_MSW) && $(HAVE_XFACE) && !defined(COMPFACE_DIR)
+!message Please specify root directory for your COMPFACE installation: COMPFACE_DIR=path
+CONFIG_ERROR=1
+!endif
+!if $(HAVE_MSW) && $(HAVE_XFACE) && !exist("$(COMPFACE_DIR)\libcompface.lib")
+!message Specified COMPFACE directory does not contain "$(COMPFACE_DIR)\libcompface.lib"
+CONFIG_ERROR=1
+!endif
 !if $(HAVE_MSW) && $(HAVE_TOOLBARS) && !$(HAVE_XPM)
 !error Toolbars require XPM support
 CONFIG_ERROR=1
 !if $(HAVE_JPEG)
 !message Compiling in support for JPEG images.
 !endif
+!if $(HAVE_XFACE)
+!message Compiling in support for X-Face message headers.
+!endif
 !if $(HAVE_TOOLBARS)
 !message Compiling in support for toolbars.
 !endif
 MSW_INCLUDES=$(MSW_INCLUDES) -I"$(JPEG_DIR)"
 MSW_LIBS=$(MSW_LIBS) "$(JPEG_DIR)\libjpeg.lib"
 !endif
+!if $(HAVE_XFACE)
+MSW_DEFINES=$(MSW_DEFINES) -DHAVE_XFACE
+MSW_INCLUDES=$(MSW_INCLUDES) -I"$(COMPFACE_DIR)"
+MSW_LIBS=$(MSW_LIBS) "$(COMPFACE_DIR)\libcompface.lib"
+!endif
 !if $(HAVE_TOOLBARS)
 MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TOOLBARS
 MSW_TOOLBAR_SRC=$(XEMACS)\src\toolbar.c $(XEMACS)\src\toolbar-msw.c

File src/.cvsignore

+Makefile.in
+paths.h
+config.h
+Emacs.ad.h
+Makefile
+GNUmakefile
+puresize-adjust.h
+sheap-adjust.h
+temacs
+SATISFIED
+update-elc.stamp

File src/ChangeLog

+1999-03-05  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+	* XEmacs 21.2.12 is released
+
+1999-02-16  Kazuyuki IENAGA  <ienaga@jsys.co.jp>
+
+	* device-x.c: Support to find best visual without flashing.
+
+1999-03-02  Paul Keusemann  <pkeusem@visi.com>
+
+	* database.c (berkdb_map): Add flags argument to cursor call (must
+	  be 0 according to docs) required for Berkeley DB 2.6.4 and later.
+
+1999-03-03  Martin Buchholz  <martin@xemacs.org>
+
+	* hash.c:
+	* hash.h:
+	General cleanup.  Get free-hook.c working again.
+	Remove unused functions:
+	make_strings_hash_table, copy_hash, expand_hash_table.
+
+	* malloc.c:
+	* mem-limits.h:
+	Always use new ANSI-style function prototypes.
+
+	* unexalpha.c (unexec): Never use implicit int.
+
+	* sgiplay.c (close_sound_file):
+	(play_sound_file):
+	(restore_audio_port):
+	(play_sound_data):
+	(audio_initialize):
+	(play_internal):
+	(drain_audio_port):
+	(write_mulaw_8_chunk):
+	(write_linear_chunk):
+	(write_linear_32_chunk):
+	(initialize_audio_port):
+	(open_audio_port):
+	(set_channels):
+	(set_output_format):
+	(adjust_audio_volume):
+	(get_current_volumes):
+	(parse_snd_header):
+	Always use new ANSI-style function prototypes.
+	Use unistd.h for missing prototypes.
+
+	* unexelfsgi.c (round_up):
+	(find_section):
+	(unexec): Always use new ANSI-style function prototypes
+
+	* elhash.c (struct Lisp_Hash_Table): rename golden to golden_ratio
+
+	* console.h (struct console_methods): Always use full ANSI prototypes
+
+	* emacs.c (__sti__iflPNGFile_c___): Always use full ANSI prototypes
+
+1999-03-02  Andy Piper  <andy@xemacs.org>
+
+	* event-stream.c (init_event_stream): make sure native mswindows
+ 	gets an appropriate event loop.
+
+1999-02-22  Andy Piper  <andy@xemacs.org>
+
+	* frame-msw.c (mswindows_make_frame_visible): use SW_SHOW rather
+	than SW_SHOWNORMAL to prevent resizing of maximised frames.
+	(mswindows_raise_frame): remove comment.
+
 1999-03-01  XEmacs Build Bot <builds@cvs.xemacs.org>
 
 	* XEmacs 21.2.11 is released
 
 1999-02-17  Kazuo Oishi <oishi@ae.agr.yamaguchi-u.ac.jp>
 
-	* glyphs-x.c (cononvert_EImage_to_XImage): correct 
+	* glyphs-x.c (cononvert_EImage_to_XImage): correct
 	bytes per pixel counting.
 
 1999-02-15  Andy Piper  <andy@xemacs.org>
 
 1999-02-02  Gleb Arshinov  <gleb@cs.stanford.edu>
 
-	* process-nt.c (nt_send_process): 
+	* process-nt.c (nt_send_process):
  	Fix for process-send-region/process-send-string breaking when size
 	of the input > 128 chars: change maximum chunk size for process
 	stream from 512 to 128, thus guaranteeing that ntpipe_shove_writer
 	* bytecode.c (funcall_compiled_function): Call
 	UNBIND_TO_GCPRO instead of UNBIND_TO_GCPRO_VARIABLES_ONLY.
 
-	* backtrace.h (UNBIND_TO_GCPRO_VARIABLES_ONLY): 
+	* backtrace.h (UNBIND_TO_GCPRO_VARIABLES_ONLY):
 	#ifdef 0 out unused macro.
 
 1999-01-27  Martin Buchholz  <martin@xemacs.org>
 
 	* glyphs-eimage.c (gif_instantiate): Correct handling of
 	interlaced gifs to avoid writing past the end of the eimage
-	buffer. 
+	buffer.
 
 1999-01-13  Hrvoje Niksic  <hniksic@srce.hr>