home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume30 / perl / patch20 next >
Encoding:
Text File  |  1992-06-11  |  49.3 KB  |  1,861 lines

  1. Newsgroups: comp.sources.misc
  2. From: lwall@netlabs.com (Larry Wall)
  3. Subject:  v30i031:  perl - The perl programming language, Patch20
  4. Message-ID: <csm-v30i031=perl.125733@sparky.IMD.Sterling.COM>
  5. X-Md4-Signature: c17f22ad664883ebe959c0a05e81fb0c
  6. Date: Thu, 11 Jun 1992 17:58:52 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: lwall@netlabs.com (Larry Wall)
  10. Posting-number: Volume 30, Issue 31
  11. Archive-name: perl/patch20
  12. Environment: UNIX, MS-DOS, OS2
  13. Patch-To: perl: Volume 18, Issue 19-54
  14.  
  15. System: perl version 4.0
  16. Patch #: 20
  17. Priority: highish
  18.  
  19. Description:
  20.     ENHANCEMENTS
  21. Subject: relaxed requirement for semicolon at the end of a block
  22. Subject: scalar keys %array now counts keys for you
  23. Subject: added ... as variant on ..
  24. Subject: get*by* routines now return something useful in a scalar context
  25. Subject: form feed for formats is now specifiable via $^L
  26. Subject: PERLLIB now supports multiple directories
  27. Subject: paragraph mode now skips extra newlines automatically
  28.  
  29.     MANPAGE
  30. Subject: documented that numbers may contain underline
  31. Subject: clarified that DATA may only be read from main script
  32. Subject: documented need for 1; at the end of a required file
  33. Subject: extended bracket-style quotes to two-arg operators: s()() and tr()()
  34. Subject: documented PERLLIB and PERLDB
  35. Subject: documented limit on size of regexp
  36.  
  37.     CONFIGURATION
  38. Subject: bcopy() and memcpy() now tested for overlap safety
  39. Subject: isascii() may now be supplied by a library routine
  40. Subject: Configure now allows optional continuation with files missing
  41. Subject: many more hints files added
  42. Subject: many more hints added
  43. Subject: hints now auto selected on uname -s as well as uname -m
  44. Subject: OSF/1 support added
  45. Subject: Configure growing-library-list bug fixed
  46. Subject: seekdir(), telldir() and rewinddir() now checked for independently
  47. Subject: cray didn't give enough memory to /bin/sh
  48. Subject: perl -P now uses location of sed determined by Configure
  49. Subject: SH files didn't work well with symbolic links
  50. Subject: makefiles now display new shift/reduce expectations
  51. Subject: support added to installperl for cross-compilation
  52. Subject: a2p was installed unexecutable
  53. Subject: installperl didn't warn on failed manpage installation
  54. Subject: disabled cpp test if cppstdin not yet installed
  55.  
  56.     PORTABILITY
  57. Subject: O_PIPE conflicted with Atari
  58. Subject: config.H updated to reflect more recent config.h
  59. Subject: removed implicit int declarations on functions
  60. Subject: added Atari ST portability
  61. Subject: some machines don't define ENOTSOCK in errno.h
  62. Subject: added explicit time_t support
  63. Subject: alternate config.h files upgraded
  64. Subject: new OS/2 support
  65.  
  66.     COMPILER
  67. Subject: various error messages have been clarified
  68. Subject: the switch optimizer didn't do anything in subroutines
  69. Subject: clarified debugging output for literals and double-quoted strings
  70. Subject: new warning for use of x with non-numeric right operand
  71. Subject: illegal lvalue message could be followed by core dump
  72. Subject: new warning for ambiguous use of unary operators
  73. Subject: eval "1 #comment" didn't work
  74. Subject: semantic compilation errors didn't abort execution
  75. Subject: an expression may now start with a bareword
  76. Subject: if {block} {block} didn't work any more
  77. Subject: "$var{$foo'bar}" didn't scan subscript correctly
  78. Subject: an EXPR may now start with a bareword
  79. Subject: print $fh EXPR can now expect term rather than operator in EXPR
  80. Subject: new warning on spurious backslash
  81. Subject: new warning on missing $ for foreach variable
  82. Subject: "foo"x1024 now legal without space after x
  83. Subject: new warning on print accidentally used as function
  84. Subject: 2. now eats the dot
  85. Subject: <@ARGV> now notices @ARGV
  86. Subject: tr/// now lets you say \-
  87.  
  88.     RUNTIME
  89. Subject: an eval block containing a null block or statement could dump core
  90. Subject: modulus with highest bit in left operand set didn't always work
  91. Subject: join() now pre-extends target string to avoid excessive copying
  92. Subject: subroutines didn't localize $`, $&, $', $1 et al correctly
  93. Subject: usersub routines didn't reclaim temp values soon enough
  94. Subject: ($<,$>) = ... didn't work on some architectures
  95. Subject: fixed memory leak on system() for vfork() machines
  96. Subject: @ in unpack failed too often
  97. Subject: slice on null list in scalar context returned random value
  98. Subject: splice with negative offset didn't work with $[ = 1
  99. Subject: fixed some memory leaks in splice
  100. Subject: dbmclose(%array) didn't work
  101. Subject: delete could cause %array to give too low a count of buckets filled
  102. Subject: hash tables now split only if the memory is available to do so
  103. Subject: realloc(0, size) now does malloc in case library routines call it
  104. Subject: running taintperl explicitly now does checks even if $< == $>
  105. Subject: fixed memory leak in doube-quote interpretation
  106. Subject: a splice on non-existent array elements could dump core
  107. Subject: tr/stuff// wasn't working right
  108.  
  109.     I/O
  110. Subject: new warnings for failed use of stat operators on filenames with \n
  111. Subject: wait failed when STDOUT or STDERR reopened to a pipe
  112. Subject: end of file latch not reset on reopen of STDIN
  113. Subject: seek(HANDLE, 0, 1) went to eof because of ancient Ultrix workaround
  114. Subject: h_errno now accessible via $?
  115.  
  116.     REGEXP
  117. Subject: pattern modifiers i and o didn't interact right
  118. Subject: g pattern modifer sometimes returned extra values
  119. Subject: m/$pattern/g didn't work
  120. Subject: /^stuff/ wrongly assumed an implicit $* == 1
  121. Subject: /x{0}/ was wrongly interpreted as /x{0,}/
  122. Subject: added \W, \S and \D inside /[...]/
  123. Subject: pattern modifiers i and g didn't interact right
  124. Subject: in some cases $` and $' didn't get set by match
  125. Subject: made /\$$foo/ look for literal '$foo'
  126.  
  127.     LIBRARIES
  128. Subject: big*.pl library files upgraded
  129. Subject: better support in chat2 for multiple children
  130. Subject: &ctime didn't handle $[ != 0
  131. Subject: find.pl got confused by unreadable directories
  132. Subject: new version of newgetopt.pl
  133. Subject: Tom's famous double-ended pipe opener, open2(), is now included
  134. Subject: support added to pwd.pl to strip automounter crud
  135. Subject: &shellwords looped on bad input, and used inefficient regular exprs
  136. Subject: termcap.pl didn't parse termcap terminal names right
  137. Subject: timelocal could loop on bad input
  138. Subject: timelocal now calculates DST itself
  139. Subject: &getcap eventually dumped core in bsdcurses
  140.  
  141.     DEBUGGER
  142. Subject: support for MSDOS folded into perldb.pl
  143. Subject: perldb couldn't debug file containing '-', such as STDIN designator
  144. Subject: the debugger now warns you on lines that can't set a breakpoint
  145. Subject: the debugger made perl forget the last pattern used by //
  146. Subject: fixed double debug break in foreach with implicit array assignment
  147. Subject: debugger sometimes displayed wrong source line
  148.  
  149.     INTERSTICES
  150. Subject: Perl now distinguishes overlapped copies from non-overlapped
  151. Subject: fixed confusion between a *var's real name and its effective name
  152. Subject: deleted some minor memory leaks
  153. Subject: couldn't require . files
  154. Subject: -e 'cmd' no longer fails silently if /tmp runs out of space
  155. Subject: function key support added to curses.mus
  156.  
  157.     TRANSLATORS
  158. Subject: find2perl assumed . in PATH
  159. Subject: find2perl didn't output portable startup code
  160. Subject: find2perl didn't always stat at the right time
  161. Subject: s2p didn't output portable startup code
  162. Subject: s2p didn't translate s/pat/\&/ or s/pat/\$/ or s/pat/\\1/ right
  163. Subject: in a2p, getline should allow variable to be array element
  164. Subject: in a2p, now warns about spurious backslashes
  165. Subject: in a2p, now allows [ to be backslashed in pattern
  166. Subject: in a2p, now allows numbers of the form 2.
  167. Subject: in a2p, simplified the filehandle model
  168. Subject: in a2p, made RS="" translate to $/ = "\n\n"
  169. Subject: in a2p, do {...} while ... was missing some reconstruction code
  170.  
  171. Fix:    From rn, say "| patch -p -N -d DIR", where DIR is your perl source
  172.     directory.  Outside of rn, say "cd DIR; patch -p -N <thisarticle".
  173.     If you don't have the patch program, apply the following by hand,
  174.     or get patch (version 2.0, latest patchlevel).
  175.  
  176.     After patching:
  177.         *** DO NOTHING--INSTALL ALL PATCHES UP THROUGH #33 FIRST ***
  178.  
  179.     If patch indicates that patchlevel is the wrong version, you may need
  180.     to apply one or more previous patches, or the patch may already
  181.     have been applied.  See the patchlevel.h file to find out what has or
  182.     has not been applied.  In any event, don't continue with the patch.
  183.  
  184.     If you are missing previous patches they can be obtained from me:
  185.  
  186.     Larry Wall
  187.     lwall@netlabs.com
  188.  
  189.     If you send a mail message of the following form it will greatly speed
  190.     processing:
  191.  
  192.     Subject: Command
  193.     @SH mailpatch PATH perl 4.0 LIST
  194.            ^ note the c
  195.  
  196.     where PATH is a return path FROM ME TO YOU either in Internet notation,
  197.     or in bang notation from some well-known host, and LIST is the number
  198.     of one or more patches you need, separated by spaces, commas, and/or
  199.     hyphens.  Saying 35- says everything from 35 to the end.
  200.  
  201.  
  202. Index: patchlevel.h
  203. Prereq: 19
  204. 1c1
  205. < #define PATCHLEVEL 19
  206. ---
  207. > #define PATCHLEVEL 20
  208.  
  209. Index: hints/3b1.sh
  210. *** hints/3b1.sh.old    Mon Jun  8 17:47:38 1992
  211. --- hints/3b1.sh    Mon Jun  8 17:47:39 1992
  212. ***************
  213. *** 1,4 ****
  214.   d_voidsig='undef'
  215. ! d_tosignal='int';
  216. ! echo "If you're going to use shared libraries, don't include -lmalloc, and"
  217. ! echo "change cc to '/bin/ccc' when editing config.sh at the end."
  218. --- 1,15 ----
  219.   d_voidsig='undef'
  220. ! d_tosignal='int'
  221. ! gidtype='int'
  222. ! groupstype='int'
  223. ! uidtype='int'
  224. ! # Note that 'Configure' is run from 'UU', hence the strange 'ln'
  225. ! # command.
  226. ! for i in .. ../x2p
  227. ! do
  228. !       rm -f $i/3b1cc
  229. !       ln ../hints/3b1cc $i
  230. ! done
  231. ! echo "\nIf you want to use the 3b1 shared libraries, complete this script then"
  232. ! echo "read the header in 3b1cc.           [Type carriage return to continue]\c"
  233. ! read vch
  234.  
  235. Index: hints/3b1cc
  236. *** hints/3b1cc.old    Mon Jun  8 17:47:40 1992
  237. --- hints/3b1cc    Mon Jun  8 17:47:41 1992
  238. ***************
  239. *** 0 ****
  240. --- 1,86 ----
  241. + # To incorporate the 7300/3b1 shared library, run this script in place
  242. + # of 'CC'.
  243. + # First: Run 'Configure' through to the end and run 'make depend'.
  244. + # Second: Edit 'makefile' ( not Makefile ) and set CC = 3b1cc.
  245. + # Third: Edit 'x2p/makefile' and set CC = 3b1cc.
  246. + #
  247. + # Do not use '3b1cc' as the default compiler.  The call to the default
  248. + # compiler is used by 'perl' and will not be available when running
  249. + # 'perl'.
  250. + #
  251. + # Note: This script omits libraries which are redundant in the shared
  252. + # library.  It is an excerpt from a grander version available upon
  253. + # request from "zebra!vern" or "vern@zebra.alphacdc.com".
  254. + CC="cc"
  255. + LIBS=
  256. + INCL=
  257. + LD="ld"
  258. + SHAREDLIB="/lib/crt0s.o /lib/shlib.ifile"
  259. + # Local variables
  260. + COBJS=
  261. + LOBJS=
  262. + TARG=
  263. + FLAGS=
  264. + CMD=
  265. + # These are libraries which are incorporated in the shared library
  266. + OMIT="-lmalloc"
  267. + # These routines are in libc.a but not in the shared library
  268. + if [ ! -f vsprintf.o -o ! -f doprnt.o ]
  269. + then
  270. +     echo "Extracting vsprintf.o from libc.a"
  271. +     ar -x /lib/libc.a vsprintf.o doprnt.o
  272. + fi
  273. + CMD="$CC"
  274. + while [ $# -gt 0 ]
  275. + do
  276. +     case $1 in
  277. +     -c)    CFLAG=$1;;
  278. +     -o)    CFLAG=$1
  279. +         shift
  280. +         TARG="$1";;
  281. +     -l*)    match=false
  282. +         for i in $OMIT
  283. +         do
  284. +             [ "$i" = "$1" ] && match=true
  285. +         done
  286. +         [ "$match" != false ] || LIBS="$LIBS $1";;
  287. +     -*)    FLAGS="$FLAGS $1";;
  288. +     *.c)    COBJS="$COBJS $1";;
  289. +     *.o)    LOBJS="$LOBJS $1";;
  290. +     *)    TARG="$1";;
  291. +     esac
  292. +     shift
  293. + done
  294. + if [ -n "$COBJS" ]
  295. + then
  296. +     CMD="$CMD $FLAGS $INCL $LPATHS $LIBS $COBJS $CFLAG $TARG"
  297. + elif [ -n "$LOBJS" ]
  298. + then
  299. +     LOBJS="$LOBJS vsprintf.o doprnt.o"
  300. +     CMD="$LD -r $LOBJS $LPATHS $LIBS -o temp.o"
  301. +     echo "\t$CMD"
  302. +     $CMD
  303. +     CMD="$LD -s temp.o $SHAREDLIB -o $TARG"
  304. +     echo "\t$CMD"
  305. +     $CMD
  306. +     ccrslt=$?
  307. +     if [ $ccrslt -ne 0 ]
  308. +     then
  309. +         exit $ccrslt
  310. +     fi
  311. +     CMD="rm -f temp.o"
  312. + else
  313. +     exit 1
  314. + fi
  315. + echo "\t$CMD"
  316. + $CMD
  317. + ccrslt=$?
  318. + rm -f $$.c    
  319. + exit $ccrslt
  320.  
  321. Index: Configure
  322. Prereq: 4.0.1.6
  323. *** Configure.old    Mon Jun  8 17:34:06 1992
  324. --- Configure    Mon Jun  8 17:34:08 1992
  325. ***************
  326. *** 8,14 ****
  327.   # and edit it to reflect your system.  Some packages may include samples
  328.   # of config.h for certain machines, so you might look for one of those.)
  329.   #
  330. ! # $RCSfile: Configure,v $$Revision: 4.0.1.6 $$Date: 91/11/11 16:26:51 $
  331.   #
  332.   # Yes, you may rip this off to use in other distribution packages.
  333.   # (Note: this Configure script was generated automatically.  Rather than
  334. --- 8,14 ----
  335.   # and edit it to reflect your system.  Some packages may include samples
  336.   # of config.h for certain machines, so you might look for one of those.)
  337.   #
  338. ! # $RCSfile: Configure,v $$Revision: 4.0.1.7 $$Date: 92/06/08 11:38:16 $
  339.   #
  340.   # Yes, you may rip this off to use in other distribution packages.
  341.   # (Note: this Configure script was generated automatically.  Rather than
  342. ***************
  343. *** 49,54 ****
  344. --- 49,55 ----
  345.       echo "(I see you are using the Korn shell.  Some ksh's blow up on Configure," && \
  346.       echo "especially on exotic machines.  If yours does, try the Bourne shell instead.)"
  347.   
  348. + unset CDPATH
  349.   if test ! -d ../UU; then
  350.       if test ! -d UU; then
  351.       mkdir UU
  352. ***************
  353. *** 132,137 ****
  354. --- 133,139 ----
  355.   cppminus=''
  356.   d_bcmp=''
  357.   d_bcopy=''
  358. + d_safebcpy=''
  359.   d_bzero=''
  360.   d_castneg=''
  361.   castflags=''
  362. ***************
  363. *** 154,163 ****
  364. --- 156,169 ----
  365.   d_getprior=''
  366.   d_htonl=''
  367.   d_index=''
  368. + d_isascii=''
  369.   d_killpg=''
  370.   d_lstat=''
  371.   d_memcmp=''
  372.   d_memcpy=''
  373. + d_safemcpy=''
  374. + d_memmove=''
  375. + d_memset=''
  376.   d_mkdir=''
  377.   d_msg=''
  378.   d_msgctl=''
  379. ***************
  380. *** 169,175 ****
  381. --- 175,183 ----
  382.   d_open3=''
  383.   d_readdir=''
  384.   d_rename=''
  385. + d_rewindir=''
  386.   d_rmdir=''
  387. + d_seekdir=''
  388.   d_select=''
  389.   d_sem=''
  390.   d_semctl=''
  391. ***************
  392. *** 202,207 ****
  393. --- 210,216 ----
  394.   d_strerror=''
  395.   d_symlink=''
  396.   d_syscall=''
  397. + d_telldir=''
  398.   d_truncate=''
  399.   d_vfork=''
  400.   d_voidsig=''
  401. ***************
  402. *** 340,346 ****
  403.   attrlist="$attrlist u3b2 u3b20 u3b200 u3b5 ultrix unix vax venix xenix"
  404.   attrlist="$attrlist z8000"
  405.   boPATH=""
  406. ! eoPATH="/usr/ucb /bin /usr/bin /usr/local /usr/local/bin /usr/lbin /usr/plx /usr/5bin /vol/local/bin /etc /usr/lib /lib /usr/local/lib /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/bin /bsd4.3/usr/ucb /bsd43/usr/bin"
  407.   d_newshome="/usr/NeWS"
  408.   errnolist=errnolist
  409.   h_fcntl=false
  410. --- 349,355 ----
  411.   attrlist="$attrlist u3b2 u3b20 u3b200 u3b5 ultrix unix vax venix xenix"
  412.   attrlist="$attrlist z8000"
  413.   boPATH=""
  414. ! eoPATH="/usr/ucb /bin /usr/bin /usr/local /usr/local/bin /usr/lbin /usr/plx /usr/5bin /vol/local/bin /etc /usr/lib /lib /usr/local/lib /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/bin /bsd4.3/usr/ucb /bsd43/usr/bin /usr/ccs/lib /opt/SUNWste/bin /usr/opt/SUNWste/bin"
  415.   d_newshome="/usr/NeWS"
  416.   errnolist=errnolist
  417.   h_fcntl=false
  418. ***************
  419. *** 354,375 ****
  420.   d_ndir=ndir
  421.   voidwant=1
  422.   voidwant=7
  423. ! libswanted="c_s net_s net socket nsl_s nsl nm ndir ndbm dbm PW malloc sun m bsd BSD x posix ucb"
  424.   inclwanted='/usr/include /usr/netinclude /usr/include/sun /usr/include/bsd /usr/include/lan /usr/ucbinclude'
  425.   
  426.   : Now test for existence of everything in MANIFEST
  427.   
  428.   echo "First let's make sure your kit is complete.  Checking..."
  429. ! awk '$1 !~ /PACKINGLIST/ {print $1}' ../MANIFEST | split -200
  430.   rm -f missing
  431.   for filelist in x??; do
  432.       (cd ..; ls `cat UU/$filelist` >/dev/null 2>>UU/missing)
  433.   done
  434.   if test -s missing; then
  435.       cat missing
  436. !     kill $$
  437.   fi
  438. - echo "Looks good..."
  439.   
  440.   : some greps do not return status, grrr.
  441.   echo "grimblepritz" >contains.txt
  442. --- 363,387 ----
  443.   d_ndir=ndir
  444.   voidwant=1
  445.   voidwant=7
  446. ! libswanted="c_s net_s net socket nsl_s nsl nm ndir dir ndbm dbm PW malloc sun m bsd BSD x posix ucb"
  447.   inclwanted='/usr/include /usr/netinclude /usr/include/sun /usr/include/bsd /usr/include/lan /usr/ucbinclude'
  448.   
  449.   : Now test for existence of everything in MANIFEST
  450.   
  451.   echo "First let's make sure your kit is complete.  Checking..."
  452. ! awk '$1 !~ /PACKINGLIST/ {print $1}' ../MANIFEST | split -100
  453.   rm -f missing
  454.   for filelist in x??; do
  455.       (cd ..; ls `cat UU/$filelist` >/dev/null 2>>UU/missing)
  456.   done
  457.   if test -s missing; then
  458. +     echo "WARNING: the following files are missing:"
  459.       cat missing
  460. !     echo "INTERRUPT NOW, OR HIT RETURN TO PROCEED AT YOUR OWN RISK"
  461. !     read junk
  462. ! else
  463. !     echo "Looks good..."
  464.   fi
  465.   
  466.   : some greps do not return status, grrr.
  467.   echo "grimblepritz" >contains.txt
  468. ***************
  469. *** 778,785 ****
  470. --- 790,800 ----
  471.       mips*) dflt="$dflt mips";;
  472.       [23]100) dflt="$dflt mips";;
  473.       next*) dflt="$dflt next" ;;
  474. +     6000) dflt="$dflt mc6000";;
  475.       esac
  476.   
  477. +     test -f "../hints/$1.sh" && dflt="$dflt $1"
  478.       case "$1" in
  479.       aix) dflt="$dflt aix_rs" ;;
  480.       sunos) case "$3" in
  481. ***************
  482. *** 789,800 ****
  483.           4.0.2) dflt="$dflt sunos_4_0_2" ;;
  484.           esac
  485.           ;;
  486. !     dnix) dflt="$dflt dnix" ;;
  487. !     genix) dflt="$dflt genix" ;;
  488. !     hp*ux) dflt="$dflt hpux" ;;
  489. !     next) dflt="$dflt next" ;;
  490.       irix) dflt="$dflt sgi" ;;
  491.       ultrix) case "$3" in
  492.           3*) dflt="$dflt ultrix_3" ;;
  493.           4*) dflt="$dflt ultrix_4" ;;
  494.           esac
  495. --- 804,817 ----
  496.           4.0.2) dflt="$dflt sunos_4_0_2" ;;
  497.           esac
  498.           ;;
  499. !     hp*ux) dflt="$dflt hpux"
  500. !         extra_hints="hp"`echo $5 | sed -e s#/#_#g -e s/..$/00/`
  501. !         if test -f ../hints/$extra_hints.sh; then
  502. !         dflt="$dflt $extra_hints"
  503. !         fi;;
  504.       irix) dflt="$dflt sgi" ;;
  505.       ultrix) case "$3" in
  506. +         1*) dflt="$dflt ultrix_1" ;;
  507.           3*) dflt="$dflt ultrix_3" ;;
  508.           4*) dflt="$dflt ultrix_4" ;;
  509.           esac
  510. ***************
  511. *** 801,807 ****
  512.           ;;
  513.       uts) dflt="$dflt uts" ;;
  514.       $2) if test -f /etc/systemid; then
  515. !         set `echo $3 | sed 's/\./ /` $4
  516.           if test -f ../hints/sco_$1_$2_$3.sh; then
  517.               dflt="$dflt sco_$1_$2_$3"
  518.           elif test -f ../hints/sco_$1_$2.sh; then
  519. --- 818,824 ----
  520.           ;;
  521.       uts) dflt="$dflt uts" ;;
  522.       $2) if test -f /etc/systemid; then
  523. !         set `echo $3 | sed 's/\./ /'` $4
  524.           if test -f ../hints/sco_$1_$2_$3.sh; then
  525.               dflt="$dflt sco_$1_$2_$3"
  526.           elif test -f ../hints/sco_$1_$2.sh; then
  527. ***************
  528. *** 871,877 ****
  529.   echo "If you don't want the manual sources installed, answer 'none'."
  530.   case "$mansrc" in
  531.   '')
  532. !     dflt=`./loc . none /usr/man/local/man1 /usr/man/man.L /usr/man/manl /usr/man/mann /usr/man/u_man/man1 /usr/man/man1`
  533.       ;;
  534.   *)  dflt="$mansrc"
  535.       ;;
  536. --- 888,894 ----
  537.   echo "If you don't want the manual sources installed, answer 'none'."
  538.   case "$mansrc" in
  539.   '')
  540. !     dflt=`./loc . none /usr/man/local/man1 /usr/man/man.L /usr/man/manl /usr/man/mann /usr/man/u_man/man1 /usr/man/man1 /usr/local/man/man1`
  541.       ;;
  542.   *)  dflt="$mansrc"
  543.       ;;
  544. ***************
  545. *** 991,1016 ****
  546.   
  547.   : make some quick guesses about what we are up against
  548.   echo " "
  549.   cat $usrinclude/signal.h $usrinclude/sys/signal.h >guess.txt 2>/dev/null
  550.   if test "$usrinclude" = "/bsd43/usr/include" ; then
  551.       echo "Looks kind of like a SysV MIPS running BSD, but we'll see..."
  552.       echo exit 0 >bsd
  553. !     echo exit 1 >usg
  554. !     echo exit 1 >v7
  555.   elif test `echo abc | tr a-z A-Z` = Abc ; then
  556.       echo "Looks kind of like a USG system, but we'll see..."
  557. -     echo exit 1 >bsd
  558.       echo exit 0 >usg
  559. -     echo exit 1 >v7
  560.   elif $contains SIGTSTP guess.txt >/dev/null 2>&1 ; then
  561.       echo "Looks kind of like a BSD system, but we'll see..."
  562.       echo exit 0 >bsd
  563. -     echo exit 1 >usg
  564. -     echo exit 1 >v7
  565.   else
  566.       echo "Looks kind of like a version 7 system, but we'll see..."
  567. -     echo exit 1 >bsd
  568. -     echo exit 1 >usg
  569.       echo exit 0 >v7
  570.   fi
  571.   case "$eunicefix" in
  572. --- 1008,1035 ----
  573.   
  574.   : make some quick guesses about what we are up against
  575.   echo " "
  576. + echo exit 1 >bsd
  577. + echo exit 1 >usg
  578. + echo exit 1 >v7
  579. + echo exit 1 >osf1
  580. + echo exit 1 >eunice
  581. + echo exit 1 >xenix
  582. + echo exit 1 >venix
  583.   cat $usrinclude/signal.h $usrinclude/sys/signal.h >guess.txt 2>/dev/null
  584.   if test "$usrinclude" = "/bsd43/usr/include" ; then
  585.       echo "Looks kind of like a SysV MIPS running BSD, but we'll see..."
  586.       echo exit 0 >bsd
  587. ! elif test -f /osf_boot || $contains "OSF/1" /usr/include/ctype.h; then
  588. !     echo "Looks like an OSF/1 system, but we'll see..."
  589. !     echo exit 0 >osf1
  590.   elif test `echo abc | tr a-z A-Z` = Abc ; then
  591.       echo "Looks kind of like a USG system, but we'll see..."
  592.       echo exit 0 >usg
  593.   elif $contains SIGTSTP guess.txt >/dev/null 2>&1 ; then
  594.       echo "Looks kind of like a BSD system, but we'll see..."
  595.       echo exit 0 >bsd
  596.   else
  597.       echo "Looks kind of like a version 7 system, but we'll see..."
  598.       echo exit 0 >v7
  599.   fi
  600.   case "$eunicefix" in
  601. ***************
  602. *** 1026,1032 ****
  603.       echo " "
  604.       echo "Congratulations.  You aren't running Eunice."
  605.       d_eunice="$undef"
  606. -     echo "exit 1" >eunice
  607.       ;;
  608.   esac
  609.   if test -f /xenix; then
  610. --- 1045,1050 ----
  611. ***************
  612. *** 1035,1041 ****
  613.   else
  614.       echo " "
  615.       echo "It's not Xenix..."
  616. -     echo "exit 1" >xenix
  617.   fi
  618.   chmod +x xenix
  619.   $eunicefix xenix
  620. --- 1053,1058 ----
  621. ***************
  622. *** 1049,1057 ****
  623.       else
  624.       echo "Nor is it Venix..."
  625.       fi
  626. -     echo "exit 1" >venix
  627.   fi
  628. ! chmod +x bsd usg v7 eunice venix
  629.   $eunicefix bsd usg v7 eunice venix
  630.   
  631.   : see what memory models we can support
  632. --- 1066,1073 ----
  633.       else
  634.       echo "Nor is it Venix..."
  635.       fi
  636.   fi
  637. ! chmod +x bsd usg v7 osf1 eunice venix
  638.   $eunicefix bsd usg v7 eunice venix
  639.   
  640.   : see what memory models we can support
  641. ***************
  642. *** 1261,1267 ****
  643.       cc="$ans"
  644.   fi
  645.   case "$cc" in
  646. ! gcc*) cpp=`./loc gcc-cpp $cpp $pth`
  647.       case "$nativegcc" in
  648.       '') case "$ccflags" in
  649.       *-fpcc-struct-return*) dflt=n;;
  650. --- 1277,1283 ----
  651.       cc="$ans"
  652.   fi
  653.   case "$cc" in
  654. ! *gcc*) cpp=`./loc gcc-cpp $cpp $pth`
  655.       case "$nativegcc" in
  656.       '') case "$ccflags" in
  657.       *-fpcc-struct-return*) dflt=n;;
  658. ***************
  659. *** 1349,1360 ****
  660.       case "$dflt" in
  661.       *LANGUAGE_C*);;
  662.       *) dflt="$dflt -DLANGUAGE_C";;
  663.       esac
  664.   fi
  665.   if $contains '_NO_PROTO' $usrinclude/signal.h >/dev/null 2>&1; then
  666.       case "$dflt" in
  667.       *_NO_PROTO*);;
  668. !     *) dflt="$dflt -D_NO_PROTO";;
  669.       esac
  670.   fi
  671.   case "$dflt" in
  672. --- 1365,1382 ----
  673.       case "$dflt" in
  674.       *LANGUAGE_C*);;
  675.       *) dflt="$dflt -DLANGUAGE_C";;
  676. +     *) if osf1; then
  677. +           dflt="$dflt -D__LANGUAGE_C__"
  678. +        else
  679. +           dflt="$dflt -DLANGUAGE_C"
  680. +        fi
  681. +        ;;
  682.       esac
  683.   fi
  684.   if $contains '_NO_PROTO' $usrinclude/signal.h >/dev/null 2>&1; then
  685.       case "$dflt" in
  686.       *_NO_PROTO*);;
  687. !     *) osf1 || dflt="$dflt -D_NO_PROTO";;
  688.       esac
  689.   fi
  690.   case "$dflt" in
  691. ***************
  692. *** 1365,1371 ****
  693.   Your C compiler may want other flags.  For this question you should
  694.   include -I/whatever and -DWHATEVER flags and any other flags used by
  695.   the C compiler, but you should NOT include libraries or ld flags like
  696. ! -lwhatever.  To use no flags, specify the word "none".
  697.     
  698.   EOH
  699.   rp="Any additional cc flags? [$dflt]"
  700. --- 1387,1394 ----
  701.   Your C compiler may want other flags.  For this question you should
  702.   include -I/whatever and -DWHATEVER flags and any other flags used by
  703.   the C compiler, but you should NOT include libraries or ld flags like
  704. ! -lwhatever.  For instance, this would be a good place to specify
  705. ! -DDEBUGGING.  To use no flags, specify the word "none".
  706.     
  707.   EOH
  708.   rp="Any additional cc flags? [$dflt]"
  709. ***************
  710. *** 1434,1440 ****
  711.       if test -f $xxx; then
  712.       echo "Found -l$thislib."
  713.       case "$dflt" in
  714. !     *"-l$thislib "*|*"-l$thatlib "*);;
  715.       *) dflt="$dflt -l$thislib ";;
  716.       esac
  717.       else
  718. --- 1457,1463 ----
  719.       if test -f $xxx; then
  720.       echo "Found -l$thislib."
  721.       case "$dflt" in
  722. !     *-l$thislib\ *|*-l$thatlib\ *);;
  723.       *) dflt="$dflt -l$thislib ";;
  724.       esac
  725.       else
  726. ***************
  727. *** 1450,1456 ****
  728.           if test -f $xxx; then
  729.           echo "Found -l$thislib."
  730.           case "$dflt" in
  731. !         *"-l$thislib "*|*"-l$thatlib "*);;
  732.           *) dflt="$dflt -l$thislib ";;
  733.           esac
  734.           else
  735. --- 1473,1479 ----
  736.           if test -f $xxx; then
  737.           echo "Found -l$thislib."
  738.           case "$dflt" in
  739. !         *-l$thislib\ *|*-l$thatlib\ *);;
  740.           *) dflt="$dflt -l$thislib ";;
  741.           esac
  742.           else
  743. ***************
  744. *** 1458,1464 ****
  745.           if test -f $xxx; then
  746.               echo "Found -l$thislib as a shared object only."
  747.               case "$dflt" in
  748. !             *"-l$thislib "*|*"-l$thatlib "*);;
  749.               *) dflt="$dflt -l$thislib ";;
  750.               esac
  751.           else
  752. --- 1481,1487 ----
  753.           if test -f $xxx; then
  754.               echo "Found -l$thislib as a shared object only."
  755.               case "$dflt" in
  756. !             *-l$thislib\ *|*-l$thatlib\ *);;
  757.               *) dflt="$dflt -l$thislib ";;
  758.               esac
  759.           else
  760. ***************
  761. *** 1572,1577 ****
  762. --- 1595,1613 ----
  763.       fi
  764.   done
  765.   
  766. + case "$bin" in
  767. +   ?????????????????????????)
  768. +     cat <<EOF
  769. + NOTE: you have a fairly long path name there.  Some systems have trouble
  770. + executing a script if the #! line ends up longer than 32 characters.  If
  771. + you have this trouble you may have to reinstall somewhere else, or make
  772. + a symbolic link from someplace with a shorter name.
  773. + EOF
  774. +     ;;
  775. + esac
  776.   case "$installbin" in
  777.   '')
  778.       dflt=`echo $bin | sed 's#^/afs/#/afs/.#'`
  779. ***************
  780. *** 1628,1636 ****
  781.       } u;
  782.   
  783.       if (sizeof(long) > 4)
  784. !     u.l = (0x08070605 << 32) | 0x04030201;
  785.       else
  786. !     u.l = 0x04030201;
  787.       for (i=0; i < sizeof(long); i++)
  788.       printf("%c",u.c[i]+'0');
  789.       printf("\n");
  790. --- 1664,1672 ----
  791.       } u;
  792.   
  793.       if (sizeof(long) > 4)
  794. !     u.l = (0x08070605L << 32) | 0x04030201L;
  795.       else
  796. !     u.l = 0x04030201L;
  797.       for (i=0; i < sizeof(long); i++)
  798.       printf("%c",u.c[i]+'0');
  799.       printf("\n");
  800. ***************
  801. *** 1864,1869 ****
  802. --- 1900,1906 ----
  803.   esac
  804.   set /usr/ccs/lib/libc.so
  805.   test -f $1 || set /usr/lib/libc.so
  806. + test -f $1 || set /usr/shlib/libc.so
  807.   test -f $1 || set /usr/lib/libc.so.[0-9]*
  808.   test -f $1 || set /lib/libsys_s.a
  809.   eval set \$$#
  810. ***************
  811. *** 1955,1960 ****
  812. --- 1992,2001 ----
  813.          <libc.tmp >libc.list; \
  814.     $contains '^printf$' libc.list >/dev/null 2>&1; then
  815.       echo done
  816. + elif $sed -n -e 's/^[         ]*[0-9][0-9a-f]*[       ]*Def. Text[    ]*//p' \
  817. +        < libc.tmp | $sed -e 's/\[.*\]//' > libc.list; \
  818. +   $contains '^printf$' libc.list >/dev/null 2>&1; then
  819. +       echo done
  820.   else
  821.       nm -p $* 2>/dev/null >libc.tmp
  822.       $sed -n -e 's/^.* [AT]  *_[_.]*//p' -e 's/^.* [AT] //p' <libc.tmp >libc.list
  823. ***************
  824. *** 1997,2003 ****
  825.   if $contains "^$1\$" libc.list >/dev/null 2>&1;
  826.   then echo "$1() found";
  827.     eval "case \"\$$2\" in undef) . whoa; esac"; eval "$2=\$td";
  828. ! else echo "$1() not found";
  829.     eval "case \"\$$2\" in define) . whoa; esac"; eval "$2=\$tu"; fi'
  830.   
  831.   : see if bcmp exists
  832. --- 2038,2044 ----
  833.   if $contains "^$1\$" libc.list >/dev/null 2>&1;
  834.   then echo "$1() found";
  835.     eval "case \"\$$2\" in undef) . whoa; esac"; eval "$2=\$td";
  836. ! else echo "$1() NOT found";
  837.     eval "case \"\$$2\" in define) . whoa; esac"; eval "$2=\$tu"; fi'
  838.   
  839.   : see if bcmp exists
  840. ***************
  841. *** 2008,2013 ****
  842. --- 2049,2100 ----
  843.   set bcopy d_bcopy
  844.   eval $inlibc
  845.   
  846. + case "$d_safebcpy" in
  847. + '')
  848. +     : assume the worst
  849. +     d_safebcpy=undef
  850. +     case "$d_bcopy" in
  851. +     define)
  852. +     echo "Checking to see if your bcopy() can do overlapping copies..."
  853. +     $cat >safebcpy.c <<'EOCP'
  854. + main()
  855. + {
  856. +     char buf[128];
  857. +     register char *b;
  858. +     register int len;
  859. +     register int off;
  860. +     register int align;
  861. +     for (align = 7; align >= 0; align--) {
  862. +     for (len = 36; len; len--) {
  863. +         b = buf+align;
  864. +         bcopy("abcdefghijklmnopqrstuvwxyz0123456789", b, len);
  865. +         for (off = 1; off <= len; off++) {
  866. +         bcopy(b, b+off, len);
  867. +         bcopy(b+off, b, len);
  868. +         if (bcmp(b, "abcdefghijklmnopqrstuvwxyz0123456789", len))
  869. +             exit(1);
  870. +         }
  871. +     }
  872. +     }
  873. +     exit(0);
  874. + }
  875. + EOCP
  876. +     if $cc safebcpy.c -o safebcpy $ccflags >/dev/null 2>&1 ; then
  877. +         if ./safebcpy; then
  878. +         echo "It can."
  879. +         d_safebcpy=define
  880. +         else
  881. +         echo "It can't."
  882. +         fi
  883. +     else
  884. +         echo "(I can't compile the test program, so we'll assume not...)"
  885. +     fi
  886. +     ;;
  887. +     esac
  888. +     ;;
  889. + esac
  890.   : see if bzero exists
  891.   set bzero d_bzero
  892.   eval $inlibc
  893. ***************
  894. *** 2061,2067 ****
  895.       val2="$define"
  896.       fi
  897.   else
  898. !     echo 'vprintf() not found.'
  899.       val="$undef"
  900.       val2="$undef"
  901.   fi
  902. --- 2148,2154 ----
  903.       val2="$define"
  904.       fi
  905.   else
  906. !     echo 'vprintf() NOT found.'
  907.       val="$undef"
  908.       val2="$undef"
  909.   fi
  910. ***************
  911. *** 2099,2105 ****
  912.       cryptlib=-lcrypt
  913.       fi
  914.       if $test -z "$cryptlib"; then
  915. !     echo 'crypt() not found.'
  916.       val="$undef"
  917.       else
  918.       val="$define"
  919. --- 2186,2192 ----
  920.       cryptlib=-lcrypt
  921.       fi
  922.       if $test -z "$cryptlib"; then
  923. !     echo 'crypt() NOT found.'
  924.       val="$undef"
  925.       else
  926.       val="$define"
  927. ***************
  928. *** 2294,2300 ****
  929.   : index or strcpy
  930.   echo " "
  931.   case "$d_index" in
  932. ! undef) dflt=n;;
  933.   *)  if $test -f /unix; then
  934.       dflt=n
  935.       else
  936. --- 2381,2388 ----
  937.   : index or strcpy
  938.   echo " "
  939.   case "$d_index" in
  940. ! undef) dflt=y;;
  941. ! define) dflt=n;;
  942.   *)  if $test -f /unix; then
  943.       dflt=n
  944.       else
  945. ***************
  946. *** 2326,2331 ****
  947. --- 2414,2423 ----
  948.       fi
  949.   fi
  950.   
  951. + : see if isascii exists
  952. + set isascii d_isascii
  953. + eval $inlibc
  954.   : see if killpg exists
  955.   set killpg d_killpg
  956.   eval $inlibc
  957. ***************
  958. *** 2342,2347 ****
  959. --- 2434,2493 ----
  960.   set memcpy d_memcpy
  961.   eval $inlibc
  962.   
  963. + case "$d_safemcpy" in
  964. + '')
  965. +     : assume the worst
  966. +     d_safemcpy=undef
  967. +     case "$d_memcpy" in
  968. +     define)
  969. +     echo "Checking to see if your memcpy() can do overlapping copies..."
  970. +     $cat >safemcpy.c <<'EOCP'
  971. + main()
  972. + {
  973. +     char buf[128];
  974. +     register char *b;
  975. +     register int len;
  976. +     register int off;
  977. +     register int align;
  978. +     for (align = 7; align >= 0; align--) {
  979. +     for (len = 36; len; len--) {
  980. +         b = buf+align;
  981. +         memcpy(b,"abcdefghijklmnopqrstuvwxyz0123456789", len);
  982. +         for (off = 1; off <= len; off++) {
  983. +         memcpy(b+off, b, len);
  984. +         memcpy(b, b+off, len);
  985. +         if (memcmp(b, "abcdefghijklmnopqrstuvwxyz0123456789", len))
  986. +             exit(1);
  987. +         }
  988. +     }
  989. +     }
  990. +     exit(0);
  991. + }
  992. + EOCP
  993. +     if $cc safemcpy.c -o safemcpy $ccflags >/dev/null 2>&1 ; then
  994. +         if ./safemcpy; then
  995. +         echo "It can."
  996. +         d_safemcpy=define
  997. +         else
  998. +         echo "It can't."
  999. +         fi
  1000. +     else
  1001. +         echo "(I can't compile the test program, so we'll assume not...)"
  1002. +     fi
  1003. +     ;;
  1004. +     esac
  1005. +     ;;
  1006. + esac
  1007. + : see if memmove exists
  1008. + set memmove d_memmove
  1009. + eval $inlibc
  1010. + : see if memset exists
  1011. + set memset d_memset
  1012. + eval $inlibc
  1013.   : see if mkdir exists
  1014.   set mkdir d_mkdir
  1015.   eval $inlibc
  1016. ***************
  1017. *** 2433,2439 ****
  1018.   *)  mallocsrc='';
  1019.       mallocobj='';
  1020.       mallocptrtype=void
  1021. !     val="$define"
  1022.       ;;
  1023.   esac
  1024.   set d_mymalloc
  1025. --- 2579,2585 ----
  1026.   *)  mallocsrc='';
  1027.       mallocobj='';
  1028.       mallocptrtype=void
  1029. !     val="$undef"
  1030.       ;;
  1031.   esac
  1032.   set d_mymalloc
  1033. ***************
  1034. *** 2447,2453 ****
  1035.       echo "ndbm.h found."
  1036.   else
  1037.       val="$undef"
  1038. !     echo "ndbm.h not found."
  1039.   fi
  1040.   set d_ndbm
  1041.   eval $setvar
  1042. --- 2593,2599 ----
  1043.       echo "ndbm.h found."
  1044.   else
  1045.       val="$undef"
  1046. !     echo "ndbm.h NOT found."
  1047.   fi
  1048.   set d_ndbm
  1049.   eval $setvar
  1050. ***************
  1051. *** 2460,2466 ****
  1052.       echo "dbm.h found."
  1053.   else
  1054.       val="$undef"
  1055. !     echo "dbm.h not found."
  1056.   fi
  1057.   set d_odbm
  1058.   eval $setvar
  1059. --- 2606,2612 ----
  1060.       echo "dbm.h found."
  1061.   else
  1062.       val="$undef"
  1063. !     echo "dbm.h NOT found."
  1064.   fi
  1065.   set d_odbm
  1066.   eval $setvar
  1067. ***************
  1068. *** 2631,2640 ****
  1069. --- 2777,2794 ----
  1070.   set rename d_rename
  1071.   eval $inlibc
  1072.   
  1073. + : see if rewindir exists
  1074. + set rewinddir d_rewindir
  1075. + eval $inlibc
  1076.   : see if rmdir exists
  1077.   set rmdir d_rmdir
  1078.   eval $inlibc
  1079.   
  1080. + : see if seekdir exists
  1081. + set seekdir d_seekdir
  1082. + eval $inlibc
  1083.   : see if select exists
  1084.   set select d_select
  1085.   eval $inlibc
  1086. ***************
  1087. *** 2969,2974 ****
  1088. --- 3123,3132 ----
  1089.       echo "ICK, NOTHING WORKED!!!  You may have to diddle the includes.";;
  1090.   esac
  1091.   
  1092. + : see if telldir exists
  1093. + set telldir d_telldir
  1094. + eval $inlibc
  1095.   : see if signal is declared as pointer to function returning int or void
  1096.   echo " "
  1097.   $cppstdin $cppflags $cppminus < $usrinclude/signal.h >d_voidsig.txt
  1098. ***************
  1099. *** 3470,3476 ****
  1100.       echo "gdbm.h found."
  1101.   else
  1102.       val="$undef"
  1103. !     echo "gdbm.h not found."
  1104.   fi
  1105.   set i_gdbm
  1106.   eval $setvar
  1107. --- 3628,3634 ----
  1108.       echo "gdbm.h found."
  1109.   else
  1110.       val="$undef"
  1111. !     echo "gdbm.h NOT found."
  1112.   fi
  1113.   set i_gdbm
  1114.   eval $setvar
  1115. ***************
  1116. *** 3531,3537 ****
  1117.       echo "sys/ioctl.h found."
  1118.   else
  1119.       val="$undef"
  1120. !     echo "sys/ioctl.h not found, assuming ioctl args are defined in sgtty.h."
  1121.   fi
  1122.   set i_sysioctl
  1123.   eval $setvar
  1124. --- 3689,3695 ----
  1125.       echo "sys/ioctl.h found."
  1126.   else
  1127.       val="$undef"
  1128. !     echo "sys/ioctl.h NOT found, assuming ioctl args are defined in sgtty.h."
  1129.   fi
  1130.   set i_sysioctl
  1131.   eval $setvar
  1132. ***************
  1133. *** 3660,3665 ****
  1134. --- 3818,3824 ----
  1135.   cppminus='$cppminus'
  1136.   d_bcmp='$d_bcmp'
  1137.   d_bcopy='$d_bcopy'
  1138. + d_safebcpy='$d_safebcpy'
  1139.   d_bzero='$d_bzero'
  1140.   d_castneg='$d_castneg'
  1141.   castflags='$castflags'
  1142. ***************
  1143. *** 3682,3691 ****
  1144. --- 3841,3854 ----
  1145.   d_getprior='$d_getprior'
  1146.   d_htonl='$d_htonl'
  1147.   d_index='$d_index'
  1148. + d_isascii='$d_isascii'
  1149.   d_killpg='$d_killpg'
  1150.   d_lstat='$d_lstat'
  1151.   d_memcmp='$d_memcmp'
  1152.   d_memcpy='$d_memcpy'
  1153. + d_safemcpy='$d_safemcpy'
  1154. + d_memmove='$d_memmove'
  1155. + d_memset='$d_memset'
  1156.   d_mkdir='$d_mkdir'
  1157.   d_msg='$d_msg'
  1158.   d_msgctl='$d_msgctl'
  1159. ***************
  1160. *** 3697,3703 ****
  1161. --- 3860,3868 ----
  1162.   d_open3='$d_open3'
  1163.   d_readdir='$d_readdir'
  1164.   d_rename='$d_rename'
  1165. + d_rewindir='$d_rewindir'
  1166.   d_rmdir='$d_rmdir'
  1167. + d_seekdir='$d_seekdir'
  1168.   d_select='$d_select'
  1169.   d_sem='$d_sem'
  1170.   d_semctl='$d_semctl'
  1171. ***************
  1172. *** 3730,3735 ****
  1173. --- 3895,3901 ----
  1174.   d_strerror='$d_strerror'
  1175.   d_symlink='$d_symlink'
  1176.   d_syscall='$d_syscall'
  1177. + d_telldir='$d_telldir'
  1178.   d_truncate='$d_truncate'
  1179.   d_vfork='$d_vfork'
  1180.   d_voidsig='$d_voidsig'
  1181.  
  1182. Index: atarist/FILES
  1183. *** atarist/FILES.old    Mon Jun  8 17:43:00 1992
  1184. --- atarist/FILES    Mon Jun  8 17:43:00 1992
  1185. ***************
  1186. *** 0 ****
  1187. --- 1,48 ----
  1188. + Shipping list for the perl 4.019 atariST port:
  1189. + perl.diffs contains diffs from the following perl 4.019 files:
  1190. +     perl.h arg.h handy.h doarg.c doio.c eval.c malloc.c perl.c regcomp.c
  1191. +     str.c toke.c util.c
  1192. +     the file `explain' contains a brief explaination of the diffs in 
  1193. +     `perl.diffs'
  1194. + The following files are supplied whole (not as diffs) and replace files with
  1195. + the same name from the perl 4.019 distribution:
  1196. +     config.h usersub.c
  1197. + The following files  are specific to this atariST port:
  1198. +     atarist.c echo.c wildmat.c  perlglob.c  
  1199. +     makefile.sm makefile.st 
  1200. + The following files are in usub/
  1201. +     makefile.st README.ATARI usersub.c acurses.mus
  1202. + The following files should be added to the perl 4.019 library:
  1203. +     osbind.pl perldb.diff (diffs against perldb.pl in perl 4.019 lib)
  1204. + AtariST specific tests
  1205. +     test/*
  1206. + Misc:
  1207. +     FILES README.ST (read this)  RESULTS (explains results of tests)
  1208. +     explain (explains perl.diffs)
  1209. + Some binary distributions will also contain:
  1210. +     perl.ttp uperl.a cperl.ttp (cursesperl) perld.ttp
  1211. +     (these are all buildable using the material above).
  1212. + If you are missing any of the files on this list, please mail me. Please
  1213. + dont ask me to mail binaries. Some of the binaries are available at
  1214. + various atari archives, including atari.archive.umich.edu in
  1215. + atari/languages/perl4019.zoo.
  1216. +     ++jrb   bammi@cadence.com
  1217.  
  1218. Index: MANIFEST
  1219. *** MANIFEST.old    Mon Jun  8 11:07:49 1992
  1220. --- MANIFEST    Mon Jun  8 11:07:49 1992
  1221. ***************
  1222. *** 7,12 ****
  1223. --- 7,13 ----
  1224.   Makefile.SH        Precursor to Makefile
  1225.   PACKINGLIST        Which files came from which kits
  1226.   README            The Instructions
  1227. + README.ncr        Special instructions for NCR
  1228.   README.uport        Special instructions for Microports
  1229.   README.xenix        Special instructions for Xenix
  1230.   Wishlist        Some things that may or may not happen
  1231. ***************
  1232. *** 13,18 ****
  1233. --- 14,50 ----
  1234.   arg.h            Public declarations for the above
  1235.   array.c            Numerically subscripted arrays
  1236.   array.h            Public declarations for the above
  1237. + atarist/FILES
  1238. + atarist/README.ST
  1239. + atarist/RESULTS
  1240. + atarist/atarist.c
  1241. + atarist/config.h
  1242. + atarist/echo.c
  1243. + atarist/explain
  1244. + atarist/makefile.sm
  1245. + atarist/makefile.st
  1246. + atarist/osbind.pl
  1247. + atarist/perldb.diff
  1248. + atarist/perlglob.c
  1249. + atarist/test/binhandl
  1250. + atarist/test/ccon
  1251. + atarist/test/dbm
  1252. + atarist/test/err
  1253. + atarist/test/gdbm
  1254. + atarist/test/gdbm.t
  1255. + atarist/test/glob
  1256. + atarist/test/osexample.pl
  1257. + atarist/test/pi.pl
  1258. + atarist/test/printenv
  1259. + atarist/test/readme
  1260. + atarist/test/sig
  1261. + atarist/test/tbinmode
  1262. + atarist/usersub.c
  1263. + atarist/usub/README.ATARI
  1264. + atarist/usub/acurses.mus
  1265. + atarist/usub/makefile.st
  1266. + atarist/usub/usersub.c
  1267. + atarist/wildmat.c
  1268.   c2ph.SH            program to translate dbx stabs to perl
  1269.   c2ph.doc        documentation for c2ph
  1270.   cflags.SH        A script that emits C compilation flags per file
  1271. ***************
  1272. *** 92,97 ****
  1273. --- 124,130 ----
  1274.   hash.c            Associative arrays
  1275.   hash.h            Public declarations for the above
  1276.   hints/3b1.sh
  1277. + hints/3b1cc
  1278.   hints/3b2.sh
  1279.   hints/aix_rs.sh
  1280.   hints/aix_rt.sh
  1281. ***************
  1282. *** 99,104 ****
  1283. --- 132,139 ----
  1284.   hints/apollo_C6_7.sh
  1285.   hints/apollo_C6_8.sh    
  1286.   hints/aux.sh
  1287. + hints/cray.sh
  1288. + hints/dgux.sh
  1289.   hints/dnix.sh
  1290.   hints/dynix.sh
  1291.   hints/fps.sh
  1292. ***************
  1293. *** 106,127 ****
  1294.   hints/greenhills.sh    
  1295.   hints/hp9000_300.sh
  1296.   hints/hp9000_400.sh
  1297.   hints/hp9000_800.sh    
  1298.   hints/hpux.sh
  1299.   hints/i386.sh
  1300.   hints/isc_3_2_2.sh
  1301.   hints/mips.sh
  1302.   hints/mpc.sh    
  1303.   hints/ncr_tower.sh
  1304.   hints/next.sh
  1305.   hints/opus.sh    
  1306. ! hints/osf_1.sh
  1307.   hints/sco_2_3_0.sh
  1308.   hints/sco_2_3_1.sh
  1309.   hints/sco_2_3_2.sh
  1310.   hints/sco_2_3_3.sh
  1311.   hints/sco_3.sh
  1312.   hints/sgi.sh
  1313.   hints/stellar.sh    
  1314.   hints/sunos_3_4.sh
  1315.   hints/sunos_3_5.sh
  1316. --- 141,166 ----
  1317.   hints/greenhills.sh    
  1318.   hints/hp9000_300.sh
  1319.   hints/hp9000_400.sh
  1320. + hints/hp9000_700.sh
  1321.   hints/hp9000_800.sh    
  1322.   hints/hpux.sh
  1323.   hints/i386.sh
  1324.   hints/isc_3_2_2.sh
  1325. + hints/mc6000.sh
  1326.   hints/mips.sh
  1327.   hints/mpc.sh    
  1328.   hints/ncr_tower.sh
  1329.   hints/next.sh
  1330.   hints/opus.sh    
  1331. ! hints/osf1.sh
  1332.   hints/sco_2_3_0.sh
  1333.   hints/sco_2_3_1.sh
  1334.   hints/sco_2_3_2.sh
  1335.   hints/sco_2_3_3.sh
  1336. + hints/sco_2_3_4.sh
  1337.   hints/sco_3.sh
  1338.   hints/sgi.sh
  1339. + hints/solaris_2_0.sh
  1340.   hints/stellar.sh    
  1341.   hints/sunos_3_4.sh
  1342.   hints/sunos_3_5.sh
  1343. ***************
  1344. *** 129,136 ****
  1345. --- 168,179 ----
  1346.   hints/sunos_4_0_2.sh
  1347.   hints/svr4.sh
  1348.   hints/ti1500.sh    
  1349. + hints/titan.sh
  1350. + hints/ultrix_1.sh
  1351.   hints/ultrix_3.sh
  1352.   hints/ultrix_4.sh
  1353. + hints/unisysdynix.sh
  1354. + hints/utekv.sh
  1355.   hints/uts.sh
  1356.   hints/vax.sh
  1357.   installperl        Perl script to do "make install" dirty work
  1358. ***************
  1359. *** 156,161 ****
  1360. --- 199,205 ----
  1361.   lib/importenv.pl    Perl routine to get environment into variables
  1362.   lib/look.pl        A "look" equivalent
  1363.   lib/newgetopt.pl    A perl library supporting long option parsing
  1364. + lib/open2.pl
  1365.   lib/perldb.pl        Perl debugging routines
  1366.   lib/pwd.pl        Routines to keep track of PWD environment variable
  1367.   lib/shellwords.pl    Perl library to split into words with shell quoting
  1368. ***************
  1369. *** 189,194 ****
  1370. --- 233,239 ----
  1371.   os2/alarm.c        An implementation of alarm()
  1372.   os2/alarm.h        Header file for same
  1373.   os2/config.h        Configuration file for OS/2
  1374. + os2/crypt.c
  1375.   os2/dir.h        Directory header
  1376.   os2/director.c        Directory routines
  1377.   os2/eg/alarm.pl        Example of alarm code
  1378. ***************
  1379. *** 211,216 ****
  1380. --- 256,262 ----
  1381.   os2/selfrun.bat        A self running perl script for DOS
  1382.   os2/selfrun.cmd        Example of extproc feature
  1383.   os2/suffix.c        Code for creating backup filenames
  1384. + os2/tests.dif
  1385.   patchlevel.h        The current patch level of perl
  1386.   perl.c            main()
  1387.   perl.h            Global declarations
  1388. ***************
  1389. *** 218,223 ****
  1390. --- 264,270 ----
  1391.   perlsh            A poor man's perl shell
  1392.   perly.fixer        A program to remove yacc stack limitations
  1393.   perly.y            Yacc grammar for perl
  1394. + pstruct
  1395.   regcomp.c        Regular expression compiler
  1396.   regcomp.h        Private declarations for above
  1397.   regexec.c        Regular expression evaluator
  1398.  
  1399. Index: os2/Makefile
  1400. *** os2/Makefile.old    Mon Jun  8 17:49:35 1992
  1401. --- os2/Makefile    Mon Jun  8 17:49:35 1992
  1402. ***************
  1403. *** 1,124 ****
  1404.   #
  1405.   # Makefile for compiling Perl under OS/2
  1406.   #
  1407. ! # Needs a Unix compatible make.
  1408. ! # This makefile works for an initial compilation.  It does not
  1409. ! # include all dependencies and thus is unsuitable for serious
  1410. ! # development work.  Hey, I'm just inheriting what Diomidis gave me.
  1411.   #
  1412. - # Originally by Diomidis Spinellis, March 1990
  1413. - # Adjusted for OS/2 port by Raymond Chen, June 1990
  1414. - #
  1415.   
  1416. ! # Source files
  1417. ! SRC = array.c cmd.c cons.c consarg.c doarg.c doio.c dolist.c dump.c \
  1418. ! eval.c form.c hash.c perl.y perly.c regcomp.c regexec.c \
  1419. ! stab.c str.c toke.c util.c os2.c popen.c director.c
  1420.   
  1421. ! # Object files
  1422. ! OBJ = perl.obj array.obj cmd.obj cons.obj consarg.obj doarg.obj doio.obj \
  1423. ! dolist.obj dump.obj eval.obj form.obj hash.obj perly.obj regcomp.obj \
  1424. ! regexec.obj stab.obj str.obj toke.obj util.obj os2.obj popen.obj \
  1425. ! director.obj suffix.obj
  1426.   
  1427. ! # Files in the OS/2 distribution
  1428. ! DOSFILES=config.h director.c makefile os2.c popen.c suffix.c readme.os2
  1429.   
  1430. ! # Yacc flags
  1431.   YFLAGS=-d
  1432.   
  1433. ! # Manual pages
  1434. ! MAN=perlman.1 perlman.2 perlman.3 perlman.4
  1435.   
  1436. ! CC=cl
  1437. ! # CBASE = flags everybody gets
  1438. ! # CPLAIN = flags for modules that give the compiler indigestion
  1439. ! # CFLAGS = flags for milder modules
  1440. ! # PERL = which version of perl to build
  1441. ! #
  1442. ! # For preliminary building:  No optimization, DEBUGGING set, symbols included.
  1443. ! #CBASE=-AL -Zi -G2 -Gs -DDEBUGGING
  1444. ! #CPLAIN=$(CBASE) -Od
  1445. ! #CFLAGS=$(CBASE) -Od
  1446. ! #PERL=perlsym.exe
  1447.   
  1448. ! # For the final build:  Optimization on, no DEBUGGING, symbols stripped.
  1449. ! CBASE=-AL -Zi -G2 -Gs
  1450. ! CPLAIN=$(CBASE) -Oilt
  1451. ! CFLAGS=$(CBASE) -Ox
  1452. ! PERL=perl.exe
  1453.   
  1454. ! # Destination directory for executables
  1455. ! DESTDIR=\usr\bin
  1456.   
  1457. ! # Deliverables
  1458. ! # 
  1459. ! all: $(PERL) glob.exe
  1460.   
  1461. ! perl.exe: $(OBJ) perl.arp
  1462. !     link @perl.arp,perl,nul,/stack:32767 /NOE;
  1463. !     exehdr /nologo /newfiles /pmtype:windowcompat perl.exe >nul
  1464.   
  1465. ! perlsym.exe: $(OBJ) perl.arp
  1466. !     link @perl.arp,perlsym,nul,/stack:32767 /NOE /CODE;
  1467. !     exehdr /nologo /newfiles /pmtype:windowcompat perlsym.exe >nul
  1468.   
  1469. ! perl.arp:
  1470. !     echo array+cmd+cons+consarg+doarg+doio+dolist+dump+ >perl.arp
  1471. !     echo eval+form+hash+perl+perly+regcomp+regexec+stab+suffix+ >>perl.arp
  1472. !     echo str+toke+util+os2+popen+director+\c600\lib\setargv >>perl.arp
  1473.   
  1474. ! glob.exe: glob.c
  1475. !     $(CC) glob.c \c600\lib\setargv.obj -link /NOE
  1476. !     exehdr /nologo /newfiles /pmtype:windowcompat glob.exe >nul
  1477.   
  1478. ! array.obj: array.c
  1479. !     $(CC) $(CPLAIN) -c array.c
  1480. ! cmd.obj: cmd.c
  1481. ! cons.obj: cons.c perly.h
  1482. ! consarg.obj: consarg.c
  1483. ! #    $(CC) $(CPLAIN) -c consarg.c
  1484. ! doarg.obj: doarg.c
  1485. ! doio.obj: doio.c
  1486. ! dolist.obj: dolist.c
  1487. ! dump.obj: dump.c
  1488. ! eval.obj: eval.c evalargs.xc
  1489. !     $(CC) /B3 \c600\binp\c3l $(CFLAGS) -c eval.c
  1490. ! form.obj: form.c
  1491. ! hash.obj: hash.c
  1492. ! perl.obj: perl.y
  1493. ! perly.obj: perly.c
  1494. ! regcomp.obj: regcomp.c
  1495. ! regexec.obj: regexec.c
  1496. ! stab.obj: stab.c
  1497. !     $(CC) $(CPLAIN) -c stab.c
  1498. ! str.obj: str.c
  1499. ! suffix.obj: suffix.c
  1500. ! toke.obj: toke.c
  1501. !     $(CC) /B3 \c600\binp\c3l $(CFLAGS) -c toke.c
  1502. ! util.obj: util.c
  1503. ! #    $(CC) $(CPLAIN) -c util.c
  1504. ! perly.h: ytab.h
  1505. !     cp ytab.h perly.h
  1506. ! director.obj: director.c
  1507. ! popen.obj: popen.c
  1508. ! os2.obj: os2.c
  1509.   
  1510. ! perl.1: $(MAN)
  1511. !     nroff -man $(MAN) >perl.1
  1512.   
  1513. ! install: all
  1514. !     exepack perl.exe $(DESTDIR)\perl.exe
  1515. !     exepack glob.exe $(DESTDIR)\glob.exe
  1516.   
  1517. ! clean:
  1518. !     rm -f *.obj *.exe perl.1 perly.h perl.arp
  1519.   
  1520. ! tags:
  1521. !     ctags *.c *.h *.xc
  1522. ! dosperl:
  1523. !     mv $(DOSFILES) ../perl30.new
  1524. ! doskit:
  1525. !     mv $(DOSFILES) ../os2
  1526. --- 1,65 ----
  1527.   #
  1528.   # Makefile for compiling Perl under OS/2
  1529.   #
  1530. ! # Needs Microsoft C 6.00 and NMAKE
  1531.   #
  1532.   
  1533. ! EXP =   c:\ms\lib\setargv.obj -link /noe
  1534.   
  1535. ! DEF =   os2\perl.def
  1536. ! BAD =   os2\perl.bad
  1537.   
  1538. ! OBJ =    array.obj cmd.obj cons.obj consarg.obj doarg.obj doio.obj \
  1539. !     dolist.obj dump.obj eval.obj form.obj hash.obj perl.obj perly.obj \
  1540. !     regcomp.obj regexec.obj stab.obj str.obj toke.obj util.obj
  1541. ! OBJO =    os2.obj popen.obj suffix.obj director.obj alarm.obj crypt.obj
  1542.   
  1543. ! LIBS =  lgdbm.lib
  1544. ! YACC=bison
  1545.   YFLAGS=-d
  1546.   
  1547. ! CC=cl -nologo
  1548. ! CCL=cl -nologo -B2C2L -B3C3L
  1549.   
  1550. ! CFLAGS=-W1 -AL -Zep -J -G2s -Olt -Gt 2048 -DDEBUGGING
  1551. ! #CFLAGS=-W1 -AL -Ziep -J -G2 -Od -Gt 2048 -DDEBUGGING
  1552.   
  1553. ! LDFLAGS=-AL -Lp -F 8000
  1554. ! #LDFLAGS=-AL -Lp -Zi -Li -F 8000
  1555.   
  1556. ! STRIP=bind -nologo
  1557. ! #STRIP=rem
  1558.   
  1559. ! .c.obj:
  1560. !         $(CC) -c $(CFLAGS) $<
  1561.   
  1562. ! {os2}.c{}.obj:
  1563. !         $(CC) -c $(CFLAGS) -I. -Ios2 $<
  1564.   
  1565. ! all: perl.exe perlglob.exe
  1566.   
  1567. ! perl.exe: $(OBJ) $(OBJO)
  1568. !         $(CC) $(LDFLAGS) $(OBJ) $(OBJO) $(LIBS) os2\perl.def -o $@ $(EXP)
  1569. !         $(STRIP) $@ -n @$(BAD)
  1570.   
  1571. ! $(OBJ) $(OBJO): config.h
  1572. ! perl.obj str.obj cons.obj toke.obj: perly.h
  1573.   
  1574. ! config.h: os2\config.h
  1575. !         cp os2\config.h config.h
  1576.   
  1577. ! perly.c perly.h: perly.y
  1578. !         $(YACC) $(YFLAGS) -o $*.c $*.y
  1579.   
  1580. ! eval.obj:    eval.c
  1581. !     $(CCL) -c $(CFLAGS) $*.c
  1582. ! toke.obj:    toke.c
  1583. !     $(CCL) -c $(CFLAGS) $*.c
  1584.   
  1585. ! perlglob.exe: os2\glob.c os2\director.c
  1586. !     $(CC) -Zep -G2s -Olt -Lp os2\glob.c $(DEF) -o $@ $(EXP)
  1587. !         $(STRIP) $@ -n @$(BAD)
  1588.   
  1589. ! clean:
  1590. !         -rm perly.c perly.h config.h *.obj >nul
  1591.  
  1592. Index: Makefile.SH
  1593. *** Makefile.SH.old    Mon Jun  8 17:34:36 1992
  1594. --- Makefile.SH    Mon Jun  8 17:34:37 1992
  1595. ***************
  1596. *** 24,33 ****
  1597.   esac
  1598.   
  1599.   echo "Extracting Makefile (with variable substitutions)"
  1600.   cat >Makefile <<!GROK!THIS!
  1601. ! # $RCSfile: Makefile.SH,v $$Revision: 4.0.1.3 $$Date: 91/11/05 15:48:11 $
  1602.   #
  1603.   # $Log:    Makefile.SH,v $
  1604.   # Revision 4.0.1.3  91/11/05  15:48:11  lwall
  1605.   # patch11: saberized perl
  1606.   # patch11: added support for dbz
  1607. --- 24,38 ----
  1608.   esac
  1609.   
  1610.   echo "Extracting Makefile (with variable substitutions)"
  1611. + rm -f Makefile
  1612.   cat >Makefile <<!GROK!THIS!
  1613. ! # $RCSfile: Makefile.SH,v $$Revision: 4.0.1.4 $$Date: 92/06/08 11:40:43 $
  1614.   #
  1615.   # $Log:    Makefile.SH,v $
  1616. + # Revision 4.0.1.4  92/06/08  11:40:43  lwall
  1617. + # patch20: cray didn't give enough memory to /bin/sh
  1618. + # patch20: various and sundry fixes
  1619. + # 
  1620.   # Revision 4.0.1.3  91/11/05  15:48:11  lwall
  1621.   # patch11: saberized perl
  1622.   # patch11: added support for dbz
  1623. ***************
  1624. *** 66,71 ****
  1625. --- 71,78 ----
  1626.   
  1627.   public = perl taintperl $suidperl
  1628.   
  1629. + shellflags = $shellflags
  1630.   # To use an alternate make, set $altmake in config.sh.
  1631.   MAKE = ${altmake-make}
  1632.   
  1633. ***************
  1634. *** 73,79 ****
  1635.   
  1636.   cat >>Makefile <<'!NO!SUBS!'
  1637.   
  1638. ! CCCMD = `sh cflags $@`
  1639.   
  1640.   private = 
  1641.   
  1642. --- 80,86 ----
  1643.   
  1644.   cat >>Makefile <<'!NO!SUBS!'
  1645.   
  1646. ! CCCMD = `sh $(shellflags) cflags $@`
  1647.   
  1648.   private = 
  1649.   
  1650. ***************
  1651. *** 299,308 ****
  1652.       touch perly.h
  1653.   
  1654.   perly.c: perly.y perly.fixer
  1655. !     @ echo 'Expect either' 29 shift/reduce and 59 reduce/reduce conflicts...
  1656. !     @ echo '           or' 27 shift/reduce and 61 reduce/reduce conflicts...
  1657.       $(YACC) -d perly.y
  1658. !     sh ./perly.fixer y.tab.c perly.c
  1659.       mv y.tab.h perly.h
  1660.       echo 'extern YYSTYPE yylval;' >>perly.h
  1661.   
  1662. --- 306,318 ----
  1663.       touch perly.h
  1664.   
  1665.   perly.c: perly.y perly.fixer
  1666. !     @ \
  1667. ! case "$(YACC)" in \
  1668. !     *bison*) echo 'Expect' 25 shift/reduce and 59 reduce/reduce conflicts;; \
  1669. !     *) echo 'Expect' 27 shift/reduce and 57 reduce/reduce conflicts;; \
  1670. ! esac
  1671.       $(YACC) -d perly.y
  1672. !     sh $(shellflags) ./perly.fixer y.tab.c perly.c
  1673.       mv y.tab.h perly.h
  1674.       echo 'extern YYSTYPE yylval;' >>perly.h
  1675.   
  1676. ***************
  1677. *** 313,319 ****
  1678.       ./perl installperl
  1679.   
  1680.   clean:
  1681. !     rm -f *.o all perl taintperl suidperl
  1682.       cd x2p; $(MAKE) clean
  1683.   
  1684.   realclean: clean
  1685. --- 323,329 ----
  1686.       ./perl installperl
  1687.   
  1688.   clean:
  1689. !     rm -f *.o all perl taintperl suidperl perly.c
  1690.       cd x2p; $(MAKE) clean
  1691.   
  1692.   realclean: clean
  1693. ***************
  1694. *** 339,345 ****
  1695.   
  1696.   test: perl
  1697.       - cd t && chmod +x TEST */*.t
  1698. !     - cd t && (rm -f perl; $(SLN) ../perl .) && ./perl TEST </dev/tty
  1699.   
  1700.   clist:
  1701.       echo $(c) | tr ' ' '\012' >.clist
  1702. --- 349,355 ----
  1703.   
  1704.   test: perl
  1705.       - cd t && chmod +x TEST */*.t
  1706. !     - cd t && (rm -f perl; $(SLN) ../perl perl) && ./perl TEST </dev/tty
  1707.   
  1708.   clist:
  1709.       echo $(c) | tr ' ' '\012' >.clist
  1710. ***************
  1711. *** 354,360 ****
  1712.   $(obj) hash.o:
  1713.       @ echo "You haven't done a "'"make depend" yet!'; exit 1
  1714.   makedepend: makedepend.SH
  1715. !     /bin/sh makedepend.SH
  1716.   !NO!SUBS!
  1717.   $eunicefix Makefile
  1718.   case `pwd` in
  1719. --- 364,370 ----
  1720.   $(obj) hash.o:
  1721.       @ echo "You haven't done a "'"make depend" yet!'; exit 1
  1722.   makedepend: makedepend.SH
  1723. !     /bin/sh $(shellflags) makedepend.SH
  1724.   !NO!SUBS!
  1725.   $eunicefix Makefile
  1726.   case `pwd` in
  1727.  
  1728. Index: atarist/usub/README.ATARI
  1729. *** atarist/usub/README.ATARI.old    Mon Jun  8 17:45:29 1992
  1730. --- atarist/usub/README.ATARI    Mon Jun  8 17:45:29 1992
  1731. ***************
  1732. *** 0 ****
  1733. --- 1 ----
  1734. + For the atariST bsd derived curses use acurses.mus (its got its own wrinkles!)
  1735.  
  1736. Index: Wishlist
  1737. *** Wishlist.old    Mon Jun  8 17:34:43 1992
  1738. --- Wishlist    Mon Jun  8 17:34:43 1992
  1739. ***************
  1740. *** 1,3 ****
  1741. --- 1,9 ----
  1742.   built-in cpp
  1743.   perl to C translator
  1744.   multi-threading
  1745. + make more easily embeddable
  1746. + built-in globbing
  1747. + compile to threaded code
  1748. + rewrite regexp parser for better integrated optimization
  1749. + add structured types and objects
  1750. + allow for lexical scoping
  1751.  
  1752. Index: os2/a2p.cs
  1753. *** os2/a2p.cs.old    Mon Jun  8 17:49:40 1992
  1754. --- os2/a2p.cs    Mon Jun  8 17:49:41 1992
  1755. ***************
  1756. *** 2,8 ****
  1757.   (-W1 -Od -Ocgelt hash.c str.c util.c walk.c)
  1758.   
  1759.   setargv.obj
  1760. ! ..\os2\a2p.def
  1761.   a2p.exe
  1762.   
  1763.   -AL -LB -S0x9000
  1764. --- 2,8 ----
  1765.   (-W1 -Od -Ocgelt hash.c str.c util.c walk.c)
  1766.   
  1767.   setargv.obj
  1768. ! ..\os2\perl.def
  1769.   a2p.exe
  1770.   
  1771.   -AL -LB -S0x9000
  1772.  
  1773. Index: os2/a2p.def
  1774. *** os2/a2p.def.old    Mon Jun  8 17:49:43 1992
  1775. --- os2/a2p.def    Mon Jun  8 17:49:43 1992
  1776. ***************
  1777. *** 1,2 ****
  1778. ! NAME AWK2PERL WINDOWCOMPAT NEWFILES
  1779. ! DESCRIPTION 'AWK to PERL translator - for MS-DOS and OS/2'
  1780. --- 1 ----
  1781. ! (deprecated)
  1782.  
  1783. Index: hints/aix_rs.sh
  1784. *** hints/aix_rs.sh.old    Mon Jun  8 17:47:45 1992
  1785. --- hints/aix_rs.sh    Mon Jun  8 17:47:46 1992
  1786. ***************
  1787. *** 1,7 ****
  1788.   eval_cflags='optimize=""'
  1789. - toke_cflags='optimize=""'
  1790.   teval_cflags='optimize=""'
  1791.   ttoke_cflags='optimize=""'
  1792.   ccflags="$ccflags -D_NO_PROTO"
  1793. ! cppstdin='/lib/cpp -D_AIX -D_IBMR2'
  1794.   cppminus=''
  1795. --- 1,18 ----
  1796. + d_setregid='undef'
  1797. + d_setreuid='undef'
  1798. + d_setrgid='undef'
  1799. + d_setruid='undef'
  1800. + d_setegid='undef'
  1801. + d_seteuid='undef'
  1802. + alignbytes=8
  1803. + dolist_cflags='optimize=""'
  1804. + tdolist_cflags='optimize=""'
  1805. + regexec_cflags='optimize=""'
  1806. + tregexec_cflags='optimize=""'
  1807.   eval_cflags='optimize=""'
  1808.   teval_cflags='optimize=""'
  1809. + toke_cflags='optimize=""'
  1810.   ttoke_cflags='optimize=""'
  1811.   ccflags="$ccflags -D_NO_PROTO"
  1812. ! cppstdin='/lib/cpp -D_AIX -D_IBMR2 -U__STR__'
  1813.   cppminus=''
  1814.  
  1815. *** End of Patch 20 ***
  1816. exit 0 # Just in case...
  1817.