[ The following patches might be enough to get Alliant users started. I believe that the replacement of static X11 Arg structures by runtime XtSetArg() calls is unnecessary, even on the Alliant. This is NOT an official patch. -- bukys@cs.rochester.edu ] (Message rcs:116) Return-Path: wim@ele.tue.nl Received: from cayuga.cs.rochester.edu by sol.cs.rochester.edu (4.0/o) id AA06859; Tue, 5 Dec 89 09:25:40 EST Received: from mcsun.eu.net by cayuga.cs.rochester.edu (5.59/o) id AA12692; Tue, 5 Dec 89 06:35:29 EST Received: by mcsun.EU.net with SMTP; Tue, 5 Dec 89 15:25:16 +0100 (MET) Received: from ele.tue.nl by hp4nl.nluug.nl with UUCP via EUnet id AA01019 (5.58.1.14/2.14); Tue, 5 Dec 89 15:25:53 +0100 Received: from ele.tue.nl (euteal.ARPA) by urc.tue.nl (1.2/1.35) id AA00190; Tue, 5 Dec 89 12:42:46 -0100 Received: by ele.tue.nl; id AA28760; Tue, 5 Dec 89 12:42:21 +0100 Date: Tue, 5 Dec 89 12:42:21 +0100 From: wim@ele.tue.nl (Wim Philipsen) Message-Id: <8912051142.AA28760@ele.tue.nl> To: bukys@cs.rochester.edu In-Reply-To: bukys@cs.rochester.edu's message of Mon, 04 Dec 89 14:36:53 -0500 <8912041936.AA09960@stork.cs.rochester.edu> Subject: README.ALLIANT Status: RO Wed Nov 22 1989 Wim Philipsen (wim at euteal) - made the changes in the main make file as described, using X11 - replace %hd with %d. FX/C doesn't support this ANSI C feature. Changed the following files: example/userdef/userdef.c include/src/common.h include/usr/ftype.h include/usr/itype.h src/uniproc/chkpoint.c src/uniproc/load.c Hackin' in src/uniproc/dynamic.c - delete option -L (has to be done with LD_PATH) - shift options -x -d -N after option -T - shift option (with filename) before file to load - define header as oexec instead of exec - include the flushicache() system call after reading, and before executing, the new loaded code. - added the fseek for the TXTOFF() (twice!) These changes were the same as for the 4.1 version. First a hack around the -L option. Then two changes because Alliants ld wants its options in a specified order (unfortunately this 'feature' has not been in the manuals :-). I found this order in the sources of KCL. I run into the TXTOFF() macro by pure luck! Looking in the object files I thought that an extra offset of 32 could be OK. TXTOFF was the first predefined macro evaluating to 32. KCL also used the oexec struc in stead of exec, so don't ask me why. The flushicache() function call is because of the shared memory architecture (and the only one documented). Removed -O option from makefile in src/lib src/gi src/tools src/gi src/xgi src/backprop You never know what Alliants optimizer will destroy. There are problems with the makefile in src/lib. The result of the line: $(CC) -c -DFSIM $(LFLAGS) userfuncs.c -o fuserfuncs.o has to be that fuserfuncs.o is an object file. Both FXC and pcc try to make an executable. Changed it into: $(CC) -c -DFSIM $(LFLAGS) userfuncs.c; mv userfuncs.o fuserfuncs.o removed the option -L from the makesim script in bin/ In the file src/xgi/cmd_panel.c, the command tempnam() had been used. This is probably a sys-V command (available on HP-UX), not present on the alliant. I substituted the BSD command mktemp(). __ Wim J. M. Philipsen | Phone: +(31)40-473345 Eindhoven University of Technology, Dept. of Electr. Eng. (ES/EH 7.23) P.O. Box 513, 5600 MB Eindhoven, The Netherlands Email: wim@es.ele.tue.nl _______________________________________________________________________________ (Message rcs:6) Return-Path: wim@ele.tue.nl Received: from cayuga.cs.rochester.edu by sol.cs.rochester.edu (4.0/o) id AA06969; Tue, 5 Dec 89 09:30:48 EST Received: from mcsun.eu.net by cayuga.cs.rochester.edu (5.59/o) id AA12708; Tue, 5 Dec 89 06:40:04 EST Received: by mcsun.EU.net with SMTP; Tue, 5 Dec 89 15:29:37 +0100 (MET) Received: from ele.tue.nl by hp4nl.nluug.nl with UUCP via EUnet id AA01110 (5.58.1.14/2.14); Tue, 5 Dec 89 15:30:11 +0100 Received: from ele.tue.nl (euteal.ARPA) by urc.tue.nl (1.2/1.35) id AA00198; Tue, 5 Dec 89 12:43:44 -0100 Received: by ele.tue.nl; id AA28763; Tue, 5 Dec 89 12:42:59 +0100 Date: Tue, 5 Dec 89 12:42:59 +0100 From: wim@ele.tue.nl (Wim Philipsen) Message-Id: <8912051142.AA28763@ele.tue.nl> To: bukys@cs.rochester.edu In-Reply-To: bukys@cs.rochester.edu's message of Mon, 04 Dec 89 14:36:53 -0500 <8912041936.AA09960@stork.cs.rochester.edu> Subject: diffs Status: RO diff -c -r tapes/rcs4.2/Makefile rcs4.2/Makefile *** tapes/rcs4.2/Makefile Mon Oct 23 15:30:40 1989 --- rcs4.2/Makefile Tue Dec 5 09:48:05 1989 *************** *** 9,32 **** ##### # Root directory of distribution when compiling. ! SRCDIR=/u/bukys/rcs_v4.2 ##### # Directory that will hold simulator installation. # subdirectories will be created under here: bin, include, lib ! SIMDIR=/u/bukys/rcs_installed ##### # where to put the manual page. ! MANDIR=/u/bukys/man/man1 ##### # where to put the user-accessible executable "makesim" (shell script). ! BINDIR=/u/bukys/bin ##### # C compiler to use for installation # WARNING: READ THE "README" FILE REGARDING gcc ON SUN-4 machines. ##### DECstations: #CC=cc -G 0 ##### MIPS workstations: --- 9,34 ---- ##### # Root directory of distribution when compiling. ! SRCDIR=/usr2/wim/rcs4.2 ##### # Directory that will hold simulator installation. # subdirectories will be created under here: bin, include, lib ! SIMDIR=/usr2/wim/rcs4.2 ##### # where to put the manual page. ! MANDIR=/usr/man/manl ##### # where to put the user-accessible executable "makesim" (shell script). ! BINDIR=/usr/local/bin ##### # C compiler to use for installation # WARNING: READ THE "README" FILE REGARDING gcc ON SUN-4 machines. + ##### Alliant + CC=cc -pcc ##### DECstations: #CC=cc -G 0 ##### MIPS workstations: *************** *** 34,40 **** ##### iff you prefer the GNU C compiler #CC=gcc -traditional -fwritable-strings ##### most machines ! CC=cc ##### # linker to use for installation --- 36,42 ---- ##### iff you prefer the GNU C compiler #CC=gcc -traditional -fwritable-strings ##### most machines ! #CC=cc ##### # linker to use for installation *************** *** 71,81 **** #CCLDFLAGS=-g #CCLDLIBS= ##### SUN/cc: -Bstatic allows RCS's dynamic loading to work ! CCLDFLAGS=-Bstatic CCLDLIBS= ##### most other machines: ! #CCLDFLAGS= ! #CCLDLIBS= ##### # C compiler for simulator to use to compile user code for runtime compiling --- 73,86 ---- #CCLDFLAGS=-g #CCLDLIBS= ##### SUN/cc: -Bstatic allows RCS's dynamic loading to work ! #CCLDFLAGS=-Bstatic ! #CCLDLIBS= ! ##### Alliant FX/8 no execute protection ! CCLDFLAGS= -nxp CCLDLIBS= ##### most other machines: ! CCLDFLAGS= ! CCLDLIBS= ##### # C compiler for simulator to use to compile user code for runtime compiling *************** *** 106,119 **** # X11 interface wanted; where it's installed; file to check for existence WANT_X11=yes ##### at the University of Rochester... ! XUSRLIBDIR=/usr/staff/lib ! XINCROOT=/usr/staff/include ##### MIPS workstations: #XUSRLIBDIR=/bsd43/usr/lib #XINCROOT=/usr/include/bsd43 ##### typically: ! #XUSRLIBDIR=/usr/lib ! #XINCROOT=/usr/include WANT_X11_FILE=$(XINCROOT)/X11/X.h --- 111,124 ---- # X11 interface wanted; where it's installed; file to check for existence WANT_X11=yes ##### at the University of Rochester... ! #XUSRLIBDIR=/usr/staff/lib ! #XINCROOT=/usr/staff/include ##### MIPS workstations: #XUSRLIBDIR=/bsd43/usr/lib #XINCROOT=/usr/include/bsd43 ##### typically: ! XUSRLIBDIR=/usr/lib ! XINCROOT=/usr/include WANT_X11_FILE=$(XINCROOT)/X11/X.h Common subdirectories: tapes/rcs4.2/bin and rcs4.2/bin Common subdirectories: tapes/rcs4.2/contrib and rcs4.2/contrib Only in tapes/rcs4.2: doc Common subdirectories: tapes/rcs4.2/example and rcs4.2/example Common subdirectories: tapes/rcs4.2/include and rcs4.2/include Common subdirectories: tapes/rcs4.2/lib and rcs4.2/lib Only in rcs4.2: log Common subdirectories: tapes/rcs4.2/man and rcs4.2/man Common subdirectories: tapes/rcs4.2/src and rcs4.2/src Common subdirectories: tapes/rcs4.2/test and rcs4.2/test diff -c -r tapes/rcs4.2/bin/makesim-dist rcs4.2/bin/makesim-dist *** tapes/rcs4.2/bin/makesim-dist Fri Oct 20 16:44:36 1989 --- rcs4.2/bin/makesim-dist Fri Nov 24 09:04:15 1989 *************** *** 235,241 **** then cflag="$cflag -g" else ! cflag="$cflag -O" fi if test $float then --- 235,241 ---- then cflag="$cflag -g" else ! cflag="$cflag" fi if test $float then *************** *** 478,484 **** then cflag="-g -c -I$incdir" else ! cflag="-O -c -I$incdir" fi ext="" comput=" -o $BINDING.bind.o" --- 478,484 ---- then cflag="-g -c -I$incdir" else ! cflag=" -c -I$incdir" fi ext="" comput=" -o $BINDING.bind.o" *************** *** 498,504 **** then cflag="-g" else ! cflag="-O" fi if test $graphics then --- 498,504 ---- then cflag="-g" else ! cflag="" fi if test $graphics then *************** *** 505,511 **** simobj="$simobj $giobj" if test $xwindows then ! gflag=" -lm -L$xusrlibdir -lXaw -lXmu -lXt -lX11" echo "X11 graphics interface" else gflag=" -lm -lsuntool -lsunwindow -lpixrect" --- 505,511 ---- simobj="$simobj $giobj" if test $xwindows then ! gflag=" -lm -lXaw -lXmu -lXt -lX11" echo "X11 graphics interface" else gflag=" -lm -lsuntool -lsunwindow -lpixrect" Only in rcs4.2/contrib: diffs Common subdirectories: tapes/rcs4.2/contrib/kcl and rcs4.2/contrib/kcl Only in tapes/rcs4.2/contrib: macintosh Common subdirectories: tapes/rcs4.2/contrib/scheme and rcs4.2/contrib/scheme Common subdirectories: tapes/rcs4.2/contrib/kcl/c and rcs4.2/contrib/kcl/c Common subdirectories: tapes/rcs4.2/contrib/kcl/h and rcs4.2/contrib/kcl/h Common subdirectories: tapes/rcs4.2/contrib/kcl/unixport and rcs4.2/contrib/kcl/unixport Common subdirectories: tapes/rcs4.2/example/4color and rcs4.2/example/4color Common subdirectories: tapes/rcs4.2/example/838encode and rcs4.2/example/838encode Common subdirectories: tapes/rcs4.2/example/necker and rcs4.2/example/necker Common subdirectories: tapes/rcs4.2/example/novice and rcs4.2/example/novice Common subdirectories: tapes/rcs4.2/example/parse and rcs4.2/example/parse Common subdirectories: tapes/rcs4.2/example/tictactoe and rcs4.2/example/tictactoe Common subdirectories: tapes/rcs4.2/example/userdef and rcs4.2/example/userdef Common subdirectories: tapes/rcs4.2/example/walk-through and rcs4.2/example/walk-through Common subdirectories: tapes/rcs4.2/example/xgi and rcs4.2/example/xgi diff -c -r tapes/rcs4.2/example/userdef/userdef.c rcs4.2/example/userdef/userdef.c *** tapes/rcs4.2/example/userdef/userdef.c Tue Sep 26 18:59:01 1989 --- rcs4.2/example/userdef/userdef.c Wed Nov 22 16:20:15 1989 *************** *** 90,98 **** { int i,j,k; ! fprintf(fp," %hd",lp->data->count); for (i = 0; i < lp->data->count; i++) ! fprintf(fp," %hd %hd",lp->data->inputs[i].weight, lp->data->inputs[i].value); fprintf(fp,"\n"); } --- 90,98 ---- { int i,j,k; ! fprintf(fp," %d",lp->data->count); for (i = 0; i < lp->data->count; i++) ! fprintf(fp," %d %d",lp->data->inputs[i].weight, lp->data->inputs[i].value); fprintf(fp,"\n"); } *************** *** 108,114 **** fscanf(fp,"%d",&count); for (i = 0; i < count; i++) ! fscanf(fp,"%hd %hd",&(lp->data->inputs[i].weight), &(lp->data->inputs[i].value)); } --- 108,114 ---- fscanf(fp,"%d",&count); for (i = 0; i < count; i++) ! fscanf(fp,"%d %d",&(lp->data->inputs[i].weight), &(lp->data->inputs[i].value)); } Only in rcs4.2/example/xgi: 838sim Only in rcs4.2/example/xgi: emptysim Common subdirectories: tapes/rcs4.2/example/xgi/icon and rcs4.2/example/xgi/icon diff -c -r tapes/rcs4.2/example/xgi/makefile rcs4.2/example/xgi/makefile *** tapes/rcs4.2/example/xgi/makefile Tue Oct 10 14:57:21 1989 --- rcs4.2/example/xgi/makefile Thu Nov 23 16:23:55 1989 *************** *** 7,13 **** ../../bin/makesim -X -o smilesim smiley.c empty: ! ../../bin/makesim -X -o emptysim clean: ! rm -f 838sim smilesim emptysim *.o core gi.log run*.cmd *~ \#* --- 7,13 ---- ../../bin/makesim -X -o smilesim smiley.c empty: ! ../../bin/makesim -X -v -o emptysim clean: ! rm -f *.o core gi.log run*.cmd *~ \#* Only in rcs4.2/example/xgi: smile Only in rcs4.2/example/xgi: smilesim Common subdirectories: tapes/rcs4.2/include/src and rcs4.2/include/src Common subdirectories: tapes/rcs4.2/include/usr and rcs4.2/include/usr diff -c -r tapes/rcs4.2/include/src/common.h rcs4.2/include/src/common.h *** tapes/rcs4.2/include/src/common.h Tue Sep 26 18:59:11 1989 --- rcs4.2/include/src/common.h Wed Nov 22 16:23:50 1989 *************** *** 47,54 **** typedef float func_type; typedef float pot_type; typedef float Output; ! # define UNIT_VALUES "%f %f %hd %hd %f %d %d %hd " ! # define SITE_VALUES "\t%f %hd " # define LINK_VALUES "\t\t%d %f " # define DATA_S_TYPE "%f" # define OUT_S_TYPE "%f" --- 47,54 ---- typedef float func_type; typedef float pot_type; typedef float Output; ! # define UNIT_VALUES "%f %f %d %d %f %d %d %d " ! # define SITE_VALUES "\t%f %d " # define LINK_VALUES "\t\t%d %f " # define DATA_S_TYPE "%f" # define OUT_S_TYPE "%f" *************** *** 63,74 **** typedef int func_type; typedef short pot_type; typedef short Output; ! # define UNIT_VALUES "%hd %hd %hd %hd %hd %d %d %hd " ! # define SITE_VALUES "\t%hd %hd " ! # define LINK_VALUES "\t\t%d %hd " # define DATA_S_TYPE "%d" ! # define OUT_S_TYPE "%hd" ! # define POT_S_TYPE "%hd" # define WEIGHT_S_TYPE "%d" # define FLINT int --- 63,74 ---- typedef int func_type; typedef short pot_type; typedef short Output; ! # define UNIT_VALUES "%d %d %d %d %d %d %d %d " ! # define SITE_VALUES "\t%d %d " ! # define LINK_VALUES "\t\t%d %d " # define DATA_S_TYPE "%d" ! # define OUT_S_TYPE "%d" ! # define POT_S_TYPE "%d" # define WEIGHT_S_TYPE "%d" # define FLINT int diff -c -r tapes/rcs4.2/include/usr/ftype.h rcs4.2/include/usr/ftype.h *** tapes/rcs4.2/include/usr/ftype.h Tue Sep 26 18:59:22 1989 --- rcs4.2/include/usr/ftype.h Wed Nov 22 16:27:46 1989 *************** *** 21,27 **** typedef float pot_type; typedef float Output; ! # define UNIT_VALUES "%g %g %hd %hd %g %d %d %hd " # define SITE_VALUES "\t%g %g " # define LINK_VALUES "\t\t%g %g " # define DATA_S_TYPE "%g" --- 21,27 ---- typedef float pot_type; typedef float Output; ! # define UNIT_VALUES "%g %g %d %d %g %d %d %d " # define SITE_VALUES "\t%g %g " # define LINK_VALUES "\t\t%g %g " # define DATA_S_TYPE "%g" diff -c -r tapes/rcs4.2/include/usr/itype.h rcs4.2/include/usr/itype.h *** tapes/rcs4.2/include/usr/itype.h Tue Sep 26 18:59:23 1989 --- rcs4.2/include/usr/itype.h Wed Nov 22 16:27:31 1989 *************** *** 22,33 **** typedef short Output; ! # define UNIT_VALUES "%hd %hd %hd %hd %hd %d %d %hd " ! # define SITE_VALUES "\t%hd %hd " ! # define LINK_VALUES "\t\t%d %hd " # define DATA_S_TYPE "%d" ! # define OUT_S_TYPE "%hd" ! # define POT_S_TYPE "%hd" # define WEIGHT_S_TYPE "%d" # define FLINT int --- 22,33 ---- typedef short Output; ! # define UNIT_VALUES "%d %d %d %d %d %d %d %d " ! # define SITE_VALUES "\t%d %d " ! # define LINK_VALUES "\t\t%d %d " # define DATA_S_TYPE "%d" ! # define OUT_S_TYPE "%d" ! # define POT_S_TYPE "%d" # define WEIGHT_S_TYPE "%d" # define FLINT int diff -c -r tapes/rcs4.2/lib/xgi.help rcs4.2/lib/xgi.help *** tapes/rcs4.2/lib/xgi.help Mon Oct 23 22:10:20 1989 --- rcs4.2/lib/xgi.help Mon Dec 4 15:29:48 1989 *************** *** 101,110 **** Custom icons are supported. XGI expects text files in the form of rows and columns of #'s and -'s, representing the on pixels and off pixels respectively. See the ! files /u/bukys/rcs_installed/example/xgi/icon/smiley_* for samples. These files can be created by using the "bitmap" and "bmtoa" client distributed with the X Window System source code (X11/clients/bitmap). There is a shell script to help create ! icon families: /u/bukys/rcs_installed/bin/makeicon. Icon family filenames should be as described in TR233 with the exception that an underscore is used in place of a . - so an icon family called mir would be encoded in files mir_0, mir_1, mir_2, etc. Custom icons are loaded on demand when a display command requires them. XGI will --- 101,110 ---- Custom icons are supported. XGI expects text files in the form of rows and columns of #'s and -'s, representing the on pixels and off pixels respectively. See the ! files /usr2/wim/rcs4.2/example/xgi/icon/smiley_* for samples. These files can be created by using the "bitmap" and "bmtoa" client distributed with the X Window System source code (X11/clients/bitmap). There is a shell script to help create ! icon families: /usr2/wim/rcs4.2/bin/makeicon. Icon family filenames should be as described in TR233 with the exception that an underscore is used in place of a . - so an icon family called mir would be encoded in files mir_0, mir_1, mir_2, etc. Custom icons are loaded on demand when a display command requires them. XGI will *************** *** 162,168 **** An example back-propagation network is supplied with the source. This network learns to solve the 3 bit binary encoder problem. Examine the README file in directory ! /u/bukys/rcs_installed/example/xgi for instructions. There is also an example of the use of custom icons. GI_COMMAND PROGRAMMING INTERFACE --- 162,168 ---- An example back-propagation network is supplied with the source. This network learns to solve the 3 bit binary encoder problem. Examine the README file in directory ! /usr2/wim/rcs4.2/example/xgi for instructions. There is also an example of the use of custom icons. GI_COMMAND PROGRAMMING INTERFACE Common subdirectories: tapes/rcs4.2/man/man1 and rcs4.2/man/man1 diff -c -r tapes/rcs4.2/man/man1/makesim.1 rcs4.2/man/man1/makesim.1 *** tapes/rcs4.2/man/man1/makesim.1 Mon Oct 23 21:24:32 1989 --- rcs4.2/man/man1/makesim.1 Fri Nov 24 17:17:49 1989 *************** *** 124,152 **** .SH FILES .PD 0 .TP 25 ! .B /u/bukys/bin/makesim shell script to make a simulator. .TP ! .B /u/bukys/man/man1/makesim.1 manual page. .TP ! .B /u/bukys/rcs_installed/bin utilities, including makeicon. .TP ! .B /u/bukys/rcs_installed/example example networks. .TP ! .B /u/bukys/rcs_installed/include include files for compiling user code. .TP ! .B /u/bukys/rcs_installed/contrib user-contributed code, not guaranteed to work. Includes code for integrating the simulator with Scheme or KCL. .TP ! .B /u/bukys/rcs_installed/lib libraries (unit functions, backprop), and simulator objects to link with user objects. .TP ! .B /u/bukys/rcs_installed/test networks to test the distribution. .PD .SH BUGS --- 124,152 ---- .SH FILES .PD 0 .TP 25 ! .B /usr2/wim/rcs4.2/bin/makesim shell script to make a simulator. .TP ! .B /usr2/wim/rcs4.2/man/man1/makesim.1 manual page. .TP ! .B /usr2/wim/rcs4.2/bin utilities, including makeicon. .TP ! .B /usr2/wim/rcs4.2/example example networks. .TP ! .B /usr2/wim/rcs4.2/include include files for compiling user code. .TP ! .B /usr2/wim/rcs4.2/contrib user-contributed code, not guaranteed to work. Includes code for integrating the simulator with Scheme or KCL. .TP ! .B /usr2/wim/rcs4.2/lib libraries (unit functions, backprop), and simulator objects to link with user objects. .TP ! .B /usr2/wim/rcs4.2/test networks to test the distribution. .PD .SH BUGS Only in rcs4.2/man/man1: makesim.l Common subdirectories: tapes/rcs4.2/src/backprop and rcs4.2/src/backprop Common subdirectories: tapes/rcs4.2/src/gi and rcs4.2/src/gi Common subdirectories: tapes/rcs4.2/src/ld and rcs4.2/src/ld Common subdirectories: tapes/rcs4.2/src/lib and rcs4.2/src/lib Common subdirectories: tapes/rcs4.2/src/tools and rcs4.2/src/tools Common subdirectories: tapes/rcs4.2/src/uniproc and rcs4.2/src/uniproc Common subdirectories: tapes/rcs4.2/src/xgi and rcs4.2/src/xgi diff -c -r tapes/rcs4.2/src/backprop/Makefile rcs4.2/src/backprop/Makefile *** tapes/rcs4.2/src/backprop/Makefile Tue Sep 19 16:59:07 1989 --- rcs4.2/src/backprop/Makefile Wed Nov 22 17:44:56 1989 *************** *** 10,20 **** # this will work with fancier makes and is nice but not universal #bp%f.o: bp%.c ! # $(CC) $(CFLAGS) -c -DFSIM -O -I${ROOT_DIR}/include -o $@ $< .c.o: ! $(CC) $(CFLAGS) -DFSIM -c -O -I${ROOT_DIR}/include $*.c; mv $*.o $*f.o ! $(CC) $(CFLAGS) -c -O -I${ROOT_DIR}/include $*.c int: libbp.a cp libbp.a $(lib)/libbp.a --- 10,20 ---- # this will work with fancier makes and is nice but not universal #bp%f.o: bp%.c ! # $(CC) $(CFLAGS) -c -DFSIM -I${ROOT_DIR}/include -o $@ $< .c.o: ! $(CC) $(CFLAGS) -DFSIM -c -I${ROOT_DIR}/include $*.c; mv $*.o $*f.o ! $(CC) $(CFLAGS) -c -I${ROOT_DIR}/include $*.c int: libbp.a cp libbp.a $(lib)/libbp.a diff -c -r tapes/rcs4.2/src/gi/Makefile rcs4.2/src/gi/Makefile *** tapes/rcs4.2/src/gi/Makefile Tue Sep 19 16:58:14 1989 --- rcs4.2/src/gi/Makefile Wed Nov 22 17:42:37 1989 *************** *** 11,17 **** # release directory RELDIR = ${CONNECT_DIR}/lib # flags used when building release ver ! RFLAGS = $(CFLAGS) -O -I$(IDIR) # flags used when building testing ver TFLAGS = $(CFLAGS) -g -I$(IDIR) --- 11,17 ---- # release directory RELDIR = ${CONNECT_DIR}/lib # flags used when building release ver ! RFLAGS = $(CFLAGS) -I$(IDIR) # flags used when building testing ver TFLAGS = $(CFLAGS) -g -I$(IDIR) Common subdirectories: tapes/rcs4.2/src/gi/icon and rcs4.2/src/gi/icon diff -c -r tapes/rcs4.2/src/lib/Makefile rcs4.2/src/lib/Makefile *** tapes/rcs4.2/src/lib/Makefile Tue Sep 19 16:58:36 1989 --- rcs4.2/src/lib/Makefile Thu Nov 23 10:27:03 1989 *************** *** 1,7 **** # inherited: CC LD SIMDIR VERSIONS SRCDIR ROOT_DIR = $(SRCDIR) ! LFLAGS = $(CFLAGS) -O -I${ROOT_DIR}/include LIB_DIR= ${ROOT_DIR}/lib REL_DIR= ${ROOT_DIR}/lib --- 1,7 ---- # inherited: CC LD SIMDIR VERSIONS SRCDIR ROOT_DIR = $(SRCDIR) ! LFLAGS = $(CFLAGS) -I${ROOT_DIR}/include LIB_DIR= ${ROOT_DIR}/lib REL_DIR= ${ROOT_DIR}/lib *************** *** 11,17 **** $(CC) -c $(LFLAGS) $*.c fuserfuncs.o: userfuncs.c ! $(CC) -c -DFSIM $(LFLAGS) -o fuserfuncs.o userfuncs.c null: null.o cp null.o $(REL_DIR)/null.o --- 11,17 ---- $(CC) -c $(LFLAGS) $*.c fuserfuncs.o: userfuncs.c ! $(CC) -c -DFSIM $(LFLAGS) userfuncs.c; mv userfuncs.o fuserfuncs.o null: null.o cp null.o $(REL_DIR)/null.o diff -c -r tapes/rcs4.2/src/tools/Makefile rcs4.2/src/tools/Makefile *** tapes/rcs4.2/src/tools/Makefile Fri Oct 20 16:46:33 1989 --- rcs4.2/src/tools/Makefile Wed Nov 22 17:43:50 1989 *************** *** 3,15 **** all: ${PROGS} grabnames: grabnames.c ! $(CC) $(CFLAGS) -O grabnames.c -o grabnames makebind:makebind.c ! $(CC) $(CFLAGS) -O makebind.c -o makebind cmdmkbind:cmdmkbind.c ! $(CC) $(CFLAGS) -O cmdmkbind.c -o cmdmkbind install: ${PROGS} $(INSTALL) makebind $(SRCDIR)/bin --- 3,15 ---- all: ${PROGS} grabnames: grabnames.c ! $(CC) $(CFLAGS) grabnames.c -o grabnames makebind:makebind.c ! $(CC) $(CFLAGS) makebind.c -o makebind cmdmkbind:cmdmkbind.c ! $(CC) $(CFLAGS) cmdmkbind.c -o cmdmkbind install: ${PROGS} $(INSTALL) makebind $(SRCDIR)/bin Only in rcs4.2/src/tools: cmdmkbind.o Only in rcs4.2/src/tools: grabnames.o Only in rcs4.2/src/tools: makebind.o diff -c -r tapes/rcs4.2/src/uniproc/Makefile rcs4.2/src/uniproc/Makefile *** tapes/rcs4.2/src/uniproc/Makefile Fri Oct 20 21:57:43 1989 --- rcs4.2/src/uniproc/Makefile Wed Nov 22 17:45:22 1989 *************** *** 21,27 **** FLAGS= $(CFLAGS) -DCC='"'"'"$(SIMCC)"'"'"' -DLD='"'"'"$(SIMLD)"'"'"' -DNM='"'"'"$(NM)"'"'"' -I$(IDIR) # # ! RFLAGS= $(FLAGS) -DSIMINC='"'"'"$(SIMDIR)"'"'"' -O # # flags used when building testing ver # --- 21,27 ---- FLAGS= $(CFLAGS) -DCC='"'"'"$(SIMCC)"'"'"' -DLD='"'"'"$(SIMLD)"'"'"' -DNM='"'"'"$(NM)"'"'"' -I$(IDIR) # # ! RFLAGS= $(FLAGS) -DSIMINC='"'"'"$(SIMDIR)"'"'"' # # flags used when building testing ver # diff -c -r tapes/rcs4.2/src/uniproc/chkpoint.c rcs4.2/src/uniproc/chkpoint.c *** tapes/rcs4.2/src/uniproc/chkpoint.c Tue Sep 26 19:07:09 1989 --- rcs4.2/src/uniproc/chkpoint.c Wed Nov 22 16:29:23 1989 *************** *** 138,144 **** if (up->no_site != no_sites) { LOGfprintf(stderr, ! "restore error: number of sites on unit %d has changed fromv %hd to %hd\n",ucount, no_sites, up->no_site); exit(1); } #ifdef TSIM --- 138,144 ---- if (up->no_site != no_sites) { LOGfprintf(stderr, ! "restore error: number of sites on unit %d has changed fromv %d to %d\n",ucount, no_sites, up->no_site); exit(1); } #ifdef TSIM diff -c -r tapes/rcs4.2/src/uniproc/dynamic.c rcs4.2/src/uniproc/dynamic.c *** tapes/rcs4.2/src/uniproc/dynamic.c Fri Oct 20 20:44:57 1989 --- rcs4.2/src/uniproc/dynamic.c Thu Nov 23 16:15:55 1989 *************** *** 45,50 **** --- 45,51 ---- #define TEXT_ADDR "-T 0" #endif + #define Alliant #define SIMLIB "-lbp" /* simulator libraries to be searched */ /* basic library always in program */ *************** *** 115,121 **** --- 116,126 ---- int maptableindex,count,codesize, bindsize; NameDesc nte; list_elt_ptr flist; + #ifdef Alliant + struct oexec header; + #else struct exec header; + #endif struct nlist nl[2]; if (add) *************** *** 155,170 **** */ (void) sprintf(command, ! "%s -g %s > %s; %s -d -N -x -A %s %s %s -o %s %s -L%s/lib %s -lm -lc", NM, /* name extractor to use */ faslfile,tmpname2, /* use nm to get names from fasl to tmp */ LD, /* linker to use */ basefile, /* program file as symbol table basis*/ TEXT_ADDR, /* default address to link at */ - faslfile, /* code to load */ tempfilename, /* file to load into */ libs, /* user supplied switches */ ! SIMINC, /* simulator library directory */ SIMLIB); /* simulator library names */ LOGfprintf(stderr,"Finding functions and variables in %s...\n",faslfile); if (verbose == TRUE) --- 160,175 ---- */ (void) sprintf(command, ! "%s -g %s > %s; %s -A %s %s -d -N -x -o %s %s %s %s -lm -lc", NM, /* name extractor to use */ faslfile,tmpname2, /* use nm to get names from fasl to tmp */ LD, /* linker to use */ basefile, /* program file as symbol table basis*/ TEXT_ADDR, /* default address to link at */ tempfilename, /* file to load into */ + faslfile, /* code to load */ libs, /* user supplied switches */ ! /* SIMINC, */ /* simulator library directory */ SIMLIB); /* simulator library names */ LOGfprintf(stderr,"Finding functions and variables in %s...\n",faslfile); if (verbose == TRUE) *************** *** 208,221 **** find out how much space to malloc. */ (void) sprintf(command, ! "%s -d -N -x -A %s -T %x %s -o %s %s -L%s/lib %s -lm -lc; xyz=`pwd`; cd /tmp; %s -c -I%s/include %s; cd $xyz; %s -d -N -x -A %s %s %s -o %s -lm -lc", LD, /* linker to use */ basefile, /* program file as symbol table basis*/ si_DynamicAddress, /* address to load into */ - faslfile, /* code file to load */ tempfilename, /* file to load into */ libs, /* user supplied switches */ ! SIMINC, /* simulator library directory */ SIMLIB, /* simulator library names */ /* next are for compile and load */ CC, /* compiler to use */ --- 213,226 ---- find out how much space to malloc. */ (void) sprintf(command, ! "%s -A %s -T %x -d -N -x -o %s %s %s %s -lm -lc; xyz=`pwd`; cd /tmp; %s -c -I%s/include %s; cd $xyz; %s -A %s %s -d -N -x -o %s %s -lm -lc", LD, /* linker to use */ basefile, /* program file as symbol table basis*/ si_DynamicAddress, /* address to load into */ tempfilename, /* file to load into */ + faslfile, /* code file to load */ libs, /* user supplied switches */ ! /* SIMINC, */ /* simulator library directory */ SIMLIB, /* simulator library names */ /* next are for compile and load */ CC, /* compiler to use */ *************** *** 224,231 **** LD, /* linker to use */ tempfilename, /* file with user code loaded as ref basis */ TEXT_ADDR, /* default address to link at */ ! bndfile, /* load binding .o file */ ! tempfilename2); /* resulting code file */ LOGfprintf(stderr,"Loading %d bytes at address 0x%x...\n", codesize, si_DynamicAddress); if (verbose == TRUE) --- 229,236 ---- LD, /* linker to use */ tempfilename, /* file with user code loaded as ref basis */ TEXT_ADDR, /* default address to link at */ ! tempfilename2, /* resulting code file */ ! bndfile); /* load binding .o file */ LOGfprintf(stderr,"Loading %d bytes at address 0x%x...\n", codesize, si_DynamicAddress); if (verbose == TRUE) *************** *** 253,258 **** --- 258,267 ---- #ifdef mips fseek(fp, N_TXTOFF(header.ex_f, header.ex_o), 0); /* seek to text start */ #endif + #ifdef Alliant + fseek(fp, N_TXTOFF(header), 0); + #endif + fread(si_DynamicAddress, codesize, 1, fp); fclose(fp); *************** *** 278,289 **** malloced. */ (void) sprintf(command, ! "%s -d -N -x -A %s -T %x %s -o %s -lm -lc", LD, /* linker to use */ tempfilename, /* file with user code loaded as ref basis */ bindaddr, /* where to load into */ ! bndfile, /* load binding .o file */ ! tempfilename2); /* resulting code file */ LOGfprintf(stderr,"Entering %d functions and variables in item table...\n", count); if (verbose == TRUE) --- 287,298 ---- malloced. */ (void) sprintf(command, ! "%s -A %s -T %x -d -N -x -o %s %s -lm -lc", LD, /* linker to use */ tempfilename, /* file with user code loaded as ref basis */ bindaddr, /* where to load into */ ! tempfilename2, /* resulting code file */ ! bndfile); /* load binding .o file */ LOGfprintf(stderr,"Entering %d functions and variables in item table...\n", count); if (verbose == TRUE) *************** *** 328,335 **** --- 337,350 ---- #ifdef mips fseek(fp, N_TXTOFF(header.ex_f, header.ex_o), 0); /* seek to text start */ #endif + #ifdef Alliant + fseek(fp, N_TXTOFF(header), 0); + #endif fread(bindaddr, bindsize, 1, fp); fclose(fp); + #ifdef Alliant + flushicache(); + #endif if (FindName(faslfile,&nte) != NULL && nte.type == CODE_SYM) flist = si_FreeCodeUnit(nte.index); /* FREE UP OLD ITEM TABLE ENTRIES */ diff -c -r tapes/rcs4.2/src/uniproc/load.c rcs4.2/src/uniproc/load.c *** tapes/rcs4.2/src/uniproc/load.c Tue Sep 26 19:07:30 1989 --- rcs4.2/src/uniproc/load.c Wed Nov 22 16:30:20 1989 *************** *** 463,469 **** fflush(stdout); } up = UnitList + ucount; ! fprintf(savef, "%d %d %hd", DI(up->type), DI(FuncToName(up->unit_f)), up->no_site); --- 463,469 ---- fflush(stdout); } up = UnitList + ucount; ! fprintf(savef, "%d %d %d", DI(up->type), DI(FuncToName(up->unit_f)), up->no_site); *************** *** 479,485 **** for(sp = up->sites;sp != NULL;sp = sp->next) { ! fprintf(savef, "%d %d %hd", DI(sp->name), DI(FuncToName(sp->site_f)), sp->no_inputs); --- 479,485 ---- for(sp = up->sites;sp != NULL;sp = sp->next) { ! fprintf(savef, "%d %d %d", DI(sp->name), DI(FuncToName(sp->site_f)), sp->no_inputs); Only in rcs4.2/src/uniproc: mon Only in rcs4.2/src/uniproc: mon2 diff -c -r tapes/rcs4.2/src/xgi/Display.c rcs4.2/src/xgi/Display.c *** tapes/rcs4.2/src/xgi/Display.c Tue Sep 26 19:11:27 1989 --- rcs4.2/src/xgi/Display.c Mon Nov 27 12:04:24 1989 *************** *** 214,229 **** Cardinal * num_args; /* NULL */ { ! static Arg a[] = ! { ! { XtNlist, (XtArgVal) NULL }, ! { XtNverticalList, (XtArgVal) True }, ! { XtNdefaultColumns, (XtArgVal) 1 }, ! { XtNnumberStrings, (XtArgVal) ITEMS_PER_MENU }, ! { XtNfont, (XtArgVal) &gi_default_font }, ! }; ! int i; ! if (custom_popup != NULL) return; --- 214,227 ---- Cardinal * num_args; /* NULL */ { ! static Arg a[5]; ! int i = 0; ! XtSetArg( a[i], XtNlist, NULL ); i++; ! XtSetArg( a[i], XtNverticalList, True ); i++; ! XtSetArg( a[i], XtNdefaultColumns, 1 ); i++; ! XtSetArg( a[i], XtNnumberStrings, ITEMS_PER_MENU ); i++; ! XtSetArg( a[i], XtNfont, &gi_default_font ); i++; ! if (custom_popup != NULL) return; *************** *** 551,571 **** char buf[256], * t; int i; ! static Arg p[] = ! { ! { XtNx, (XtArgVal) 0 }, ! { XtNy, (XtArgVal) 0 }, ! { XtNwidth, (XtArgVal) 0 }, ! { XtNheight, (XtArgVal) 70 }, ! }; ! static Arg d[] = ! { ! { XtNvalue, (XtArgVal) NULL }, ! { XtNlabel, (XtArgVal) "Specify Item and Command, separated by a colon, e.g. list : l u all" }, ! { XtNwidth, (XtArgVal) 0 }, ! { XtNborderWidth, (XtArgVal) 0 }, ! }; XWindowAttributes atts; XGetWindowAttributes(XtDisplay(gi_tool), XtWindow(XtParent(w)), &atts); p[0].value = atts.x; /* display dialog at same location */ --- 549,571 ---- char buf[256], * t; int i; ! static Arg p[4]; ! static Arg d[4]; ! XWindowAttributes atts; + + i = 0; + XtSetArg( p[i], XtNx, 0 ); i++; + XtSetArg( p[i], XtNy, 0 ); i++; + XtSetArg( p[i], XtNwidth, 0 ); i++; + XtSetArg( p[i], XtNheight, 70 ); i++; + + i = 0; + XtSetArg( d[i], XtNvalue, NULL ); i++; + XtSetArg( d[i], XtNlabel, "Specify Item and Command, separated by a colon, e.g. list : l u all" ); i++; + XtSetArg( d[i], XtNwidth, 0 ); i++; + XtSetArg( d[i], XtNborderWidth, 0 ); i++; + XGetWindowAttributes(XtDisplay(gi_tool), XtWindow(XtParent(w)), &atts); p[0].value = atts.x; /* display dialog at same location */ diff -c -r tapes/rcs4.2/src/xgi/Makefile rcs4.2/src/xgi/Makefile *** tapes/rcs4.2/src/xgi/Makefile Tue Sep 19 17:02:41 1989 --- rcs4.2/src/xgi/Makefile Tue Dec 5 10:27:29 1989 *************** *** 1,8 **** MAKE=make DEFNS= "SIMDIR=$(SIMDIR)" "CC=$(CC)" "LD=$(LD)" "MAKE=$(MAKE)" \ "DTYPE=$(DTYPE)" "SIMLD=$(SIMLD)" "SIMCC=$(SIMCC)" "BINDIR=$(BINDIR)" \ ! "SRCDIR=$(SRCDIR)" "XUSRLIBDIR=$(XUSRLIBDIR)" "XINCROOT=$(XINCROOT)" ! # "CFLAGS=$(CFLAGS)" # SRCDIR is the root of the distribution before installation # --- 1,8 ---- MAKE=make DEFNS= "SIMDIR=$(SIMDIR)" "CC=$(CC)" "LD=$(LD)" "MAKE=$(MAKE)" \ "DTYPE=$(DTYPE)" "SIMLD=$(SIMLD)" "SIMCC=$(SIMCC)" "BINDIR=$(BINDIR)" \ ! "SRCDIR=$(SRCDIR)" "XUSRLIBDIR=$(XUSRLIBDIR)" "XINCROOT=$(XINCROOT)" \ ! "CFLAGS=$(CFLAGS)" # SRCDIR is the root of the distribution before installation # *************** *** 18,24 **** # FLAGS = $(CFLAGS) -I$(IDIR) -I$(XINCROOT) # ! RFLAGS= $(FLAGS) -DXGIDIR='"'"'$(RELDIR)'"'"' -O # # flags used when building testing version # --- 18,24 ---- # FLAGS = $(CFLAGS) -I$(IDIR) -I$(XINCROOT) # ! RFLAGS= $(FLAGS) -DXGIDIR='"'"'$(RELDIR)'"'"' # # flags used when building testing version # diff -c -r tapes/rcs4.2/src/xgi/Xsupport.c rcs4.2/src/xgi/Xsupport.c *** tapes/rcs4.2/src/xgi/Xsupport.c Tue Sep 26 19:01:03 1989 --- rcs4.2/src/xgi/Xsupport.c Mon Dec 4 13:29:05 1989 *************** *** 16,25 **** --- 16,27 ---- /* Xsupport.c */ #include "Xsupport.h" #include + #include #include #include #include #include + #undef DEBUG extern XFontStruct gi_default_font; *************** *** 73,93 **** Widget radio_box, toggle, * toggle_list; button_list * buttons; int c,i; ! static Arg a[] = ! { ! { XtNfromHoriz, (XtArgVal) NULL }, ! { XtNfromVert, (XtArgVal) NULL }, ! { XtNvertDistance, (XtArgVal) 10 }, ! { XtNhorizDistance, (XtArgVal) 10 }, ! { XtNfont, (XtArgVal) &gi_default_font }, ! }; ! static Arg no_bdr[] = ! { ! { XtNborderWidth, (XtArgVal) 0 }, ! }; #ifdef DEBUG ! printf("Xsupport: creating widget named %s.\n",s); #endif /* count the number of buttons */ for(c=0; b[c]!=NULL; c++); --- 75,107 ---- Widget radio_box, toggle, * toggle_list; button_list * buttons; int c,i; ! static Arg a[6]; + static Arg no_bdr[1]; + + static char main_table[] = + ": set()\n\ + : unset()\n\ + : notify()\n\ + : unset() "; + + static XtTranslations translations; + translations = XtParseTranslationTable(main_table); + + + i = 0; + XtSetArg( no_bdr[i], XtNborderWidth, 0 ); i++; + + i = 0; + XtSetArg( a[i], XtNfromHoriz, NULL ); i++; + XtSetArg( a[i], XtNfromVert, NULL ); i++; + XtSetArg( a[i], XtNvertDistance, 10 ); i++; + XtSetArg( a[i], XtNhorizDistance, 10 ); i++; + XtSetArg( a[i], XtNfont, &gi_default_font ); i++; + XtSetArg( a[i], XtNtranslations, translations ); i++; + #ifdef DEBUG ! printf("Xsupport: creating widget named %s.\n RADIO box",s); #endif /* count the number of buttons */ for(c=0; b[c]!=NULL; c++); *************** *** 139,155 **** caddr_t d; { Widget temp; ! static Arg a[] = { ! { XtNfromHoriz, (XtArgVal) NULL }, ! { XtNhorizDistance, (XtArgVal) 10 }, ! { XtNfont, (XtArgVal) &gi_default_font }, ! }; #ifdef DEBUG ! printf("Xsupport: creating widget named %s.\n",s); #endif a[0].value = (XtArgVal) p; ! temp = XtCreateWidget(s, commandWidgetClass, w, a, XtNumber(a)); XtAddCallback(temp,XtNcallback,f,d); XtManageChild(temp); --- 153,181 ---- caddr_t d; { Widget temp; ! static Arg a[10]; ! int i = 0; + static char main_table[] = + ": set()\n\ + : unset()\n\ + : notify()\n\ + : unset() "; + + static XtTranslations translations; + translations = XtParseTranslationTable(main_table); + + XtSetArg( a[i], XtNfromHoriz, NULL ); i++; + XtSetArg( a[i], XtNhorizDistance, 10 ); i++; + XtSetArg( a[i], XtNfont, &gi_default_font ); i++; + XtSetArg( a[i], XtNsensitive, True ); i++; + XtSetArg( a[i], XtNtranslations, translations ); i++; + #ifdef DEBUG ! printf("Xsupport: creating widget named %s.\n Creating button WPh\n",s); #endif a[0].value = (XtArgVal) p; ! temp = XtCreateWidget(s, commandWidgetClass, w, a, i); XtAddCallback(temp,XtNcallback,f,d); XtManageChild(temp); *************** *** 162,170 **** Widget w; char *s; { ! static Arg a[] = { ! {XtNborderWidth, (XtArgVal)0}, ! }; #ifdef DEBUG printf("Xsupport: creating widget named %s.\n",s); #endif --- 188,197 ---- Widget w; char *s; { ! static Arg a[1]; ! int i = 0; ! XtSetArg( a[i], XtNborderWidth,0); i++; ! #ifdef DEBUG printf("Xsupport: creating widget named %s.\n",s); #endif *************** *** 178,188 **** char *s; { Widget t; ! static Arg a[] = { ! {XtNborderWidth, (XtArgVal)0}, ! }; - #ifdef DEBUG printf("Xsupport: creating widget named %s.\n",s); #endif --- 205,214 ---- char *s; { Widget t; ! int i = 0; ! static Arg a[1]; ! XtSetArg( a[i], XtNborderWidth,0); i++; #ifdef DEBUG printf("Xsupport: creating widget named %s.\n",s); #endif *************** *** 207,213 **** #ifdef DEBUG ! printf("Xsupport: creating widget named %s.\n",s); #endif a = (Arg *)malloc(6*sizeof(Arg)); --- 233,239 ---- #ifdef DEBUG ! printf("Xsupport: creating widget named %s. text widget WPh\n",s); #endif a = (Arg *)malloc(6*sizeof(Arg)); diff -c -r tapes/rcs4.2/src/xgi/cmd_panel.c rcs4.2/src/xgi/cmd_panel.c *** tapes/rcs4.2/src/xgi/cmd_panel.c Mon Oct 23 18:45:26 1989 --- rcs4.2/src/xgi/cmd_panel.c Mon Nov 27 13:09:47 1989 *************** *** 66,97 **** /* routines that are forward referenced */ static void cmd_proc(); ! static Arg cmd_item_args[] = { ! { XtNfromHoriz, (XtArgVal)NULL }, ! { XtNwidth, (XtArgVal)400 }, ! { XtNfromVert, (XtArgVal)NULL }, ! { XtNhorizDistance, (XtArgVal) 0 }, ! { XtNvertDistance, (XtArgVal) 5 }, ! { XtNstring, (XtArgVal) cmd_item_buf}, ! { XtNlength, (XtArgVal) MAX_CMD_LENGTH - 3}, ! { XtNborderWidth, (XtArgVal) 0 }, ! { XtNeditType, (XtArgVal) XttextEdit}, ! { XtNtextOptions, (XtArgVal)(editable | scrollOnOverflow | wordBreak) }, ! { XtNheight, (XtArgVal)40 }, ! { XtNfont, (XtArgVal) &gi_default_font }, ! }; ! static Arg cmd_prev_item_args[] = { ! { XtNfromHoriz, (XtArgVal)NULL }, ! { XtNwidth, (XtArgVal)400 }, ! { XtNfile, (XtArgVal) filenamebuf }, ! { XtNhorizDistance, (XtArgVal)10 }, ! { XtNeditType, (XtArgVal)XttextAppend}, ! { XtNtextOptions, (XtArgVal) (scrollVertical | wordBreak)}, ! { XtNlength, (XtArgVal) MAX_CMD_LENGTH}, ! { XtNheight, (XtArgVal)60 }, ! { XtNfont, (XtArgVal) &gi_default_font }, ! }; static char override_trans_table[] = "Return: process_input(cmd_item) \n\ Linefeed: process_input(cmd_item) \n\ --- 66,75 ---- /* routines that are forward referenced */ static void cmd_proc(); ! static Arg cmd_item_args[12]; ! static Arg cmd_prev_item_args[9]; + static char override_trans_table[] = "Return: process_input(cmd_item) \n\ Linefeed: process_input(cmd_item) \n\ *************** *** 105,112 **** static XtTranslations translations; ! extern char *tempnam(); /*****************************************************************/ gi_make_cmd_panel(gi_tool) Widget gi_tool; --- 83,92 ---- static XtTranslations translations; ! /* WPh extern char *tempnam(); */ ! extern char *mktemp(); + /*****************************************************************/ gi_make_cmd_panel(gi_tool) Widget gi_tool; *************** *** 118,140 **** FILE * fp; ! static Arg no_bdr [] = ! { ! { XtNborderWidth, (XtArgVal) 0 }, ! { XtNdefaultDistance, (XtArgVal) 2 }, ! }; ! static Arg prompt [] = ! { ! { XtNfromVert, (XtArgVal) NULL }, ! { XtNvertDistance, (XtArgVal) 5 }, ! { XtNjustify, (XtArgVal) XtJustifyRight }, ! { XtNstring, (XtArgVal) "->" }, ! { XtNborderWidth, (XtArgVal) 0 }, ! { XtNhorizDistance, (XtArgVal) 5 }, ! { XtNfromHoriz, (XtArgVal) NULL }, ! { XtNfont, (XtArgVal) &gi_default_font }, ! }; /* initial definition of the command panel */ /* need to do something about panel width! */ --- 98,146 ---- FILE * fp; ! int i; ! static Arg no_bdr [2]; ! static Arg prompt [8]; + i = 0; + XtSetArg( prompt[i], XtNfromVert, NULL ); i++; + XtSetArg( prompt[i], XtNvertDistance, 5 ); i++; + XtSetArg( prompt[i], XtNjustify, XtJustifyRight ); i++; + XtSetArg( prompt[i], XtNstring, "->" ); i++; + XtSetArg( prompt[i], XtNborderWidth, 0 ); i++; + XtSetArg( prompt[i], XtNhorizDistance, 5 ); i++; + XtSetArg( prompt[i], XtNfromHoriz, NULL ); i++; + XtSetArg( prompt[i], XtNfont, &gi_default_font ); i++; + + i = 0; + XtSetArg( no_bdr[i], XtNborderWidth, 0 ); i++; + XtSetArg( no_bdr[i], XtNdefaultDistance, 2 ); i++; + + i = 0; + XtSetArg( cmd_item_args[i], XtNfromHoriz,NULL ); i++; + XtSetArg( cmd_item_args[i], XtNwidth,400 ); i++; + XtSetArg( cmd_item_args[i], XtNfromVert,NULL ); i++; + XtSetArg( cmd_item_args[i], XtNhorizDistance, 0 ); i++; + XtSetArg( cmd_item_args[i], XtNvertDistance, 5 ); i++; + XtSetArg( cmd_item_args[i], XtNstring, cmd_item_buf); i++; + XtSetArg( cmd_item_args[i], XtNlength, MAX_CMD_LENGTH - 3); i++; + XtSetArg( cmd_item_args[i], XtNborderWidth, 0 ); i++; + XtSetArg( cmd_item_args[i], XtNeditType, XttextEdit); i++; + XtSetArg( cmd_item_args[i], XtNtextOptions,(editable | scrollOnOverflow | wordBreak) ); i++; + XtSetArg( cmd_item_args[i], XtNheight,40 ); i++; + XtSetArg( cmd_item_args[i], XtNfont, &gi_default_font ); i++; + + i = 0; + XtSetArg( cmd_prev_item_args[i], XtNfromHoriz,NULL ); i++; + XtSetArg( cmd_prev_item_args[i], XtNwidth,400 ); i++; + XtSetArg( cmd_prev_item_args[i], XtNfile, filenamebuf ); i++; + XtSetArg( cmd_prev_item_args[i], XtNhorizDistance,10 ); i++; + XtSetArg( cmd_prev_item_args[i], XtNeditType,XttextAppend); i++; + XtSetArg( cmd_prev_item_args[i], XtNtextOptions, (scrollVertical | wordBreak)); i++; + XtSetArg( cmd_prev_item_args[i], XtNlength, MAX_CMD_LENGTH); i++; + XtSetArg( cmd_prev_item_args[i], XtNheight,60 ); i++; + XtSetArg( cmd_prev_item_args[i], XtNfont, &gi_default_font ); i++; + /* initial definition of the command panel */ /* need to do something about panel width! */ *************** *** 145,151 **** exit(1); } ! if ((fp = fopen((gi_prev_fname = tempnam("/tmp","gi.log")),"w")) == NULL) { fputs("Can't create log file\n", stderr); exit(1); --- 151,158 ---- exit(1); } ! /* if ((fp = fopen((gi_prev_fname = tempnam("/tmp","gi.log")),"w")) == NULL) */ ! if ((fp = fopen((gi_prev_fname = mktemp("/tmp/gi.logXXXXXX")),"w")) == NULL) { fputs("Can't create log file\n", stderr); exit(1); diff -c -r tapes/rcs4.2/src/xgi/control_panel.c rcs4.2/src/xgi/control_panel.c *** tapes/rcs4.2/src/xgi/control_panel.c Tue Sep 26 19:01:10 1989 --- rcs4.2/src/xgi/control_panel.c Tue Dec 5 10:30:18 1989 *************** *** 62,78 **** static char *font_labels[]={"fixed","variable", "6x10", "6x12", "8x13", "8x13bold", "9x15", "cursor", 0}; ! static Arg layout_args[] = { ! { XtNfromHoriz, (XtArgVal)NULL }, ! { XtNhorizDistance, (XtArgVal)10 }, ! { XtNborderWidth, (XtArgVal) 0}, ! }; ! static Arg vertical_args[] = { ! { XtNfromVert, (XtArgVal)NULL }, ! { XtNvertDistance, (XtArgVal)10 }, ! { XtNborderWidth, (XtArgVal) 0}, ! }; static char custom_info[] = "Each mouse button has a popup menu. Click and \ release in the display window to popup a menu. Then click on the item you \ --- 62,70 ---- static char *font_labels[]={"fixed","variable", "6x10", "6x12", "8x13", "8x13bold", "9x15", "cursor", 0}; ! static Arg layout_args[3]; ! static Arg vertical_args[3]; static char custom_info[] = "Each mouse button has a popup menu. Click and \ release in the display window to popup a menu. Then click on the item you \ *************** *** 89,105 **** coordinates of that location. Terminating a command with -- indicates command \ continuation (see manual)."; ! static Arg custom_args[] = { ! { XtNfromVert, (XtArgVal)NULL }, ! { XtNvertDistance, (XtArgVal)10 }, ! { XtNborderWidth, (XtArgVal) 0}, ! { XtNstring, (XtArgVal) custom_info}, ! { XtNwidth, (XtArgVal) 400}, ! { XtNeditType, (XtArgVal)XttextRead}, ! { XtNtextOptions, (XtArgVal) wordBreak}, ! { XtNheight, (XtArgVal) 400}, ! { XtNfont, (XtArgVal) &gi_default_font } ! }; /* set up the icon structures for the default icons */ struct gricons --- 81,87 ---- coordinates of that location. Terminating a command with -- indicates command \ continuation (see manual)."; ! static Arg custom_args[9]; /* set up the icon structures for the default icons */ struct gricons *************** *** 402,425 **** "same","square","circle","triangle","pentagon","diamond",0}, *ldir_labels[]={"Link/in","Link/out",0}; static char *dtype_labels[]={"Lines","Boxes","Bounding Box",0}; - static Arg no_bdr[] = - { - { XtNborderWidth, (XtArgVal) 0}, - }; - static Arg layout_loc[] = - { - { XtNx, (XtArgVal) 500 }, - { XtNy, (XtArgVal) 300 }, - }; ! Widget layout_box; ! extern Widget mode_panel; /* xgi: make all of the icons--need to do this here because there is no way of statically making images under X */ #include "dft_icons.c" /* make the control panel itself */ if ((gi_control_panel = XtCreateManagedWidget("CONTROL",boxWidgetClass, gi_tool, NULL, 0))==NULL) --- 384,432 ---- "same","square","circle","triangle","pentagon","diamond",0}, *ldir_labels[]={"Link/in","Link/out",0}; static char *dtype_labels[]={"Lines","Boxes","Bounding Box",0}; ! static Arg no_bdr[1]; ! ! static Arg layout_loc[2]; ! Widget layout_box; + extern Widget mode_panel; + + int i; + /* xgi: make all of the icons--need to do this here because there is no way of statically making images under X */ #include "dft_icons.c" + + i = 0; + XtSetArg( layout_loc[i], XtNx, 500); i++; + XtSetArg( layout_loc[i], XtNy, 300); i++; + i = 0; + XtSetArg( no_bdr[i], XtNborderWidth, 0); i++; + + i = 0; + XtSetArg( layout_args[i], XtNfromHoriz,NULL); i++; + XtSetArg( layout_args[i], XtNhorizDistance,10); i++; + XtSetArg( layout_args[i], XtNborderWidth, 0); i++; + + i = 0; + XtSetArg( vertical_args[i], XtNfromVert,NULL); i++; + XtSetArg( vertical_args[i], XtNvertDistance,10); i++; + XtSetArg( vertical_args[i], XtNborderWidth, 0); i++; + + i = 0; + XtSetArg( custom_args[i], XtNfromVert,NULL); i++; + XtSetArg( custom_args[i], XtNvertDistance,10); i++; + XtSetArg( custom_args[i], XtNborderWidth, 0); i++; + XtSetArg( custom_args[i], XtNstring, custom_info); i++; + XtSetArg( custom_args[i], XtNwidth, 400); i++; + XtSetArg( custom_args[i], XtNeditType,XttextRead); i++; + XtSetArg( custom_args[i], XtNtextOptions, wordBreak); i++; + XtSetArg( custom_args[i], XtNheight, 400); i++; + XtSetArg( custom_args[i], XtNfont, &gi_default_font); i++; + /* make the control panel itself */ if ((gi_control_panel = XtCreateManagedWidget("CONTROL",boxWidgetClass, gi_tool, NULL, 0))==NULL) *************** *** 715,745 **** static char filenamebuf[128]; ! static Arg p[] = ! { ! { XtNx, (XtArgVal) 300 }, ! { XtNy, (XtArgVal) 300 }, ! }; ! static Arg q[] = ! { ! { XtNborderWidth, (XtArgVal) 0 }, ! { XtNdefaultDistance, (XtArgVal) 0 }, ! }; ! static Arg help_item_args[] = { ! { XtNwidth, (XtArgVal)600 }, ! { XtNfile, (XtArgVal) filenamebuf }, ! { XtNeditType, (XtArgVal)XttextRead}, ! { XtNtextOptions, (XtArgVal) (scrollVertical | wordBreak)}, ! { XtNheight, (XtArgVal)400 }, ! { XtNfont, (XtArgVal) &gi_default_font } ! }; ! static Arg h[] = { ! { XtNfromVert, (XtArgVal) NULL }, ! { XtNvertDistance, (XtArgVal) 1 }, ! { XtNfont, (XtArgVal) &gi_default_font }, ! }; namepopup = XtCreatePopupShell("RCS HELP",transientShellWidgetClass, w, p, XtNumber(p)); temp = XtCreateManagedWidget("help_box", formWidgetClass, namepopup, q, XtNumber(q)); --- 722,764 ---- static char filenamebuf[128]; ! static Arg p[2]; ! static Arg q[2]; ! static Arg help_item_args[6]; ! static Arg h[4]; ! ! int i; ! ! static char main_table[] = ! ": set()\n\ ! : unset()\n\ ! : notify()\n\ ! : unset() "; ! static XtTranslations translations; ! translations = XtParseTranslationTable(main_table); ! i = 0; ! XtSetArg( p[i], XtNx, 300); i++; ! XtSetArg( p[i], XtNy, 300); i++; + i = 0; + XtSetArg( q[i], XtNborderWidth, 0); i++; + XtSetArg( q[i], XtNdefaultDistance, 0); i++; + + i = 0; + XtSetArg( help_item_args[i], XtNwidth,600); i++; + XtSetArg( help_item_args[i], XtNfile, filenamebuf); i++; + XtSetArg( help_item_args[i], XtNeditType,XttextRead); i++; + XtSetArg( help_item_args[i], XtNtextOptions, (scrollVertical | wordBreak)); i++; + XtSetArg( help_item_args[i], XtNheight,400); i++; + XtSetArg( help_item_args[i], XtNfont, &gi_default_font); i++; + + i = 0; + XtSetArg( h[i], XtNfromVert, NULL); i++; + XtSetArg( h[i], XtNvertDistance, 1); i++; + XtSetArg( h[i], XtNfont, &gi_default_font); i++; + XtSetArg( h[i], XtNtranslations, translations ); i++; + namepopup = XtCreatePopupShell("RCS HELP",transientShellWidgetClass, w, p, XtNumber(p)); temp = XtCreateManagedWidget("help_box", formWidgetClass, namepopup, q, XtNumber(q)); *************** *** 1178,1201 **** { Widget temp, namepopup, logfile_dialog; Position x,y; - static Arg p[] = - { - { XtNx, (XtArgVal) 0 }, - { XtNy, (XtArgVal) 0 }, - }; - static Arg q[] = - { - { XtNx, (XtArgVal) 0 }, - { XtNy, (XtArgVal) 0 }, - }; - static Arg d[] = - { - { XtNvalue, (XtArgVal) NULL }, - { XtNwidth, (XtArgVal) 0 }, - { XtNlabel, (XtArgVal) "Logfile name" }, - }; - XWindowAttributes atts; q[0].value = (XtArgVal) &x; q[1].value = (XtArgVal) &y; --- 1197,1221 ---- { Widget temp, namepopup, logfile_dialog; Position x,y; XWindowAttributes atts; + + static Arg p[2]; + static Arg d[3]; + static Arg q[2]; + + int i; + i = 0; + XtSetArg( p[i], XtNx, 0); i++; + XtSetArg( p[i], XtNy, 0); i++; + + i = 0; + XtSetArg( q[i], XtNx, 0); i++; + XtSetArg( q[i], XtNy, 0); i++; + + i = 0; + XtSetArg( d[i], XtNvalue, NULL); i++; + XtSetArg( d[i], XtNwidth, 0); i++; + XtSetArg( d[i], XtNlabel, "Logfile name"); i++; q[0].value = (XtArgVal) &x; q[1].value = (XtArgVal) &y; diff -c -r tapes/rcs4.2/src/xgi/display_panel.c rcs4.2/src/xgi/display_panel.c *** tapes/rcs4.2/src/xgi/display_panel.c Thu Oct 12 19:40:30 1989 --- rcs4.2/src/xgi/display_panel.c Tue Dec 5 10:31:08 1989 *************** *** 333,355 **** { Widget temp; Position x,y; ! static Arg p[] = ! { ! { XtNx, (XtArgVal) 0 }, ! { XtNy, (XtArgVal) 0 }, ! }; ! static Arg q[] = ! { ! { XtNx, (XtArgVal) 0 }, ! { XtNy, (XtArgVal) 0 }, ! }; ! static Arg d[] = ! { ! { XtNvalue, (XtArgVal) NULL }, ! { XtNlabel, (XtArgVal) "Display Panel Name" }, ! }; XWindowAttributes atts; q[0].value = (XtArgVal) &x; q[1].value = (XtArgVal) &y; XtGetValues(w,q,2); /* get button location */ --- 333,355 ---- { Widget temp; Position x,y; ! static Arg p[2]; ! static Arg q[2]; ! static Arg d[2]; ! int i; ! XWindowAttributes atts; + i = 0; + XtSetArg (p[i], XtNx, 0); i++; + XtSetArg (p[i], XtNy, 0); i++; + i = 0; + XtSetArg (q[i], XtNx, 0); i++; + XtSetArg (q[i], XtNy, 0); i++; + i = 0; + XtSetArg (d[i], XtNvalue, NULL); i++; + XtSetArg (d[i], XtNlabel, "Display Panel Name"); i++; + q[0].value = (XtArgVal) &x; q[1].value = (XtArgVal) &y; XtGetValues(w,q,2); /* get button location */ *************** *** 489,495 **** { call_button_func(gi_mode_buttons, g->mode); /* reset mode */ call_button_func(gi_how_buttons,g->cur_image_value-1); /* button func adds 1! */ ! call_button_func(gi_what_buttons,g->cur_unit_what-1); /* button func adds 1! */ call_button_func(gi_ldir_buttons,g->link_direction); call_button_func(gi_lhow_buttons,g->cur_lhow_value); reset_control_typeins(g); --- 489,495 ---- { call_button_func(gi_mode_buttons, g->mode); /* reset mode */ call_button_func(gi_how_buttons,g->cur_image_value-1); /* button func adds 1! */ ! call_button_func(gi_what_buttons,g->cur_unit_what-1); /* button func adds 1! */ call_button_func(gi_ldir_buttons,g->link_direction); call_button_func(gi_lhow_buttons,g->cur_lhow_value); reset_control_typeins(g); *************** *** 587,611 **** Widget temp; char buf[30]; Position x,y; ! static Arg p[] = ! { ! { XtNx, (XtArgVal) 0 }, ! { XtNy, (XtArgVal) 0 }, ! }; ! static Arg q[] = ! { ! { XtNx, (XtArgVal) 0 }, ! { XtNy, (XtArgVal) 0 }, ! }; ! static Arg d[] = ! { ! { XtNvalue, (XtArgVal) NULL }, ! { XtNlabel, (XtArgVal) "New Origin" }, ! }; Window root; XWindowAttributes atts; int width,height,border,depth; q[0].value = (XtArgVal) &x; q[1].value = (XtArgVal) &y; --- 587,611 ---- Widget temp; char buf[30]; Position x,y; ! int i; ! static Arg p[2]; ! static Arg q[2]; ! static Arg d[2]; ! Window root; XWindowAttributes atts; int width,height,border,depth; + + i = 0; + XtSetArg (p[i], XtNx, 0); i++; + XtSetArg (p[i], XtNy, 0); i++; + i = 0; + XtSetArg (q[i], XtNx, 0); i++; + XtSetArg (q[i], XtNy, 0); i++; + i = 0; + XtSetArg (d[i], XtNvalue, NULL); i++; + XtSetArg (d[i], XtNlabel, "New Origin"); i++; q[0].value = (XtArgVal) &x; q[1].value = (XtArgVal) &y; *************** *** 642,648 **** display_panel_t ipanel; Boolean reset; ! { /* doesn't change current panel unless reset is false */ display_panel_t tpanel; tpanel = gi_cur_ipanel; --- 642,648 ---- display_panel_t ipanel; Boolean reset; ! { /* doesn't change current panel unless reset is false */ display_panel_t tpanel; tpanel = gi_cur_ipanel; *************** *** 837,856 **** Widget p; { Widget temp; - static Arg a[] = { - { XtNfromHoriz, (XtArgVal) NULL }, - { XtNhorizDistance, (XtArgVal) 1 }, - { XtNfromVert, (XtArgVal) NULL }, - { XtNvertDistance, (XtArgVal) 1 }, - { XtNborderWidth, (XtArgVal) 1 }, - { XtNfont, (XtArgVal) &gi_default_font }, - }; #ifdef DEBUG ! printf("Xsupport: creating widget named %s.\n",s); #endif a[0].value = (XtArgVal) p; ! temp = XtCreateWidget(s, commandWidgetClass, w, a, XtNumber(a)); XtAddCallback(temp,XtNcallback,f,d); XtManageChild(temp); --- 837,867 ---- Widget p; { Widget temp; + static Arg a[7]; + int i; + static char main_table[] = + ": set()\n\ + : unset()\n\ + : notify()\n\ + : unset() "; + + static XtTranslations translations; + translations = XtParseTranslationTable(main_table); + i = 0; + XtSetArg (a[i], XtNfromHoriz, NULL ); i++ ; + XtSetArg (a[i], XtNhorizDistance, 1); i++; + XtSetArg (a[i], XtNfromVert, NULL); i++; + XtSetArg (a[i], XtNvertDistance, 1); i++; + XtSetArg (a[i], XtNborderWidth, 1); i++; + XtSetArg (a[i], XtNfont, &gi_default_font); i++; + XtSetArg( a[i], XtNtranslations, translations ); i++; + #ifdef DEBUG ! printf("Xsupport: creating widget named %s.\n display button\n",s); #endif a[0].value = (XtArgVal) p; ! temp = XtCreateWidget(s, commandWidgetClass, w, a, i); XtAddCallback(temp,XtNcallback,f,d); XtManageChild(temp); *************** *** 868,925 **** Widget form, box, box1, dbox, temp, fbox, vpane; XGCValues gc_values; Dimension dim; ! static Arg a[] = ! { ! {XtNheight, (XtArgVal) 0 }, ! {XtNsensitive, (XtArgVal) TRUE }, ! {XtNresizable, (XtArgVal) TRUE }, ! {XtNborderWidth, (XtArgVal) 0}, ! {XtNdefaultDistance, (XtArgVal) 0}, ! {XtNfromVert, (XtArgVal) NULL}, ! {XtNvertDistance, (XtArgVal) 0}, ! {XtNfromHoriz, (XtArgVal) NULL}, ! {XtNhorizDistance, (XtArgVal) 0}, ! {XtNtop, (XtArgVal) XtChainTop }, ! {XtNbottom, (XtArgVal) XtChainBottom }, ! {XtNleft, (XtArgVal) XtChainLeft }, ! {XtNright, (XtArgVal) XtChainRight }, ! }; ! static Arg b[] = ! { ! { XtNdefaultDistance, (XtArgVal) 1}, ! { XtNborderWidth, (XtArgVal) 0 }, ! }; ! static Arg c[] = ! { ! { XtNx, (XtArgVal) 0 }, ! { XtNy, (XtArgVal) 0 }, ! { XtNwidth, (XtArgVal) 0 }, ! { XtNheight, (XtArgVal) 0 }, ! { XtNdefaultDistance, (XtArgVal) 0}, ! { XtNborderWidth, (XtArgVal) 2}, ! }; ! static Arg d[] = ! { ! { XtNfromHoriz, (XtArgVal) NULL}, ! { XtNhorizDistance, (XtArgVal) 4}, ! { XtNwidth, (XtArgVal) 150 }, ! { XtNborderWidth, (XtArgVal) 0 }, ! { XtNfromVert, (XtArgVal) NULL }, ! { XtNvertDistance, (XtArgVal) 1 }, ! { XtNfont, (XtArgVal) &gi_default_font } ! }; ! static Arg e[] = ! { ! { XtNdefaultDistance, (XtArgVal) 0}, ! { XtNborderWidth, (XtArgVal) 0 }, ! }; ! static Arg f[] = ! { ! { XtNdefaultDistance, (XtArgVal) 0}, ! { XtNborderWidth, (XtArgVal) 0 }, ! }; gi_init_display_globals(ipanel); ipanel->free = False; ipanel->namepopup = NULL; --- 879,937 ---- Widget form, box, box1, dbox, temp, fbox, vpane; XGCValues gc_values; Dimension dim; + int i; + + static Arg a[13]; + static Arg b[2]; + static Arg c[6]; + static Arg d[7]; + static Arg e[2]; + static Arg f[2]; ! i = 0; ! XtSetArg (a[i], XtNheight, 0); i++; ! XtSetArg (a[i], XtNsensitive, TRUE); i++; ! XtSetArg (a[i], XtNresizable, TRUE); i++; ! XtSetArg (a[i], XtNborderWidth, 0); i++; ! XtSetArg (a[i], XtNdefaultDistance, 0); i++; ! XtSetArg (a[i], XtNfromVert, NULL); i++; ! XtSetArg (a[i], XtNvertDistance, 0); i++; ! XtSetArg (a[i], XtNfromHoriz, NULL); i++; ! XtSetArg (a[i], XtNhorizDistance, 0); i++; ! XtSetArg (a[i], XtNtop, XtChainTop); i++; ! XtSetArg (a[i], XtNbottom, XtChainBottom); i++; ! XtSetArg (a[i], XtNleft, XtChainLeft); i++; ! XtSetArg (a[i], XtNright, XtChainRight); i++; + i = 0; + XtSetArg (b[i], XtNdefaultDistance, 1); i++; + XtSetArg (b[i], XtNborderWidth, 0); i++; + + i = 0; + XtSetArg (c[i], XtNx, 0); i++; + XtSetArg (c[i], XtNy, 0); i++; + XtSetArg (c[i], XtNwidth, 0); i++; + XtSetArg (c[i], XtNheight, 0); i++; + XtSetArg (c[i], XtNdefaultDistance, 0); i++; + XtSetArg (c[i], XtNborderWidth, 2); i++; + + i = 0; + XtSetArg (d[i], XtNfromHoriz, NULL); i++; + XtSetArg (d[i], XtNhorizDistance, 4); i++; + XtSetArg (d[i], XtNwidth, 150); i++; + XtSetArg (d[i], XtNborderWidth, 0); i++; + XtSetArg (d[i], XtNfromVert, NULL); i++; + XtSetArg (d[i], XtNvertDistance, 1); i++; + XtSetArg (d[i], XtNfont, &gi_default_font); i++; + + i = 0; + XtSetArg (e[i], XtNdefaultDistance, 0); i++; + XtSetArg (e[i], XtNborderWidth, 0); i++; + + i = 0; + XtSetArg (f[i], XtNdefaultDistance, 0); i++; + XtSetArg (f[i], XtNborderWidth, 0); i++; + gi_init_display_globals(ipanel); ipanel->free = False; ipanel->namepopup = NULL; *************** *** 1002,1014 **** display_panel_t ip,last; int i = 0; char buf[32]; ! static Arg a[] = ! { ! {XtNwidth, (XtArgVal) 0 }, ! {XtNheight, (XtArgVal) 0 }, ! {XtNx, (XtArgVal) 0 }, ! {XtNy, (XtArgVal) 0 }, ! }; for(i = 0, last=ip=gi_display_panel_head; (ip != NULL) && (last->free == False); --- 1014,1024 ---- display_panel_t ip,last; int i = 0; char buf[32]; ! static Arg a[4]; ! XtSetArg (a[i], XtNwidth, 0); i++; ! XtSetArg (a[i], XtNheight, 0); i++; ! XtSetArg (a[i], XtNx, 0); i++; ! XtSetArg (a[i], XtNy, 0); i++; for(i = 0, last=ip=gi_display_panel_head; (ip != NULL) && (last->free == False); Common subdirectories: tapes/rcs4.2/src/xgi/icon and rcs4.2/src/xgi/icon diff -c -r tapes/rcs4.2/src/xgi/info_panel.c rcs4.2/src/xgi/info_panel.c *** tapes/rcs4.2/src/xgi/info_panel.c Thu Oct 12 17:13:10 1989 --- rcs4.2/src/xgi/info_panel.c Thu Nov 30 21:05:56 1989 *************** *** 143,191 **** /* Make a new info_widget shell */ info_panel_t ipanel; Widget box, button; - - static Arg a[] = - { - { XtNheight, (XtArgVal) 0 }, - { XtNstring, (XtArgVal) NULL }, - { XtNwidth, (XtArgVal) 0 }, - { XtNeditType, (XtArgVal) XttextEdit }, - { XtNlength, (XtArgVal) 150 }, - { XtNborderWidth, (XtArgVal) 0}, - { XtNtextOptions, (XtArgVal) (resizeWidth | resizeHeight)}, - { XtNfont, (XtArgVal) &gi_default_font }, - { XtNleft, (XtArgVal) XtChainLeft }, - { XtNright, (XtArgVal) XtChainRight }, - }; - static Arg b[] = - { - { XtNfromVert, (XtArgVal) NULL }, - { XtNvertDistance, (XtArgVal) 2 }, - { XtNfromHoriz, (XtArgVal) NULL }, - { XtNhorizDistance, (XtArgVal) 2 }, - { XtNtop, (XtArgVal) XtChainBottom }, - { XtNbottom, (XtArgVal) XtChainBottom }, - }; - static Arg c[] = - { - { XtNx, (XtArgVal) 0 }, - { XtNy, (XtArgVal) 0 }, - }; - static Arg d[] = - { - { XtNfromVert, (XtArgVal) NULL }, - { XtNfromHoriz, (XtArgVal) NULL }, - { XtNvertDistance, (XtArgVal) 2 }, - { XtNhorizDistance, (XtArgVal) 2 }, - { XtNfont, (XtArgVal) &gi_default_font }, - { XtNtop, (XtArgVal) XtChainBottom }, - { XtNbottom, (XtArgVal) XtChainBottom }, - }; - static Arg form_args[] = - { - { XtNdefaultDistance, (XtArgVal) 1 }, - }; ipanel = (info_panel_t)malloc(sizeof(*ipanel)); c[0].value = (XtArgVal) index*8; ipanel->popup = XtCreatePopupShell("info_shell",transientShellWidgetClass, --- 143,203 ---- /* Make a new info_widget shell */ info_panel_t ipanel; Widget box, button; + static Arg a[10]; + static Arg b[7]; + static Arg c[2]; + static Arg d[8]; + static Arg form_args[1]; + + int i; + + static char main_table[] = + ": set()\n\ + : unset()\n\ + : notify()\n\ + : unset() "; + static XtTranslations translations; + translations = XtParseTranslationTable(main_table); + + i = 0; + XtSetArg( a[i], XtNheight, 0); i++; + XtSetArg( a[i], XtNstring, NULL); i++; + XtSetArg( a[i], XtNwidth, 0); i++; + XtSetArg( a[i], XtNeditType, XttextEdit); i++; + XtSetArg( a[i], XtNlength, 150); i++; + XtSetArg( a[i], XtNborderWidth, 0); i++; + XtSetArg( a[i], XtNtextOptions, (resizeWidth | resizeHeight)); i++; + XtSetArg( a[i], XtNfont, &gi_default_font); i++; + XtSetArg( a[i], XtNleft, XtChainLeft); i++; + XtSetArg( a[i], XtNright, XtChainRight); i++; + + i = 0; + XtSetArg( b[i], XtNfromVert, NULL); i++; + XtSetArg( b[i], XtNvertDistance, 2); i++; + XtSetArg( b[i], XtNfromHoriz, NULL); i++; + XtSetArg( b[i], XtNhorizDistance, 2); i++; + XtSetArg( b[i], XtNtop, XtChainBottom); i++; + XtSetArg( b[i], XtNbottom, XtChainBottom); i++; + XtSetArg( b[i], XtNtranslations, translations ); i++; + + i = 0; + XtSetArg( c[i], XtNx, 0); i++; + XtSetArg( c[i], XtNy, 0); i++; + + i = 0; + XtSetArg( d[i], XtNfromVert, NULL); i++; + XtSetArg( d[i], XtNfromHoriz, NULL); i++; + XtSetArg( d[i], XtNvertDistance, 2); i++; + XtSetArg( d[i], XtNhorizDistance, 2); i++; + XtSetArg( d[i], XtNfont, &gi_default_font); i++; + XtSetArg( d[i], XtNtop, XtChainBottom); i++; + XtSetArg( d[i], XtNbottom, XtChainBottom); i++; + XtSetArg( d[i], XtNtranslations, translations ); i++; + + i = 0; + XtSetArg( form_args[i], XtNdefaultDistance, 1); i++; + ipanel = (info_panel_t)malloc(sizeof(*ipanel)); c[0].value = (XtArgVal) index*8; ipanel->popup = XtCreatePopupShell("info_shell",transientShellWidgetClass, *************** *** 332,345 **** char tbuf[64]; int newidthn, newidtht, defwidth; static Dimension width; ! static Arg a[] = ! { ! { XtNwidth, (XtArgVal) &width } ! }; ! static Arg b[] = ! { ! { XtNwidth, (XtArgVal) 0 } ! }; /* check if there is an object at this display coordinate */ if ((ptr=gi_find_grobj(x,y))!=NULL) { --- 344,360 ---- char tbuf[64]; int newidthn, newidtht, defwidth; static Dimension width; ! ! static Arg a[1]; ! static Arg b[1]; ! int i; ! ! i = 0; ! XtSetArg( a[i], XtNwidth, &width); i++; ! ! i = 0; ! XtSetArg( b[i], XtNwidth, 0); i++; ! /* check if there is an object at this display coordinate */ if ((ptr=gi_find_grobj(x,y))!=NULL) { diff -c -r tapes/rcs4.2/src/xgi/main.c rcs4.2/src/xgi/main.c *** tapes/rcs4.2/src/xgi/main.c Tue Sep 26 19:13:32 1989 --- rcs4.2/src/xgi/main.c Mon Dec 4 09:31:54 1989 *************** *** 35,41 **** #include #include ! #undef DEBUG /* default tool window dimensions -- may be changed by -W flags */ #define SCREEN_TOP 100 --- 35,41 ---- #include #include ! /* default tool window dimensions -- may be changed by -W flags */ #define SCREEN_TOP 100 diff -c -r tapes/rcs4.2/src/xgi/mode_panel.c rcs4.2/src/xgi/mode_panel.c *** tapes/rcs4.2/src/xgi/mode_panel.c Tue Sep 26 19:01:38 1989 --- rcs4.2/src/xgi/mode_panel.c Mon Nov 27 14:43:19 1989 *************** *** 49,61 **** */ Widget temp; ! static Arg layout_args[] = { ! { XtNfromHoriz, (XtArgVal)NULL }, ! { XtNhorizDistance, (XtArgVal)10 }, ! { XtNborderWidth, (XtArgVal) 0}, ! }; ! static char *mode_names[]={" Main "," Link "," Text "," Draw "," Custom ",0}; /* create the mode panel itself */ if ((mode_panel = XtCreateManagedWidget("MODE_PANEL", formWidgetClass, gi_tool, --- 49,63 ---- */ Widget temp; ! static Arg layout_args[3]; ! int i; ! static char *mode_names[]={" Main "," Link "," Text "," Draw "," Custom ",0}; + + i = 0; + XtSetArg( layout_args[i], XtNfromHoriz,NULL); i++; + XtSetArg( layout_args[i], XtNhorizDistance,10); i++; + XtSetArg( layout_args[i], XtNborderWidth, 0); i++; /* create the mode panel itself */ if ((mode_panel = XtCreateManagedWidget("MODE_PANEL", formWidgetClass, gi_tool, diff -c -r tapes/rcs4.2/src/xgi/msg_panel.c rcs4.2/src/xgi/msg_panel.c *** tapes/rcs4.2/src/xgi/msg_panel.c Tue Sep 26 19:14:06 1989 --- rcs4.2/src/xgi/msg_panel.c Mon Nov 27 14:44:48 1989 *************** *** 43,57 **** /* creates the message panel */ ! static Arg p[] = ! { ! { XtNjustify, (XtArgVal) XtJustifyLeft }, ! { XtNlabel, (XtArgVal) msg_item_buf }, ! { XtNborderWidth, (XtArgVal) 0 }, ! { XtNfont, (XtArgVal) &gi_default_font }, ! { XtNleft, (XtArgVal) XtChainLeft }, ! { XtNhorizDistance, (XtArgVal) 10 }, ! }; /* define the message panel */ if ((msg_panel=XtCreateManagedWidget("MSG_PANEL", formWidgetClass, gi_tool, --- 43,57 ---- /* creates the message panel */ ! static Arg p[6]; ! int i; ! i = 0; ! XtSetArg( p[i], XtNjustify, XtJustifyLeft); i++; ! XtSetArg( p[i], XtNlabel, msg_item_buf); i++; ! XtSetArg( p[i], XtNborderWidth, 0); i++; ! XtSetArg( p[i], XtNfont, &gi_default_font); i++; ! XtSetArg( p[i], XtNleft, XtChainLeft); i++; ! XtSetArg( p[i], XtNhorizDistance, 10); i++; /* define the message panel */ if ((msg_panel=XtCreateManagedWidget("MSG_PANEL", formWidgetClass, gi_tool, Common subdirectories: tapes/rcs4.2/test/4.1 and rcs4.2/test/4.1 Common subdirectories: tapes/rcs4.2/test/basicsim and rcs4.2/test/basicsim Common subdirectories: tapes/rcs4.2/test/performance and rcs4.2/test/performance