--- gv-3.5.8/source/gv_misc_res.dat- Fri Jun 20 18:00:00 1997 +++ gv-3.5.8/source/gv_misc_res.dat Thu May 7 16:14:27 1998 @@ -121,9 +121,12 @@ !##### Menus -GV*magMenu*VertSpace: 2 -GV*magMenu*leftMargin: 15 -GV*magMenu*rightMargin: 15 +!GV*magMenu*VertSpace: 2 +!GV*magMenu*leftMargin: 15 +!GV*magMenu*rightMargin: 15 +GV*magMenu*VertSpace: 40 +GV*magMenu*leftMargin: 40 +GV*magMenu*rightMargin: 40 GV*magMenu*justify: center !##### File Selection widget @@ -463,7 +466,12 @@ BackSpace: GV_Page(up,left-bottom,!page-1,bottom-rightedge)\n\ Insert: GV_Page(page-5) \n\ Delete: GV_Page(page+5) \n\ - apLineDel: GV_Page(page+5) \n\ + KP_Insert: GV_Page(page-5) \n\ + KP_Delete: GV_Page(page+5) \n\ + KP_Home: GV_Page(page=0) \n\ + KP_End: GV_Page(page=99999) \n\ + KP_Prior: GV_Page(page-1) \n\ + KP_Next: GV_Page(page+1) \n\ Home: GV_Page(page=0) \n\ End: GV_Page(page=99999) \n\ Prior: GV_Page(page-1) \n\ @@ -501,6 +509,10 @@ ~c s Down: GV_Page(down,right-top)\n\ ~c s Left: GV_Page(left,up-rightedge)\n\ ~c s Right: GV_Page(right,down-leftedge)\n\ + ~c ~s KP_Up: GV_Page(up) \n\ + ~c ~s KP_Right: GV_Page(right) \n\ + ~c ~s KP_Down: GV_Page(down) \n\ + ~c ~s KP_Left: GV_Page(left) \n\ \ ~c ~s d: GV_Page(up) \n\ ~c ~s x: GV_Page(down) \n\ @@ -552,30 +564,55 @@ !##### Ghostview widget GV*Ghostview.baseTranslations: #replace \n\ -~Button2 ~Button3 : cursor(scroll) \ + \ + \ +~Button2 ~Button3 s : cursor(scroll) \ GV_MovePage(start) \ - GV_EraseLocator() \n\ -~Button2 ~Button3 : GV_MovePage(move,1.0,0) \n\ - : cursor(normal) \ + GV_EraseLocator() \ + GV_MiscMenu(init) \n\ + Button1 s : GV_MiscMenu(reset) \n\ + Button1 s : GV_MiscMenu(reset) \n\ +~Button2 ~Button3 s : GV_MovePage(move,1.0,0) \n\ + s : cursor(normal) \ GV_MovePage(stop) \ GV_OtherPage() \ + GV_MiscMenu(popup) \ notify() \n\ -~Button1 ~Button3 s : cursor(scroll) \ + \ + \ +~Button2 ~Button3 : GV_MagMenu(begin) \n\ + Button1 : GV_MagMenu(reset) \n\ + Button1 : GV_MagMenu(reset) \n\ +~Button2 ~Button3 : GV_MagMenu(extend) \n\ +~Button2 ~Button3 : GV_MagMenu(choose) \n\ + \ + \ +~Button1 ~Button3 s : GV_MagMenu(begin) \n\ + Button2 s : GV_MagMenu(reset) \n\ + Button2 s : GV_MagMenu(reset) \n\ +~Button1 ~Button3 s : GV_MagMenu(extend) \n\ +~Button1 ~Button3 s : GV_MagMenu(choose) \n\ + \ + \ +~Button1 ~Button3 : cursor(scroll) \ GV_MovePage(start) \ GV_EraseLocator() \ GV_MiscMenu(init) \n\ -~Button1 ~Button3 s : GV_MovePage(move,0,1.0) \n\ - s : cursor(normal) \ + Button2 : GV_MiscMenu(reset) \n\ + Button2 : GV_MiscMenu(reset) \n\ +~Button1 ~Button3 : GV_MovePage(move,0,1.0) \n\ + : cursor(normal) \ GV_MiscMenu(popup) \ notify() \n\ + \ + \ ~Button1 ~Button2 s : GV_MagMenu(begin) \n\ + Button3 s : GV_MagMenu(reset) \n\ + Button3 s : GV_MagMenu(reset) \n\ ~Button1 ~Button2 s : GV_MagMenu(extend) \n\ ~Button1 ~Button2 s : GV_MagMenu(choose) \n\ -~Button1 ~Button3 : GV_MagMenu(begin) \n\ - Button2 : GV_MagMenu(reset) \n\ - Button2 : GV_MagMenu(reset) \n\ -~Button1 ~Button3 : GV_MagMenu(extend) \n\ -~Button1 ~Button3 : GV_MagMenu(choose) \n\ + \ + \ ~Button1 ~Button2 : cursor(scroll) \ GV_MovePage(start) \ GV_EraseLocator() \ @@ -586,8 +623,12 @@ : cursor(normal) \ GV_MiscMenu(popup) \ notify() \n\ - Button1 ~Button3 : GV_Page(redisplay) \n\ - Button1 ~Button2 : GV_Page(redisplay) \n\ + \ + \ + Button1 ~Button3 : GV_Page(redisplay) \n\ + Button1 ~Button2 s : GV_Page(redisplay) \n\ + \ + \ : message() \n\ : notify() \n\ : GV_EraseLocator() \n\ @@ -648,6 +689,9 @@ ,: toggle() notify() !##### Panner + +!# : cursor(arrow) \n +!# : cursor(normal) \n GV*panner.baseTranslations: #replace \n\ : GV_Panner(on) \n\ --- gv-3.5.8/source/gv_user_res.dat- Fri Jun 20 18:00:00 1997 +++ gv-3.5.8/source/gv_user_res.dat Thu May 7 12:54:16 1998 @@ -13,12 +13,13 @@ GV.ignoreEOF: True GV.confirmPrint: True GV.reverseScrolling: False -GV.scrollingEyeGuide: True +GV.scrollingEyeGuide: False GV.autoResize: True GV.maximumWidth: screen-20 GV.maximumHeight: screen-44 GV.minimumWidth: 400 GV.minimumHeight: 430 +GV.geometry: +5+5 GV.confirmQuit: 1 GV.watchFile: False GV.watchFileFrequency: 1000 --- gv-3.5.8/source/save.c- Thu May 7 15:06:29 1998 +++ gv-3.5.8/source/save.c Wed Oct 7 21:36:32 1998 @@ -106,23 +106,68 @@ # define SYSTEM_FAILED_ON(bbb) (system(bbb) != 0) #endif +/* 06Oct98 wb check for special shell characters in the file name */ +/* This allows gv to print Mac files with spaces in their names. */ +/* This also prevents a file called "xyz ; rm *" from doing damage. */ + +static Boolean needs_quote(int c); + +static Boolean needs_quote(c) +int c; +{ +#ifdef VMS + return False; +#else + if (c <= ' ' || c >= 128) { + return True; /* quote spaces and control characters */ + } + if (isalnum(c)) { + return False; /* alphanumerics are OK */ + } + if (c == '$' || c == '{' || c == '}' || /* symbols */ + c == '*' || c == '?' || /* wildcards */ + c == '[' || c == ']' || c == '!' || c == ':' || + c == '"' || c == '\'' || c == '`' || /* quotes */ + c == '\\' || + c == '&' || c == ';' || /* command separators */ + c == '(' || c == ')' || /* command groupers */ + c == '<' || c == '>' || c == '|' || c == '^') { /* redirection */ + return True; /* quote special shell characters */ + } + return False; /* anything else is OK */ +#endif +} + static String print_file(print_command,print_filename) String print_command; String print_filename; { String error=NULL; - char *c,*p; - Cardinal m,n; + char *c,*p,*safe_filename; + Cardinal m,n,safe_filename_len; String printfail=GV_ERROR_PRINT_FAIL; BEGINMESSAGE(print_file) + safe_filename_len = 0; + for (c = print_filename; *c != '\0'; c++) { + safe_filename_len++; + if (needs_quote(*c)) safe_filename_len++; + } + safe_filename = (char*) GV_XtMalloc(safe_filename_len + 1); + p = safe_filename; + for (c = print_filename; *c != '\0'; c++) { + if (needs_quote(*c)) *p++ = '\\'; + *p++ = *c; + } + *p = '\0'; + p = GV_XtNewString(print_command); n=0; c=p; while ((c=strstr(c,"%s"))) { c+=2; n++; } - m = (strlen(p)+(n>0?n:1)*strlen(print_filename)+5)*sizeof(char); + m = (strlen(p)+(n>0?n:1)*safe_filename_len+5)*sizeof(char); c = (char*) GV_XtMalloc(m); if (n>0) { char *e,*s; @@ -133,13 +178,13 @@ if (s) *s='\0'; strcat(c,e); if (s) { - strcat(c,print_filename); + strcat(c,safe_filename); e=s+2; } else s=NULL; } } else { - sprintf(c, "%s %s",p,print_filename); + sprintf(c, "%s %s",p,safe_filename); } INFSMESSAGE(printing:,c) if (SYSTEM_FAILED_ON(c)) { @@ -149,6 +194,7 @@ } GV_XtFree(c); GV_XtFree(p); + GV_XtFree(safe_filename); ENDMESSAGE(print_file) return(error); } --- gv-3.5.8/source/inc_2lit- Sat Apr 5 17:00:00 1997 +++ gv-3.5.8/source/inc_2lit Thu May 7 15:06:22 1998 @@ -10,7 +10,7 @@ do echo " $i" cp $i $i.old - sed ' + sed -e ' s/INC_X11(\([[:alnum:][:punct:]]*\))//g s/INC_XAW(\([[:alnum:][:punct:]]*\))//g s/INC_XMU(\([[:alnum:][:punct:]]*\))//g --- gv-3.5.8/source/versionp.h- Fri Jun 20 18:00:00 1997 +++ gv-3.5.8/source/versionp.h Wed Oct 7 21:36:53 1998 @@ -36,7 +36,7 @@ char *versionIdentification[] = { "gv 3.5.8", - "June 1997", + "June 1997/wb 7 Oct 1998", 0 }; --- gv-3.5.8/config.Unix- Fri Jun 6 18:00:00 1997 +++ gv-3.5.8/config.Unix Thu May 7 19:30:09 1998 @@ -70,8 +70,8 @@ XCOMM -------------------------------------------------------------------- XCOMM The default papersize (can be changed at runtime). XCOMM -------------------------------------------------------------------- -XCOMM PAPERSIZE = letter - PAPERSIZE = a4 + PAPERSIZE = letter +XCOMM PAPERSIZE = a4 XCOMM -------------------------------------------------------------------- XCOMM If defined: PDF to PostScript conversion will produce @@ -136,7 +136,8 @@ XCOMM --- Compiler options XCOMM -------------------------------------------------------------------- XCOMM For SCO v5 + sco cc - CCOPTIONS = -O1 -Kpentium +XCOMM CCOPTIONS = -O1 -Kpentium + CCOPTIONS = -O3 -Khost,inline -Knoframe -Kpentium XCOMM The options below cause core dump when doing two magnifications XCOMM at once. XCOMM CCOPTIONS = -O1 -Khost,inline -Knoframe -Kpentium