[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] XaAES:update:CONFIGVARS



Attached is a patch which I can see all the files in tools/hypview have
problems with CRLF.

I will also remove the *.prj files as the Makefiles are used in the
build process.

Can people let me know if this captures everything or if others need
doing.

Thanks,

Alan.
? .cvsignore
Index: block.c
===================================================================
RCS file: /mint/freemint/tools/hypview/block.c,v
retrieving revision 1.3
diff -u -r1.3 block.c
--- block.c	6 Apr 2008 15:47:03 -0000	1.3
+++ block.c	31 Aug 2009 09:34:19 -0000
@@ -1,195 +1,195 @@
-/*
- * $Id: block.c,v 1.3 2008/04/06 15:47:03 ggs Exp $
- * 
- * HypView - (c)      - 2006 Philipp Donze
- *               2006 -      Philipp Donze & Odd Skancke
- *
- * A replacement hypertext viewer
- *
- * This file is part of HypView.
- *
- * HypView is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * HypView is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HypView; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#include <string.h>
-#ifdef __GNUC__
-	#include <mintbind.h>
-	#include <fcntl.h>
-	#include "stat.h"
-#else
-	#include <tos.h>
-#endif
-#include <gem.h>
-#include "diallib.h"
-#include "defs.h"
-
-extern WINDOW_DATA *Win;
-
-short GetScrapPath(char *scrap_path, short clear);
-
-void BlockOperation(DOCUMENT *doc, short num)
-{
-	WINDOW_DATA *win = Win;
-	switch(num)
-	{
-		case CO_SAVE:
-			SelectFileSave(doc);
-			break;
-		case CO_BACK:
-			GoBack(doc);
-			break;
-		case CO_COPY:
-			BlockCopy(doc);
-			break;
-		case CO_PASTE:
-			BlockPaste(clipbrd_new_window);
-			break;
-		case CO_SELECT_ALL:
-			SelectAll(doc);
-			break;
-		case CO_DELETE_STACK:
-			RemoveAllHistoryEntries(win);
-			ToolbarUpdate(doc,win->toolbar,TRUE);
-			break;
-		case CO_PRINT:
-			break;
-	}
-}
-
-void BlockSelectAll(DOCUMENT *doc, BLOCK *b)
-{
-	b->start.line = 0;
-	b->start.y = 0;
-	b->start.offset = 0;
-	b->start.x = 0;
-	b->end.line = doc->lines;
-	b->end.y = doc->height;
-	b->end.offset = 0;
-	b->end.x = 0;
-	b->valid = TRUE;
-}
-
-void BlockCopy(DOCUMENT *doc)
-{
-	char scrap_file[DL_PATHMAX];
-	BLOCK b = doc->selection;
-	
-	if(!b.valid)
-		BlockSelectAll(doc,&b);
-
-	/*	Kopier-Aktion ins Clipboard	*/
-	graf_mouse(BUSYBEE,NULL);
-	if(GetScrapPath(scrap_file, TRUE))
-	{
-		Debug("No clipboard defined");
-	}
-	else
-	{
-		short msg[8] = {SC_CHANGED,0,0,2,0x2e54/*'.T'*/,0x5854/*'XT'*/,0,0};
-		BlockAsciiSave(doc, scrap_file);
-		msg[1] = ap_id;
-		shel_write(SHW_BROADCAST,0,0,(char *)msg,NULL);
-	}
-	graf_mouse(ARROW,NULL);
-}
-
-void BlockPaste(short new_window)
-{
-	/* WINDOW_DATA *win = Win; */
-	char scrap_file[DL_PATHMAX];
-	
-	/*	"Einfuege"-Aktion ladet SCRAP.TXT aus dem Clipboard	*/
-	if(GetScrapPath(scrap_file, FALSE))
-	{
-		Debug("No clipboard defined");
-	}
-	else
-	{
-		long ret;
-		ret = Fopen(scrap_file, O_RDONLY);
-		if(ret >= 0)
-		{
-			Fclose((short)ret);
-			if (new_window)
-				Win = NULL;
-			OpenFileSW(scrap_file, NULL, 0);
-		}
-	}
-}
-
-void BlockAsciiSave(DOCUMENT *doc, char *path)
-{
-	long ret;
-	if(!doc->blockProc)
-	{
-		Cconout(7);			/*	Bing!!!!	*/
-		return;
-	}
-
-	ret = Fopen(path,O_WRONLY|O_TRUNC|O_CREAT);
-	if(ret < 0)
-		FileErrorNr(path, ret);
-	else
-	{
-		short handle = (short)ret;
-		BLOCK b = doc->selection;
-		
-		if(!b.valid)		/*	Kein gltiger Block angewhlt?	*/
-			BlockSelectAll(doc, &b);
-		
-		doc->blockProc(doc, BLK_ASCIISAVE, &b, &handle);
-		Fclose(handle);
-	}
-}
-
-short GetScrapPath(char *scrap_path, short clear)
-{
-	long ret;
-	if(!scrp_read(scrap_path))
-		return(TRUE);
-
-	if ( clear )			/* Klemmbrett loeschen?				*/
-	{
-		if(!scrp_clear())		/*	scrp_clear() nicht vorhanden?	*/
-		{
-			long dirhandle;
-	
-			/*	Verzeichnis oeffnen und alle "SCRAP.*" Dateien loeschen	*/
-			dirhandle = Dopendir(scrap_path, 0);
-			if((dirhandle >> 24) != 0xff)
-			{
-				char filename[DL_NAMEMAX], *ptr;
-				XATTR xattr;
-				long xret;
-				ptr = &scrap_path[strlen(scrap_path)];
-				do
-				{
-					ret = Dxreaddir(DL_NAMEMAX, dirhandle, filename, &xattr, &xret);
-					if((ret >= 0) && (xret >= 0) && 
-						((xattr.mode&S_IFMT) == S_IFREG) && 
-						!strnicmp(filename+4,"SCRAP.",6))
-					{
-						strcpy(ptr, filename + 4);
-						Fdelete(scrap_path);
-					}
-				}while(ret == 0);
-				Dclosedir(dirhandle);
-			}
-		}
-	}
-	
-	strcat(scrap_path,"SCRAP.TXT");
-	return(FALSE);
-}
+/*
+ * $Id: block.c,v 1.3 2008/04/06 15:47:03 ggs Exp $
+ * 
+ * HypView - (c)      - 2006 Philipp Donze
+ *               2006 -      Philipp Donze & Odd Skancke
+ *
+ * A replacement hypertext viewer
+ *
+ * This file is part of HypView.
+ *
+ * HypView is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * HypView is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HypView; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include <string.h>
+#ifdef __GNUC__
+	#include <mintbind.h>
+	#include <fcntl.h>
+	#include "stat.h"
+#else
+	#include <tos.h>
+#endif
+#include <gem.h>
+#include "diallib.h"
+#include "defs.h"
+
+extern WINDOW_DATA *Win;
+
+short GetScrapPath(char *scrap_path, short clear);
+
+void BlockOperation(DOCUMENT *doc, short num)
+{
+	WINDOW_DATA *win = Win;
+	switch(num)
+	{
+		case CO_SAVE:
+			SelectFileSave(doc);
+			break;
+		case CO_BACK:
+			GoBack(doc);
+			break;
+		case CO_COPY:
+			BlockCopy(doc);
+			break;
+		case CO_PASTE:
+			BlockPaste(clipbrd_new_window);
+			break;
+		case CO_SELECT_ALL:
+			SelectAll(doc);
+			break;
+		case CO_DELETE_STACK:
+			RemoveAllHistoryEntries(win);
+			ToolbarUpdate(doc,win->toolbar,TRUE);
+			break;
+		case CO_PRINT:
+			break;
+	}
+}
+
+void BlockSelectAll(DOCUMENT *doc, BLOCK *b)
+{
+	b->start.line = 0;
+	b->start.y = 0;
+	b->start.offset = 0;
+	b->start.x = 0;
+	b->end.line = doc->lines;
+	b->end.y = doc->height;
+	b->end.offset = 0;
+	b->end.x = 0;
+	b->valid = TRUE;
+}
+
+void BlockCopy(DOCUMENT *doc)
+{
+	char scrap_file[DL_PATHMAX];
+	BLOCK b = doc->selection;
+	
+	if(!b.valid)
+		BlockSelectAll(doc,&b);
+
+	/*	Kopier-Aktion ins Clipboard	*/
+	graf_mouse(BUSYBEE,NULL);
+	if(GetScrapPath(scrap_file, TRUE))
+	{
+		Debug("No clipboard defined");
+	}
+	else
+	{
+		short msg[8] = {SC_CHANGED,0,0,2,0x2e54/*'.T'*/,0x5854/*'XT'*/,0,0};
+		BlockAsciiSave(doc, scrap_file);
+		msg[1] = ap_id;
+		shel_write(SHW_BROADCAST,0,0,(char *)msg,NULL);
+	}
+	graf_mouse(ARROW,NULL);
+}
+
+void BlockPaste(short new_window)
+{
+	/* WINDOW_DATA *win = Win; */
+	char scrap_file[DL_PATHMAX];
+	
+	/*	"Einfuege"-Aktion ladet SCRAP.TXT aus dem Clipboard	*/
+	if(GetScrapPath(scrap_file, FALSE))
+	{
+		Debug("No clipboard defined");
+	}
+	else
+	{
+		long ret;
+		ret = Fopen(scrap_file, O_RDONLY);
+		if(ret >= 0)
+		{
+			Fclose((short)ret);
+			if (new_window)
+				Win = NULL;
+			OpenFileSW(scrap_file, NULL, 0);
+		}
+	}
+}
+
+void BlockAsciiSave(DOCUMENT *doc, char *path)
+{
+	long ret;
+	if(!doc->blockProc)
+	{
+		Cconout(7);			/*	Bing!!!!	*/
+		return;
+	}
+
+	ret = Fopen(path,O_WRONLY|O_TRUNC|O_CREAT);
+	if(ret < 0)
+		FileErrorNr(path, ret);
+	else
+	{
+		short handle = (short)ret;
+		BLOCK b = doc->selection;
+		
+		if(!b.valid)		/*	Kein gltiger Block angewhlt?	*/
+			BlockSelectAll(doc, &b);
+		
+		doc->blockProc(doc, BLK_ASCIISAVE, &b, &handle);
+		Fclose(handle);
+	}
+}
+
+short GetScrapPath(char *scrap_path, short clear)
+{
+	long ret;
+	if(!scrp_read(scrap_path))
+		return(TRUE);
+
+	if ( clear )			/* Klemmbrett loeschen?				*/
+	{
+		if(!scrp_clear())		/*	scrp_clear() nicht vorhanden?	*/
+		{
+			long dirhandle;
+	
+			/*	Verzeichnis oeffnen und alle "SCRAP.*" Dateien loeschen	*/
+			dirhandle = Dopendir(scrap_path, 0);
+			if((dirhandle >> 24) != 0xff)
+			{
+				char filename[DL_NAMEMAX], *ptr;
+				XATTR xattr;
+				long xret;
+				ptr = &scrap_path[strlen(scrap_path)];
+				do
+				{
+					ret = Dxreaddir(DL_NAMEMAX, dirhandle, filename, &xattr, &xret);
+					if((ret >= 0) && (xret >= 0) && 
+						((xattr.mode&S_IFMT) == S_IFREG) && 
+						!strnicmp(filename+4,"SCRAP.",6))
+					{
+						strcpy(ptr, filename + 4);
+						Fdelete(scrap_path);
+					}
+				}while(ret == 0);
+				Dclosedir(dirhandle);
+			}
+		}
+	}
+	
+	strcat(scrap_path,"SCRAP.TXT");
+	return(FALSE);
+}
Index: config.c
===================================================================
RCS file: /mint/freemint/tools/hypview/config.c,v
retrieving revision 1.3
diff -u -r1.3 config.c
--- config.c	6 Apr 2008 15:47:03 -0000	1.3
+++ config.c	31 Aug 2009 09:34:19 -0000
@@ -1,178 +1,178 @@
-/*
- * $Id: config.c,v 1.3 2008/04/06 15:47:03 ggs Exp $
- * 
- * HypView - (c)      - 2006 Philipp Donze
- *               2006 -      Philipp Donze & Odd Skancke
- *
- * A replacement hypertext viewer
- *
- * This file is part of HypView.
- *
- * HypView is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * HypView is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HypView; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#include <stdlib.h>
-#include <string.h>
-#include "diallib.h"
-#include "defs.h"
-
-void LoadConfig(void)
-{
-	extern char cfg_comment;
-	if(CfgOpenFile(PROGRAM_UNAME".CFG"))
-	{
-		char *variable;
-
-		cfg_comment = '#';
-
-		variable = CfgGetVariable("PATH=");
-		if(*variable)
-			strncpy(path_list,variable,512);
-		variable=CfgGetVariable("DEFAULT=");
-		if(*variable)
-			strncpy(default_file,variable,DL_PATHMAX);
-		variable=CfgGetVariable("KATALOG=");
-		if(*variable)
-			strncpy(catalog_file,variable,DL_PATHMAX);
-
-		variable=CfgGetVariable("WINPOS=");
-		if(*variable)
-		{
-			win_x=atoi(CfgExtractVarPart(variable,',',0));
-			win_y=atoi(CfgExtractVarPart(variable,',',1));
-			win_w=atoi(CfgExtractVarPart(variable,',',2));
-			win_h=atoi(CfgExtractVarPart(variable,',',3));
-		}
-		variable = CfgGetVariable("WINADJUST=");
-		if (*variable)
-			adjust_winsize = atoi(variable);
-
-		variable=CfgGetVariable("FONT=");
-		if(*variable)
-		{
-			font_id=atoi(CfgExtractVarPart(variable,',',0));
-			font_pt=atoi(CfgExtractVarPart(variable,',',1));
-		}
-		variable=CfgGetVariable("XFONT=");
-		if(*variable)
-		{
-			xfont_id=atoi(CfgExtractVarPart(variable,',',0));
-			xfont_pt=atoi(CfgExtractVarPart(variable,',',1));
-		}
-		
-		variable=CfgGetVariable("BGRND_COLOR=");
-		if(*variable && ext_workout[4]>=4)	/*	>= 16 Farben?	*/
-			background_col=atoi(variable);
-
-		variable=CfgGetVariable("TEXT_COLOR=");
-		if(*variable && ext_workout[4]>=4)	/*	>= 16 Farben?	*/
-			text_col=atoi(variable);
-
-		variable=CfgGetVariable("LINK_COLOR=");
-		if(*variable && ext_workout[4]>=4)	/*	>= 16 Farben?	*/
-			link_col=atoi(variable);
-
-		variable=CfgGetVariable("LINK_EFFECT=");
-		if(*variable)
-			link_effect=atoi(variable);
-
-		variable=CfgGetVariable("TRANSPARENT_PICS=");
-		if(*variable)
-			transparent_pics=atoi(variable);
-
-		variable=CfgGetVariable("BIN_COLUMNS=");
-		if(*variable)
-			binary_columns=atoi(variable);
-
-		variable=CfgGetVariable("ASCII_TAB=");
-		if(*variable)
-			ascii_tab_size=atoi(variable);
-
-		variable=CfgGetVariable("VA_START_NEWWIN=");
-		if(*variable)
-			va_start_newwin=atoi(variable);
-		
-		variable=CfgGetVariable("DEBUG_FILE=");
-		if(*variable)
-			strncpy(debug_file,variable,DL_NAMEMAX);
-
-		variable=CfgGetVariable("CHECK_TIME=");
-		if(*variable)
-			check_time=atoi(variable);
-
-		variable=CfgGetVariable("SKIN=");
-		if(*variable)
-		{
-		char *ptr=skin_path;
-			/*	relative path given?	*/
-			if(variable[1] != ':')
-			{
-				while(*ptr)
-					ptr++;
-				*ptr++=dir_separator;
-				
-			}
-			strcpy(ptr,variable);
-		}
-		else
-			*skin_path=0;
-			
-		variable=CfgGetVariable("ASCII_BREAK=");
-		if(*variable)
-		{
-			ascii_break_len=max(0,atoi(variable));
-			ascii_break_len=min(LINE_BUF-1,ascii_break_len);
-		}
-
-		variable=CfgGetVariable("INTELLIGENT_FULLER=");
-		if(*variable)
-			intelligent_fuller=atoi(variable);
-		
-		variable=CfgGetVariable("CLIPBRD_NEW_WINDOW=");
-		if(*variable)
-			clipbrd_new_window=atoi(variable);
-		
-		variable=CfgGetVariable("AV_WINDOW_CYCLE=");
-		if(*variable)
-			av_window_cycle=atoi(variable);
-		
-		variable=CfgGetVariable("MARKFILE=");
-		if(*variable)
-			strncpy(marken_path,variable,DL_PATHMAX);
-
-		variable=CfgGetVariable("MARKFILE_SAVE_ASK=");
-		if(*variable)
-			marken_save_ask=atoi(variable);
-
-		variable=CfgGetVariable("REF=");
-		if(*variable)
-			strncpy(all_ref,variable,DL_PATHMAX);
-
-		variable=CfgGetVariable("HYPFIND=");
-		if(*variable)
-			strncpy(hypfind_path,variable,DL_PATHMAX);
-
-		variable=CfgGetVariable("REFONLY=");
-		if(*variable)
-			refonly = TRUE;
-
-		CfgCloseFile();
-	}
-	else
-	{
-		*skin_path=0;
-	}
-}
-
+/*
+ * $Id: config.c,v 1.3 2008/04/06 15:47:03 ggs Exp $
+ * 
+ * HypView - (c)      - 2006 Philipp Donze
+ *               2006 -      Philipp Donze & Odd Skancke
+ *
+ * A replacement hypertext viewer
+ *
+ * This file is part of HypView.
+ *
+ * HypView is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * HypView is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HypView; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include <stdlib.h>
+#include <string.h>
+#include "diallib.h"
+#include "defs.h"
+
+void LoadConfig(void)
+{
+	extern char cfg_comment;
+	if(CfgOpenFile(PROGRAM_UNAME".CFG"))
+	{
+		char *variable;
+
+		cfg_comment = '#';
+
+		variable = CfgGetVariable("PATH=");
+		if(*variable)
+			strncpy(path_list,variable,512);
+		variable=CfgGetVariable("DEFAULT=");
+		if(*variable)
+			strncpy(default_file,variable,DL_PATHMAX);
+		variable=CfgGetVariable("KATALOG=");
+		if(*variable)
+			strncpy(catalog_file,variable,DL_PATHMAX);
+
+		variable=CfgGetVariable("WINPOS=");
+		if(*variable)
+		{
+			win_x=atoi(CfgExtractVarPart(variable,',',0));
+			win_y=atoi(CfgExtractVarPart(variable,',',1));
+			win_w=atoi(CfgExtractVarPart(variable,',',2));
+			win_h=atoi(CfgExtractVarPart(variable,',',3));
+		}
+		variable = CfgGetVariable("WINADJUST=");
+		if (*variable)
+			adjust_winsize = atoi(variable);
+
+		variable=CfgGetVariable("FONT=");
+		if(*variable)
+		{
+			font_id=atoi(CfgExtractVarPart(variable,',',0));
+			font_pt=atoi(CfgExtractVarPart(variable,',',1));
+		}
+		variable=CfgGetVariable("XFONT=");
+		if(*variable)
+		{
+			xfont_id=atoi(CfgExtractVarPart(variable,',',0));
+			xfont_pt=atoi(CfgExtractVarPart(variable,',',1));
+		}
+		
+		variable=CfgGetVariable("BGRND_COLOR=");
+		if(*variable && ext_workout[4]>=4)	/*	>= 16 Farben?	*/
+			background_col=atoi(variable);
+
+		variable=CfgGetVariable("TEXT_COLOR=");
+		if(*variable && ext_workout[4]>=4)	/*	>= 16 Farben?	*/
+			text_col=atoi(variable);
+
+		variable=CfgGetVariable("LINK_COLOR=");
+		if(*variable && ext_workout[4]>=4)	/*	>= 16 Farben?	*/
+			link_col=atoi(variable);
+
+		variable=CfgGetVariable("LINK_EFFECT=");
+		if(*variable)
+			link_effect=atoi(variable);
+
+		variable=CfgGetVariable("TRANSPARENT_PICS=");
+		if(*variable)
+			transparent_pics=atoi(variable);
+
+		variable=CfgGetVariable("BIN_COLUMNS=");
+		if(*variable)
+			binary_columns=atoi(variable);
+
+		variable=CfgGetVariable("ASCII_TAB=");
+		if(*variable)
+			ascii_tab_size=atoi(variable);
+
+		variable=CfgGetVariable("VA_START_NEWWIN=");
+		if(*variable)
+			va_start_newwin=atoi(variable);
+		
+		variable=CfgGetVariable("DEBUG_FILE=");
+		if(*variable)
+			strncpy(debug_file,variable,DL_NAMEMAX);
+
+		variable=CfgGetVariable("CHECK_TIME=");
+		if(*variable)
+			check_time=atoi(variable);
+
+		variable=CfgGetVariable("SKIN=");
+		if(*variable)
+		{
+		char *ptr=skin_path;
+			/*	relative path given?	*/
+			if(variable[1] != ':')
+			{
+				while(*ptr)
+					ptr++;
+				*ptr++=dir_separator;
+				
+			}
+			strcpy(ptr,variable);
+		}
+		else
+			*skin_path=0;
+			
+		variable=CfgGetVariable("ASCII_BREAK=");
+		if(*variable)
+		{
+			ascii_break_len=max(0,atoi(variable));
+			ascii_break_len=min(LINE_BUF-1,ascii_break_len);
+		}
+
+		variable=CfgGetVariable("INTELLIGENT_FULLER=");
+		if(*variable)
+			intelligent_fuller=atoi(variable);
+		
+		variable=CfgGetVariable("CLIPBRD_NEW_WINDOW=");
+		if(*variable)
+			clipbrd_new_window=atoi(variable);
+		
+		variable=CfgGetVariable("AV_WINDOW_CYCLE=");
+		if(*variable)
+			av_window_cycle=atoi(variable);
+		
+		variable=CfgGetVariable("MARKFILE=");
+		if(*variable)
+			strncpy(marken_path,variable,DL_PATHMAX);
+
+		variable=CfgGetVariable("MARKFILE_SAVE_ASK=");
+		if(*variable)
+			marken_save_ask=atoi(variable);
+
+		variable=CfgGetVariable("REF=");
+		if(*variable)
+			strncpy(all_ref,variable,DL_PATHMAX);
+
+		variable=CfgGetVariable("HYPFIND=");
+		if(*variable)
+			strncpy(hypfind_path,variable,DL_PATHMAX);
+
+		variable=CfgGetVariable("REFONLY=");
+		if(*variable)
+			refonly = TRUE;
+
+		CfgCloseFile();
+	}
+	else
+	{
+		*skin_path=0;
+	}
+}
+
Index: dl_avcmd.c
===================================================================
RCS file: /mint/freemint/tools/hypview/dl_avcmd.c,v
retrieving revision 1.3
diff -u -r1.3 dl_avcmd.c
--- dl_avcmd.c	6 Apr 2008 15:47:03 -0000	1.3
+++ dl_avcmd.c	31 Aug 2009 09:34:19 -0000
@@ -1,253 +1,253 @@
-/*
- * $Id: dl_avcmd.c,v 1.3 2008/04/06 15:47:03 ggs Exp $
- * 
- * HypView - (c)      - 2006 Philipp Donze
- *               2006 -      Philipp Donze & Odd Skancke
- *
- * A replacement hypertext viewer
- *
- * This file is part of HypView.
- *
- * HypView is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * HypView is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HypView; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#include <gem.h>
-#include "include/av.h"
-#include "diallib.h"
-
-extern short ap_id,server_id;
-
-/*	Nachfrage nach dem Konfigurationsstring, der mit AV_STATUS gesetzt wurde	*/
-void DoAV_GETSTATUS(void)
-{
-	short msg[8] = {AV_GETSTATUS,0,0,0,0,0,0,0};
-	msg[1] = ap_id;
-	appl_write(server_id,16,msg);
-}
-
-/*	Uebermittelt einen Konfigurationsstring, den der Server speichert	*/
-void DoAV_STATUS(char *string)
-{
-	short msg[8]={AV_STATUS,0,0,0,0,0,0,0};
-	msg[1]=ap_id;
-	*(char **)&msg[3]=string;
-	appl_write(server_id,16,msg);
-}
-
-/*	Uebermittelt dem Server einen Tastendruck, der nicht verarbeitet wurde	*/
-void DoAV_SENDKEY(short kbd_state, short code)
-{
-	short msg[8]={AV_SENDKEY,0,0,0,0,0,0,0};
-	msg[1]=ap_id;
-	msg[3]=kbd_state;
-	msg[4]=code;
-	appl_write(server_id,16,msg);
-}
-
-/*	Fragt beim Server nach, mit welchem Font die Dateien dargestellt werden	*/
-void DoAV_ASKFILEFONT(void)
-{
-	short msg[8]={AV_ASKFILEFONT,0,0,0,0,0,0,0};
-	msg[1]=ap_id;
-	appl_write(server_id,16,msg);
-}
-
-/*	Fragt beim Server nach dem Konsolen-Font	*/
-void DoAV_ASKCONFONT(void)
-{
-	short msg[8]={AV_ASKCONFONT,0,0,0,0,0,0,0};
-	msg[1]=ap_id;
-	appl_write(server_id,16,msg);
-}
-
-/*	Fragt beim Server nach dem selektierten Objekt	*/
-void DoAV_ASKOBJECT(void)
-{
-	short msg[8]={AV_ASKOBJECT,0,0,0,0,0,0,0};
-	msg[1]=ap_id;
-	appl_write(server_id,16,msg);
-}
-
-/*	Der Server soll ein Consolenfenster oeffnen	*/
-void DoAV_OPENCONSOLE(void)
-{
-	short msg[8]={AV_OPENCONSOLE,0,0,0,0,0,0,0};
-	msg[1]=ap_id;
-	appl_write(server_id,16,msg);
-}
-
-/*	Der Server soll ein Verzeichnisfenster oeffnen	*/
-void DoAV_OPENWIND(char *path, char *wildcard)
-{
-	short msg[8]={AV_OPENWIND,0,0,0,0,0,0,0};
-	msg[1]=ap_id;
-	*(char **)&msg[3]=path;
-	*(char **)&msg[5]=wildcard;
-	appl_write(server_id,16,msg);
-}
-
-/*	Der Server soll ein Programmstarten oder eine Datei oeffnen	*/
-void DoAV_STARTPROG(char *path, char *commandline, short id)
-{
-	short msg[8]={AV_STARTPROG,0,0,0,0,0,0,0};
-	msg[1]=ap_id;
-	*(char **)&msg[3]=path;
-	*(char **)&msg[5]=commandline;
-	msg[7]=id;
-	appl_write(server_id,16,msg);
-}
-
-/*	Es wird dem Server ein neues Fenster gemeldet (fuer Cycling und Drag&Drop)	*/
-void DoAV_ACCWINDOPEN(short handle)
-{
-	short msg[8]={AV_ACCWINDOPEN,0,0,0,0,0,0,0};
-	msg[1]=ap_id;
-	msg[3]=handle;
-	appl_write(server_id,16,msg);
-}
-
-/*	Es wird dem Server mitgeteilt, dass ein Fenster geschlossen wurde	*/
-void DoAV_ACCWINDCLOSED(short handle)
-{
-	short msg[8]={AV_ACCWINDCLOSED,0,0,0,0,0,0,0};
-	msg[1]=ap_id;
-	msg[3]=handle;
-	appl_write(server_id,16,msg);
-}
-
-/*	Der Server soll die Dateien kopieren, die ihm zuvor gemeldet wurden	*/
-void DoAV_COPY_DRAGGED(short kbd_state, char *path)
-{
-	short msg[8]={AV_COPY_DRAGGED,0,0,0,0,0,0,0};
-	msg[1]=ap_id;
-	msg[3]=kbd_state;
-	*(char **)&msg[4]=path;
-	appl_write(server_id,16,msg);
-}
-
-/*	Der Server soll das Verzeichnisfenster <path> neu einlesen	*/
-void DoAV_PATH_UPDATE(char *path)
-{
-	short msg[8]={AV_PATH_UPDATE,0,0,0,0,0,0,0};
-	msg[1]=ap_id;
-	*(char **)&msg[3]=path;
-	appl_write(server_id,16,msg);
-}
-
-/*	Fragt beim Server, was sich an der Position x,y befindet	*/
-void DoAV_WHAT_IZIT(short x,short y)
-{
-	short msg[8]={AV_WHAT_IZIT,0,0,0,0,0,0,0};
-	msg[1]=ap_id;
-	msg[3]=x;
-	msg[4]=y;
-	appl_write(server_id,16,msg);
-}
-
-/*	Teilt dem Server mit, dass Objekte auf sein Fenster gezogen wurden	*/
-void DoAV_DRAG_ON_WINDOW(short x,short y, short kbd_state, char *path)
-{
-	short msg[8]={AV_DRAG_ON_WINDOW,0,0,0,0,0,0,0};
-	msg[1]=ap_id;
-	msg[3]=x;
-	msg[4]=y;
-	msg[5]=kbd_state;
-	*(char **)&msg[6]=path;
-	appl_write(server_id,16,msg);
-}
-
-/*	Antwort auf VA_START	*/
-void DoAV_STARTED(char *ptr)
-{
-	short msg[8]={AV_STARTED,0,0,0,0,0,0,0};
-	msg[1]=ap_id;
-	*(char **)&msg[3]=ptr;
-	appl_write(server_id,16,msg);
-}
-
-/*	Der Server soll ein bestimmtes Fenster oeffnen	*/
-void DoAV_XWIND(char *path, char *wild_card, short bits)
-{
-	short msg[8]={AV_XWIND,0,0,0,0,0,0,0};
-	msg[1]=ap_id;
-	*(char **)&msg[3]=path;
-	*(char **)&msg[5]=wild_card;
-	msg[7]=bits;
-	appl_write(server_id,16,msg);
-}
-
-/*	Der Server soll den passenden Viewer fuer eine Datei starten	*/
-void DoAV_VIEW(char *path)
-{
-	short msg[8]={AV_VIEW,0,0,0,0,0,0,0};
-	msg[1]=ap_id;
-	*(char **)&msg[3]=path;
-	appl_write(server_id,16,msg);
-}
-
-/*	Der Server soll die Datei-/Ordnerinformationen anzeigen	*/
-void DoAV_FILEINFO(char *path)
-{
-	short msg[8]={AV_FILEINFO,0,0,0,0,0,0,0};
-	msg[1]=ap_id;
-	*(char **)&msg[3]=path;
-	appl_write(server_id,16,msg);
-}
-
-/*	Der Server soll die Dateien/Ordner ans Ziel kopieren	*/
-void DoAV_COPYFILE(char *file_list, char *dest_path,short bits)
-{
-	short msg[8]={AV_COPYFILE,0,0,0,0,0,0,0};
-	msg[1]=ap_id;
-	*(char **)&msg[3]=file_list;
-	*(char **)&msg[5]=dest_path;
-	msg[7]=bits;
-	appl_write(server_id,16,msg);
-}
-
-/*	Der Server soll die Dateien/Ordner loeschen	*/
-void DoAV_DELFILE(char *file_list)
-{
-	short msg[8]={AV_DELFILE,0,0,0,0,0,0,0};
-	msg[1]=ap_id;
-	*(char **)&msg[3]=file_list;
-	appl_write(server_id,16,msg);
-}
-
-/*	Teilt dem Server mit, wo das naechste Fenster geffnet werden soll	*/
-void DoAV_SETWINDPOS(short x,short y,short w,short h)
-{
-	short msg[8]={AV_SETWINDPOS,0,0,0,0,0,0,0};
-	msg[1]=ap_id;
-	msg[3]=x;
-	msg[4]=y;
-	msg[5]=w;
-	msg[6]=h;
-	appl_write(server_id,16,msg);
-}
-
-/*	Dem Server wird ein Mouseklick gemeldet	*/
-void DoAV_SENDCLICK(EVNTDATA *m, short ev_return)
-{
-	short msg[8]={AV_SENDCLICK,0,0,0,0,0,0,0};
-	msg[1]=ap_id;
-	msg[3]=m->x;
-	msg[4]=m->y;
-	msg[5]=m->bstate;
-	msg[6]=m->kstate;
-	msg[7]=ev_return;
-	
-	appl_write(server_id,16,msg);
-}
+/*
+ * $Id: dl_avcmd.c,v 1.3 2008/04/06 15:47:03 ggs Exp $
+ * 
+ * HypView - (c)      - 2006 Philipp Donze
+ *               2006 -      Philipp Donze & Odd Skancke
+ *
+ * A replacement hypertext viewer
+ *
+ * This file is part of HypView.
+ *
+ * HypView is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * HypView is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HypView; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include <gem.h>
+#include "include/av.h"
+#include "diallib.h"
+
+extern short ap_id,server_id;
+
+/*	Nachfrage nach dem Konfigurationsstring, der mit AV_STATUS gesetzt wurde	*/
+void DoAV_GETSTATUS(void)
+{
+	short msg[8] = {AV_GETSTATUS,0,0,0,0,0,0,0};
+	msg[1] = ap_id;
+	appl_write(server_id,16,msg);
+}
+
+/*	Uebermittelt einen Konfigurationsstring, den der Server speichert	*/
+void DoAV_STATUS(char *string)
+{
+	short msg[8]={AV_STATUS,0,0,0,0,0,0,0};
+	msg[1]=ap_id;
+	*(char **)&msg[3]=string;
+	appl_write(server_id,16,msg);
+}
+
+/*	Uebermittelt dem Server einen Tastendruck, der nicht verarbeitet wurde	*/
+void DoAV_SENDKEY(short kbd_state, short code)
+{
+	short msg[8]={AV_SENDKEY,0,0,0,0,0,0,0};
+	msg[1]=ap_id;
+	msg[3]=kbd_state;
+	msg[4]=code;
+	appl_write(server_id,16,msg);
+}
+
+/*	Fragt beim Server nach, mit welchem Font die Dateien dargestellt werden	*/
+void DoAV_ASKFILEFONT(void)
+{
+	short msg[8]={AV_ASKFILEFONT,0,0,0,0,0,0,0};
+	msg[1]=ap_id;
+	appl_write(server_id,16,msg);
+}
+
+/*	Fragt beim Server nach dem Konsolen-Font	*/
+void DoAV_ASKCONFONT(void)
+{
+	short msg[8]={AV_ASKCONFONT,0,0,0,0,0,0,0};
+	msg[1]=ap_id;
+	appl_write(server_id,16,msg);
+}
+
+/*	Fragt beim Server nach dem selektierten Objekt	*/
+void DoAV_ASKOBJECT(void)
+{
+	short msg[8]={AV_ASKOBJECT,0,0,0,0,0,0,0};
+	msg[1]=ap_id;
+	appl_write(server_id,16,msg);
+}
+
+/*	Der Server soll ein Consolenfenster oeffnen	*/
+void DoAV_OPENCONSOLE(void)
+{
+	short msg[8]={AV_OPENCONSOLE,0,0,0,0,0,0,0};
+	msg[1]=ap_id;
+	appl_write(server_id,16,msg);
+}
+
+/*	Der Server soll ein Verzeichnisfenster oeffnen	*/
+void DoAV_OPENWIND(char *path, char *wildcard)
+{
+	short msg[8]={AV_OPENWIND,0,0,0,0,0,0,0};
+	msg[1]=ap_id;
+	*(char **)&msg[3]=path;
+	*(char **)&msg[5]=wildcard;
+	appl_write(server_id,16,msg);
+}
+
+/*	Der Server soll ein Programmstarten oder eine Datei oeffnen	*/
+void DoAV_STARTPROG(char *path, char *commandline, short id)
+{
+	short msg[8]={AV_STARTPROG,0,0,0,0,0,0,0};
+	msg[1]=ap_id;
+	*(char **)&msg[3]=path;
+	*(char **)&msg[5]=commandline;
+	msg[7]=id;
+	appl_write(server_id,16,msg);
+}
+
+/*	Es wird dem Server ein neues Fenster gemeldet (fuer Cycling und Drag&Drop)	*/
+void DoAV_ACCWINDOPEN(short handle)
+{
+	short msg[8]={AV_ACCWINDOPEN,0,0,0,0,0,0,0};
+	msg[1]=ap_id;
+	msg[3]=handle;
+	appl_write(server_id,16,msg);
+}
+
+/*	Es wird dem Server mitgeteilt, dass ein Fenster geschlossen wurde	*/
+void DoAV_ACCWINDCLOSED(short handle)
+{
+	short msg[8]={AV_ACCWINDCLOSED,0,0,0,0,0,0,0};
+	msg[1]=ap_id;
+	msg[3]=handle;
+	appl_write(server_id,16,msg);
+}
+
+/*	Der Server soll die Dateien kopieren, die ihm zuvor gemeldet wurden	*/
+void DoAV_COPY_DRAGGED(short kbd_state, char *path)
+{
+	short msg[8]={AV_COPY_DRAGGED,0,0,0,0,0,0,0};
+	msg[1]=ap_id;
+	msg[3]=kbd_state;
+	*(char **)&msg[4]=path;
+	appl_write(server_id,16,msg);
+}
+
+/*	Der Server soll das Verzeichnisfenster <path> neu einlesen	*/
+void DoAV_PATH_UPDATE(char *path)
+{
+	short msg[8]={AV_PATH_UPDATE,0,0,0,0,0,0,0};
+	msg[1]=ap_id;
+	*(char **)&msg[3]=path;
+	appl_write(server_id,16,msg);
+}
+
+/*	Fragt beim Server, was sich an der Position x,y befindet	*/
+void DoAV_WHAT_IZIT(short x,short y)
+{
+	short msg[8]={AV_WHAT_IZIT,0,0,0,0,0,0,0};
+	msg[1]=ap_id;
+	msg[3]=x;
+	msg[4]=y;
+	appl_write(server_id,16,msg);
+}
+
+/*	Teilt dem Server mit, dass Objekte auf sein Fenster gezogen wurden	*/
+void DoAV_DRAG_ON_WINDOW(short x,short y, short kbd_state, char *path)
+{
+	short msg[8]={AV_DRAG_ON_WINDOW,0,0,0,0,0,0,0};
+	msg[1]=ap_id;
+	msg[3]=x;
+	msg[4]=y;
+	msg[5]=kbd_state;
+	*(char **)&msg[6]=path;
+	appl_write(server_id,16,msg);
+}
+
+/*	Antwort auf VA_START	*/
+void DoAV_STARTED(char *ptr)
+{
+	short msg[8]={AV_STARTED,0,0,0,0,0,0,0};
+	msg[1]=ap_id;
+	*(char **)&msg[3]=ptr;
+	appl_write(server_id,16,msg);
+}
+
+/*	Der Server soll ein bestimmtes Fenster oeffnen	*/
+void DoAV_XWIND(char *path, char *wild_card, short bits)
+{
+	short msg[8]={AV_XWIND,0,0,0,0,0,0,0};
+	msg[1]=ap_id;
+	*(char **)&msg[3]=path;
+	*(char **)&msg[5]=wild_card;
+	msg[7]=bits;
+	appl_write(server_id,16,msg);
+}
+
+/*	Der Server soll den passenden Viewer fuer eine Datei starten	*/
+void DoAV_VIEW(char *path)
+{
+	short msg[8]={AV_VIEW,0,0,0,0,0,0,0};
+	msg[1]=ap_id;
+	*(char **)&msg[3]=path;
+	appl_write(server_id,16,msg);
+}
+
+/*	Der Server soll die Datei-/Ordnerinformationen anzeigen	*/
+void DoAV_FILEINFO(char *path)
+{
+	short msg[8]={AV_FILEINFO,0,0,0,0,0,0,0};
+	msg[1]=ap_id;
+	*(char **)&msg[3]=path;
+	appl_write(server_id,16,msg);
+}
+
+/*	Der Server soll die Dateien/Ordner ans Ziel kopieren	*/
+void DoAV_COPYFILE(char *file_list, char *dest_path,short bits)
+{
+	short msg[8]={AV_COPYFILE,0,0,0,0,0,0,0};
+	msg[1]=ap_id;
+	*(char **)&msg[3]=file_list;
+	*(char **)&msg[5]=dest_path;
+	msg[7]=bits;
+	appl_write(server_id,16,msg);
+}
+
+/*	Der Server soll die Dateien/Ordner loeschen	*/
+void DoAV_DELFILE(char *file_list)
+{
+	short msg[8]={AV_DELFILE,0,0,0,0,0,0,0};
+	msg[1]=ap_id;
+	*(char **)&msg[3]=file_list;
+	appl_write(server_id,16,msg);
+}
+
+/*	Teilt dem Server mit, wo das naechste Fenster geffnet werden soll	*/
+void DoAV_SETWINDPOS(short x,short y,short w,short h)
+{
+	short msg[8]={AV_SETWINDPOS,0,0,0,0,0,0,0};
+	msg[1]=ap_id;
+	msg[3]=x;
+	msg[4]=y;
+	msg[5]=w;
+	msg[6]=h;
+	appl_write(server_id,16,msg);
+}
+
+/*	Dem Server wird ein Mouseklick gemeldet	*/
+void DoAV_SENDCLICK(EVNTDATA *m, short ev_return)
+{
+	short msg[8]={AV_SENDCLICK,0,0,0,0,0,0,0};
+	msg[1]=ap_id;
+	msg[3]=m->x;
+	msg[4]=m->y;
+	msg[5]=m->bstate;
+	msg[6]=m->kstate;
+	msg[7]=ev_return;
+	
+	appl_write(server_id,16,msg);
+}
Index: dl_bubbl.c
===================================================================
RCS file: /mint/freemint/tools/hypview/dl_bubbl.c,v
retrieving revision 1.2
diff -u -r1.2 dl_bubbl.c
--- dl_bubbl.c	12 Feb 2006 15:14:29 -0000	1.2
+++ dl_bubbl.c	31 Aug 2009 09:34:19 -0000
@@ -1,105 +1,105 @@
-/*
- * $Id: dl_bubbl.c,v 1.2 2006/02/12 15:14:29 pdonze Exp $
- * 
- * HypView - (c)      - 2006 Philipp Donze
- *               2006 -      Philipp Donze & Odd Skancke
- *
- * A replacement hypertext viewer
- *
- * This file is part of HypView.
- *
- * HypView is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * HypView is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HypView; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#include <gem.h>
-#include "diallib.h"
-
-#if USE_BUBBLEGEM == YES
-#include "bubble/bgh.h"
-
-char *bub_fname=BUBBLEGEM_FILE;
-
-void *Help;
-
-void DoInitBubble(void);
-void DoExitBubble(void);
-void Bubble(short mx,short my);
-
-
-void DoInitBubble(void)
-{
-	Help=BGH_load(bub_fname);
-}
-
-void DoExitBubble(void)
-{
-	BGH_free(Help);
-}
-
-void
-Bubble(short mx,short my)
-{
-	CHAIN_DATA *ptr;
-	short gruppe,index,typ=-1;
-
-	ptr=find_ptr_by_whandle(wind_find(mx,my));
-
-	if(!ptr)
-		return;
-
-	if(ptr->type==WIN_DIALOG)
-	{
-	OBJECT *tree=((DIALOG_DATA *)ptr)->obj;
-	short i;
-		if(ptr->status & WIS_ICONIFY)
-		{
-		GRECT box;
-			tree=tree_addr[DIAL_LIBRARY];
-			wind_get_grect(ptr->whandle, WF_WORKXYWH,&box);
-			tree_addr[DIAL_LIBRARY][0].ob_x=box.g_x;
-			tree_addr[DIAL_LIBRARY][0].ob_y=box.g_y;
-		}
-
-		index=objc_find(tree,ROOT,MAX_DEPTH,mx,my);
-		if(index==-1)
-			return;
-
-		for(i=0;i<tree_count;i++)
-		{
-			if(tree_addr[i]==tree)
-				gruppe=i;
-		}
-		typ=BGH_DIAL;
-	}
-	else if(ptr->type==WIN_WINDOW)
-	{
-	short data[4];
-		data[0]=mx;
-		data[1]=my;
-		data[2]=-1;
-		((WINDOW_DATA *)ptr)->proc((WINDOW_DATA *)ptr,WIND_BUBBLE,data);
-		if(data[2]!=-1)
-		{
-			gruppe=data[2];
-			index=data[3];
-			typ=BGH_USER;
-		}
-	}
-
-	if(typ!=-1)
-		BGH_action(Help,mx,my,typ,gruppe,index);
-}
-
-#endif
+/*
+ * $Id: dl_bubbl.c,v 1.2 2006/02/12 15:14:29 pdonze Exp $
+ * 
+ * HypView - (c)      - 2006 Philipp Donze
+ *               2006 -      Philipp Donze & Odd Skancke
+ *
+ * A replacement hypertext viewer
+ *
+ * This file is part of HypView.
+ *
+ * HypView is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * HypView is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HypView; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include <gem.h>
+#include "diallib.h"
+
+#if USE_BUBBLEGEM == YES
+#include "bubble/bgh.h"
+
+char *bub_fname=BUBBLEGEM_FILE;
+
+void *Help;
+
+void DoInitBubble(void);
+void DoExitBubble(void);
+void Bubble(short mx,short my);
+
+
+void DoInitBubble(void)
+{
+	Help=BGH_load(bub_fname);
+}
+
+void DoExitBubble(void)
+{
+	BGH_free(Help);
+}
+
+void
+Bubble(short mx,short my)
+{
+	CHAIN_DATA *ptr;
+	short gruppe,index,typ=-1;
+
+	ptr=find_ptr_by_whandle(wind_find(mx,my));
+
+	if(!ptr)
+		return;
+
+	if(ptr->type==WIN_DIALOG)
+	{
+	OBJECT *tree=((DIALOG_DATA *)ptr)->obj;
+	short i;
+		if(ptr->status & WIS_ICONIFY)
+		{
+		GRECT box;
+			tree=tree_addr[DIAL_LIBRARY];
+			wind_get_grect(ptr->whandle, WF_WORKXYWH,&box);
+			tree_addr[DIAL_LIBRARY][0].ob_x=box.g_x;
+			tree_addr[DIAL_LIBRARY][0].ob_y=box.g_y;
+		}
+
+		index=objc_find(tree,ROOT,MAX_DEPTH,mx,my);
+		if(index==-1)
+			return;
+
+		for(i=0;i<tree_count;i++)
+		{
+			if(tree_addr[i]==tree)
+				gruppe=i;
+		}
+		typ=BGH_DIAL;
+	}
+	else if(ptr->type==WIN_WINDOW)
+	{
+	short data[4];
+		data[0]=mx;
+		data[1]=my;
+		data[2]=-1;
+		((WINDOW_DATA *)ptr)->proc((WINDOW_DATA *)ptr,WIND_BUBBLE,data);
+		if(data[2]!=-1)
+		{
+			gruppe=data[2];
+			index=data[3];
+			typ=BGH_USER;
+		}
+	}
+
+	if(typ!=-1)
+		BGH_action(Help,mx,my,typ,gruppe,index);
+}
+
+#endif
Index: dl_user.h
===================================================================
RCS file: /mint/freemint/tools/hypview/dl_user.h,v
retrieving revision 1.5
diff -u -r1.5 dl_user.h
--- dl_user.h	8 May 2006 21:02:07 -0000	1.5
+++ dl_user.h	31 Aug 2009 09:34:20 -0000
@@ -1,149 +1,149 @@
-/*
- * $Id: dl_user.h,v 1.5 2006/05/08 21:02:07 pdonze Exp $
- * 
- * HypView - (c) 2001 - 2006 Philipp Donze
- *               2006 -      Philipp Donze & Odd Skancke
- *
- * A replacement hypertext viewer
- *
- * This file is part of HypView.
- *
- * HypView is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * HypView is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HypView; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#ifndef _dl_user_h
-#define _dl_user_h
-/********************************************
- *   begin options                          *
- ********************************************/
-/* #define GENERATE_DIAGS */
-/* Debug mode? (=add debugging output while compiling) */
-#define	DEBUG					OFF
-/* Create debug log file? (=put all debugging output into file) */
-#define	DEBUG_LOG				NO
-
-/* Main language for this application (=built in error messages) */
-#define	LANGUAGE				ENGLISH
-
-/* Use MagiC specific functions? (=limit usage on MagiC compatible systems) */
-#define	MAGIC_ONLY				NO
-
-/* Use a global VDI workstation? */
-#define	USE_GLOBAL_VDI			YES
-/*	Save color palette on init?	*/
-#define	SAVE_COLORS				NO
-
-/* Closing a window/dialog will automatically remove all related structures */
-#define	WIND_CLOSE_IS_REMOVE	YES
-#define	DIAL_CLOSE_IS_REMOVE	YES
-
-/* Use a global keyboard shortcut handler (=needs DoUserKeybd() in dl_user.c) */
-#define	USE_GLOBAL_KEYBOARD	NO
-
-/* Use user specific events? (=Pass events to DoUserEvents() before handling) */
-#define	USE_USER_EVENTS		YES
-
-/* Install/remove menubar on initialization? (Needs a resource object MENU) */
-#define	USE_MENU		NO
-
-/* Use window dialog management routines? (Based on WDialog) */
-#define	USE_DIALOG		YES
-
-/* Use normal window management routines? */
-#define	USE_WINDOW		YES
-/* Automatically set the title when iconifying according to RSC file */
-#define	SET_ICONIFY_NAME	NO
-/* Open a separate VDI workstation for each new window */
-#define	OPEN_VDI_WORKSTATION	NO
-/* Use a logical raster for computations (=not the pixel raster) */
-#define	USE_LOGICALRASTER	YES
-/* Use toolbar routines */
-#define	USE_TOOLBAR		YES
-
-/* Use fileselector routines */
-#define	USE_FILESELECTOR	YES
-/* Use fontselector routines */
-#define	USE_FONTSELECTOR	NO
-
-/* Level of AV protocol support:
-	0 = none
-	1 = minimal (limit on VA_START, AV_SENDCLICK and AV_SENDKEY reception)
-	2 = normal (AV_PROTOKOL, AV_EXIT, VA_PROTOSTATUS, VA_START,
-	    AV_SENDCLICK and AV_SENDKEY)
-	3 = full (Sending and reception of all possible messages)
-	    Needs DoVA_Message()!
-*/
-#define	USE_AV_PROTOCOL     3
-
-/* Support Drag&Drop protokol */
-#define	USE_DRAGDROP        YES
-
-/* Support long file names (=Pdomain(PD_MINT)) */
-#define	USE_LONGFILENAMES   YES
-
-/* Enable support for long edit fields (As in MagiC)	*/
-#define	USE_LONGEDITFIELDS  NO
-
-/* BubbleGEM help system */
-#define	USE_BUBBLEGEM       NO
-/* ST-Guide help system */
-#define	USE_STGUIDE         NO
-
-/* Document history protocol */
-#define	USE_DOCUMENTHISTORY	YES
-
-/* Name of user specific prototype */
-#define	SPEC_DEFINITION_FILE  "defs.h"
-
-/* "nice" form of the application name */
-#define	PROGRAM_NAME		"HypView"
-/* Application name in uppercase letters */
-#define	PROGRAM_UNAME		"HYP_VIEW"
-/* Name of the resource file */
-#define	RESOURCE_FILE		"hyp_view.rsc"
-/* Name of the resource header file */
-#define	RESOURCE_HEADER_FILE	"hyp_view.h"
-/* Name of the BubbleGEM header file */
-#define	BUBBLEGEM_FILE		"hyp_view.bgh"
-/* Name of the ST-Guide help file */
-#define	STGUIDE_FILE		"*:\\hyp_view.hyp "
-
-/* Maximum line lenght in the configuration file */
-#define	CFG_MAXLINESIZE		80
-/* Look for configuration file in the HOME folder? */
-#define	CFG_IN_HOME		YES
-
-/* Number of supported Drag&Drop formats */
-#define	MAX_DDFORMAT		8
-
-/* Maximum number of simultaneous iconified windows */
-#define	MAX_ICONIFY_PLACE	16
-/* Maximum number of recursion levels for modal dialogs */
-#define	MAX_MODALRECURSION	1
-
-
-/* event_multi parameters	*/
-#define EVENTS		MU_MESAG|MU_KEYBD|MU_BUTTON
-#define MBCLICKS	2|0x0100
-#define MBMASK		3
-#define MBSTATE		0
-#define MBLOCK1		NULL
-#define MBLOCK2		NULL
-#define WAIT		0L
-
-/********************************************
- *   end options                            *
- ********************************************/
-#endif     /* _dl_user_h */
+/*
+ * $Id: dl_user.h,v 1.5 2006/05/08 21:02:07 pdonze Exp $
+ * 
+ * HypView - (c) 2001 - 2006 Philipp Donze
+ *               2006 -      Philipp Donze & Odd Skancke
+ *
+ * A replacement hypertext viewer
+ *
+ * This file is part of HypView.
+ *
+ * HypView is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * HypView is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HypView; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef _dl_user_h
+#define _dl_user_h
+/********************************************
+ *   begin options                          *
+ ********************************************/
+/* #define GENERATE_DIAGS */
+/* Debug mode? (=add debugging output while compiling) */
+#define	DEBUG					OFF
+/* Create debug log file? (=put all debugging output into file) */
+#define	DEBUG_LOG				NO
+
+/* Main language for this application (=built in error messages) */
+#define	LANGUAGE				ENGLISH
+
+/* Use MagiC specific functions? (=limit usage on MagiC compatible systems) */
+#define	MAGIC_ONLY				NO
+
+/* Use a global VDI workstation? */
+#define	USE_GLOBAL_VDI			YES
+/*	Save color palette on init?	*/
+#define	SAVE_COLORS				NO
+
+/* Closing a window/dialog will automatically remove all related structures */
+#define	WIND_CLOSE_IS_REMOVE	YES
+#define	DIAL_CLOSE_IS_REMOVE	YES
+
+/* Use a global keyboard shortcut handler (=needs DoUserKeybd() in dl_user.c) */
+#define	USE_GLOBAL_KEYBOARD	NO
+
+/* Use user specific events? (=Pass events to DoUserEvents() before handling) */
+#define	USE_USER_EVENTS		YES
+
+/* Install/remove menubar on initialization? (Needs a resource object MENU) */
+#define	USE_MENU		NO
+
+/* Use window dialog management routines? (Based on WDialog) */
+#define	USE_DIALOG		YES
+
+/* Use normal window management routines? */
+#define	USE_WINDOW		YES
+/* Automatically set the title when iconifying according to RSC file */
+#define	SET_ICONIFY_NAME	NO
+/* Open a separate VDI workstation for each new window */
+#define	OPEN_VDI_WORKSTATION	NO
+/* Use a logical raster for computations (=not the pixel raster) */
+#define	USE_LOGICALRASTER	YES
+/* Use toolbar routines */
+#define	USE_TOOLBAR		YES
+
+/* Use fileselector routines */
+#define	USE_FILESELECTOR	YES
+/* Use fontselector routines */
+#define	USE_FONTSELECTOR	NO
+
+/* Level of AV protocol support:
+	0 = none
+	1 = minimal (limit on VA_START, AV_SENDCLICK and AV_SENDKEY reception)
+	2 = normal (AV_PROTOKOL, AV_EXIT, VA_PROTOSTATUS, VA_START,
+	    AV_SENDCLICK and AV_SENDKEY)
+	3 = full (Sending and reception of all possible messages)
+	    Needs DoVA_Message()!
+*/
+#define	USE_AV_PROTOCOL     3
+
+/* Support Drag&Drop protokol */
+#define	USE_DRAGDROP        YES
+
+/* Support long file names (=Pdomain(PD_MINT)) */
+#define	USE_LONGFILENAMES   YES
+
+/* Enable support for long edit fields (As in MagiC)	*/
+#define	USE_LONGEDITFIELDS  NO
+
+/* BubbleGEM help system */
+#define	USE_BUBBLEGEM       NO
+/* ST-Guide help system */
+#define	USE_STGUIDE         NO
+
+/* Document history protocol */
+#define	USE_DOCUMENTHISTORY	YES
+
+/* Name of user specific prototype */
+#define	SPEC_DEFINITION_FILE  "defs.h"
+
+/* "nice" form of the application name */
+#define	PROGRAM_NAME		"HypView"
+/* Application name in uppercase letters */
+#define	PROGRAM_UNAME		"HYP_VIEW"
+/* Name of the resource file */
+#define	RESOURCE_FILE		"hyp_view.rsc"
+/* Name of the resource header file */
+#define	RESOURCE_HEADER_FILE	"hyp_view.h"
+/* Name of the BubbleGEM header file */
+#define	BUBBLEGEM_FILE		"hyp_view.bgh"
+/* Name of the ST-Guide help file */
+#define	STGUIDE_FILE		"*:\\hyp_view.hyp "
+
+/* Maximum line lenght in the configuration file */
+#define	CFG_MAXLINESIZE		80
+/* Look for configuration file in the HOME folder? */
+#define	CFG_IN_HOME		YES
+
+/* Number of supported Drag&Drop formats */
+#define	MAX_DDFORMAT		8
+
+/* Maximum number of simultaneous iconified windows */
+#define	MAX_ICONIFY_PLACE	16
+/* Maximum number of recursion levels for modal dialogs */
+#define	MAX_MODALRECURSION	1
+
+
+/* event_multi parameters	*/
+#define EVENTS		MU_MESAG|MU_KEYBD|MU_BUTTON
+#define MBCLICKS	2|0x0100
+#define MBMASK		3
+#define MBSTATE		0
+#define MBLOCK1		NULL
+#define MBLOCK2		NULL
+#define WAIT		0L
+
+/********************************************
+ *   end options                            *
+ ********************************************/
+#endif     /* _dl_user_h */
Index: error.c
===================================================================
RCS file: /mint/freemint/tools/hypview/error.c,v
retrieving revision 1.2
diff -u -r1.2 error.c
--- error.c	12 Feb 2006 15:14:30 -0000	1.2
+++ error.c	31 Aug 2009 09:34:20 -0000
@@ -1,56 +1,56 @@
-/*
- * $Id: error.c,v 1.2 2006/02/12 15:14:30 pdonze Exp $
- * 
- * HypView - (c)      - 2006 Philipp Donze
- *               2006 -      Philipp Donze & Odd Skancke
- *
- * A replacement hypertext viewer
- *
- * This file is part of HypView.
- *
- * HypView is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * HypView is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HypView; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <gem.h>
-#include "diallib.h"
-#include "defs.h"
-
-void FileError(char *path,char *str)
-{
-char *filename;
-char ZStr[255];
-
-	filename=strrchr(path,dir_separator);
-	if(!filename++)
-		filename=path;
-
-	sprintf ( ZStr, "[3][ File <%s>: | %s ][ OK ]", filename, str );
-	form_alert ( 1, ZStr );
-}
-
-void FileErrorNr(char *path,long ret)
-{
-char *filename;
-	filename=strrchr(path,dir_separator);
-	if(!filename++)
-		filename = path;
-	if((ret == ENOENT/*EFILNF*/) || (ret == ENOTDIR/*EPTHNF*/))
-		Debug("ERROR: File <%s>: file not found",filename);
-	else
-		Debug("ERROR: File <%s>: error %ld",filename,ret);
-}
+/*
+ * $Id: error.c,v 1.2 2006/02/12 15:14:30 pdonze Exp $
+ * 
+ * HypView - (c)      - 2006 Philipp Donze
+ *               2006 -      Philipp Donze & Odd Skancke
+ *
+ * A replacement hypertext viewer
+ *
+ * This file is part of HypView.
+ *
+ * HypView is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * HypView is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HypView; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <gem.h>
+#include "diallib.h"
+#include "defs.h"
+
+void FileError(char *path,char *str)
+{
+char *filename;
+char ZStr[255];
+
+	filename=strrchr(path,dir_separator);
+	if(!filename++)
+		filename=path;
+
+	sprintf ( ZStr, "[3][ File <%s>: | %s ][ OK ]", filename, str );
+	form_alert ( 1, ZStr );
+}
+
+void FileErrorNr(char *path,long ret)
+{
+char *filename;
+	filename=strrchr(path,dir_separator);
+	if(!filename++)
+		filename = path;
+	if((ret == ENOENT/*EFILNF*/) || (ret == ENOTDIR/*EPTHNF*/))
+		Debug("ERROR: File <%s>: file not found",filename);
+	else
+		Debug("ERROR: File <%s>: error %ld",filename,ret);
+}
Index: hyp_view.c
===================================================================
RCS file: /mint/freemint/tools/hypview/hyp_view.c,v
retrieving revision 1.3
diff -u -r1.3 hyp_view.c
--- hyp_view.c	6 Apr 2008 15:47:03 -0000	1.3
+++ hyp_view.c	31 Aug 2009 09:34:20 -0000
@@ -1,77 +1,77 @@
-/*
- * $Id: hyp_view.c,v 1.3 2008/04/06 15:47:03 ggs Exp $
- * 
- * HypView - (c)      - 2006 Philipp Donze
- *               2006 -      Philipp Donze & Odd Skancke
- *
- * A replacement hypertext viewer
- *
- * This file is part of HypView.
- *
- * HypView is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * HypView is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HypView; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#include <gem.h>
-#include "diallib.h"
-#include "defs.h"
-
-extern short _app;
-
-int
-main(int argc, char *argv[])
-{
-	if(DoAesInit())
-		return(0);
-
-	if(DoInitSystem())
-		return(0);
-
-	LoadConfig();						/*	Konfiguration laden	*/
-
-	Init();								/*	restliche Initialisierung	*/
-
-	if(!_app)							/*	Als ACC gestartet?	*/
-		menu_register(ap_id,"  " PROGRAM_NAME);	/*	...im Menu anmelden	*/
-
-	if(argc <= 1)							/*	Keine Parameter bergeben?	*/
-	{
-		if(_app)							/*	Als Programm gestartet?	*/
-		{
-			if (*default_file)			/*	Default-Hypertext angegeben?	*/
-				OpenFileNW(default_file,NULL,0);
-			else
-				SelectFileLoad();		/*	Datei per Fileselector erfragen	*/
-		}
-	}
-	else									/*	Falls Parameter angegeben...	*/
-	{
-		/*	...diese Datei (inkl. Kapitel) laden	*/
-		OpenFileNW(argv[1], (argc > 2 ? argv[2]:NULL), 0);
-	}
-
-	while(!_app || (!doneFlag && all_list))
-	{
-		DoEvent();
-		if(quitApp)
-			break;
-	}
-	
-	RemoveItems();
-
-	Exit();
-
-	DoExitSystem();
-	return(0);
-}
+/*
+ * $Id: hyp_view.c,v 1.3 2008/04/06 15:47:03 ggs Exp $
+ * 
+ * HypView - (c)      - 2006 Philipp Donze
+ *               2006 -      Philipp Donze & Odd Skancke
+ *
+ * A replacement hypertext viewer
+ *
+ * This file is part of HypView.
+ *
+ * HypView is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * HypView is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HypView; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include <gem.h>
+#include "diallib.h"
+#include "defs.h"
+
+extern short _app;
+
+int
+main(int argc, char *argv[])
+{
+	if(DoAesInit())
+		return(0);
+
+	if(DoInitSystem())
+		return(0);
+
+	LoadConfig();						/*	Konfiguration laden	*/
+
+	Init();								/*	restliche Initialisierung	*/
+
+	if(!_app)							/*	Als ACC gestartet?	*/
+		menu_register(ap_id,"  " PROGRAM_NAME);	/*	...im Menu anmelden	*/
+
+	if(argc <= 1)							/*	Keine Parameter bergeben?	*/
+	{
+		if(_app)							/*	Als Programm gestartet?	*/
+		{
+			if (*default_file)			/*	Default-Hypertext angegeben?	*/
+				OpenFileNW(default_file,NULL,0);
+			else
+				SelectFileLoad();		/*	Datei per Fileselector erfragen	*/
+		}
+	}
+	else									/*	Falls Parameter angegeben...	*/
+	{
+		/*	...diese Datei (inkl. Kapitel) laden	*/
+		OpenFileNW(argv[1], (argc > 2 ? argv[2]:NULL), 0);
+	}
+
+	while(!_app || (!doneFlag && all_list))
+	{
+		DoEvent();
+		if(quitApp)
+			break;
+	}
+	
+	RemoveItems();
+
+	Exit();
+
+	DoExitSystem();
+	return(0);
+}
Index: hyp_view.h
===================================================================
RCS file: /mint/freemint/tools/hypview/hyp_view.h,v
retrieving revision 1.2
diff -u -r1.2 hyp_view.h
--- hyp_view.h	18 Apr 2008 20:42:48 -0000	1.2
+++ hyp_view.h	31 Aug 2009 09:34:20 -0000
@@ -1,105 +1,105 @@
- /*  Resource C-Header-File v1.95 f?r ResourceMaster ab v2.06 by ARDISOFT  */
-
-#define DIAL_LIBRARY 0  /* form/dial */
-#define DI_ICON 1  /* CICON in tree DIAL_LIBRARY */
-#define DI_ICONIFY_NAME 2  /* STRING in tree DIAL_LIBRARY */
-#define DI_MEMORY_ERROR 3  /* STRING in tree DIAL_LIBRARY */
-#define DI_WDIALOG_ERROR 4  /* STRING in tree DIAL_LIBRARY */
-#define DI_HELP_ERROR 5  /* STRING in tree DIAL_LIBRARY */
-#define DI_VDI_WKS_ERROR 6  /* STRING in tree DIAL_LIBRARY */
-
-#define TOOLBAR 1  /* form/dial */
-#define TO_BACKGRND 0  /* BOX in tree TOOLBAR */
-#define TO_ID 15  /* STRING in tree TOOLBAR */
-#define TO_SEARCHBOX 16  /* BOX in tree TOOLBAR */
-#define TO_SEARCH 17  /* FTEXT in tree TOOLBAR */
-#define TO_STRNOTFOUND 18  /* TEXT in tree TOOLBAR */
-#define TO_BUTTONBOX 19  /* IBOX in tree TOOLBAR */
-#define TO_MENU 14  /* CICON in tree TOOLBAR */
-#define TO_SAVE 13  /* CICON in tree TOOLBAR */
-#define TO_LOAD 12  /* CICON in tree TOOLBAR */
-#define TO_INFO 11  /* CICON in tree TOOLBAR */
-#define TO_HELP 10  /* CICON in tree TOOLBAR */
-#define TO_REFERENCES 9  /* CICON in tree TOOLBAR */
-#define TO_KATALOG 8  /* CICON in tree TOOLBAR */
-#define TO_INDEX 7  /* CICON in tree TOOLBAR */
-#define TO_NEXT 6  /* CICON in tree TOOLBAR */
-#define TO_HOME 5  /* CICON in tree TOOLBAR */
-#define TO_PREVIOUS 4  /* CICON in tree TOOLBAR */
-#define TO_MEMORY 3  /* CICON in tree TOOLBAR */
-#define TO_MOREBACK 2  /* CICON in tree TOOLBAR */
-#define TO_BACK 1  /* CICON in tree TOOLBAR */
-
-#define CONTEXT 2  /* form/dial */
-#define CO_BACK 1  /* STRING in tree CONTEXT */
-#define CO_COPY 2  /* STRING in tree CONTEXT */
-#define CO_PASTE 3  /* STRING in tree CONTEXT */
-#define CO_SELECT_ALL 5  /* STRING in tree CONTEXT */
-#define CO_SAVE 7  /* STRING in tree CONTEXT */
-#define CO_PRINT 8  /* STRING in tree CONTEXT */
-#define CO_DELETE_STACK 9  /* STRING in tree CONTEXT */
-
-#define EMPTYPOPUP 3  /* form/dial */
-#define EM_BACK 0  /* BOX in tree EMPTYPOPUP */
-#define EM_1 1  /* STRING in tree EMPTYPOPUP */
-#define EM_2 2  /* STRING in tree EMPTYPOPUP */
-#define EM_3 3  /* STRING in tree EMPTYPOPUP */
-#define EM_4 4  /* STRING in tree EMPTYPOPUP */
-#define EM_5 5  /* STRING in tree EMPTYPOPUP */
-#define EM_6 6  /* STRING in tree EMPTYPOPUP */
-#define EM_7 7  /* STRING in tree EMPTYPOPUP */
-#define EM_8 8  /* STRING in tree EMPTYPOPUP */
-#define EM_9 9  /* STRING in tree EMPTYPOPUP */
-#define EM_10 10  /* STRING in tree EMPTYPOPUP */
-#define EM_11 11  /* STRING in tree EMPTYPOPUP */
-#define EM_12 12  /* STRING in tree EMPTYPOPUP */
-
-#define PROGINFO 4  /* form/dial */
-#define PROG_OK 5  /* BUTTON in tree PROGINFO */
-#define PROG_NAME 6  /* STRING in tree PROGINFO */
-#define PROG_DATEI 7  /* STRING in tree PROGINFO */
-#define PROG_THEMA 8  /* STRING in tree PROGINFO */
-#define PROG_AUTOR 9  /* STRING in tree PROGINFO */
-#define PROG_VERSION 10  /* STRING in tree PROGINFO */
-#define PROG_DATE 11  /* STRING in tree PROGINFO */
-
-#define SEARCH_RESULT 5  /* form/dial */
-#define SR_FSTL_UP 1  /* BOXCHAR in tree SEARCH_RESULT */
-#define SR_FSTL_BACK 2  /* BOX in tree SEARCH_RESULT */
-#define SR_FSTL_WHITE 3  /* BOX in tree SEARCH_RESULT */
-#define SR_FSTL_DOWN 4  /* BOXCHAR in tree SEARCH_RESULT */
-#define SR_BOX 5  /* IBOX in tree SEARCH_RESULT */
-#define SR_FSTL_0 6  /* TEXT in tree SEARCH_RESULT */
-#define SR_FSTL_1 7  /* TEXT in tree SEARCH_RESULT */
-#define SR_FSTL_2 8  /* TEXT in tree SEARCH_RESULT */
-#define SR_FSTL_3 9  /* TEXT in tree SEARCH_RESULT */
-#define SR_FSTL_4 10  /* TEXT in tree SEARCH_RESULT */
-#define SR_FSTL_5 11  /* TEXT in tree SEARCH_RESULT */
-#define SR_FSTL_6 12  /* TEXT in tree SEARCH_RESULT */
-#define SR_FSTL_7 13  /* TEXT in tree SEARCH_RESULT */
-#define SR_FSTL_8 14  /* TEXT in tree SEARCH_RESULT */
-#define SR_FSTL_9 15  /* TEXT in tree SEARCH_RESULT */
-#define SR_ABORT 16  /* BUTTON in tree SEARCH_RESULT */
-
-#define HYPFIND 6  /* form/dial */
-#define HYPFIND_STRING 2  /* FTEXT in tree HYPFIND */
-#define HYPFIND_TEXT 3  /* BUTTON in tree HYPFIND */
-#define HYPFIND_PAGES 4  /* BUTTON in tree HYPFIND */
-#define HYPFIND_REF 5  /* BUTTON in tree HYPFIND */
-#define HYPFIND_ABORT 6  /* BUTTON in tree HYPFIND */
-#define HYPFIND_ALL_PAGE 7  /* BUTTON in tree HYPFIND */
-#define HYPFIND_ALL_HYP 8  /* BUTTON in tree HYPFIND */
-
-#define WARN_FEXIST 0  /* Alert string */
-
-#define WARN_ERASEMARK 1  /* Alert string */
-
-#define ASK_SETMARK 2  /* Alert string */
-
-#define ASK_SAVEMARKFILE 3  /* Alert string */
-
-#define WARN_NORESULT 4  /* Alert string */
-
-#define FSLX_LOAD 5  /* Free string */
-
-#define FSLX_SAVE 6  /* Free string */
+ /*  Resource C-Header-File v1.95 f?r ResourceMaster ab v2.06 by ARDISOFT  */
+
+#define DIAL_LIBRARY 0  /* form/dial */
+#define DI_ICON 1  /* CICON in tree DIAL_LIBRARY */
+#define DI_ICONIFY_NAME 2  /* STRING in tree DIAL_LIBRARY */
+#define DI_MEMORY_ERROR 3  /* STRING in tree DIAL_LIBRARY */
+#define DI_WDIALOG_ERROR 4  /* STRING in tree DIAL_LIBRARY */
+#define DI_HELP_ERROR 5  /* STRING in tree DIAL_LIBRARY */
+#define DI_VDI_WKS_ERROR 6  /* STRING in tree DIAL_LIBRARY */
+
+#define TOOLBAR 1  /* form/dial */
+#define TO_BACKGRND 0  /* BOX in tree TOOLBAR */
+#define TO_ID 15  /* STRING in tree TOOLBAR */
+#define TO_SEARCHBOX 16  /* BOX in tree TOOLBAR */
+#define TO_SEARCH 17  /* FTEXT in tree TOOLBAR */
+#define TO_STRNOTFOUND 18  /* TEXT in tree TOOLBAR */
+#define TO_BUTTONBOX 19  /* IBOX in tree TOOLBAR */
+#define TO_MENU 14  /* CICON in tree TOOLBAR */
+#define TO_SAVE 13  /* CICON in tree TOOLBAR */
+#define TO_LOAD 12  /* CICON in tree TOOLBAR */
+#define TO_INFO 11  /* CICON in tree TOOLBAR */
+#define TO_HELP 10  /* CICON in tree TOOLBAR */
+#define TO_REFERENCES 9  /* CICON in tree TOOLBAR */
+#define TO_KATALOG 8  /* CICON in tree TOOLBAR */
+#define TO_INDEX 7  /* CICON in tree TOOLBAR */
+#define TO_NEXT 6  /* CICON in tree TOOLBAR */
+#define TO_HOME 5  /* CICON in tree TOOLBAR */
+#define TO_PREVIOUS 4  /* CICON in tree TOOLBAR */
+#define TO_MEMORY 3  /* CICON in tree TOOLBAR */
+#define TO_MOREBACK 2  /* CICON in tree TOOLBAR */
+#define TO_BACK 1  /* CICON in tree TOOLBAR */
+
+#define CONTEXT 2  /* form/dial */
+#define CO_BACK 1  /* STRING in tree CONTEXT */
+#define CO_COPY 2  /* STRING in tree CONTEXT */
+#define CO_PASTE 3  /* STRING in tree CONTEXT */
+#define CO_SELECT_ALL 5  /* STRING in tree CONTEXT */
+#define CO_SAVE 7  /* STRING in tree CONTEXT */
+#define CO_PRINT 8  /* STRING in tree CONTEXT */
+#define CO_DELETE_STACK 9  /* STRING in tree CONTEXT */
+
+#define EMPTYPOPUP 3  /* form/dial */
+#define EM_BACK 0  /* BOX in tree EMPTYPOPUP */
+#define EM_1 1  /* STRING in tree EMPTYPOPUP */
+#define EM_2 2  /* STRING in tree EMPTYPOPUP */
+#define EM_3 3  /* STRING in tree EMPTYPOPUP */
+#define EM_4 4  /* STRING in tree EMPTYPOPUP */
+#define EM_5 5  /* STRING in tree EMPTYPOPUP */
+#define EM_6 6  /* STRING in tree EMPTYPOPUP */
+#define EM_7 7  /* STRING in tree EMPTYPOPUP */
+#define EM_8 8  /* STRING in tree EMPTYPOPUP */
+#define EM_9 9  /* STRING in tree EMPTYPOPUP */
+#define EM_10 10  /* STRING in tree EMPTYPOPUP */
+#define EM_11 11  /* STRING in tree EMPTYPOPUP */
+#define EM_12 12  /* STRING in tree EMPTYPOPUP */
+
+#define PROGINFO 4  /* form/dial */
+#define PROG_OK 5  /* BUTTON in tree PROGINFO */
+#define PROG_NAME 6  /* STRING in tree PROGINFO */
+#define PROG_DATEI 7  /* STRING in tree PROGINFO */
+#define PROG_THEMA 8  /* STRING in tree PROGINFO */
+#define PROG_AUTOR 9  /* STRING in tree PROGINFO */
+#define PROG_VERSION 10  /* STRING in tree PROGINFO */
+#define PROG_DATE 11  /* STRING in tree PROGINFO */
+
+#define SEARCH_RESULT 5  /* form/dial */
+#define SR_FSTL_UP 1  /* BOXCHAR in tree SEARCH_RESULT */
+#define SR_FSTL_BACK 2  /* BOX in tree SEARCH_RESULT */
+#define SR_FSTL_WHITE 3  /* BOX in tree SEARCH_RESULT */
+#define SR_FSTL_DOWN 4  /* BOXCHAR in tree SEARCH_RESULT */
+#define SR_BOX 5  /* IBOX in tree SEARCH_RESULT */
+#define SR_FSTL_0 6  /* TEXT in tree SEARCH_RESULT */
+#define SR_FSTL_1 7  /* TEXT in tree SEARCH_RESULT */
+#define SR_FSTL_2 8  /* TEXT in tree SEARCH_RESULT */
+#define SR_FSTL_3 9  /* TEXT in tree SEARCH_RESULT */
+#define SR_FSTL_4 10  /* TEXT in tree SEARCH_RESULT */
+#define SR_FSTL_5 11  /* TEXT in tree SEARCH_RESULT */
+#define SR_FSTL_6 12  /* TEXT in tree SEARCH_RESULT */
+#define SR_FSTL_7 13  /* TEXT in tree SEARCH_RESULT */
+#define SR_FSTL_8 14  /* TEXT in tree SEARCH_RESULT */
+#define SR_FSTL_9 15  /* TEXT in tree SEARCH_RESULT */
+#define SR_ABORT 16  /* BUTTON in tree SEARCH_RESULT */
+
+#define HYPFIND 6  /* form/dial */
+#define HYPFIND_STRING 2  /* FTEXT in tree HYPFIND */
+#define HYPFIND_TEXT 3  /* BUTTON in tree HYPFIND */
+#define HYPFIND_PAGES 4  /* BUTTON in tree HYPFIND */
+#define HYPFIND_REF 5  /* BUTTON in tree HYPFIND */
+#define HYPFIND_ABORT 6  /* BUTTON in tree HYPFIND */
+#define HYPFIND_ALL_PAGE 7  /* BUTTON in tree HYPFIND */
+#define HYPFIND_ALL_HYP 8  /* BUTTON in tree HYPFIND */
+
+#define WARN_FEXIST 0  /* Alert string */
+
+#define WARN_ERASEMARK 1  /* Alert string */
+
+#define ASK_SETMARK 2  /* Alert string */
+
+#define ASK_SAVEMARKFILE 3  /* Alert string */
+
+#define WARN_NORESULT 4  /* Alert string */
+
+#define FSLX_LOAD 5  /* Free string */
+
+#define FSLX_SAVE 6  /* Free string */
Index: bubble/bgh.c
===================================================================
RCS file: /mint/freemint/tools/hypview/bubble/bgh.c,v
retrieving revision 1.3
diff -u -r1.3 bgh.c
--- bubble/bgh.c	6 Apr 2008 15:47:03 -0000	1.3
+++ bubble/bgh.c	31 Aug 2009 09:34:20 -0000
@@ -1,373 +1,373 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifdef __GNUC__
-	#include <osbind.h>
-	#include <fcntl.h>
-
-	/* Mxalloc mode: global memory */
-	#define MX_GLOBAL	(2<<4)
-#else
-	#include <tos.h>
-#endif
-#include <gem.h>
-#include "bubble.h"
-#include "bgh.h"
-
-#define BGH_MAGIC 0x23424748L
-
-#define IS_SPACE(a)		((a==' ') || (a=='\t'))
-#define IS_EOL(a)			((a==10) || (a==13))
-#define IS_NUMBER(a)		((a>='0') && (a<='9'))
-
-#ifndef TRUE
-	#define	TRUE	1
-	#define	FALSE	0
-#endif
-
-struct bgh_group;
-struct bgh_object;
-
-typedef struct
-{
-	struct bgh_group *section[4];
-}BGH_head;
-
-typedef struct bgh_group
-{
-	int index;
-	struct bgh_group *next;
-	struct bgh_object *first;
-	char *help_string;
-}BGH_group;
-
-typedef struct bgh_object
-{
-	int index;
-	struct bgh_object *next;
-	char *help_string;
-}BGH_object;
-
-
-char *Goto_Lineend(char *ptr);
-char *Skip_Lineend(char *ptr);
-char *Skip_Spaces(char *ptr);
-char *Skip_Number(char *ptr);
-void Debug(char *str,...);
-
-
-
-void *BGH_load(const char *Name)
-{
-long ret,len;
-int handle,not_good=FALSE,i,sect=0;
-BGH_head *head;
-BGH_group *group=NULL,*new_group;
-BGH_object *obj=NULL,*new_obj;
-char *read,*write=NULL;
-	ret=Fopen(Name,O_RDONLY);
-	if(ret<0)
-		return NULL;
-	
-	handle=(int)ret;
-	len=Fseek(0,handle,2);
-	Fseek(0,handle,0);
-	
-	if(len<sizeof(BGH_head))
-		return NULL;
-	
-	head=(BGH_head *)Mxalloc(2*len+2, MX_GLOBAL);
-	if(head)
-	{
-		/* 68000er Bug (keine WORD/LONG Zugriffe auf ungerade Adressen)	*/
-		read=(char *)(((long)head+len+1)&0xfffffffeL);
-
-		if(Fread(handle,len,read)==len)
-		{
-			if(*(long *)read==BGH_MAGIC)
-			{
-				read[len]=0;
-				write=(char *)head+sizeof(BGH_head);
-				for(i=0;i<4;i++)
-					head->section[i]=NULL;
-				
-				while(*read)
-				{
-					read=Goto_Lineend(read);	/*	Zeilenende suchen	*/
-					read=Skip_Lineend(read);	/*	zur naechsten Zeile gehen	*/
-
-					if(*read)
-					{
-						if(*read=='#')
-						{
-							read++;
-							read=Skip_Spaces(read);
-
-							if(IS_NUMBER(*read))		/*	Objekt gefunden	*/
-							{
-								if(group)
-								{
-									new_obj=(BGH_object *)write;
-									write+=sizeof(BGH_object);
-	
-									new_obj->next=NULL;
-									new_obj->help_string=NULL;
-									new_obj->index=atoi(read);
-									
-									read=Skip_Number(read);
-									read=Skip_Spaces(read);
-									
-									if(obj && *read=='^')
-									/*	Referenz zum vorherigen Objekt ?	*/
-									{
-										new_obj->help_string=obj->help_string;
-									}
-									else if(head->section[3] && *read=='>')
-									/*	Referenz zum Objekt mit folgender Nummer	*/
-									{
-									BGH_group *ref_group=head->section[3];
-										while(ref_group && ref_group->index!=0)
-											ref_group=ref_group->next;
-										
-										if(ref_group)
-										{
-										BGH_object *ref_obj=ref_group->first;
-											read++;
-											i=atoi(read);
-											read=Skip_Number(read);
-											while(ref_obj && ref_obj->index!=i)
-												ref_obj=ref_obj->next;
-
-											if(ref_obj)
-												new_obj->help_string=ref_obj->help_string;
-										}							
-									}
-									else if(!IS_EOL(*read))
-									/*	Normaler Hilfe-String folgt	*/
-									{
-										new_obj->help_string=write;
-										while(*read && !IS_EOL(*read))
-											*write++=*read++;
-										*write++=0;
-
-										/* 68000er Bug (keine WORD/LONG Zugriffe 
-											auf ungerade Adressen)	*/
-										if((long)write & 1)
-											write++;
-									}
-									
-									if(group->first)
-									{
-										obj=group->first;
-										while(obj->next)
-											obj=obj->next;
-										obj->next=new_obj;
-									}
-									else
-										group->first=new_obj;
-									obj=new_obj;
-								}
-							}
-							else
-							{
-							const char *ptr = "N/A";
-								i=0;
-								switch(*read)
-								{
-									case 'd':
-									case 'D':
-										i=4;
-										ptr="dial";
-										sect=0;
-										break;
-									case 'a':
-									case 'A':
-										i=5;
-										ptr="alert";
-										sect=1;
-										break;
-									case 'u':
-									case 'U':
-										i=4;
-										ptr="user";
-										sect=2;
-										break;
-									case 'm':
-									case 'M':
-										i=4;
-										ptr="more";
-										sect=3;
-										break;
-								}
-								/*	Gruppe gefunden ??	*/
-								if(i && !strnicmp(read,ptr,i))
-								{
-									read+=i;
-									read=Skip_Spaces(read);
-	
-									new_group=(BGH_group *)write;
-									write+=sizeof(BGH_group);
-	
-									new_group->next=NULL;
-									new_group->first=NULL;
-									new_group->index=atoi(read);
-									read=Skip_Number(read);
-									if(IS_SPACE(*read))
-									{
-										read=Skip_Spaces(read);
-										new_group->help_string=write;
-										while(*read && !IS_EOL(*read))
-											*write++=*read++;
-										*write++=0;
-
-										/* 68000er Bug (keine WORD/LONG Zugriffe 
-											auf ungerade Adressen)	*/
-										if((long)write & 1)
-											write++;
-									}
-									else
-										new_group->help_string=NULL;
-									
-									if(head->section[sect])
-									{
-										group=head->section[sect];
-										while(group->next)
-											group=group->next;
-										group->next=new_group;
-									}
-									else
-										head->section[sect]=new_group;
-									group=new_group;
-									obj=NULL;
-								}
-							}
-						}
-					}
-				}
-			}
-			else
-				not_good=TRUE;
-			
-		}
-		else
-			not_good=TRUE;
-
-		if(not_good)
-		{
-			Mfree(head);
-			head=NULL;
-		}
-	}
-	Fclose(handle);
-
-	Mshrink(head,(unsigned long)write-(unsigned long)head);
-	return head;
-}
-
-void BGH_free(void *bgh_handle)
-{
-	Mfree(bgh_handle);
-}
-
-char *BGH_gethelpstring(void *bgh_handle, int typ, int gruppe, int idx)
-{
-BGH_head *head=bgh_handle;
-BGH_group *group;
-char *help_string=NULL;
-	if(typ<0 || typ>3)
-		return NULL;
-	
-	group=head->section[typ];
-	while(group && group->index!=gruppe)
-		group=group->next;
-	if(group)
-	{
-	BGH_object *obj=group->first;
-		if(idx==-1)
-		{
-			help_string=group->help_string;
-		}
-		else
-		{
-			while(obj && obj->index!=idx)
-				obj=obj->next;
-			if(obj)
-				help_string=obj->help_string;
-		}
-	}
-	return help_string;
-}
-
-void BGH_action(void *bgh_handle, int mx, int my, int typ, int gruppe, int idx)
-{
-extern int ap_id;
-int bubble_id;
-int msg[8];
-char *help_string;
-char *path=NULL;
-
-	help_string=BGH_gethelpstring(bgh_handle, typ, gruppe, idx);
-
-	if(help_string)
-	{
-		bubble_id=appl_find("BUBBLE  ");
-		if(bubble_id<0)
-		{
-			shel_envrn(&path,"BUBBLEGEM=");
-			if(path)
-			{
-				bubble_id=shel_write(SHW_EXEC,1,SHW_PARALLEL,path,NULL);
-				evnt_timer(500);
-			}
-		}
-
-		if(bubble_id >= 0)
-		{
-			msg[0]=BUBBLEGEM_SHOW;
-			msg[1]=ap_id;
-			msg[2]=0;
-			msg[3]=mx;
-			msg[4]=my;
-			msg[5]=(int)(((long)help_string >> 16) & 0x0000ffff);
-			msg[6]=(int)((long)help_string & 0x0000ffff);
-			msg[7]=0;
-			if(appl_write(bubble_id, 16, msg) == 0)
-			{
-			/* Fehler */
-			}
-		}
-	}
-}
-
-
-
-
-
-
-char *Goto_Lineend(char *ptr)
-{
-	while(*ptr && !IS_EOL(*ptr))
-		ptr++;
-	return ptr;
-}
-
-char *Skip_Lineend(char *ptr)
-{
-	while(*ptr && IS_EOL(*ptr))
-		ptr++;
-	return ptr;
-}
-
-char *Skip_Spaces(char *ptr)
-{
-	while(*ptr && IS_SPACE(*ptr))
-		ptr++;
-	return ptr;
-}
-
-char *Skip_Number(char *ptr)
-{
-	while(*ptr && IS_NUMBER(*ptr))
-		ptr++;
-	return ptr;
-}
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#ifdef __GNUC__
+	#include <osbind.h>
+	#include <fcntl.h>
+
+	/* Mxalloc mode: global memory */
+	#define MX_GLOBAL	(2<<4)
+#else
+	#include <tos.h>
+#endif
+#include <gem.h>
+#include "bubble.h"
+#include "bgh.h"
+
+#define BGH_MAGIC 0x23424748L
+
+#define IS_SPACE(a)		((a==' ') || (a=='\t'))
+#define IS_EOL(a)			((a==10) || (a==13))
+#define IS_NUMBER(a)		((a>='0') && (a<='9'))
+
+#ifndef TRUE
+	#define	TRUE	1
+	#define	FALSE	0
+#endif
+
+struct bgh_group;
+struct bgh_object;
+
+typedef struct
+{
+	struct bgh_group *section[4];
+}BGH_head;
+
+typedef struct bgh_group
+{
+	int index;
+	struct bgh_group *next;
+	struct bgh_object *first;
+	char *help_string;
+}BGH_group;
+
+typedef struct bgh_object
+{
+	int index;
+	struct bgh_object *next;
+	char *help_string;
+}BGH_object;
+
+
+char *Goto_Lineend(char *ptr);
+char *Skip_Lineend(char *ptr);
+char *Skip_Spaces(char *ptr);
+char *Skip_Number(char *ptr);
+void Debug(char *str,...);
+
+
+
+void *BGH_load(const char *Name)
+{
+long ret,len;
+int handle,not_good=FALSE,i,sect=0;
+BGH_head *head;
+BGH_group *group=NULL,*new_group;
+BGH_object *obj=NULL,*new_obj;
+char *read,*write=NULL;
+	ret=Fopen(Name,O_RDONLY);
+	if(ret<0)
+		return NULL;
+	
+	handle=(int)ret;
+	len=Fseek(0,handle,2);
+	Fseek(0,handle,0);
+	
+	if(len<sizeof(BGH_head))
+		return NULL;
+	
+	head=(BGH_head *)Mxalloc(2*len+2, MX_GLOBAL);
+	if(head)
+	{
+		/* 68000er Bug (keine WORD/LONG Zugriffe auf ungerade Adressen)	*/
+		read=(char *)(((long)head+len+1)&0xfffffffeL);
+
+		if(Fread(handle,len,read)==len)
+		{
+			if(*(long *)read==BGH_MAGIC)
+			{
+				read[len]=0;
+				write=(char *)head+sizeof(BGH_head);
+				for(i=0;i<4;i++)
+					head->section[i]=NULL;
+				
+				while(*read)
+				{
+					read=Goto_Lineend(read);	/*	Zeilenende suchen	*/
+					read=Skip_Lineend(read);	/*	zur naechsten Zeile gehen	*/
+
+					if(*read)
+					{
+						if(*read=='#')
+						{
+							read++;
+							read=Skip_Spaces(read);
+
+							if(IS_NUMBER(*read))		/*	Objekt gefunden	*/
+							{
+								if(group)
+								{
+									new_obj=(BGH_object *)write;
+									write+=sizeof(BGH_object);
+	
+									new_obj->next=NULL;
+									new_obj->help_string=NULL;
+									new_obj->index=atoi(read);
+									
+									read=Skip_Number(read);
+									read=Skip_Spaces(read);
+									
+									if(obj && *read=='^')
+									/*	Referenz zum vorherigen Objekt ?	*/
+									{
+										new_obj->help_string=obj->help_string;
+									}
+									else if(head->section[3] && *read=='>')
+									/*	Referenz zum Objekt mit folgender Nummer	*/
+									{
+									BGH_group *ref_group=head->section[3];
+										while(ref_group && ref_group->index!=0)
+											ref_group=ref_group->next;
+										
+										if(ref_group)
+										{
+										BGH_object *ref_obj=ref_group->first;
+											read++;
+											i=atoi(read);
+											read=Skip_Number(read);
+											while(ref_obj && ref_obj->index!=i)
+												ref_obj=ref_obj->next;
+
+											if(ref_obj)
+												new_obj->help_string=ref_obj->help_string;
+										}							
+									}
+									else if(!IS_EOL(*read))
+									/*	Normaler Hilfe-String folgt	*/
+									{
+										new_obj->help_string=write;
+										while(*read && !IS_EOL(*read))
+											*write++=*read++;
+										*write++=0;
+
+										/* 68000er Bug (keine WORD/LONG Zugriffe 
+											auf ungerade Adressen)	*/
+										if((long)write & 1)
+											write++;
+									}
+									
+									if(group->first)
+									{
+										obj=group->first;
+										while(obj->next)
+											obj=obj->next;
+										obj->next=new_obj;
+									}
+									else
+										group->first=new_obj;
+									obj=new_obj;
+								}
+							}
+							else
+							{
+							const char *ptr = "N/A";
+								i=0;
+								switch(*read)
+								{
+									case 'd':
+									case 'D':
+										i=4;
+										ptr="dial";
+										sect=0;
+										break;
+									case 'a':
+									case 'A':
+										i=5;
+										ptr="alert";
+										sect=1;
+										break;
+									case 'u':
+									case 'U':
+										i=4;
+										ptr="user";
+										sect=2;
+										break;
+									case 'm':
+									case 'M':
+										i=4;
+										ptr="more";
+										sect=3;
+										break;
+								}
+								/*	Gruppe gefunden ??	*/
+								if(i && !strnicmp(read,ptr,i))
+								{
+									read+=i;
+									read=Skip_Spaces(read);
+	
+									new_group=(BGH_group *)write;
+									write+=sizeof(BGH_group);
+	
+									new_group->next=NULL;
+									new_group->first=NULL;
+									new_group->index=atoi(read);
+									read=Skip_Number(read);
+									if(IS_SPACE(*read))
+									{
+										read=Skip_Spaces(read);
+										new_group->help_string=write;
+										while(*read && !IS_EOL(*read))
+											*write++=*read++;
+										*write++=0;
+
+										/* 68000er Bug (keine WORD/LONG Zugriffe 
+											auf ungerade Adressen)	*/
+										if((long)write & 1)
+											write++;
+									}
+									else
+										new_group->help_string=NULL;
+									
+									if(head->section[sect])
+									{
+										group=head->section[sect];
+										while(group->next)
+											group=group->next;
+										group->next=new_group;
+									}
+									else
+										head->section[sect]=new_group;
+									group=new_group;
+									obj=NULL;
+								}
+							}
+						}
+					}
+				}
+			}
+			else
+				not_good=TRUE;
+			
+		}
+		else
+			not_good=TRUE;
+
+		if(not_good)
+		{
+			Mfree(head);
+			head=NULL;
+		}
+	}
+	Fclose(handle);
+
+	Mshrink(head,(unsigned long)write-(unsigned long)head);
+	return head;
+}
+
+void BGH_free(void *bgh_handle)
+{
+	Mfree(bgh_handle);
+}
+
+char *BGH_gethelpstring(void *bgh_handle, int typ, int gruppe, int idx)
+{
+BGH_head *head=bgh_handle;
+BGH_group *group;
+char *help_string=NULL;
+	if(typ<0 || typ>3)
+		return NULL;
+	
+	group=head->section[typ];
+	while(group && group->index!=gruppe)
+		group=group->next;
+	if(group)
+	{
+	BGH_object *obj=group->first;
+		if(idx==-1)
+		{
+			help_string=group->help_string;
+		}
+		else
+		{
+			while(obj && obj->index!=idx)
+				obj=obj->next;
+			if(obj)
+				help_string=obj->help_string;
+		}
+	}
+	return help_string;
+}
+
+void BGH_action(void *bgh_handle, int mx, int my, int typ, int gruppe, int idx)
+{
+extern int ap_id;
+int bubble_id;
+int msg[8];
+char *help_string;
+char *path=NULL;
+
+	help_string=BGH_gethelpstring(bgh_handle, typ, gruppe, idx);
+
+	if(help_string)
+	{
+		bubble_id=appl_find("BUBBLE  ");
+		if(bubble_id<0)
+		{
+			shel_envrn(&path,"BUBBLEGEM=");
+			if(path)
+			{
+				bubble_id=shel_write(SHW_EXEC,1,SHW_PARALLEL,path,NULL);
+				evnt_timer(500);
+			}
+		}
+
+		if(bubble_id >= 0)
+		{
+			msg[0]=BUBBLEGEM_SHOW;
+			msg[1]=ap_id;
+			msg[2]=0;
+			msg[3]=mx;
+			msg[4]=my;
+			msg[5]=(int)(((long)help_string >> 16) & 0x0000ffff);
+			msg[6]=(int)((long)help_string & 0x0000ffff);
+			msg[7]=0;
+			if(appl_write(bubble_id, 16, msg) == 0)
+			{
+			/* Fehler */
+			}
+		}
+	}
+}
+
+
+
+
+
+
+char *Goto_Lineend(char *ptr)
+{
+	while(*ptr && !IS_EOL(*ptr))
+		ptr++;
+	return ptr;
+}
+
+char *Skip_Lineend(char *ptr)
+{
+	while(*ptr && IS_EOL(*ptr))
+		ptr++;
+	return ptr;
+}
+
+char *Skip_Spaces(char *ptr)
+{
+	while(*ptr && IS_SPACE(*ptr))
+		ptr++;
+	return ptr;
+}
+
+char *Skip_Number(char *ptr)
+{
+	while(*ptr && IS_NUMBER(*ptr))
+		ptr++;
+	return ptr;
+}
Index: bubble/bgh.h
===================================================================
RCS file: /mint/freemint/tools/hypview/bubble/bgh.h,v
retrieving revision 1.1
diff -u -r1.1 bgh.h
--- bubble/bgh.h	12 Feb 2006 15:17:59 -0000	1.1
+++ bubble/bgh.h	31 Aug 2009 09:34:20 -0000
@@ -1,14 +1,14 @@
-#ifndef _BGH_H_
-#define _BGH_H_
-
-#define BGH_DIAL	0
-#define BGH_ALERT	1
-#define BGH_USER	2
-#define BGH_MORE	3
-
-void *BGH_load(const char *Name);
-void BGH_free(void *bgh_handle);
-char *BGH_gethelpstring(void *bgh_handle, int typ, int gruppe, int idx);
-void BGH_action(void *bgh_handle, int mx, int my, int typ, int gruppe, int idx);
-
-#endif  /* _BGH_H_ */
+#ifndef _BGH_H_
+#define _BGH_H_
+
+#define BGH_DIAL	0
+#define BGH_ALERT	1
+#define BGH_USER	2
+#define BGH_MORE	3
+
+void *BGH_load(const char *Name);
+void BGH_free(void *bgh_handle);
+char *BGH_gethelpstring(void *bgh_handle, int typ, int gruppe, int idx);
+void BGH_action(void *bgh_handle, int mx, int my, int typ, int gruppe, int idx);
+
+#endif  /* _BGH_H_ */
Index: bubble/bubble.h
===================================================================
RCS file: /mint/freemint/tools/hypview/bubble/bubble.h,v
retrieving revision 1.2
diff -u -r1.2 bubble.h
--- bubble/bubble.h	6 Apr 2008 15:47:03 -0000	1.2
+++ bubble/bubble.h	31 Aug 2009 09:34:20 -0000
@@ -1,115 +1,115 @@
-/* BUBBLEGEM_REQUEST - Nachricht
- * msg[0]   $BABA
- * msg[1]   demonID
- * msg[2]   0
- * msg[3]   winID
- * msg[4]   mX
- * msg[5]   mY
- * msg[6]   KStat
- * msg[7]   0
- */
-#define BUBBLEGEM_REQUEST  0xBABA
-
-/* BUBBLEGEM_SHOW - Nachricht:
- * msg[0]   $BABB
- * msg[1]   ap_id
- * msg[2]   0
- * msg[3]   Maus X
- * msg[4]   Maus Y
- * msg[5/6] Pointer auf nullterminierte Zeichenkette im globalen
- *          Speicher
- * msg[7]   Special-Word (=Bitfield)
- */
-#define BUBBLEGEM_SHOW  0xBABB
-
-
-/* BUBBLEGEM_ACK ($BABC)
- *
- * msg[0]   $BABC
- * msg[1]   ap_id
- * msg[2]   0
- * msg[3]   0
- * msg[4]   0
- * msg[5/6] Pointer aus BUBBLEGEM_SHOW
- * msg[7]   0
- */
-#define BUBBLEGEM_ACK   0xBABC
-
-
-/* BUBBLEGEM_ASKFONT ($BABD)
- * msg[0] = $BABD;
- * msg[1] = apID;
- * msg[2] = 0;
- * msg[3] = 0;
- * msg[4] = 0;
- * msg[5] = 0;
- * msg[6] = 0;
- * msg[7] = 0;
- */
-#define BUBBLEGEM_ASKFONT  0xbabd;
-
-/* BUBBLEGEM_FONT ($BABE)
- * msg[0] = $BABE;
- * msg[1] = apID;
- * msg[2] = 0;
- * msg[3] = FontID;
- * msg[4] = FontPt;
- * msg[5] = 0;
- * msg[6] = 0;
- * msg[7] = 0;
- */
-#define BUBBLEGEM_FONT     0xbabe;
-
-
-/* BUBBLEGEM_HIDE ($BABF)
- * msg[0] = $BABF;
- * msg[1] = apID;
- * msg[2] = 0;
- * msg[3] = ?;
- * msg[4] = ?;
- * msg[5] = ?;
- * msg[6] = ?;
- * msg[7] = ?;
- */
-#define BUBBLEGEM_HIDE     0xBABF;
-
-
-/*
- * Daten fuer das Special-Word von BUBBLEGEM_SHOW
- */
-#define BGS7_USRHIDE	0x0001		/*	fuer modalen Aufruf noetig	*/
-#define BGS7_MOUSE 	0x0004		/*	BubbleGEM benutzt die Koordinaten nur 
-												zum Zeichnen	*/
-
-
-/*
- * BGEM Cookie	
- */
-typedef struct
-{
-	long	magic;   /*	'BGEM'	*/
-	long	size;    /*	Groesse dieser Struktur, derzeit 18	*/
-	int	release; /*	derzeit 6, nie kleiner als 5	*/
-	int	active;  /*	<>0, wenn gerade eine Hilfe angezeigt wird;
-								0  sonst	*/
-	MFORM	*mhelp;	/*	Zeiger auf Hilfe-Mausform	*/
-	int	dtimer;	/*	Daemon-Timer; Default 200ms; ab Release 6	*/
-}BGEM;
-
-
-/* BHLP-Cookie:
- * BubbleGEM wertet den Cookie "BHLP" aus. Im oberen Word ist die Dauer 
- * der Mindest-Sichtbarkeit eingetragen, Standard sind 200 Millisekunden.
- * Das untere Word ist eine Bitmap; ist Bit 0 ($0001 = BGC_FONTCHANGED) 
- * gesetzt, so bedeutet dies, dass FONT_CHANGED ausgewertet wird. Ist 
- * BGC_NOWINSTYLE ($0002) (lies: no-win-style, nicht now-in-style) 
- * gesetzt, so wird die Hilfe als Sprechblase dargestellt (d.h. ein 
- * geloeschtes Bit entspricht der Windows-Hilfe!). Ein gesetztes Bit bei 
- * BGC_SENDKEY ($0004) bewirkt, dass nach Schliessen der Hilfe durch einen 
- * Tastendruck AV_SENDKEY an den Aufrufer geschickt wird. BGC_DEMONACTIVE
- * ($0008) bewirkt, dass Daemon eingeschaltet ist.
- */
-#define	BGC_FONTCHANGED	0x0001
-#define	BGC_NOWINSTYLE		0x0002
-#define	BGC_SENDKEY			0x0004
-#define	BGC_DEMONACTIVE	0x0004
+/* BUBBLEGEM_REQUEST - Nachricht
+ * msg[0]   $BABA
+ * msg[1]   demonID
+ * msg[2]   0
+ * msg[3]   winID
+ * msg[4]   mX
+ * msg[5]   mY
+ * msg[6]   KStat
+ * msg[7]   0
+ */
+#define BUBBLEGEM_REQUEST  0xBABA
+
+/* BUBBLEGEM_SHOW - Nachricht:
+ * msg[0]   $BABB
+ * msg[1]   ap_id
+ * msg[2]   0
+ * msg[3]   Maus X
+ * msg[4]   Maus Y
+ * msg[5/6] Pointer auf nullterminierte Zeichenkette im globalen
+ *          Speicher
+ * msg[7]   Special-Word (=Bitfield)
+ */
+#define BUBBLEGEM_SHOW  0xBABB
+
+
+/* BUBBLEGEM_ACK ($BABC)
+ *
+ * msg[0]   $BABC
+ * msg[1]   ap_id
+ * msg[2]   0
+ * msg[3]   0
+ * msg[4]   0
+ * msg[5/6] Pointer aus BUBBLEGEM_SHOW
+ * msg[7]   0
+ */
+#define BUBBLEGEM_ACK   0xBABC
+
+
+/* BUBBLEGEM_ASKFONT ($BABD)
+ * msg[0] = $BABD;
+ * msg[1] = apID;
+ * msg[2] = 0;
+ * msg[3] = 0;
+ * msg[4] = 0;
+ * msg[5] = 0;
+ * msg[6] = 0;
+ * msg[7] = 0;
+ */
+#define BUBBLEGEM_ASKFONT  0xbabd;
+
+/* BUBBLEGEM_FONT ($BABE)
+ * msg[0] = $BABE;
+ * msg[1] = apID;
+ * msg[2] = 0;
+ * msg[3] = FontID;
+ * msg[4] = FontPt;
+ * msg[5] = 0;
+ * msg[6] = 0;
+ * msg[7] = 0;
+ */
+#define BUBBLEGEM_FONT     0xbabe;
+
+
+/* BUBBLEGEM_HIDE ($BABF)
+ * msg[0] = $BABF;
+ * msg[1] = apID;
+ * msg[2] = 0;
+ * msg[3] = ?;
+ * msg[4] = ?;
+ * msg[5] = ?;
+ * msg[6] = ?;
+ * msg[7] = ?;
+ */
+#define BUBBLEGEM_HIDE     0xBABF;
+
+
+/*
+ * Daten fuer das Special-Word von BUBBLEGEM_SHOW
+ */
+#define BGS7_USRHIDE	0x0001		/*	fuer modalen Aufruf noetig	*/
+#define BGS7_MOUSE 	0x0004		/*	BubbleGEM benutzt die Koordinaten nur 
+												zum Zeichnen	*/
+
+
+/*
+ * BGEM Cookie	
+ */
+typedef struct
+{
+	long	magic;   /*	'BGEM'	*/
+	long	size;    /*	Groesse dieser Struktur, derzeit 18	*/
+	int	release; /*	derzeit 6, nie kleiner als 5	*/
+	int	active;  /*	<>0, wenn gerade eine Hilfe angezeigt wird;
+								0  sonst	*/
+	MFORM	*mhelp;	/*	Zeiger auf Hilfe-Mausform	*/
+	int	dtimer;	/*	Daemon-Timer; Default 200ms; ab Release 6	*/
+}BGEM;
+
+
+/* BHLP-Cookie:
+ * BubbleGEM wertet den Cookie "BHLP" aus. Im oberen Word ist die Dauer 
+ * der Mindest-Sichtbarkeit eingetragen, Standard sind 200 Millisekunden.
+ * Das untere Word ist eine Bitmap; ist Bit 0 ($0001 = BGC_FONTCHANGED) 
+ * gesetzt, so bedeutet dies, dass FONT_CHANGED ausgewertet wird. Ist 
+ * BGC_NOWINSTYLE ($0002) (lies: no-win-style, nicht now-in-style) 
+ * gesetzt, so wird die Hilfe als Sprechblase dargestellt (d.h. ein 
+ * geloeschtes Bit entspricht der Windows-Hilfe!). Ein gesetztes Bit bei 
+ * BGC_SENDKEY ($0004) bewirkt, dass nach Schliessen der Hilfe durch einen 
+ * Tastendruck AV_SENDKEY an den Aufrufer geschickt wird. BGC_DEMONACTIVE
+ * ($0008) bewirkt, dass Daemon eingeschaltet ist.
+ */
+#define	BGC_FONTCHANGED	0x0001
+#define	BGC_NOWINSTYLE		0x0002
+#define	BGC_SENDKEY			0x0004
+#define	BGC_DEMONACTIVE	0x0004
Index: bubble/history.txt
===================================================================
RCS file: /mint/freemint/tools/hypview/bubble/history.txt,v
retrieving revision 1.2
diff -u -r1.2 history.txt
--- bubble/history.txt	6 Apr 2008 15:47:03 -0000	1.2
+++ bubble/history.txt	31 Aug 2009 09:34:20 -0000
@@ -1,24 +1,24 @@
-BGH-Lade Routinen
------------------
-22.07.2001
-   Erste selbst geschriebene Laderoutinen fuer BGH-Hilfedateien (=BubbleGEM
-   Hilfedateien). (hoffentlich) Kompatibel zur BGH Definition von Armin
-   Diedering (v1.1). Keine Unterstuetzung der Cookie-Schnittstelle oder
-   Shared-Libraries! Kein Binaerformat.
-   Warum? Weil ich das fuer Humbug halte!
-   Unterstuetzt Referenzen:
-      "^" zeigt auf den Hilfetext des vorherigen Objekts
-      ">" gefolgt von einer Nummer zeigt auf das Objekt mit dieser Nummer,
-          welches sich in der MORE Sektion befindet!
-13.11.2001
-   Bugfix: Beim Laden der BGH Datei wurde nicht darauf geachtet, ob der
-   allozierte Speicher auf einer geraden oder ungeraden Adresse zu liegen
-   kam. --> Absturz auf 68000ern.
-
-
-
-Philipp Donze
-Rue de Sadaz 5
-1373 Chavornay
-Schweiz
-
+BGH-Lade Routinen
+-----------------
+22.07.2001
+   Erste selbst geschriebene Laderoutinen fuer BGH-Hilfedateien (=BubbleGEM
+   Hilfedateien). (hoffentlich) Kompatibel zur BGH Definition von Armin
+   Diedering (v1.1). Keine Unterstuetzung der Cookie-Schnittstelle oder
+   Shared-Libraries! Kein Binaerformat.
+   Warum? Weil ich das fuer Humbug halte!
+   Unterstuetzt Referenzen:
+      "^" zeigt auf den Hilfetext des vorherigen Objekts
+      ">" gefolgt von einer Nummer zeigt auf das Objekt mit dieser Nummer,
+          welches sich in der MORE Sektion befindet!
+13.11.2001
+   Bugfix: Beim Laden der BGH Datei wurde nicht darauf geachtet, ob der
+   allozierte Speicher auf einer geraden oder ungeraden Adresse zu liegen
+   kam. --> Absturz auf 68000ern.
+
+
+
+Philipp Donze
+Rue de Sadaz 5
+1373 Chavornay
+Schweiz
+
Index: bubble/test.c
===================================================================
RCS file: /mint/freemint/tools/hypview/bubble/test.c,v
retrieving revision 1.1
diff -u -r1.1 test.c
--- bubble/test.c	12 Feb 2006 15:17:59 -0000	1.1
+++ bubble/test.c	31 Aug 2009 09:34:20 -0000
@@ -1,14 +1,14 @@
-#include <my_tos.h>
-#include <bgh.h>
-
-void main(void)
-{
-void *help;
-	help=BGH_load("TEST.BGH");
-	Cconws(BGH_gethelpstring(help,BGH_DIAL,0,56));
-	Cconws("\r\n");
-	Cconws(BGH_gethelpstring(help,BGH_MORE,0,44));
-	Cconws("\r\n");
-	BGH_free(help);
-	Cnecin();
+#include <my_tos.h>
+#include <bgh.h>
+
+void main(void)
+{
+void *help;
+	help=BGH_load("TEST.BGH");
+	Cconws(BGH_gethelpstring(help,BGH_DIAL,0,56));
+	Cconws("\r\n");
+	Cconws(BGH_gethelpstring(help,BGH_MORE,0,44));
+	Cconws("\r\n");
+	BGH_free(help);
+	Cnecin();
 }
\ No newline at end of file
Index: doc/anleitun.txt
===================================================================
RCS file: /mint/freemint/tools/hypview/doc/anleitun.txt,v
retrieving revision 1.2
diff -u -r1.2 anleitun.txt
--- doc/anleitun.txt	6 Apr 2008 15:47:03 -0000	1.2
+++ doc/anleitun.txt	31 Aug 2009 09:34:20 -0000
@@ -1,12 +1,12 @@
-- Klick auf einen ungenutzten Eintrag: eine Alert-Box fragt ob man eine
-  Marke setzen will.
-
-- Klick auf einen gesetzten Eintrag stellt diesen im aktuellen Fenster dar.
-
-- CTRL-Klick auf einen gesetzten Eintrag oeffnet diese Marke in einem
-  neuen Fenster.
-
-- Shift-Klick auf einen Eintrag setzt stehts eine Marke. (ST-GUIDE
-  kompatibel)
-
-- ALT-Klick auf einen gesetzten Eintrag fragt ob man diesen Loeschen will.
+- Klick auf einen ungenutzten Eintrag: eine Alert-Box fragt ob man eine
+  Marke setzen will.
+
+- Klick auf einen gesetzten Eintrag stellt diesen im aktuellen Fenster dar.
+
+- CTRL-Klick auf einen gesetzten Eintrag oeffnet diese Marke in einem
+  neuen Fenster.
+
+- Shift-Klick auf einen Eintrag setzt stehts eine Marke. (ST-GUIDE
+  kompatibel)
+
+- ALT-Klick auf einen gesetzten Eintrag fragt ob man diesen Loeschen will.
Index: doc/history.txt
===================================================================
RCS file: /mint/freemint/tools/hypview/doc/history.txt,v
retrieving revision 1.2
diff -u -r1.2 history.txt
--- doc/history.txt	6 Apr 2008 15:47:03 -0000	1.2
+++ doc/history.txt	31 Aug 2009 09:34:21 -0000
@@ -1,939 +1,939 @@
-History for HypView (v0.35.3e)
-=======================================
-10.02.2006 (v0.35.3e)
-	-Modified for gemlib. [ozk]
-	-Ported to gcc. [ozk]
-	-Initial CVS revision. [ozk]
-	-Many changes to fix problems with different sized fonts [ozk]
-
-17.09.2005 (v0.35.2e)
-	-ALT-E Stack lschen (Men -> Stack lschen) [GS]
-
-20.08.2005
-	-Iconifizieren des Infodialogs [GS]
-	
-14.08.2005
-	-Scrollweite mit <Bild nach oben/runter> entspricht
-	 <SHIFT> + <Pfeil nach oben/runter>  [GS]
-	-Ctrl-Cursor hoch/links    - zur vorigen Seite blaettern [GS]
-	-Ctrl-Cursor runter/rechts - zur nchsten Seite blaettern [GS]
-
-14.08.2005
-	-Ist das Dokument fuer das erste Fenster nicht mehr vorhanden, war
-	 keine Benutzung von HypView mehr mglich. [GS]
-
-12.08.2005 (v0.35.2d)
-	-Ist WDIALOG nicht vorhanden, sind einige Icons der Toolbar nicht
-	 bedienbar. [GS]
-	-Neue VDI.LIB, damit keine Probleme mehr mit PlainTOS und Texten
-	 mit Umlauten.
-
-10.08.2005 (v0.35.2c)
-	-Der Inhalt des letzten Fensters wird beim Oeffnen des ersten Fenster
-	 wieder dargestellt.
-
-09.08.2005 (v0.35.2b)
-	-Wird beim Markenpfad am Anfang '$HOME\' angeben, versucht HypView
-	 die Marken vom Homeverzeichnis zuladen.
-	 z.B.: MARKFILE=$HOME\MARKEN.DAT
-
-31.07.2005
-	-Fehler bei der Ausgabe der Popups unter N.AES 1.2.0 behoben. [GS]
-
-27.07.2005
-	-Bei den Marken erscheinen die Dateinamen von denen sie stammen. Dazu
-	 muessen sie aber neu gesetzt werden [GS]
-
-09.04.2005
-	-Im Info-Dialog wird das Erstellungsdatum von HypView angezeigt. [GS]
-
-03.03.2005
-	-Mit dem Schluesselwort REFONLY kann bestimmt werden ob bei einem Klick
-	 mit der linken Maustaste nur Verweise verfolgt werden oder auch
-	 nicht-markierte Worte. [GS]
-	-Ist ein alternativer Skin geladen, konnte es beim Umschalten zum
-	 "Autolocator" zu einem haesslichen weissen Fleck kommen. [GS]
-
-02.03.2005
-	-Im Info-Dialog wird neben der Programmversion nun auch relevante
-	 Informationen zur aktuell Datei angezeigt. [GS]
-	-Die MagiC Dateiauswahl bekommt jetzt ein sinnvolles Dateimuster. [GS]
-
-05.02.2005 (v0.35.2)
-	-Workaround: Bug in XaAES fuehrte dazu dass HypView bei einer 
-	 VA_START-Meldung in eine Endlos-Schleife verfiel.
-	 (In XaAES liefert wind_get(WF_OWNER) fuer den "open status" immer 0).
-
-30.01.2005 (v0.35.1)
-	-Marken implementiert: Damit ist es nun moeglich bis zu 10 "Favoriten"
-	 zu speichern. Die Marken werden in der mit MARKFILE spezifizierten
-	 Datei gespeichert. Es kann die gleiche Datei wie bei ST-GUIDE
-	 verwendet werden, da das Format kompatibel ist. [GS]
-	-Mit dem MARKFILE_SAVE_ASK kann die laestige Frage, ob die Marken-Datei
-	 gespeichert werden soll, deaktiviert werden. [GS]
-	-Bugfix: Zeichenfehler bei den Popup-Mens unter XaAES.
-	-Falls der Autolocator aktiv ist kann mittels CTRL+V Text aus dem
-	 Klemmbrett eingefuegt werden.
-	-Pure C-Hilfe Protokoll (AC_HELP Meldung) wird unterstuetzt um nach
-	 Schluesselwoertern zu suchen.
-	-Suche in der REF Datenbank (mittels REFLINK.TTP generiert)
-	 implementiert [PD+GS].
-	 Zur Zeit laesst sich nur mittels der Meldung "AC_HELP" eine Suche 
-	 ausloesen (also z.B. HypView in QED als Hilfe-Server anmelden und 
-	 dann HELP druecken wenn sich der Cursor auf einem Wort befindet.
-
-28.01.2005
-	-Bugfix: Falls ein Programm per VA_START eine Hilfeseite welche ein
-	 Leerzeichen im Titel aufrufen wollte, wurde die Seite nicht gefunden
-	 oder es kam gar zum Absturz. [GS]
-
-30.12.2004
-	-Mit CLIPBRD_NEW_WINDOW kann festgelegt werden ob beim Einfuegen mit
-	 CTRL+V ein neues Fenster geoeffnet wird oder nicht. Bei zusaetzlichem
-	 Druecken von "SHIFT" wird das Gegenteil der gewaehlten Funktion
-	 ausgefuehrt.
-	-"Skin Laden" funktioniert wieder. Falls kein absoluter Pfad mittels
-	 SKIN angegeben wurde, wird im Verzeichnis "Skins" danach gesucht.
-	 D.h. relative Pfade beziehen sich immer auf das Verzeichnis "Skins"
-	 im Verzeichnis, aus dem HypView gestartet wurde.
-	-AV_WINDOW_CYCLE aktiviert den globalen Fensterwechsel (via AVSERVER),
-	 d.h. das "CTRL+W" nicht von HypView sondern vom AVSERVER erledigt
-	 wird. Durch zusaetzliches Druecken von "SHIFT" wird das Gegenteil der
-	 Funktion ausgefuehrt.
-
-19.10.2004
-	-File Errors werden in einer Alertbox ausgeben und nicht mehr ber 
-	 die Console. [GS]
-
-16.10.2004 (v0.34.1)
-	-Neues Versionsnummern Schema: die 3te Zahl steht fuer die Release
-
-14.10.2004 (v0.34)
-	-"Zurueck" im Kontext-Men. [GS]
-
-06.10.2004
-	-Wurde per VA_START ein absoluter Pfad angeben und die Datei befindet
-	 sich nicht dort. So erfolgte die Auswertung der Pfadliste nicht 
-	 korrekt. [GS]
-
-30.09.2004
-	-Menueicon aktiviert. [GS]
-
-18.09.2004
-	-Bugfix: CTRL+V laedt jetzt wirklich die Datei SCRAP.TXT aus dem 
-	 Clipboard. [GS]
-	-ALT-T Inhalts-Seite zeigen (wie Inhalt-Icon, wie ST-Guide) [GS]
-	-ALT-X Indexseite zeigen (wie Index-Icon, wie ST-Guide) [GS]
-	-ALT-K Katalog laden (wie Index-Icon, wie ST-Guide) [GS]
-	-Bugfix: Erkennung der REF Datei funktionierte nicht immer. [GS]
-	
-10.09.2004
-	-Gerhard Stoll interessiert sich fuer den Quellcode von HypView und
-	 will das Programm erweitern. Seine Aenderungen sind mit [GS] markiert.
-	-Unterstuetzung der Ende Tasten (gibt es z.B. beim Milan). [GS]
-
-29.01.2004 (v0.33)
-	-Bugfix: ASCII Texte, die nur eine Zeile ohne CR/LF enthielten, wurden
-	 nicht angezeigt.
-
-14.01.2004
-	-Bugfix: HypView ignorierte die Kapitel-Angabe "Main" fr externe
-	 Referenzen. Dies fuehrte dazu, dass bei Referenzen auf andere Hypertexten 
-	 nicht die richtige Startseite angezeigt wurde (sichtbar bei KATALOG.HYP).
-
-23.12.2003
-	-Bugfix: Falls HYP_VIEW.CFG nicht gefunden wurde, wurde faelschlicherweise
-	 versucht ein nicht existierender "Skin" zu laden.
-	-Bugfix: Die Bestimmung des Bootlaufwerks funktionierte bisher nicht.
-
-24.11.2003
-	-Der Test auf WDIALOG wurde (hoffentlich endgueltig) beseitigt.
-	-Compiler-Einstellung war beim letzten Release faelschlicherweise auf
-	 68020 eingestellt. Dadurch lief das Programm unter MagiC PC und auf
-	 "einfachen" STs nicht mehr.
-	-Laut TOS.HYP fuehrt ein @ am Anfang eines te_ptext (=eines Textfelds) 
-	 dazu, dass der Rest als Platzhalter interpretiert wird.
-	 Folge: Falls bei der Suche mit dem "Autolocator" als erstes Zeichen 
-	 ein @ eingegeben wird, werden alle Eingaben nicht angezeigt (die Suche
-	 wird jedoch ausgefuehrt!). (MagiC ist jedoch davon nicht betroffen!)
-
-23.11.2003
-	-Der "intelligente Fuller" verschiebt das Fenster (=die obere linke Ecke
-	 des Fensters) nur noch wenn das vergrsserte Fenster ausserhalb des
-	 sichtbaren Bereichs zu liegen kommt. D.h. beim "Fullen" des Fensters
-	 springt das Fenster nicht mehr automatisch in die obere linke Ecke
-	 des sichtbaren Bereichs.
-
-17.11.2003 (v0.32)
-	-Bugfix: Im ACC-Betrieb kam es nach 2maligem ffnen zum Absturz, falls 
-	 kein DEFAULT Hypertext angegeben wurde.
-
-14.11.2003 (v0.31)
-	-Monochrome Bilder (=1 Bitplane) werden jetzt nicht mehr an die Anzahl
-	 Bitplanes der aktuellen Aufloesung angepasst, sondern einfach monochrom
-	 gelassen. Sie werden dann mittels vrt_cpyfm() wie beim Original ST-Guide
-	 transparent auf den Bildschirm kopiert. (Diese Transparenz kann nicht
-	 mehr mit TRANSPARENT_PICS=0 deaktiviert werden!)
-	-Bugfix: Beim Bilder Laden wurde unter Umstnden zuwenig Speicher
-	 alloziert, was unter MagiC zum System-Absturz fhrte.
-	-Bugfix: Falls der intelligente "Fuller" deaktiviert wurde, jedoch
-	 die automatische Fenstergrssen-Anpassung aktiviert war, wurde beim
-	 Zeichensatzwechsel das Fenster auf max. Bildschirmgrsse vergrssert.
-	-Beim Zeichensatzwechsel (=CTRL+Z) wird nun sichergestellt, dass die
-	 Seite gut sichtbar ist, d.h. es wird wenn ntig nach Oben gescrollt.
-
-10.11.2003 (v0.30)
-	-Intelligenteres vergrssern/verkleinern beim Zeichensatz-Wechsel
-	-Das "intelligente" vergrssern des Fensters auf die maximale Dokument-
-	 grsse lsst sich nun mit dem Tag INTELLIGENT_FULLER=0 deaktivieren.
-	 Dadurch wird die maximale Fenstergrsse auf Bildschirmgrsse gesetzt.
-
-09.11.2003
-	-Falls WINADJUST=0 ist, wird trotzdem beim Zeichensatz-Wechsel die
-	 Fensterbreite/-hhe angepasst (="eingerastet").
-	-Zeichen, die eine Zusatz-Taste (wie CTRL, ALT) zur Eingabe bentigen,
-	 lassen sich nun auch in den Autolocator eingeben.
-
-04.11.2003
-	-Bugfix: AV-Protokoll wird nun auch beim Start als ACC initialisiert.
-	-2 maliges Drcken von ESC deaktiviert und versteckt das Eingabe-Feld
-	 des "Autolocator". Dadurch muss nicht mehr mit einem Mausklick das
-	 Eingabe-Feld "weg-geklickt" werden.
-
-20.09.2003 (v0.29)
-	-Der Umbruch von Text-Dateien ist nun mittels "ASCII_BREAK=" in der
-	 HYP_VIEW.CFG konfigurierbar. D.h. HypView bricht eine sehr lange
-	 Zeile um, sobald die angegebene Anzahl von Zeichen erreicht wurde.
-	-Der Umbruch von Text-Zeilen ist erfolgt wenn mglich bei einem
-	 Leerzeichen oder Tab-Zeichen. (Hallo Sascha :-))
-
-02.09.2003
-	-Bug "Endloses scrollen bei der Selektion" beseitigt
-
-29.08.2003
-	-Debugging-Ausgabe bei der Selektion entfernt :-)
-
-07.08.2003
-	-Fehler bei der Selektion entfernt
-
-04.08.2003 (v0.28)
-	-Untersttzung fr alternative Toolbars bzw. Skins eingebaut (Variable
-	 SKIN zeigt auf die gewnschte RSC Datei im "Skins" Verzeichnis)
-	 Gunnar Grbel hat vor einiger Zeit einige erstellt.
-
-03.08.2003
-	-Bugfix: Externe Referenzen mit Kapitelangabe funktionieren wieder.
-	-Bugfix: Ein (mittels Zurck-Button) entferntes Dokument konnte
-	 beim erneuten ffnen zum Absturz fhren.
-	-History-Popup mit bis zu 12 Eintrgen eingebaut.
-
-01.08.2003
-	-Untersttzung fr externe Referenzen eingebaut (@xref Tag)
-	 (=Referenzen-Popup mit bis zu 12 Eintrgen)
-
-31.07.2003 (v0.27)
-	-Unbekannte Dateien, die kein Null-Byte enthalten werden als Text
-	 dargestellt.
-	-Text-Dateien, mit Zeilen lnger als 127 Zeichen werden umgebrochen.
-	-Falls eine geladene Datei mittels eines Links geladen wurde, so werden
-	 folgende Dateien auch noch im realen Verzeichnis gesucht.
-	 Beispiel:
-		"C:\GUIDES\ARCVIEW.HYP" ist ein Link auf "D:\ARCVIEW\ARCVIEW.HYP"
-		Wird nun auf den Link "HISTORY.TXT" geklickt, so werden folgende
-		Pfade der Reihe nach berprft:
-			C:\GUIDES\HISTORY.TXT
-			D:\ARCVIEW\HISTORY.TXT
-			HISTORY.TXT
-			$PATH + HISTORY.TXT
-
-30.07.2003
-	-Bugfix: Darstellungs-Fehler bei sehr langen Seiten/Texten beseitigt.
-	-Verbesserte System-Integration: Offene Fenster werden in das
-	 "Window-Cycling" des Desktops integriert (mittels AV_ACCWINDOPEN,
-	 AV_ACCWINDCLOSED).
-
-11.07.2003
-	-ASCII-Text-Erkennung: Es werden nun Dateien, die die Zeichen
-	 1-4 und 16-25 enthalten als ASCII angezeigt. (Obwohl es sich
-	 korrekterweise nicht um ASCII handelt!)
-
-27.02.2003
-	-Bugfix: Falls zu einer REF Datei kein passender HYPertext vorlag,
-	 kam es zum Absturz.
-
-26.02.2003 (v0.26)
-	-Untersttzung fr REF Dateien eingebaut.
-	 Wird eine .REF Datei als Pfad bergeben, so wird sie geladen und
-	 die entsprechende .HYP Datei angezeigt. Achtung: Es wird einfach
-	 nur die Dateierweiterung abgendert und nicht der entsprechende
-	 Eintrag in der REF Datei ausgewertet!
-	-Falls eine Kapitelname im HYPertext nicht existiert, so wird
-	 versucht die entsprechende .REF Datei zu laden. Im Erfolgsfall
-	 wird dann darin nach dem passenden Kapitel gesucht.
-
-19.01.2003 (v0.25)
-	-Verffentlichung des aktuellen Standes.
-
-18.01.2003
-	-Arbeiten am automatischen Scrollen whrend der Selektion
-	 absgeschlossen. Folgende Features sind eingebaut:
-	    -gleichzeitiges horizontales und vertikales Scrollen
-	    -nach jedem Scroll-Schritt wird eine Pause von 50 ms gemacht.
-	     Dadurch sollte das Scrollen auch auf schnellen Rechnern brauchbar
-	     sein.
-	    -vertikales Scrollen ist linear Abhngig von der Mausposition.
-	     Das heisst, wenn die Maus weiter aus dem Fenster bewegt wird, wird
-	     auch schneller gescrollt. (64 Pixel = 1 Zeile schneller)
-	-Bugfix: Falls die Katalog-Datei nicht geffnet werden kann, so
-	 wird die Mausform wieder in einen Pfeil zurck gewandelt.
-	-Bugfix: Beim automatischen Anpassen der Fenstergrsse (WINADJUST=1)
-	 wird nun immer die ganze Toolbar angezeigt (=minimale Fensterbreite).
-	-Verbesserungen beim Umgang mit proportionalen Fonts. (Das Fensterraster
-	 wird nun als Durchschnitt der Zeichenbreiten von ASCII 32 bis ASCII 154
-	 berechnet.)
-	-Bugfix: Es wird nun immer der absolute Pfad einer Datei ermittelt.
-	 (Also auch fr Dateien, die sich im aktuellen Verzeichnis befinden.)
-   -Das Block-Ende einer Selektion kann nun jederzeit mit SHIFT-Klick
-    verndert werden.
-   -Rechtsklick ffnet ein Popup mit den Block-Funktionen.
-	-Blockfunktionen:
-		-Speichern von HYP und ASCII Texten im ASCII Format (auch ber die
-		 Toolbar zugnglich).
-		-CTRL+A whlt den ganzen geladenen Text aus
-		-CTRL+C kopierte den selektierten Block ins Clipboard. Falls kein
-		 Text selektiert ist, wird der ganze Text kopiert.
-		-CTRL+V ladet die Datei SCRAP.TXT aus dem Clipboard. (wie ST-Guide)
-
-xx.01.2003
-	-Diverse Arbeiten am automatischen Scrollen whrend der Selektion.
-
-31.12.2002
-	-Bugfix beim automatischen Scrollen. Keine "Lcher" mehr vorhanden.
-
-18.12.2002
-	-Verbesserungen bei der Selektion.
-
-17.12.2002
-	-Autolocator: Leerzeichen am Anfang der Eingabe werden ignoriert.
-	-Selektion ist nun auch mit proportionalen Zeichenstzen kompatibel.
-	 Bei Bitmap-Zeichenstzen berechnet anscheinend die Funktion
-	 vqt_extent() die Grsse einer leeren Zeichenkette (="") falsch,
-	 falls kursiv als Attribut definiert ist.
-
-16.12.2002
-	-Selektion wieder entfernt. Beginn einer neuen Implementation.
-	-NEU: Automatisches Scrolling in horizontaler Richtung beim Selektieren.
-
-06.12.2002
-	-Bugfix: LINKEFFECT wird nun genau gleich wie bei ST-Guide behandelt.
-	 D.h. der angegebene Effekt wird als "zustzlicher" Text-Effekt mit dem
-	 gerade aktuellen Verknpft.
-	-Bugfix: Die Icon-Position beim Iconifizieren wird nun immer neu einge-
-	 stellt.
-	 Dadurch klappt's auch mit ICFS bzw. Iconify-Servern, die
-	 wind_get(WF_ICONIFY) nicht untersttzen.
-
-04.12.2002
-	-Da ich aus zeitlichen Grnden kaum zum Programmieren kommen,
-	 verffentliche ich den aktuellen Stand.
-
-29.11.2002
-	-automatisches Scrollen in vertikaler Richtung beim Selektieren.
-
-27.11.2002
-	-Bugfix: Flschlicherweise wurden beim Klick auf "Zurck" Dateien
-	 geschlossen, die evtl. noch bentigt wurden.
-	 (Z.B. "Katalog.hyp" -> "TOS.hyp" -> "Katalog.hyp" -> zurck
-	  -> zurck -> CRASH!!!)
-
-26.11.2002
-	-Einfache Text-Selektion per Maus eingebaut.
-	 Folgende "Features":
-	 	-Funktioniert mit binr, ASCII und HYP Dateien
-	 	-Kein automatisches Scrollen am Fensterrand
-		-Keine Bercksichtigung der Text-Attribute (Betrifft HYP)
-		-Kein "Fortsetzen" der Selektion mittels Shift-Taste.
-		-Noch KEINE Aktionen eingebaut (also nur selektieren mglich).
-
-24.11.2002
-	-Bugfix: Speicherschutzverletzung bei AV_PROTOKOLL "beseitigt". D.h.
-	 HypView geht davon aus, dass bei der Anwort mit VA_PROTOSTATUS der
-	 Zeiger auf den eigenen Namen nicht mehr bentigt wird und daher
-	 freigegeben werden kann. Ein Desktop, der danach trotzdem auf diesen
-	 Zeiger zugreift wird immer noch "abschmieren". Selberschuld!
-
-20.11.2002
-	-Bugfix: Zugriff auf ungltigen Zeiger beseitigt. (Speicherschutz)
-
-18.11.2002
-	-kleinere Bugs beseitigt, die sich eingeschlichen haben.
-
-17.11.2002 (v0.20)
-	-Autolocator-Funktionalitt eingebaut.
-	 Dies funktioniert mit allen Formaten (=HYP, ASCII, binr).
-	 Funktionsweise:
-	 	-Such-Text eingeben
-	 	-RETURN startet die gleiche Suche erneut
-	 	-ESC lscht den eingegebenen Text
-	-Einfache Speicherfunktion fr HYP, welche die aktuelle Seite als ASCII
-	 speichert.
-
-13.11.2002
-	-Nach der internen Umstellung luft nun (anscheinend) alles so wie in der
-	 vorherigen Version.
-	-Die Mult-Window-Bugs sind nun hoffentlich behoben.
-
-02.10.2002
-	-Sortier-Reihenfolge der HISTORY gendert (=neuste Eintrge zuoberst)
-	-Allgemeine berarbeitung begonnen. (Da sich die Abstrze beim Gebrauch
-	 des "Multi-Window-Features" nicht so einfach beseitigen liessen.
-	 = strukturelle Schwchen)
-	-Die Standard-Pfadliste wird nun beim Starten automatisch an das Start-
-	 laufwerk angepasst. (z.B. wird aus C: M: falls von M: gebootet wird.)
-	 Dies betrifft nur die Standard-Pfade! D.h. es wird diese nderung nur
-	 vorgenommen, falls keine andere Pfadliste aus der CFG geladen wurde.
-	-Bugfix: beim seitenweise Scrollen per Maus wurde immer eine Zeile
-	 bersprungen.
-	-Bugfix: die Fileselect-Box im Fenster ist wieder zurck :-)
-	-Bugfix: Falls mehrere Fenster offen waren, geriet die "History"
-	 manchmal durcheinander, was sogar zum Absturz fhren konnte.
-	-Bugfix: Memory-Leck bei der Anzeige von ASCII-Dateien beseitigt.
-
-24.09.2002 (v0.17)
-	-Bugfix: Unntige/Fehlerhafte Mfree-Aufrufe beseitigt.
-	-Bugfix: Datei-Handle wurde nicht geschlossen, falls die Datei beim
-	 "zurck"-Bewegen erneut geffnet werden musste.
-	-Bugfix: ein zu ffnendes Fenster hat nun immer mindestens 1 Zeile und
-	 5 Kolonnen. Dadurch kann ein Absturz unter MagiC verhindert werden,
-	 da kein "zu kleines" Fenster erstellt wird.
-	-Bugfix: Speicherschutz-Problem unter MiNT beseitigt (zumindest falls es
-	 keine anderen mehr hat).
-	-Bugfix: Als ACC wurde nicht auf die AP_TERM Meldung reagiert.
-
-23.09.2002 (v0.16)
-	-Automatisches Anpassen der Fenster berarbeitet. Es sollte nun nicht mehr
-	 passieren, dass Fensterteile teilweise ausserhalb des sichtbaren Bereichs
-	 zu liegen kommen.
-	-Bugfix: Falls eine gerade offene Datei nochmals geffnet wurde, wurde
-	 in der "History" die falsche Seitennummer gespeichert.
-	-HypView berprft nun auf Wunsch (in der Konfiguration CHECK_TIME=1)
-	 vor dem erneuten Zugriff auf Dateien, ob sich diese gendert haben und
-	 ladet sie erneut. (Praktisch beim Schreiben von Hypertexten und beim
-	 Erstellen des KATALOG.HYP)
-
-18.09.2002
-	-HypView luft nun auch falls die Zeilen von HYP_VIEW.CFG mit LF (=Unix)
-	 oder auch nur mit CR (=Mac) abgeschlossen sind.
-	-Bugfix: Zeichenstze unterschiedlicher Grsse wurden nicht korrekt
-	 verarbeitet. Dies fhrte zu "berreste" beim Scrollen.
-
-16.09.2002
-	-Neues Schlsselwort in der Konfiguration: DEBUG_FILE
-	 Alle Fehlermeldungen, die normalerweise auf STDERR (=bei MagiC ist das
-	 der Bildschirm) knnen auf eine beliebige Datei umgeleitet werden.
-	 Dadurch lsst sich meine MiNT-Installation auch berreden die Fehler
-	 anzuzeigen.
-	-Bugfix: Beim Starten als ACC wollte HypView die Parameter auswerten,
-	 obwohl keine existieren bzw. die Daten ungltig sind.
-	-Bugfix: Es konnte vorkommen, das der Hilfe- und der Index-Button
-	 anwhlbaren, obwohl es diese Seiten nicht gab.
-	-Abfrage auf WDIALOG vorlufig ausgebaut. (Hallo MiNTler :-))
-	-Bugfix: Falls die HOME-Variable nicht mit einem '\' oder '/' ab-
-	 geschlossen war, wurde auf einen ungltigen Pfad zugegriffen und die CFG
-	 nicht gefunden.
-
-15.09.2002 (v0.15)
-	-Popups, die im Hypertext per @previous und @next in den HYP integriert
-	 sind werden nun auch geladen und dargestellt. (Vorher blockierten diese
-	 die Navigation mittels "Vorwrts" und "Rckwrts".)
-	-Untersttzung von WINPOS: Bugs beseitigt und verbessert (=es ist nun
-	 nicht mehr mglich das Fenster so zu positionieren, dass die Fenster-
-	 elemente nicht mehr bedienbar sind).
-	-"CTRL+Klick geht nicht immer"-Bug beseitigt: 0 Byte am Stringende
-	 vergessen :-)
-	-Falls in einem Hypertext keine Hilfe-Seite mittels @help definiert ist,
-	 wird nach dem Kapitel "Help" gesucht.
-	-Bugfix: Die Seite, die mittels @default in einem HYP definiert wird,
-	 wurde flschlicherweise immer als Startseite benutzt.
-	-Bugfix: Ein Klick auf ein @limage fhrte zum Absturz.
-
-13.09.2002
-	-Falls eine VA_START Meldung ankommt, die keine Datei als Parameter
-	 enthlt, so wird dies als "Aufwecken" von HypView interpretiert.
-	 Falls mit DEFAULT=xy eine Datei definiert wurde, so wird diese geffnet,
-	 sonst wird der File-Selector geffnet.
-	-Bugfix: Als ACC gestartet konnte es vorkommen, dass HypView auf ein
-	 nicht mehr existierendes Fenster zugriff, was natrlich zum Absturz
-	 fhrte.
-
-04.09.2002 (v0.14)
-	-Untersttzung fr "echte" Page-Up und Page-Down Tasten (wird von
-	 MagiCMac untersttzt).
-	-Falls kein Katalog mittels "KATALOG=xy.hyp" definiert ist, dann lsst
-	 sich das Katalog-Icon nicht mehr anwhlen.
-	-Bugfix: Bilder wurden beim zeilenweisen Scrollen "abgeschnitten".
-
-30.08.2002 (v0.13)
-	-Obwohl es noch einiges zu implementieren gbe, verffentliche ich diese
-	 "Etape".
-
-22.08.2002
-	-Links vom Typ SYSTEM_ARGUMENT, REXX_SCRIPT und REXX_COMMAND (=4-6) werden
-	 nun folgendermassen behandelt:
-	  -SYSTEM_ARGUMENT und REXX_SCRIPT fhren zu einer AV_STARTPROG Meldung
-		an den AV-Server.
-	  -REXX_COMMAND fhrt zum Senden einer VA_START Meldung an den Host, der
-		mittels @hostname im Hypertext gesetzt wurde.
-	  -Bei allen drei Typen wird vor dem Versenden der Meldung versucht einen
-		absoluten Pfad auf eine existierende Datei zu erstellen. D.h. als Pfad
-		wird der Zugriffspfad des Hypertexts genommen und das "Kommando" als
-		Dateinamen interpretiert. Wird eine solche Datei gefunden, so wird
-		die Meldung mit dem kompletten Zugriffspfad versendet. Ansonsten wird
-		nur das "Kommando" versendet. Z.B. findet QED dadurch die Dateien.
-		=> Beispiel in TEST.HYP/Kommunikation
-	-Interne-Representation der Hypertext-Seiten gendert. Dadurch wurde die
-	 Anzeige und das Scrollen beschleunigt. Trotzdem scheint das Zeilenweise-
-	 scrollen beim ST-Guide schneller zu gehen.
-
-21.08.2002
-	-Weitere Anpassung des TEST.HYP
-	-NEU: Klick auf @alink Verweise ffnen nun ein neues Fenster. Es gibt aber
-	 kaum Hypertexte die das bisher nutzen, da ST-Guide bekanntlich nur 1
-	 Fenster verwalten kann. Evtl. ndert sich das mit HypView?
-	-Links vom Typ 5 (REXX_SCRIPT) werden wie Typ 4 und 6 einfach an den
-	 AV-Server weitergegeben.
-	-Links vom Typ 7 (QUIT) fhren zum Schliessen des aktuellen Fensters.
-	-Links vom Typ 4-6 werden zuerst als Pfade interpretiert und im aktuellen
-	 Verzeichnis gesucht. Falls diese Datei nicht existiert, wird statt dessen
-	 der unvernderte Link an den AV-Server bergeben.
-	 Damit klappt es nun auch mit externen Verweisen auf nicht-Texte (z.B. auf
-	 eine Batch-Datei im aktuellen Verzeichnis => siehe TEST.HYP).
-
-20.08.2002
-	-Test-Hypertext berarbeitet und mit neuen Seiten fr nicht-existierende
-	 Features ergnzt. Jetzt geht's an's implementieren.
-
-27.07.2002
-	-Bugfix: Falls beim schliessen eines Hypertextes noch ein Popup-Fenster
-	 offen war beendete sich das Programm nicht.
-
-14.07.2002 (v0.12)
-	-Funktionsnderung: CTRL+UP/DOWN (=Strg und Pfeilhoch/-runter) bewirken
-	 nun wie SHIFT+UP/DOWN ein seitenweises Scrollen des Fensters.
-	 Dadurch funktioniert die "Page-Up/Down" Taste von PC-Tastaturen auch
-	 wie zu erwarten ist (und auch von anderen GEM-Programmen praktiziert
-	 wird). Dadurch weicht die Bedienung von ArcView von der ST-Guide
-	 blichen ab.
-	-Bugfix: Tastatur-Funktionen, die fr binr-/ASCII-Texte nicht verfgbar
-	 sind, fhren nicht mehr zum Absturz.
-	-NEU: Falls CTRL whrend dem Klick auf einen Link gedrckt gehalten
-	 wird, dann wird dieser in einem neuen Fenster dargestellt.
-	 (Achtung: Die Datei wird erneut geladen! => doppelter Speicherverbrauch!)
-	-Falls der Zeichensatz gendert wurde (CTRL+Z), werden alle offenen
-	 Dokumente aktualisiert und den entsprechenden Fenster eine Redraw-
-	 Meldung geschickt.
-	-Links des Typs 6 (REXX_COMMAND) werden wie Typ 4 (SYSTEM_ARGUMENT)
-	 behandelt. Dadurch wird das ffnen einer Datei mit einem speziellen
-	 Viewer dem AV-Server berlassen (der also den passenden Viewer suchen
-	 und starten muss).
-	-NEU: In der Konfigurationsdatei kann mittels VA_START_NEWWIN angegeben
-	 werden, wie auf eine VA_START-Meldung reagiert wird (0=kein neues Fenster
-	 ffnen;1=evtl.;2=immer)
-	-Bugfix: Ein iconifiziertes Fenster wurde beim Laden einer neuen Datei
-	 nicht automatisch "deiconifiziert".
-
-13.07.2002
-	-Bugfix: Das Index-Icon ist nur noch anwhlbar falls auch wirklich eine
-	 Index-Seite im Hypertext enthalten ist.
-	-Bugfix: Fehler in der Cache-Verwaltung beseitigt. Es wurde auf ein Hyper-
-	 text zugegriffen, der nicht mehr komplett im Speicher war.
-
-29.06.2002 (v0.11)
-	-Bugfix: ACC Betrieb endete meist mit einem Bus-Fehler.
-	-Bugfix: Hyp-Header wurden unntigerweise mehrmals geladen, weil nicht
-	 bemerkt wurde das die Datei schon geffnet ist. (=>Cache)
-
-26.06.2002
-	-Bugfix: Falls keine Default-Datei angegeben wurde, gab es einen Crash.
-	-Neu: System-Argumente werden per AV_STARTPROG an den AV-Server bergeben.
-	 (D.h. man kann nun z.B. den KATALOG.HYP erneuern)
-	-Neu: Falls eine Datei aus einer anderen geladen wird (z.B. Verweis auf
-	 HISTORY.TXT), dann wird versucht die Datei im Pfad der geffneten Datei
-	 zu ffnen. (Man sollte nicht "." in die Pfadliste aufnehmen, da sonst
-	 HypView Dateien in seinem (!) Verzeichnis sucht.)
-	-Bugfix: Der Link-Effekt wurde erst ab 16 Farben bernommen.
-
-25.06.2002 (v0.10)
-	-Bugfix: Speicherleck beim wechseln zwischen Dateien gestopft.
-	-Cache-Funktion wieder implementiert.
-	-Bugfix: "Speicher-Schiesser" beseitigt.
-	-Bugfix: Wechsel zwischen HYP-Dateien und anderen Formaten klappt
-	 wieder (=> Cache-Leerungs-Bug beseitigt)
-	-Popups funktionieren wieder.
-	-Zeichensatz-Wechsel (FONT <-> XFONT) mittels CTRL+Z klappt wieder.
-	-Bugfix: TOS.HYP luft nun wieder.
-	-Bugfix: Bestimmen der Klickposition funktioniert nun auch mit Hyper-
-	 texten, die Bilder enthalten und mit HCP < 3 erstellt wurden.
-	 (="Chrysalis-Bug")
-
-24.06.2002
-	-Navigation mittels Links wieder implementiert
-
-20.06.2002 bis 22.06.2002
-	-HYP-Format wird nun wieder geladen und angezeigt. (Nachwievor nach
-	 der alten Methode)
-	-Navigation mittels Iconleiste und Tastatur wieder eingebaut.
-
-19.06.2002
-	-Bugfix: Ein CTRL+ALT+HOME fhrt nicht mehr zum iconifizieren des
-	 Fensters.
-	-Die Konfiguration wird nun wieder aus der Datei geladen.
-	 Dabei habe ich einige Konfigurations-Punkte umgetauft und ein paar neue
-	 eingefhrt (TEXT_COLOR, BIN_COLUMNS, ASCII_TAB, LINK_EFFECT).
-
-16.06.2002
-	-Neu: Untersttzung fr ASCII Texte mit Atari-/PC-,Mac- und Unix-Zeilen-
-	 enden. (Es knnen nur Dateien geladen werden, die vollkommen in den
-	 Arbeitsspeicher passen.)
-	 Ein Text wird als ASCII Text erkannt falls er keine Zeichen unter dem
-	 Wert 32 enthlt (mit Ausnahme von CR, LF und TAB).
-	-Binrdateien haben eine fixe Zeilenlnge (zur Zeit 76, wird aber spter
-	 konfigurierbar).
-	-Beschleunigtes Scrolling, durch das ich mittels zustzlichem Speicher
-	 eine Tabelle mit allen Zeilen-Anfnge erstelle.
-
-15.06.2002
-	-Komplette berarbeitung begonnen.
-	 Das Konzept wird nun modularisiert, d.h. es werden in Zukunft mehr als
-	 nur HYP Dateien untersttzt. (Binr, ASCII, HYP fr den Anfang)
-	-Laden und Darstellen von Binrendaten klappt. (0-Zeichen werden als
-	 Leerzeichen ausgegeben)
-	-Untersttzung fr mehrere Fenster.
-
-11.06.2002
-	-Bugfix: Beim Berechnen der maximalen Seitenhhe wurde die Hhe von
-	 "@image" nicht korrekt bercksichtigt.
-	-Bugfix: @limage Tags werden nur noch interpretiert, falls der
-	 Hypertext mit dem HCP Version 3 (=aktuellste) compiliert wurden.
-	 Dadurch wird die Darstellung von "alten" Hypertexten verbessert.
-
-09.06.2002 (v0.07)
-	-HypView bildet nun nicht mehr die Fensterbreite als Minimum von
-	 @width und der ermittelten Kolonnenanzahl. (Anscheinend ist das
-	 wieder einmal ein Fehler in der ST-Guide Dokumentation.)
-	-Bugfix: Falls WINADJUST=0 war und keine Fensterposition mittels
-	 WINPOS definiert wurde, wurde das Fenster in maximaler grsse
-	 geffnet, was beim Scrollen meistens zu abgeschnittenen Texten
-	 fhrte. (Hallo Thomas! Ich habs gefunden :-))
-	-Bugfix: Manchmal wurden falsche Text-Attribute beim Neuzeichnen
-	 benutzt.
-	-Bugfix: Bei der Suche nach der Seite wird nun Gross-/Kleinschreibung
-	 ignoriert.
-	-Bugfix: Bei von Aussen bewirkten Seitenwechsel (z.B. Hilfe-Aufruf aus
-	 einem anderen Programm) wurde immer der Cache-Speicher gelscht und
-	 ein History-Eintrag vermerkt, auch wenn der Sprung innerhalb der
-	 gleichen Datei war und die Zielseite schon dargestellt wurde.
-
-05.06.2002 (v0.06)
-	-Falls eine Datei nicht gefunden wird, wird der Name in der Fehler-
-	 meldung erwhnt.
-	-Gunnar hat die 16 Farben-Version berarbeitet.
-
-04.06.2002
-	-Problem entdeckt: Bei den Konfigurationsvariablen wie z.B. PATH,
-	 KATALOG, DEFAULT darf kein Kommentar in der gleichen Zeile stehen,
-	 da sonst die Daten falsch interpretiert werden. Also Vorsicht!
-
-02.06.2002
-	-Gunnar Grbel hat sich die Mhe gemacht die HypView-Resource einwenig
-	 an die modernen Zeiten anzupassen und hat ein paar schne Icons in
-	 256 Farben gestaltet. (Vielen Dank!)
-	-Ich habe die Icons rasch in 16 Farben konvertiert.
-	-Bugfix: Das Icon fr das History-Popup wurde aktiviert, obwohl diese
-	 Funktion noch nicht verfgbar ist.
-
-25.05.2002
-	-ACC Behandlung gendert:
-		CTRL+Q  als ACC: Schliessen aller Fenster
-				  als APP: Beenden des Programmes
-		AP_TERM : Beendet immer das Programm!
-
-23.05.2002 (V0.05)
-	-Tastatur-Wiederholung wird nun beim Auswerten deaktiviert.
-	 Dank Richard klappt dies sogar auf einem sauberen Weg (wenn mglich).
-	-Die Hintergrundfarbe wird nur noch bercksichtigt, falls mindestens
-	 16 Farben zur verfgung stehen. (=Falls man einmal im S/W Modus startet,
-	 kann man doch noch Hypertexte ansehen.)
-	-Es ist nun mglich HypView auch zu beenden falls es als ACC gestartet
-	 wurde. --> Vorsicht unter SingleTOS!!
-	-Es wird nun immer die selbst ermittelte Zeilenbreite verwendet auch falls
-	 das Header-Tag @width existiert. Der ST-Guide macht das auch so.
-	 (=> Hypertext Dokumentation ist da fehlerhaft!)
-	-Bugfix bei der True-Color Anpassung von grossen Bildern beseitigt.
-	-Bilder werden nun wie beim ST-Guide "transparent" ausgegeben.
-	 Falls die Darstellung mit 16 bis 256 Farben erfolgt verursacht dies
-	 mehr Aufwand als ohne Transparenz!
-	 Das Feature kann mit "TRANSPARENT_PICS=0" deaktiviert werden.
-
-08.05.2002
-	-Minimale Verbesserung bei der True-Color Konvertierung (=nur noch 15
-	 Mono-Bitmaps mit vrt_cpyfm())
-
-04.05.2002
-	-True Color Untersttzung vollstndig umgeschrieben. Nun werden alle
-	 einzelnen Farben extrahiert und als Monochrombitmap mit vrt_cpyfm()
-	 in das True Color Bild geschrieben.
-	 Dies ist zwar langsam, funktioniert jedoch auf allen Grafikkarten?!
-	-Bugfix bei der Parameterbergabe (Dateiname - Kapitelname).
-	 Ausserdem wird nun auf ".HYP " (nicht nur "HYP ") getestet um den
-	 Kapitelnamen zu finden.
-
-01.05.2002 (V0.03)
-	-CTRL+I zeigt die Versionsnummer von HypView an.
-	-HYP-View luft nun endlich als ACC! (Das Programm verhlt sich prinzip-
-	 iell genau gleich. D.h. ich treffe keine Sicherheitsmassnahmen um die
-	 Lauffhigkeit unter TOS sicherzustellen!)
-
-30.04.2002
-	-Wie ich vernehmen konnte, klappt's nun mit der NOVA-Kompatibilitt,
-	 aber mit der Milan- und der Eclips-Grafikkarte luft's noch nicht :-(
-	-Falls kein Default-Hypertext angegeben wurde (DEFAULT=xy), dann wird
-	 die Fileselect-Box aufgerufen.
-	 Mittels CTRL+O kann sie jederzeit erneut aufgerufen werden.
-	 Auch das Icon zum Laden der Datei ist jetzt aktiv.
-	-Bugfix: Falls eine Datei schon geffnet/geladen wurde, konnte es
-	 vorkommen, dass bei einem erneuten Verweis auf diesen Hypertext
-	 nicht bemerkt wurde, dass er schon im Speicher ist. (=> doppelt
-	 geladen)
-	-Kommandozeile, VA_START- und Drag&Drop-Parameter:
-		 -Falls die ersten 3 Zeichen "*:\" sind, so werden diese bersprungen.
-		  (Nach ST-Guide-Konvention wird dieses Format verwendet, falls das
-		  Programm den absoluten Pfad einer Datei nicht weiss.)
-		 -Am rechten "Parameter-Rand" wird nach einem Kapitelnamen gesucht
-		 -Der Rest wird als Pfad angesehen. Konnte die Datei nicht geffnet
-		  werden, so wird versucht mit Hilfe der PATH Variable die Datei
-		  zu finden.
-	 Benennt man nun HYP_VIEW.APP in ST-GUIDE.APP um und lsst es laufen
-	 (da es noch nicht als ACC luft), so schicken alle ST-Guide-kompatiblen
-	 Programme ihre Hilfe-Anfragen an HYP-View!
-	-Aus historischen Grnden werden die Kapitelnamen mit einem ' '
-	 (=Leerzeichen) vom Pfad/Dateinamen getrennt. Der original ST-Guide
-	 interpretierte also ab dem ersten Leerzeichen alles als Kapitelnamen.
-	 Dies fhrte dazu, dass der ST-Guide nicht mit Leerzeichen im Pfad
-	 zurechtkam.
-	 Um nun kompatibel zu bleiben und trotzdem Leerzeichen im Pfad/Dateinamen
-	 zu erlauben sucht HYP-View nicht einfach nach einem Leerzeichen, sondern
-	 nach der Datei Extension "HYP" gefolgt von einem Leerzeichen. Wird also
-	 die Zeichenfolge "HYP " (Gross-/Klein-Buchstaben ist egal) im Pfad
-	 gefunden, so wird der Rest als Kapitelnamen interpretiert.
-	 ==> Also Achtung: Keinen Pfad erstellen, der auf dieses Muster passt,
-	 da die darin enthaltenen Hypertexte nicht gefunden werden knnen!
-
-28.04.2002
-	-nderungen am True-Color Workaround.
-	-Externe Konfiguration ber die HYP_VIEW.CFG erweitert:
-		-WINPOS erlaubt nun Breite und Hhe (in Zeichen!)
-		-WINADJUST aktiviert/deaktiviert die autom. Fenstergrssen-Anpassung
-		-BACKCOL erlaubt das Einstellen der Hintergrundfarbe.
-		 (im Gegensatz zum ST-Guide werden die Bilder nicht transparent
-		 gezeichnet.)
-		-Ein paar Kommentare zu den verschiedenen Variablen eingefgt.
-	-Bugfix: Absturz falls kein GDOS installiert war.
-	-Datei-Existenz wird nun mittels Fopen/Fclose berprft anstatt mit
-	 Fxattr. Damit luft HYP-View auch unter Single-TOS (zumindest unter
-	 TOS 4.04 habe ich kein Problem bemerkt).
-
-27.04.2002
-	-Anscheinend klappt's mit dem True-Color Workaround nicht.
-	-Bugfix: Da die @limage-Definition anscheinend nicht ganz rckwrts-
-	 kompatibel ist (was sich beim NOVA-Hypertext herausstellte), werden
-	 nun Bilder mit der Breite = 1 Zeichen als @limage Bilder interpretiert.
-	 Dadurch sollte es keine Probleme mit Hypertexten vor dem 19.04.1995
-	 mehr geben.
-	-Tests haben gezeigt, dass HYP-View die Bilder von Hypertexten, die
-	 mit dem HCP vor dem 19.04.1995 erstellt wurden, nicht 100% an der
-	 gleichen stelle wie beim ST-Guide anzeigt. (=HYP-View: 1 Pixel weiter
-	 unten)
-
-26.04.2002
-	-Nachdem ich auf meine "Alpha-Preview" einige Reaktionen erhalten habe,
-	 stellte sich auch heraus, dass es Probleme mit verschiedenen Grafik-
-	 karten gibt unteranderem: NOVA und die im Milan eingebaute.
-	 Der Fehler liegt wahrscheinlich daran, dass diese die Little-Endian
-	 Darstellung benutzen (=also die auf dem PC gebruchliche). Daher habe
-	 ich einen weiteren Workaround eingebaut.
-	-Neues Schlsselwort in der Konfigurationsdatei: LITTLEENDIAN=1
-	 aktiviert die Little-Endian Darstellung bei Grafikkarten. (Ich weiss,
-	 dass das keine gute Lsung ist. Aber evtl. luft's so auf die schnelle!)
-
-21.04.2002
-	-Eine "busy bee" zeigt nun, dass gerade eine Seite geladen wird.
-	 Dies ist vorallem wichtig beim langen Laden des TOS.HYP Indexes :-)
-	-Wie ich bei Tests mit dem HCP erfahren musste, werden nur Bilder
-	 mit 1 oder 4 Ebenen (=monochrom und 16 Farben) untersttzt, dadurch
-	 verringert sich der Aufwand fr mich: Ich muss nur eine Routine
-	 schreiben, die 4 Planes in 1 Plane konvertiert.
-	-Falls zuwenig Farben zur Darstellung der Bilder im Original vorhanden
-	 sind, wird das gleiche Verfahren wie beim ST-Guide angewendet:
-		Alle Farben bis auf Weiss und Hellgrau werden Schwarz gefrbt.
-	-Falls bis zu 8 Ebenen (=256 Farben) vorhanden sind, werden die Bilder
-	 "expandiert".
-	-Rudimentre (=usserst schlechte) Routine, die Bilder ins Gerte
-	 abhngige True-Color Format konvertiert. (Bisher lediglich auf meinem
-	 Falcon in High-Color (16Bit) getestet.)
-
-20.04.2002
-	-Mit der Tastenkombination CTRL+Z kann zwischen den 2 Zeichenstzen
-	 (FONT und XFONT) gewechselt werden.
-	-Bugfix: Beim Bestimmen der Fensterbreite wurden flschlicherweise
-	 Linienbefehle als Text und als Linien interpretiert, was je nach
-	 Anzahl Linien zu einer unntig grossen Fensterbreite fhrte.
-	-Die Einstellungen werden nun aus der Datei HYP_VIEW.CFG geladen.
-	 Damit lassen sich endlich die Einstellungen "von Aussen" verndern.
-
-18.04.2002
-	-Untersttzung von Popup-Texten.
-	 Verbesserungen gegenber dem ST-Guide:
-		- Popup in einem eigenen Fenster (=ohne Randelemente), jedoch
-		  Applikations-modal.
-		  Dadurch bleibt die Menuzeile aktiv und die Ausgabe anderer
-		  Programme wird nicht blockiert.
-		- Popups knnen auch Grafik-Objekte und Bilder enthalten.
-		  (Dummerweise entfernt der HCP die Objekte aus den "pnode"s,
-		  da der ST-Guide dies nicht verkraftet. Abhilfe: man muss ein
-		  normaler Eintrag (="node") erstellen und nach dem compilieren
-		  mit HCP den Header von Hand anpassen!)
-		- Die Grsse ist nicht beschrnkt. Es werden aber keine Slider
-		  angezeigt, falls das Popup grsser als der ganze Bildschirm
-		  ist. => Zu grosse Popups werden nicht ganz angezeigt.
-		  (aber trotzdem besser als die 12 Zeilen mit 60 Zeichen, die
-		  der original ST-Guide bietet)
-
-13.04.2002
-	-Nun kann man zur Anzeige auch proportionale Zeichenstze verwenden.
-	 Die Darstellung ist dabei (wie schon bei den quidistanten Zeichen-
-	 stzen) 100% ST-Guide kompatibel.
-	-Probleme bereiten die kursiven Texte, da zur Berechnung der "Klick-
-	 Position" die Breite jedes Zeichens genommen wird. Und nicht etwa
-	 die Breite der einzelnen Worte. Dadurch, kann die genaue Position
-	 der angeklickten Stelle nicht bestimmt werden!
-	 Dieses Problem hat aber der "echte" ST-Guide auch schon!
-	-Falls sich an der angeklickten Position nichts befindet, wird das
-	 darunterliegende Wort ermittelt und an eine Pseudo-Suchmaschine
-	 bergeben.
-
-11.04.2002
-	-Nach tagelanger Suche, habe ich endlich herausgefunden, warum die Titel-
-	 Grafik des "Chips'n'Chips" Hypertextes falsch dargestellt wurde:
-		Grafiken drfen auch grsser als die 65 KB sein. Die wahre grsse muss
-		aber mit Hilfe des "Next" Wertes berechnet werden.
-		D.h. "Next" enthlt das High-Word der Lnge der entpackten Daten.
-	 Etwas kompliziert formuliert. Wer also genau wissen will wie das geht,
-	 kann bei mir nachfragen.
-
-07.04.2002
-	-Bugfix: Das Anpassen der Fensterbreite und Hhe bercksichtigte
-	 nicht die aktuelle X/Y Position.
-
-12.03.2002
-	-GetLink() korrigiert. (Nach wie vor keine Untersttzung fr
-	 proportionale Zeichenstze)
-	-Beim Anzeigen einer neuen Seite springt das Fenster nicht stndig
-	 in die obere linke Ecke. D.h. es wird nur noch Breite und Hhe
-	 angepasst.
-	-Die wichtigsten Tastenkrzel zum Navigieren im Hypertext implementiert.
-
-Nachdem ich umgezogen bin, hatte ich endlich wieder Zeit um an meinem
-Programm zu basteln:
-
-
-11.03.2002
-	-Die 1. Plane aller Bilder wird nun korrekt dargestellt. Das bedeutet,
-	 dass man mit HypView monochrome Hypertexte ansehen kann.
-	 Bei Farbbildern kann man teilweise nur erahnen, was dargestellt wird.
-	-Der Index- und der Katalog-Button haben nun ihre Funktion erhalten.
-	 (Index springt zur Seite mit dem Namen "Index" und Katalog ffnet die
-	 Datei "KATALOG.HYP")
-
-05.03.2002
-	-Externe-Referenzen funktionieren nun auch.
-	-History-Eintrge knnen nun auf andere Dateien zeigen.
-	-Falls die Datei nicht im aktuellen Verzeichnis gefunden wird, so wird
-	 noch in den angegebenen Suchpfaden gesucht.
-
-03.03.2002
-	-Nun kann man auch mit Mausklicks auf Links durch den Hypertext "browsen"
-	 wobei das anzeigen von externen Referenzen und Popups noch nicht klappt
-	 und einfach mit einer Meldung quittiert wird.
-	 Das ganze muss noch etwas umstrukturiert werden!
-	-Probleme bei der History, falls sich der Pfad gendert hat.
-
-02.03.2002
-	-Die Reihenfolge der Seiten (=interne Vernetzung) wird nun beim Blttern
-	 bercksichtigt. Falls es in eine Richtung nicht mehr weitergeht, so
-	 wird der entsprechende Richtungspfeil versteckt.
-	-Ich habe provisorisch die Icons vom ST-Guide bernommen. Schliesslich
-	 soll spter einmal jede seiner Funktionen bernommen werden.
-
-28.02.2002
-	-Die Anzeige klappt nun. Probleme bereiteten mir die "@limage" Bilder.
-	 Die Anzeige basiert nun auf folgenden Annahmen:
-		Alle Grafikobjekte ("image","limage","box","line","rbox") befinden
-		sich am Anfang der entpackten Daten.
-		Danach befindet sich der eigentliche Text (inkl. Textattribute und
-	-Bisher funktioniert erst das vorwrts und rckwrts Blttern ohne die
-	 Reihenfolge zu beachten, also Node 0,1,2,...
-
-27.02.2002
-	-Bugfix: Bei der Verwendung von Textattributen wurde nicht beachtet, dass
-	 je nach Effekt der Text breiter wurde (z.B. Italic).
-
-16.02.2002 bis 23.02.2002
-	-berarbeitung der Anzeigeroutinen
-	 -Es wird bei jedem Redraw der ganze Hypertext neu gezeichnet
-	  ==> nicht besonders schnell!
-	 -Probleme mit "limage" bestehen noch.
-	 -Bei Bildern wird bisher nur die 1. Plane dargestellt (=kein Dithern,
-	  keine farbigen Bilder)
-
-15.02.2002
-	-Arbeiten am "GEM-Gewand": Texte werden nun in einem Fenster dargestellt.
-	 Noch keine Grafiken implementiert.
-
-30.01.2002
-	-Kleine Umstrukturierung, damit die Routinen wie eine Bibliothek
-	 zu einem anderen Programm dazugelinkt werden knnen.
-
-==> jetzt muss das ganze in eine GEM-Applikation "gestrickt" werden.
-
-
-29.11.2001
-	-Die HYP-Laderoutine neu geschrieben:
-		 -HYP_DOCUMENT enthlt nun die Indextabelle sowie Zusatzinfos
-		  (Autor, Version, ...) und natrlich der Zugriffspfad auf die Datei.
-		 -Besteht nun aus einem einzigen Speicherblock (=nicht mehrere
-		  "Mfree()" ntig um das Dokument zu entfernen)
-	-DisplayXY() Routinen angepasst.
-
-25.11.2001
-	-interne Reorganisation
-
-22.11.2001
-	-Verarbeitet nun die meisten getesteten Seiten. D.h. bisher werden alle
-	 grafischen Attribute bersprungen.
-	-Kann auch verschlsselte Dateien lesen (wie z.B. Chips&Chips)
-
-20.11.2001
-	-Einfache Textdarstellung einer Seite ohne Grafiken und Links klappt
-	 nun einigermassen.
-
-19.11.2001
-	-Nachdem ich seit geraumer Zeit mit dem Gedanken gespielt habe einen
-	 eigenen HYPertext Viewer zu schreiben, habe ich endlich mit etwas
-	 Code begonnen. (Ausserdem habe ich auch schon seit lngerer Zeit den
-	 Quelltext zu WinGuide von dessen Autor Frank Rger erhalten.)
-	 Es steht also nichts mehr im Weg um das Projekt zu realisieren.
-	-Die erste Version ist wie immer eine ".TOS" Version mit Textausgaben.
-	 Zur Zeit wird lediglich der HYP-Header sowie die Index-Daten aus einer
-	 HYP-Datei geladen und eine Indextabelle im Speicher erstellt.
-	 Danach wird ein "Baum-Artiger" Index angezeigt.
+History for HypView (v0.35.3e)
+=======================================
+10.02.2006 (v0.35.3e)
+	-Modified for gemlib. [ozk]
+	-Ported to gcc. [ozk]
+	-Initial CVS revision. [ozk]
+	-Many changes to fix problems with different sized fonts [ozk]
+
+17.09.2005 (v0.35.2e)
+	-ALT-E Stack lschen (Men -> Stack lschen) [GS]
+
+20.08.2005
+	-Iconifizieren des Infodialogs [GS]
+	
+14.08.2005
+	-Scrollweite mit <Bild nach oben/runter> entspricht
+	 <SHIFT> + <Pfeil nach oben/runter>  [GS]
+	-Ctrl-Cursor hoch/links    - zur vorigen Seite blaettern [GS]
+	-Ctrl-Cursor runter/rechts - zur nchsten Seite blaettern [GS]
+
+14.08.2005
+	-Ist das Dokument fuer das erste Fenster nicht mehr vorhanden, war
+	 keine Benutzung von HypView mehr mglich. [GS]
+
+12.08.2005 (v0.35.2d)
+	-Ist WDIALOG nicht vorhanden, sind einige Icons der Toolbar nicht
+	 bedienbar. [GS]
+	-Neue VDI.LIB, damit keine Probleme mehr mit PlainTOS und Texten
+	 mit Umlauten.
+
+10.08.2005 (v0.35.2c)
+	-Der Inhalt des letzten Fensters wird beim Oeffnen des ersten Fenster
+	 wieder dargestellt.
+
+09.08.2005 (v0.35.2b)
+	-Wird beim Markenpfad am Anfang '$HOME\' angeben, versucht HypView
+	 die Marken vom Homeverzeichnis zuladen.
+	 z.B.: MARKFILE=$HOME\MARKEN.DAT
+
+31.07.2005
+	-Fehler bei der Ausgabe der Popups unter N.AES 1.2.0 behoben. [GS]
+
+27.07.2005
+	-Bei den Marken erscheinen die Dateinamen von denen sie stammen. Dazu
+	 muessen sie aber neu gesetzt werden [GS]
+
+09.04.2005
+	-Im Info-Dialog wird das Erstellungsdatum von HypView angezeigt. [GS]
+
+03.03.2005
+	-Mit dem Schluesselwort REFONLY kann bestimmt werden ob bei einem Klick
+	 mit der linken Maustaste nur Verweise verfolgt werden oder auch
+	 nicht-markierte Worte. [GS]
+	-Ist ein alternativer Skin geladen, konnte es beim Umschalten zum
+	 "Autolocator" zu einem haesslichen weissen Fleck kommen. [GS]
+
+02.03.2005
+	-Im Info-Dialog wird neben der Programmversion nun auch relevante
+	 Informationen zur aktuell Datei angezeigt. [GS]
+	-Die MagiC Dateiauswahl bekommt jetzt ein sinnvolles Dateimuster. [GS]
+
+05.02.2005 (v0.35.2)
+	-Workaround: Bug in XaAES fuehrte dazu dass HypView bei einer 
+	 VA_START-Meldung in eine Endlos-Schleife verfiel.
+	 (In XaAES liefert wind_get(WF_OWNER) fuer den "open status" immer 0).
+
+30.01.2005 (v0.35.1)
+	-Marken implementiert: Damit ist es nun moeglich bis zu 10 "Favoriten"
+	 zu speichern. Die Marken werden in der mit MARKFILE spezifizierten
+	 Datei gespeichert. Es kann die gleiche Datei wie bei ST-GUIDE
+	 verwendet werden, da das Format kompatibel ist. [GS]
+	-Mit dem MARKFILE_SAVE_ASK kann die laestige Frage, ob die Marken-Datei
+	 gespeichert werden soll, deaktiviert werden. [GS]
+	-Bugfix: Zeichenfehler bei den Popup-Mens unter XaAES.
+	-Falls der Autolocator aktiv ist kann mittels CTRL+V Text aus dem
+	 Klemmbrett eingefuegt werden.
+	-Pure C-Hilfe Protokoll (AC_HELP Meldung) wird unterstuetzt um nach
+	 Schluesselwoertern zu suchen.
+	-Suche in der REF Datenbank (mittels REFLINK.TTP generiert)
+	 implementiert [PD+GS].
+	 Zur Zeit laesst sich nur mittels der Meldung "AC_HELP" eine Suche 
+	 ausloesen (also z.B. HypView in QED als Hilfe-Server anmelden und 
+	 dann HELP druecken wenn sich der Cursor auf einem Wort befindet.
+
+28.01.2005
+	-Bugfix: Falls ein Programm per VA_START eine Hilfeseite welche ein
+	 Leerzeichen im Titel aufrufen wollte, wurde die Seite nicht gefunden
+	 oder es kam gar zum Absturz. [GS]
+
+30.12.2004
+	-Mit CLIPBRD_NEW_WINDOW kann festgelegt werden ob beim Einfuegen mit
+	 CTRL+V ein neues Fenster geoeffnet wird oder nicht. Bei zusaetzlichem
+	 Druecken von "SHIFT" wird das Gegenteil der gewaehlten Funktion
+	 ausgefuehrt.
+	-"Skin Laden" funktioniert wieder. Falls kein absoluter Pfad mittels
+	 SKIN angegeben wurde, wird im Verzeichnis "Skins" danach gesucht.
+	 D.h. relative Pfade beziehen sich immer auf das Verzeichnis "Skins"
+	 im Verzeichnis, aus dem HypView gestartet wurde.
+	-AV_WINDOW_CYCLE aktiviert den globalen Fensterwechsel (via AVSERVER),
+	 d.h. das "CTRL+W" nicht von HypView sondern vom AVSERVER erledigt
+	 wird. Durch zusaetzliches Druecken von "SHIFT" wird das Gegenteil der
+	 Funktion ausgefuehrt.
+
+19.10.2004
+	-File Errors werden in einer Alertbox ausgeben und nicht mehr ber 
+	 die Console. [GS]
+
+16.10.2004 (v0.34.1)
+	-Neues Versionsnummern Schema: die 3te Zahl steht fuer die Release
+
+14.10.2004 (v0.34)
+	-"Zurueck" im Kontext-Men. [GS]
+
+06.10.2004
+	-Wurde per VA_START ein absoluter Pfad angeben und die Datei befindet
+	 sich nicht dort. So erfolgte die Auswertung der Pfadliste nicht 
+	 korrekt. [GS]
+
+30.09.2004
+	-Menueicon aktiviert. [GS]
+
+18.09.2004
+	-Bugfix: CTRL+V laedt jetzt wirklich die Datei SCRAP.TXT aus dem 
+	 Clipboard. [GS]
+	-ALT-T Inhalts-Seite zeigen (wie Inhalt-Icon, wie ST-Guide) [GS]
+	-ALT-X Indexseite zeigen (wie Index-Icon, wie ST-Guide) [GS]
+	-ALT-K Katalog laden (wie Index-Icon, wie ST-Guide) [GS]
+	-Bugfix: Erkennung der REF Datei funktionierte nicht immer. [GS]
+	
+10.09.2004
+	-Gerhard Stoll interessiert sich fuer den Quellcode von HypView und
+	 will das Programm erweitern. Seine Aenderungen sind mit [GS] markiert.
+	-Unterstuetzung der Ende Tasten (gibt es z.B. beim Milan). [GS]
+
+29.01.2004 (v0.33)
+	-Bugfix: ASCII Texte, die nur eine Zeile ohne CR/LF enthielten, wurden
+	 nicht angezeigt.
+
+14.01.2004
+	-Bugfix: HypView ignorierte die Kapitel-Angabe "Main" fr externe
+	 Referenzen. Dies fuehrte dazu, dass bei Referenzen auf andere Hypertexten 
+	 nicht die richtige Startseite angezeigt wurde (sichtbar bei KATALOG.HYP).
+
+23.12.2003
+	-Bugfix: Falls HYP_VIEW.CFG nicht gefunden wurde, wurde faelschlicherweise
+	 versucht ein nicht existierender "Skin" zu laden.
+	-Bugfix: Die Bestimmung des Bootlaufwerks funktionierte bisher nicht.
+
+24.11.2003
+	-Der Test auf WDIALOG wurde (hoffentlich endgueltig) beseitigt.
+	-Compiler-Einstellung war beim letzten Release faelschlicherweise auf
+	 68020 eingestellt. Dadurch lief das Programm unter MagiC PC und auf
+	 "einfachen" STs nicht mehr.
+	-Laut TOS.HYP fuehrt ein @ am Anfang eines te_ptext (=eines Textfelds) 
+	 dazu, dass der Rest als Platzhalter interpretiert wird.
+	 Folge: Falls bei der Suche mit dem "Autolocator" als erstes Zeichen 
+	 ein @ eingegeben wird, werden alle Eingaben nicht angezeigt (die Suche
+	 wird jedoch ausgefuehrt!). (MagiC ist jedoch davon nicht betroffen!)
+
+23.11.2003
+	-Der "intelligente Fuller" verschiebt das Fenster (=die obere linke Ecke
+	 des Fensters) nur noch wenn das vergrsserte Fenster ausserhalb des
+	 sichtbaren Bereichs zu liegen kommt. D.h. beim "Fullen" des Fensters
+	 springt das Fenster nicht mehr automatisch in die obere linke Ecke
+	 des sichtbaren Bereichs.
+
+17.11.2003 (v0.32)
+	-Bugfix: Im ACC-Betrieb kam es nach 2maligem ffnen zum Absturz, falls 
+	 kein DEFAULT Hypertext angegeben wurde.
+
+14.11.2003 (v0.31)
+	-Monochrome Bilder (=1 Bitplane) werden jetzt nicht mehr an die Anzahl
+	 Bitplanes der aktuellen Aufloesung angepasst, sondern einfach monochrom
+	 gelassen. Sie werden dann mittels vrt_cpyfm() wie beim Original ST-Guide
+	 transparent auf den Bildschirm kopiert. (Diese Transparenz kann nicht
+	 mehr mit TRANSPARENT_PICS=0 deaktiviert werden!)
+	-Bugfix: Beim Bilder Laden wurde unter Umstnden zuwenig Speicher
+	 alloziert, was unter MagiC zum System-Absturz fhrte.
+	-Bugfix: Falls der intelligente "Fuller" deaktiviert wurde, jedoch
+	 die automatische Fenstergrssen-Anpassung aktiviert war, wurde beim
+	 Zeichensatzwechsel das Fenster auf max. Bildschirmgrsse vergrssert.
+	-Beim Zeichensatzwechsel (=CTRL+Z) wird nun sichergestellt, dass die
+	 Seite gut sichtbar ist, d.h. es wird wenn ntig nach Oben gescrollt.
+
+10.11.2003 (v0.30)
+	-Intelligenteres vergrssern/verkleinern beim Zeichensatz-Wechsel
+	-Das "intelligente" vergrssern des Fensters auf die maximale Dokument-
+	 grsse lsst sich nun mit dem Tag INTELLIGENT_FULLER=0 deaktivieren.
+	 Dadurch wird die maximale Fenstergrsse auf Bildschirmgrsse gesetzt.
+
+09.11.2003
+	-Falls WINADJUST=0 ist, wird trotzdem beim Zeichensatz-Wechsel die
+	 Fensterbreite/-hhe angepasst (="eingerastet").
+	-Zeichen, die eine Zusatz-Taste (wie CTRL, ALT) zur Eingabe bentigen,
+	 lassen sich nun auch in den Autolocator eingeben.
+
+04.11.2003
+	-Bugfix: AV-Protokoll wird nun auch beim Start als ACC initialisiert.
+	-2 maliges Drcken von ESC deaktiviert und versteckt das Eingabe-Feld
+	 des "Autolocator". Dadurch muss nicht mehr mit einem Mausklick das
+	 Eingabe-Feld "weg-geklickt" werden.
+
+20.09.2003 (v0.29)
+	-Der Umbruch von Text-Dateien ist nun mittels "ASCII_BREAK=" in der
+	 HYP_VIEW.CFG konfigurierbar. D.h. HypView bricht eine sehr lange
+	 Zeile um, sobald die angegebene Anzahl von Zeichen erreicht wurde.
+	-Der Umbruch von Text-Zeilen ist erfolgt wenn mglich bei einem
+	 Leerzeichen oder Tab-Zeichen. (Hallo Sascha :-))
+
+02.09.2003
+	-Bug "Endloses scrollen bei der Selektion" beseitigt
+
+29.08.2003
+	-Debugging-Ausgabe bei der Selektion entfernt :-)
+
+07.08.2003
+	-Fehler bei der Selektion entfernt
+
+04.08.2003 (v0.28)
+	-Untersttzung fr alternative Toolbars bzw. Skins eingebaut (Variable
+	 SKIN zeigt auf die gewnschte RSC Datei im "Skins" Verzeichnis)
+	 Gunnar Grbel hat vor einiger Zeit einige erstellt.
+
+03.08.2003
+	-Bugfix: Externe Referenzen mit Kapitelangabe funktionieren wieder.
+	-Bugfix: Ein (mittels Zurck-Button) entferntes Dokument konnte
+	 beim erneuten ffnen zum Absturz fhren.
+	-History-Popup mit bis zu 12 Eintrgen eingebaut.
+
+01.08.2003
+	-Untersttzung fr externe Referenzen eingebaut (@xref Tag)
+	 (=Referenzen-Popup mit bis zu 12 Eintrgen)
+
+31.07.2003 (v0.27)
+	-Unbekannte Dateien, die kein Null-Byte enthalten werden als Text
+	 dargestellt.
+	-Text-Dateien, mit Zeilen lnger als 127 Zeichen werden umgebrochen.
+	-Falls eine geladene Datei mittels eines Links geladen wurde, so werden
+	 folgende Dateien auch noch im realen Verzeichnis gesucht.
+	 Beispiel:
+		"C:\GUIDES\ARCVIEW.HYP" ist ein Link auf "D:\ARCVIEW\ARCVIEW.HYP"
+		Wird nun auf den Link "HISTORY.TXT" geklickt, so werden folgende
+		Pfade der Reihe nach berprft:
+			C:\GUIDES\HISTORY.TXT
+			D:\ARCVIEW\HISTORY.TXT
+			HISTORY.TXT
+			$PATH + HISTORY.TXT
+
+30.07.2003
+	-Bugfix: Darstellungs-Fehler bei sehr langen Seiten/Texten beseitigt.
+	-Verbesserte System-Integration: Offene Fenster werden in das
+	 "Window-Cycling" des Desktops integriert (mittels AV_ACCWINDOPEN,
+	 AV_ACCWINDCLOSED).
+
+11.07.2003
+	-ASCII-Text-Erkennung: Es werden nun Dateien, die die Zeichen
+	 1-4 und 16-25 enthalten als ASCII angezeigt. (Obwohl es sich
+	 korrekterweise nicht um ASCII handelt!)
+
+27.02.2003
+	-Bugfix: Falls zu einer REF Datei kein passender HYPertext vorlag,
+	 kam es zum Absturz.
+
+26.02.2003 (v0.26)
+	-Untersttzung fr REF Dateien eingebaut.
+	 Wird eine .REF Datei als Pfad bergeben, so wird sie geladen und
+	 die entsprechende .HYP Datei angezeigt. Achtung: Es wird einfach
+	 nur die Dateierweiterung abgendert und nicht der entsprechende
+	 Eintrag in der REF Datei ausgewertet!
+	-Falls eine Kapitelname im HYPertext nicht existiert, so wird
+	 versucht die entsprechende .REF Datei zu laden. Im Erfolgsfall
+	 wird dann darin nach dem passenden Kapitel gesucht.
+
+19.01.2003 (v0.25)
+	-Verffentlichung des aktuellen Standes.
+
+18.01.2003
+	-Arbeiten am automatischen Scrollen whrend der Selektion
+	 absgeschlossen. Folgende Features sind eingebaut:
+	    -gleichzeitiges horizontales und vertikales Scrollen
+	    -nach jedem Scroll-Schritt wird eine Pause von 50 ms gemacht.
+	     Dadurch sollte das Scrollen auch auf schnellen Rechnern brauchbar
+	     sein.
+	    -vertikales Scrollen ist linear Abhngig von der Mausposition.
+	     Das heisst, wenn die Maus weiter aus dem Fenster bewegt wird, wird
+	     auch schneller gescrollt. (64 Pixel = 1 Zeile schneller)
+	-Bugfix: Falls die Katalog-Datei nicht geffnet werden kann, so
+	 wird die Mausform wieder in einen Pfeil zurck gewandelt.
+	-Bugfix: Beim automatischen Anpassen der Fenstergrsse (WINADJUST=1)
+	 wird nun immer die ganze Toolbar angezeigt (=minimale Fensterbreite).
+	-Verbesserungen beim Umgang mit proportionalen Fonts. (Das Fensterraster
+	 wird nun als Durchschnitt der Zeichenbreiten von ASCII 32 bis ASCII 154
+	 berechnet.)
+	-Bugfix: Es wird nun immer der absolute Pfad einer Datei ermittelt.
+	 (Also auch fr Dateien, die sich im aktuellen Verzeichnis befinden.)
+   -Das Block-Ende einer Selektion kann nun jederzeit mit SHIFT-Klick
+    verndert werden.
+   -Rechtsklick ffnet ein Popup mit den Block-Funktionen.
+	-Blockfunktionen:
+		-Speichern von HYP und ASCII Texten im ASCII Format (auch ber die
+		 Toolbar zugnglich).
+		-CTRL+A whlt den ganzen geladenen Text aus
+		-CTRL+C kopierte den selektierten Block ins Clipboard. Falls kein
+		 Text selektiert ist, wird der ganze Text kopiert.
+		-CTRL+V ladet die Datei SCRAP.TXT aus dem Clipboard. (wie ST-Guide)
+
+xx.01.2003
+	-Diverse Arbeiten am automatischen Scrollen whrend der Selektion.
+
+31.12.2002
+	-Bugfix beim automatischen Scrollen. Keine "Lcher" mehr vorhanden.
+
+18.12.2002
+	-Verbesserungen bei der Selektion.
+
+17.12.2002
+	-Autolocator: Leerzeichen am Anfang der Eingabe werden ignoriert.
+	-Selektion ist nun auch mit proportionalen Zeichenstzen kompatibel.
+	 Bei Bitmap-Zeichenstzen berechnet anscheinend die Funktion
+	 vqt_extent() die Grsse einer leeren Zeichenkette (="") falsch,
+	 falls kursiv als Attribut definiert ist.
+
+16.12.2002
+	-Selektion wieder entfernt. Beginn einer neuen Implementation.
+	-NEU: Automatisches Scrolling in horizontaler Richtung beim Selektieren.
+
+06.12.2002
+	-Bugfix: LINKEFFECT wird nun genau gleich wie bei ST-Guide behandelt.
+	 D.h. der angegebene Effekt wird als "zustzlicher" Text-Effekt mit dem
+	 gerade aktuellen Verknpft.
+	-Bugfix: Die Icon-Position beim Iconifizieren wird nun immer neu einge-
+	 stellt.
+	 Dadurch klappt's auch mit ICFS bzw. Iconify-Servern, die
+	 wind_get(WF_ICONIFY) nicht untersttzen.
+
+04.12.2002
+	-Da ich aus zeitlichen Grnden kaum zum Programmieren kommen,
+	 verffentliche ich den aktuellen Stand.
+
+29.11.2002
+	-automatisches Scrollen in vertikaler Richtung beim Selektieren.
+
+27.11.2002
+	-Bugfix: Flschlicherweise wurden beim Klick auf "Zurck" Dateien
+	 geschlossen, die evtl. noch bentigt wurden.
+	 (Z.B. "Katalog.hyp" -> "TOS.hyp" -> "Katalog.hyp" -> zurck
+	  -> zurck -> CRASH!!!)
+
+26.11.2002
+	-Einfache Text-Selektion per Maus eingebaut.
+	 Folgende "Features":
+	 	-Funktioniert mit binr, ASCII und HYP Dateien
+	 	-Kein automatisches Scrollen am Fensterrand
+		-Keine Bercksichtigung der Text-Attribute (Betrifft HYP)
+		-Kein "Fortsetzen" der Selektion mittels Shift-Taste.
+		-Noch KEINE Aktionen eingebaut (also nur selektieren mglich).
+
+24.11.2002
+	-Bugfix: Speicherschutzverletzung bei AV_PROTOKOLL "beseitigt". D.h.
+	 HypView geht davon aus, dass bei der Anwort mit VA_PROTOSTATUS der
+	 Zeiger auf den eigenen Namen nicht mehr bentigt wird und daher
+	 freigegeben werden kann. Ein Desktop, der danach trotzdem auf diesen
+	 Zeiger zugreift wird immer noch "abschmieren". Selberschuld!
+
+20.11.2002
+	-Bugfix: Zugriff auf ungltigen Zeiger beseitigt. (Speicherschutz)
+
+18.11.2002
+	-kleinere Bugs beseitigt, die sich eingeschlichen haben.
+
+17.11.2002 (v0.20)
+	-Autolocator-Funktionalitt eingebaut.
+	 Dies funktioniert mit allen Formaten (=HYP, ASCII, binr).
+	 Funktionsweise:
+	 	-Such-Text eingeben
+	 	-RETURN startet die gleiche Suche erneut
+	 	-ESC lscht den eingegebenen Text
+	-Einfache Speicherfunktion fr HYP, welche die aktuelle Seite als ASCII
+	 speichert.
+
+13.11.2002
+	-Nach der internen Umstellung luft nun (anscheinend) alles so wie in der
+	 vorherigen Version.
+	-Die Mult-Window-Bugs sind nun hoffentlich behoben.
+
+02.10.2002
+	-Sortier-Reihenfolge der HISTORY gendert (=neuste Eintrge zuoberst)
+	-Allgemeine berarbeitung begonnen. (Da sich die Abstrze beim Gebrauch
+	 des "Multi-Window-Features" nicht so einfach beseitigen liessen.
+	 = strukturelle Schwchen)
+	-Die Standard-Pfadliste wird nun beim Starten automatisch an das Start-
+	 laufwerk angepasst. (z.B. wird aus C: M: falls von M: gebootet wird.)
+	 Dies betrifft nur die Standard-Pfade! D.h. es wird diese nderung nur
+	 vorgenommen, falls keine andere Pfadliste aus der CFG geladen wurde.
+	-Bugfix: beim seitenweise Scrollen per Maus wurde immer eine Zeile
+	 bersprungen.
+	-Bugfix: die Fileselect-Box im Fenster ist wieder zurck :-)
+	-Bugfix: Falls mehrere Fenster offen waren, geriet die "History"
+	 manchmal durcheinander, was sogar zum Absturz fhren konnte.
+	-Bugfix: Memory-Leck bei der Anzeige von ASCII-Dateien beseitigt.
+
+24.09.2002 (v0.17)
+	-Bugfix: Unntige/Fehlerhafte Mfree-Aufrufe beseitigt.
+	-Bugfix: Datei-Handle wurde nicht geschlossen, falls die Datei beim
+	 "zurck"-Bewegen erneut geffnet werden musste.
+	-Bugfix: ein zu ffnendes Fenster hat nun immer mindestens 1 Zeile und
+	 5 Kolonnen. Dadurch kann ein Absturz unter MagiC verhindert werden,
+	 da kein "zu kleines" Fenster erstellt wird.
+	-Bugfix: Speicherschutz-Problem unter MiNT beseitigt (zumindest falls es
+	 keine anderen mehr hat).
+	-Bugfix: Als ACC wurde nicht auf die AP_TERM Meldung reagiert.
+
+23.09.2002 (v0.16)
+	-Automatisches Anpassen der Fenster berarbeitet. Es sollte nun nicht mehr
+	 passieren, dass Fensterteile teilweise ausserhalb des sichtbaren Bereichs
+	 zu liegen kommen.
+	-Bugfix: Falls eine gerade offene Datei nochmals geffnet wurde, wurde
+	 in der "History" die falsche Seitennummer gespeichert.
+	-HypView berprft nun auf Wunsch (in der Konfiguration CHECK_TIME=1)
+	 vor dem erneuten Zugriff auf Dateien, ob sich diese gendert haben und
+	 ladet sie erneut. (Praktisch beim Schreiben von Hypertexten und beim
+	 Erstellen des KATALOG.HYP)
+
+18.09.2002
+	-HypView luft nun auch falls die Zeilen von HYP_VIEW.CFG mit LF (=Unix)
+	 oder auch nur mit CR (=Mac) abgeschlossen sind.
+	-Bugfix: Zeichenstze unterschiedlicher Grsse wurden nicht korrekt
+	 verarbeitet. Dies fhrte zu "berreste" beim Scrollen.
+
+16.09.2002
+	-Neues Schlsselwort in der Konfiguration: DEBUG_FILE
+	 Alle Fehlermeldungen, die normalerweise auf STDERR (=bei MagiC ist das
+	 der Bildschirm) knnen auf eine beliebige Datei umgeleitet werden.
+	 Dadurch lsst sich meine MiNT-Installation auch berreden die Fehler
+	 anzuzeigen.
+	-Bugfix: Beim Starten als ACC wollte HypView die Parameter auswerten,
+	 obwohl keine existieren bzw. die Daten ungltig sind.
+	-Bugfix: Es konnte vorkommen, das der Hilfe- und der Index-Button
+	 anwhlbaren, obwohl es diese Seiten nicht gab.
+	-Abfrage auf WDIALOG vorlufig ausgebaut. (Hallo MiNTler :-))
+	-Bugfix: Falls die HOME-Variable nicht mit einem '\' oder '/' ab-
+	 geschlossen war, wurde auf einen ungltigen Pfad zugegriffen und die CFG
+	 nicht gefunden.
+
+15.09.2002 (v0.15)
+	-Popups, die im Hypertext per @previous und @next in den HYP integriert
+	 sind werden nun auch geladen und dargestellt. (Vorher blockierten diese
+	 die Navigation mittels "Vorwrts" und "Rckwrts".)
+	-Untersttzung von WINPOS: Bugs beseitigt und verbessert (=es ist nun
+	 nicht mehr mglich das Fenster so zu positionieren, dass die Fenster-
+	 elemente nicht mehr bedienbar sind).
+	-"CTRL+Klick geht nicht immer"-Bug beseitigt: 0 Byte am Stringende
+	 vergessen :-)
+	-Falls in einem Hypertext keine Hilfe-Seite mittels @help definiert ist,
+	 wird nach dem Kapitel "Help" gesucht.
+	-Bugfix: Die Seite, die mittels @default in einem HYP definiert wird,
+	 wurde flschlicherweise immer als Startseite benutzt.
+	-Bugfix: Ein Klick auf ein @limage fhrte zum Absturz.
+
+13.09.2002
+	-Falls eine VA_START Meldung ankommt, die keine Datei als Parameter
+	 enthlt, so wird dies als "Aufwecken" von HypView interpretiert.
+	 Falls mit DEFAULT=xy eine Datei definiert wurde, so wird diese geffnet,
+	 sonst wird der File-Selector geffnet.
+	-Bugfix: Als ACC gestartet konnte es vorkommen, dass HypView auf ein
+	 nicht mehr existierendes Fenster zugriff, was natrlich zum Absturz
+	 fhrte.
+
+04.09.2002 (v0.14)
+	-Untersttzung fr "echte" Page-Up und Page-Down Tasten (wird von
+	 MagiCMac untersttzt).
+	-Falls kein Katalog mittels "KATALOG=xy.hyp" definiert ist, dann lsst
+	 sich das Katalog-Icon nicht mehr anwhlen.
+	-Bugfix: Bilder wurden beim zeilenweisen Scrollen "abgeschnitten".
+
+30.08.2002 (v0.13)
+	-Obwohl es noch einiges zu implementieren gbe, verffentliche ich diese
+	 "Etape".
+
+22.08.2002
+	-Links vom Typ SYSTEM_ARGUMENT, REXX_SCRIPT und REXX_COMMAND (=4-6) werden
+	 nun folgendermassen behandelt:
+	  -SYSTEM_ARGUMENT und REXX_SCRIPT fhren zu einer AV_STARTPROG Meldung
+		an den AV-Server.
+	  -REXX_COMMAND fhrt zum Senden einer VA_START Meldung an den Host, der
+		mittels @hostname im Hypertext gesetzt wurde.
+	  -Bei allen drei Typen wird vor dem Versenden der Meldung versucht einen
+		absoluten Pfad auf eine existierende Datei zu erstellen. D.h. als Pfad
+		wird der Zugriffspfad des Hypertexts genommen und das "Kommando" als
+		Dateinamen interpretiert. Wird eine solche Datei gefunden, so wird
+		die Meldung mit dem kompletten Zugriffspfad versendet. Ansonsten wird
+		nur das "Kommando" versendet. Z.B. findet QED dadurch die Dateien.
+		=> Beispiel in TEST.HYP/Kommunikation
+	-Interne-Representation der Hypertext-Seiten gendert. Dadurch wurde die
+	 Anzeige und das Scrollen beschleunigt. Trotzdem scheint das Zeilenweise-
+	 scrollen beim ST-Guide schneller zu gehen.
+
+21.08.2002
+	-Weitere Anpassung des TEST.HYP
+	-NEU: Klick auf @alink Verweise ffnen nun ein neues Fenster. Es gibt aber
+	 kaum Hypertexte die das bisher nutzen, da ST-Guide bekanntlich nur 1
+	 Fenster verwalten kann. Evtl. ndert sich das mit HypView?
+	-Links vom Typ 5 (REXX_SCRIPT) werden wie Typ 4 und 6 einfach an den
+	 AV-Server weitergegeben.
+	-Links vom Typ 7 (QUIT) fhren zum Schliessen des aktuellen Fensters.
+	-Links vom Typ 4-6 werden zuerst als Pfade interpretiert und im aktuellen
+	 Verzeichnis gesucht. Falls diese Datei nicht existiert, wird statt dessen
+	 der unvernderte Link an den AV-Server bergeben.
+	 Damit klappt es nun auch mit externen Verweisen auf nicht-Texte (z.B. auf
+	 eine Batch-Datei im aktuellen Verzeichnis => siehe TEST.HYP).
+
+20.08.2002
+	-Test-Hypertext berarbeitet und mit neuen Seiten fr nicht-existierende
+	 Features ergnzt. Jetzt geht's an's implementieren.
+
+27.07.2002
+	-Bugfix: Falls beim schliessen eines Hypertextes noch ein Popup-Fenster
+	 offen war beendete sich das Programm nicht.
+
+14.07.2002 (v0.12)
+	-Funktionsnderung: CTRL+UP/DOWN (=Strg und Pfeilhoch/-runter) bewirken
+	 nun wie SHIFT+UP/DOWN ein seitenweises Scrollen des Fensters.
+	 Dadurch funktioniert die "Page-Up/Down" Taste von PC-Tastaturen auch
+	 wie zu erwarten ist (und auch von anderen GEM-Programmen praktiziert
+	 wird). Dadurch weicht die Bedienung von ArcView von der ST-Guide
+	 blichen ab.
+	-Bugfix: Tastatur-Funktionen, die fr binr-/ASCII-Texte nicht verfgbar
+	 sind, fhren nicht mehr zum Absturz.
+	-NEU: Falls CTRL whrend dem Klick auf einen Link gedrckt gehalten
+	 wird, dann wird dieser in einem neuen Fenster dargestellt.
+	 (Achtung: Die Datei wird erneut geladen! => doppelter Speicherverbrauch!)
+	-Falls der Zeichensatz gendert wurde (CTRL+Z), werden alle offenen
+	 Dokumente aktualisiert und den entsprechenden Fenster eine Redraw-
+	 Meldung geschickt.
+	-Links des Typs 6 (REXX_COMMAND) werden wie Typ 4 (SYSTEM_ARGUMENT)
+	 behandelt. Dadurch wird das ffnen einer Datei mit einem speziellen
+	 Viewer dem AV-Server berlassen (der also den passenden Viewer suchen
+	 und starten muss).
+	-NEU: In der Konfigurationsdatei kann mittels VA_START_NEWWIN angegeben
+	 werden, wie auf eine VA_START-Meldung reagiert wird (0=kein neues Fenster
+	 ffnen;1=evtl.;2=immer)
+	-Bugfix: Ein iconifiziertes Fenster wurde beim Laden einer neuen Datei
+	 nicht automatisch "deiconifiziert".
+
+13.07.2002
+	-Bugfix: Das Index-Icon ist nur noch anwhlbar falls auch wirklich eine
+	 Index-Seite im Hypertext enthalten ist.
+	-Bugfix: Fehler in der Cache-Verwaltung beseitigt. Es wurde auf ein Hyper-
+	 text zugegriffen, der nicht mehr komplett im Speicher war.
+
+29.06.2002 (v0.11)
+	-Bugfix: ACC Betrieb endete meist mit einem Bus-Fehler.
+	-Bugfix: Hyp-Header wurden unntigerweise mehrmals geladen, weil nicht
+	 bemerkt wurde das die Datei schon geffnet ist. (=>Cache)
+
+26.06.2002
+	-Bugfix: Falls keine Default-Datei angegeben wurde, gab es einen Crash.
+	-Neu: System-Argumente werden per AV_STARTPROG an den AV-Server bergeben.
+	 (D.h. man kann nun z.B. den KATALOG.HYP erneuern)
+	-Neu: Falls eine Datei aus einer anderen geladen wird (z.B. Verweis auf
+	 HISTORY.TXT), dann wird versucht die Datei im Pfad der geffneten Datei
+	 zu ffnen. (Man sollte nicht "." in die Pfadliste aufnehmen, da sonst
+	 HypView Dateien in seinem (!) Verzeichnis sucht.)
+	-Bugfix: Der Link-Effekt wurde erst ab 16 Farben bernommen.
+
+25.06.2002 (v0.10)
+	-Bugfix: Speicherleck beim wechseln zwischen Dateien gestopft.
+	-Cache-Funktion wieder implementiert.
+	-Bugfix: "Speicher-Schiesser" beseitigt.
+	-Bugfix: Wechsel zwischen HYP-Dateien und anderen Formaten klappt
+	 wieder (=> Cache-Leerungs-Bug beseitigt)
+	-Popups funktionieren wieder.
+	-Zeichensatz-Wechsel (FONT <-> XFONT) mittels CTRL+Z klappt wieder.
+	-Bugfix: TOS.HYP luft nun wieder.
+	-Bugfix: Bestimmen der Klickposition funktioniert nun auch mit Hyper-
+	 texten, die Bilder enthalten und mit HCP < 3 erstellt wurden.
+	 (="Chrysalis-Bug")
+
+24.06.2002
+	-Navigation mittels Links wieder implementiert
+
+20.06.2002 bis 22.06.2002
+	-HYP-Format wird nun wieder geladen und angezeigt. (Nachwievor nach
+	 der alten Methode)
+	-Navigation mittels Iconleiste und Tastatur wieder eingebaut.
+
+19.06.2002
+	-Bugfix: Ein CTRL+ALT+HOME fhrt nicht mehr zum iconifizieren des
+	 Fensters.
+	-Die Konfiguration wird nun wieder aus der Datei geladen.
+	 Dabei habe ich einige Konfigurations-Punkte umgetauft und ein paar neue
+	 eingefhrt (TEXT_COLOR, BIN_COLUMNS, ASCII_TAB, LINK_EFFECT).
+
+16.06.2002
+	-Neu: Untersttzung fr ASCII Texte mit Atari-/PC-,Mac- und Unix-Zeilen-
+	 enden. (Es knnen nur Dateien geladen werden, die vollkommen in den
+	 Arbeitsspeicher passen.)
+	 Ein Text wird als ASCII Text erkannt falls er keine Zeichen unter dem
+	 Wert 32 enthlt (mit Ausnahme von CR, LF und TAB).
+	-Binrdateien haben eine fixe Zeilenlnge (zur Zeit 76, wird aber spter
+	 konfigurierbar).
+	-Beschleunigtes Scrolling, durch das ich mittels zustzlichem Speicher
+	 eine Tabelle mit allen Zeilen-Anfnge erstelle.
+
+15.06.2002
+	-Komplette berarbeitung begonnen.
+	 Das Konzept wird nun modularisiert, d.h. es werden in Zukunft mehr als
+	 nur HYP Dateien untersttzt. (Binr, ASCII, HYP fr den Anfang)
+	-Laden und Darstellen von Binrendaten klappt. (0-Zeichen werden als
+	 Leerzeichen ausgegeben)
+	-Untersttzung fr mehrere Fenster.
+
+11.06.2002
+	-Bugfix: Beim Berechnen der maximalen Seitenhhe wurde die Hhe von
+	 "@image" nicht korrekt bercksichtigt.
+	-Bugfix: @limage Tags werden nur noch interpretiert, falls der
+	 Hypertext mit dem HCP Version 3 (=aktuellste) compiliert wurden.
+	 Dadurch wird die Darstellung von "alten" Hypertexten verbessert.
+
+09.06.2002 (v0.07)
+	-HypView bildet nun nicht mehr die Fensterbreite als Minimum von
+	 @width und der ermittelten Kolonnenanzahl. (Anscheinend ist das
+	 wieder einmal ein Fehler in der ST-Guide Dokumentation.)
+	-Bugfix: Falls WINADJUST=0 war und keine Fensterposition mittels
+	 WINPOS definiert wurde, wurde das Fenster in maximaler grsse
+	 geffnet, was beim Scrollen meistens zu abgeschnittenen Texten
+	 fhrte. (Hallo Thomas! Ich habs gefunden :-))
+	-Bugfix: Manchmal wurden falsche Text-Attribute beim Neuzeichnen
+	 benutzt.
+	-Bugfix: Bei der Suche nach der Seite wird nun Gross-/Kleinschreibung
+	 ignoriert.
+	-Bugfix: Bei von Aussen bewirkten Seitenwechsel (z.B. Hilfe-Aufruf aus
+	 einem anderen Programm) wurde immer der Cache-Speicher gelscht und
+	 ein History-Eintrag vermerkt, auch wenn der Sprung innerhalb der
+	 gleichen Datei war und die Zielseite schon dargestellt wurde.
+
+05.06.2002 (v0.06)
+	-Falls eine Datei nicht gefunden wird, wird der Name in der Fehler-
+	 meldung erwhnt.
+	-Gunnar hat die 16 Farben-Version berarbeitet.
+
+04.06.2002
+	-Problem entdeckt: Bei den Konfigurationsvariablen wie z.B. PATH,
+	 KATALOG, DEFAULT darf kein Kommentar in der gleichen Zeile stehen,
+	 da sonst die Daten falsch interpretiert werden. Also Vorsicht!
+
+02.06.2002
+	-Gunnar Grbel hat sich die Mhe gemacht die HypView-Resource einwenig
+	 an die modernen Zeiten anzupassen und hat ein paar schne Icons in
+	 256 Farben gestaltet. (Vielen Dank!)
+	-Ich habe die Icons rasch in 16 Farben konvertiert.
+	-Bugfix: Das Icon fr das History-Popup wurde aktiviert, obwohl diese
+	 Funktion noch nicht verfgbar ist.
+
+25.05.2002
+	-ACC Behandlung gendert:
+		CTRL+Q  als ACC: Schliessen aller Fenster
+				  als APP: Beenden des Programmes
+		AP_TERM : Beendet immer das Programm!
+
+23.05.2002 (V0.05)
+	-Tastatur-Wiederholung wird nun beim Auswerten deaktiviert.
+	 Dank Richard klappt dies sogar auf einem sauberen Weg (wenn mglich).
+	-Die Hintergrundfarbe wird nur noch bercksichtigt, falls mindestens
+	 16 Farben zur verfgung stehen. (=Falls man einmal im S/W Modus startet,
+	 kann man doch noch Hypertexte ansehen.)
+	-Es ist nun mglich HypView auch zu beenden falls es als ACC gestartet
+	 wurde. --> Vorsicht unter SingleTOS!!
+	-Es wird nun immer die selbst ermittelte Zeilenbreite verwendet auch falls
+	 das Header-Tag @width existiert. Der ST-Guide macht das auch so.
+	 (=> Hypertext Dokumentation ist da fehlerhaft!)
+	-Bugfix bei der True-Color Anpassung von grossen Bildern beseitigt.
+	-Bilder werden nun wie beim ST-Guide "transparent" ausgegeben.
+	 Falls die Darstellung mit 16 bis 256 Farben erfolgt verursacht dies
+	 mehr Aufwand als ohne Transparenz!
+	 Das Feature kann mit "TRANSPARENT_PICS=0" deaktiviert werden.
+
+08.05.2002
+	-Minimale Verbesserung bei der True-Color Konvertierung (=nur noch 15
+	 Mono-Bitmaps mit vrt_cpyfm())
+
+04.05.2002
+	-True Color Untersttzung vollstndig umgeschrieben. Nun werden alle
+	 einzelnen Farben extrahiert und als Monochrombitmap mit vrt_cpyfm()
+	 in das True Color Bild geschrieben.
+	 Dies ist zwar langsam, funktioniert jedoch auf allen Grafikkarten?!
+	-Bugfix bei der Parameterbergabe (Dateiname - Kapitelname).
+	 Ausserdem wird nun auf ".HYP " (nicht nur "HYP ") getestet um den
+	 Kapitelnamen zu finden.
+
+01.05.2002 (V0.03)
+	-CTRL+I zeigt die Versionsnummer von HypView an.
+	-HYP-View luft nun endlich als ACC! (Das Programm verhlt sich prinzip-
+	 iell genau gleich. D.h. ich treffe keine Sicherheitsmassnahmen um die
+	 Lauffhigkeit unter TOS sicherzustellen!)
+
+30.04.2002
+	-Wie ich vernehmen konnte, klappt's nun mit der NOVA-Kompatibilitt,
+	 aber mit der Milan- und der Eclips-Grafikkarte luft's noch nicht :-(
+	-Falls kein Default-Hypertext angegeben wurde (DEFAULT=xy), dann wird
+	 die Fileselect-Box aufgerufen.
+	 Mittels CTRL+O kann sie jederzeit erneut aufgerufen werden.
+	 Auch das Icon zum Laden der Datei ist jetzt aktiv.
+	-Bugfix: Falls eine Datei schon geffnet/geladen wurde, konnte es
+	 vorkommen, dass bei einem erneuten Verweis auf diesen Hypertext
+	 nicht bemerkt wurde, dass er schon im Speicher ist. (=> doppelt
+	 geladen)
+	-Kommandozeile, VA_START- und Drag&Drop-Parameter:
+		 -Falls die ersten 3 Zeichen "*:\" sind, so werden diese bersprungen.
+		  (Nach ST-Guide-Konvention wird dieses Format verwendet, falls das
+		  Programm den absoluten Pfad einer Datei nicht weiss.)
+		 -Am rechten "Parameter-Rand" wird nach einem Kapitelnamen gesucht
+		 -Der Rest wird als Pfad angesehen. Konnte die Datei nicht geffnet
+		  werden, so wird versucht mit Hilfe der PATH Variable die Datei
+		  zu finden.
+	 Benennt man nun HYP_VIEW.APP in ST-GUIDE.APP um und lsst es laufen
+	 (da es noch nicht als ACC luft), so schicken alle ST-Guide-kompatiblen
+	 Programme ihre Hilfe-Anfragen an HYP-View!
+	-Aus historischen Grnden werden die Kapitelnamen mit einem ' '
+	 (=Leerzeichen) vom Pfad/Dateinamen getrennt. Der original ST-Guide
+	 interpretierte also ab dem ersten Leerzeichen alles als Kapitelnamen.
+	 Dies fhrte dazu, dass der ST-Guide nicht mit Leerzeichen im Pfad
+	 zurechtkam.
+	 Um nun kompatibel zu bleiben und trotzdem Leerzeichen im Pfad/Dateinamen
+	 zu erlauben sucht HYP-View nicht einfach nach einem Leerzeichen, sondern
+	 nach der Datei Extension "HYP" gefolgt von einem Leerzeichen. Wird also
+	 die Zeichenfolge "HYP " (Gross-/Klein-Buchstaben ist egal) im Pfad
+	 gefunden, so wird der Rest als Kapitelnamen interpretiert.
+	 ==> Also Achtung: Keinen Pfad erstellen, der auf dieses Muster passt,
+	 da die darin enthaltenen Hypertexte nicht gefunden werden knnen!
+
+28.04.2002
+	-nderungen am True-Color Workaround.
+	-Externe Konfiguration ber die HYP_VIEW.CFG erweitert:
+		-WINPOS erlaubt nun Breite und Hhe (in Zeichen!)
+		-WINADJUST aktiviert/deaktiviert die autom. Fenstergrssen-Anpassung
+		-BACKCOL erlaubt das Einstellen der Hintergrundfarbe.
+		 (im Gegensatz zum ST-Guide werden die Bilder nicht transparent
+		 gezeichnet.)
+		-Ein paar Kommentare zu den verschiedenen Variablen eingefgt.
+	-Bugfix: Absturz falls kein GDOS installiert war.
+	-Datei-Existenz wird nun mittels Fopen/Fclose berprft anstatt mit
+	 Fxattr. Damit luft HYP-View auch unter Single-TOS (zumindest unter
+	 TOS 4.04 habe ich kein Problem bemerkt).
+
+27.04.2002
+	-Anscheinend klappt's mit dem True-Color Workaround nicht.
+	-Bugfix: Da die @limage-Definition anscheinend nicht ganz rckwrts-
+	 kompatibel ist (was sich beim NOVA-Hypertext herausstellte), werden
+	 nun Bilder mit der Breite = 1 Zeichen als @limage Bilder interpretiert.
+	 Dadurch sollte es keine Probleme mit Hypertexten vor dem 19.04.1995
+	 mehr geben.
+	-Tests haben gezeigt, dass HYP-View die Bilder von Hypertexten, die
+	 mit dem HCP vor dem 19.04.1995 erstellt wurden, nicht 100% an der
+	 gleichen stelle wie beim ST-Guide anzeigt. (=HYP-View: 1 Pixel weiter
+	 unten)
+
+26.04.2002
+	-Nachdem ich auf meine "Alpha-Preview" einige Reaktionen erhalten habe,
+	 stellte sich auch heraus, dass es Probleme mit verschiedenen Grafik-
+	 karten gibt unteranderem: NOVA und die im Milan eingebaute.
+	 Der Fehler liegt wahrscheinlich daran, dass diese die Little-Endian
+	 Darstellung benutzen (=also die auf dem PC gebruchliche). Daher habe
+	 ich einen weiteren Workaround eingebaut.
+	-Neues Schlsselwort in der Konfigurationsdatei: LITTLEENDIAN=1
+	 aktiviert die Little-Endian Darstellung bei Grafikkarten. (Ich weiss,
+	 dass das keine gute Lsung ist. Aber evtl. luft's so auf die schnelle!)
+
+21.04.2002
+	-Eine "busy bee" zeigt nun, dass gerade eine Seite geladen wird.
+	 Dies ist vorallem wichtig beim langen Laden des TOS.HYP Indexes :-)
+	-Wie ich bei Tests mit dem HCP erfahren musste, werden nur Bilder
+	 mit 1 oder 4 Ebenen (=monochrom und 16 Farben) untersttzt, dadurch
+	 verringert sich der Aufwand fr mich: Ich muss nur eine Routine
+	 schreiben, die 4 Planes in 1 Plane konvertiert.
+	-Falls zuwenig Farben zur Darstellung der Bilder im Original vorhanden
+	 sind, wird das gleiche Verfahren wie beim ST-Guide angewendet:
+		Alle Farben bis auf Weiss und Hellgrau werden Schwarz gefrbt.
+	-Falls bis zu 8 Ebenen (=256 Farben) vorhanden sind, werden die Bilder
+	 "expandiert".
+	-Rudimentre (=usserst schlechte) Routine, die Bilder ins Gerte
+	 abhngige True-Color Format konvertiert. (Bisher lediglich auf meinem
+	 Falcon in High-Color (16Bit) getestet.)
+
+20.04.2002
+	-Mit der Tastenkombination CTRL+Z kann zwischen den 2 Zeichenstzen
+	 (FONT und XFONT) gewechselt werden.
+	-Bugfix: Beim Bestimmen der Fensterbreite wurden flschlicherweise
+	 Linienbefehle als Text und als Linien interpretiert, was je nach
+	 Anzahl Linien zu einer unntig grossen Fensterbreite fhrte.
+	-Die Einstellungen werden nun aus der Datei HYP_VIEW.CFG geladen.
+	 Damit lassen sich endlich die Einstellungen "von Aussen" verndern.
+
+18.04.2002
+	-Untersttzung von Popup-Texten.
+	 Verbesserungen gegenber dem ST-Guide:
+		- Popup in einem eigenen Fenster (=ohne Randelemente), jedoch
+		  Applikations-modal.
+		  Dadurch bleibt die Menuzeile aktiv und die Ausgabe anderer
+		  Programme wird nicht blockiert.
+		- Popups knnen auch Grafik-Objekte und Bilder enthalten.
+		  (Dummerweise entfernt der HCP die Objekte aus den "pnode"s,
+		  da der ST-Guide dies nicht verkraftet. Abhilfe: man muss ein
+		  normaler Eintrag (="node") erstellen und nach dem compilieren
+		  mit HCP den Header von Hand anpassen!)
+		- Die Grsse ist nicht beschrnkt. Es werden aber keine Slider
+		  angezeigt, falls das Popup grsser als der ganze Bildschirm
+		  ist. => Zu grosse Popups werden nicht ganz angezeigt.
+		  (aber trotzdem besser als die 12 Zeilen mit 60 Zeichen, die
+		  der original ST-Guide bietet)
+
+13.04.2002
+	-Nun kann man zur Anzeige auch proportionale Zeichenstze verwenden.
+	 Die Darstellung ist dabei (wie schon bei den quidistanten Zeichen-
+	 stzen) 100% ST-Guide kompatibel.
+	-Probleme bereiten die kursiven Texte, da zur Berechnung der "Klick-
+	 Position" die Breite jedes Zeichens genommen wird. Und nicht etwa
+	 die Breite der einzelnen Worte. Dadurch, kann die genaue Position
+	 der angeklickten Stelle nicht bestimmt werden!
+	 Dieses Problem hat aber der "echte" ST-Guide auch schon!
+	-Falls sich an der angeklickten Position nichts befindet, wird das
+	 darunterliegende Wort ermittelt und an eine Pseudo-Suchmaschine
+	 bergeben.
+
+11.04.2002
+	-Nach tagelanger Suche, habe ich endlich herausgefunden, warum die Titel-
+	 Grafik des "Chips'n'Chips" Hypertextes falsch dargestellt wurde:
+		Grafiken drfen auch grsser als die 65 KB sein. Die wahre grsse muss
+		aber mit Hilfe des "Next" Wertes berechnet werden.
+		D.h. "Next" enthlt das High-Word der Lnge der entpackten Daten.
+	 Etwas kompliziert formuliert. Wer also genau wissen will wie das geht,
+	 kann bei mir nachfragen.
+
+07.04.2002
+	-Bugfix: Das Anpassen der Fensterbreite und Hhe bercksichtigte
+	 nicht die aktuelle X/Y Position.
+
+12.03.2002
+	-GetLink() korrigiert. (Nach wie vor keine Untersttzung fr
+	 proportionale Zeichenstze)
+	-Beim Anzeigen einer neuen Seite springt das Fenster nicht stndig
+	 in die obere linke Ecke. D.h. es wird nur noch Breite und Hhe
+	 angepasst.
+	-Die wichtigsten Tastenkrzel zum Navigieren im Hypertext implementiert.
+
+Nachdem ich umgezogen bin, hatte ich endlich wieder Zeit um an meinem
+Programm zu basteln:
+
+
+11.03.2002
+	-Die 1. Plane aller Bilder wird nun korrekt dargestellt. Das bedeutet,
+	 dass man mit HypView monochrome Hypertexte ansehen kann.
+	 Bei Farbbildern kann man teilweise nur erahnen, was dargestellt wird.
+	-Der Index- und der Katalog-Button haben nun ihre Funktion erhalten.
+	 (Index springt zur Seite mit dem Namen "Index" und Katalog ffnet die
+	 Datei "KATALOG.HYP")
+
+05.03.2002
+	-Externe-Referenzen funktionieren nun auch.
+	-History-Eintrge knnen nun auf andere Dateien zeigen.
+	-Falls die Datei nicht im aktuellen Verzeichnis gefunden wird, so wird
+	 noch in den angegebenen Suchpfaden gesucht.
+
+03.03.2002
+	-Nun kann man auch mit Mausklicks auf Links durch den Hypertext "browsen"
+	 wobei das anzeigen von externen Referenzen und Popups noch nicht klappt
+	 und einfach mit einer Meldung quittiert wird.
+	 Das ganze muss noch etwas umstrukturiert werden!
+	-Probleme bei der History, falls sich der Pfad gendert hat.
+
+02.03.2002
+	-Die Reihenfolge der Seiten (=interne Vernetzung) wird nun beim Blttern
+	 bercksichtigt. Falls es in eine Richtung nicht mehr weitergeht, so
+	 wird der entsprechende Richtungspfeil versteckt.
+	-Ich habe provisorisch die Icons vom ST-Guide bernommen. Schliesslich
+	 soll spter einmal jede seiner Funktionen bernommen werden.
+
+28.02.2002
+	-Die Anzeige klappt nun. Probleme bereiteten mir die "@limage" Bilder.
+	 Die Anzeige basiert nun auf folgenden Annahmen:
+		Alle Grafikobjekte ("image","limage","box","line","rbox") befinden
+		sich am Anfang der entpackten Daten.
+		Danach befindet sich der eigentliche Text (inkl. Textattribute und
+	-Bisher funktioniert erst das vorwrts und rckwrts Blttern ohne die
+	 Reihenfolge zu beachten, also Node 0,1,2,...
+
+27.02.2002
+	-Bugfix: Bei der Verwendung von Textattributen wurde nicht beachtet, dass
+	 je nach Effekt der Text breiter wurde (z.B. Italic).
+
+16.02.2002 bis 23.02.2002
+	-berarbeitung der Anzeigeroutinen
+	 -Es wird bei jedem Redraw der ganze Hypertext neu gezeichnet
+	  ==> nicht besonders schnell!
+	 -Probleme mit "limage" bestehen noch.
+	 -Bei Bildern wird bisher nur die 1. Plane dargestellt (=kein Dithern,
+	  keine farbigen Bilder)
+
+15.02.2002
+	-Arbeiten am "GEM-Gewand": Texte werden nun in einem Fenster dargestellt.
+	 Noch keine Grafiken implementiert.
+
+30.01.2002
+	-Kleine Umstrukturierung, damit die Routinen wie eine Bibliothek
+	 zu einem anderen Programm dazugelinkt werden knnen.
+
+==> jetzt muss das ganze in eine GEM-Applikation "gestrickt" werden.
+
+
+29.11.2001
+	-Die HYP-Laderoutine neu geschrieben:
+		 -HYP_DOCUMENT enthlt nun die Indextabelle sowie Zusatzinfos
+		  (Autor, Version, ...) und natrlich der Zugriffspfad auf die Datei.
+		 -Besteht nun aus einem einzigen Speicherblock (=nicht mehrere
+		  "Mfree()" ntig um das Dokument zu entfernen)
+	-DisplayXY() Routinen angepasst.
+
+25.11.2001
+	-interne Reorganisation
+
+22.11.2001
+	-Verarbeitet nun die meisten getesteten Seiten. D.h. bisher werden alle
+	 grafischen Attribute bersprungen.
+	-Kann auch verschlsselte Dateien lesen (wie z.B. Chips&Chips)
+
+20.11.2001
+	-Einfache Textdarstellung einer Seite ohne Grafiken und Links klappt
+	 nun einigermassen.
+
+19.11.2001
+	-Nachdem ich seit geraumer Zeit mit dem Gedanken gespielt habe einen
+	 eigenen HYPertext Viewer zu schreiben, habe ich endlich mit etwas
+	 Code begonnen. (Ausserdem habe ich auch schon seit lngerer Zeit den
+	 Quelltext zu WinGuide von dessen Autor Frank Rger erhalten.)
+	 Es steht also nichts mehr im Weg um das Projekt zu realisieren.
+	-Die erste Version ist wie immer eine ".TOS" Version mit Textausgaben.
+	 Zur Zeit wird lediglich der HYP-Header sowie die Index-Daten aus einer
+	 HYP-Datei geladen und eine Indextabelle im Speicher erstellt.
+	 Danach wird ein "Baum-Artiger" Index angezeigt.
Index: doc/hypdoc.txt
===================================================================
RCS file: /mint/freemint/tools/hypview/doc/hypdoc.txt,v
retrieving revision 1.2
diff -u -r1.2 hypdoc.txt
--- doc/hypdoc.txt	6 Apr 2008 15:47:03 -0000	1.2
+++ doc/hypdoc.txt	31 Aug 2009 09:34:21 -0000
@@ -1,295 +1,295 @@
-ST-Guide Hypertext Format (=HYP)
-=========================
-Dies ist eine Dokumentation des ST-Guide Hypertext Formats.
-Sie basiert auf der Dokumentation, die man im HCP Hypertext von Holger
-Weets findet. Dazu habe ich an einigen Stellen Ergaenzungen angebracht,
-welche mir beim Programmieren meines Hypertext Viewers aufgefallen sind.
-Meine Ergaenzungen sind mit [PhD] gekennzeichnet.
-
-Diese Dokumentation bitte nicht weitergeben!
-
-Philipp Donze                                         Chavornay, 05.05.2002
-
-================================== schnipp ================================
-Header eines Hypertextes
-------------------------
-Der Header einer Hypertext Datei ist wie folgt aufgebaut:
-  4 Bytes Magic ('HDOC')
-  4 Bytes Laenge der Indextabelle
-    (Seiten, Bilder, ext. Referenzen, system, rexx)
-  2 Bytes Anzahl der Eintraege in dieser Tabelle
-  1 Byte Kennung, mit welcher Version des Compilers uebersetzt wurde
-    (aktuell 3)
-  1 Byte Kennung, unter welchem Betriebsystem uebersetzt wurde
-    (0: unbekannt, 1: AMIGA, 2: ATARI, 3: Macintosh)
-
-
-Indexbereich eines Hypertextes
-------------------------------
-1 Byte Laenge dieses Eintrages
-1 Byte Typ dieses Eintrages
-    0: interne Seite        (@node)
-    1: Popup-Node           (@pnode)
-    2: externe Referenz     (@{... link FILE [LINE]})
-    3: Bild                 (@image)
-    4: SYSTEM-Argument      (@{... system ARG})
-    5: REXX-Script          (@{... rxs FILE})
-    6: REXX-Kommando        (@{... rx  ARG})
-    7: QUIT Dummy-Eintrag   (@{... quit})
-4 Bytes Seek Offset in die Datei
-2 Bytes Differenz entpackte/gepackte Laenge des Objektes
-2 Bytes Index des Nachfolgers
-2 Bytes Index des Vorgaengers
-2 Bytes Index des Inhaltsverzeichnisses fuer dieses Objekt
-x Bytes Name des Objektes, nullterminiert
-evtl. ein weiteres Nullbyte, damit der naechste Eintrag wieder
-    auf einer geraden Adresse liegt
-
-Von diesen Strukturen finden sich so viele in der Datei, wie der
-entsprechende Wert im Header angibt.
-
-Die Laenge einer Seite berechnet sich aus der Differenz der
-Seek-Offsets dieser Seite und der des Nachfolger-Objektes.
-
-
-Erweiterte Header
------------------
-Erweiterte Header dienen i.w. dem Zweck, alle Daten auch bei Er-
-weiterungen des Systems kompatibel zu aelteren Versionen zu halten.
-
-Der Aufbau eines solchen Headers ist wie folgt:
-2 Bytes Kennung
-2 Bytes Laenge
-n Bytes Daten
-
-Aktuell existieren folgende Header:
-0   Ende-Kennung, es folgen keine weiteren Header mehr
-1   Database Name, es folgen Laenge und C-String
-    (@database)
-2   Name der Default-Node, es folgen Laenge und C-String
-    (@default)
-3   Name der Host-Applikation(en), es folgen Laenge und C-String(s)
-    (@hostname)
-4   Optionen, die von den Default-Einstellungen abweichen, es
-    folgen Laenge und C-String
-    (@options, Kommandozeile)
-5   Name des/der Autoren, es folgen Laenge und C-String
-    (@author)
-6   Versions-Information, es folgen Laenge und C-String
-    (@$VER:)
-7   Name der Hilfe Seite, es folgen Laenge und C-String
-    (@help)
-8   Beschreibung der Gebiete, in die der Text einzuordnen
-    ist, es folgen Laenge und C-String
-    (@subject)
-9   HypTree-Header; Aufbau:
-    4 Bytes Summe der Laengen aller expliziten Titel
-    Array von Wortbreiten Bitvektoren:
-     1. Wort: Bit n == 1 -> Seite n hat einen expliziten Titel
-     2. Wort: Bit n == 1 -> Seite 16+n hat einen expiziten Titel
-     usw.
-10  Flags fuer den ST-Guide (2 Bytes)
-    Falls das Bit 10 gesetzt ist, so ist der Hypertext verschluesselt. [PhD]
-11  verwendete Zeilenlaenge (@width)
-
-Ein Lesealgorithmus fuer diese Header muss alle ihm nicht bekannten Header
-ohne Warnung oder Fehlermeldung ueberlesen.
-
-
-
-Datenbereich eines Hypertextes
-------------------------------
-Alle Seiten, Popup's und Bilder, die im Hypertext definiert wurden.
-Meist liegen die Daten in gepackter Form vor, so dass sie nicht ohne
-weiteres verwendet werden koennen. Der verwendete Pack-Algorithmus
-entspricht dem LH5 Verfahren des LHarc, ist somit sehr effizient und
-zumindest beim Auspacken auch schnell genug.
-Die Reihenfolge der Daten-Objekte entspricht der der Indextabelle,
-externe Referenzen, system- und rexx-Eintraege besitzen keine Daten
-in diesem Bereich, die Daten gehoeren folglich immer zu einer
- * Textseite oder zu einem
- * Bild
-
-
-Format einer [p]node
---------------------
-Gehoeren die Daten zu einer Textseite (@node, @pnode), so haben die
-(entpackten) Daten folgendes Format:
-    a) optionaler Grafikbereich (nur @node)
-        Hier werden alle grafischen Objekte dieser Seite  wie
-        folgt beschrieben:
-        1 Byte Kennung (27, ESCAPE)
-        1 Byte Typ
-            50: Bild                    (@image)
-            51: Linie                   (@line)
-            52: Box                     (@box)
-            53: Box mit runden Ecken    (@rbox)
-        2 Bytes Index, falls Bild
-        damit keine 0-Bytes entstehen, liegt dieser Wert zur Basis
-            255 vor und zu beiden Bytes wurde der Wert 1 addiert
-        1 Byte X-Offset in Zeichen
-            Bilder: falls X = 0 ==> zentriert [PhD]
-        2 Bytes Y-Offset in Zeichen
-            damit keine 0-Bytes entstehen, liegt dieser Wert zur Basis
-            255 vor und zu beiden Bytes wurde der Wert 1 addiert
-        1 Byte Breite des Objektes in Zeichen
-            Bilder: falls Breite = 1 ==> limage [PhD]
-        1 Byte Hoehe des Objektes in Zeichen
-        1 Byte Data, falls kein Bild
-            Bevor folgende Aufschluesselung angewendet werden kann muss
-            zuerst "Data" um eins verkleinert werden! [PhD]
-            Linie: Bit 0 == 1: Pfeilspitze am Anfang
-                   Bit 1 == 1: Pfeilspitze am Ende
-                   restliche Bits: Linienstil
-            Box:
-            RBox:  Fuellmuster
-        Bei Bildern werden Breite und Hoehe ignoriert, bei Linien bilden
-        sie das umgrenzende Rechteck.
-
-    b) optional bis zu 12 Querverweis-Datenbloecke
-        1 Byte Kennung (27, ESCAPE)
-        1 Byte Typ (48)
-        1 Byte Laenge (ueber alles)
-        2 Bytes Indexnummer der Zielnode (im 255er Format [PhD])
-        Text fuer das Popup, Nullterminiert
-
-    c) optional weitere Datenbloecke
-        1 Byte Kennung (27, ESCAPE)
-        1 Byte Typ (40-47)
-        1 Byte Laenge (ueber alles)
-        Daten
-
-    d) optional Fenstertitel (@node, @title)
-        1 Byte Kennung (27, ESCAPE)
-        1 Byte Typ (35)
-        Fenstertitel, Nullterminiert
-        evtl. Fuellbyte, damit der Text auf einer geraden Adr.
-        beginnt
-
-    e) optional Tabelle mit Objekten & Seiten (@tree)
-        1 Byte Kennung (27, ESCAPE)
-        1 Byte Typ     (49, ObjTable)
-        2 Bytes Zeilennummer in der Zielseite
-        2 Bytes Nummer des Baumes
-        2 Bytes Objekt in diesem Baum
-        2 Bytes Index der Seite
-       Damit keine 0-Bytes entstehen, liegen alle 2 Byte Werte zur
-       Basis 255 vor und zu beiden Bytes wurde der Wert 1 addiert;
-
-    f) optional Text mit Attributen
-        Die einzelnen Zeilen sind durch ein 0-Byte abgeschlossen und
-        koennen beliebig viele nicht auszugebende Zusatz-Information
-        enthalten.
-
-        Diese Informations-Sequenzen werden jeweils durch das Zeichen
-        ESCAPE (27) eingeleitet, ihm folgt ein weiteres ESCAPE oder
-        ein Typ, im ersten Fall ist das Zeichen ESCAPE auszugeben und
-        im zweiten Fall bestimmt der Typ das weitere Vorgehen:
-            36: Referenz auf andere Seite
-                    @{... link NODE}
-            37: wie 36, aber mit Zeilennummer
-                    @{... link NODE LINE}
-            38: wie 36 nur durch 'alink' erzeugt
-                    @{... alink NODE}
-            39: wie 38, aber mit Zeilennummer
-                    @{... alink NODE LINE}
-            >= 100: Vektor fuer Textattribute:
-                nach Abzug von 100 ergibt sich folgender
-                Bitvektor:
-                 1: Fettschrift
-                 2: helle Schrift
-                 4: Kursivschrift
-                 8: unterstrichen
-                16: 'Outlined'
-                32: schattierte Schrift
-
-            Bei Typ 37 und 39 folgen 2 Bytes Zeilennummer; damit keine
-            0-Bytes entstehen, liegt dieser Wert zur Basis 255 vor und
-            zu beiden Bytes wurde der Wert 1 addiert
-
-            Bei Typ 36-39 folgen nun
-                2 Bytes Index in die Tabelle aus dem Indexbereich;
-                  damit keine 0-Bytes entstehen, liegt dieser Wert zur
-                  Basis 255 vor und zu beiden Bytes wurde der Wert 1
-                  addiert
-                1 Byte Laenge des betreffenden Strings + 32
-                  ist die Laenge gleich 32, so ist hier direkt der Name
-                  des indizierten Objektes auszugeben, ansonsten so
-                  viele Zeichen, wie die Laenge angibt, minus 32 aus
-                  der nachfolgenden Zeichenkette
-
-
-Format eines Bildes
--------------------
-Gehoeren die Daten zu einem Bild, so liegt (nach dem Entpacken)
-folgendes Format vor:
-    a) Header
-        2 Bytes Breite des Bildes in Pixeln (wird ignoriert)
-        2 Bytes Hoehe des Bildes in Pixeln (wird ignoriert)
-        1 Byte Anzahl der Planes (1..8)
-        1 Byte 'Planepic': Bit n == 1 --> Daten fuer Plane n
-          vorhanden
-        1 Byte 'PlaneOnOff': Bit n == 1 --> Plane ganz ausgefuellt
-        1 Byte Filler, damit das Bild auf gerader Adr. liegt
-    b) 1. Plane
-       optional 2. Plane
-       ...
-       optional 8. Plane
-
-
-Format einer REF Datei
-----------------------
-Datei-Kennung
-  4 Bytes Magic ('HREF')
-
-Modul-Header
-  4 Bytes Laenge des Moduls ohne Header
-  4 Bytes Anzahl der Eintraege im aktuellen Modul
-
-Modul-Daten
-  1 Byte  Kennung des Eintrages
-          0: Dateiname (z.B. 'ST-GUIDE')
-             immer ohne Pfad
-             (eintragen eines Pfades ist jedoch erlaubt)
-             und meist auch ohne Endung
-             (als Endung wird .HYP verwendet, falls keine angegeben)
-          1: Node Name
-             Seitenname aus dem Hypertext zum letzten Datei-Eintrag
-          2: Alias Name
-             Aliasname aus dem Hypertext zum letzten Node-Eintrag
-             (wird vom hcp nur optional hier eingetragen)
-          3: Label Name
-             Labelname aus dem Hypertext zum letzten Node-Eintrag
-             (wird vom hcp nur optional hier eingetragen)
-          4: database Name
-             Database-Argument zum letzten Dateieintrag
-          5: Kennung des Betriebsystemes, unter dem der Hypertext
-             uebersetzt wurde
-             ('0': unbekannt, '1': AMIGA, '2': ATARI, '3': Macintosh)
-
-  1 Byte  Laenge des Eintrages
-  n Bytes Eintrag als Nullterminierter String
-          bei Typ 3 folgen dem String noch 2 Bytes Zeilennummer
-
-Beliebig viele weitere Modul-Header gefolgt von Modul-Daten.
-
-  8 Bytes Nullen als Ende-Kennung
-  [PhD] Diese 8 0-Bytes sind nicht in der Modul-Laenge enthalten!
-
-
-====================== [PhD] ============================
-Ab hier folgen meine eigenen Notizen:
-
--Format einer externen Referenz (=Node Typ 2 bzw. @{... link FILE [LINE]})
- Es gibt keine Daten zum Laden, daher ist im Index die Laenge 0. Saemtliche
- Daten befinden sich im Namen des Index-Eintrags und zwar im folgenden
- Format:
-	<name>/<node-name>
-
--Groessen-Angabe bei Bildern:
- Da Bilder groesser als 65KB sein koennen, die Angabe ueber die Laenge der
- entkomprimierten Daten aber auf 2 Bytes (=bis zu 65536 Bytes an Daten)
- beschraenkt ist, wird zur Berechnung der waren Groesse der Index-Eintrag
- "next" zu hilfe gezogen:
-   entkomp. Groesse = komp. Groesse + (index->next<<16)+index->comp_diff
- 
+ST-Guide Hypertext Format (=HYP)
+=========================
+Dies ist eine Dokumentation des ST-Guide Hypertext Formats.
+Sie basiert auf der Dokumentation, die man im HCP Hypertext von Holger
+Weets findet. Dazu habe ich an einigen Stellen Ergaenzungen angebracht,
+welche mir beim Programmieren meines Hypertext Viewers aufgefallen sind.
+Meine Ergaenzungen sind mit [PhD] gekennzeichnet.
+
+Diese Dokumentation bitte nicht weitergeben!
+
+Philipp Donze                                         Chavornay, 05.05.2002
+
+================================== schnipp ================================
+Header eines Hypertextes
+------------------------
+Der Header einer Hypertext Datei ist wie folgt aufgebaut:
+  4 Bytes Magic ('HDOC')
+  4 Bytes Laenge der Indextabelle
+    (Seiten, Bilder, ext. Referenzen, system, rexx)
+  2 Bytes Anzahl der Eintraege in dieser Tabelle
+  1 Byte Kennung, mit welcher Version des Compilers uebersetzt wurde
+    (aktuell 3)
+  1 Byte Kennung, unter welchem Betriebsystem uebersetzt wurde
+    (0: unbekannt, 1: AMIGA, 2: ATARI, 3: Macintosh)
+
+
+Indexbereich eines Hypertextes
+------------------------------
+1 Byte Laenge dieses Eintrages
+1 Byte Typ dieses Eintrages
+    0: interne Seite        (@node)
+    1: Popup-Node           (@pnode)
+    2: externe Referenz     (@{... link FILE [LINE]})
+    3: Bild                 (@image)
+    4: SYSTEM-Argument      (@{... system ARG})
+    5: REXX-Script          (@{... rxs FILE})
+    6: REXX-Kommando        (@{... rx  ARG})
+    7: QUIT Dummy-Eintrag   (@{... quit})
+4 Bytes Seek Offset in die Datei
+2 Bytes Differenz entpackte/gepackte Laenge des Objektes
+2 Bytes Index des Nachfolgers
+2 Bytes Index des Vorgaengers
+2 Bytes Index des Inhaltsverzeichnisses fuer dieses Objekt
+x Bytes Name des Objektes, nullterminiert
+evtl. ein weiteres Nullbyte, damit der naechste Eintrag wieder
+    auf einer geraden Adresse liegt
+
+Von diesen Strukturen finden sich so viele in der Datei, wie der
+entsprechende Wert im Header angibt.
+
+Die Laenge einer Seite berechnet sich aus der Differenz der
+Seek-Offsets dieser Seite und der des Nachfolger-Objektes.
+
+
+Erweiterte Header
+-----------------
+Erweiterte Header dienen i.w. dem Zweck, alle Daten auch bei Er-
+weiterungen des Systems kompatibel zu aelteren Versionen zu halten.
+
+Der Aufbau eines solchen Headers ist wie folgt:
+2 Bytes Kennung
+2 Bytes Laenge
+n Bytes Daten
+
+Aktuell existieren folgende Header:
+0   Ende-Kennung, es folgen keine weiteren Header mehr
+1   Database Name, es folgen Laenge und C-String
+    (@database)
+2   Name der Default-Node, es folgen Laenge und C-String
+    (@default)
+3   Name der Host-Applikation(en), es folgen Laenge und C-String(s)
+    (@hostname)
+4   Optionen, die von den Default-Einstellungen abweichen, es
+    folgen Laenge und C-String
+    (@options, Kommandozeile)
+5   Name des/der Autoren, es folgen Laenge und C-String
+    (@author)
+6   Versions-Information, es folgen Laenge und C-String
+    (@$VER:)
+7   Name der Hilfe Seite, es folgen Laenge und C-String
+    (@help)
+8   Beschreibung der Gebiete, in die der Text einzuordnen
+    ist, es folgen Laenge und C-String
+    (@subject)
+9   HypTree-Header; Aufbau:
+    4 Bytes Summe der Laengen aller expliziten Titel
+    Array von Wortbreiten Bitvektoren:
+     1. Wort: Bit n == 1 -> Seite n hat einen expliziten Titel
+     2. Wort: Bit n == 1 -> Seite 16+n hat einen expiziten Titel
+     usw.
+10  Flags fuer den ST-Guide (2 Bytes)
+    Falls das Bit 10 gesetzt ist, so ist der Hypertext verschluesselt. [PhD]
+11  verwendete Zeilenlaenge (@width)
+
+Ein Lesealgorithmus fuer diese Header muss alle ihm nicht bekannten Header
+ohne Warnung oder Fehlermeldung ueberlesen.
+
+
+
+Datenbereich eines Hypertextes
+------------------------------
+Alle Seiten, Popup's und Bilder, die im Hypertext definiert wurden.
+Meist liegen die Daten in gepackter Form vor, so dass sie nicht ohne
+weiteres verwendet werden koennen. Der verwendete Pack-Algorithmus
+entspricht dem LH5 Verfahren des LHarc, ist somit sehr effizient und
+zumindest beim Auspacken auch schnell genug.
+Die Reihenfolge der Daten-Objekte entspricht der der Indextabelle,
+externe Referenzen, system- und rexx-Eintraege besitzen keine Daten
+in diesem Bereich, die Daten gehoeren folglich immer zu einer
+ * Textseite oder zu einem
+ * Bild
+
+
+Format einer [p]node
+--------------------
+Gehoeren die Daten zu einer Textseite (@node, @pnode), so haben die
+(entpackten) Daten folgendes Format:
+    a) optionaler Grafikbereich (nur @node)
+        Hier werden alle grafischen Objekte dieser Seite  wie
+        folgt beschrieben:
+        1 Byte Kennung (27, ESCAPE)
+        1 Byte Typ
+            50: Bild                    (@image)
+            51: Linie                   (@line)
+            52: Box                     (@box)
+            53: Box mit runden Ecken    (@rbox)
+        2 Bytes Index, falls Bild
+        damit keine 0-Bytes entstehen, liegt dieser Wert zur Basis
+            255 vor und zu beiden Bytes wurde der Wert 1 addiert
+        1 Byte X-Offset in Zeichen
+            Bilder: falls X = 0 ==> zentriert [PhD]
+        2 Bytes Y-Offset in Zeichen
+            damit keine 0-Bytes entstehen, liegt dieser Wert zur Basis
+            255 vor und zu beiden Bytes wurde der Wert 1 addiert
+        1 Byte Breite des Objektes in Zeichen
+            Bilder: falls Breite = 1 ==> limage [PhD]
+        1 Byte Hoehe des Objektes in Zeichen
+        1 Byte Data, falls kein Bild
+            Bevor folgende Aufschluesselung angewendet werden kann muss
+            zuerst "Data" um eins verkleinert werden! [PhD]
+            Linie: Bit 0 == 1: Pfeilspitze am Anfang
+                   Bit 1 == 1: Pfeilspitze am Ende
+                   restliche Bits: Linienstil
+            Box:
+            RBox:  Fuellmuster
+        Bei Bildern werden Breite und Hoehe ignoriert, bei Linien bilden
+        sie das umgrenzende Rechteck.
+
+    b) optional bis zu 12 Querverweis-Datenbloecke
+        1 Byte Kennung (27, ESCAPE)
+        1 Byte Typ (48)
+        1 Byte Laenge (ueber alles)
+        2 Bytes Indexnummer der Zielnode (im 255er Format [PhD])
+        Text fuer das Popup, Nullterminiert
+
+    c) optional weitere Datenbloecke
+        1 Byte Kennung (27, ESCAPE)
+        1 Byte Typ (40-47)
+        1 Byte Laenge (ueber alles)
+        Daten
+
+    d) optional Fenstertitel (@node, @title)
+        1 Byte Kennung (27, ESCAPE)
+        1 Byte Typ (35)
+        Fenstertitel, Nullterminiert
+        evtl. Fuellbyte, damit der Text auf einer geraden Adr.
+        beginnt
+
+    e) optional Tabelle mit Objekten & Seiten (@tree)
+        1 Byte Kennung (27, ESCAPE)
+        1 Byte Typ     (49, ObjTable)
+        2 Bytes Zeilennummer in der Zielseite
+        2 Bytes Nummer des Baumes
+        2 Bytes Objekt in diesem Baum
+        2 Bytes Index der Seite
+       Damit keine 0-Bytes entstehen, liegen alle 2 Byte Werte zur
+       Basis 255 vor und zu beiden Bytes wurde der Wert 1 addiert;
+
+    f) optional Text mit Attributen
+        Die einzelnen Zeilen sind durch ein 0-Byte abgeschlossen und
+        koennen beliebig viele nicht auszugebende Zusatz-Information
+        enthalten.
+
+        Diese Informations-Sequenzen werden jeweils durch das Zeichen
+        ESCAPE (27) eingeleitet, ihm folgt ein weiteres ESCAPE oder
+        ein Typ, im ersten Fall ist das Zeichen ESCAPE auszugeben und
+        im zweiten Fall bestimmt der Typ das weitere Vorgehen:
+            36: Referenz auf andere Seite
+                    @{... link NODE}
+            37: wie 36, aber mit Zeilennummer
+                    @{... link NODE LINE}
+            38: wie 36 nur durch 'alink' erzeugt
+                    @{... alink NODE}
+            39: wie 38, aber mit Zeilennummer
+                    @{... alink NODE LINE}
+            >= 100: Vektor fuer Textattribute:
+                nach Abzug von 100 ergibt sich folgender
+                Bitvektor:
+                 1: Fettschrift
+                 2: helle Schrift
+                 4: Kursivschrift
+                 8: unterstrichen
+                16: 'Outlined'
+                32: schattierte Schrift
+
+            Bei Typ 37 und 39 folgen 2 Bytes Zeilennummer; damit keine
+            0-Bytes entstehen, liegt dieser Wert zur Basis 255 vor und
+            zu beiden Bytes wurde der Wert 1 addiert
+
+            Bei Typ 36-39 folgen nun
+                2 Bytes Index in die Tabelle aus dem Indexbereich;
+                  damit keine 0-Bytes entstehen, liegt dieser Wert zur
+                  Basis 255 vor und zu beiden Bytes wurde der Wert 1
+                  addiert
+                1 Byte Laenge des betreffenden Strings + 32
+                  ist die Laenge gleich 32, so ist hier direkt der Name
+                  des indizierten Objektes auszugeben, ansonsten so
+                  viele Zeichen, wie die Laenge angibt, minus 32 aus
+                  der nachfolgenden Zeichenkette
+
+
+Format eines Bildes
+-------------------
+Gehoeren die Daten zu einem Bild, so liegt (nach dem Entpacken)
+folgendes Format vor:
+    a) Header
+        2 Bytes Breite des Bildes in Pixeln (wird ignoriert)
+        2 Bytes Hoehe des Bildes in Pixeln (wird ignoriert)
+        1 Byte Anzahl der Planes (1..8)
+        1 Byte 'Planepic': Bit n == 1 --> Daten fuer Plane n
+          vorhanden
+        1 Byte 'PlaneOnOff': Bit n == 1 --> Plane ganz ausgefuellt
+        1 Byte Filler, damit das Bild auf gerader Adr. liegt
+    b) 1. Plane
+       optional 2. Plane
+       ...
+       optional 8. Plane
+
+
+Format einer REF Datei
+----------------------
+Datei-Kennung
+  4 Bytes Magic ('HREF')
+
+Modul-Header
+  4 Bytes Laenge des Moduls ohne Header
+  4 Bytes Anzahl der Eintraege im aktuellen Modul
+
+Modul-Daten
+  1 Byte  Kennung des Eintrages
+          0: Dateiname (z.B. 'ST-GUIDE')
+             immer ohne Pfad
+             (eintragen eines Pfades ist jedoch erlaubt)
+             und meist auch ohne Endung
+             (als Endung wird .HYP verwendet, falls keine angegeben)
+          1: Node Name
+             Seitenname aus dem Hypertext zum letzten Datei-Eintrag
+          2: Alias Name
+             Aliasname aus dem Hypertext zum letzten Node-Eintrag
+             (wird vom hcp nur optional hier eingetragen)
+          3: Label Name
+             Labelname aus dem Hypertext zum letzten Node-Eintrag
+             (wird vom hcp nur optional hier eingetragen)
+          4: database Name
+             Database-Argument zum letzten Dateieintrag
+          5: Kennung des Betriebsystemes, unter dem der Hypertext
+             uebersetzt wurde
+             ('0': unbekannt, '1': AMIGA, '2': ATARI, '3': Macintosh)
+
+  1 Byte  Laenge des Eintrages
+  n Bytes Eintrag als Nullterminierter String
+          bei Typ 3 folgen dem String noch 2 Bytes Zeilennummer
+
+Beliebig viele weitere Modul-Header gefolgt von Modul-Daten.
+
+  8 Bytes Nullen als Ende-Kennung
+  [PhD] Diese 8 0-Bytes sind nicht in der Modul-Laenge enthalten!
+
+
+====================== [PhD] ============================
+Ab hier folgen meine eigenen Notizen:
+
+-Format einer externen Referenz (=Node Typ 2 bzw. @{... link FILE [LINE]})
+ Es gibt keine Daten zum Laden, daher ist im Index die Laenge 0. Saemtliche
+ Daten befinden sich im Namen des Index-Eintrags und zwar im folgenden
+ Format:
+	<name>/<node-name>
+
+-Groessen-Angabe bei Bildern:
+ Da Bilder groesser als 65KB sein koennen, die Angabe ueber die Laenge der
+ entkomprimierten Daten aber auf 2 Bytes (=bis zu 65536 Bytes an Daten)
+ beschraenkt ist, wird zur Berechnung der waren Groesse der Index-Eintrag
+ "next" zu hilfe gezogen:
+   entkomp. Groesse = komp. Groesse + (index->next<<16)+index->comp_diff
+ 
Index: doc/todo.txt
===================================================================
RCS file: /mint/freemint/tools/hypview/doc/todo.txt,v
retrieving revision 1.3
diff -u -r1.3 todo.txt
--- doc/todo.txt	18 Apr 2008 20:42:49 -0000	1.3
+++ doc/todo.txt	31 Aug 2009 09:34:21 -0000
@@ -1,81 +1,81 @@
-HypView
-=======
--Tabulatorweite fuer Text-Dateien einstellbar
- * TABSIZE
-    enthaelt die gewuenschte Tabulatorweite. Ist diese Variable nicht
-    vorhanden, so wird der Wert 8 verwendet. (hcp, ST-Guide)
-
--Zeichensatztabellen fuer Text-Dateien unterstuetzen (ISO Latin, PC, ...)
- via KeyTab oder so 
-
--Fehlermeldung falls keine weiteren Fenster mehr vorhanden.
-
-+Window-Cycling selber machen, falls AV-Server das nicht uebernimmt.
-
--ST-Guide kann bei Verwendung eines Fonts mit kleineren Ausmassen als denen 
- des Standard-Systemfonts, unter bestimmten Umstaenden Texte so plazieren, 
- da Text und Grafik sich nicht ueberschneiden. Angenommen auf einer
- Hypertextseite soll zuerst ein Bild und darunter Text erscheinen.
- Damit jetzt bei Verwendung von @image plus Leerzeilen - anstelle von
- @limage (dieser Befehl setzt ja automatisch Text unter die Grafik) -
- der Text unabhaengig von der Hoehe des Fonts immer unterhalb des Bildes
- erscheint, benutzt ST-Guide an der Stelle, wo die Grafik erscheint,
- Leerzeilen mit der Hoehe des Standard-Systemfonts.
-
--Intelligenter "Fuller" berarbeiten: die linke obere Ecke des Fensters
- sollte nur wenn absolut noetig veraendert (=das Fenster verschoben) werden.
- Falls das vergroesserte Fenster platz auf dem Bildschirm hat, bleibt die
- Ecke unveraendert.
-
--Anpassen der Fensterbreite und -hoehe (=WIN_ADJUST) sollte separat
- konfigurierbar sein.
-
--bei der Selektion sind ein paar Bugs drin. Z.B. auch bei leere Zeilen
- fuehren zu Redraw-Fehlern.
-
--Kontext-Menue mit dem Befehl "Im Text-Editor oeffnen..." erweitern
-
--nach Veraenderung der ASCII-Konfigurationsdatei ueber einen Editor, d.h.
- direkt nach dem Abspeichern im Editor, diese Datei einzulesen und sofort
- alle aenderungen in HypView zu uebernehmen.
-
--Schnellerer Seitenaufbau (z.B. indem man die Text-Ausmasse nur einmal
- berechnet!)
-
--Bug: Hintergrund Farbbilder werden falsch konvertiert mit Imagine VDI
-
-+"Zurueck" ins Kontext-Men aufnehmen(erledigt).
- (evtl. Rechtsklick fuer "Zurueck"-Funktion anstatt Kontext-Men)
-
--Zurueck via Rechtsklick (wie bei ST-Guide) einbauen. Konfigurierbar!
- Rechte Maustaste als Alternative zum Zurueck-Icon, falls die Variable
- RIGHTBACK in der ST-GUIDE.INF definiert ist und der Klick dann
- geschieht, wenn der Mauszeiger sich gerade im ST-Guide-Fenster befindet.
- Diese Funktion ist von einigen Betriebssystemen gewissermaen nicht voll
- "abgesegnet" und daher zunchst nicht aktiviert. Mausfetischisten
- moegen aber in der schnellen Ruecksprungmoeglichkeit einen Gewinn sehen.
- Ihnen zuliebe wurde diese Funktion implementiert.
- * RIGHTBACK
-   Falls diese Variable definiert ist (Wert egal), so wird das Bettigen
-   der rechten Maustaste wie ein Klick auf den 'zurck' Button interpre-
-   tiert. Defaultmig ist diese Variable nicht gesetzt, weil das a) den
-   Nachteil hat, da Aktionen im hintenliegenden Fenster nicht mehr
-   mglich sind, und b) werden Rechtsklicks von den verschiedenen TOS-
-   Versionen unterschiedlich behandelt (Quelle: Martin "WINX" Osieka)
-
-- ALT-R - Remarker oeffnen, falls dieser laeuft oder die Variable REMARKER
-          definiert ist
-
-- SHIFT-CTRL-O - wie CTRL-O, nur mit *.* als Pattern im erscheinenden
-                 Fileselektor
-
-- Ctrl-F - Pattern suchen (wie Extra -> Suchen)
-  Bei Auswahl dieser Funktion (auch aktivierbar durch  Control - F )
-  erscheint ein Dialog, in dem ein Suchbegriff eingegeben werden kann.
-  Folgende Knoepfe stehen zur Auswahl:
-     Im Text   Als Seite   Als REFerenz   Abbruch
-     In allen Seiten      ... aller Hypertexte
-
-- Ctrl-G   Pattern erneut suchen  (wie Extra -> Weitersuchen)
-
-- BubbleGEM fuer Icon
+HypView
+=======
+-Tabulatorweite fuer Text-Dateien einstellbar
+ * TABSIZE
+    enthaelt die gewuenschte Tabulatorweite. Ist diese Variable nicht
+    vorhanden, so wird der Wert 8 verwendet. (hcp, ST-Guide)
+
+-Zeichensatztabellen fuer Text-Dateien unterstuetzen (ISO Latin, PC, ...)
+ via KeyTab oder so 
+
+-Fehlermeldung falls keine weiteren Fenster mehr vorhanden.
+
++Window-Cycling selber machen, falls AV-Server das nicht uebernimmt.
+
+-ST-Guide kann bei Verwendung eines Fonts mit kleineren Ausmassen als denen 
+ des Standard-Systemfonts, unter bestimmten Umstaenden Texte so plazieren, 
+ da Text und Grafik sich nicht ueberschneiden. Angenommen auf einer
+ Hypertextseite soll zuerst ein Bild und darunter Text erscheinen.
+ Damit jetzt bei Verwendung von @image plus Leerzeilen - anstelle von
+ @limage (dieser Befehl setzt ja automatisch Text unter die Grafik) -
+ der Text unabhaengig von der Hoehe des Fonts immer unterhalb des Bildes
+ erscheint, benutzt ST-Guide an der Stelle, wo die Grafik erscheint,
+ Leerzeilen mit der Hoehe des Standard-Systemfonts.
+
+-Intelligenter "Fuller" berarbeiten: die linke obere Ecke des Fensters
+ sollte nur wenn absolut noetig veraendert (=das Fenster verschoben) werden.
+ Falls das vergroesserte Fenster platz auf dem Bildschirm hat, bleibt die
+ Ecke unveraendert.
+
+-Anpassen der Fensterbreite und -hoehe (=WIN_ADJUST) sollte separat
+ konfigurierbar sein.
+
+-bei der Selektion sind ein paar Bugs drin. Z.B. auch bei leere Zeilen
+ fuehren zu Redraw-Fehlern.
+
+-Kontext-Menue mit dem Befehl "Im Text-Editor oeffnen..." erweitern
+
+-nach Veraenderung der ASCII-Konfigurationsdatei ueber einen Editor, d.h.
+ direkt nach dem Abspeichern im Editor, diese Datei einzulesen und sofort
+ alle aenderungen in HypView zu uebernehmen.
+
+-Schnellerer Seitenaufbau (z.B. indem man die Text-Ausmasse nur einmal
+ berechnet!)
+
+-Bug: Hintergrund Farbbilder werden falsch konvertiert mit Imagine VDI
+
++"Zurueck" ins Kontext-Men aufnehmen(erledigt).
+ (evtl. Rechtsklick fuer "Zurueck"-Funktion anstatt Kontext-Men)
+
+-Zurueck via Rechtsklick (wie bei ST-Guide) einbauen. Konfigurierbar!
+ Rechte Maustaste als Alternative zum Zurueck-Icon, falls die Variable
+ RIGHTBACK in der ST-GUIDE.INF definiert ist und der Klick dann
+ geschieht, wenn der Mauszeiger sich gerade im ST-Guide-Fenster befindet.
+ Diese Funktion ist von einigen Betriebssystemen gewissermaen nicht voll
+ "abgesegnet" und daher zunchst nicht aktiviert. Mausfetischisten
+ moegen aber in der schnellen Ruecksprungmoeglichkeit einen Gewinn sehen.
+ Ihnen zuliebe wurde diese Funktion implementiert.
+ * RIGHTBACK
+   Falls diese Variable definiert ist (Wert egal), so wird das Bettigen
+   der rechten Maustaste wie ein Klick auf den 'zurck' Button interpre-
+   tiert. Defaultmig ist diese Variable nicht gesetzt, weil das a) den
+   Nachteil hat, da Aktionen im hintenliegenden Fenster nicht mehr
+   mglich sind, und b) werden Rechtsklicks von den verschiedenen TOS-
+   Versionen unterschiedlich behandelt (Quelle: Martin "WINX" Osieka)
+
+- ALT-R - Remarker oeffnen, falls dieser laeuft oder die Variable REMARKER
+          definiert ist
+
+- SHIFT-CTRL-O - wie CTRL-O, nur mit *.* als Pattern im erscheinenden
+                 Fileselektor
+
+- Ctrl-F - Pattern suchen (wie Extra -> Suchen)
+  Bei Auswahl dieser Funktion (auch aktivierbar durch  Control - F )
+  erscheint ein Dialog, in dem ein Suchbegriff eingegeben werden kann.
+  Folgende Knoepfe stehen zur Auswahl:
+     Im Text   Als Seite   Als REFerenz   Abbruch
+     In allen Seiten      ... aller Hypertexte
+
+- Ctrl-G   Pattern erneut suchen  (wie Extra -> Weitersuchen)
+
+- BubbleGEM fuer Icon
Index: dragdrop/dragdrop.c
===================================================================
RCS file: /mint/freemint/tools/hypview/dragdrop/dragdrop.c,v
retrieving revision 1.3
diff -u -r1.3 dragdrop.c
--- dragdrop/dragdrop.c	6 Apr 2008 15:47:04 -0000	1.3
+++ dragdrop/dragdrop.c	31 Aug 2009 09:34:21 -0000
@@ -1,270 +1,270 @@
-/*
- * $Id: dragdrop.c,v 1.3 2008/04/06 15:47:04 ggs Exp $
- * 
- * HypView - (c)      - 2006 Philipp Donze
- *               2006 -      Philipp Donze & Odd Skancke
- *
- * A replacement hypertext viewer
- *
- * This file is part of HypView.
- *
- * HypView is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * HypView is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HypView; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-/*
-	Tabulatorweite: 3
-	Kommentare ab: Spalte 60											*Spalte 60*
-*/
-#include <string.h>
-#include <errno.h>
-#ifdef __GNUC__
-	#include <fcntl.h>
-	#include <mintbind.h>
-	#include <signal.h>
-#else
-	#include <tos.h>
-#endif
-#include <gem.h>
-#include "dragdrop.h"
-
-/*----------------------------------------------------------------------------------------*/ 
-/* Drag & Drop - Pipe ffnen (fuer den Sender)															*/
-/* Funktionsresultat:	Handle der Pipe, -1 fuer Fehler oder -2 fuer Fehler bei appl_write	*/
-/*	app_id:					ID des Senders (der eigenen Applikation)									*/
-/*	rcvr_id:					ID des Empfaengers																	*/
-/*	window:					Handle des Empaefnger-Fensters													*/
-/*	mx:						x-Koordinate der Maus beim Loslassen oder -1								*/
-/*	my:						y-Koordinate der Maus beim Loslassen oder -1								*/
-/*	kbstate:					Status der Kontrolltasten														*/
-/*	format:					Feld fuer die max. 8 vom Empfaenger unterstuetzten Formate				*/
-/*	oldpipesig:				Zeiger auf den alten Signal-Dispatcher										*/
-/*----------------------------------------------------------------------------------------*/ 
-short
-ddcreate( short	app_id, short rcvr_id, short window, short mx, short my, short kbstate, unsigned long format[8], void **oldpipesig )
-{
-	char	pipe[24];
-	short	mbuf[8];
-	long	handle_mask;
-	short	handle, i;
-
-	strcpy( pipe, "u:\\pipe\\dragdrop.aa" );
-	pipe[18] = 'a' - 1;
-	do
-	{
-		pipe[18]++;					/* letzten Buchstaben weitersetzen */
-		if ( pipe[18] > 'z' )				/* kein Buchstabe des Alphabets? */
-		{
-			pipe[17]++;				/* ersten Buchstaben der Extension aendern */
-			if ( pipe[17] > 'z' )			/* liess sich keine Pipe oeffnen? */
-				return( -1 );
-		}
-
-		handle = (short) Fcreate( pipe, 0x02 );		/* Pipe anlegen, 0x02 bedeutet, da EOF zurueckgeliefert wird, */
-								/* wenn die Pipe von niemanden zum Lesen geoeffnet wurde */
-	} while ( handle == EACCES );
-
-	if ( handle < 0 )					/* liess sich die Pipe nicht anlegen? */
-		return( handle );
-
-	mbuf[0] = AP_DRAGDROP;					/* Drap&Drop-Message senden */
-	mbuf[1] = app_id;					/* ID der eigenen Applikation */
-	mbuf[2] = 0;
-	mbuf[3] = window;					/* Handle des Fensters */
-	mbuf[4] = mx;						/* x-Koordinate der Maus */
-	mbuf[5] = my;						/* y-Koordinate der Maus */
-	mbuf[6] = kbstate;					/* Tastatur-Status */
-	mbuf[7] = (((short) pipe[17]) << 8 ) + pipe[18];	/* Endung des Pipe-Namens */
-
-	if ( appl_write( rcvr_id, 16, mbuf ) == 0 )		/* Fehler bei appl_write()? */
-	{
-		Fclose( handle );				/* Pipe schliessen */
-		return( -2 );
-	}
-
-	handle_mask = 1L << handle;
-	i = (short)Fselect( DD_TIMEOUT, &handle_mask, 0L, 0L );	/* auf Antwort warten */
-
-	if ( i && handle_mask )					/* kein Timeout? */
-	{
-		char	reply;
-		
-		if ( Fread( handle, 1L, &reply ) == 1 )		/* Antwort vom Empfaenger lesen */
-		{
-			if ( reply == DD_OK )			/* alles in Ordnung? */
-			{
-				if ( Fread( handle, DD_EXTSIZE, format ) == DD_EXTSIZE )	/* unterstuetzte Formate lesen */
-				{
-					*oldpipesig = (void *)Psignal( SIGPIPE, (void *) SIG_IGN );	/* Dispatcher ausklinken */
-					return( handle );
-				}
-			}
-		}
-	}
-
-	Fclose( handle );					/* Pipe schliessen */
-	return( -1 );
-}
-
-
-/*----------------------------------------------------------------------------------------*/ 
-/* Drag & Drop - berprfen ob der Empfaenger ein Format akzeptiert								*/
-/* Funktionsresultat:	DD_OK: Empfnger unterstuetzt das Format										*/
-/*								DD_EXT: Empfaenger akzeptiert das Format nicht							*/
-/*								DD_LEN: Daten sind zu lang fuer den Empfaenger								*/
-/*								DD_NAK: Fehler bei Kommunikation												*/								
-/*	handle:					Handle der Pipe																	*/
-/*	format:					Kruezel fuer das Format															*/
-/*	name:						Beschreibung des Formats als C-String										*/
-/*	size:						Laenge der zu sendenen Daten													*/
-/*----------------------------------------------------------------------------------------*/ 
-short
-ddstry( short handle, unsigned long format, char *name, long size )
-{
-	long	str_len;
-	short	hdr_len;
-	
-	str_len = strlen( name ) + 1;					/* Laenge des Strings inklusive Nullbyte */
-	hdr_len = 4 + 4 + (short) str_len;				/* Laenge des Headers */
-
-	if ( Fwrite( handle, 2, &hdr_len ) == 2 )			/* Laenge des Headers senden */
-	{
-		long	written;
-		
-		written = Fwrite( handle, 4, &format );			/* Formatkruezel */
-		written += Fwrite( handle, 4, &size );			/* Laenge der zu sendenden Daten */
-		written += Fwrite( handle, str_len, name );		/* Beschreibung des Formats als C-String */
-
-		if ( written == hdr_len )				/* liess sich der Header schreiben? */
-		{
-			char	reply;
-			
-			if ( Fread( handle, 1, &reply ) == 1 )
-				return( reply );											/* Antwort zurueckliefern */
-		}
-	}	
-	return( DD_NAK );
-}
-
-/*----------------------------------------------------------------------------------------*/ 
-/* Drag & Drop - Pipe schliessen																				*/
-/*	handle:					Handle der Pipe																	*/
-/* oldpipesig:				Zeiger auf den alten Signalhandler											*/
-/*----------------------------------------------------------------------------------------*/ 
-void
-ddclose( short handle, void *oldpipesig )
-{
-	Psignal( SIGPIPE, oldpipesig );					/* wieder alten Dispatcher eintragen */
-	Fclose( handle );						/* Pipe schliessen */
-}
-
-/*----------------------------------------------------------------------------------------*/ 
-/* Drag & Drop - Pipe oeffnen (fuer den Empfnger)														*/
-/* Funktionsresultat:	Handle der Pipe oder -1 (Fehler)												*/
-/* pipe:						Zeiger auf den Namen der Pipe ("DRAGDROP.??")							*/
-/* format:					Zeiger auf Array mit unterstuetzten Datenformaten						*/
-/* oldpipesig:				Zeiger auf den Zeiger auf den alten Signalhandler						*/
-/*----------------------------------------------------------------------------------------*/ 
-short
-ddopen( char *pipe, unsigned long format[8], void **oldpipesig )
-{
-	short	handle;
-	char	reply;
-
-	handle = (short) Fopen( pipe, O_RDWR );					/* Handle der Pipe erfragen	*/
-	if ( handle < 0 )
-		return( -1 );
-
-	reply = DD_OK;								/* Programm unterstuetzt Drag & Drop	*/
-
-	*oldpipesig = (void *)Psignal( SIGPIPE, (void *) SIG_IGN );		/* Signal ignorieren	*/
-
-	if ( Fwrite( handle, 1, &reply ) == 1 )
-	{
-		if ( Fwrite( handle, DD_EXTSIZE, format ) == DD_EXTSIZE )
-			return( handle );
-	}
-
-	ddclose( handle, *oldpipesig );						/* Pipe schliessen */
-	return( -1 );
-}
-
-/*----------------------------------------------------------------------------------------*/ 
-/* Header fuer Drag & Drop einlesen																			*/
-/* Funktionsresultat:	0 Fehler 1: alles in Ordnung													*/
-/*	handle:					Handle der Pipe																	*/
-/* name:						Zeiger auf Array fuer den Datennamen											*/
-/* format:					Zeiger auf ein Long, das das Datenformat anzeigt						*/
-/* size:						Zeiger auf ein Long fuer die Laenge der Daten								*/
-/*----------------------------------------------------------------------------------------*/ 
-short
-ddrtry( short handle, char *name, unsigned long *format, long *size )
-{
-	short	hdr_len;
-
-	if ( Fread( handle, 2, &hdr_len ) == 2 )				/* Headerlaenge auslesen	*/
-	{
-		if ( hdr_len >= 9 )						/* kompletter Header?	*/
-		{
-			if ( Fread( handle, 4, format ) == 4 )			/* Datentyp auslesen	*/
-			{
-				if ( Fread( handle, 4, size ) == 4 )		/* Laenge der Daten in Bytes auslesen */
-				{	
-					short	name_len;
-					
-					name_len = hdr_len -= 8;		/* Laenge des Namens inklusive Nullbyte */
-
-					if ( name_len > DD_NAMEMAX )				
-						name_len = DD_NAMEMAX;
-
-					if ( Fread( handle, name_len, name ) == name_len )	/* Datennamen auslesen	*/
-					{
-						char	buf[64];
-					
-						hdr_len -= name_len;
-	
-						while ( hdr_len > 64 )		/* Headerrest auslesen	*/
-						{
-							Fread( handle, 64, buf );
-							hdr_len -= 64;
-						}
-		
-						if ( hdr_len > 0 )
-							Fread( handle, hdr_len, buf );
-	
-						return( 1 );
-					}
-				}
-			}
-		}
-	}
-	return( 0 );															/* Fehler */
-}
-
-/*----------------------------------------------------------------------------------------*/ 
-/* Meldung an den Drag & Drop - Initiator senden														*/
-/* Funktionsresultat:	0: Fehler 1: alles in Ordnung													*/
-/*	handle:					Handle der Pipe																	*/
-/* msg:						Nachrichtennummer																	*/
-/*----------------------------------------------------------------------------------------*/ 
-short
-ddreply( short handle, short msg )
-{
-	if ( Fwrite( handle, 1, ((char *) &msg ) + 1 ) != 1 )		/* Fehler? */
-	{
-		Fclose( handle );					/* Pipe schliessen */
-		return( 0 );
-	}
-	return( 1 );
-}
+/*
+ * $Id: dragdrop.c,v 1.3 2008/04/06 15:47:04 ggs Exp $
+ * 
+ * HypView - (c)      - 2006 Philipp Donze
+ *               2006 -      Philipp Donze & Odd Skancke
+ *
+ * A replacement hypertext viewer
+ *
+ * This file is part of HypView.
+ *
+ * HypView is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * HypView is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HypView; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/*
+	Tabulatorweite: 3
+	Kommentare ab: Spalte 60											*Spalte 60*
+*/
+#include <string.h>
+#include <errno.h>
+#ifdef __GNUC__
+	#include <fcntl.h>
+	#include <mintbind.h>
+	#include <signal.h>
+#else
+	#include <tos.h>
+#endif
+#include <gem.h>
+#include "dragdrop.h"
+
+/*----------------------------------------------------------------------------------------*/ 
+/* Drag & Drop - Pipe ffnen (fuer den Sender)															*/
+/* Funktionsresultat:	Handle der Pipe, -1 fuer Fehler oder -2 fuer Fehler bei appl_write	*/
+/*	app_id:					ID des Senders (der eigenen Applikation)									*/
+/*	rcvr_id:					ID des Empfaengers																	*/
+/*	window:					Handle des Empaefnger-Fensters													*/
+/*	mx:						x-Koordinate der Maus beim Loslassen oder -1								*/
+/*	my:						y-Koordinate der Maus beim Loslassen oder -1								*/
+/*	kbstate:					Status der Kontrolltasten														*/
+/*	format:					Feld fuer die max. 8 vom Empfaenger unterstuetzten Formate				*/
+/*	oldpipesig:				Zeiger auf den alten Signal-Dispatcher										*/
+/*----------------------------------------------------------------------------------------*/ 
+short
+ddcreate( short	app_id, short rcvr_id, short window, short mx, short my, short kbstate, unsigned long format[8], void **oldpipesig )
+{
+	char	pipe[24];
+	short	mbuf[8];
+	long	handle_mask;
+	short	handle, i;
+
+	strcpy( pipe, "u:\\pipe\\dragdrop.aa" );
+	pipe[18] = 'a' - 1;
+	do
+	{
+		pipe[18]++;					/* letzten Buchstaben weitersetzen */
+		if ( pipe[18] > 'z' )				/* kein Buchstabe des Alphabets? */
+		{
+			pipe[17]++;				/* ersten Buchstaben der Extension aendern */
+			if ( pipe[17] > 'z' )			/* liess sich keine Pipe oeffnen? */
+				return( -1 );
+		}
+
+		handle = (short) Fcreate( pipe, 0x02 );		/* Pipe anlegen, 0x02 bedeutet, da EOF zurueckgeliefert wird, */
+								/* wenn die Pipe von niemanden zum Lesen geoeffnet wurde */
+	} while ( handle == EACCES );
+
+	if ( handle < 0 )					/* liess sich die Pipe nicht anlegen? */
+		return( handle );
+
+	mbuf[0] = AP_DRAGDROP;					/* Drap&Drop-Message senden */
+	mbuf[1] = app_id;					/* ID der eigenen Applikation */
+	mbuf[2] = 0;
+	mbuf[3] = window;					/* Handle des Fensters */
+	mbuf[4] = mx;						/* x-Koordinate der Maus */
+	mbuf[5] = my;						/* y-Koordinate der Maus */
+	mbuf[6] = kbstate;					/* Tastatur-Status */
+	mbuf[7] = (((short) pipe[17]) << 8 ) + pipe[18];	/* Endung des Pipe-Namens */
+
+	if ( appl_write( rcvr_id, 16, mbuf ) == 0 )		/* Fehler bei appl_write()? */
+	{
+		Fclose( handle );				/* Pipe schliessen */
+		return( -2 );
+	}
+
+	handle_mask = 1L << handle;
+	i = (short)Fselect( DD_TIMEOUT, &handle_mask, 0L, 0L );	/* auf Antwort warten */
+
+	if ( i && handle_mask )					/* kein Timeout? */
+	{
+		char	reply;
+		
+		if ( Fread( handle, 1L, &reply ) == 1 )		/* Antwort vom Empfaenger lesen */
+		{
+			if ( reply == DD_OK )			/* alles in Ordnung? */
+			{
+				if ( Fread( handle, DD_EXTSIZE, format ) == DD_EXTSIZE )	/* unterstuetzte Formate lesen */
+				{
+					*oldpipesig = (void *)Psignal( SIGPIPE, (void *) SIG_IGN );	/* Dispatcher ausklinken */
+					return( handle );
+				}
+			}
+		}
+	}
+
+	Fclose( handle );					/* Pipe schliessen */
+	return( -1 );
+}
+
+
+/*----------------------------------------------------------------------------------------*/ 
+/* Drag & Drop - berprfen ob der Empfaenger ein Format akzeptiert								*/
+/* Funktionsresultat:	DD_OK: Empfnger unterstuetzt das Format										*/
+/*								DD_EXT: Empfaenger akzeptiert das Format nicht							*/
+/*								DD_LEN: Daten sind zu lang fuer den Empfaenger								*/
+/*								DD_NAK: Fehler bei Kommunikation												*/								
+/*	handle:					Handle der Pipe																	*/
+/*	format:					Kruezel fuer das Format															*/
+/*	name:						Beschreibung des Formats als C-String										*/
+/*	size:						Laenge der zu sendenen Daten													*/
+/*----------------------------------------------------------------------------------------*/ 
+short
+ddstry( short handle, unsigned long format, char *name, long size )
+{
+	long	str_len;
+	short	hdr_len;
+	
+	str_len = strlen( name ) + 1;					/* Laenge des Strings inklusive Nullbyte */
+	hdr_len = 4 + 4 + (short) str_len;				/* Laenge des Headers */
+
+	if ( Fwrite( handle, 2, &hdr_len ) == 2 )			/* Laenge des Headers senden */
+	{
+		long	written;
+		
+		written = Fwrite( handle, 4, &format );			/* Formatkruezel */
+		written += Fwrite( handle, 4, &size );			/* Laenge der zu sendenden Daten */
+		written += Fwrite( handle, str_len, name );		/* Beschreibung des Formats als C-String */
+
+		if ( written == hdr_len )				/* liess sich der Header schreiben? */
+		{
+			char	reply;
+			
+			if ( Fread( handle, 1, &reply ) == 1 )
+				return( reply );											/* Antwort zurueckliefern */
+		}
+	}	
+	return( DD_NAK );
+}
+
+/*----------------------------------------------------------------------------------------*/ 
+/* Drag & Drop - Pipe schliessen																				*/
+/*	handle:					Handle der Pipe																	*/
+/* oldpipesig:				Zeiger auf den alten Signalhandler											*/
+/*----------------------------------------------------------------------------------------*/ 
+void
+ddclose( short handle, void *oldpipesig )
+{
+	Psignal( SIGPIPE, oldpipesig );					/* wieder alten Dispatcher eintragen */
+	Fclose( handle );						/* Pipe schliessen */
+}
+
+/*----------------------------------------------------------------------------------------*/ 
+/* Drag & Drop - Pipe oeffnen (fuer den Empfnger)														*/
+/* Funktionsresultat:	Handle der Pipe oder -1 (Fehler)												*/
+/* pipe:						Zeiger auf den Namen der Pipe ("DRAGDROP.??")							*/
+/* format:					Zeiger auf Array mit unterstuetzten Datenformaten						*/
+/* oldpipesig:				Zeiger auf den Zeiger auf den alten Signalhandler						*/
+/*----------------------------------------------------------------------------------------*/ 
+short
+ddopen( char *pipe, unsigned long format[8], void **oldpipesig )
+{
+	short	handle;
+	char	reply;
+
+	handle = (short) Fopen( pipe, O_RDWR );					/* Handle der Pipe erfragen	*/
+	if ( handle < 0 )
+		return( -1 );
+
+	reply = DD_OK;								/* Programm unterstuetzt Drag & Drop	*/
+
+	*oldpipesig = (void *)Psignal( SIGPIPE, (void *) SIG_IGN );		/* Signal ignorieren	*/
+
+	if ( Fwrite( handle, 1, &reply ) == 1 )
+	{
+		if ( Fwrite( handle, DD_EXTSIZE, format ) == DD_EXTSIZE )
+			return( handle );
+	}
+
+	ddclose( handle, *oldpipesig );						/* Pipe schliessen */
+	return( -1 );
+}
+
+/*----------------------------------------------------------------------------------------*/ 
+/* Header fuer Drag & Drop einlesen																			*/
+/* Funktionsresultat:	0 Fehler 1: alles in Ordnung													*/
+/*	handle:					Handle der Pipe																	*/
+/* name:						Zeiger auf Array fuer den Datennamen											*/
+/* format:					Zeiger auf ein Long, das das Datenformat anzeigt						*/
+/* size:						Zeiger auf ein Long fuer die Laenge der Daten								*/
+/*----------------------------------------------------------------------------------------*/ 
+short
+ddrtry( short handle, char *name, unsigned long *format, long *size )
+{
+	short	hdr_len;
+
+	if ( Fread( handle, 2, &hdr_len ) == 2 )				/* Headerlaenge auslesen	*/
+	{
+		if ( hdr_len >= 9 )						/* kompletter Header?	*/
+		{
+			if ( Fread( handle, 4, format ) == 4 )			/* Datentyp auslesen	*/
+			{
+				if ( Fread( handle, 4, size ) == 4 )		/* Laenge der Daten in Bytes auslesen */
+				{	
+					short	name_len;
+					
+					name_len = hdr_len -= 8;		/* Laenge des Namens inklusive Nullbyte */
+
+					if ( name_len > DD_NAMEMAX )				
+						name_len = DD_NAMEMAX;
+
+					if ( Fread( handle, name_len, name ) == name_len )	/* Datennamen auslesen	*/
+					{
+						char	buf[64];
+					
+						hdr_len -= name_len;
+	
+						while ( hdr_len > 64 )		/* Headerrest auslesen	*/
+						{
+							Fread( handle, 64, buf );
+							hdr_len -= 64;
+						}
+		
+						if ( hdr_len > 0 )
+							Fread( handle, hdr_len, buf );
+	
+						return( 1 );
+					}
+				}
+			}
+		}
+	}
+	return( 0 );															/* Fehler */
+}
+
+/*----------------------------------------------------------------------------------------*/ 
+/* Meldung an den Drag & Drop - Initiator senden														*/
+/* Funktionsresultat:	0: Fehler 1: alles in Ordnung													*/
+/*	handle:					Handle der Pipe																	*/
+/* msg:						Nachrichtennummer																	*/
+/*----------------------------------------------------------------------------------------*/ 
+short
+ddreply( short handle, short msg )
+{
+	if ( Fwrite( handle, 1, ((char *) &msg ) + 1 ) != 1 )		/* Fehler? */
+	{
+		Fclose( handle );					/* Pipe schliessen */
+		return( 0 );
+	}
+	return( 1 );
+}
Index: dragdrop/dragdrop.h
===================================================================
RCS file: /mint/freemint/tools/hypview/dragdrop/dragdrop.h,v
retrieving revision 1.2
diff -u -r1.2 dragdrop.h
--- dragdrop/dragdrop.h	6 Apr 2008 15:47:04 -0000	1.2
+++ dragdrop/dragdrop.h	31 Aug 2009 09:34:21 -0000
@@ -1,60 +1,60 @@
-/*
- * $Id: dragdrop.h,v 1.2 2008/04/06 15:47:04 ggs Exp $
- * 
- * HypView - (c)      - 2006 Philipp Donze
- *               2006 -      Philipp Donze & Odd Skancke
- *
- * A replacement hypertext viewer
- *
- * This file is part of HypView.
- *
- * HypView is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * HypView is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HypView; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-/*
-	Tabulatorweite: 8
-	Kommentare ab: Spalte 			*Spalte 50*
-*/
-#ifndef _DRAGDROP_H_
-#define _DRAGDROP_H_
-
-#ifndef AP_DRAGDROP
-#define	AP_DRAGDROP	63
-#endif
-
-#define	DD_OK		0
-#define	DD_NAK		1
-#define	DD_EXT		2
-#define	DD_LEN		3
-
-#define	DD_TIMEOUT	4000				/* Timeout in ms */
-
-#define	DD_NUMEXTS	8				/* Anzahl der Formate */
-#define	DD_EXTSIZE	32				/* Laenge des Formatfelds */
-
-
-#define	DD_FNAME	"u:\\pipe\\dragdrop.aa"
-#define	DD_NAMEMAX	128				/* maximale Laenge eines Formatnamens */
-#define	DD_HDRMIN	9				/* minmale Laenge des Drag&Drop-Headers */
-#define	DD_HDRMAX	( 8 + DD_NAMEMAX )		/* maximale Laenge des Drag&Drop-Headers */
-
-short	ddcreate( short	app_id, short rcvr_id, short window, short mx, short my, short kbstate, unsigned long format[8], void **oldpipesig );
-short	ddstry( short handle, unsigned long format, char *name, long size );
-short	ddopen( char *pipe, unsigned long *format, void **oldpipesig );
-void	ddclose( short handle, void *oldpipesig );
-short	ddrtry( short handle, char *name, unsigned long *format, long *size );
-short	ddreply( short handle, short msg );
-
-#endif
+/*
+ * $Id: dragdrop.h,v 1.2 2008/04/06 15:47:04 ggs Exp $
+ * 
+ * HypView - (c)      - 2006 Philipp Donze
+ *               2006 -      Philipp Donze & Odd Skancke
+ *
+ * A replacement hypertext viewer
+ *
+ * This file is part of HypView.
+ *
+ * HypView is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * HypView is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HypView; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/*
+	Tabulatorweite: 8
+	Kommentare ab: Spalte 			*Spalte 50*
+*/
+#ifndef _DRAGDROP_H_
+#define _DRAGDROP_H_
+
+#ifndef AP_DRAGDROP
+#define	AP_DRAGDROP	63
+#endif
+
+#define	DD_OK		0
+#define	DD_NAK		1
+#define	DD_EXT		2
+#define	DD_LEN		3
+
+#define	DD_TIMEOUT	4000				/* Timeout in ms */
+
+#define	DD_NUMEXTS	8				/* Anzahl der Formate */
+#define	DD_EXTSIZE	32				/* Laenge des Formatfelds */
+
+
+#define	DD_FNAME	"u:\\pipe\\dragdrop.aa"
+#define	DD_NAMEMAX	128				/* maximale Laenge eines Formatnamens */
+#define	DD_HDRMIN	9				/* minmale Laenge des Drag&Drop-Headers */
+#define	DD_HDRMAX	( 8 + DD_NAMEMAX )		/* maximale Laenge des Drag&Drop-Headers */
+
+short	ddcreate( short	app_id, short rcvr_id, short window, short mx, short my, short kbstate, unsigned long format[8], void **oldpipesig );
+short	ddstry( short handle, unsigned long format, char *name, long size );
+short	ddopen( char *pipe, unsigned long *format, void **oldpipesig );
+void	ddclose( short handle, void *oldpipesig );
+short	ddrtry( short handle, char *name, unsigned long *format, long *size );
+short	ddreply( short handle, short msg );
+
+#endif
Index: hyp/cache.c
===================================================================
RCS file: /mint/freemint/tools/hypview/hyp/cache.c,v
retrieving revision 1.2
diff -u -r1.2 cache.c
--- hyp/cache.c	12 Feb 2006 15:14:57 -0000	1.2
+++ hyp/cache.c	31 Aug 2009 09:34:21 -0000
@@ -1,87 +1,87 @@
-/*
- * $Id: cache.c,v 1.2 2006/02/12 15:14:57 pdonze Exp $
- * 
- * HypView - (c)      - 2006 Philipp Donze
- *               2006 -      Philipp Donze & Odd Skancke
- *
- * A replacement hypertext viewer
- *
- * This file is part of HypView.
- *
- * HypView is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * HypView is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HypView; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#ifdef __GNUC__
-	#include <osbind.h>
-#else
-	#include <tos.h>
-#endif
-#include "../diallib.h"
-#include "../hyp.h"
-
-long GetCacheSize(long num_elements)
-{
-	return(num_elements*sizeof(INDEX_ENTRY *));
-}
-
-void InitCache(HYP_DOCUMENT *hyp)
-{
-	long i;
-	for(i=0;i<hyp->num_index;i++)
-	{
-		hyp->cache[i]=NULL;
-	}
-}
-
-void ClearCache(HYP_DOCUMENT *hyp)
-{
-	long i;
-	for(i=0;i<hyp->num_index;i++)
-	{
-		if(hyp->cache[i])
-		{
-			Mfree(hyp->cache[i]);
-			hyp->cache[i]=NULL;
-		}
-	}
-}
-
-void TellCache(HYP_DOCUMENT *hyp, long node_num,void *node)
-{
-	hyp->cache[node_num]=node;
-}
-
-void *
-AskCache(HYP_DOCUMENT *hyp, long node_num)
-{
-	return(hyp->cache[node_num]);
-}
-
-
-
-
-void RemoveNodes(HYP_DOCUMENT *hyp)
-{
-long i;
-	for(i=0;i<hyp->num_index;i++)
-	{
-		if(hyp->cache[i] && hyp->indextable[i]->type<=POPUP)
-		{
-			Mfree(hyp->cache[i]);
-			hyp->cache[i]=NULL;
-		}
-	}
-}
-
+/*
+ * $Id: cache.c,v 1.2 2006/02/12 15:14:57 pdonze Exp $
+ * 
+ * HypView - (c)      - 2006 Philipp Donze
+ *               2006 -      Philipp Donze & Odd Skancke
+ *
+ * A replacement hypertext viewer
+ *
+ * This file is part of HypView.
+ *
+ * HypView is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * HypView is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HypView; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifdef __GNUC__
+	#include <osbind.h>
+#else
+	#include <tos.h>
+#endif
+#include "../diallib.h"
+#include "../hyp.h"
+
+long GetCacheSize(long num_elements)
+{
+	return(num_elements*sizeof(INDEX_ENTRY *));
+}
+
+void InitCache(HYP_DOCUMENT *hyp)
+{
+	long i;
+	for(i=0;i<hyp->num_index;i++)
+	{
+		hyp->cache[i]=NULL;
+	}
+}
+
+void ClearCache(HYP_DOCUMENT *hyp)
+{
+	long i;
+	for(i=0;i<hyp->num_index;i++)
+	{
+		if(hyp->cache[i])
+		{
+			Mfree(hyp->cache[i]);
+			hyp->cache[i]=NULL;
+		}
+	}
+}
+
+void TellCache(HYP_DOCUMENT *hyp, long node_num,void *node)
+{
+	hyp->cache[node_num]=node;
+}
+
+void *
+AskCache(HYP_DOCUMENT *hyp, long node_num)
+{
+	return(hyp->cache[node_num]);
+}
+
+
+
+
+void RemoveNodes(HYP_DOCUMENT *hyp)
+{
+long i;
+	for(i=0;i<hyp->num_index;i++)
+	{
+		if(hyp->cache[i] && hyp->indextable[i]->type<=POPUP)
+		{
+			Mfree(hyp->cache[i]);
+			hyp->cache[i]=NULL;
+		}
+	}
+}
+
Index: include/av.h
===================================================================
RCS file: /mint/freemint/tools/hypview/include/av.h,v
retrieving revision 1.3
diff -u -r1.3 av.h
--- include/av.h	7 Apr 2008 18:29:22 -0000	1.3
+++ include/av.h	31 Aug 2009 09:34:22 -0000
@@ -1,462 +1,462 @@
-/*
- * Hinweis:
- * Dieser Text wurde automatisch aus dem beiliegenden Hypertext
- * generiert und enthaelt die fuer Programmierer wichtigen defines
- * sowie zu jeder Nachricht eine Kurzbeschreibung zu deren Aufbau
- */
-
-
-
-/*
- * AV_PROTOKOLL
- * msg[3]   = Bitfeld
- *                Bit 0:  VA_SETSTATUS
- *                Bit 1:  VA_START
- *                Bit 2:  AV_STARTED
- *                Bit 3:  VA_FONTCHANGED
- *                Bit 4:  Quoting
- *                Bit 5:  VA_PATH_UPDATE
- *            Alle anderen Bits sind fuer Erweiterungen reserviert und
- *            sollten daher mit 0 vorbesetzt werden.
- * msg[4]   = 0 (reserviert)
- * msg[5]   = 0 (reserviert)
- * msg[6/7] = Pointer auf den Accessorynamen, wie er bei appl_find benutzt
- *            werden muss; also 8 Zeichen lang und nullterminiert. Wer auf
- *            der sicheren Seite sein will, traegt den Namen komplett in Gross-
- *            buchstaben ein.
- */
-#define AV_PROTOKOLL 0x4700
-
-
-/*
- * VA_PROTOSTATUS
- * msg[3]   = Bitfeld
- *                Bit 0   AV_SENDKEY
- *                Bit 1   AV_ASKFILEFONT
- *                Bit 2   AV_ASKCONFONT, AV_OPENCONSOLE
- *                Bit 3   AV_ASKOBJECT
- *                Bit 4   AV_OPENWIND
- *                Bit 5   AV_STARTPROG
- *                Bit 6   AV_ACCWINDOPEN, AV_ACCWINDCLOSED
- *                Bit 7   AV_STATUS, AV_GETSTATUS
- *                Bit 8   AV_COPY_DRAGGED
- *                Bit 9   AV_PATH_UPDATE, AV_WHAT_IZIT, AV_DRAG_ON_WINDOW
- *                Bit 10  AV_EXIT
- *                Bit 11  AV_XWIND
- *                Bit 12  VA_FONTCHANGED
- *                Bit 13  AV_STARTED
- *                Bit 14: Versteht und benutzt Quoting von Dateinamen
- *                Bit 15: AV_FILEINFO, VA_FILECHANGED
- * msg[4]:        Bit 0:  AV_COPYFILE, VA_FILECOPIED
- *                Bit 1:  AV_DELFILE, VA_FILEDELETED
- *                Bit 2:  AV_VIEW, VA_VIEWED
- *                Bit 3:  AV_SETWINDPOS
- *                Bit 4:  erlaubt Anlegen symbolischer Links mit AV_COPYFILE
- *                Bit 5:  AV_SENDCLICK
- * msg[5]   = 0 (reserviert)
- * msg[6/7] = Pointer auf den Programmnamen, wie er bei appl_find benutzt
- *            werden muss; also 8 Zeichen lang und nullterminiert. Wer auf der
- *            sicheren Seite sein will, traegt den Namen komplett in Grossbuch-
- *            staben ein.
- */
-#define VA_PROTOSTATUS 0x4701
-
-
-/*
- * AV_GETSTATUS
- */
-#define AV_GETSTATUS 0x4703
-
-
-/*
- * AV_STATUS
- * msg[3/4] = Pointer auf einen String, der keine Steuerzeichen enthalten
- *            darf und nicht laenger als 256 Zeichen sein darf. Dieser
- *            Pointer darf allerdings NULL sein.
- */
-#define AV_STATUS 0x4704
-
-
-/*
- * VA_SETSTATUS
- * msg[3/4] = Pointer auf einen String, der keine Steuerzeichen enthaelt.
- *            Dieser Pointer kann allerdings NULL sein, dann war
- *            kein Status gespeichert.
- */
-#define VA_SETSTATUS 0x4705
-
-/*
- * AV_SENDCLICK
- */
-
-#define AV_SENDCLICK 0x4709
-
-
-/*
- * AV_SENDKEY
- * msg[3] = Tastaturstatus (ev_mmokstate, also SHIFT, CTRL, ALT...)
- * msg[4] = ASCII/Scancode der gedrueckten Taste (ev_mkreturn)
- */
-#define AV_SENDKEY 0x4710
-
-
-/*
- * VA_START
- * msg[3/4] = Pointer auf eine Kommandozeile, der auch NULL sein kann.
- *            In der Kommandozeile stehen Pfade oder Dateinamen.
- */
-#define VA_START 0x4711
-
-
-/*
- * AV_ASKFILEFONT
- */
-#define AV_ASKFILEFONT 0x4712
-
-
-/*
- * VA_FILEFONT
- * msg[3] = Dateifontnummer (font id)
- * msg[4] = Dateifontgroesse (in points)
- */
-#define VA_FILEFONT 0x4713
-
-
-/*
- * AV_ASKCONFONT
- */
-#define AV_ASKCONFONT 0x4714
-
-
-/*
- * VA_CONFONT
- * msg[3] = Consolefontnummer (font id)
- * msg[4] = Consolefontgroesse (in points)
- */
-#define VA_CONFONT 0x4715
-
-
-/*
- * AV_ASKOBJECT
- */
-#define AV_ASKOBJECT 0x4716
-
-
-/*
- * VA_OBJECT
- * msg[3/4] = Namen aller selektierten Dateien, durch Leerzeichen von-
- *            einander getrennt. Falls keine Objekte selektiert sind, so
- *            kann dieser Pointer NULL sein.
- */
-#define VA_OBJECT 0x4717
-
-
-/*
- * AV_OPENCONSOLE
- */
-#define AV_OPENCONSOLE  0x4718
-
-
-/*
- * VA_CONSOLEOPEN
- * msg[3] = 0            -> Console wurde nicht geoeffnet
- *          anderer Wert -> Console ist jetzt offen und liegt vorne
- */
-#define VA_CONSOLEOPEN 0x4719
-
-
-/*
- * AV_OPENWIND
- * msg[3/4] = Pfad fuer das Fenster
- * msg[5/6] = Wildcard fuer darzustellende Dateien.
- */
-#define AV_OPENWIND 0x4720
-
-
-/*
- * VA_WINDOPEN
- * msg[3] = 0            -> Fenster konnte nicht geoeffnet werden
- *          anderer Wert -> Fenster ist jetzt offen und liegt vorne
- */
-#define VA_WINDOPEN 0x4721
-
-
-/*
- * AV_STARTPROG
- * msg[3/4] = Programmname mit kompletten Pfad; kann auch eine beliebige
- *            Datei sein, fuer die der Empfaenger dann die zugehoerige
- *            Applikation startet
- * msg[5/6] = Kommandozeile (kann NULL sein)
- * msg[7]   = Beliebiges 16-Bit Wort, das in VA_PROGSTART wieder
- *            zurueckgeliefert wird.
- */
-#define AV_STARTPROG 0x4722
-
-
-/*
- * VA_PROGSTART
- * msg[3] = 0            -> Programm wure nicht gestartet
- *          anderer Wert -> Programm wurde gestartet
- * msg[4] = Returncode des gestarteten Programms (so vorhanden)
- * msg[7] = 16-Bit Wort aus AV_STARTPROG
- */
-#define VA_PROGSTART 0x4723
-
-
-/*
- * AV_ACCWINDOPEN
- * msg[3] = AES-Handle des geoeffneten Fensters
- */
-#define AV_ACCWINDOPEN 0x4724
-
-
-/*
- * VA_DRAGACCWIND
- * msg[3]   = AES-Handle des Fensters
- * msg[4]   = X-Position der Maus
- * msg[5]   = Y-Position der Maus
- * msg[6/7] = Pointer auf einen String, der die Namen der Objekte enthaelt.
- */
-#define VA_DRAGACCWIND 0x4725
-
-
-/*
- * AV_ACCWINDCLOSED
- * msg[3] = AES-Handle des Fensters
- */
-#define AV_ACCWINDCLOSED 0x4726
-
-
-/*
- * AV_COPY_DRAGGED
- * msg[3]   = Tastaturstatus (Alternate, Control, Shift)
- * msg[4/5] = Pointer auf einen String, der den Namen des Zielobjektes
- *            enthaelt. Dies muss ein Pfad sein!
- */
-#define AV_COPY_DRAGGED 0x4728
-
-
-/*
- * VA_COPY_COMPLETE
- * msg[3] = Wenn hier ein Wert ungleich Null steht, dann wurde
- *          wirklich etwas kopiert oder verschoben.
- */
-#define VA_COPY_COMPLETE 0x4729
-
-
-/*
- * AV_PATH_UPDATE
- * msg[3/4] = Pointer auf den absoluten Pfad
- */
-#define AV_PATH_UPDATE 0x4730
-
-
-/*
- * AV_WHAT_IZIT
- * msg[3] = X-Koordinate
- * msg[4] = Y-Koordinate
- */
-#define AV_WHAT_IZIT 0x4732
-
-
-/*
- * VA_THAT_IZIT
- * msg[3]   = ID der zustaendigen Applikation
- * msg[4]   = Typ des Objektes
- *             Unbekannt   : 0
- *             Muelleimer  : 1
- *             Shredder    : 2
- *             Clipboard   : 3
- *             Datei       : 4
- *             Ordner      : 5
- *             Laufwerk    : 6
- *             Fenster     : 7
- *             Notizblock  : 8
- *             ?           : 9
- *             (alle anderen fuer Erweiterungen reserviert.)
- * msg[5+6] = Zeiger auf den Namen des Objektes (oder NULL, falls nicht
- *            vorhanden)
- */
-#define VA_THAT_IZIT    0x4733
-#define VA_OB_UNKNOWN   0
-#define VA_OB_TRASHCAN  1
-#define VA_OB_SHREDDER  2
-#define VA_OB_CLIPBOARD 3
-#define VA_OB_FILE      4
-#define VA_OB_FOLDER    5
-#define VA_OB_DRIVE     6
-#define VA_OB_WINDOW    7
-#define VA_OB_NOTEPAD   8
-#define VA_OB_NOTE      9
-
-
-/*
- * AV_DRAG_ON_WINDOW
- * msg[3]   = X-Position, wohin die Maus gezogen wurde
- * msg[4]   = Y-Position, wohin die Maus gezogen wurde
- * msg[5]   = Tastaturstatus (Shift,Control,Alternate)
- * msg[6/7] = Pointer auf einen String, der die Namen der Objekte enthaelt.
- */
-#define AV_DRAG_ON_WINDOW 0x4734
-
-
-/*
- * VA_DRAG_COMPLETE
- * msg[3] = Status der Aktion. (!= 0 heisst, dass wirklich etwas
- *          kopiert oder verschoben wurde.
- */
-#define VA_DRAG_COMPLETE 0x4735
-
-
-/*
- * AV_EXIT
- * msg[3] = AES-ID des Senders
- */
-#define AV_EXIT 0x4736
-
-
-/*
- * AV_STARTED
- * msg[3/4] = Der Pointer aus der VA_START Nachricht.
- */
-#define AV_STARTED 0x4738
-
-
-/*
- * VA_FONTCHANGED
- * msg[3] = Dateifontnummer     (font id)
- * msg[4] = Dateifontgroesse    (in points)
- * msg[5] = Consolefontnummer   (font id)
- * msg[6] = Consolefontgroesse  (in points)
- */
-#define VA_FONTCHANGED 0x4739
-
-
-/*
- * AV_XWIND
- * msg[3/4] = Pfad fuer das Fenster
- * msg[5/6] = Wildcard als Filter fuer die Anzeige
- * msg[7]   = Bitmaske  0x0001 - toppe evtl. vorhandenes Fenter
- *                      0x0002 - Wildcard soll nur selektieren
- *                             - alle anderen Bits auf 0 setzen!
- */
-#define AV_XWIND 0x4740
-
-
-/*
- * VA_XOPEN
- * msg[3] = Gibt an, ob das Fenster geoeffnet werden konnte.
- *          (Word 3 == 0 (nein) != 0 (ja))
- */
-#define VA_XOPEN 0x4741
-
-
-/*
- * AV_VIEW
- * msg[3/4]: Zeiger auf den Namen der anzuzeigenden Datei (es ist nur
- *           EINE einzelne Datei zulaessig!)
- * msg[5-7]: reserviert, immer 0
- */
-#define AV_VIEW 0x4751
-
-
-/*
- * VA_VIEWED
- *  msg[3]  : 0=Fehler, 1=Alles ok
- *  msg[4-7]: reserviert, immer 0
- */
-#define VA_VIEWED 0x4752
-
-
-/*
- * AV_FILEINFO
- * msg[3/4]: Zeiger auf Datei oder Ordnernamen. Mehrere Dateien/Ordner
- *           werden durch Leerzeichen getrennt. Ordner MUeSSEN mit ab-
- *           schliessendem '\' uebergeben werden!
- * msg[5-7]: reserviert, immer 0
- */
-#define AV_FILEINFO 0x4753
-
-
-/*
- * VA_FILECHANGED
- * msg[3/4]: Zeiger auf die Namen der Dateien/Ordner, die bei
- *           AV_FILEINFO uebergeben wurden, wobei natuerlich einige
- *           Dateien/Ordner neue Namen haben koennen
- *           Beispiel: Es wurde 'C:\ANNA.TXT C:\AUTO\' uebergeben.
- *                     Der Benutzer aendert 'ANNA.TXT' in 'ANNELIE.TXT'
- *                     um. Als Ergebnis erhaelt man dann in dieser
- *                     Message den String 'C:\ANNELIE.TXT C:\AUTO\'
- * msg[5-7]: reserviert, immer 0
- */
-#define VA_FILECHANGED 0x4754
-
-
-/*
- * AV_COPYFILE
- * msg[3/4]: Zeiger auf die Quelldateie(n) und -Ordner, durch Leer-
- *           stellen getrennt, Order mit abschliessendem '\'
- * msg[5/6]: Zeiger auf den Zielordner
- * msg[7]  : Bit 0:    Originale loeschen (verschieben)
- *           Bit 1:    Kopien umbenennen
- *           Bit 2:    Ziel kommentarlos ueberschreiben
- *           Bit 3:    Nur symbolische Links der Quellen erzeugen
- *                     (Bit 0 ist dann bedeutungslos)
- *           Bit 3-15: reserviert, immer 0
- */
-#define AV_COPYFILE 0x4755
-
-
-/*
- * VA_FILECOPIED
- * msg[3]  : 0=Fehler, 1=Alles Ok
- * msg[4-7]: reserviert, immer 0
- */
-#define VA_FILECOPIED 0x4756
-
-
-/*
- * AV_DELFILE
- * msg[3/4]: Zeiger auf die zu loeschenden Dateie(n)/Ordner, durch Leer-
- *           stellen getrennt, Order mit abschliessendem '\'
- * msg[5-7]: reserviert, immer 0
- */
-#define AV_DELFILE 0x4757
-
-
-/*
- * VA_FILEDELETED
- *  msg[3]  : 0=Fehler, 1=Alles Ok
- *  msg[4-7]: reserviert, immer 0
- */
-#define VA_FILEDELETED 0x4758
-
-
-/*
- * AV_SETWINDPOS
- * msg[3]:  Position X
- * msg[4]:  Position Y
- * msg[5]:  Breite
- * msg[6]:  Hoehe
- * msg[7]:  reserviert, immer 0
- */
-#define AV_SETWINDPOS 0x4759
-
-
-/*
- * VA_PATH_UPDATE
- * msg[3/4]: Zeiger auf das Verzeichnis, immer mit '\' abgeschlossen
- * msg[5-7]: reserviert, immer 0
- */
-#define VA_PATH_UPDATE 0x4760
-
-
-/*
- * AV_SENDKLICK
- * msg[3]: ev_mmox
- * msg[4]: ev_mmoy
- * msg[5]: ev_mmobutton
- * msg[6]: ev_mmokstate
- * msg[7]: ev_mbreturn
- */
-#define AV_SENDCLICK 0x4709
+/*
+ * Hinweis:
+ * Dieser Text wurde automatisch aus dem beiliegenden Hypertext
+ * generiert und enthaelt die fuer Programmierer wichtigen defines
+ * sowie zu jeder Nachricht eine Kurzbeschreibung zu deren Aufbau
+ */
+
+
+
+/*
+ * AV_PROTOKOLL
+ * msg[3]   = Bitfeld
+ *                Bit 0:  VA_SETSTATUS
+ *                Bit 1:  VA_START
+ *                Bit 2:  AV_STARTED
+ *                Bit 3:  VA_FONTCHANGED
+ *                Bit 4:  Quoting
+ *                Bit 5:  VA_PATH_UPDATE
+ *            Alle anderen Bits sind fuer Erweiterungen reserviert und
+ *            sollten daher mit 0 vorbesetzt werden.
+ * msg[4]   = 0 (reserviert)
+ * msg[5]   = 0 (reserviert)
+ * msg[6/7] = Pointer auf den Accessorynamen, wie er bei appl_find benutzt
+ *            werden muss; also 8 Zeichen lang und nullterminiert. Wer auf
+ *            der sicheren Seite sein will, traegt den Namen komplett in Gross-
+ *            buchstaben ein.
+ */
+#define AV_PROTOKOLL 0x4700
+
+
+/*
+ * VA_PROTOSTATUS
+ * msg[3]   = Bitfeld
+ *                Bit 0   AV_SENDKEY
+ *                Bit 1   AV_ASKFILEFONT
+ *                Bit 2   AV_ASKCONFONT, AV_OPENCONSOLE
+ *                Bit 3   AV_ASKOBJECT
+ *                Bit 4   AV_OPENWIND
+ *                Bit 5   AV_STARTPROG
+ *                Bit 6   AV_ACCWINDOPEN, AV_ACCWINDCLOSED
+ *                Bit 7   AV_STATUS, AV_GETSTATUS
+ *                Bit 8   AV_COPY_DRAGGED
+ *                Bit 9   AV_PATH_UPDATE, AV_WHAT_IZIT, AV_DRAG_ON_WINDOW
+ *                Bit 10  AV_EXIT
+ *                Bit 11  AV_XWIND
+ *                Bit 12  VA_FONTCHANGED
+ *                Bit 13  AV_STARTED
+ *                Bit 14: Versteht und benutzt Quoting von Dateinamen
+ *                Bit 15: AV_FILEINFO, VA_FILECHANGED
+ * msg[4]:        Bit 0:  AV_COPYFILE, VA_FILECOPIED
+ *                Bit 1:  AV_DELFILE, VA_FILEDELETED
+ *                Bit 2:  AV_VIEW, VA_VIEWED
+ *                Bit 3:  AV_SETWINDPOS
+ *                Bit 4:  erlaubt Anlegen symbolischer Links mit AV_COPYFILE
+ *                Bit 5:  AV_SENDCLICK
+ * msg[5]   = 0 (reserviert)
+ * msg[6/7] = Pointer auf den Programmnamen, wie er bei appl_find benutzt
+ *            werden muss; also 8 Zeichen lang und nullterminiert. Wer auf der
+ *            sicheren Seite sein will, traegt den Namen komplett in Grossbuch-
+ *            staben ein.
+ */
+#define VA_PROTOSTATUS 0x4701
+
+
+/*
+ * AV_GETSTATUS
+ */
+#define AV_GETSTATUS 0x4703
+
+
+/*
+ * AV_STATUS
+ * msg[3/4] = Pointer auf einen String, der keine Steuerzeichen enthalten
+ *            darf und nicht laenger als 256 Zeichen sein darf. Dieser
+ *            Pointer darf allerdings NULL sein.
+ */
+#define AV_STATUS 0x4704
+
+
+/*
+ * VA_SETSTATUS
+ * msg[3/4] = Pointer auf einen String, der keine Steuerzeichen enthaelt.
+ *            Dieser Pointer kann allerdings NULL sein, dann war
+ *            kein Status gespeichert.
+ */
+#define VA_SETSTATUS 0x4705
+
+/*
+ * AV_SENDCLICK
+ */
+
+#define AV_SENDCLICK 0x4709
+
+
+/*
+ * AV_SENDKEY
+ * msg[3] = Tastaturstatus (ev_mmokstate, also SHIFT, CTRL, ALT...)
+ * msg[4] = ASCII/Scancode der gedrueckten Taste (ev_mkreturn)
+ */
+#define AV_SENDKEY 0x4710
+
+
+/*
+ * VA_START
+ * msg[3/4] = Pointer auf eine Kommandozeile, der auch NULL sein kann.
+ *            In der Kommandozeile stehen Pfade oder Dateinamen.
+ */
+#define VA_START 0x4711
+
+
+/*
+ * AV_ASKFILEFONT
+ */
+#define AV_ASKFILEFONT 0x4712
+
+
+/*
+ * VA_FILEFONT
+ * msg[3] = Dateifontnummer (font id)
+ * msg[4] = Dateifontgroesse (in points)
+ */
+#define VA_FILEFONT 0x4713
+
+
+/*
+ * AV_ASKCONFONT
+ */
+#define AV_ASKCONFONT 0x4714
+
+
+/*
+ * VA_CONFONT
+ * msg[3] = Consolefontnummer (font id)
+ * msg[4] = Consolefontgroesse (in points)
+ */
+#define VA_CONFONT 0x4715
+
+
+/*
+ * AV_ASKOBJECT
+ */
+#define AV_ASKOBJECT 0x4716
+
+
+/*
+ * VA_OBJECT
+ * msg[3/4] = Namen aller selektierten Dateien, durch Leerzeichen von-
+ *            einander getrennt. Falls keine Objekte selektiert sind, so
+ *            kann dieser Pointer NULL sein.
+ */
+#define VA_OBJECT 0x4717
+
+
+/*
+ * AV_OPENCONSOLE
+ */
+#define AV_OPENCONSOLE  0x4718
+
+
+/*
+ * VA_CONSOLEOPEN
+ * msg[3] = 0            -> Console wurde nicht geoeffnet
+ *          anderer Wert -> Console ist jetzt offen und liegt vorne
+ */
+#define VA_CONSOLEOPEN 0x4719
+
+
+/*
+ * AV_OPENWIND
+ * msg[3/4] = Pfad fuer das Fenster
+ * msg[5/6] = Wildcard fuer darzustellende Dateien.
+ */
+#define AV_OPENWIND 0x4720
+
+
+/*
+ * VA_WINDOPEN
+ * msg[3] = 0            -> Fenster konnte nicht geoeffnet werden
+ *          anderer Wert -> Fenster ist jetzt offen und liegt vorne
+ */
+#define VA_WINDOPEN 0x4721
+
+
+/*
+ * AV_STARTPROG
+ * msg[3/4] = Programmname mit kompletten Pfad; kann auch eine beliebige
+ *            Datei sein, fuer die der Empfaenger dann die zugehoerige
+ *            Applikation startet
+ * msg[5/6] = Kommandozeile (kann NULL sein)
+ * msg[7]   = Beliebiges 16-Bit Wort, das in VA_PROGSTART wieder
+ *            zurueckgeliefert wird.
+ */
+#define AV_STARTPROG 0x4722
+
+
+/*
+ * VA_PROGSTART
+ * msg[3] = 0            -> Programm wure nicht gestartet
+ *          anderer Wert -> Programm wurde gestartet
+ * msg[4] = Returncode des gestarteten Programms (so vorhanden)
+ * msg[7] = 16-Bit Wort aus AV_STARTPROG
+ */
+#define VA_PROGSTART 0x4723
+
+
+/*
+ * AV_ACCWINDOPEN
+ * msg[3] = AES-Handle des geoeffneten Fensters
+ */
+#define AV_ACCWINDOPEN 0x4724
+
+
+/*
+ * VA_DRAGACCWIND
+ * msg[3]   = AES-Handle des Fensters
+ * msg[4]   = X-Position der Maus
+ * msg[5]   = Y-Position der Maus
+ * msg[6/7] = Pointer auf einen String, der die Namen der Objekte enthaelt.
+ */
+#define VA_DRAGACCWIND 0x4725
+
+
+/*
+ * AV_ACCWINDCLOSED
+ * msg[3] = AES-Handle des Fensters
+ */
+#define AV_ACCWINDCLOSED 0x4726
+
+
+/*
+ * AV_COPY_DRAGGED
+ * msg[3]   = Tastaturstatus (Alternate, Control, Shift)
+ * msg[4/5] = Pointer auf einen String, der den Namen des Zielobjektes
+ *            enthaelt. Dies muss ein Pfad sein!
+ */
+#define AV_COPY_DRAGGED 0x4728
+
+
+/*
+ * VA_COPY_COMPLETE
+ * msg[3] = Wenn hier ein Wert ungleich Null steht, dann wurde
+ *          wirklich etwas kopiert oder verschoben.
+ */
+#define VA_COPY_COMPLETE 0x4729
+
+
+/*
+ * AV_PATH_UPDATE
+ * msg[3/4] = Pointer auf den absoluten Pfad
+ */
+#define AV_PATH_UPDATE 0x4730
+
+
+/*
+ * AV_WHAT_IZIT
+ * msg[3] = X-Koordinate
+ * msg[4] = Y-Koordinate
+ */
+#define AV_WHAT_IZIT 0x4732
+
+
+/*
+ * VA_THAT_IZIT
+ * msg[3]   = ID der zustaendigen Applikation
+ * msg[4]   = Typ des Objektes
+ *             Unbekannt   : 0
+ *             Muelleimer  : 1
+ *             Shredder    : 2
+ *             Clipboard   : 3
+ *             Datei       : 4
+ *             Ordner      : 5
+ *             Laufwerk    : 6
+ *             Fenster     : 7
+ *             Notizblock  : 8
+ *             ?           : 9
+ *             (alle anderen fuer Erweiterungen reserviert.)
+ * msg[5+6] = Zeiger auf den Namen des Objektes (oder NULL, falls nicht
+ *            vorhanden)
+ */
+#define VA_THAT_IZIT    0x4733
+#define VA_OB_UNKNOWN   0
+#define VA_OB_TRASHCAN  1
+#define VA_OB_SHREDDER  2
+#define VA_OB_CLIPBOARD 3
+#define VA_OB_FILE      4
+#define VA_OB_FOLDER    5
+#define VA_OB_DRIVE     6
+#define VA_OB_WINDOW    7
+#define VA_OB_NOTEPAD   8
+#define VA_OB_NOTE      9
+
+
+/*
+ * AV_DRAG_ON_WINDOW
+ * msg[3]   = X-Position, wohin die Maus gezogen wurde
+ * msg[4]   = Y-Position, wohin die Maus gezogen wurde
+ * msg[5]   = Tastaturstatus (Shift,Control,Alternate)
+ * msg[6/7] = Pointer auf einen String, der die Namen der Objekte enthaelt.
+ */
+#define AV_DRAG_ON_WINDOW 0x4734
+
+
+/*
+ * VA_DRAG_COMPLETE
+ * msg[3] = Status der Aktion. (!= 0 heisst, dass wirklich etwas
+ *          kopiert oder verschoben wurde.
+ */
+#define VA_DRAG_COMPLETE 0x4735
+
+
+/*
+ * AV_EXIT
+ * msg[3] = AES-ID des Senders
+ */
+#define AV_EXIT 0x4736
+
+
+/*
+ * AV_STARTED
+ * msg[3/4] = Der Pointer aus der VA_START Nachricht.
+ */
+#define AV_STARTED 0x4738
+
+
+/*
+ * VA_FONTCHANGED
+ * msg[3] = Dateifontnummer     (font id)
+ * msg[4] = Dateifontgroesse    (in points)
+ * msg[5] = Consolefontnummer   (font id)
+ * msg[6] = Consolefontgroesse  (in points)
+ */
+#define VA_FONTCHANGED 0x4739
+
+
+/*
+ * AV_XWIND
+ * msg[3/4] = Pfad fuer das Fenster
+ * msg[5/6] = Wildcard als Filter fuer die Anzeige
+ * msg[7]   = Bitmaske  0x0001 - toppe evtl. vorhandenes Fenter
+ *                      0x0002 - Wildcard soll nur selektieren
+ *                             - alle anderen Bits auf 0 setzen!
+ */
+#define AV_XWIND 0x4740
+
+
+/*
+ * VA_XOPEN
+ * msg[3] = Gibt an, ob das Fenster geoeffnet werden konnte.
+ *          (Word 3 == 0 (nein) != 0 (ja))
+ */
+#define VA_XOPEN 0x4741
+
+
+/*
+ * AV_VIEW
+ * msg[3/4]: Zeiger auf den Namen der anzuzeigenden Datei (es ist nur
+ *           EINE einzelne Datei zulaessig!)
+ * msg[5-7]: reserviert, immer 0
+ */
+#define AV_VIEW 0x4751
+
+
+/*
+ * VA_VIEWED
+ *  msg[3]  : 0=Fehler, 1=Alles ok
+ *  msg[4-7]: reserviert, immer 0
+ */
+#define VA_VIEWED 0x4752
+
+
+/*
+ * AV_FILEINFO
+ * msg[3/4]: Zeiger auf Datei oder Ordnernamen. Mehrere Dateien/Ordner
+ *           werden durch Leerzeichen getrennt. Ordner MUeSSEN mit ab-
+ *           schliessendem '\' uebergeben werden!
+ * msg[5-7]: reserviert, immer 0
+ */
+#define AV_FILEINFO 0x4753
+
+
+/*
+ * VA_FILECHANGED
+ * msg[3/4]: Zeiger auf die Namen der Dateien/Ordner, die bei
+ *           AV_FILEINFO uebergeben wurden, wobei natuerlich einige
+ *           Dateien/Ordner neue Namen haben koennen
+ *           Beispiel: Es wurde 'C:\ANNA.TXT C:\AUTO\' uebergeben.
+ *                     Der Benutzer aendert 'ANNA.TXT' in 'ANNELIE.TXT'
+ *                     um. Als Ergebnis erhaelt man dann in dieser
+ *                     Message den String 'C:\ANNELIE.TXT C:\AUTO\'
+ * msg[5-7]: reserviert, immer 0
+ */
+#define VA_FILECHANGED 0x4754
+
+
+/*
+ * AV_COPYFILE
+ * msg[3/4]: Zeiger auf die Quelldateie(n) und -Ordner, durch Leer-
+ *           stellen getrennt, Order mit abschliessendem '\'
+ * msg[5/6]: Zeiger auf den Zielordner
+ * msg[7]  : Bit 0:    Originale loeschen (verschieben)
+ *           Bit 1:    Kopien umbenennen
+ *           Bit 2:    Ziel kommentarlos ueberschreiben
+ *           Bit 3:    Nur symbolische Links der Quellen erzeugen
+ *                     (Bit 0 ist dann bedeutungslos)
+ *           Bit 3-15: reserviert, immer 0
+ */
+#define AV_COPYFILE 0x4755
+
+
+/*
+ * VA_FILECOPIED
+ * msg[3]  : 0=Fehler, 1=Alles Ok
+ * msg[4-7]: reserviert, immer 0
+ */
+#define VA_FILECOPIED 0x4756
+
+
+/*
+ * AV_DELFILE
+ * msg[3/4]: Zeiger auf die zu loeschenden Dateie(n)/Ordner, durch Leer-
+ *           stellen getrennt, Order mit abschliessendem '\'
+ * msg[5-7]: reserviert, immer 0
+ */
+#define AV_DELFILE 0x4757
+
+
+/*
+ * VA_FILEDELETED
+ *  msg[3]  : 0=Fehler, 1=Alles Ok
+ *  msg[4-7]: reserviert, immer 0
+ */
+#define VA_FILEDELETED 0x4758
+
+
+/*
+ * AV_SETWINDPOS
+ * msg[3]:  Position X
+ * msg[4]:  Position Y
+ * msg[5]:  Breite
+ * msg[6]:  Hoehe
+ * msg[7]:  reserviert, immer 0
+ */
+#define AV_SETWINDPOS 0x4759
+
+
+/*
+ * VA_PATH_UPDATE
+ * msg[3/4]: Zeiger auf das Verzeichnis, immer mit '\' abgeschlossen
+ * msg[5-7]: reserviert, immer 0
+ */
+#define VA_PATH_UPDATE 0x4760
+
+
+/*
+ * AV_SENDKLICK
+ * msg[3]: ev_mmox
+ * msg[4]: ev_mmoy
+ * msg[5]: ev_mmobutton
+ * msg[6]: ev_mmokstate
+ * msg[7]: ev_mbreturn
+ */
+#define AV_SENDCLICK 0x4709
Index: include/dhst.h
===================================================================
RCS file: /mint/freemint/tools/hypview/include/dhst.h,v
retrieving revision 1.1
diff -u -r1.1 dhst.h
--- include/dhst.h	10 Feb 2006 11:33:35 -0000	1.1
+++ include/dhst.h	31 Aug 2009 09:34:22 -0000
@@ -1,32 +1,32 @@
-typedef struct
-{
-	char *appname;		/*	The name of the application (e.g. "Texel")	*/
-	char *apppath;		/*	The absolute path of the  application (e.g. "c:\program\texel.app")	*/
-	char *docname;		/*	The name of the document (e.g. "balmer.txl")	*/
-	char *docpath;		/*	The absolute path of the document (e.B. "d:\data\balmer.txl")	*/
-}DHSTINFO;
-
-/*
-	The application then sends the DHST-Server the following message:
-		msg[0]			DHST_ADD
-		msg[1]			ap_id
-		msg[2]			0
-		msg[3]+msg[4]	Pointer to the DHSTINFO-structure
-		msg[5]			0
-		msg[6]			0
-		msg[7]			0
-*/
-#define	DHST_ADD	0xdadd
-
-/*
-	As response you'll get:
-		msg[0]			DHST_ACK
-		msg[1]			ap_id
-		msg[2]			0
-		msg[3]+msg[4]	Pointer to DHSTINFO-structure
-							(As passed with DHST_ADD)
-		msg[5]			0
-		msg[6]			0
-		msg[7]			0=error(s), else: OK
-*/
-#define	DHST_ACK	0xdade
+typedef struct
+{
+	char *appname;		/*	The name of the application (e.g. "Texel")	*/
+	char *apppath;		/*	The absolute path of the  application (e.g. "c:\program\texel.app")	*/
+	char *docname;		/*	The name of the document (e.g. "balmer.txl")	*/
+	char *docpath;		/*	The absolute path of the document (e.B. "d:\data\balmer.txl")	*/
+}DHSTINFO;
+
+/*
+	The application then sends the DHST-Server the following message:
+		msg[0]			DHST_ADD
+		msg[1]			ap_id
+		msg[2]			0
+		msg[3]+msg[4]	Pointer to the DHSTINFO-structure
+		msg[5]			0
+		msg[6]			0
+		msg[7]			0
+*/
+#define	DHST_ADD	0xdadd
+
+/*
+	As response you'll get:
+		msg[0]			DHST_ACK
+		msg[1]			ap_id
+		msg[2]			0
+		msg[3]+msg[4]	Pointer to DHSTINFO-structure
+							(As passed with DHST_ADD)
+		msg[5]			0
+		msg[6]			0
+		msg[7]			0=error(s), else: OK
+*/
+#define	DHST_ACK	0xdade
Index: include/scancode.h
===================================================================
RCS file: /mint/freemint/tools/hypview/include/scancode.h,v
retrieving revision 1.2
diff -u -r1.2 scancode.h
--- include/scancode.h	6 Apr 2008 15:47:04 -0000	1.2
+++ include/scancode.h	31 Aug 2009 09:34:22 -0000
@@ -1,65 +1,65 @@
-/*
- *		Eine Sammlung wichtiger Scancodes fuer Ataris
- *		Philipp Donz 11.08.2000
- */
-#ifndef __SCANCODES__
-#define __SCANCODES__	1
-
-/*	Bits zu Kennzeichnung der Zusatztasten	*/
-#define	KbNUM			0x10		/*	Zahlenblock	*/
-#define	KbALT			0x08
-#define	KbCTRL			0x04
-#define	KbSHIFT			0x03
-#define	KbLSHIFT		0x02
-#define	KbRSHIFT		0x01
-
-/*	selten vorhandene Tasten	*/
-#define	KbISO				0x37
-#define	KbPAGEUP			0x49
-#define	KbPAGEDOWN		0x51
-#define	KbEND				0x4F
-
-/*	Funktionstasten	*/
-#define	KbF1				0x3b
-#define	KbF2				0x3c
-#define	KbF3				0x3d
-#define	KbF4				0x3e
-#define	KbF5				0x3f
-#define	KbF6				0x40
-#define	KbF7				0x41
-#define	KbF8				0x42
-#define	KbF9				0x43
-#define	KbF10				0x44
-/*	Shift+Funktionstasten	*/
-#define	KbF11				0x54
-#define	KbF12				0x55
-#define	KbF13				0x56
-#define	KbF14				0x57
-#define	KbF15				0x58
-#define	KbF16				0x59
-#define	KbF17				0x5a
-#define	KbF18				0x5b
-#define	KbF19				0x5c
-#define	KbF20				0x5d
-/*	Cursor-Bereich	*/
-#define	KbUNDO			0x61
-#define	KbHELP			0x62
-#define	KbINSERT			0x52
-#define	KbHOME			0x47
-#define	KbUP				0x48
-#define	KbDOWN			0x50
-#define	KbLEFT			0x4b
-#define	KbRIGHT			0x4d
-/*	Alternate-numerische Tasten	*/
-#define	KbAlt1			0x78
-#define	KbAlt2			0x79
-#define	KbAlt3			0x7a
-#define	KbAlt4			0x7b
-#define	KbAlt5			0x7c
-#define	KbAlt6			0x7d
-#define	KbAlt7			0x7e
-#define	KbAlt8			0x7f
-#define	KbAlt9			0x80
-#define	KbAlt0			0x81
-
+/*
+ *		Eine Sammlung wichtiger Scancodes fuer Ataris
+ *		Philipp Donz 11.08.2000
+ */
+#ifndef __SCANCODES__
+#define __SCANCODES__	1
+
+/*	Bits zu Kennzeichnung der Zusatztasten	*/
+#define	KbNUM			0x10		/*	Zahlenblock	*/
+#define	KbALT			0x08
+#define	KbCTRL			0x04
+#define	KbSHIFT			0x03
+#define	KbLSHIFT		0x02
+#define	KbRSHIFT		0x01
+
+/*	selten vorhandene Tasten	*/
+#define	KbISO				0x37
+#define	KbPAGEUP			0x49
+#define	KbPAGEDOWN		0x51
+#define	KbEND				0x4F
+
+/*	Funktionstasten	*/
+#define	KbF1				0x3b
+#define	KbF2				0x3c
+#define	KbF3				0x3d
+#define	KbF4				0x3e
+#define	KbF5				0x3f
+#define	KbF6				0x40
+#define	KbF7				0x41
+#define	KbF8				0x42
+#define	KbF9				0x43
+#define	KbF10				0x44
+/*	Shift+Funktionstasten	*/
+#define	KbF11				0x54
+#define	KbF12				0x55
+#define	KbF13				0x56
+#define	KbF14				0x57
+#define	KbF15				0x58
+#define	KbF16				0x59
+#define	KbF17				0x5a
+#define	KbF18				0x5b
+#define	KbF19				0x5c
+#define	KbF20				0x5d
+/*	Cursor-Bereich	*/
+#define	KbUNDO			0x61
+#define	KbHELP			0x62
+#define	KbINSERT			0x52
+#define	KbHOME			0x47
+#define	KbUP				0x48
+#define	KbDOWN			0x50
+#define	KbLEFT			0x4b
+#define	KbRIGHT			0x4d
+/*	Alternate-numerische Tasten	*/
+#define	KbAlt1			0x78
+#define	KbAlt2			0x79
+#define	KbAlt3			0x7a
+#define	KbAlt4			0x7b
+#define	KbAlt5			0x7c
+#define	KbAlt6			0x7d
+#define	KbAlt7			0x7e
+#define	KbAlt8			0x7f
+#define	KbAlt9			0x80
+#define	KbAlt0			0x81
+
 #endif
\ No newline at end of file
Index: skins/liesmich.txt
===================================================================
RCS file: /mint/freemint/tools/hypview/skins/liesmich.txt,v
retrieving revision 1.1
diff -u -r1.1 liesmich.txt
--- skins/liesmich.txt	10 Feb 2006 11:33:36 -0000	1.1
+++ skins/liesmich.txt	31 Aug 2009 09:34:22 -0000
@@ -1,13 +1,13 @@
-"Skins" f?r HypView (ab V0.28)
-von Gunnar Gr?bel (http://www.ppp-software.de)
-
-Installation
-============
-Gesamtes Verzeichnis "Skins" (inkl. SKIN_xx.RSC) in das Verzeichnis von
-HypView kopieren.
-Mit einem Editor (qed, luna,...) in der Konfigurations-Datei HYP_VIEW.CFG
-eine Zeile SKIN=... suchen bzw. einf?gen. Diese Zeile w?hlt die 
-entsprechende Resource-Datei aus.Z.B.
-	SKIN=SKIN_05.RSC
-veranlasst HypView die Datei SKIN_05.RSC aus dem Verzeichnis "Skins"
-zu laden.
+"Skins" f?r HypView (ab V0.28)
+von Gunnar Gr?bel (http://www.ppp-software.de)
+
+Installation
+============
+Gesamtes Verzeichnis "Skins" (inkl. SKIN_xx.RSC) in das Verzeichnis von
+HypView kopieren.
+Mit einem Editor (qed, luna,...) in der Konfigurations-Datei HYP_VIEW.CFG
+eine Zeile SKIN=... suchen bzw. einf?gen. Diese Zeile w?hlt die 
+entsprechende Resource-Datei aus.Z.B.
+	SKIN=SKIN_05.RSC
+veranlasst HypView die Datei SKIN_05.RSC aus dem Verzeichnis "Skins"
+zu laden.