Index: Singular/fehelp.cc
===================================================================
--- Singular/fehelp.cc	(revision 55d94ae682ab4c4acbec40000c5a68953583c3ce)
+++ Singular/fehelp.cc	(revision b859103260e7fb54c68a3611157802a450b1a445)
@@ -4,5 +4,5 @@
 /*
 * ABSTRACT: help system
-* versin $Id: fehelp.cc,v 1.45 2005-07-20 08:12:24 wienand Exp $
+* versin $Id: fehelp.cc,v 1.46 2005-07-25 09:05:08 wienand Exp $
 */
 
@@ -144,5 +144,6 @@
     if (heCurrentHelpBrowser == NULL) feHelpBrowser(NULL, 0);
     assume(heCurrentHelpBrowser != NULL);
-    if (heCurrentHelpBrowser->browser == "htmlhelp") {
+#ifdef ix86_Win
+    if (strcmp(heCurrentHelpBrowser->browser,"htmlhelp")==0) {
       // In Windows always let htmlhelp handle request, if standard
       strcpy(hentry.key, str);
@@ -152,4 +153,5 @@
       heBrowserHelp(&hentry);
     }
+#endif
 
     char* matches = StringSetS("");
@@ -219,11 +221,18 @@
     fseek(f,0,SEEK_SET);
 #ifdef ix86_Win
-    // for the 6(!) default browsers
-    heHelpBrowsers=(heBrowser_s*)omAlloc0((br+7)*sizeof(heBrowser_s));
+    // for the 6(!) default browsers and make htmlhelp the default default
+    heHelpBrowsers=(heBrowser_s*)omAlloc0((br+9)*sizeof(heBrowser_s));
+    br = 0;
+    heHelpBrowsers[br].browser="htmlhelp";
+    heHelpBrowsers[br].init_proc=heGenInit;
+    heHelpBrowsers[br].help_proc=heWinHtmlHelp;
+    heHelpBrowsers[br].required="C";
+    // heHelpBrowsers[br].action=NULL;
+    br++;
 #else
     // for the 4(!) default browsers
     heHelpBrowsers=(heBrowser_s*)omAlloc0((br+4)*sizeof(heBrowser_s));
+    br = 0;
 #endif
-    br=0;
     while (fgets( buf, sizeof(buf), f))
     {
@@ -257,15 +266,9 @@
   }
 #ifdef ix86_Win
-  heHelpBrowsers[br].browser="htmlhelp";
-  heHelpBrowsers[br].init_proc=heGenInit;
-  heHelpBrowsers[br].help_proc=heWinHtmlHelp;
-  heHelpBrowsers[br].required="h";
-  heHelpBrowsers[br].action=NULL;
-  br++;
   heHelpBrowsers[br].browser="winhlp";
   heHelpBrowsers[br].init_proc=heGenInit;
   heHelpBrowsers[br].help_proc=heWinHelp;
   heHelpBrowsers[br].required="h";
-  heHelpBrowsers[br].action=NULL;
+  //heHelpBrowsers[br].action=NULL;
   br++;
   heHelpBrowsers[br].browser="html";
@@ -273,5 +276,5 @@
   heHelpBrowsers[br].help_proc=heHtmlHelp;
   heHelpBrowsers[br].required="h";
-  heHelpBrowsers[br].action=NULL;
+  //heHelpBrowsers[br].action=NULL;
   br++;
 #endif
@@ -280,23 +283,23 @@
   heHelpBrowsers[br].help_proc=heBuiltinHelp;
   heHelpBrowsers[br].required="i";
-  heHelpBrowsers[br].action=NULL;
+  //heHelpBrowsers[br].action=NULL;
   br++;
   heHelpBrowsers[br].browser="dummy";
   heHelpBrowsers[br].init_proc=heDummyInit;
   heHelpBrowsers[br].help_proc=heDummyHelp;
-  heHelpBrowsers[br].required=NULL;
-  heHelpBrowsers[br].action=NULL;
+  //heHelpBrowsers[br].required=NULL;
+  //heHelpBrowsers[br].action=NULL;
   br++;
   heHelpBrowsers[br].browser="emacs";
   heHelpBrowsers[br].init_proc=heEmacsInit;
   heHelpBrowsers[br].help_proc=heEmacsHelp;
-  heHelpBrowsers[br].required=NULL;
-  heHelpBrowsers[br].action=NULL;
-  br++;
-  heHelpBrowsers[br].browser=NULL;
-  heHelpBrowsers[br].init_proc=NULL;
-  heHelpBrowsers[br].help_proc=NULL;
-  heHelpBrowsers[br].required=NULL;
-  heHelpBrowsers[br].action=NULL;
+  //heHelpBrowsers[br].required=NULL;
+  //heHelpBrowsers[br].action=NULL;
+  //br++;
+  //heHelpBrowsers[br].browser=NULL;
+  //heHelpBrowsers[br].init_proc=NULL;
+  //heHelpBrowsers[br].help_proc=NULL;
+  //heHelpBrowsers[br].required=NULL;
+  //heHelpBrowsers[br].action=NULL;
 }
 
@@ -883,4 +886,5 @@
       case 'i': /* singular.hlp */
       case 'x': /* singular.idx */
+      case 'C': /* chm file Manual.chm */
       case 'h': /* html dir */
                if (feResource(*p, warn) == NULL)
@@ -947,14 +951,6 @@
   else
     strcpy(keyw," ");
-  char* helppath = feResource('h' /*"HtmlDir"*/);
-  const char *filename="/Manual.chm";
-  int helppath_len=0;
-  if (helppath!=NULL) helppath_len=strlen(helppath);
-  char *callpath=(char *)omAlloc0(helppath_len+strlen(filename)+1);
-  if ((helppath!=NULL) && (*helppath>' '))
-    strcpy(callpath,helppath);
-  strcat(callpath,filename);
-  heOpenWinHtmlHelp(keyw,callpath);
-  omfree(callpath);
+  char* helppath = feResource('C' /*"CHM Datei"*/);
+  heOpenWinHtmlHelp(keyw,helppath);
 }
 
