diff -ur pz.org/Makefile.sun4.SunOS5 pz/Makefile.sun4.SunOS5
--- pz.org/Makefile.sun4.SunOS5	Wed Aug 31 00:30:56 1994
+++ pz/Makefile.sun4.SunOS5	Wed May 30 15:14:09 2001
@@ -12,101 +12,101 @@
  debout.o debcode1.o debcode2.o fehler.o message.o mem.o etextepz.o getunget.o\
  terminal.o matherr.o
 
-../../../bin.sun5/pz : $(PZELINK)
-	cc $(PZELINK) -Bstatic -L/usr/openwin/lib -ll -lm -lcurses -lX11 -o ../../../bin.sun5/pz
-	chmod 755 ../../../bin.sun5/pz
-	strip ../../../bin.sun5/pz
+pz : $(PZELINK)
+	gcc $(PZELINK) -Bstatic -L/usr/openwin/lib -ll -lm -lcurses -lX11 -o pz
+	chmod 755 pz
+	strip pz
 
 p : $(LINK)
-	cc $(LINK) -ll -lm -lcurses -lX11 -L/usr/openwin/lib -o p
+	gcc $(LINK) -ll -lm -lcurses -lX11 -L/usr/openwin/lib -o p
 	chmod 755 p
 
 clean :
 	rm *.o
 
 main.o :  parzdefs.h y_tab.h rundefs.h komdefs.h komexts.h funcs.h main.c
-	cc $(COPT) main.c
+	gcc $(COPT) main.c
 
 absoffs.o : parzdefs.h externs.h absoffs.c
-	cc $(COPT) absoffs.c
+	gcc $(COPT) absoffs.c
 
 run.o :  parzdefs.h rundefs.h y_tab.h komdefs.h komexts.h debexts.h externs.h funcs.h run.c
-	cc $(COPT) run.c
+	gcc $(COPT) run.c
 
 do_1fu.o :  parzdefs.h komdefs.h rundefs.h y_tab.h externs.h runexts.h toup.h do_1fu.c
-	cc $(COPT) do_1fu.c
+	gcc $(COPT) do_1fu.c
 
 do_2fu.o :  parzdefs.h komdefs.h rundefs.h y_tab.h externs.h runexts.h toup.h do_2fu.c
-	cc $(COPT) do_2fu.c
+	gcc $(COPT) do_2fu.c
 
 do_3fu.o :  parzdefs.h komdefs.h rundefs.h y_tab.h externs.h runexts.h toup.h xgraph.h do_3fu.c
-	cc $(COPT) do_3fu.c
+	gcc $(COPT) do_3fu.c
 
 do_4fu.o :  parzdefs.h komdefs.h rundefs.h y_tab.h externs.h runexts.h toup.h do_4fu.c
-	cc $(COPT) do_4fu.c
+	gcc $(COPT) do_4fu.c
 
 do_5fu.o :  parzdefs.h komdefs.h rundefs.h y_tab.h externs.h runexts.h toup.h xgraph.h do_5fu.c
-	cc $(COPT) do_5fu.c
+	gcc $(COPT) do_5fu.c
 
 graphic.o :  parzdefs.h externs.h xgraph.h graphic.c
-	cc $(COPT) graphic.c
+	gcc $(COPT) graphic.c
 
 xgraph.o :  parzdefs.h externs.h rundefs.h runexts.h xgraph.h xgraph.c
-	cc -DPARZ $(COPT) xgraph.c
+	gcc -DPARZ $(COPT) xgraph.c
 
 print_fu.o :  parzdefs.h komdefs.h y_tab.h externs.h rundefs.h komexts.h print_fu.c
-	cc $(COPT) print_fu.c
+	gcc $(COPT) print_fu.c
 
 kommand.o :  parzdefs.h y_tab.h externs.h rundefs.h runexts.h debexts.h komdefs.h kommand.c
-	cc $(COPT) kommand.c
+	gcc $(COPT) kommand.c
 
 debug.o :  parzdefs.h y_tab.h externs.h rundefs.h runexts.h komdefs.h komexts.h funcs.h debug.c
-	cc $(COPT) debug.c
+	gcc $(COPT) debug.c
 
 debugio.o :  parzdefs.h y_tab.h externs.h rundefs.h runexts.h komdefs.h komexts.h toup.h debexts.h debugio.c
-	cc $(COPT) debugio.c
+	gcc $(COPT) debugio.c
 
 debout.o :  parzdefs.h y_tab.h externs.h rundefs.h runexts.h komdefs.h komexts.h toup.h debexts.h debout.c
-	cc $(COPT) debout.c
+	gcc $(COPT) debout.c
 
 debcode1.o :  parzdefs.h y_tab.h externs.h rundefs.h runexts.h komdefs.h komexts.h toup.h debexts.h debcode1.c
-	cc $(COPT) debcode1.c
+	gcc $(COPT) debcode1.c
 
 debcode2.o :  parzdefs.h y_tab.h externs.h rundefs.h runexts.h komdefs.h komexts.h toup.h debexts.h debcode2.c
-	cc $(COPT) debcode2.c
+	gcc $(COPT) debcode2.c
 
 fehler.o :  parzdefs.h fehler.c
-	cc $(COPT) fehler.c
+	gcc $(COPT) fehler.c
 
 message.o :  parzdefs.h message.c
-	cc $(COPT) message.c
+	gcc $(COPT) message.c
 
 lex_yy.o :  parzdefs.h rundefs.h komdefs.h komexts.h y_tab.h toup.h key.tab kom.tab lex_yy.c
-	cc $(COPT) lex_yy.c
+	gcc $(COPT) lex_yy.c
 
-parse.o :  parzdefs.h externs.h rundefs.h runexts.h komdefs.h komexts.h funcs.h yydispl.h y_tok.h parse.c
-	cc $(COPT) parse.c
+parse.o :  parzdefs.h externs.h rundefs.h runexts.h komdefs.h komexts.h funcs.h yydispl.h parse.c
+	gcc $(COPT) parse.c
 
 parse_fu.o :  parzdefs.h y_tab.h externs.h rundefs.h runexts.h komdefs.h komexts.h funcs.h parse_fu.c
-	cc $(COPT) parse_fu.c
+	gcc $(COPT) parse_fu.c
 
 mem.o :  mem.c
-	cc $(COPT) mem.c
+	gcc $(COPT) mem.c
 
 texte.o :  parzdefs.h komdefs.h y_tab.h texte.c
-	cc $(COPT) texte.c
+	gcc $(COPT) texte.c
 
 etexte.o :  parzdefs.h komdefs.h y_tab.h etexte.c
-	cc $(COPT) etexte.c
+	gcc $(COPT) etexte.c
 
 etextepz.o :  parzdefs.h komdefs.h y_tab.h etextepz.c
-	cc $(COPT) etextepz.c
+	gcc $(COPT) etextepz.c
 
 getunget.o :  getunget.c
-	cc $(COPT) getunget.c
+	gcc $(COPT) getunget.c
 
 terminal.o :  terminal.c
-	cc $(COPT) terminal.c
+	gcc $(COPT) terminal.c
 
 matherr.o :  matherr.c
-	cc $(COPT) matherr.c
+	gcc $(COPT) matherr.c
diff -ur pz.org/fehler.c pz/fehler.c
--- pz.org/fehler.c	Tue Aug 30 20:09:18 1994
+++ pz/fehler.c	Wed May 30 18:38:00 2001
@@ -21,7 +21,7 @@
 
 #include "parzdefs.h"
 
-FILE *yyerfp = stdout;
+FILE *yyerfp;
 
 extern char yytext[];           /* Vom Scanner zuletzt gelieferter Text */
 extern int yyleng;              /* Laenge von yytext */
diff -ur pz.org/getunget.c pz/getunget.c
--- pz.org/getunget.c	Wed Aug 31 00:18:45 1994
+++ pz/getunget.c	Wed May 30 18:29:44 2001
@@ -302,7 +302,7 @@
 #include <curses.h>
 
 #ifndef FIONREAD
-#  include <sys/filio.h>
+#  include <sys/ioctl.h>
 #endif
 
 #  ifdef HP_UX
diff -ur pz.org/main.c pz/main.c
--- pz.org/main.c	Tue Aug 30 20:09:05 1994
+++ pz/main.c	Wed May 30 18:40:12 2001
@@ -24,6 +24,8 @@
  *      Frank Sembach
  */
 
+int yylineno;
+
 #if defined(HP_UX) || defined(RS6000)
 #include <curses.h>
 #endif
@@ -106,13 +108,13 @@
 
 DECLIST glob_s_decl, glob_v_decl;/* globale Variablendeklarationen */
 
-FILE *listout = stdout;         /* Dateizeiger fuer Listingausgabe */
+FILE *listout;         /* Dateizeiger fuer Listingausgabe */
 FILE *protokollout = NULL;      /* Dateizeiger fuer Protokollausgabe */
-FILE *kommandin = stdin;        /* Dateizeiger fuer Kommandoeingabe */
-FILE *kommandout = stdout;      /* Dateizeiger fuer Kommandoausgabe */
-FILE *runin = stdin;            /* Dateizeiger fuer Laufzeiteingabe */
-FILE *runout = stdout;          /* Dateizeiger fuer Laufzeitausgabe */
-FILE *debugout = stdout;        /* Dateizeiger fuer Debugausgabe */
+FILE *kommandin;        /* Dateizeiger fuer Kommandoeingabe */
+FILE *kommandout;      /* Dateizeiger fuer Kommandoausgabe */
+FILE *runin;            /* Dateizeiger fuer Laufzeiteingabe */
+FILE *runout;          /* Dateizeiger fuer Laufzeitausgabe */
+FILE *debugout;        /* Dateizeiger fuer Debugausgabe */
 
 char fperror, abbruch, quitted; /* Flags fuer Fehler und Abbruchsituationen */
 
@@ -191,6 +193,14 @@
   cgotoxy(1,1,stdout);
   CountAppFiles(&xmes,&xcnt);
   
+listout = stdout;         /* Dateizeiger fuer Listingausgabe */
+kommandin = stdin;        /* Dateizeiger fuer Kommandoeingabe */
+kommandout = stdout;      /* Dateizeiger fuer Kommandoausgabe */
+runin = stdin;            /* Dateizeiger fuer Laufzeiteingabe */
+runout = stdout;          /* Dateizeiger fuer Laufzeitausgabe */
+debugout = stdout;        /* Dateizeiger fuer Debugausgabe */
+yyerfp = stdout;
+
   if (xcnt>0)
    { if (xmes == appPrint) fprintf(stderr,"use a word processor for printing files\n");
      else
diff -ur pz.org/parzdefs.h pz/parzdefs.h
--- pz.org/parzdefs.h	Tue Aug 30 20:09:33 1994
+++ pz/parzdefs.h	Wed May 30 18:49:38 2001
@@ -345,26 +345,6 @@
 #  endif
 #endif
 
-# ifndef SCAN
-extern int my_getc(), my_getchar(), my_fgetc(), my_ungetc();
-extern char *my_gets(), *my_fgets();
-
-#undef getc
-#define getc my_getc
-#undef getchar
-#define getchar my_getchar
-#define fgetc my_fgetc
-#define ungetc my_ungetc
-#define gets my_gets
-#define fgets my_fgets
-# endif
-
-#ifdef SUN
-#ifdef labs
-#undef labs
-#endif
-#define labs(x) ((long)abs((int)x))
-#endif
 #ifdef APOLLO
 #define labs(x) ((long)abs((int)x))
 #endif
