I am trying to get a nifty "diff"-type utility to run under 10.2.8 using the bash shell. (As a point of general interest, this utility is similar to diff, except it compares numerical tokens found in each line of the compared files and will not report a "difference" if all the tokens in the line match to within a specified floating point tolerance; very slick for comparing the output of large numerical tables that differ only in numerically inconsequential ways, like the difference between [.001 and 0.001] or between [1.0001 and 1.0].) I am almost there: 1. Tracked down the source package from the Darwin Open Systems site, unzipped and untarred. (It isn't available on fink) 2. Made what appear to be reasonable MAKEFILE adjustments (more below) 3. Made minor tweaks to correct for a couple of compile/link keyword conflict problems that developed. 4. Finally got "make" to run to completion and produce a spiff executable that actually seems to work, sort of. The problem: After executing spiff (and getting quite reasonably formatted spiff output in the terminal window), the terminal attributes of my shell window are hosed (Examples: (1) I can't see what I am typing to the CLI; (2) the output stream to shell commands forgets the meaning of "carriage return", producing staggered output like the following response in to "ls" (note the post-command bash prompt $ does not even end up in the leftmost window position.) ============================================================================ $ COPYRIGHT comment.h float.h miller.o parse.o tol.c Makefile comment.o float.o misc.c spiff tol.h . . similar stuff snipped out here . . command.c exact.h token.c command.o flagdefs.h miller.c parse.c token.h comment.c float.c miller.h parse.h token.o $ ============================================================================ The terminal-relevant configuration portions of the MAKEFILE are pretty simple, but I have tried all four terminal alternatives (item (2) of the makefile configuration below) and the two that produce spiff executables (2a and 2c) both have the barfing terminal syndrome. I can work-around the problem with a terminal reset after each spiff invocation, but this is kind of inelegant. I am admittedly way over my head here, and very happy to have gotten this far, but does anyone have any suggestions for fixing this final cosmetic glitch? In particular, how do I find out whether I am "using terminfo" or "using termcap" or whatever? Thanks for any guidance, Richard ============================================================================ Makefile configuration section ============================================================================ # # choose one from each of 1) 2) and 3) below # # # 1) SELECTION OF OPERATING SYSTEM VARIETY # choose a) b) or c) # # a) for BSD derivitives, enable the following line OSFLAG= # b) for XENIX systems, enable the following line #OSFLAG=-DXENIX # b) for other A.T.&T. UNIX derivitives, enable the following line #OSFLAG=-DATT # # 2) SELECTION OF TERMINAL CONTROL LIBRARY # choose either of a) b) or c) # # a) if you use termcap, enable the following lines #TFLAG=-DM_TERMCAP #TLIB=termcap # b) if you are using terminfo on a XENIX machine, enable the following lines #TFLAG=-DM_TERMINFO #TLIB=tinfo # c) if you use terminfo on any other type of machine, # enable the following lines TFLAG=-DM_TERMINFO TLIB=curses # d) NONE OF THE ABOVE #CTFLAG= #TLIB=m # just a link to mathlib; quick hack to avoid fixing Makefile # # 3) SELECTION OF WINDOW MANAGER AVAILABILITY # # if you have the Bellcore's MGR window manager, enable the following lines #VISFLAG=-DMGR #VISLIB=/usr/public/pkg/mgr/lib/libmgr.a #MGRINCDIR=-I/usr/public/pkg/mgr/include #MGRINCS=$(MGRINC)/dump.h $(MGRINC)/term.h $(MGRINC)/restart.h $(MGRINC)/window.h # # END OF LOCAL CONFIGRATION INFORMATION, the rest of this # file may be modified only at great risk # -- caveat hackor