readline-Unterstützung für TkGofer

Worum es geht

Der folgende Patch erlaubt es, in Gofer die readline-Funktionalität zu nutzen, was insbesondere den Vorteil der History hat, daß man also eine bereits eingegebene Zeile nochmal aufrufen und abändern kann, wie man es vom Prompt der shell her kennt.

Step by Step

  1. Die Pake readline (Serie a) und readline-devel (Serie d) müßen installiert sein
  2. Gofer normal installieren (mit tkgofer.install)
  3. In das Gofer Haupverzeichnis wechseln: cd TkGofer2.0
  4. Patch readline_gofer.diff in dieses Verzeichnis kopieren
  5. patch -p1 < readline_gofer.diff
  6. cd Sources
  7. make
  8. cd ..
  9. tkgofer.install -install

Zu beachten ist, daß tkgofer.install die vorgenommenen Modifikationen rückgängig macht, wenn nicht durch die Option -install die Aufgaben beschränkt werden.

Inhalt der Datei readline_gofer.diff

diff -ur TkGofer2.0.orig/Sources/Makefile TkGofer2.0/Sources/Makefile
--- TkGofer2.0.orig/Sources/Makefile	Wed Oct 31 09:25:39 2001
+++ TkGofer2.0/Sources/Makefile	Wed Oct 31 09:11:30 2001
@@ -11,7 +11,7 @@

 INCDIRS		= -I/usr/include -I/usr/include -I/usr/X11/include
 LIBDIRS		= -L/usr/lib -L/usr/lib -L/usr/lib -L/usr/X11/lib
-LDFLAGS    	= -ltk8.3 -ltcl8.3 -lX11 -lm -ldl -lnsl
+LDFLAGS    	= -ltk8.3 -ltcl8.3 -lX11 -lm -ldl -lnsl -lreadline
 
 # ----------------------------------------------------------------------
 # STANDARD GOFER SETTINGS
@@ -22,7 +22,7 @@
 IOBJECTS	= gofer.o builtin.o  machine.o output.o $(OBJECTS)

 CC		= gcc $(INCDIRS)
-CFLAGS		=
+CFLAGS		= -DUSE_READLINE=1

 OPTFLAGS	= -O
 OPT1		=
diff -ur TkGofer2.0.orig/Sources/prelude.h TkGofer2.0/Sources/prelude.h
--- TkGofer2.0.orig/Sources/prelude.h	Wed Oct 31 09:25:39 2001
+++ TkGofer2.0/Sources/prelude.h	Wed Oct 31 09:00:15 2001
@@ -221,6 +221,10 @@

 #if     (HPUX | DJGPP | ZTC | LINUX | ALPHA | OS2 | SVR4 | AIX | SGI4 | NETBSD)
 #include <stdlib.h>
+#if (LINUX & USE_READLINE)
+#include <readline/readline.h>
+#include <readline/history.h>
+#endif
 #define  far
 #endif


Martin von Gagern
Last modified: Wed Oct 31 13:18:21 CET 2001