This is a patch to allow Dave Gillespie's info.el (v 1.05 or 1.04) to work
with gzip'ed info files and also uses gmhist in the Info-search command
enabling history searches.

gmhist is available from

  /ftp.cs.buffalo.edu:pub/Emacs/gmhist.tar.Z
  /ftp.uni-koeln.de:/pub/gnu/emacs/gmhist.tar.Z
  /roebling.poly.edu:/pub/kremer/gmhist.tar[.z]

[Patch is originally from Lawrence R. Dodd]

[Note: I have disabled gmhist usage for this distribution and changed
"gunzip" to "gzip -d" and "uncompress" to "compress -d" , I have also
changed -c to /c for OS/2's cmd.exe.  - Kai Uwe Rommel]

============================
GNU diff version 2.0
*** info.el-1.05	Thu Jan 28 10:26:19 1993
--- info.el-1.05.3	Fri Feb 19 21:55:22 1993
***************
*** 184,189 ****
--- 184,206 ----
  ;;
  ;; Fixed some long lines that were causing trouble with mailers.
  
+ ;; Modified 1/28/93 by Lawrence R. Dodd (dodd@roebling.poly.edu) made to
+ ;; version 1.05 of Dave Gillespie's info.el
+ ;; 
+ ;;  * use gmhist for `Info-search' 
+ ;;
+ ;;  * include gunzip to `Info-suffix-list' to allow decoding of gzip (GNU zip)
+ ;;    info files
+ ;;	
+ ;; Modified 1/29/93 by Lawrence R. Dodd (dodd@roebling.poly.edu) 
+ ;; 
+ ;;  * defined `Info-suffix-list' using `defconst' instead of `defvar' to 
+ ;;  facilitate emacs dumping. Thanks to Prof. Meinhard E. Mayer (Hardy) 
+ ;;  <hardy@golem.ps.uci.edu>.
+ 
+ ;; use gmhist to regexp searching - lrd
+ ; (require 'gmhist)
+ 
  (provide 'info)
  
  (defvar Info-mouse-support t
***************
*** 219,228 ****
  Default is to use the environment variable INFOPATH if it exists,
  else to use Info-directory if it exists.")
  
! (defvar Info-suffix-list '( (".info" . nil)
! 			    (".Z" . "uncompress -c %s")
  			    (".Y" . "unyabba")
! 			    (".info.Z" . "uncompress -c %s")
  			    (".info.Y" . "unyabba") )
    "List of file name suffixes and associated decoding commands.
  Each entry should be (SUFFIX . STRING); if STRING contains %s, that is
--- 236,247 ----
  Default is to use the environment variable INFOPATH if it exists,
  else to use Info-directory if it exists.")
  
! (defconst Info-suffix-list '( (".info" . nil)
! 			    (".z" . "gzip -dc %s")
! 			    (".Z" . "compress -dc %s")
  			    (".Y" . "unyabba")
! 			    (".info.z" . "gzip -dc %s")
! 			    (".info.Z" . "compress -dc %s")
  			    (".info.Y" . "unyabba") )
    "List of file name suffixes and associated decoding commands.
  Each entry should be (SUFFIX . STRING); if STRING contains %s, that is
***************
*** 553,558 ****
--- 572,578 ----
  	 name2)
  	(t
  	 (let ((suff Info-suffix-list)
+ 	       (case-fold-search)
  	       (found nil))
  	   (while (and suff (not found))
  	     (if (file-exists-p (concat name (car (car suff))))
***************
*** 563,569 ****
  	   found))))
  
  (defun Info-insert-file-contents (file &optional visit)
!   (let ((suff Info-suffix-list))
      (while (and suff (or (<= (length file) (length (car (car suff))))
  			 (not (equal (substring file
  						(- (length (car (car suff)))))
--- 583,590 ----
  	   found))))
  
  (defun Info-insert-file-contents (file &optional visit)
!   (let ((suff Info-suffix-list)
! 	(case-fold-search))
      (while (and suff (or (<= (length file) (length (car (car suff))))
  			 (not (equal (substring file
  						(- (length (car (car suff)))))
***************
*** 574,580 ****
  			   (format (cdr (car suff)) file)
  			 (concat (cdr (car suff)) " < " file))))
  	  (message "%s..." command)
! 	  (call-process shell-file-name nil t nil "-c" command)
  	  (message "")
  	  (if visit
  	      (progn
--- 595,601 ----
  			   (format (cdr (car suff)) file)
  			 (concat (cdr (car suff)) " < " file))))
  	  (message "%s..." command)
! 	  (call-process shell-file-name nil t nil "/c" command)
  	  (message "")
  	  (if visit
  	      (progn
***************
*** 733,738 ****
--- 754,761 ----
  
  (defun Info-search (regexp)
    "Search for REGEXP, starting from point, and select node it's found in."
+   ;; use gmhist for regexp searching - lrd
+   ; (interactive (gmhist-interactive "sSearch (regexp): " 'Info-search-history))
    (interactive "sSearch (regexp): ")
    (if (equal regexp "")
        (setq regexp Info-last-search)
