#!/bin/sh
#### Patch script - GNU Emacs - version 19.26 to 19.27

#### This file contains patches to turn version 19.26 of GNU Emacs into
#### 19.27.  To apply them, cd to the top of the Emacs source tree, and
#### then type 'sh <this file>'.

#### After you apply the patches, you should run Emacs (an earlier 19 will do)
#### and type M-x byte-recompile-directory RET lisp RET
#### to recompile the changed Emacs Lisp files.
#### Then you can build the new Emacs version.

#### We don't include patches for Info files since you can
#### regenerate them from the Texinfo files that we do include.
#### To update the changed info files, do
#### (cd man; makeinfo emacs.texi; makeinfo gnus.texi)

### Patchmaker's checklist:
### - update version numbers in comments and version.el tweak
### - diff -u ls -R listings, and decide on rm's and mv's.
### - apply rm's and mv's, and then do a diff -cprP --exclude=\*.elc 
###   to generate the body.
### - insert the body just before the line saying `end-of-emacs-patch-kit'.

if [ -d lisp ] ; then
  true
else
  if [ -d emacs-19.26/lisp ] ; then
    cd emacs-19.26
  else
    (echo "$0: In order to apply this patch, the current directory"
     echo "must be the top of the Emacs distribution tree.") >&2
    exit 1
  fi
fi

patch -p1 << \end-of-emacs-patch-kit
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/ChangeLog emacs-19.27/ChangeLog
*** emacs-19.26/ChangeLog	Wed Sep  7 03:57:13 1994
--- emacs-19.27/ChangeLog	Sun Sep 11 14:58:23 1994
***************
*** 1,2 ****
--- 1,6 ----
+ Sun Sep 11 14:56:01 1994  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
+ 
+ 	* Version 19.27 released.
+ 
  Wed Sep  7 03:53:50 1994  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
  
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/PROBLEMS emacs-19.27/PROBLEMS
*** emacs-19.26/PROBLEMS	Mon Aug 29 23:48:41 1994
--- emacs-19.27/PROBLEMS	Sat Sep 10 14:35:10 1994
***************
*** 2,5 ****
--- 2,17 ----
  in compiling, installing and running GNU Emacs.
  
+ * You can't select from submenus (in the X toolkit version).
+ 
+ On certain systems, mouse-tracking and selection in top-level menus
+ works properly with the X toolkit, but neither of them works when you
+ bring up a submenu (such as Bookmarks or Compare or Apply Patch, in
+ the Files menu).
+ 
+ This works on most systems.  There is speculation that the failure is
+ due to bugs in old versions of X toolkit libraries, but no one really
+ knows.  If someone debugs this and finds the precise cause, perhaps a
+ workaround can be found.
+ 
  * On HPUX 9.05 and 9.06, C-c and C-z are not turned off in the terminal driver.
  
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/README emacs-19.27/README
*** emacs-19.26/README	Wed Sep  7 06:33:04 1994
--- emacs-19.27/README	Sun Sep 11 21:15:36 1994
***************
*** 1,3 ****
! This directory tree holds version 19.26 of GNU Emacs, the extensible,
  customizable, self-documenting real-time display editor.
  
--- 1,3 ----
! This directory tree holds version 19.27 of GNU Emacs, the extensible,
  customizable, self-documenting real-time display editor.
  
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/config.sub emacs-19.27/config.sub
*** emacs-19.26/config.sub	Wed Sep  7 06:33:02 1994
--- emacs-19.27/config.sub	Sun Sep 11 21:15:33 1994
***************
*** 104,107 ****
--- 104,110 ----
  		os=-lynxos
  		;;
+ 	-ptx*)
+ 		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ 		;;
  esac
  
***************
*** 110,117 ****
  	# Recognize the basic CPU types without company name.
  	# Some are omitted here because they have special meanings below.
! 	tahoe | i[34]86 | i860 | m68k | m68000 | m88k | ns32k | arm | pyramid \
  		| tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 \
  		| alpha | we32k | ns16k | clipper | sparclite | i370 | sh \
! 		| powerpc | sparc64 | 1750a)
  		basic_machine=$basic_machine-unknown
  		;;
--- 113,120 ----
  	# Recognize the basic CPU types without company name.
  	# Some are omitted here because they have special meanings below.
! 	tahoe | i[345]86 | i860 | m68k | m68000 | m88k | ns32k | arm | pyramid \
  		| tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 \
  		| alpha | we32k | ns16k | clipper | sparclite | i370 | sh \
! 		| powerpc | sparc64 | 1750a | dsp16xx)
  		basic_machine=$basic_machine-unknown
  		;;
***************
*** 122,126 ****
  		;;
  	# Recognize the basic CPU types with company name.
! 	vax-* | tahoe-* | i[34]86-* | i860-* | m68k-* | m68000-* | m88k-* \
  	      | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
  	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
--- 125,129 ----
  		;;
  	# Recognize the basic CPU types with company name.
! 	vax-* | tahoe-* | i[345]86-* | i860-* | m68k-* | m68000-* | m88k-* \
  	      | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
  	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
***************
*** 285,301 ****
  		;;
  # I'm not sure what "Sysv32" means.  Should this be sysv3.2?
! 	i[34]86v32)
  		basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
  		os=-sysv32
  		;;
! 	i[34]86v4*)
  		basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
  		os=-sysv4
  		;;
! 	i[34]86v)
  		basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
  		os=-sysv
  		;;
! 	i[34]86sol2)
  		basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
  		os=-solaris2
--- 288,304 ----
  		;;
  # I'm not sure what "Sysv32" means.  Should this be sysv3.2?
! 	i[345]86v32)
  		basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
  		os=-sysv32
  		;;
! 	i[345]86v4*)
  		basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
  		os=-sysv4
  		;;
! 	i[345]86v)
  		basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
  		os=-sysv
  		;;
! 	i[345]86sol2)
  		basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
  		os=-solaris2
***************
*** 404,407 ****
--- 407,413 ----
  		basic_machine=romp-ibm
  		;;
+ 	sequent)
+ 		basic_machine=i386-sequent
+ 		;;
  	sh)
  		basic_machine=sh-hitachi
***************
*** 554,558 ****
  	# -sysv* is not here because it comes later, after sysvr4.
  	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
! 	      | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]* \
  	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
  	      | -amigados* | -msdos* | -newsos* | -unicos* | -aos* \
--- 560,564 ----
  	# -sysv* is not here because it comes later, after sysvr4.
  	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
! 	      | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[345]* \
  	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
  	      | -amigados* | -msdos* | -newsos* | -unicos* | -aos* \
***************
*** 560,564 ****
  	      | -riscos* | -linux* | -uniplus* | -iris* | -rtu* | -xenix* \
  	      | -hiux* | -386bsd* | -netbsd* | -freebsd* | -riscix* \
! 	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf*)
  		;;
  	-sunos5*)
--- 566,571 ----
  	      | -riscos* | -linux* | -uniplus* | -iris* | -rtu* | -xenix* \
  	      | -hiux* | -386bsd* | -netbsd* | -freebsd* | -riscix* \
! 	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
! 	      | -ptx*)
  		;;
  	-sunos5*)
***************
*** 678,682 ****
  		;;
  	*-sequent)
! 		os=-bsd
  		;;
  	*-crds)
--- 685,689 ----
  		;;
  	*-sequent)
! 		os=-ptx
  		;;
  	*-crds)
***************
*** 692,698 ****
  		os=-nextstep3
  		;;
- 	i[34]86-*)
- 		os=-sco3.2v2
- 		;;
          *-gould)
  		os=-sysv
--- 699,702 ----
***************
*** 754,757 ****
--- 758,764 ----
  			-mvs*)
  				vendor=ibm
+ 				;;
+ 			-ptx*)
+ 				vendor=sequent
  				;;
  		esac
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/etc/MACHINES emacs-19.27/etc/MACHINES
*** emacs-19.26/etc/MACHINES	Mon Sep  5 21:16:13 1994
--- emacs-19.27/etc/MACHINES	Tue Sep 13 18:53:58 1994
***************
*** 499,503 ****
    In the above configurations, * means that the manufacturer's name
    you specify does not matter, and you can use any name you like
!   (but it should not contain any dashes).
  
    When using the ISC configurations, be sure to specify the isc
--- 499,503 ----
    In the above configurations, * means that the manufacturer's name
    you specify does not matter, and you can use any name you like
!   (but it should not contain any dashes or stars).
  
    When using the ISC configurations, be sure to specify the isc
***************
*** 511,515 ****
  
    On GNU/Linux systems, Emacs 19.23 was said to work properly with libc
!   version 4.5.21, but not with 4.5.19.
  
    On GNU/Linux, configure may fail to put these definitions in config.h:
--- 511,516 ----
  
    On GNU/Linux systems, Emacs 19.23 was said to work properly with libc
!   version 4.5.21, but not with 4.5.19.  If your system uses QMAGIC
!   for the executable format, you must edit config.h to define LINUX_QMAGIC.
  
    On GNU/Linux, configure may fail to put these definitions in config.h:
***************
*** 598,604 ****
    19.22 was known to work on all Silicon Graphics machines running
    IRIX 4.0.5 or IRIX 5.1.
- 
-   Compiling with GCC on IRIX 5 is said to fail, perhaps because GCC
-   produces something src/unexelfsgi.c doesn't understand.
  
    Compiling with -O using IRIX compilers prior to 3.10.1 may not work.
--- 599,602 ----
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/etc/NEWS emacs-19.27/etc/NEWS
*** emacs-19.26/etc/NEWS	Wed Sep  7 03:59:02 1994
--- emacs-19.27/etc/NEWS	Tue Sep 13 00:32:13 1994
***************
*** 1,3 ****
! GNU Emacs NEWS -- history of user-visible changes.  7 Sep 1994
  Copyright (C) 1993, 1994 Free Software Foundation, Inc.
  See the end for copying conditions.
--- 1,3 ----
! GNU Emacs NEWS -- history of user-visible changes.  10 Sep 1994
  Copyright (C) 1993, 1994 Free Software Foundation, Inc.
  See the end for copying conditions.
***************
*** 5,8 ****
--- 5,23 ----
  Please send Emacs bug reports to bug-gnu-emacs@prep.ai.mit.edu.
  For older news, see the file ONEWS.
+ 
+ * Changes in Emacs 19.27
+ 
+ There are no changes; however, here is one bug fix made in 19.26
+ that users think should be documented here.
+ 
+ ** SPC and DEL in Info now handle menus consistently.
+ 
+ SPC and DEL scroll through an entire subtree an Info manual.  Once you
+ scroll through a node far enough to reach a menu, SPC begins moving
+ into the subnodes of the menu, starting with the first one.  When you
+ reach the end of a subnode, SPC moves into the next subnode, and so
+ on.
+ 
+ DEL more or less scrolls through the same text in reverse order.
  
  * User Editing Changes in Emacs 19.26
Binary files emacs-19.26/etc/foomacs and emacs-19.27/etc/foomacs differ
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/lib-src/ChangeLog emacs-19.27/lib-src/ChangeLog
*** emacs-19.26/lib-src/ChangeLog	Wed Sep  7 03:56:21 1994
--- emacs-19.27/lib-src/ChangeLog	Sun Sep 11 14:57:09 1994
***************
*** 1,2 ****
--- 1,6 ----
+ Sun Sep 11 14:56:01 1994  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
+ 
+ 	* Version 19.27 released.
+ 
  Wed Sep  7 03:53:50 1994  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
  
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/lib-src/getdate.y emacs-19.27/lib-src/getdate.y
*** emacs-19.26/lib-src/getdate.y	Mon May  9 22:09:39 1994
--- emacs-19.27/lib-src/getdate.y	Thu Sep  8 00:32:36 1994
***************
*** 487,490 ****
--- 487,491 ----
      { "mewt",	tZONE,     -HOUR(1) },	/* Middle European Winter */
      { "mest",	tDAYZONE,  -HOUR(1) },	/* Middle European Summer */
+     { "mesz",	tDAYZONE,  -HOUR(1) },	/* Middle European Summer */
      { "swt",	tZONE,     -HOUR(1) },	/* Swedish Winter */
      { "sst",	tDAYZONE,  -HOUR(1) },	/* Swedish Summer */
***************
*** 503,507 ****
      { "zp6",	tZONE,     -HOUR(6) },	/* USSR Zone 5 */
  #if	0
!     /* For completeness.  NST is also Newfoundland Stanard, and SST is
       * also Swedish Summer. */
      { "nst",	tZONE,     -HOUR(6.5) },/* North Sumatra */
--- 504,508 ----
      { "zp6",	tZONE,     -HOUR(6) },	/* USSR Zone 5 */
  #if	0
!     /* For completeness.  NST is also Newfoundland Standard, and SST is
       * also Swedish Summer. */
      { "nst",	tZONE,     -HOUR(6.5) },/* North Sumatra */
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/lisp/ChangeLog emacs-19.27/lisp/ChangeLog
*** emacs-19.26/lisp/ChangeLog	Thu Sep  8 15:51:27 1994
--- emacs-19.27/lisp/ChangeLog	Sun Sep 11 14:56:52 1994
***************
*** 1,2 ****
--- 1,22 ----
+ Sun Sep 11 14:56:01 1994  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
+ 
+ 	* Version 19.27 released.
+ 
+ Sun Sep 11 01:41:49 1994  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
+ 
+ 	* ispell.el: Further split the Ispell menu autoloads.
+ 
+ Sat Sep 10 16:37:11 1994  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
+ 
+ 	* rmailsum.el (rmail-summary-goto-msg): Preserve the current buffer.
+ 
+ Fri Sep  9 17:35:23 1994  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
+ 
+ 	* window.el (shrink-window-if-larger-than-buffer): Doc fix.
+ 
+ Thu Sep  8 19:28:02 1994  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
+ 
+ 	* vc.el (vc-do-command): Temporarily add vc-path to the end of PATH.
+ 
  Thu Sep  8 13:41:12 1994  Karl Heuer  <kwzh@hal.gnu.ai.mit.edu>
  
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/lisp/bibtex.el emacs-19.27/lisp/bibtex.el
*** emacs-19.26/lisp/bibtex.el	Thu Jun 16 11:11:54 1994
--- emacs-19.27/lisp/bibtex.el	Thu Sep  8 13:40:26 1994
***************
*** 248,263 ****
  	 (string-equal (upcase ss1) (upcase ss2)))))
  
- ;;; This should be moved into simple.el, and the functions there modified
- ;;; to call it rather than doing it themselves.
- (defun put-string-on-kill-ring (string)
-   "Make STRING be the first element of the kill ring."
-   (setq kill-ring (cons string kill-ring))
-   (if (> (length kill-ring) kill-ring-max)
-       (setcdr (nthcdr (1- kill-ring-max) kill-ring) nil))
-   (setq kill-ring-yank-pointer kill-ring))
  
  
  
- 
  (defvar bibtex-clean-entry-zap-empty-opts t
    "*If non-nil, bibtex-clean-entry will delete all empty optional fields.")
--- 248,254 ----
***************
*** 588,592 ****
  		    key)))
        (if kill
! 	  (put-string-on-kill-ring val))
        val)))
  
--- 579,583 ----
  		    key)))
        (if kill
! 	  (kill-new val))
        val)))
  
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/lisp/ispell.el emacs-19.27/lisp/ispell.el
*** emacs-19.26/lisp/ispell.el	Tue Aug 30 04:21:04 1994
--- emacs-19.27/lisp/ispell.el	Sun Sep 11 01:41:12 1994
***************
*** 536,540 ****
  	'("Check Word" . ispell-word))
        (define-key ispell-menu-map [ispell-buffer]
! 	'("Check Buffer" . ispell-buffer))
        (define-key ispell-menu-map [ispell-message]
  	'("Check Message" . ispell-message))
--- 536,544 ----
  	'("Check Word" . ispell-word))
        (define-key ispell-menu-map [ispell-buffer]
! 	'("Check Buffer" . ispell-buffer))))
! 
! ;;;###autoload
! (if ispell-menu-map-needed
!     (progn
        (define-key ispell-menu-map [ispell-message]
  	'("Check Message" . ispell-message))
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/lisp/loaddefs.el emacs-19.27/lisp/loaddefs.el
*** emacs-19.26/lisp/loaddefs.el	Sun Sep  4 20:44:21 1994
--- emacs-19.27/lisp/loaddefs.el	Sun Sep 11 01:45:14 1994
***************
*** 3633,3637 ****
  ;;;***
  
! ;;;### (autoloads (ispell-message ispell-complete-word-interior-frag ispell-complete-word ispell-continue ispell-buffer ispell-region ispell-change-dictionary ispell-kill-ispell ispell-help ispell-word) "ispell" "ispell.el" (11874 60400))
  ;;; Generated autoloads from ispell.el
  
--- 3633,3637 ----
  ;;;***
  
! ;;;### (autoloads (ispell-message ispell-complete-word-interior-frag ispell-complete-word ispell-continue ispell-buffer ispell-region ispell-change-dictionary ispell-kill-ispell ispell-help ispell-word) "ispell" "ispell.el" (11890 39032))
  ;;; Generated autoloads from ispell.el
  
***************
*** 3690,3695 ****
  (if ispell-menu-map-needed (progn (define-key ispell-menu-map [ispell-change-dictionary] (quote ("Change Dictionary" . ispell-change-dictionary))) (define-key ispell-menu-map [ispell-kill-ispell] (quote ("Kill Process" . ispell-kill-ispell))) (define-key ispell-menu-map [ispell-pdict-save] (quote ("Save Dictionary" lambda nil (interactive) (ispell-pdict-save t)))) (define-key ispell-menu-map [ispell-complete-word] (quote ("Complete Word" . ispell-complete-word))) (define-key ispell-menu-map [ispell-complete-word-interior-frag] (quote ("Complete Word Frag" . ispell-complete-word-interior-frag)))))
  
! (if ispell-menu-map-needed (progn (define-key ispell-menu-map [ispell-continue] (quote ("Continue Check" . ispell-continue))) (define-key ispell-menu-map [ispell-region] (quote ("Check Region" . ispell-region))) (define-key ispell-menu-map [ispell-word] (quote ("Check Word" . ispell-word))) (define-key ispell-menu-map [ispell-buffer] (quote ("Check Buffer" . ispell-buffer))) (define-key ispell-menu-map [ispell-message] (quote ("Check Message" . ispell-message))) (define-key ispell-menu-map [ispell-help] (quote ("Help" lambda nil (interactive) (describe-function (quote ispell-help))))) (put (quote ispell-region) (quote menu-enable) (quote mark-active))))
  
  (fset (quote ispell-menu-map) (symbol-value (quote ispell-menu-map)))
  (define-key global-map "\M-$" 'ispell-word)
--- 3690,3697 ----
  (if ispell-menu-map-needed (progn (define-key ispell-menu-map [ispell-change-dictionary] (quote ("Change Dictionary" . ispell-change-dictionary))) (define-key ispell-menu-map [ispell-kill-ispell] (quote ("Kill Process" . ispell-kill-ispell))) (define-key ispell-menu-map [ispell-pdict-save] (quote ("Save Dictionary" lambda nil (interactive) (ispell-pdict-save t)))) (define-key ispell-menu-map [ispell-complete-word] (quote ("Complete Word" . ispell-complete-word))) (define-key ispell-menu-map [ispell-complete-word-interior-frag] (quote ("Complete Word Frag" . ispell-complete-word-interior-frag)))))
  
! (if ispell-menu-map-needed (progn (define-key ispell-menu-map [ispell-continue] (quote ("Continue Check" . ispell-continue))) (define-key ispell-menu-map [ispell-region] (quote ("Check Region" . ispell-region))) (define-key ispell-menu-map [ispell-word] (quote ("Check Word" . ispell-word))) (define-key ispell-menu-map [ispell-buffer] (quote ("Check Buffer" . ispell-buffer)))))
  
+ (if ispell-menu-map-needed (progn (define-key ispell-menu-map [ispell-message] (quote ("Check Message" . ispell-message))) (define-key ispell-menu-map [ispell-help] (quote ("Help" lambda nil (interactive) (describe-function (quote ispell-help))))) (put (quote ispell-region) (quote menu-enable) (quote mark-active))))
+ 
  (fset (quote ispell-menu-map) (symbol-value (quote ispell-menu-map)))
  (define-key global-map "\M-$" 'ispell-word)
***************
*** 4825,4829 ****
  ;;;***
  
! ;;;### (autoloads (resize-minibuffer-mode) "rsz-mini" "rsz-mini.el" (11716 34108))
  ;;; Generated autoloads from rsz-mini.el
  
--- 4827,4831 ----
  ;;;***
  
! ;;;### (autoloads (resize-minibuffer-mode) "rsz-mini" "rsz-mini.el" (11812 8733))
  ;;; Generated autoloads from rsz-mini.el
  
***************
*** 4837,4846 ****
  
  (defvar resize-minibuffer-window-exactly t "\
! *If non-`nil', make minibuffer exactly the size needed to display all its contents.
! Otherwise, the minibuffer window can temporarily increase in size but
! never get smaller while it is active.")
  
  (defvar resize-minibuffer-frame nil "\
! *If non-`nil' and the active minibuffer is the sole window in its frame, allow changing the frame height.")
  
  (defvar resize-minibuffer-frame-max-height nil "\
--- 4839,4851 ----
  
  (defvar resize-minibuffer-window-exactly t "\
! *Allow making minibuffer exactly the size to display all its contents.
! If `nil', the minibuffer window can temporarily increase in size but
! never get smaller while it is active.  Any other value allows exact
! resizing.")
  
  (defvar resize-minibuffer-frame nil "\
! *Allow changing the frame height of minibuffer frames.
! If non-`nil' and the active minibuffer is the sole window in its frame,
! allow changing the frame height.")
  
  (defvar resize-minibuffer-frame-max-height nil "\
***************
*** 4848,4855 ****
  If less than 1 or not a number, there is no limit.")
  
! (defvar resize-minibuffer-frame-exactly nil "\
! *If non-`nil', make minibuffer frame exactly the size needed to display all its contents.
! Otherwise, the minibuffer frame can temporarily increase in size but
! never get smaller while it is active.")
  
  (autoload (quote resize-minibuffer-mode) "rsz-mini" "\
--- 4853,4861 ----
  If less than 1 or not a number, there is no limit.")
  
! (defvar resize-minibuffer-frame-exactly t "\
! *Allow making minibuffer frame exactly the size to display all its contents.
! If `nil', the minibuffer frame can temporarily increase in size but
! never get smaller while it is active.  Any other value allows exact
! resizing.")
  
  (autoload (quote resize-minibuffer-mode) "rsz-mini" "\
***************
*** 4871,4875 ****
  display its contents.
  
! When using a window system, it is possible for a minibuffer to tbe the sole
  window in a frame.  Since that window is already its maximum size, the only
  way to make more text visible at once is to increase the size of the frame.
--- 4877,4881 ----
  display its contents.
  
! When using a window system, it is possible for a minibuffer to be the sole
  window in a frame.  Since that window is already its maximum size, the only
  way to make more text visible at once is to increase the size of the frame.
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/lisp/rmailsum.el emacs-19.27/lisp/rmailsum.el
*** emacs-19.26/lisp/rmailsum.el	Fri Aug 26 02:54:37 1994
--- emacs-19.27/lisp/rmailsum.el	Sat Sep 10 16:37:07 1994
***************
*** 781,785 ****
    (if (eobp) (forward-line -1))
    (beginning-of-line)
!   (let ((buf rmail-buffer)
  	(cur (point))
  	message-not-found
--- 781,786 ----
    (if (eobp) (forward-line -1))
    (beginning-of-line)
!   (let ((obuf (current-buffer))
! 	(buf rmail-buffer)
  	(cur (point))
  	message-not-found
***************
*** 833,837 ****
  	    (progn (pop-to-buffer buf)
  		   (rmail-show-message n))
! 	  (select-window selwin))))))
  
  (defun rmail-summary-scroll-msg-up (&optional dist)
--- 834,840 ----
  	    (progn (pop-to-buffer buf)
  		   (rmail-show-message n))
! 	  (select-window selwin)
! 	  ;; The actions above can alter the current buffer.  Preserve it.
! 	  (set-buffer obuf))))))
  
  (defun rmail-summary-scroll-msg-up (&optional dist)
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/lisp/vc.el emacs-19.27/lisp/vc.el
*** emacs-19.26/lisp/vc.el	Thu Aug 25 20:04:08 1994
--- emacs-19.27/lisp/vc.el	Thu Sep  8 19:27:54 1994
***************
*** 219,223 ****
  	(setq squeezed (append squeezed (list vc-file))))
      (let ((default-directory (file-name-directory (or file "./")))
! 	  (exec-path (if vc-path (append exec-path vc-path) exec-path)))
        (setq status (apply 'call-process command nil t nil squeezed)))
      (goto-char (point-max))
--- 219,228 ----
  	(setq squeezed (append squeezed (list vc-file))))
      (let ((default-directory (file-name-directory (or file "./")))
! 	  (exec-path (if vc-path (append exec-path vc-path) exec-path))
! 	  ;; Add vc-path to PATH for the execution of this command.
! 	  (process-environment
! 	   (cons (concat "PATH=" (getenv "PATH")
! 			 ":" (mapconcat 'identity vc-path ":"))
! 		 process-environment)))
        (setq status (apply 'call-process command nil t nil squeezed)))
      (goto-char (point-max))
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/lisp/version.el emacs-19.27/lisp/version.el
*** emacs-19.26/lisp/version.el	Sat Sep  3 21:57:44 1994
--- emacs-19.27/lisp/version.el	Sun Sep 11 21:12:27 1994
***************
*** 24,28 ****
  ;;; Code:
  
! (defconst emacs-version "19.26" "\
  Version numbers of this version of Emacs.")
  
--- 24,28 ----
  ;;; Code:
  
! (defconst emacs-version "19.27" "\
  Version numbers of this version of Emacs.")
  
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/lisp/window.el emacs-19.27/lisp/window.el
*** emacs-19.26/lisp/window.el	Tue Aug 30 19:55:59 1994
--- emacs-19.27/lisp/window.el	Fri Sep  9 17:35:09 1994
***************
*** 146,150 ****
  (defun shrink-window-if-larger-than-buffer (&optional window)
    "Shrink the WINDOW to be as small as possible to display its contents.
! Do not shrink to less that `window-min-height' lines.
  Do nothing if the buffer contains more lines than the present window height,
  or if some of the window's contents are scrolled out of view,
--- 146,150 ----
  (defun shrink-window-if-larger-than-buffer (&optional window)
    "Shrink the WINDOW to be as small as possible to display its contents.
! Do not shrink to less than `window-min-height' lines.
  Do nothing if the buffer contains more lines than the present window height,
  or if some of the window's contents are scrolled out of view,
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/man/custom.texi emacs-19.27/man/custom.texi
*** emacs-19.26/man/custom.texi	Fri Jul 29 14:46:15 1994
--- emacs-19.27/man/custom.texi	Sun Sep 11 13:22:03 1994
***************
*** 1576,1579 ****
--- 1576,1590 ----
  
  @item
+ @vindex user-mail-address
+ Specify your own email address, if Emacs can't figure it out correctly.
+ 
+ @example
+ (setq user-mail-address "coon@yoyodyne.com")
+ @end example
+ 
+ Various Emacs packages that need to use your own email address
+ use the value of @code{user-mail-address}.
+ 
+ @item
  Make Text mode the default mode for new buffers.
  
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/man/emacs.texi emacs-19.27/man/emacs.texi
*** emacs-19.26/man/emacs.texi	Thu Jul 28 16:56:30 1994
--- emacs-19.27/man/emacs.texi	Sun Sep 11 14:53:41 1994
***************
*** 4,8 ****
  @c The edition number appears in several places in this file
  This corresponds to the tenth edition of the @cite{GNU Emacs Manual},
! for Emacs version 19.26.
  @c Please REMEMBER to update edition number in *three* places in this file.
  
--- 4,8 ----
  @c The edition number appears in several places in this file
  This corresponds to the tenth edition of the @cite{GNU Emacs Manual},
! for Emacs version 19.27.
  @c Please REMEMBER to update edition number in *three* places in this file.
  
***************
*** 64,68 ****
  @center @titlefont{GNU Emacs Manual}
  @sp 4
! @center Tenth Edition, Updated for Emacs version 19.26
  @sp 5
  @center Richard Stallman
--- 64,68 ----
  @center @titlefont{GNU Emacs Manual}
  @sp 4
! @center Tenth Edition, Updated for Emacs version 19.27
  @sp 5
  @center Richard Stallman
***************
*** 72,76 ****
  @sp 2
  Tenth Edition @*
! Updated for Emacs Version 19.26, @*
  July 1994
  
--- 72,76 ----
  @sp 2
  Tenth Edition @*
! Updated for Emacs Version 19.27, @*
  July 1994
  
***************
*** 111,115 ****
  display editor.  This Info file describes how to edit with Emacs
  and some of how to customize it, but not how to extend it.  It
! corresponds to GNU Emacs version 19.26.
  
  @end ifinfo
--- 111,115 ----
  display editor.  This Info file describes how to edit with Emacs
  and some of how to customize it, but not how to extend it.  It
! corresponds to GNU Emacs version 19.27.
  
  @end ifinfo
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/man/gnus.texi emacs-19.27/man/gnus.texi
*** emacs-19.26/man/gnus.texi	Thu Aug  4 17:09:06 1994
--- emacs-19.27/man/gnus.texi	Sun Sep 11 14:52:45 1994
***************
*** 1668,1671 ****
--- 1668,1677 ----
  then type @kbd{C}.
  
+ @vindex user-mail-address
+   The variable @code{user-mail-address} specifies what GNUS should use
+ as your mailing address.  Its value is a string.  If Emacs doesn't get
+ this right on its own, you can specify the address to use by setting
+ this variable.
+ 
  @node Forward and Reply
  @section Forwarding Messages and Replying To Them
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/man/programs.texi emacs-19.27/man/programs.texi
*** emacs-19.26/man/programs.texi	Fri Aug  5 17:40:47 1994
--- emacs-19.27/man/programs.texi	Sun Sep 11 00:47:52 1994
***************
*** 1042,1050 ****
  subdirectories.
  
!   A change log entry starts with a header line that contains your name
! and the current date.  Aside from these header lines, every line in the
! change log starts with a space or a tab.  The bulk of the entry consists
! of @dfn{items}, each of which starts with a line starting with
! whitespace and a star.  Here are two entries, each with two items:
  
  @iftex
--- 1042,1051 ----
  subdirectories.
  
!   A change log entry starts with a header line that contains your name,
! your email address (taken from the variable @code{user-mail-address}),
! and the current date and time.  Aside from these header lines, every
! line in the change log starts with a space or a tab.  The bulk of the
! entry consists of @dfn{items}, each of which starts with a line starting
! with whitespace and a star.  Here are two entries, each with two items:
  
  @iftex
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/oldXMenu/ChangeLog emacs-19.27/oldXMenu/ChangeLog
*** emacs-19.26/oldXMenu/ChangeLog	Wed Sep  7 03:55:50 1994
--- emacs-19.27/oldXMenu/ChangeLog	Sun Sep 11 14:57:50 1994
***************
*** 1,2 ****
--- 1,6 ----
+ Sun Sep 11 14:56:01 1994  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
+ 
+ 	* Version 19.27 released.
+ 
  Wed Sep  7 03:54:08 1994  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
  
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/src/ChangeLog emacs-19.27/src/ChangeLog
*** emacs-19.26/src/ChangeLog	Thu Sep  8 15:14:06 1994
--- emacs-19.27/src/ChangeLog	Tue Sep 13 14:01:44 1994
***************
*** 1,2 ****
--- 1,14 ----
+ Sun Sep 11 14:56:01 1994  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
+ 
+ 	* Version 19.27 released.
+ 
+ Sat Sep 10 01:10:04 1994  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
+ 
+ 	* keymap.c (syms_of_keymap): Doc fix.
+ 
+ 	* keyboard.c (gobble_input): Block SIGALRM if we are using it.
+ 
+ 	* gmalloc.c: Bug fix affecting __ptrdiff_t in non-ANSI case.
+ 
  Wed Sep  7 03:54:08 1994  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
  
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/src/gmalloc.c emacs-19.27/src/gmalloc.c
*** emacs-19.26/src/gmalloc.c	Wed Sep  7 06:34:30 1994
--- emacs-19.27/src/gmalloc.c	Sun Sep 11 21:16:51 1994
***************
*** 1207,1211 ****
    return result;
  }
! /* Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
  This file is part of the GNU C Library.
  
--- 1207,1211 ----
    return result;
  }
! /* Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
  This file is part of the GNU C Library.
  
***************
*** 1248,1252 ****
--- 1248,1256 ----
  __ptr_t
  __default_morecore (increment)
+ #ifdef __STDC__
       ptrdiff_t increment;
+ #else
+      int increment;
+ #endif
  {
    __ptr_t result = (__ptr_t) __sbrk ((int) increment);
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/src/keyboard.c emacs-19.27/src/keyboard.c
*** emacs-19.26/src/keyboard.c	Tue Sep  6 02:48:45 1994
--- emacs-19.27/src/keyboard.c	Sat Sep 10 01:09:59 1994
***************
*** 3416,3420 ****
  }
  
! /* Interface to read_avail_input, blocking SIGIO if necessary.  */
  
  int
--- 3416,3420 ----
  }
  
! /* Interface to read_avail_input, blocking SIGIO or SIGALRM if necessary.  */
  
  int
***************
*** 3428,3431 ****
--- 3428,3441 ----
        SIGMASKTYPE mask;
        mask = sigblockx (SIGIO);
+       read_avail_input (expected);
+       sigsetmask (mask);
+     }
+   else
+ #endif
+ #ifdef POLL_FOR_INPUT
+   if (read_socket_hook && !interrupt_input && poll_suppress_count == 0)
+     {
+       SIGMASKTYPE mask;
+       mask = sigblockx (SIGALRM);
        read_avail_input (expected);
        sigsetmask (mask);
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/src/keymap.c emacs-19.27/src/keymap.c
*** emacs-19.26/src/keymap.c	Thu Aug 11 15:45:32 1994
--- emacs-19.27/src/keymap.c	Sat Sep 10 15:14:29 1994
***************
*** 2438,2450 ****
  terminals at any point in a key sequence.\n\
  \n\
! The read-key-sequence function replaces subsequences bound by\n\
! function-key-map with their bindings.  When the current local and global\n\
  keymaps have no binding for the current key sequence but\n\
! function-key-map binds a suffix of the sequence to a vector or string,\n\
! read-key-sequence replaces the matching suffix with its binding, and\n\
  continues with the new sequence.\n\
  \n\
! For example, suppose function-key-map binds `ESC O P' to [f1].\n\
! Typing `ESC O P' to read-key-sequence would return [f1].  Typing\n\
  `C-x ESC O P' would return [?\\C-x f1].  If [f1] were a prefix\n\
  key, typing `ESC O P x' would return [f1 x].");
--- 2438,2453 ----
  terminals at any point in a key sequence.\n\
  \n\
! The `read-key-sequence' function replaces any subsequence bound by\n\
! `function-key-map' with its binding.  More precisely, when the active\n\
  keymaps have no binding for the current key sequence but\n\
! `function-key-map' binds a suffix of the sequence to a vector or string,\n\
! `read-key-sequence' replaces the matching suffix with its binding, and\n\
  continues with the new sequence.\n\
  \n\
! The events that come from bindings in `function-key-map' are not\n\
! themselves looked up in `function-key-map'.\n\
! \n\
! For example, suppose `function-key-map' binds `ESC O P' to [f1].\n\
! Typing `ESC O P' to `read-key-sequence' would return [f1].  Typing\n\
  `C-x ESC O P' would return [?\\C-x f1].  If [f1] were a prefix\n\
  key, typing `ESC O P x' would return [f1 x].");
diff -rc2P --exclude-from=/gd2/gnu/emacs/exceptions emacs-19.26/src/xterm.c emacs-19.27/src/xterm.c
*** emacs-19.26/src/xterm.c	Mon Aug 29 22:54:03 1994
--- emacs-19.27/src/xterm.c	Sat Sep 10 16:00:37 1994
***************
*** 6281,6285 ****
    change_input_fd (ConnectionNumber (x_current_display));
  
! #endif /* ! defined (HAVE_X11) */
    
  #ifndef F_SETOWN_BUG
--- 6281,6285 ----
    change_input_fd (ConnectionNumber (x_current_display));
  
! #endif /* HAVE_X11 */
    
  #ifndef F_SETOWN_BUG

end-of-emacs-patch-kit
