--- axe-6.1.2.orig/Help/axinfo.c
+++ axe-6.1.2/Help/axinfo.c
@@ -43,9 +43,10 @@
 
 #include <sys/stat.h>
 #include <stdio.h>
+#include <stdlib.h>
 
 extern char *getenv();
-extern char *malloc(), *realloc();
+extern void *malloc(), *realloc();
 
 #include "Confirmer.h"
 #include "Hyper.h"
@@ -325,7 +326,10 @@
 {
     FILE *inf;
     struct stat fstats;
-    
+    char *s;
+    void *b;
+    int l;
+
     if (currentfile)
     {
 	if (file != currentfile)
@@ -338,8 +342,37 @@
 	    return;
 	}
     }
-
     inf = fopen(file, "r");
+
+#define PAGESIZE 4096
+    /* this is needed so that axinfo can read gzipped info files, the
+       preferred standard in Debian
+       Note that "currentfile" will be the name of the
+       file without the .gz extension
+     */
+    if (!inf){
+      s=(char*)malloc(sizeof(char)*(strlen(file)+15));
+      strcpy(s,"gunzip -c ");
+      strcat(s,file);
+      strcat(s,".gz");
+      inf=popen(s,"r");
+      if(inf){
+	buffer=malloc(PAGESIZE);
+	s=buffer;
+	while((l=fread(s,1,PAGESIZE,inf))==PAGESIZE){
+	  s+=PAGESIZE;
+	  l=s-(char*)buffer;
+	  buffer=realloc(buffer,l+PAGESIZE);
+	  s=buffer+l;
+	}
+	buflen=l+s-(char*)buffer;
+	buffer=realloc(buffer,buflen+1);
+	*((char*)buffer+buflen)=0;
+	currentfile = file;
+	fclose(inf);
+	return;
+      }
+    }
     if (!inf)
     {
 	Widget conf;
@@ -350,7 +383,7 @@
 				       NULL);
 	XtAddCallback(conf, XtNpopdownCallback, Exit, (XtPointer) 0);
 
-	sprintf(message, "Unable to open\n%s", file);
+	sprintf(message, "Unable to open\n%s or %s", currentfile, file);
 	ConfirmerRequestConfirmation(conf,  message,
 				     "acknowledge", ConfirmerPopdown,
 				     "unused", NULL,
