home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / diffutils-2.7-diffs.gz / diffutils-2.7-diffs
Text File  |  1996-10-13  |  265KB  |  7,382 lines

  1. This file contains patches that transform the baseline version into
  2. the amiga version.  Assuming that you have unarchived the baseline
  3. version in the current directory, just run the command:
  4.  
  5.     patch -p1 -E -b .pbak <diff-file
  6.  
  7. where 'diff-file' is this patch file.  After running patch you should
  8. remove all the generated *.pbak files, and look for any *.rej files
  9. that indicate a problem patching the baseline source.
  10.  
  11. diff -rup --new-file baseline/fsf/diffutils/BeOS.diffs amiga/fsf/diffutils/BeOS.diffs
  12. --- baseline/fsf/diffutils/BeOS.diffs    Wed Dec 31 17:00:00 1969
  13. +++ amiga/fsf/diffutils/BeOS.diffs    Sat Sep 28 00:00:00 1996
  14. @@ -0,0 +1,782 @@
  15. +This patch works around current bugs in the BeOS shell that affect
  16. +configure, and also patch up some Makefile targets that are not
  17. +yet fully supported.
  18. +
  19. +============================================================================
  20. +
  21. +diff -rc diffutils-ref/Makefile.in diffutils/Makefile.in
  22. +*** diffutils-ref/Makefile.in    Wed May 29 07:21:09 1996
  23. +--- diffutils/Makefile.in    Fri Sep 27 22:48:14 1996
  24. +***************
  25. +*** 74,80 ****
  26. +  
  27. +  PROGRAMS = cmp diff diff3 sdiff
  28. +  
  29. +! all: $(PROGRAMS) info guide dvi ps
  30. +  
  31. +  COMPILE = $(CC) -c $(CPPFLAGS) $(DEFS) -I. -I$(srcdir) $(CFLAGS)
  32. +  
  33. +--- 74,80 ----
  34. +  
  35. +  PROGRAMS = cmp diff diff3 sdiff
  36. +  
  37. +! all: $(PROGRAMS) info guide 
  38. +  
  39. +  COMPILE = $(CC) -c $(CPPFLAGS) $(DEFS) -I. -I$(srcdir) $(CFLAGS)
  40. +  
  41. +***************
  42. +*** 160,167 ****
  43. +        $(INSTALL_DATA) $$f $(infodir)/$$f; \
  44. +      done
  45. +      $(INSTALL_DATA) diff.guide $(guidedir)/diff.guide
  46. +!     $(INSTALL_DATA) diff.dvi $(dvidir)/diff.dvi
  47. +!     $(INSTALL_DATA) diff.ps $(psdir)/diff.ps
  48. +  
  49. +  installdirs:
  50. +      $(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(infodir) $(guidedir) $(dvidir) $(psdir)
  51. +--- 160,167 ----
  52. +        $(INSTALL_DATA) $$f $(infodir)/$$f; \
  53. +      done
  54. +      $(INSTALL_DATA) diff.guide $(guidedir)/diff.guide
  55. +! #    $(INSTALL_DATA) diff.dvi $(dvidir)/diff.dvi
  56. +! #    $(INSTALL_DATA) diff.ps $(psdir)/diff.ps
  57. +  
  58. +  installdirs:
  59. +      $(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(infodir) $(guidedir) $(dvidir) $(psdir)
  60. +diff -rc diffutils-ref/configure diffutils/configure
  61. +*** diffutils-ref/configure    Tue Sep 10 03:10:29 1996
  62. +--- diffutils/configure    Fri Sep 27 22:48:38 1996
  63. +***************
  64. +*** 618,624 ****
  65. +    yes;
  66. +  #endif
  67. +  EOF
  68. +! if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:622: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
  69. +    ac_cv_prog_gcc=yes
  70. +  else
  71. +    ac_cv_prog_gcc=no
  72. +--- 618,624 ----
  73. +    yes;
  74. +  #endif
  75. +  EOF
  76. +! if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:622: \"$ac_try\") 1>&5; xxx=`(eval $ac_try 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }; } | egrep yes >/dev/null 2>&1; then
  77. +    ac_cv_prog_gcc=yes
  78. +  else
  79. +    ac_cv_prog_gcc=no
  80. +***************
  81. +*** 676,682 ****
  82. +  Syntax Error
  83. +  EOF
  84. +  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  85. +! { (eval echo configure:680: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  86. +  ac_err=`grep -v '^ *+' conftest.out`
  87. +  if test -z "$ac_err"; then
  88. +    :
  89. +--- 676,682 ----
  90. +  Syntax Error
  91. +  EOF
  92. +  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  93. +! { (eval echo configure:680: \"$ac_try\") 1>&5; xxx=`(eval $ac_try 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }
  94. +  ac_err=`grep -v '^ *+' conftest.out`
  95. +  if test -z "$ac_err"; then
  96. +    :
  97. +***************
  98. +*** 691,697 ****
  99. +  Syntax Error
  100. +  EOF
  101. +  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  102. +! { (eval echo configure:695: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  103. +  ac_err=`grep -v '^ *+' conftest.out`
  104. +  if test -z "$ac_err"; then
  105. +    :
  106. +--- 691,697 ----
  107. +  Syntax Error
  108. +  EOF
  109. +  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  110. +! { (eval echo configure:695: \"$ac_try\") 1>&5; xxx=`(eval $ac_try 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }
  111. +  ac_err=`grep -v '^ *+' conftest.out`
  112. +  if test -z "$ac_err"; then
  113. +    :
  114. +***************
  115. +*** 821,827 ****
  116. +  #include <minix/config.h>
  117. +  EOF
  118. +  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  119. +! { (eval echo configure:825: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  120. +  ac_err=`grep -v '^ *+' conftest.out`
  121. +  if test -z "$ac_err"; then
  122. +    rm -rf conftest*
  123. +--- 821,827 ----
  124. +  #include <minix/config.h>
  125. +  EOF
  126. +  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  127. +! { (eval echo configure:825: \"$ac_try\") 1>&5; xxx=`(eval $ac_try 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }
  128. +  ac_err=`grep -v '^ *+' conftest.out`
  129. +  if test -z "$ac_err"; then
  130. +    rm -rf conftest*
  131. +***************
  132. +*** 911,917 ****
  133. +  
  134. +  ; return 0; }
  135. +  EOF
  136. +! if { (eval echo configure:915: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
  137. +    rm -rf conftest*
  138. +    ac_cv_c_const=yes
  139. +  else
  140. +--- 911,917 ----
  141. +  
  142. +  ; return 0; }
  143. +  EOF
  144. +! if { (eval echo configure:915: \"$ac_compile\") 1>&5; xxx=`(eval $ac_compile 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }; then
  145. +    rm -rf conftest*
  146. +    ac_cv_c_const=yes
  147. +  else
  148. +***************
  149. +*** 943,949 ****
  150. +  #include "confdefs.h"
  151. +  main(){return(0);}
  152. +  EOF
  153. +! { (eval echo configure:947: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
  154. +  if test -s conftest && (./conftest; exit) 2>/dev/null; then
  155. +    ac_cv_c_cross=no
  156. +  else
  157. +--- 943,949 ----
  158. +  #include "confdefs.h"
  159. +  main(){return(0);}
  160. +  EOF
  161. +! { (eval echo configure:947: \"$ac_link\") 1>&5; xxx=`(eval $ac_link 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }
  162. +  if test -s conftest && (./conftest; exit) 2>/dev/null; then
  163. +    ac_cv_c_cross=no
  164. +  else
  165. +***************
  166. +*** 969,975 ****
  167. +  #include <float.h>
  168. +  EOF
  169. +  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  170. +! { (eval echo configure:973: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  171. +  ac_err=`grep -v '^ *+' conftest.out`
  172. +  if test -z "$ac_err"; then
  173. +    rm -rf conftest*
  174. +--- 969,975 ----
  175. +  #include <float.h>
  176. +  EOF
  177. +  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  178. +! { (eval echo configure:973: \"$ac_try\") 1>&5; xxx=`(eval $ac_try 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }
  179. +  ac_err=`grep -v '^ *+' conftest.out`
  180. +  if test -z "$ac_err"; then
  181. +    rm -rf conftest*
  182. +***************
  183. +*** 988,995 ****
  184. +  #include "confdefs.h"
  185. +  #include <string.h>
  186. +  EOF
  187. +! if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  188. +!   egrep "memchr" >/dev/null 2>&1; then
  189. +    :
  190. +  else
  191. +    rm -rf conftest*
  192. +--- 988,995 ----
  193. +  #include "confdefs.h"
  194. +  #include <string.h>
  195. +  EOF
  196. +! eval "$ac_cpp conftest.$ac_ext" 2>&5 >conftest.tmp
  197. +! if egrep "memchr" <conftest.tmp >/dev/null 2>&1; then
  198. +    :
  199. +  else
  200. +    rm -rf conftest*
  201. +***************
  202. +*** 1006,1013 ****
  203. +  #include "confdefs.h"
  204. +  #include <stdlib.h>
  205. +  EOF
  206. +! if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  207. +!   egrep "free" >/dev/null 2>&1; then
  208. +    :
  209. +  else
  210. +    rm -rf conftest*
  211. +--- 1006,1013 ----
  212. +  #include "confdefs.h"
  213. +  #include <stdlib.h>
  214. +  EOF
  215. +! eval "$ac_cpp conftest.$ac_ext" 2>&5 >conftest.tmp
  216. +! if egrep "free" <conftest.tmp >/dev/null 2>&1; then
  217. +    :
  218. +  else
  219. +    rm -rf conftest*
  220. +***************
  221. +*** 1034,1040 ****
  222. +  exit (0); }
  223. +  
  224. +  EOF
  225. +! { (eval echo configure:1038: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
  226. +  if test -s conftest && (./conftest; exit) 2>/dev/null; then
  227. +    :
  228. +  else
  229. +--- 1034,1040 ----
  230. +  exit (0); }
  231. +  
  232. +  EOF
  233. +! { (eval echo configure:1038: \"$ac_link\") 1>&5; xxx=`(eval $ac_link 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }
  234. +  if test -s conftest && (./conftest; exit) 2>/dev/null; then
  235. +    :
  236. +  else
  237. +***************
  238. +*** 1066,1072 ****
  239. +  #include <$ac_hdr>
  240. +  EOF
  241. +  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  242. +! { (eval echo configure:1070: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  243. +  ac_err=`grep -v '^ *+' conftest.out`
  244. +  if test -z "$ac_err"; then
  245. +    rm -rf conftest*
  246. +--- 1066,1072 ----
  247. +  #include <$ac_hdr>
  248. +  EOF
  249. +  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  250. +! { (eval echo configure:1070: \"$ac_try\") 1>&5; xxx=`(eval $ac_try 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }
  251. +  ac_err=`grep -v '^ *+' conftest.out`
  252. +  if test -z "$ac_err"; then
  253. +    rm -rf conftest*
  254. +***************
  255. +*** 1108,1114 ****
  256. +  DIR *dirp = 0;
  257. +  ; return 0; }
  258. +  EOF
  259. +! if { (eval echo configure:1112: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
  260. +    rm -rf conftest*
  261. +    eval "ac_cv_header_dirent_$ac_safe=yes"
  262. +  else
  263. +--- 1108,1114 ----
  264. +  DIR *dirp = 0;
  265. +  ; return 0; }
  266. +  EOF
  267. +! if { (eval echo configure:1112: \"$ac_compile\") 1>&5; xxx=`(eval $ac_compile 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }; then
  268. +    rm -rf conftest*
  269. +    eval "ac_cv_header_dirent_$ac_safe=yes"
  270. +  else
  271. +***************
  272. +*** 1146,1157 ****
  273. +      builtin and then its argument prototype would still apply.  */
  274. +  char opendir();
  275. +  
  276. +! int main() { return 0; }
  277. +  int t() {
  278. +  opendir()
  279. +  ; return 0; }
  280. +  EOF
  281. +! if { (eval echo configure:1155: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  282. +    rm -rf conftest*
  283. +    eval "ac_cv_lib_$ac_lib_var=yes"
  284. +  else
  285. +--- 1146,1157 ----
  286. +      builtin and then its argument prototype would still apply.  */
  287. +  char opendir();
  288. +  
  289. +! int main() { t(); return 0; }
  290. +  int t() {
  291. +  opendir()
  292. +  ; return 0; }
  293. +  EOF
  294. +! if { (eval echo configure:1155: \"$ac_link\") 1>&5; xxx=`(eval $ac_link 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }; then
  295. +    rm -rf conftest*
  296. +    eval "ac_cv_lib_$ac_lib_var=yes"
  297. +  else
  298. +***************
  299. +*** 1185,1196 ****
  300. +      builtin and then its argument prototype would still apply.  */
  301. +  char opendir();
  302. +  
  303. +! int main() { return 0; }
  304. +  int t() {
  305. +  opendir()
  306. +  ; return 0; }
  307. +  EOF
  308. +! if { (eval echo configure:1194: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  309. +    rm -rf conftest*
  310. +    eval "ac_cv_lib_$ac_lib_var=yes"
  311. +  else
  312. +--- 1185,1196 ----
  313. +      builtin and then its argument prototype would still apply.  */
  314. +  char opendir();
  315. +  
  316. +! int main() { t(); return 0; }
  317. +  int t() {
  318. +  opendir()
  319. +  ; return 0; }
  320. +  EOF
  321. +! if { (eval echo configure:1194: \"$ac_link\") 1>&5; xxx=`(eval $ac_link 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }; then
  322. +    rm -rf conftest*
  323. +    eval "ac_cv_lib_$ac_lib_var=yes"
  324. +  else
  325. +***************
  326. +*** 1245,1252 ****
  327. +  #endif
  328. +  
  329. +  EOF
  330. +! if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  331. +!   egrep "You lose" >/dev/null 2>&1; then
  332. +    rm -rf conftest*
  333. +    ac_cv_header_stat_broken=yes
  334. +  else
  335. +--- 1245,1252 ----
  336. +  #endif
  337. +  
  338. +  EOF
  339. +! eval "$ac_cpp conftest.$ac_ext" 2>&5 >conftest.tmp
  340. +! if egrep "You lose" <conftest.tmp >/dev/null 2>&1; then
  341. +    rm -rf conftest*
  342. +    ac_cv_header_stat_broken=yes
  343. +  else
  344. +***************
  345. +*** 1287,1293 ****
  346. +  s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
  347. +  ; return 0; }
  348. +  EOF
  349. +! if { (eval echo configure:1291: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
  350. +    rm -rf conftest*
  351. +    ac_cv_header_sys_wait_h=yes
  352. +  else
  353. +--- 1287,1293 ----
  354. +  s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
  355. +  ; return 0; }
  356. +  EOF
  357. +! if { (eval echo configure:1291: \"$ac_compile\") 1>&5; xxx=`(eval $ac_compile 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }; then
  358. +    rm -rf conftest*
  359. +    ac_cv_header_sys_wait_h=yes
  360. +  else
  361. +***************
  362. +*** 1318,1325 ****
  363. +  #include <stdlib.h>
  364. +  #endif
  365. +  EOF
  366. +! if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  367. +!   egrep "pid_t" >/dev/null 2>&1; then
  368. +    rm -rf conftest*
  369. +    ac_cv_type_pid_t=yes
  370. +  else
  371. +--- 1318,1325 ----
  372. +  #include <stdlib.h>
  373. +  #endif
  374. +  EOF
  375. +! eval "$ac_cpp conftest.$ac_ext" 2>&5 >conftest.tmp
  376. +! if egrep "pid_t" <conftest.tmp >/dev/null 2>&1; then
  377. +    rm -rf conftest*
  378. +    ac_cv_type_pid_t=yes
  379. +  else
  380. +***************
  381. +*** 1360,1366 ****
  382. +  int i;
  383. +  ; return 0; }
  384. +  EOF
  385. +! if { (eval echo configure:1364: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
  386. +    rm -rf conftest*
  387. +    ac_cv_type_signal=void
  388. +  else
  389. +--- 1360,1366 ----
  390. +  int i;
  391. +  ; return 0; }
  392. +  EOF
  393. +! if { (eval echo configure:1364: \"$ac_compile\") 1>&5; xxx=`(eval $ac_compile 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }; then
  394. +    rm -rf conftest*
  395. +    ac_cv_type_signal=void
  396. +  else
  397. +***************
  398. +*** 1394,1400 ****
  399. +      builtin and then its argument prototype would still apply.  */
  400. +  char $ac_func();
  401. +  
  402. +! int main() { return 0; }
  403. +  int t() {
  404. +  
  405. +  /* The GNU C library defines this for functions which it implements
  406. +--- 1394,1400 ----
  407. +      builtin and then its argument prototype would still apply.  */
  408. +  char $ac_func();
  409. +  
  410. +! int main() { t(); return 0; }
  411. +  int t() {
  412. +  
  413. +  /* The GNU C library defines this for functions which it implements
  414. +***************
  415. +*** 1408,1414 ****
  416. +  
  417. +  ; return 0; }
  418. +  EOF
  419. +! if { (eval echo configure:1412: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  420. +    rm -rf conftest*
  421. +    eval "ac_cv_func_$ac_func=yes"
  422. +  else
  423. +--- 1408,1414 ----
  424. +  
  425. +  ; return 0; }
  426. +  EOF
  427. +! if { (eval echo configure:1412: \"$ac_link\") 1>&5; xxx=`(eval $ac_link 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }; then
  428. +    rm -rf conftest*
  429. +    eval "ac_cv_func_$ac_func=yes"
  430. +  else
  431. +***************
  432. +*** 1447,1453 ****
  433. +      builtin and then its argument prototype would still apply.  */
  434. +  char $ac_func();
  435. +  
  436. +! int main() { return 0; }
  437. +  int t() {
  438. +  
  439. +  /* The GNU C library defines this for functions which it implements
  440. +--- 1447,1453 ----
  441. +      builtin and then its argument prototype would still apply.  */
  442. +  char $ac_func();
  443. +  
  444. +! int main() { t(); return 0; }
  445. +  int t() {
  446. +  
  447. +  /* The GNU C library defines this for functions which it implements
  448. +***************
  449. +*** 1461,1467 ****
  450. +  
  451. +  ; return 0; }
  452. +  EOF
  453. +! if { (eval echo configure:1465: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  454. +    rm -rf conftest*
  455. +    eval "ac_cv_func_$ac_func=yes"
  456. +  else
  457. +--- 1461,1467 ----
  458. +  
  459. +  ; return 0; }
  460. +  EOF
  461. +! if { (eval echo configure:1465: \"$ac_link\") 1>&5; xxx=`(eval $ac_link 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }; then
  462. +    rm -rf conftest*
  463. +    eval "ac_cv_func_$ac_func=yes"
  464. +  else
  465. +***************
  466. +*** 1491,1502 ****
  467. +  #line 1492 "configure"
  468. +  #include "confdefs.h"
  469. +  #include <alloca.h>
  470. +! int main() { return 0; }
  471. +  int t() {
  472. +  char *p = alloca(2 * sizeof(int));
  473. +  ; return 0; }
  474. +  EOF
  475. +! if { (eval echo configure:1500: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  476. +    rm -rf conftest*
  477. +    ac_cv_header_alloca_h=yes
  478. +  else
  479. +--- 1491,1502 ----
  480. +  #line 1492 "configure"
  481. +  #include "confdefs.h"
  482. +  #include <alloca.h>
  483. +! int main() { t(); return 0; }
  484. +  int t() {
  485. +  char *p = alloca(2 * sizeof(int));
  486. +  ; return 0; }
  487. +  EOF
  488. +! if { (eval echo configure:1500: \"$ac_link\") 1>&5; xxx=`(eval $ac_link 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }; then
  489. +    rm -rf conftest*
  490. +    ac_cv_header_alloca_h=yes
  491. +  else
  492. +***************
  493. +*** 1539,1550 ****
  494. +  # endif
  495. +  #endif
  496. +  
  497. +! int main() { return 0; }
  498. +  int t() {
  499. +  char *p = (char *) alloca(1);
  500. +  ; return 0; }
  501. +  EOF
  502. +! if { (eval echo configure:1548: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  503. +    rm -rf conftest*
  504. +    ac_cv_func_alloca=yes
  505. +  else
  506. +--- 1539,1550 ----
  507. +  # endif
  508. +  #endif
  509. +  
  510. +! int main() { t(); return 0; }
  511. +  int t() {
  512. +  char *p = (char *) alloca(1);
  513. +  ; return 0; }
  514. +  EOF
  515. +! if { (eval echo configure:1548: \"$ac_link\") 1>&5; xxx=`(eval $ac_link 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }; then
  516. +    rm -rf conftest*
  517. +    ac_cv_func_alloca=yes
  518. +  else
  519. +***************
  520. +*** 1588,1595 ****
  521. +  #endif
  522. +  
  523. +  EOF
  524. +! if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  525. +!   egrep "webecray" >/dev/null 2>&1; then
  526. +    rm -rf conftest*
  527. +    ac_cv_os_cray=yes
  528. +  else
  529. +--- 1588,1595 ----
  530. +  #endif
  531. +  
  532. +  EOF
  533. +! eval "$ac_cpp conftest.$ac_ext" 2>&5 >conftest.tmp
  534. +! if egrep "webecray" <conftest.tmp >/dev/null 2>&1; then
  535. +    rm -rf conftest*
  536. +    ac_cv_os_cray=yes
  537. +  else
  538. +***************
  539. +*** 1618,1624 ****
  540. +      builtin and then its argument prototype would still apply.  */
  541. +  char $ac_func();
  542. +  
  543. +! int main() { return 0; }
  544. +  int t() {
  545. +  
  546. +  /* The GNU C library defines this for functions which it implements
  547. +--- 1618,1624 ----
  548. +      builtin and then its argument prototype would still apply.  */
  549. +  char $ac_func();
  550. +  
  551. +! int main() { t(); return 0; }
  552. +  int t() {
  553. +  
  554. +  /* The GNU C library defines this for functions which it implements
  555. +***************
  556. +*** 1632,1638 ****
  557. +  
  558. +  ; return 0; }
  559. +  EOF
  560. +! if { (eval echo configure:1636: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  561. +    rm -rf conftest*
  562. +    eval "ac_cv_func_$ac_func=yes"
  563. +  else
  564. +--- 1632,1638 ----
  565. +  
  566. +  ; return 0; }
  567. +  EOF
  568. +! if { (eval echo configure:1636: \"$ac_link\") 1>&5; xxx=`(eval $ac_link 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }; then
  569. +    rm -rf conftest*
  570. +    eval "ac_cv_func_$ac_func=yes"
  571. +  else
  572. +***************
  573. +*** 1683,1689 ****
  574. +    exit (find_stack_direction() < 0);
  575. +  }
  576. +  EOF
  577. +! { (eval echo configure:1687: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
  578. +  if test -s conftest && (./conftest; exit) 2>/dev/null; then
  579. +    ac_cv_c_stack_direction=1
  580. +  else
  581. +--- 1683,1689 ----
  582. +    exit (find_stack_direction() < 0);
  583. +  }
  584. +  EOF
  585. +! { (eval echo configure:1687: \"$ac_link\") 1>&5; xxx=`(eval $ac_link 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }
  586. +  if test -s conftest && (./conftest; exit) 2>/dev/null; then
  587. +    ac_cv_c_stack_direction=1
  588. +  else
  589. +***************
  590. +*** 1714,1720 ****
  591. +  #include <$ac_header_dirent>
  592. +  int closedir(); main() { exit(closedir(opendir(".")) != 0); }
  593. +  EOF
  594. +! { (eval echo configure:1718: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
  595. +  if test -s conftest && (./conftest; exit) 2>/dev/null; then
  596. +    ac_cv_func_closedir_void=no
  597. +  else
  598. +--- 1714,1720 ----
  599. +  #include <$ac_header_dirent>
  600. +  int closedir(); main() { exit(closedir(opendir(".")) != 0); }
  601. +  EOF
  602. +! { (eval echo configure:1718: \"$ac_link\") 1>&5; xxx=`(eval $ac_link 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }
  603. +  if test -s conftest && (./conftest; exit) 2>/dev/null; then
  604. +    ac_cv_func_closedir_void=no
  605. +  else
  606. +***************
  607. +*** 1743,1749 ****
  608. +  #include <vfork.h>
  609. +  EOF
  610. +  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  611. +! { (eval echo configure:1747: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  612. +  ac_err=`grep -v '^ *+' conftest.out`
  613. +  if test -z "$ac_err"; then
  614. +    rm -rf conftest*
  615. +--- 1743,1749 ----
  616. +  #include <vfork.h>
  617. +  EOF
  618. +  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  619. +! { (eval echo configure:1747: \"$ac_try\") 1>&5; xxx=`(eval $ac_try 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }
  620. +  ac_err=`grep -v '^ *+' conftest.out`
  621. +  if test -z "$ac_err"; then
  622. +    rm -rf conftest*
  623. +***************
  624. +*** 1785,1791 ****
  625. +      builtin and then its argument prototype would still apply.  */
  626. +  char vfork();
  627. +  
  628. +! int main() { return 0; }
  629. +  int t() {
  630. +  
  631. +  /* The GNU C library defines this for functions which it implements
  632. +--- 1785,1791 ----
  633. +      builtin and then its argument prototype would still apply.  */
  634. +  char vfork();
  635. +  
  636. +! int main() { t(); return 0; }
  637. +  int t() {
  638. +  
  639. +  /* The GNU C library defines this for functions which it implements
  640. +***************
  641. +*** 1799,1805 ****
  642. +  
  643. +  ; return 0; }
  644. +  EOF
  645. +! if { (eval echo configure:1803: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  646. +    rm -rf conftest*
  647. +    eval "ac_cv_func_vfork=yes"
  648. +  else
  649. +--- 1799,1805 ----
  650. +  
  651. +  ; return 0; }
  652. +  EOF
  653. +! if { (eval echo configure:1803: \"$ac_link\") 1>&5; xxx=`(eval $ac_link 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }; then
  654. +    rm -rf conftest*
  655. +    eval "ac_cv_func_vfork=yes"
  656. +  else
  657. +***************
  658. +*** 1917,1923 ****
  659. +    }
  660. +  }
  661. +  EOF
  662. +! { (eval echo configure:1921: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
  663. +  if test -s conftest && (./conftest; exit) 2>/dev/null; then
  664. +    ac_cv_func_vfork=yes
  665. +  else
  666. +--- 1917,1923 ----
  667. +    }
  668. +  }
  669. +  EOF
  670. +! { (eval echo configure:1921: \"$ac_link\") 1>&5; xxx=`(eval $ac_link 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }
  671. +  if test -s conftest && (./conftest; exit) 2>/dev/null; then
  672. +    ac_cv_func_vfork=yes
  673. +  else
  674. +***************
  675. +*** 1950,1956 ****
  676. +      builtin and then its argument prototype would still apply.  */
  677. +  char vprintf();
  678. +  
  679. +! int main() { return 0; }
  680. +  int t() {
  681. +  
  682. +  /* The GNU C library defines this for functions which it implements
  683. +--- 1950,1956 ----
  684. +      builtin and then its argument prototype would still apply.  */
  685. +  char vprintf();
  686. +  
  687. +! int main() { t(); return 0; }
  688. +  int t() {
  689. +  
  690. +  /* The GNU C library defines this for functions which it implements
  691. +***************
  692. +*** 1964,1970 ****
  693. +  
  694. +  ; return 0; }
  695. +  EOF
  696. +! if { (eval echo configure:1968: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  697. +    rm -rf conftest*
  698. +    eval "ac_cv_func_vprintf=yes"
  699. +  else
  700. +--- 1964,1970 ----
  701. +  
  702. +  ; return 0; }
  703. +  EOF
  704. +! if { (eval echo configure:1968: \"$ac_link\") 1>&5; xxx=`(eval $ac_link 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }; then
  705. +    rm -rf conftest*
  706. +    eval "ac_cv_func_vprintf=yes"
  707. +  else
  708. +***************
  709. +*** 2000,2006 ****
  710. +      builtin and then its argument prototype would still apply.  */
  711. +  char _doprnt();
  712. +  
  713. +! int main() { return 0; }
  714. +  int t() {
  715. +  
  716. +  /* The GNU C library defines this for functions which it implements
  717. +--- 2000,2006 ----
  718. +      builtin and then its argument prototype would still apply.  */
  719. +  char _doprnt();
  720. +  
  721. +! int main() { t(); return 0; }
  722. +  int t() {
  723. +  
  724. +  /* The GNU C library defines this for functions which it implements
  725. +***************
  726. +*** 2014,2020 ****
  727. +  
  728. +  ; return 0; }
  729. +  EOF
  730. +! if { (eval echo configure:2018: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  731. +    rm -rf conftest*
  732. +    eval "ac_cv_func__doprnt=yes"
  733. +  else
  734. +--- 2014,2020 ----
  735. +  
  736. +  ; return 0; }
  737. +  EOF
  738. +! if { (eval echo configure:2018: \"$ac_link\") 1>&5; xxx=`(eval $ac_link 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }; then
  739. +    rm -rf conftest*
  740. +    eval "ac_cv_func__doprnt=yes"
  741. +  else
  742. +***************
  743. +*** 2050,2056 ****
  744. +  struct stat s; s.st_blksize;
  745. +  ; return 0; }
  746. +  EOF
  747. +! if { (eval echo configure:2054: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
  748. +    rm -rf conftest*
  749. +    ac_cv_struct_st_blksize=yes
  750. +  else
  751. +--- 2050,2056 ----
  752. +  struct stat s; s.st_blksize;
  753. +  ; return 0; }
  754. +  EOF
  755. +! if { (eval echo configure:2054: \"$ac_compile\") 1>&5; xxx=`(eval $ac_compile 2>&5 ; echo $?)` ; test "$xxx" = "0" ; }; then
  756. +    rm -rf conftest*
  757. +    ac_cv_struct_st_blksize=yes
  758. +  else
  759. +***************
  760. +*** 2088,2096 ****
  761. +  EOF
  762. +  # Ultrix sh set writes to stderr and can't be redirected directly,
  763. +  # and sets the high bit in the cache file unless we assign to the vars.
  764. +! (set) 2>&1 |
  765. +    sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=\${\1='\2'}/p" \
  766. +!   >> confcache
  767. +  if cmp -s $cache_file confcache; then
  768. +    :
  769. +  else
  770. +--- 2088,2096 ----
  771. +  EOF
  772. +  # Ultrix sh set writes to stderr and can't be redirected directly,
  773. +  # and sets the high bit in the cache file unless we assign to the vars.
  774. +! (set) >cache.tmp 2>&1 
  775. +    sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=\${\1='\2'}/p" \
  776. +!   <cache.tmp >> confcache
  777. +  if cmp -s $cache_file confcache; then
  778. +    :
  779. +  else
  780. +***************
  781. +*** 2101,2107 ****
  782. +      echo "not updating unwritable cache $cache_file"
  783. +    fi
  784. +  fi
  785. +! rm -f confcache
  786. +  
  787. +  trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
  788. +  
  789. +--- 2101,2107 ----
  790. +      echo "not updating unwritable cache $cache_file"
  791. +    fi
  792. +  fi
  793. +! rm -f confcache cache.tmp
  794. +  
  795. +  trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
  796. +  
  797. diff -rup --new-file baseline/fsf/diffutils/INSTALL amiga/fsf/diffutils/INSTALL
  798. --- baseline/fsf/diffutils/INSTALL    Wed Sep 28 06:08:23 1994
  799. +++ amiga/fsf/diffutils/INSTALL    Sat Sep 28 00:00:00 1996
  800. @@ -76,8 +76,8 @@ Installation Names
  801.  ==================
  802.  
  803.     By default, `make install' will install the package's files in
  804. -`/usr/local/bin', `/usr/local/man', etc.  You can specify an
  805. -installation prefix other than `/usr/local' by giving `configure' the
  806. +`/gnu/bin', `/gnu/man', etc.  You can specify an
  807. +installation prefix other than `/gnu' by giving `configure' the
  808.  option `--prefix=PATH'.  Alternately, you can do so by consistently
  809.  giving a value for the `prefix' variable when you run `make', e.g.,
  810.       make prefix=/usr/gnu
  811. diff -rup --new-file baseline/fsf/diffutils/Makefile.in amiga/fsf/diffutils/Makefile.in
  812. --- baseline/fsf/diffutils/Makefile.in    Thu Sep 22 09:47:00 1994
  813. +++ amiga/fsf/diffutils/Makefile.in    Sat Sep 28 00:00:00 1996
  814. @@ -28,6 +28,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
  815.  INSTALL_DATA = @INSTALL_DATA@
  816.  MAKEINFO = makeinfo
  817.  TEXI2DVI = texi2dvi
  818. +DVIPS = dvips
  819.  
  820.  CPPFLAGS = @CPPFLAGS@
  821.  DEFS = @DEFS@
  822. @@ -47,11 +48,14 @@ edit_program_name = sed '@program_transf
  823.  bindir = $(exec_prefix)/bin
  824.  
  825.  infodir = $(prefix)/info
  826. +guidedir = $(prefix)/guide
  827. +dvidir = $(prefix)/dvi
  828. +psdir = $(prefix)/ps
  829.  
  830. -DEFAULT_EDITOR_PROGRAM = ed
  831. +DEFAULT_EDITOR_PROGRAM = $(bindir)/emacs
  832.  DIFF_PROGRAM = $(bindir)/`echo diff | $(edit_program_name)`
  833.  NULL_DEVICE = /dev/null
  834. -PR_PROGRAM = /bin/pr
  835. +PR_PROGRAM = $(bindir)/pr
  836.  
  837.  #### End of system configuration section. ####
  838.  
  839. @@ -65,12 +69,12 @@ srcs=diff.c analyze.c cmpbuf.c cmpbuf.h 
  840.      fnmatch.c fnmatch.h alloca.c
  841.  distfiles = $(srcs) README INSTALL NEWS diagmeet.note Makefile.in \
  842.      stamp-h.in config.hin configure configure.in COPYING ChangeLog \
  843. -    diff.texi diff.info* texinfo.tex \
  844. +    diff.texi diff.info* diff.guide diff.dvi diff.ps texinfo.tex \
  845.      install-sh mkinstalldirs
  846.  
  847.  PROGRAMS = cmp diff diff3 sdiff
  848.  
  849. -all: $(PROGRAMS) info
  850. +all: $(PROGRAMS) info guide dvi ps
  851.  
  852.  COMPILE = $(CC) -c $(CPPFLAGS) $(DEFS) -I. -I$(srcdir) $(CFLAGS)
  853.  
  854. @@ -103,6 +107,14 @@ dvi: diff.dvi
  855.  diff.dvi: diff.texi
  856.      $(TEXI2DVI) $(srcdir)/diff.texi
  857.  
  858. +guide: diff.guide
  859. +diff.guide: diff.texi
  860. +    $(MAKEINFO) --amiga $(srcdir)/diff.texi --output=$@
  861. +
  862. +ps: diff.ps
  863. +diff.ps: diff.dvi
  864. +    $(DVIPS) -o $@ $?
  865. +
  866.  $(diff_o): diff.h system.h
  867.  cmp.o diff3.o sdiff.o: system.h
  868.  context.o diff.o regex.o: regex.h
  869. @@ -137,7 +149,7 @@ distclean: clean
  870.      rm -f Makefile config.cache config.h config.log config.status stamp-h
  871.  
  872.  realclean: distclean
  873. -    rm -f TAGS *.info*
  874. +    rm -f TAGS *.info* *.guide *.dvi *.ps
  875.  
  876.  install: all installdirs
  877.      for p in $(PROGRAMS); do \
  878. @@ -147,9 +159,12 @@ install: all installdirs
  879.      for f in diff.info*; do \
  880.        $(INSTALL_DATA) $$f $(infodir)/$$f; \
  881.      done
  882. +    $(INSTALL_DATA) diff.guide $(guidedir)/diff.guide
  883. +    $(INSTALL_DATA) diff.dvi $(dvidir)/diff.dvi
  884. +    $(INSTALL_DATA) diff.ps $(psdir)/diff.ps
  885.  
  886.  installdirs:
  887. -    $(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(infodir)
  888. +    $(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(infodir) $(guidedir) $(dvidir) $(psdir)
  889.  
  890.  # We need more tests.
  891.  check:
  892. @@ -163,6 +178,7 @@ uninstall:
  893.        rm -f $(bindir)/`echo $$p | $(edit_program_name)`; \
  894.      done
  895.      rm -f $(infodir)/diff.info*
  896. +    rm -f $(guidedir)/diff.guide $(dvidir)/diff.dvi $(psdir)/diff.ps
  897.  
  898.  configure: configure.in
  899.      cd $(srcdir) && autoconf
  900. diff -rup --new-file baseline/fsf/diffutils/Product-Info amiga/fsf/diffutils/Product-Info
  901. --- baseline/fsf/diffutils/Product-Info    Wed Dec 31 17:00:00 1969
  902. +++ amiga/fsf/diffutils/Product-Info    Sat Sep 28 00:00:00 1996
  903. @@ -0,0 +1,57 @@
  904. +.name
  905. +diffutils
  906. +.fullname
  907. +GNU diff utilities
  908. +.type
  909. +Programmer Tool
  910. +.short
  911. +GNU diff, diff3, sdiff and cmp utilities
  912. +.description
  913. +This directory contains the GNU diff, diff3, sdiff, and cmp utilities.
  914. +Their features are a superset of the Unix features and they are
  915. +significantly faster.  cmp has been moved here from the GNU textutils.
  916. +
  917. +Computer users often find occasion to ask how two files differ.
  918. +Perhaps one file is a newer version of the other file.  Or maybe the
  919. +two files started out as identical copies but were changed by
  920. +different people.
  921. +
  922. +You can use the diff command to show differences between two files, or
  923. +each corresponding file in two directories.  diff outputs differences
  924. +between files line by line in any of several formats, selectable by
  925. +command line options.  This set of differences is often called a diff
  926. +or patch.  For files that are identical, diff normally produces no
  927. +output; for binary (non-text) files, diff normally reports only that
  928. +they are different.
  929. +
  930. +You can use the cmp command to show the offsets and line numbers where
  931. +two files differ.  Cmp can also show all the characters that differ
  932. +between the two files, side by side.
  933. +
  934. +You can use the diff3 command to show differences among three files.
  935. +When two people have made independent changes to a common original,
  936. +diff3 can report the differences between the original and the two
  937. +changed versions, and can produce a merged file that contains both
  938. +persons' changes together with warnings about conflicts.
  939. +
  940. +You can use the sdiff command to merge two files interactively.
  941. +
  942. +You can use the set of differences produced by diff to distribute
  943. +updates to text files (such as program source code) to other people.
  944. +This method is especially useful when the differences are small
  945. +compared to the complete files.  Given diff output, you can use the
  946. +patch program to update, or patch, a copy of the file.  If you think
  947. +of diff as subtracting one file from another to produce their
  948. +difference, you can think of patch as adding the difference to one
  949. +file to reproduce the other.
  950. +.version
  951. +2.7
  952. +.author
  953. +Free Software Foundation
  954. +et. al.
  955. +.requirements
  956. +Binaries require ixemul.library.
  957. +.distribution
  958. +GNU Public License
  959. +.described-by
  960. +Fred Fish (fnf@amigalib.com)
  961. diff -rup --new-file baseline/fsf/diffutils/configure amiga/fsf/diffutils/configure
  962. --- baseline/fsf/diffutils/configure    Sat Oct  1 22:55:23 1994
  963. +++ amiga/fsf/diffutils/configure    Mon Sep 30 22:39:24 1996
  964. @@ -1,56 +1,16 @@
  965. -#!/bin/sh
  966. +#! /bin/sh
  967.  
  968.  # Guess values for system-dependent variables and create Makefiles.
  969. -# Generated automatically using autoconf version 1.120 
  970. -# Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
  971. +# Generated automatically using autoconf version 2.10 
  972. +# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
  973.  #
  974. -# This configure script is free software; you can redistribute it and/or
  975. -# modify it under the terms of the GNU General Public License as published
  976. -# by the Free Software Foundation; either version 2, or (at your option)
  977. -# any later version.
  978. -#
  979. -# This script is distributed in the hope that it will be useful, but
  980. -# WITHOUT ANY WARRANTY; without even the implied warranty of
  981. -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
  982. -# Public License for more details.
  983. -#
  984. -# You should have received a copy of the GNU General Public License
  985. -# along with this script; if not, write to the Free Software
  986. -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  987. -#
  988. -# The redistribution and modification terms for this script do not affect
  989. -# the terms for software that it configures.
  990. +# This configure script is free software; the Free Software Foundation
  991. +# gives unlimited permission to copy, distribute and modify it.
  992.  
  993. +# Defaults:
  994.  ac_help=
  995. -
  996. -# Omit some internal or obsolete options to make the list less imposing.
  997. -ac_usage="Usage: configure [options] [host]
  998. -Options: [defaults in brackets after descriptions]
  999. -Configuration:
  1000. -  --cache-file=FILE       cache test results in FILE
  1001. -  --help                  print this message
  1002. -  --no-create             do not create output files
  1003. -  --quiet, --silent       do not print \`checking...' messages
  1004. -  --version               print the version of autoconf that created configure
  1005. -Directory and file names:
  1006. -  --exec-prefix=PREFIX    install host dependent files in PREFIX [/usr/local]
  1007. -  --prefix=PREFIX         install host independent files in PREFIX [/usr/local]
  1008. -  --srcdir=DIR            find the sources in DIR [configure dir or ..]
  1009. -  --program-prefix=PREFIX prepend PREFIX to installed program names
  1010. -  --program-suffix=SUFFIX append SUFFIX to installed program names
  1011. -  --program-transform-name=PROGRAM run sed PROGRAM on installed program names
  1012. -Host type:
  1013. -  --build=BUILD           configure for building on BUILD [BUILD=HOST]
  1014. -  --host=HOST             configure for HOST [guessed]
  1015. -  --target=TARGET         configure for TARGET [TARGET=HOST]
  1016. -Features and packages:
  1017. -  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  1018. -  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  1019. -  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  1020. -  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  1021. -  --x-includes=DIR        X include files are in DIR
  1022. -  --x-libraries=DIR       X library files are in DIR
  1023. ---enable and --with options recognized:$ac_help"
  1024. +ac_default_prefix=/usr/local
  1025. +# Any additions from configure.in:
  1026.  
  1027.  # Initialize some variables set by options.
  1028.  # The variables have the same names as the options, with
  1029. @@ -67,14 +27,31 @@ program_prefix=NONE
  1030.  program_suffix=NONE
  1031.  program_transform_name=s,x,x,
  1032.  silent=
  1033. +site=
  1034.  srcdir=
  1035.  target=NONE
  1036.  verbose=
  1037.  x_includes=NONE
  1038.  x_libraries=NONE
  1039. +bindir='${exec_prefix}/bin'
  1040. +sbindir='${exec_prefix}/sbin'
  1041. +libexecdir='${exec_prefix}/libexec'
  1042. +datadir='${prefix}/share'
  1043. +sysconfdir='${prefix}/etc'
  1044. +sharedstatedir='${prefix}/com'
  1045. +localstatedir='${prefix}/var'
  1046. +libdir='${exec_prefix}/lib'
  1047. +includedir='${prefix}/include'
  1048. +oldincludedir='/usr/include'
  1049. +infodir='${prefix}/info'
  1050. +guidedir='${prefix}/guide'
  1051. +psdir='${prefix}/ps'
  1052. +dvidir='${prefix}/dvi'
  1053. +mandir='${prefix}/man'
  1054.  
  1055.  # Initialize some other variables.
  1056.  subdirs=
  1057. +MFLAGS= MAKEFLAGS=
  1058.  
  1059.  ac_prev=
  1060.  for ac_option
  1061. @@ -96,9 +73,14 @@ do
  1062.  
  1063.    case "$ac_option" in
  1064.  
  1065. -  -build | --build | --buil | --bui | --bu | --b)
  1066. +  -bindir | --bindir | --bindi | --bind | --bin | --bi)
  1067. +    ac_prev=bindir ;;
  1068. +  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
  1069. +    bindir="$ac_optarg" ;;
  1070. +
  1071. +  -build | --build | --buil | --bui | --bu)
  1072.      ac_prev=build ;;
  1073. -  -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*)
  1074. +  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
  1075.      build="$ac_optarg" ;;
  1076.  
  1077.    -cache-file | --cache-file | --cache-fil | --cache-fi \
  1078. @@ -108,6 +90,12 @@ do
  1079.    | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
  1080.      cache_file="$ac_optarg" ;;
  1081.  
  1082. +  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
  1083. +    ac_prev=datadir ;;
  1084. +  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
  1085. +  | --da=*)
  1086. +    datadir="$ac_optarg" ;;
  1087. +
  1088.    -disable-* | --disable-*)
  1089.      ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
  1090.      # Reject names that are not valid shell variable names.
  1091. @@ -144,9 +132,61 @@ do
  1092.      with_gas=yes ;;
  1093.  
  1094.    -help | --help | --hel | --he)
  1095. +    # Omit some internal or obsolete options to make the list less imposing.
  1096. +    # This message is too long to be a string in the A/UX 3.1 sh.
  1097. +    cat << EOF
  1098. +Usage: configure [options] [host]
  1099. +Options: [defaults in brackets after descriptions]
  1100. +Configuration:
  1101. +  --cache-file=FILE       cache test results in FILE
  1102. +  --help                  print this message
  1103. +  --no-create             do not create output files
  1104. +  --quiet, --silent       do not print \`checking...' messages
  1105. +  --version               print the version of autoconf that created configure
  1106. +Directory and file names:
  1107. +  --prefix=PREFIX         install architecture-independent files in PREFIX
  1108. +                          [$ac_default_prefix]
  1109. +  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
  1110. +                          [same as prefix]
  1111. +  --bindir=DIR            user executables in DIR [EPREFIX/bin]
  1112. +  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
  1113. +  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
  1114. +  --datadir=DIR           read-only architecture-independent data in DIR
  1115. +                          [PREFIX/share]
  1116. +  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
  1117. +  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
  1118. +                          [PREFIX/com]
  1119. +  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
  1120. +  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
  1121. +  --includedir=DIR        C header files in DIR [PREFIX/include]
  1122. +  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
  1123. +  --infodir=DIR           info documentation in DIR [PREFIX/info]
  1124. +  --guidedir=DIR          Amigaguide documentation in DIR [PREFIX/guide]
  1125. +  --psdir=DIR             postscript documentation in DIR [PREFIX/ps]
  1126. +  --dvidir=DIR            TeX dvi documentation in DIR [PREFIX/dvi]
  1127. +  --mandir=DIR            man documentation in DIR [PREFIX/man]
  1128. +  --srcdir=DIR            find the sources in DIR [configure dir or ..]
  1129. +  --program-prefix=PREFIX prepend PREFIX to installed program names
  1130. +  --program-suffix=SUFFIX append SUFFIX to installed program names
  1131. +  --program-transform-name=PROGRAM
  1132. +                          run sed PROGRAM on installed program names
  1133. +EOF
  1134.      cat << EOF
  1135. -$ac_usage
  1136. +Host type:
  1137. +  --build=BUILD           configure for building on BUILD [BUILD=HOST]
  1138. +  --host=HOST             configure for HOST [guessed]
  1139. +  --target=TARGET         configure for TARGET [TARGET=HOST]
  1140. +Features and packages:
  1141. +  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  1142. +  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  1143. +  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  1144. +  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  1145. +  --x-includes=DIR        X include files are in DIR
  1146. +  --x-libraries=DIR       X library files are in DIR
  1147.  EOF
  1148. +    if test -n "$ac_help"; then
  1149. +      echo "--enable and --with options recognized:$ac_help"
  1150. +    fi
  1151.      exit 0 ;;
  1152.  
  1153.    -host | --host | --hos | --ho)
  1154. @@ -154,6 +194,56 @@ EOF
  1155.    -host=* | --host=* | --hos=* | --ho=*)
  1156.      host="$ac_optarg" ;;
  1157.  
  1158. +  -includedir | --includedir | --includedi | --included | --include \
  1159. +  | --includ | --inclu | --incl | --inc)
  1160. +    ac_prev=includedir ;;
  1161. +  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
  1162. +  | --includ=* | --inclu=* | --incl=* | --inc=*)
  1163. +    includedir="$ac_optarg" ;;
  1164. +
  1165. +  -infodir | --infodir | --infodi | --infod | --info | --inf)
  1166. +    ac_prev=infodir ;;
  1167. +  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
  1168. +    infodir="$ac_optarg" ;;
  1169. +
  1170. + -guidedir | --guidedir | --guidedi | --guided | --guide | --gui)
  1171. +   ac_prev=guidedir ;;
  1172. + -guidedir=* | --guidedir=* | --guidedi=* | --guided=* | --guide=* |--gui=*)+    guidedir="$ac_optarg" ;;
  1173. +
  1174. + -psdir | --psdir | --psdi | --psd | --ps)
  1175. +   ac_prev=psdir ;;
  1176. + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)+    psdir="$ac_optarg" ;;
  1177. +
  1178. + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
  1179. +   ac_prev=dvidir ;;
  1180. + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* |--dv=*)+    dvidir="$ac_optarg" ;;
  1181. +
  1182. +  -libdir | --libdir | --libdi | --libd)
  1183. +    ac_prev=libdir ;;
  1184. +  -libdir=* | --libdir=* | --libdi=* | --libd=*)
  1185. +    libdir="$ac_optarg" ;;
  1186. +
  1187. +  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
  1188. +  | --libexe | --libex | --libe)
  1189. +    ac_prev=libexecdir ;;
  1190. +  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
  1191. +  | --libexe=* | --libex=* | --libe=*)
  1192. +    libexecdir="$ac_optarg" ;;
  1193. +
  1194. +  -localstatedir | --localstatedir | --localstatedi | --localstated \
  1195. +  | --localstate | --localstat | --localsta | --localst \
  1196. +  | --locals | --local | --loca | --loc | --lo)
  1197. +    ac_prev=localstatedir ;;
  1198. +  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
  1199. +  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
  1200. +  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
  1201. +    localstatedir="$ac_optarg" ;;
  1202. +
  1203. +  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
  1204. +    ac_prev=mandir ;;
  1205. +  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
  1206. +    mandir="$ac_optarg" ;;
  1207. +
  1208.    -nfp | --nfp | --nf)
  1209.      # Obsolete; use --without-fp.
  1210.      with_fp=no ;;
  1211. @@ -166,6 +256,15 @@ EOF
  1212.    | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
  1213.      no_recursion=yes ;;
  1214.  
  1215. +  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
  1216. +  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
  1217. +  | --oldin | --oldi | --old | --ol | --o)
  1218. +    ac_prev=oldincludedir ;;
  1219. +  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
  1220. +  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
  1221. +  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
  1222. +    oldincludedir="$ac_optarg" ;;
  1223. +
  1224.    -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
  1225.      ac_prev=prefix ;;
  1226.    -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
  1227. @@ -206,11 +305,40 @@ EOF
  1228.    | -silent | --silent | --silen | --sile | --sil)
  1229.      silent=yes ;;
  1230.  
  1231. +  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
  1232. +    ac_prev=sbindir ;;
  1233. +  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
  1234. +  | --sbi=* | --sb=*)
  1235. +    sbindir="$ac_optarg" ;;
  1236. +
  1237. +  -sharedstatedir | --sharedstatedir | --sharedstatedi \
  1238. +  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
  1239. +  | --sharedst | --shareds | --shared | --share | --shar \
  1240. +  | --sha | --sh)
  1241. +    ac_prev=sharedstatedir ;;
  1242. +  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
  1243. +  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
  1244. +  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
  1245. +  | --sha=* | --sh=*)
  1246. +    sharedstatedir="$ac_optarg" ;;
  1247. +
  1248. +  -site | --site | --sit)
  1249. +    ac_prev=site ;;
  1250. +  -site=* | --site=* | --sit=*)
  1251. +    site="$ac_optarg" ;;
  1252. +
  1253.    -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
  1254.      ac_prev=srcdir ;;
  1255.    -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
  1256.      srcdir="$ac_optarg" ;;
  1257.  
  1258. +  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
  1259. +  | --syscon | --sysco | --sysc | --sys | --sy)
  1260. +    ac_prev=sysconfdir ;;
  1261. +  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
  1262. +  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
  1263. +    sysconfdir="$ac_optarg" ;;
  1264. +
  1265.    -target | --target | --targe | --targ | --tar | --ta | --t)
  1266.      ac_prev=target ;;
  1267.    -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
  1268. @@ -220,7 +348,7 @@ EOF
  1269.      verbose=yes ;;
  1270.  
  1271.    -version | --version | --versio | --versi | --vers)
  1272. -    echo "configure generated by autoconf version 1.120"
  1273. +    echo "configure generated by autoconf version 2.10"
  1274.      exit 0 ;;
  1275.  
  1276.    -with-* | --with-*)
  1277. @@ -266,7 +394,7 @@ EOF
  1278.    -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
  1279.      ;;
  1280.  
  1281. -  *) 
  1282. +  *)
  1283.      if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
  1284.        echo "configure: warning: $ac_option: invalid host type" 1>&2
  1285.      fi
  1286. @@ -283,19 +411,20 @@ if test -n "$ac_prev"; then
  1287.    { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
  1288.  fi
  1289.  
  1290. -trap 'rm -fr conftest* confdefs* core $ac_clean_files; exit 1' 1 2 15
  1291. +trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
  1292.  
  1293.  # File descriptor usage:
  1294. -# 0 unused; standard input
  1295. +# 0 standard input
  1296.  # 1 file creation
  1297.  # 2 errors and warnings
  1298. -# 3 unused; some systems may open it to /dev/tty
  1299. -# 4 checking for... messages and results
  1300. +# 3 some systems may open it to /dev/tty
  1301. +# 4 used on the Kubota Titan
  1302. +# 6 checking for... messages and results
  1303.  # 5 compiler messages saved in config.log
  1304.  if test "$silent" = yes; then
  1305. -  exec 4>/dev/null
  1306. +  exec 6>/dev/null
  1307.  else
  1308. -  exec 4>&1
  1309. +  exec 6>&1
  1310.  fi
  1311.  exec 5>./config.log
  1312.  
  1313. @@ -357,17 +486,14 @@ if test ! -r $srcdir/$ac_unique_file; th
  1314.      { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
  1315.    fi
  1316.  fi
  1317. +srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
  1318.  
  1319.  # Prefer explicitly selected file to automatically selected ones.
  1320.  if test -z "$CONFIG_SITE"; then
  1321.    if test "x$prefix" != xNONE; then
  1322. -    CONFIG_SITE=$prefix/lib/config.site
  1323. +    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
  1324.    else
  1325. -    CONFIG_SITE=/usr/local/lib/config.site
  1326. -  fi
  1327. -  # System dependent files override system independent ones.
  1328. -  if test "x$exec_prefix" != xNONE && test "x$exec_prefix" != "x$prefix"; then
  1329. -    CONFIG_SITE="$CONFIG_SITE $exec_prefix/lib/config.site"
  1330. +    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
  1331.    fi
  1332.  fi
  1333.  for ac_site_file in $CONFIG_SITE; do
  1334. @@ -388,7 +514,8 @@ fi
  1335.  ac_ext=c
  1336.  # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
  1337.  ac_cpp='$CPP $CPPFLAGS'
  1338. -ac_link='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext -o conftest $LIBS 1>&5 2>&5'
  1339. +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
  1340. +ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
  1341.  
  1342.  if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
  1343.    # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
  1344. @@ -407,8 +534,10 @@ fi
  1345.  if test "$program_transform_name" = s,x,x,; then
  1346.    program_transform_name=
  1347.  else
  1348. -  # Double any \ or $.
  1349. -  echo 's,\\,\\\\,g; s,\$,$$,g' > conftestsed
  1350. +  # Double any \ or $.  echo might interpret backslashes.
  1351. +  cat <<\EOF_SED > conftestsed
  1352. +s,\\,\\\\,g; s,\$,$$,g
  1353. +EOF_SED
  1354.    program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
  1355.    rm -f conftestsed
  1356.  fi
  1357. @@ -423,9 +552,9 @@ test "$program_transform_name" = "" && p
  1358.  
  1359.  # Extract the first word of "gcc", so it can be a program name with args.
  1360.  set dummy gcc; ac_word=$2
  1361. -echo $ac_n "checking for $ac_word""... $ac_c" 1>&4
  1362. -if eval "test \"`echo '${'ac_cv_prog_CC'+set}'`\" = set"; then
  1363. -  echo $ac_n "(cached) $ac_c" 1>&4
  1364. +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
  1365. +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
  1366. +  echo $ac_n "(cached) $ac_c" 1>&6
  1367.  else
  1368.    if test -n "$CC"; then
  1369.    ac_cv_prog_CC="$CC" # Let the user override the test.
  1370. @@ -439,39 +568,88 @@ else
  1371.      fi
  1372.    done
  1373.    IFS="$ac_save_ifs"
  1374. -  test -z "$ac_cv_prog_CC" && ac_cv_prog_CC="cc"
  1375.  fi
  1376.  fi
  1377.  CC="$ac_cv_prog_CC"
  1378.  if test -n "$CC"; then
  1379. -  echo "$ac_t""$CC" 1>&4
  1380. +  echo "$ac_t""$CC" 1>&6
  1381.  else
  1382. -  echo "$ac_t""no" 1>&4
  1383. +  echo "$ac_t""no" 1>&6
  1384.  fi
  1385.  
  1386. +if test -z "$CC"; then
  1387. +  # Extract the first word of "cc", so it can be a program name with args.
  1388. +set dummy cc; ac_word=$2
  1389. +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
  1390. +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
  1391. +  echo $ac_n "(cached) $ac_c" 1>&6
  1392. +else
  1393. +  if test -n "$CC"; then
  1394. +  ac_cv_prog_CC="$CC" # Let the user override the test.
  1395. +else
  1396. +  IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  1397. +  ac_prog_rejected=no
  1398. +  for ac_dir in $PATH; do
  1399. +    test -z "$ac_dir" && ac_dir=.
  1400. +    if test -f $ac_dir/$ac_word; then
  1401. +      if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
  1402. +        ac_prog_rejected=yes
  1403. +    continue
  1404. +      fi
  1405. +      ac_cv_prog_CC="cc"
  1406. +      break
  1407. +    fi
  1408. +  done
  1409. +  IFS="$ac_save_ifs"
  1410. +if test $ac_prog_rejected = yes; then
  1411. +  # We found a bogon in the path, so make sure we never use it.
  1412. +  set dummy $ac_cv_prog_CC
  1413. +  shift
  1414. +  if test $# -gt 0; then
  1415. +    # We chose a different compiler from the bogus one.
  1416. +    # However, it has the same basename, so the bogon will be chosen
  1417. +    # first if we set CC to just the basename; use the full file name.
  1418. +    shift
  1419. +    set dummy "$ac_dir/$ac_word" "$@"
  1420. +    shift
  1421. +    ac_cv_prog_CC="$@"
  1422. +  fi
  1423. +fi
  1424. +fi
  1425. +fi
  1426. +CC="$ac_cv_prog_CC"
  1427. +if test -n "$CC"; then
  1428. +  echo "$ac_t""$CC" 1>&6
  1429. +else
  1430. +  echo "$ac_t""no" 1>&6
  1431. +fi
  1432.  
  1433. -echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&4
  1434. -if eval "test \"`echo '${'ac_cv_prog_gcc'+set}'`\" = set"; then
  1435. -  echo $ac_n "(cached) $ac_c" 1>&4
  1436. +  test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
  1437. +fi
  1438. +
  1439. +echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
  1440. +if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
  1441. +  echo $ac_n "(cached) $ac_c" 1>&6
  1442.  else
  1443.    cat > conftest.c <<EOF
  1444.  #ifdef __GNUC__
  1445. -  yes
  1446. +  yes;
  1447.  #endif
  1448.  EOF
  1449. -if ${CC-cc} -E conftest.c 2>&5 | egrep yes >/dev/null 2>&1; then
  1450. +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:640: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
  1451.    ac_cv_prog_gcc=yes
  1452.  else
  1453.    ac_cv_prog_gcc=no
  1454.  fi
  1455.  fi
  1456. -echo "$ac_t""$ac_cv_prog_gcc" 1>&4
  1457. +
  1458. +echo "$ac_t""$ac_cv_prog_gcc" 1>&6
  1459.  if test $ac_cv_prog_gcc = yes; then
  1460.    GCC=yes
  1461.    if test "${CFLAGS+set}" != set; then
  1462. -    echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&4
  1463. -if eval "test \"`echo '${'ac_cv_prog_gcc_g'+set}'`\" = set"; then
  1464. -  echo $ac_n "(cached) $ac_c" 1>&4
  1465. +    echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
  1466. +if eval "test \"`echo '$''{'ac_cv_prog_gcc_g'+set}'`\" = set"; then
  1467. +  echo $ac_n "(cached) $ac_c" 1>&6
  1468.  else
  1469.    echo 'void f(){}' > conftest.c
  1470.  if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
  1471. @@ -482,11 +660,12 @@ fi
  1472.  rm -f conftest*
  1473.  
  1474.  fi
  1475. -    echo "$ac_t""$ac_cv_prog_gcc_g" 1>&4
  1476. +
  1477. +echo "$ac_t""$ac_cv_prog_gcc_g" 1>&6
  1478.      if test $ac_cv_prog_gcc_g = yes; then
  1479. -      CFLAGS="-g -O"
  1480. +      CFLAGS="-g -O2"
  1481.      else
  1482. -      CFLAGS="-O"
  1483. +      CFLAGS="-O2"
  1484.      fi
  1485.    fi
  1486.  else
  1487. @@ -494,14 +673,14 @@ else
  1488.    test "${CFLAGS+set}" = set || CFLAGS="-g"
  1489.  fi
  1490.  
  1491. -echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&4
  1492. +echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
  1493.  # On Suns, sometimes $CPP names a directory.
  1494.  if test -n "$CPP" && test -d "$CPP"; then
  1495.    CPP=
  1496.  fi
  1497.  if test -z "$CPP"; then
  1498. -if eval "test \"`echo '${'ac_cv_prog_CPP'+set}'`\" = set"; then
  1499. -  echo $ac_n "(cached) $ac_c" 1>&4
  1500. +if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
  1501. +  echo $ac_n "(cached) $ac_c" 1>&6
  1502.  else
  1503.      # This must be in double quotes, not single quotes, because CPP may get
  1504.    # substituted into the Makefile and "${CC-cc}" will confuse make.
  1505. @@ -509,12 +688,13 @@ else
  1506.    # On the NeXT, cc -E runs the code through the compiler's parser,
  1507.    # not just through cpp.
  1508.    cat > conftest.$ac_ext <<EOF
  1509. -#line 513 "configure"
  1510. +#line 692 "configure"
  1511.  #include "confdefs.h"
  1512. -#include <stdio.h>
  1513. +#include <assert.h>
  1514.  Syntax Error
  1515.  EOF
  1516. -eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  1517. +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  1518. +{ (eval echo configure:698: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  1519.  ac_err=`grep -v '^ *+' conftest.out`
  1520.  if test -z "$ac_err"; then
  1521.    :
  1522. @@ -523,12 +703,13 @@ else
  1523.    rm -rf conftest*
  1524.    CPP="${CC-cc} -E -traditional-cpp"
  1525.    cat > conftest.$ac_ext <<EOF
  1526. -#line 527 "configure"
  1527. +#line 707 "configure"
  1528.  #include "confdefs.h"
  1529. -#include <stdio.h>
  1530. +#include <assert.h>
  1531.  Syntax Error
  1532.  EOF
  1533. -eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  1534. +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  1535. +{ (eval echo configure:713: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  1536.  ac_err=`grep -v '^ *+' conftest.out`
  1537.  if test -z "$ac_err"; then
  1538.    :
  1539. @@ -542,9 +723,11 @@ fi
  1540.  rm -f conftest*
  1541.    ac_cv_prog_CPP="$CPP"
  1542.  fi
  1543. +  CPP="$ac_cv_prog_CPP"
  1544. +else
  1545. +  ac_cv_prog_CPP="$CPP"
  1546.  fi
  1547. -CPP="$ac_cv_prog_CPP"
  1548. -echo "$ac_t""$CPP" 1>&4
  1549. +echo "$ac_t""$CPP" 1>&6
  1550.  
  1551.  ac_aux_dir=
  1552.  for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
  1553. @@ -572,18 +755,20 @@ ac_configure=$ac_aux_dir/configure # Thi
  1554.  # SunOS /usr/etc/install
  1555.  # IRIX /sbin/install
  1556.  # AIX /bin/install
  1557. +# AmigaOS /c/install
  1558.  # AFS /usr/afsws/bin/install, which mishandles nonexistent args
  1559.  # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
  1560.  # ./install, which can be erroneously created by make from ./install.sh.
  1561. -echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&4
  1562. +echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
  1563.  if test -z "$INSTALL"; then
  1564. -if eval "test \"`echo '${'ac_cv_path_install'+set}'`\" = set"; then
  1565. -  echo $ac_n "(cached) $ac_c" 1>&4
  1566. +if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
  1567. +  echo $ac_n "(cached) $ac_c" 1>&6
  1568.  else
  1569.      IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  1570.    for ac_dir in $PATH; do
  1571. -    case "$ac_dir" in
  1572. -    ''|.|/etc|/usr/sbin|/usr/etc|/sbin|/usr/afsws/bin|/usr/ucb) ;;
  1573. +    # Account for people who put trailing slashes in PATH elements.
  1574. +    case "$ac_dir/" in
  1575. +    /|./|.//|/etc/*|/c/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
  1576.      *)
  1577.        # OSF1 and SCO ODT 3.0 have their own names for install.
  1578.        for ac_prog in ginstall installbsd scoinst install; do
  1579. @@ -603,12 +788,19 @@ else
  1580.      esac
  1581.    done
  1582.    IFS="$ac_save_ifs"
  1583. -  # As a last resort, use the slow shell script.
  1584. -  test -z "$ac_cv_path_install" && ac_cv_path_install="$ac_install_sh"
  1585. +
  1586.  fi
  1587. -  INSTALL="$ac_cv_path_install"
  1588. +  if test "${ac_cv_path_install+set}" = set; then
  1589. +    INSTALL="$ac_cv_path_install"
  1590. +  else
  1591. +    # As a last resort, use the slow shell script.  We don't cache a
  1592. +    # path for INSTALL within a source directory, because that will
  1593. +    # break other packages using the cache if that directory is
  1594. +    # removed, or if the path is relative.
  1595. +    INSTALL="$ac_install_sh"
  1596. +  fi
  1597.  fi
  1598. -echo "$ac_t""$INSTALL" 1>&4
  1599. +echo "$ac_t""$INSTALL" 1>&6
  1600.  
  1601.  # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
  1602.  # It thinks the first close brace ends the variable substitution.
  1603. @@ -616,11 +808,11 @@ test -z "$INSTALL_PROGRAM" && INSTALL_PR
  1604.  
  1605.  test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
  1606.  
  1607. -echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&4
  1608. +echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
  1609.  if test -d /etc/conf/kconfig.d &&
  1610.    grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
  1611.  then
  1612. -  echo "$ac_t""yes" 1>&4
  1613. +  echo "$ac_t""yes" 1>&6
  1614.    ISC=yes # If later tests want to check for ISC.
  1615.    cat >> confdefs.h <<\EOF
  1616.  #define _POSIX_SOURCE 1
  1617. @@ -632,21 +824,22 @@ EOF
  1618.      CC="$CC -Xp"
  1619.    fi
  1620.  else
  1621. -  echo "$ac_t""no" 1>&4
  1622. +  echo "$ac_t""no" 1>&6
  1623.    ISC=
  1624.  fi
  1625.  
  1626. -ac_safe=`echo "minix/config.h" | tr './' '__'`
  1627. -echo $ac_n "checking for minix/config.h""... $ac_c" 1>&4
  1628. -if eval "test \"`echo '${'ac_cv_header_$ac_safe'+set}'`\" = set"; then
  1629. -  echo $ac_n "(cached) $ac_c" 1>&4
  1630. +ac_safe=`echo "minix/config.h" | tr './\055' '___'`
  1631. +echo $ac_n "checking for minix/config.h""... $ac_c" 1>&6
  1632. +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
  1633. +  echo $ac_n "(cached) $ac_c" 1>&6
  1634.  else
  1635.    cat > conftest.$ac_ext <<EOF
  1636. -#line 646 "configure"
  1637. +#line 838 "configure"
  1638.  #include "confdefs.h"
  1639.  #include <minix/config.h>
  1640.  EOF
  1641. -eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  1642. +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  1643. +{ (eval echo configure:843: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  1644.  ac_err=`grep -v '^ *+' conftest.out`
  1645.  if test -z "$ac_err"; then
  1646.    rm -rf conftest*
  1647. @@ -659,10 +852,10 @@ fi
  1648.  rm -f conftest*
  1649.  fi
  1650.  if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
  1651. -  echo "$ac_t""yes" 1>&4
  1652. +  echo "$ac_t""yes" 1>&6
  1653.    MINIX=yes
  1654.  else
  1655. -  echo "$ac_t""no" 1>&4
  1656. +  echo "$ac_t""no" 1>&6
  1657.  MINIX=
  1658.  fi
  1659.  
  1660. @@ -681,12 +874,12 @@ EOF
  1661.  
  1662.  fi
  1663.  
  1664. -echo $ac_n "checking for working const""... $ac_c" 1>&4
  1665. -if eval "test \"`echo '${'ac_cv_c_const'+set}'`\" = set"; then
  1666. -  echo $ac_n "(cached) $ac_c" 1>&4
  1667. +echo $ac_n "checking for working const""... $ac_c" 1>&6
  1668. +if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
  1669. +  echo $ac_n "(cached) $ac_c" 1>&6
  1670.  else
  1671.    cat > conftest.$ac_ext <<EOF
  1672. -#line 690 "configure"
  1673. +#line 883 "configure"
  1674.  #include "confdefs.h"
  1675.  
  1676.  int main() { return 0; }
  1677. @@ -699,7 +892,7 @@ char const *const *ccp;
  1678.  char **p;
  1679.  /* NEC SVR4.0.2 mips cc rejects this.  */
  1680.  struct point {int x, y;};
  1681. -static struct point const zero;
  1682. +static struct point const zero = {0,0};
  1683.  /* AIX XL C 1.02.0.0 rejects this.
  1684.     It does not let you subtract one const X* pointer from another in an arm
  1685.     of an if-expression whose if-part is not a constant expression */
  1686. @@ -736,7 +929,7 @@ ccp = (char const *const *) p;
  1687.  
  1688.  ; return 0; }
  1689.  EOF
  1690. -if eval $ac_link; then
  1691. +if { (eval echo configure:933: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
  1692.    rm -rf conftest*
  1693.    ac_cv_c_const=yes
  1694.  else
  1695. @@ -746,7 +939,8 @@ fi
  1696.  rm -f conftest*
  1697.  
  1698.  fi
  1699. -echo "$ac_t""$ac_cv_c_const" 1>&4
  1700. +
  1701. +echo "$ac_t""$ac_cv_c_const" 1>&6
  1702.  if test $ac_cv_c_const = no; then
  1703.    cat >> confdefs.h <<\EOF
  1704.  #define const 
  1705. @@ -755,19 +949,19 @@ EOF
  1706.  fi
  1707.  
  1708.  # If we cannot run a trivial program, we must be cross compiling.
  1709. -echo $ac_n "checking whether cross-compiling""... $ac_c" 1>&4
  1710. -if eval "test \"`echo '${'ac_cv_c_cross'+set}'`\" = set"; then
  1711. -  echo $ac_n "(cached) $ac_c" 1>&4
  1712. +echo $ac_n "checking whether cross-compiling""... $ac_c" 1>&6
  1713. +if eval "test \"`echo '$''{'ac_cv_c_cross'+set}'`\" = set"; then
  1714. +  echo $ac_n "(cached) $ac_c" 1>&6
  1715.  else
  1716.    if test "$cross_compiling" = yes; then
  1717. -  ac_cv_cross=yes
  1718. +  ac_cv_c_cross=yes
  1719.  else
  1720.  cat > conftest.$ac_ext <<EOF
  1721. -#line 767 "configure"
  1722. +#line 961 "configure"
  1723.  #include "confdefs.h"
  1724.  main(){return(0);}
  1725.  EOF
  1726. -eval $ac_link
  1727. +{ (eval echo configure:965: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
  1728.  if test -s conftest && (./conftest; exit) 2>/dev/null; then
  1729.    ac_cv_c_cross=no
  1730.  else
  1731. @@ -776,22 +970,24 @@ fi
  1732.  fi
  1733.  rm -fr conftest*
  1734.  fi
  1735. +
  1736. +echo "$ac_t""$ac_cv_c_cross" 1>&6
  1737.  cross_compiling=$ac_cv_c_cross
  1738. -echo "$ac_t""$ac_cv_c_cross" 1>&4
  1739.  
  1740. -echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&4
  1741. -if eval "test \"`echo '${'ac_cv_header_stdc'+set}'`\" = set"; then
  1742. -  echo $ac_n "(cached) $ac_c" 1>&4
  1743. +echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
  1744. +if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
  1745. +  echo $ac_n "(cached) $ac_c" 1>&6
  1746.  else
  1747.    cat > conftest.$ac_ext <<EOF
  1748. -#line 788 "configure"
  1749. +#line 983 "configure"
  1750.  #include "confdefs.h"
  1751.  #include <stdlib.h>
  1752.  #include <stdarg.h>
  1753.  #include <string.h>
  1754.  #include <float.h>
  1755.  EOF
  1756. -eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  1757. +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  1758. +{ (eval echo configure:991: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  1759.  ac_err=`grep -v '^ *+' conftest.out`
  1760.  if test -z "$ac_err"; then
  1761.    rm -rf conftest*
  1762. @@ -806,7 +1002,7 @@ rm -f conftest*
  1763.  if test $ac_cv_header_stdc = yes; then
  1764.    # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
  1765.  cat > conftest.$ac_ext <<EOF
  1766. -#line 810 "configure"
  1767. +#line 1006 "configure"
  1768.  #include "confdefs.h"
  1769.  #include <string.h>
  1770.  EOF
  1771. @@ -824,7 +1020,7 @@ fi
  1772.  if test $ac_cv_header_stdc = yes; then
  1773.    # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
  1774.  cat > conftest.$ac_ext <<EOF
  1775. -#line 828 "configure"
  1776. +#line 1024 "configure"
  1777.  #include "confdefs.h"
  1778.  #include <stdlib.h>
  1779.  EOF
  1780. @@ -842,10 +1038,10 @@ fi
  1781.  if test $ac_cv_header_stdc = yes; then
  1782.    # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
  1783.  if test "$cross_compiling" = yes; then
  1784. -  ac_cv_header_stdc=no
  1785. +  :
  1786.  else
  1787.  cat > conftest.$ac_ext <<EOF
  1788. -#line 849 "configure"
  1789. +#line 1045 "configure"
  1790.  #include "confdefs.h"
  1791.  #include <ctype.h>
  1792.  #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
  1793. @@ -856,7 +1052,7 @@ if (XOR (islower (i), ISLOWER (i)) || to
  1794.  exit (0); }
  1795.  
  1796.  EOF
  1797. -eval $ac_link
  1798. +{ (eval echo configure:1056: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
  1799.  if test -s conftest && (./conftest; exit) 2>/dev/null; then
  1800.    :
  1801.  else
  1802. @@ -866,7 +1062,8 @@ fi
  1803.  rm -fr conftest*
  1804.  fi
  1805.  fi
  1806. -echo "$ac_t""$ac_cv_header_stdc" 1>&4
  1807. +
  1808. +echo "$ac_t""$ac_cv_header_stdc" 1>&6
  1809.  if test $ac_cv_header_stdc = yes; then
  1810.    cat >> confdefs.h <<\EOF
  1811.  #define STDC_HEADERS 1
  1812. @@ -876,17 +1073,18 @@ fi
  1813.  
  1814.  for ac_hdr in unistd.h fcntl.h limits.h stdlib.h string.h sys/file.h time.h
  1815.  do
  1816. -ac_safe=`echo "$ac_hdr" | tr './' '__'`
  1817. -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&4
  1818. -if eval "test \"`echo '${'ac_cv_header_$ac_safe'+set}'`\" = set"; then
  1819. -  echo $ac_n "(cached) $ac_c" 1>&4
  1820. +ac_safe=`echo "$ac_hdr" | tr './\055' '___'`
  1821. +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
  1822. +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
  1823. +  echo $ac_n "(cached) $ac_c" 1>&6
  1824.  else
  1825.    cat > conftest.$ac_ext <<EOF
  1826. -#line 886 "configure"
  1827. +#line 1083 "configure"
  1828.  #include "confdefs.h"
  1829.  #include <$ac_hdr>
  1830.  EOF
  1831. -eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  1832. +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  1833. +{ (eval echo configure:1088: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  1834.  ac_err=`grep -v '^ *+' conftest.out`
  1835.  if test -z "$ac_err"; then
  1836.    rm -rf conftest*
  1837. @@ -899,27 +1097,27 @@ fi
  1838.  rm -f conftest*
  1839.  fi
  1840.  if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
  1841. -  echo "$ac_t""yes" 1>&4
  1842. -    ac_tr_hdr=HAVE_`echo $ac_hdr | tr '[a-z]./' '[A-Z]__'`
  1843. +  echo "$ac_t""yes" 1>&6
  1844. +    ac_tr_hdr=HAVE_`echo $ac_hdr | tr 'abcdefghijklmnopqrstuvwxyz./\055' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ___'`
  1845.    cat >> confdefs.h <<EOF
  1846.  #define $ac_tr_hdr 1
  1847.  EOF
  1848.   
  1849.  else
  1850. -  echo "$ac_t""no" 1>&4
  1851. +  echo "$ac_t""no" 1>&6
  1852.  fi
  1853.  done
  1854.  
  1855.  ac_header_dirent=no
  1856.  for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h
  1857.  do
  1858. -ac_safe=`echo "$ac_hdr" | tr './' '__'`
  1859. -echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&4
  1860. -if eval "test \"`echo '${'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
  1861. -  echo $ac_n "(cached) $ac_c" 1>&4
  1862. +ac_safe=`echo "$ac_hdr" | tr './\055' '___'`
  1863. +echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
  1864. +if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
  1865. +  echo $ac_n "(cached) $ac_c" 1>&6
  1866.  else
  1867.    cat > conftest.$ac_ext <<EOF
  1868. -#line 923 "configure"
  1869. +#line 1121 "configure"
  1870.  #include "confdefs.h"
  1871.  #include <sys/types.h>
  1872.  #include <$ac_hdr>
  1873. @@ -928,7 +1126,7 @@ int t() {
  1874.  DIR *dirp = 0;
  1875.  ; return 0; }
  1876.  EOF
  1877. -if eval $ac_link; then
  1878. +if { (eval echo configure:1130: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
  1879.    rm -rf conftest*
  1880.    eval "ac_cv_header_dirent_$ac_safe=yes"
  1881.  else
  1882. @@ -939,114 +1137,126 @@ rm -f conftest*
  1883.  
  1884.  fi
  1885.  if eval "test \"`echo '$ac_cv_header_dirent_'$ac_safe`\" = yes"; then
  1886. -  echo "$ac_t""yes" 1>&4
  1887. -    ac_tr_hdr=HAVE_`echo $ac_hdr | tr '[a-z]./' '[A-Z]__'`
  1888. +  echo "$ac_t""yes" 1>&6
  1889. +    ac_tr_hdr=HAVE_`echo $ac_hdr | tr 'abcdedfghijklmnopqrstuvwxyz./\055' 'ABCDEDFGHIJKLMNOPQRSTUVWXYZ___'`
  1890.    cat >> confdefs.h <<EOF
  1891.  #define $ac_tr_hdr 1
  1892.  EOF
  1893.   ac_header_dirent=$ac_hdr; break
  1894.  else
  1895. -  echo "$ac_t""no" 1>&4
  1896. +  echo "$ac_t""no" 1>&6
  1897.  fi
  1898.  done
  1899. -# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix,
  1900. -# and -lx contains other useful things as well.  (FIXME what are they?)
  1901. +# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
  1902.  if test $ac_header_dirent = dirent.h; then
  1903. -echo $ac_n "checking for -ldir""... $ac_c" 1>&4
  1904. -if eval "test \"`echo '${'ac_cv_lib_dir'+set}'`\" = set"; then
  1905. -  echo $ac_n "(cached) $ac_c" 1>&4
  1906. +echo $ac_n "checking for -ldir""... $ac_c" 1>&6
  1907. +ac_lib_var=`echo dir'_'opendir | tr './+\055' '__p_'`
  1908. +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
  1909. +  echo $ac_n "(cached) $ac_c" 1>&6
  1910.  else
  1911.    ac_save_LIBS="$LIBS"
  1912. -LIBS="$LIBS -ldir "
  1913. +LIBS="-ldir  $LIBS"
  1914.  cat > conftest.$ac_ext <<EOF
  1915. -#line 963 "configure"
  1916. +#line 1161 "configure"
  1917.  #include "confdefs.h"
  1918. +/* Override any gcc2 internal prototype to avoid an error.  */
  1919. +/* We use char because int might match the return type of a gcc2
  1920. +    builtin and then its argument prototype would still apply.  */
  1921. +char opendir();
  1922.  
  1923. -int main() { return 0; }
  1924. +int main() { t(); return 0; }
  1925.  int t() {
  1926.  opendir()
  1927.  ; return 0; }
  1928.  EOF
  1929. -if eval $ac_link; then
  1930. +if { (eval echo configure:1173: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  1931.    rm -rf conftest*
  1932. -  eval "ac_cv_lib_dir=yes"
  1933. +  eval "ac_cv_lib_$ac_lib_var=yes"
  1934.  else
  1935.    rm -rf conftest*
  1936. -  eval "ac_cv_lib_dir=no"
  1937. +  eval "ac_cv_lib_$ac_lib_var=no"
  1938.  fi
  1939.  rm -f conftest*
  1940.  LIBS="$ac_save_LIBS"
  1941.  
  1942.  fi
  1943. -if eval "test \"`echo '$ac_cv_lib_'dir`\" = yes"; then
  1944. -  echo "$ac_t""yes" 1>&4
  1945. +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
  1946. +  echo "$ac_t""yes" 1>&6
  1947.    LIBS="$LIBS -ldir"
  1948.  else
  1949. -  echo "$ac_t""no" 1>&4
  1950. +  echo "$ac_t""no" 1>&6
  1951.  fi
  1952.  
  1953. -fi
  1954. -echo $ac_n "checking for -lx""... $ac_c" 1>&4
  1955. -if eval "test \"`echo '${'ac_cv_lib_x'+set}'`\" = set"; then
  1956. -  echo $ac_n "(cached) $ac_c" 1>&4
  1957. +else
  1958. +echo $ac_n "checking for -lx""... $ac_c" 1>&6
  1959. +ac_lib_var=`echo x'_'opendir | tr './+\055' '__p_'`
  1960. +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
  1961. +  echo $ac_n "(cached) $ac_c" 1>&6
  1962.  else
  1963.    ac_save_LIBS="$LIBS"
  1964. -LIBS="$LIBS -lx "
  1965. +LIBS="-lx  $LIBS"
  1966.  cat > conftest.$ac_ext <<EOF
  1967. -#line 997 "configure"
  1968. +#line 1200 "configure"
  1969.  #include "confdefs.h"
  1970. +/* Override any gcc2 internal prototype to avoid an error.  */
  1971. +/* We use char because int might match the return type of a gcc2
  1972. +    builtin and then its argument prototype would still apply.  */
  1973. +char opendir();
  1974.  
  1975. -int main() { return 0; }
  1976. +int main() { t(); return 0; }
  1977.  int t() {
  1978. -main()
  1979. +opendir()
  1980.  ; return 0; }
  1981.  EOF
  1982. -if eval $ac_link; then
  1983. +if { (eval echo configure:1212: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  1984.    rm -rf conftest*
  1985. -  eval "ac_cv_lib_x=yes"
  1986. +  eval "ac_cv_lib_$ac_lib_var=yes"
  1987.  else
  1988.    rm -rf conftest*
  1989. -  eval "ac_cv_lib_x=no"
  1990. +  eval "ac_cv_lib_$ac_lib_var=no"
  1991.  fi
  1992.  rm -f conftest*
  1993.  LIBS="$ac_save_LIBS"
  1994.  
  1995.  fi
  1996. -if eval "test \"`echo '$ac_cv_lib_'x`\" = yes"; then
  1997. -  echo "$ac_t""yes" 1>&4
  1998. +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
  1999. +  echo "$ac_t""yes" 1>&6
  2000.    LIBS="$LIBS -lx"
  2001.  else
  2002. -  echo "$ac_t""no" 1>&4
  2003. +  echo "$ac_t""no" 1>&6
  2004.  fi
  2005.  
  2006. +fi
  2007.  
  2008. -echo $ac_n "checking whether stat file-mode macros are broken""... $ac_c" 1>&4
  2009. -if eval "test \"`echo '${'ac_cv_header_stat_broken'+set}'`\" = set"; then
  2010. -  echo $ac_n "(cached) $ac_c" 1>&4
  2011. +echo $ac_n "checking whether stat file-mode macros are broken""... $ac_c" 1>&6
  2012. +if eval "test \"`echo '$''{'ac_cv_header_stat_broken'+set}'`\" = set"; then
  2013. +  echo $ac_n "(cached) $ac_c" 1>&6
  2014.  else
  2015.    cat > conftest.$ac_ext <<EOF
  2016. -#line 1029 "configure"
  2017. +#line 1237 "configure"
  2018.  #include "confdefs.h"
  2019.  #include <sys/types.h>
  2020.  #include <sys/stat.h>
  2021. -#ifdef S_ISBLK
  2022. +
  2023. +#if defined(S_ISBLK) && defined(S_IFDIR)
  2024.  # if S_ISBLK (S_IFDIR)
  2025.  You lose.
  2026.  # endif
  2027. -# ifdef S_IFCHR
  2028. -#  if S_ISBLK (S_IFCHR)
  2029. +#endif
  2030. +
  2031. +#if defined(S_ISBLK) && defined(S_IFCHR)
  2032. +# if S_ISBLK (S_IFCHR)
  2033.  You lose.
  2034. -#  endif
  2035.  # endif
  2036.  #endif
  2037.  
  2038. -#ifdef S_ISLNK
  2039. +#if defined(S_ISLNK) && defined(S_IFREG)
  2040.  # if S_ISLNK (S_IFREG)
  2041.  You lose.
  2042.  # endif
  2043.  #endif
  2044.  
  2045. -#ifdef S_ISSOCK
  2046. +#if defined(S_ISSOCK) && defined(S_IFREG)
  2047.  # if S_ISSOCK (S_IFREG)
  2048.  You lose.
  2049.  # endif
  2050. @@ -1064,7 +1274,8 @@ fi
  2051.  rm -f conftest*
  2052.  
  2053.  fi
  2054. -echo "$ac_t""$ac_cv_header_stat_broken" 1>&4
  2055. +
  2056. +echo "$ac_t""$ac_cv_header_stat_broken" 1>&6
  2057.  if test $ac_cv_header_stat_broken = yes; then
  2058.    cat >> confdefs.h <<\EOF
  2059.  #define STAT_MACROS_BROKEN 1
  2060. @@ -1072,12 +1283,12 @@ EOF
  2061.  
  2062.  fi
  2063.  
  2064. -echo $ac_n "checking for sys/wait.h that is compatible with Posix.1""... $ac_c" 1>&4
  2065. -if eval "test \"`echo '${'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
  2066. -  echo $ac_n "(cached) $ac_c" 1>&4
  2067. +echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
  2068. +if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
  2069. +  echo $ac_n "(cached) $ac_c" 1>&6
  2070.  else
  2071.    cat > conftest.$ac_ext <<EOF
  2072. -#line 1081 "configure"
  2073. +#line 1292 "configure"
  2074.  #include "confdefs.h"
  2075.  #include <sys/types.h>
  2076.  #include <sys/wait.h>
  2077. @@ -1091,11 +1302,10 @@ int main() { return 0; }
  2078.  int t() {
  2079.  int s;
  2080.  wait (&s);
  2081. -waitpid (0, &s, 0);
  2082.  s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
  2083.  ; return 0; }
  2084.  EOF
  2085. -if eval $ac_link; then
  2086. +if { (eval echo configure:1309: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
  2087.    rm -rf conftest*
  2088.    ac_cv_header_sys_wait_h=yes
  2089.  else
  2090. @@ -1105,7 +1315,8 @@ fi
  2091.  rm -f conftest*
  2092.  
  2093.  fi
  2094. -echo "$ac_t""$ac_cv_header_sys_wait_h" 1>&4
  2095. +
  2096. +echo "$ac_t""$ac_cv_header_sys_wait_h" 1>&6
  2097.  if test $ac_cv_header_sys_wait_h = yes; then
  2098.    cat >> confdefs.h <<\EOF
  2099.  #define HAVE_SYS_WAIT_H 1
  2100. @@ -1113,12 +1324,12 @@ EOF
  2101.  
  2102.  fi
  2103.  
  2104. -echo $ac_n "checking for pid_t""... $ac_c" 1>&4
  2105. -if eval "test \"`echo '${'ac_cv_type_pid_t'+set}'`\" = set"; then
  2106. -  echo $ac_n "(cached) $ac_c" 1>&4
  2107. +echo $ac_n "checking for pid_t""... $ac_c" 1>&6
  2108. +if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
  2109. +  echo $ac_n "(cached) $ac_c" 1>&6
  2110.  else
  2111.    cat > conftest.$ac_ext <<EOF
  2112. -#line 1122 "configure"
  2113. +#line 1333 "configure"
  2114.  #include "confdefs.h"
  2115.  #include <sys/types.h>
  2116.  #if STDC_HEADERS
  2117. @@ -1136,7 +1347,7 @@ fi
  2118.  rm -f conftest*
  2119.  
  2120.  fi
  2121. -echo "$ac_t""$ac_cv_type_pid_t" 1>&4
  2122. +echo "$ac_t""$ac_cv_type_pid_t" 1>&6
  2123.  if test $ac_cv_type_pid_t = no; then
  2124.    cat >> confdefs.h <<\EOF
  2125.  #define pid_t int
  2126. @@ -1144,25 +1355,30 @@ EOF
  2127.  
  2128.  fi
  2129.  
  2130. -echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&4
  2131. -if eval "test \"`echo '${'ac_cv_type_signal'+set}'`\" = set"; then
  2132. -  echo $ac_n "(cached) $ac_c" 1>&4
  2133. +echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
  2134. +if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
  2135. +  echo $ac_n "(cached) $ac_c" 1>&6
  2136.  else
  2137.    cat > conftest.$ac_ext <<EOF
  2138. -#line 1153 "configure"
  2139. +#line 1364 "configure"
  2140.  #include "confdefs.h"
  2141.  #include <sys/types.h>
  2142.  #include <signal.h>
  2143.  #ifdef signal
  2144.  #undef signal
  2145.  #endif
  2146. -extern void (*signal ()) ();
  2147. +#ifdef __cplusplus
  2148. +extern "C" void (*signal (int, void (*)(int)))(int);
  2149. +#else
  2150. +void (*signal ()) ();
  2151. +#endif
  2152. +
  2153.  int main() { return 0; }
  2154.  int t() {
  2155.  int i;
  2156.  ; return 0; }
  2157.  EOF
  2158. -if eval $ac_link; then
  2159. +if { (eval echo configure:1382: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
  2160.    rm -rf conftest*
  2161.    ac_cv_type_signal=void
  2162.  else
  2163. @@ -1172,7 +1388,8 @@ fi
  2164.  rm -f conftest*
  2165.  
  2166.  fi
  2167. -echo "$ac_t""$ac_cv_type_signal" 1>&4
  2168. +
  2169. +echo "$ac_t""$ac_cv_type_signal" 1>&6
  2170.  cat >> confdefs.h <<EOF
  2171.  #define RETSIGTYPE $ac_cv_type_signal
  2172.  EOF
  2173. @@ -1180,15 +1397,22 @@ EOF
  2174.  
  2175.  for ac_func in dup2 memchr sigaction strchr strerror tmpnam
  2176.  do
  2177. -echo $ac_n "checking for $ac_func""... $ac_c" 1>&4
  2178. -if eval "test \"`echo '${'ac_cv_func_$ac_func'+set}'`\" = set"; then
  2179. -  echo $ac_n "(cached) $ac_c" 1>&4
  2180. +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
  2181. +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
  2182. +  echo $ac_n "(cached) $ac_c" 1>&6
  2183.  else
  2184.    cat > conftest.$ac_ext <<EOF
  2185. -#line 1189 "configure"
  2186. +#line 1406 "configure"
  2187.  #include "confdefs.h"
  2188. -#include <ctype.h> /* Arbitrary system header to define __stub macros. */
  2189. -int main() { return 0; }
  2190. +/* System header to define __stub macros and hopefully few prototypes,
  2191. +    which can conflict with char $ac_func(); below.  */
  2192. +#include <assert.h>
  2193. +/* Override any gcc2 internal prototype to avoid an error.  */
  2194. +/* We use char because int might match the return type of a gcc2
  2195. +    builtin and then its argument prototype would still apply.  */
  2196. +char $ac_func();
  2197. +
  2198. +int main() { t(); return 0; }
  2199.  int t() {
  2200.  
  2201.  /* The GNU C library defines this for functions which it implements
  2202. @@ -1197,13 +1421,12 @@ int t() {
  2203.  #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
  2204.  choke me
  2205.  #else
  2206. -/* Override any gcc2 internal prototype to avoid an error.  */
  2207. -char $ac_func(); $ac_func();
  2208. +$ac_func();
  2209.  #endif
  2210.  
  2211.  ; return 0; }
  2212.  EOF
  2213. -if eval $ac_link; then
  2214. +if { (eval echo configure:1430: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  2215.    rm -rf conftest*
  2216.    eval "ac_cv_func_$ac_func=yes"
  2217.  else
  2218. @@ -1214,28 +1437,35 @@ rm -f conftest*
  2219.  
  2220.  fi
  2221.  if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
  2222. -  echo "$ac_t""yes" 1>&4
  2223. -    ac_tr_func=HAVE_`echo $ac_func | tr '[a-z]' '[A-Z]'`
  2224. +  echo "$ac_t""yes" 1>&6
  2225. +    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
  2226.    cat >> confdefs.h <<EOF
  2227.  #define $ac_tr_func 1
  2228.  EOF
  2229.   
  2230.  else
  2231. -  echo "$ac_t""no" 1>&4
  2232. +  echo "$ac_t""no" 1>&6
  2233.  fi
  2234.  done
  2235.  
  2236.  for ac_func in memchr waitpid
  2237.  do
  2238. -echo $ac_n "checking for $ac_func""... $ac_c" 1>&4
  2239. -if eval "test \"`echo '${'ac_cv_func_$ac_func'+set}'`\" = set"; then
  2240. -  echo $ac_n "(cached) $ac_c" 1>&4
  2241. +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
  2242. +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
  2243. +  echo $ac_n "(cached) $ac_c" 1>&6
  2244.  else
  2245.    cat > conftest.$ac_ext <<EOF
  2246. -#line 1236 "configure"
  2247. +#line 1459 "configure"
  2248.  #include "confdefs.h"
  2249. -#include <ctype.h> /* Arbitrary system header to define __stub macros. */
  2250. -int main() { return 0; }
  2251. +/* System header to define __stub macros and hopefully few prototypes,
  2252. +    which can conflict with char $ac_func(); below.  */
  2253. +#include <assert.h>
  2254. +/* Override any gcc2 internal prototype to avoid an error.  */
  2255. +/* We use char because int might match the return type of a gcc2
  2256. +    builtin and then its argument prototype would still apply.  */
  2257. +char $ac_func();
  2258. +
  2259. +int main() { t(); return 0; }
  2260.  int t() {
  2261.  
  2262.  /* The GNU C library defines this for functions which it implements
  2263. @@ -1244,13 +1474,12 @@ int t() {
  2264.  #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
  2265.  choke me
  2266.  #else
  2267. -/* Override any gcc2 internal prototype to avoid an error.  */
  2268. -char $ac_func(); $ac_func();
  2269. +$ac_func();
  2270.  #endif
  2271.  
  2272.  ; return 0; }
  2273.  EOF
  2274. -if eval $ac_link; then
  2275. +if { (eval echo configure:1483: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  2276.    rm -rf conftest*
  2277.    eval "ac_cv_func_$ac_func=yes"
  2278.  else
  2279. @@ -1261,10 +1490,10 @@ rm -f conftest*
  2280.  
  2281.  fi
  2282.  if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
  2283. -  echo "$ac_t""yes" 1>&4
  2284. +  echo "$ac_t""yes" 1>&6
  2285.    :
  2286.  else
  2287. -  echo "$ac_t""no" 1>&4
  2288. +  echo "$ac_t""no" 1>&6
  2289.  LIBOBJS="$LIBOBJS ${ac_func}.o"
  2290.  fi
  2291.  
  2292. @@ -1272,20 +1501,20 @@ done
  2293.  
  2294.  # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
  2295.  # for constant arguments.  Useless!
  2296. -echo $ac_n "checking for working alloca.h""... $ac_c" 1>&4
  2297. -if eval "test \"`echo '${'ac_cv_header_alloca_h'+set}'`\" = set"; then
  2298. -  echo $ac_n "(cached) $ac_c" 1>&4
  2299. +echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
  2300. +if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
  2301. +  echo $ac_n "(cached) $ac_c" 1>&6
  2302.  else
  2303.    cat > conftest.$ac_ext <<EOF
  2304. -#line 1281 "configure"
  2305. +#line 1510 "configure"
  2306.  #include "confdefs.h"
  2307.  #include <alloca.h>
  2308. -int main() { return 0; }
  2309. +int main() { t(); return 0; }
  2310.  int t() {
  2311.  char *p = alloca(2 * sizeof(int));
  2312.  ; return 0; }
  2313.  EOF
  2314. -if eval $ac_link; then
  2315. +if { (eval echo configure:1518: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  2316.    rm -rf conftest*
  2317.    ac_cv_header_alloca_h=yes
  2318.  else
  2319. @@ -1295,7 +1524,8 @@ fi
  2320.  rm -f conftest*
  2321.  
  2322.  fi
  2323. -echo "$ac_t""$ac_cv_header_alloca_h" 1>&4
  2324. +
  2325. +echo "$ac_t""$ac_cv_header_alloca_h" 1>&6
  2326.  if test $ac_cv_header_alloca_h = yes; then
  2327.    cat >> confdefs.h <<\EOF
  2328.  #define HAVE_ALLOCA_H 1
  2329. @@ -1303,12 +1533,12 @@ EOF
  2330.  
  2331.  fi
  2332.  
  2333. -echo $ac_n "checking for alloca""... $ac_c" 1>&4
  2334. -if eval "test \"`echo '${'ac_cv_func_alloca'+set}'`\" = set"; then
  2335. -  echo $ac_n "(cached) $ac_c" 1>&4
  2336. +echo $ac_n "checking for alloca""... $ac_c" 1>&6
  2337. +if eval "test \"`echo '$''{'ac_cv_func_alloca'+set}'`\" = set"; then
  2338. +  echo $ac_n "(cached) $ac_c" 1>&6
  2339.  else
  2340.    cat > conftest.$ac_ext <<EOF
  2341. -#line 1312 "configure"
  2342. +#line 1542 "configure"
  2343.  #include "confdefs.h"
  2344.  
  2345.  #ifdef __GNUC__
  2346. @@ -1327,12 +1557,12 @@ char *alloca ();
  2347.  # endif
  2348.  #endif
  2349.  
  2350. -int main() { return 0; }
  2351. +int main() { t(); return 0; }
  2352.  int t() {
  2353.  char *p = (char *) alloca(1);
  2354.  ; return 0; }
  2355.  EOF
  2356. -if eval $ac_link; then
  2357. +if { (eval echo configure:1566: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  2358.    rm -rf conftest*
  2359.    ac_cv_func_alloca=yes
  2360.  else
  2361. @@ -1342,7 +1572,8 @@ fi
  2362.  rm -f conftest*
  2363.  
  2364.  fi
  2365. -echo "$ac_t""$ac_cv_func_alloca" 1>&4
  2366. +
  2367. +echo "$ac_t""$ac_cv_func_alloca" 1>&6
  2368.  if test $ac_cv_func_alloca = yes; then
  2369.    cat >> confdefs.h <<\EOF
  2370.  #define HAVE_ALLOCA 1
  2371. @@ -1361,12 +1592,12 @@ if test $ac_cv_func_alloca = no; then
  2372.  EOF
  2373.  
  2374.  
  2375. -echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&4
  2376. -if eval "test \"`echo '${'ac_cv_os_cray'+set}'`\" = set"; then
  2377. -  echo $ac_n "(cached) $ac_c" 1>&4
  2378. +echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
  2379. +if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
  2380. +  echo $ac_n "(cached) $ac_c" 1>&6
  2381.  else
  2382.    cat > conftest.$ac_ext <<EOF
  2383. -#line 1370 "configure"
  2384. +#line 1601 "configure"
  2385.  #include "confdefs.h"
  2386.  #if defined(CRAY) && ! defined(CRAY2)
  2387.  webecray
  2388. @@ -1386,148 +1617,72 @@ fi
  2389.  rm -f conftest*
  2390.  
  2391.  fi
  2392. -echo "$ac_t""$ac_cv_os_cray" 1>&4
  2393. +
  2394. +echo "$ac_t""$ac_cv_os_cray" 1>&6
  2395.  if test $ac_cv_os_cray = yes; then
  2396. -echo $ac_n "checking for _getb67""... $ac_c" 1>&4
  2397. -if eval "test \"`echo '${'ac_cv_func__getb67'+set}'`\" = set"; then
  2398. -  echo $ac_n "(cached) $ac_c" 1>&4
  2399. +for ac_func in _getb67 GETB67 getb67; do
  2400. +  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
  2401. +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
  2402. +  echo $ac_n "(cached) $ac_c" 1>&6
  2403.  else
  2404.    cat > conftest.$ac_ext <<EOF
  2405. -#line 1397 "configure"
  2406. +#line 1630 "configure"
  2407.  #include "confdefs.h"
  2408. -#include <ctype.h> /* Arbitrary system header to define __stub macros. */
  2409. -int main() { return 0; }
  2410. -int t() {
  2411. -
  2412. -/* The GNU C library defines this for functions which it implements
  2413. -    to always fail with ENOSYS.  Some functions are actually named
  2414. -    something starting with __ and the normal name is an alias.  */
  2415. -#if defined (__stub__getb67) || defined (__stub____getb67)
  2416. -choke me
  2417. -#else
  2418. +/* System header to define __stub macros and hopefully few prototypes,
  2419. +    which can conflict with char $ac_func(); below.  */
  2420. +#include <assert.h>
  2421.  /* Override any gcc2 internal prototype to avoid an error.  */
  2422. -char _getb67(); _getb67();
  2423. -#endif
  2424. +/* We use char because int might match the return type of a gcc2
  2425. +    builtin and then its argument prototype would still apply.  */
  2426. +char $ac_func();
  2427.  
  2428. -; return 0; }
  2429. -EOF
  2430. -if eval $ac_link; then
  2431. -  rm -rf conftest*
  2432. -  eval "ac_cv_func__getb67=yes"
  2433. -else
  2434. -  rm -rf conftest*
  2435. -  eval "ac_cv_func__getb67=no"
  2436. -fi
  2437. -rm -f conftest*
  2438. -
  2439. -fi
  2440. -if eval "test \"`echo '$ac_cv_func_'_getb67`\" = yes"; then
  2441. -  echo "$ac_t""yes" 1>&4
  2442. -  cat >> confdefs.h <<\EOF
  2443. -#define CRAY_STACKSEG_END _getb67
  2444. -EOF
  2445. -
  2446. -else
  2447. -  echo "$ac_t""no" 1>&4
  2448. -echo $ac_n "checking for GETB67""... $ac_c" 1>&4
  2449. -if eval "test \"`echo '${'ac_cv_func_GETB67'+set}'`\" = set"; then
  2450. -  echo $ac_n "(cached) $ac_c" 1>&4
  2451. -else
  2452. -  cat > conftest.$ac_ext <<EOF
  2453. -#line 1438 "configure"
  2454. -#include "confdefs.h"
  2455. -#include <ctype.h> /* Arbitrary system header to define __stub macros. */
  2456. -int main() { return 0; }
  2457. +int main() { t(); return 0; }
  2458.  int t() {
  2459.  
  2460.  /* The GNU C library defines this for functions which it implements
  2461.      to always fail with ENOSYS.  Some functions are actually named
  2462.      something starting with __ and the normal name is an alias.  */
  2463. -#if defined (__stub_GETB67) || defined (__stub___GETB67)
  2464. -choke me
  2465. -#else
  2466. -/* Override any gcc2 internal prototype to avoid an error.  */
  2467. -char GETB67(); GETB67();
  2468. -#endif
  2469. -
  2470. -; return 0; }
  2471. -EOF
  2472. -if eval $ac_link; then
  2473. -  rm -rf conftest*
  2474. -  eval "ac_cv_func_GETB67=yes"
  2475. -else
  2476. -  rm -rf conftest*
  2477. -  eval "ac_cv_func_GETB67=no"
  2478. -fi
  2479. -rm -f conftest*
  2480. -
  2481. -fi
  2482. -if eval "test \"`echo '$ac_cv_func_'GETB67`\" = yes"; then
  2483. -  echo "$ac_t""yes" 1>&4
  2484. -  cat >> confdefs.h <<\EOF
  2485. -#define CRAY_STACKSEG_END GETB67
  2486. -EOF
  2487. -
  2488. -else
  2489. -  echo "$ac_t""no" 1>&4
  2490. -echo $ac_n "checking for getb67""... $ac_c" 1>&4
  2491. -if eval "test \"`echo '${'ac_cv_func_getb67'+set}'`\" = set"; then
  2492. -  echo $ac_n "(cached) $ac_c" 1>&4
  2493. -else
  2494. -  cat > conftest.$ac_ext <<EOF
  2495. -#line 1479 "configure"
  2496. -#include "confdefs.h"
  2497. -#include <ctype.h> /* Arbitrary system header to define __stub macros. */
  2498. -int main() { return 0; }
  2499. -int t() {
  2500. -
  2501. -/* The GNU C library defines this for functions which it implements
  2502. -    to always fail with ENOSYS.  Some functions are actually named
  2503. -    something starting with __ and the normal name is an alias.  */
  2504. -#if defined (__stub_getb67) || defined (__stub___getb67)
  2505. +#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
  2506.  choke me
  2507.  #else
  2508. -/* Override any gcc2 internal prototype to avoid an error.  */
  2509. -char getb67(); getb67();
  2510. +$ac_func();
  2511.  #endif
  2512.  
  2513.  ; return 0; }
  2514.  EOF
  2515. -if eval $ac_link; then
  2516. +if { (eval echo configure:1654: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  2517.    rm -rf conftest*
  2518. -  eval "ac_cv_func_getb67=yes"
  2519. +  eval "ac_cv_func_$ac_func=yes"
  2520.  else
  2521.    rm -rf conftest*
  2522. -  eval "ac_cv_func_getb67=no"
  2523. +  eval "ac_cv_func_$ac_func=no"
  2524.  fi
  2525.  rm -f conftest*
  2526.  
  2527.  fi
  2528. -if eval "test \"`echo '$ac_cv_func_'getb67`\" = yes"; then
  2529. -  echo "$ac_t""yes" 1>&4
  2530. -  cat >> confdefs.h <<\EOF
  2531. -#define CRAY_STACKSEG_END getb67
  2532. +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
  2533. +  echo "$ac_t""yes" 1>&6
  2534. +  cat >> confdefs.h <<EOF
  2535. +#define CRAY_STACKSEG_END $ac_func
  2536.  EOF
  2537.  
  2538. +  break
  2539.  else
  2540. -  echo "$ac_t""no" 1>&4
  2541. -fi
  2542. -
  2543. -fi
  2544. -
  2545. +  echo "$ac_t""no" 1>&6
  2546.  fi
  2547.  
  2548. +done
  2549.  fi
  2550.  
  2551. -echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&4
  2552. -if eval "test \"`echo '${'ac_cv_c_stack_direction'+set}'`\" = set"; then
  2553. -  echo $ac_n "(cached) $ac_c" 1>&4
  2554. +echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
  2555. +if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
  2556. +  echo $ac_n "(cached) $ac_c" 1>&6
  2557.  else
  2558.    if test "$cross_compiling" = yes; then
  2559.    ac_cv_c_stack_direction=0
  2560.  else
  2561.  cat > conftest.$ac_ext <<EOF
  2562. -#line 1531 "configure"
  2563. +#line 1686 "configure"
  2564.  #include "confdefs.h"
  2565.  find_stack_direction ()
  2566.  {
  2567. @@ -1546,7 +1701,7 @@ main ()
  2568.    exit (find_stack_direction() < 0);
  2569.  }
  2570.  EOF
  2571. -eval $ac_link
  2572. +{ (eval echo configure:1705: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
  2573.  if test -s conftest && (./conftest; exit) 2>/dev/null; then
  2574.    ac_cv_c_stack_direction=1
  2575.  else
  2576. @@ -1555,28 +1710,29 @@ fi
  2577.  fi
  2578.  rm -fr conftest*
  2579.  fi
  2580. -echo "$ac_t""$ac_cv_c_stack_direction" 1>&4
  2581. +
  2582. +echo "$ac_t""$ac_cv_c_stack_direction" 1>&6
  2583.  cat >> confdefs.h <<EOF
  2584.  #define STACK_DIRECTION $ac_cv_c_stack_direction
  2585.  EOF
  2586.  
  2587.  fi
  2588.  
  2589. -echo $ac_n "checking whether closedir returns void""... $ac_c" 1>&4
  2590. -if eval "test \"`echo '${'ac_cv_func_closedir_void'+set}'`\" = set"; then
  2591. -  echo $ac_n "(cached) $ac_c" 1>&4
  2592. +echo $ac_n "checking whether closedir returns void""... $ac_c" 1>&6
  2593. +if eval "test \"`echo '$''{'ac_cv_func_closedir_void'+set}'`\" = set"; then
  2594. +  echo $ac_n "(cached) $ac_c" 1>&6
  2595.  else
  2596.    if test "$cross_compiling" = yes; then
  2597. -    { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
  2598. +  ac_cv_func_closedir_void=yes
  2599.  else
  2600.  cat > conftest.$ac_ext <<EOF
  2601. -#line 1574 "configure"
  2602. +#line 1730 "configure"
  2603.  #include "confdefs.h"
  2604.  #include <sys/types.h>
  2605.  #include <$ac_header_dirent>
  2606.  int closedir(); main() { exit(closedir(opendir(".")) != 0); }
  2607.  EOF
  2608. -eval $ac_link
  2609. +{ (eval echo configure:1736: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
  2610.  if test -s conftest && (./conftest; exit) 2>/dev/null; then
  2611.    ac_cv_func_closedir_void=no
  2612.  else
  2613. @@ -1585,7 +1741,8 @@ fi
  2614.  fi
  2615.  rm -fr conftest*
  2616.  fi
  2617. -echo "$ac_t""$ac_cv_func_closedir_void" 1>&4
  2618. +
  2619. +echo "$ac_t""$ac_cv_func_closedir_void" 1>&6
  2620.  if test $ac_cv_func_closedir_void = yes; then
  2621.    cat >> confdefs.h <<\EOF
  2622.  #define CLOSEDIR_VOID 1
  2623. @@ -1593,17 +1750,18 @@ EOF
  2624.  
  2625.  fi
  2626.  
  2627. -ac_safe=`echo "vfork.h" | tr './' '__'`
  2628. -echo $ac_n "checking for vfork.h""... $ac_c" 1>&4
  2629. -if eval "test \"`echo '${'ac_cv_header_$ac_safe'+set}'`\" = set"; then
  2630. -  echo $ac_n "(cached) $ac_c" 1>&4
  2631. +ac_safe=`echo "vfork.h" | tr './\055' '___'`
  2632. +echo $ac_n "checking for vfork.h""... $ac_c" 1>&6
  2633. +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
  2634. +  echo $ac_n "(cached) $ac_c" 1>&6
  2635.  else
  2636.    cat > conftest.$ac_ext <<EOF
  2637. -#line 1603 "configure"
  2638. +#line 1760 "configure"
  2639.  #include "confdefs.h"
  2640.  #include <vfork.h>
  2641.  EOF
  2642. -eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  2643. +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
  2644. +{ (eval echo configure:1765: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
  2645.  ac_err=`grep -v '^ *+' conftest.out`
  2646.  if test -z "$ac_err"; then
  2647.    rm -rf conftest*
  2648. @@ -1616,38 +1774,81 @@ fi
  2649.  rm -f conftest*
  2650.  fi
  2651.  if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
  2652. -  echo "$ac_t""yes" 1>&4
  2653. +  echo "$ac_t""yes" 1>&6
  2654.    cat >> confdefs.h <<\EOF
  2655.  #define HAVE_VFORK_H 1
  2656.  EOF
  2657.  
  2658.  else
  2659. -  echo "$ac_t""no" 1>&4
  2660. +  echo "$ac_t""no" 1>&6
  2661.  fi
  2662.  
  2663. -echo $ac_n "checking for working vfork""... $ac_c" 1>&4
  2664. -if eval "test \"`echo '${'ac_cv_func_vfork'+set}'`\" = set"; then
  2665. -  echo $ac_n "(cached) $ac_c" 1>&4
  2666. +echo $ac_n "checking for working vfork""... $ac_c" 1>&6
  2667. +if eval "test \"`echo '$''{'ac_cv_func_vfork'+set}'`\" = set"; then
  2668. +  echo $ac_n "(cached) $ac_c" 1>&6
  2669.  else
  2670. -  
  2671. -if test "$cross_compiling" = yes; then
  2672. -  ac_cv_func_vfork=no
  2673. +  if test "$cross_compiling" = yes; then
  2674. +  echo $ac_n "checking for vfork""... $ac_c" 1>&6
  2675. +if eval "test \"`echo '$''{'ac_cv_func_vfork'+set}'`\" = set"; then
  2676. +  echo $ac_n "(cached) $ac_c" 1>&6
  2677. +else
  2678. +  cat > conftest.$ac_ext <<EOF
  2679. +#line 1797 "configure"
  2680. +#include "confdefs.h"
  2681. +/* System header to define __stub macros and hopefully few prototypes,
  2682. +    which can conflict with char vfork(); below.  */
  2683. +#include <assert.h>
  2684. +/* Override any gcc2 internal prototype to avoid an error.  */
  2685. +/* We use char because int might match the return type of a gcc2
  2686. +    builtin and then its argument prototype would still apply.  */
  2687. +char vfork();
  2688. +
  2689. +int main() { t(); return 0; }
  2690. +int t() {
  2691. +
  2692. +/* The GNU C library defines this for functions which it implements
  2693. +    to always fail with ENOSYS.  Some functions are actually named
  2694. +    something starting with __ and the normal name is an alias.  */
  2695. +#if defined (__stub_vfork) || defined (__stub___vfork)
  2696. +choke me
  2697. +#else
  2698. +vfork();
  2699. +#endif
  2700. +
  2701. +; return 0; }
  2702. +EOF
  2703. +if { (eval echo configure:1821: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  2704. +  rm -rf conftest*
  2705. +  eval "ac_cv_func_vfork=yes"
  2706. +else
  2707. +  rm -rf conftest*
  2708. +  eval "ac_cv_func_vfork=no"
  2709. +fi
  2710. +rm -f conftest*
  2711. +
  2712. +fi
  2713. +if eval "test \"`echo '$ac_cv_func_'vfork`\" = yes"; then
  2714. +  echo "$ac_t""yes" 1>&6
  2715. +  :
  2716. +else
  2717. +  echo "$ac_t""no" 1>&6
  2718. +fi
  2719. +
  2720.  else
  2721.  cat > conftest.$ac_ext <<EOF
  2722. -#line 1638 "configure"
  2723. +#line 1840 "configure"
  2724.  #include "confdefs.h"
  2725.  /* Thanks to Paul Eggert for this test.  */
  2726.  #include <stdio.h>
  2727.  #include <sys/types.h>
  2728.  #include <sys/stat.h>
  2729. -#include <signal.h>
  2730.  #ifdef HAVE_UNISTD_H
  2731.  #include <unistd.h>
  2732.  #endif
  2733.  #ifdef HAVE_VFORK_H
  2734.  #include <vfork.h>
  2735.  #endif
  2736. -/* On sparc systems, changes by the child to local and incoming
  2737. +/* On some sparc systems, changes by the child to local and incoming
  2738.     argument registers are propagated back to the parent.
  2739.     The compiler is told about this with #include <vfork.h>,
  2740.     but some compilers (e.g. gcc -O) don't grok <vfork.h>.
  2741. @@ -1672,15 +1873,17 @@ sparc_address_test (arg) int arg;
  2742.      }
  2743.    }
  2744.  }
  2745. -static int signalled;
  2746. -static RETSIGTYPE catch (s) int s; { signalled = 1; }
  2747.  main() {
  2748.    pid_t parent = getpid ();
  2749.    pid_t child;
  2750.  
  2751.    sparc_address_test ();
  2752.  
  2753. -  signal (SIGINT, catch);
  2754. +#ifdef __amigaos__
  2755. +  /* Force this test to succeed for AmigaOS, which has a fairly good
  2756. +     vfork() emulation, but doesn't support fork() at all.  -fnf */
  2757. +  exit (0);
  2758. +#endif
  2759.  
  2760.    child = vfork ();
  2761.  
  2762. @@ -1689,7 +1892,7 @@ main() {
  2763.         This test uses lots of local variables, at least
  2764.         as many local variables as main has allocated so far
  2765.         including compiler temporaries.  4 locals are enough for
  2766. -       gcc 1.40.3 on a sparc, but we use 8 to be safe.
  2767. +       gcc 1.40.3 on a Solaris 4.1.3 sparc, but we use 8 to be safe.
  2768.         A buggy compiler should reuse the register of parent
  2769.         for one of the local variables, since it will think that
  2770.         parent can't possibly be used any more in this routine.
  2771. @@ -1704,12 +1907,6 @@ main() {
  2772.      || p != p5 || p != p6 || p != p7)
  2773.        _exit(1);
  2774.  
  2775. -    /* On some systems (e.g. SunOS 5.2), if the parent is catching
  2776. -       a signal, the child ignores the signal before execing,
  2777. -       and the parent later receives that signal, the parent dumps core.
  2778. -       Test for this by ignoring SIGINT in the child.  */
  2779. -    signal (SIGINT, SIG_IGN);
  2780. -
  2781.      /* On some systems (e.g. IRIX 3.3),
  2782.         vfork doesn't separate parent from child file descriptors.
  2783.         If the child closes a descriptor before it execs or exits,
  2784. @@ -1732,17 +1929,13 @@ main() {
  2785.       /* Did the vfork/compiler bug occur?  */
  2786.       || parent != getpid()
  2787.  
  2788. -     /* Did the signal handling bug occur?  */
  2789. -     || kill(parent, SIGINT) != 0
  2790. -     || signalled != 1
  2791. -
  2792.       /* Did the file descriptor bug occur?  */
  2793.       || fstat(fileno(stdout), &st) != 0
  2794.       );
  2795.    }
  2796.  }
  2797.  EOF
  2798. -eval $ac_link
  2799. +{ (eval echo configure:1939: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
  2800.  if test -s conftest && (./conftest; exit) 2>/dev/null; then
  2801.    ac_cv_func_vfork=yes
  2802.  else
  2803. @@ -1751,7 +1944,8 @@ fi
  2804.  fi
  2805.  rm -fr conftest*
  2806.  fi
  2807. -echo "$ac_t""$ac_cv_func_vfork" 1>&4
  2808. +
  2809. +echo "$ac_t""$ac_cv_func_vfork" 1>&6
  2810.  if test $ac_cv_func_vfork = no; then
  2811.    cat >> confdefs.h <<\EOF
  2812.  #define vfork fork
  2813. @@ -1759,15 +1953,22 @@ EOF
  2814.  
  2815.  fi
  2816.  
  2817. -echo $ac_n "checking for vprintf""... $ac_c" 1>&4
  2818. -if eval "test \"`echo '${'ac_cv_func_vprintf'+set}'`\" = set"; then
  2819. -  echo $ac_n "(cached) $ac_c" 1>&4
  2820. +echo $ac_n "checking for vprintf""... $ac_c" 1>&6
  2821. +if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
  2822. +  echo $ac_n "(cached) $ac_c" 1>&6
  2823.  else
  2824.    cat > conftest.$ac_ext <<EOF
  2825. -#line 1768 "configure"
  2826. +#line 1962 "configure"
  2827.  #include "confdefs.h"
  2828. -#include <ctype.h> /* Arbitrary system header to define __stub macros. */
  2829. -int main() { return 0; }
  2830. +/* System header to define __stub macros and hopefully few prototypes,
  2831. +    which can conflict with char vprintf(); below.  */
  2832. +#include <assert.h>
  2833. +/* Override any gcc2 internal prototype to avoid an error.  */
  2834. +/* We use char because int might match the return type of a gcc2
  2835. +    builtin and then its argument prototype would still apply.  */
  2836. +char vprintf();
  2837. +
  2838. +int main() { t(); return 0; }
  2839.  int t() {
  2840.  
  2841.  /* The GNU C library defines this for functions which it implements
  2842. @@ -1776,13 +1977,12 @@ int t() {
  2843.  #if defined (__stub_vprintf) || defined (__stub___vprintf)
  2844.  choke me
  2845.  #else
  2846. -/* Override any gcc2 internal prototype to avoid an error.  */
  2847. -char vprintf(); vprintf();
  2848. +vprintf();
  2849.  #endif
  2850.  
  2851.  ; return 0; }
  2852.  EOF
  2853. -if eval $ac_link; then
  2854. +if { (eval echo configure:1986: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  2855.    rm -rf conftest*
  2856.    eval "ac_cv_func_vprintf=yes"
  2857.  else
  2858. @@ -1793,25 +1993,32 @@ rm -f conftest*
  2859.  
  2860.  fi
  2861.  if eval "test \"`echo '$ac_cv_func_'vprintf`\" = yes"; then
  2862. -  echo "$ac_t""yes" 1>&4
  2863. +  echo "$ac_t""yes" 1>&6
  2864.    cat >> confdefs.h <<\EOF
  2865.  #define HAVE_VPRINTF 1
  2866.  EOF
  2867.  
  2868.  else
  2869. -  echo "$ac_t""no" 1>&4
  2870. +  echo "$ac_t""no" 1>&6
  2871.  fi
  2872.  
  2873.  if test "$ac_cv_func_vprintf" != yes; then
  2874. -echo $ac_n "checking for _doprnt""... $ac_c" 1>&4
  2875. -if eval "test \"`echo '${'ac_cv_func__doprnt'+set}'`\" = set"; then
  2876. -  echo $ac_n "(cached) $ac_c" 1>&4
  2877. +echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
  2878. +if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
  2879. +  echo $ac_n "(cached) $ac_c" 1>&6
  2880.  else
  2881.    cat > conftest.$ac_ext <<EOF
  2882. -#line 1812 "configure"
  2883. +#line 2012 "configure"
  2884.  #include "confdefs.h"
  2885. -#include <ctype.h> /* Arbitrary system header to define __stub macros. */
  2886. -int main() { return 0; }
  2887. +/* System header to define __stub macros and hopefully few prototypes,
  2888. +    which can conflict with char _doprnt(); below.  */
  2889. +#include <assert.h>
  2890. +/* Override any gcc2 internal prototype to avoid an error.  */
  2891. +/* We use char because int might match the return type of a gcc2
  2892. +    builtin and then its argument prototype would still apply.  */
  2893. +char _doprnt();
  2894. +
  2895. +int main() { t(); return 0; }
  2896.  int t() {
  2897.  
  2898.  /* The GNU C library defines this for functions which it implements
  2899. @@ -1820,13 +2027,12 @@ int t() {
  2900.  #if defined (__stub__doprnt) || defined (__stub____doprnt)
  2901.  choke me
  2902.  #else
  2903. -/* Override any gcc2 internal prototype to avoid an error.  */
  2904. -char _doprnt(); _doprnt();
  2905. +_doprnt();
  2906.  #endif
  2907.  
  2908.  ; return 0; }
  2909.  EOF
  2910. -if eval $ac_link; then
  2911. +if { (eval echo configure:2036: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
  2912.    rm -rf conftest*
  2913.    eval "ac_cv_func__doprnt=yes"
  2914.  else
  2915. @@ -1837,23 +2043,23 @@ rm -f conftest*
  2916.  
  2917.  fi
  2918.  if eval "test \"`echo '$ac_cv_func_'_doprnt`\" = yes"; then
  2919. -  echo "$ac_t""yes" 1>&4
  2920. +  echo "$ac_t""yes" 1>&6
  2921.    cat >> confdefs.h <<\EOF
  2922.  #define HAVE_DOPRNT 1
  2923.  EOF
  2924.  
  2925.  else
  2926. -  echo "$ac_t""no" 1>&4
  2927. +  echo "$ac_t""no" 1>&6
  2928.  fi
  2929.  
  2930.  fi
  2931.  
  2932. -echo $ac_n "checking for st_blksize in struct stat""... $ac_c" 1>&4
  2933. -if eval "test \"`echo '${'ac_cv_struct_st_blksize'+set}'`\" = set"; then
  2934. -  echo $ac_n "(cached) $ac_c" 1>&4
  2935. +echo $ac_n "checking for st_blksize in struct stat""... $ac_c" 1>&6
  2936. +if eval "test \"`echo '$''{'ac_cv_struct_st_blksize'+set}'`\" = set"; then
  2937. +  echo $ac_n "(cached) $ac_c" 1>&6
  2938.  else
  2939.    cat > conftest.$ac_ext <<EOF
  2940. -#line 1857 "configure"
  2941. +#line 2063 "configure"
  2942.  #include "confdefs.h"
  2943.  #include <sys/types.h>
  2944.  #include <sys/stat.h>
  2945. @@ -1862,7 +2068,7 @@ int t() {
  2946.  struct stat s; s.st_blksize;
  2947.  ; return 0; }
  2948.  EOF
  2949. -if eval $ac_link; then
  2950. +if { (eval echo configure:2072: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
  2951.    rm -rf conftest*
  2952.    ac_cv_struct_st_blksize=yes
  2953.  else
  2954. @@ -1872,7 +2078,8 @@ fi
  2955.  rm -f conftest*
  2956.  
  2957.  fi
  2958. -echo "$ac_t""$ac_cv_struct_st_blksize" 1>&4
  2959. +
  2960. +echo "$ac_t""$ac_cv_struct_st_blksize" 1>&6
  2961.  if test $ac_cv_struct_st_blksize = yes; then
  2962.    cat >> confdefs.h <<\EOF
  2963.  #define HAVE_ST_BLKSIZE 1
  2964. @@ -1881,9 +2088,7 @@ EOF
  2965.  fi
  2966.  
  2967.  trap '' 1 2 15
  2968. -if test -w $cache_file; then
  2969. -echo "updating cache $cache_file"
  2970. -cat > $cache_file <<\EOF
  2971. +cat > confcache <<\EOF
  2972.  # This file is a shell script that caches the results of configure
  2973.  # tests run on this system so they can be shared between configure
  2974.  # scripts and configure runs.  It is not useful on other systems.
  2975. @@ -1899,17 +2104,26 @@ cat > $cache_file <<\EOF
  2976.  # --recheck option to rerun configure.
  2977.  #
  2978.  EOF
  2979. -# Ultrix sh set writes to stderr and can't be redirected directly.
  2980. +# Ultrix sh set writes to stderr and can't be redirected directly,
  2981. +# and sets the high bit in the cache file unless we assign to the vars.
  2982.  (set) 2>&1 |
  2983. -  sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/: \${\1='\2'}/p" \
  2984. -  >> $cache_file
  2985. +  sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=\${\1='\2'}/p" \
  2986. +  >> confcache
  2987. +if cmp -s $cache_file confcache; then
  2988. +  :
  2989.  else
  2990. -echo "not updating unwritable cache $cache_file"
  2991. +  if test -w $cache_file; then
  2992. +    echo "updating cache $cache_file"
  2993. +    cat confcache > $cache_file
  2994. +  else
  2995. +    echo "not updating unwritable cache $cache_file"
  2996. +  fi
  2997.  fi
  2998. +rm -f confcache
  2999.  
  3000. -trap 'rm -fr conftest* confdefs* core $ac_clean_files; exit 1' 1 2 15
  3001. +trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
  3002.  
  3003. -test "x$prefix" = xNONE && prefix=/usr/local
  3004. +test "x$prefix" = xNONE && prefix=$ac_default_prefix
  3005.  # Let make expand exec_prefix.
  3006.  test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
  3007.  
  3008. @@ -1928,9 +2142,11 @@ DEFS=-DHAVE_CONFIG_H
  3009.  : ${CONFIG_STATUS=./config.status}
  3010.  
  3011.  echo creating $CONFIG_STATUS
  3012. -rm -f $CONFIG_STATUS
  3013. +# Some systems, like AmigaOS, won't allow you to remove a script that is
  3014. +# being executed, so just move it out of the way instead.
  3015. +if test -f $CONFIG_STATUS; then mv $CONFIG_STATUS $CONFIG_STATUS.old; else true; fi
  3016.  cat > $CONFIG_STATUS <<EOF
  3017. -#!/bin/sh
  3018. +#! /bin/sh
  3019.  # Generated automatically by configure.
  3020.  # Run this file to recreate the current configuration.
  3021.  # This directory was configured as follows,
  3022. @@ -1949,7 +2165,7 @@ do
  3023.      echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
  3024.      exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
  3025.    -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
  3026. -    echo "$CONFIG_STATUS generated by autoconf version 1.120"
  3027. +    echo "$CONFIG_STATUS generated by autoconf version 2.10"
  3028.      exit 0 ;;
  3029.    -help | --help | --hel | --he | --h)
  3030.      echo "\$ac_cs_usage"; exit 0 ;;
  3031. @@ -1960,11 +2176,13 @@ done
  3032.  ac_given_srcdir=$srcdir
  3033.  ac_given_INSTALL="$INSTALL"
  3034.  
  3035. -trap 'rm -fr Makefile config.h:config.hin conftest*; exit 1' 1 2 15
  3036. +trap 'rm -fr `echo "Makefile config.h:config.hin" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
  3037. +EOF
  3038. +cat >> $CONFIG_STATUS <<EOF
  3039.  
  3040. -# Protect against being on the right side of a sed subst in config.status. 
  3041. -sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g; 
  3042. - s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF
  3043. +# Protect against being on the right side of a sed subst in config.status.
  3044. +sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
  3045. + s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
  3046.  $ac_vpsub
  3047.  $extrasub
  3048.  s%@CFLAGS@%$CFLAGS%g
  3049. @@ -1976,6 +2194,21 @@ s%@LIBS@%$LIBS%g
  3050.  s%@exec_prefix@%$exec_prefix%g
  3051.  s%@prefix@%$prefix%g
  3052.  s%@program_transform_name@%$program_transform_name%g
  3053. +s%@bindir@%$bindir%g
  3054. +s%@sbindir@%$sbindir%g
  3055. +s%@libexecdir@%$libexecdir%g
  3056. +s%@datadir@%$datadir%g
  3057. +s%@sysconfdir@%$sysconfdir%g
  3058. +s%@sharedstatedir@%$sharedstatedir%g
  3059. +s%@localstatedir@%$localstatedir%g
  3060. +s%@libdir@%$libdir%g
  3061. +s%@includedir@%$includedir%g
  3062. +s%@oldincludedir@%$oldincludedir%g
  3063. +s%@infodir@%$infodir%g
  3064. +s%@guidedir@%$guidedir%g
  3065. +s%@psdir@%$psdir%g
  3066. +s%@dvidir@%$dvidir%g
  3067. +s%@mandir@%$mandir%g
  3068.  s%@CC@%$CC%g
  3069.  s%@CPP@%$CPP%g
  3070.  s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
  3071. @@ -2005,7 +2238,7 @@ for ac_file in .. $CONFIG_FILES; do if t
  3072.    if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
  3073.      # The file is in a subdirectory.
  3074.      test ! -d "$ac_dir" && mkdir "$ac_dir"
  3075. -    ac_dir_suffix="/$ac_dir"
  3076. +    ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
  3077.      # A "../" for each directory in $ac_dir_suffix.
  3078.      ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
  3079.    else
  3080. @@ -2080,13 +2313,13 @@ EOF
  3081.  
  3082.  # Transform confdefs.h into a sed script conftest.vals that substitutes
  3083.  # the proper values into config.h.in to produce config.h.  And first:
  3084. -# Protect against being on the right side of a sed subst in config.status. 
  3085. +# Protect against being on the right side of a sed subst in config.status.
  3086.  # Protect against being in an unquoted here document in config.status.
  3087.  rm -f conftest.vals
  3088.  cat > conftest.hdr <<\EOF
  3089.  s/[\\&%]/\\&/g
  3090.  s%[\\$`]%\\&%g
  3091. -s%#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
  3092. +s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
  3093.  s%ac_d%ac_u%gp
  3094.  s%ac_u%ac_e%gp
  3095.  EOF
  3096. @@ -2134,6 +2367,12 @@ cat >> $CONFIG_STATUS <<\EOF
  3097.      echo "$ac_file is unchanged"
  3098.      rm -f conftest.h
  3099.    else
  3100. +    # Remove last slash and all that follows it.  Not all systems have dirname.
  3101. +      ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
  3102. +      if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
  3103. +      # The file is in a subdirectory.
  3104. +      test ! -d "$ac_dir" && mkdir "$ac_dir"
  3105. +    fi
  3106.      rm -f $ac_file
  3107.      mv conftest.h $ac_file
  3108.    fi
  3109. @@ -2144,6 +2383,7 @@ date > stamp-h
  3110.  exit 0
  3111.  EOF
  3112.  chmod +x $CONFIG_STATUS
  3113. +rm -f CONFIG.STATUS.old
  3114.  rm -fr confdefs* $ac_clean_files
  3115. -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS
  3116. +test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
  3117.  
  3118. diff -rup --new-file baseline/fsf/diffutils/diff.info amiga/fsf/diffutils/diff.info
  3119. --- baseline/fsf/diffutils/diff.info    Sat Oct  1 10:57:37 1994
  3120. +++ amiga/fsf/diffutils/diff.info    Wed Dec 31 17:00:00 1969
  3121. @@ -1,128 +0,0 @@
  3122. -This is Info file diff.info, produced by Makeinfo-1.55 from the input
  3123. -file ./diff.texi.
  3124. -
  3125. -   This file documents the the GNU `diff', `diff3', `sdiff', and `cmp'
  3126. -commands for showing the differences between text files and the `patch'
  3127. -command for using their output to update files.
  3128. -
  3129. -   Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
  3130. -
  3131. -   Permission is granted to make and distribute verbatim copies of this
  3132. -manual provided the copyright notice and this permission notice are
  3133. -preserved on all copies.
  3134. -
  3135. -   Permission is granted to copy and distribute modified versions of
  3136. -this manual under the conditions for verbatim copying, provided that
  3137. -the entire resulting derived work is distributed under the terms of a
  3138. -permission notice identical to this one.
  3139. -
  3140. -   Permission is granted to copy and distribute translations of this
  3141. -manual into another language, under the above conditions for modified
  3142. -versions, except that this permission notice may be stated in a
  3143. -translation approved by the Foundation.
  3144. -
  3145. -
  3146. -Indirect:
  3147. -diff.info-1: 1007
  3148. -diff.info-2: 48281
  3149. -diff.info-3: 98082
  3150. -diff.info-4: 144163
  3151. -
  3152. -Tag Table:
  3153. -(Indirect)
  3154. -Node: Top1007
  3155. -Node: Overview2412
  3156. -Node: Comparison5556
  3157. -Node: Hunks8174
  3158. -Node: White Space9600
  3159. -Node: Blank Lines10825
  3160. -Node: Case Folding11589
  3161. -Node: Specified Folding12002
  3162. -Node: Brief13092
  3163. -Node: Binary14343
  3164. -Node: Output Formats17683
  3165. -Node: Sample diff Input18375
  3166. -Node: Normal19868
  3167. -Node: Detailed Normal20797
  3168. -Node: Example Normal22522
  3169. -Node: Context23245
  3170. -Node: Context Format24793
  3171. -Node: Detailed Context25566
  3172. -Node: Example Context27122
  3173. -Node: Less Context28615
  3174. -Node: Unified Format29747
  3175. -Node: Detailed Unified30526
  3176. -Node: Example Unified31510
  3177. -Node: Sections32509
  3178. -Node: Specified Headings33253
  3179. -Node: C Function Headings34800
  3180. -Node: Alternate Names35619
  3181. -Node: Side by Side36516
  3182. -Node: Side by Side Format38656
  3183. -Node: Example Side by Side39553
  3184. -Node: Scripts40880
  3185. -Node: ed Scripts41278
  3186. -Node: Detailed ed42473
  3187. -Node: Example ed44214
  3188. -Node: Forward ed44652
  3189. -Node: RCS45414
  3190. -Node: If-then-else46624
  3191. -Node: Line Group Formats48281
  3192. -Node: Line Formats53963
  3193. -Node: Detailed If-then-else57225
  3194. -Node: Example If-then-else59126
  3195. -Node: Comparing Directories60178
  3196. -Node: Adjusting Output63293
  3197. -Node: Tabs63712
  3198. -Node: Pagination65234
  3199. -Node: diff Performance65653
  3200. -Node: Comparing Three Files67599
  3201. -Node: Sample diff3 Input68460
  3202. -Node: Detailed diff3 Normal69409
  3203. -Node: diff3 Hunks71189
  3204. -Node: Example diff3 Normal72475
  3205. -Node: diff3 Merging73499
  3206. -Node: Which Changes75709
  3207. -Node: Marking Conflicts77115
  3208. -Node: Bypassing ed79572
  3209. -Node: Merging Incomplete Lines80927
  3210. -Node: Saving the Changed File81644
  3211. -Node: Interactive Merging82254
  3212. -Node: sdiff Option Summary82952
  3213. -Node: Merge Commands84052
  3214. -Node: Merging with patch85188
  3215. -Node: patch Input87295
  3216. -Node: Imperfect87958
  3217. -Node: Changed White Space88695
  3218. -Node: Reversed Patches89446
  3219. -Node: Inexact91031
  3220. -Node: Empty Files94385
  3221. -Node: Multiple Patches94949
  3222. -Node: patch Messages96261
  3223. -Node: Making Patches98082
  3224. -Node: Invoking cmp101380
  3225. -Node: cmp Options101984
  3226. -Node: Invoking diff103414
  3227. -Node: diff Options104880
  3228. -Node: Invoking diff3115476
  3229. -Node: diff3 Options116107
  3230. -Node: Invoking patch119709
  3231. -Node: patch Directories121649
  3232. -Node: Backups123464
  3233. -Node: Rejects126011
  3234. -Node: patch Options126561
  3235. -Node: Invoking sdiff131418
  3236. -Node: sdiff Options132528
  3237. -Node: Incomplete Lines135845
  3238. -Node: Projects137468
  3239. -Node: Shortcomings138162
  3240. -Node: Changing Structure139157
  3241. -Node: Special Files140105
  3242. -Node: Unusual File Names141051
  3243. -Node: Arbitrary Limits141673
  3244. -Node: Large Files142102
  3245. -Node: Ignoring Changes142974
  3246. -Node: Bugs143518
  3247. -Node: Concept Index144163
  3248. -
  3249. -End Tag Table
  3250. diff -rup --new-file baseline/fsf/diffutils/diff.info-1 amiga/fsf/diffutils/diff.info-1
  3251. --- baseline/fsf/diffutils/diff.info-1    Sat Oct  1 10:57:36 1994
  3252. +++ amiga/fsf/diffutils/diff.info-1    Wed Dec 31 17:00:00 1969
  3253. @@ -1,1211 +0,0 @@
  3254. -This is Info file diff.info, produced by Makeinfo-1.55 from the input
  3255. -file ./diff.texi.
  3256. -
  3257. -   This file documents the the GNU `diff', `diff3', `sdiff', and `cmp'
  3258. -commands for showing the differences between text files and the `patch'
  3259. -command for using their output to update files.
  3260. -
  3261. -   Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
  3262. -
  3263. -   Permission is granted to make and distribute verbatim copies of this
  3264. -manual provided the copyright notice and this permission notice are
  3265. -preserved on all copies.
  3266. -
  3267. -   Permission is granted to copy and distribute modified versions of
  3268. -this manual under the conditions for verbatim copying, provided that
  3269. -the entire resulting derived work is distributed under the terms of a
  3270. -permission notice identical to this one.
  3271. -
  3272. -   Permission is granted to copy and distribute translations of this
  3273. -manual into another language, under the above conditions for modified
  3274. -versions, except that this permission notice may be stated in a
  3275. -translation approved by the Foundation.
  3276. -
  3277. -
  3278. -File: diff.info,  Node: Top,  Up: (dir)
  3279. -
  3280. -   This file documents the the GNU `diff', `diff3', `sdiff', and `cmp'
  3281. -commands for showing the differences between text files and the `patch'
  3282. -command for using their output to update files.
  3283. -
  3284. -   This is Edition 1.2, for `diff' 2.4 and `patch' 2.1.
  3285. -
  3286. -* Menu:
  3287. -
  3288. -* Overview::        Preliminary information.
  3289. -
  3290. -* Comparison::        What file comparison means.
  3291. -* Output Formats::    Formats for difference reports.
  3292. -* Comparing Directories::    Comparing files and directories.
  3293. -* Adjusting Output::    Making `diff' output prettier.
  3294. -* diff Performance::    Making `diff' smarter or faster.
  3295. -* Comparing Three Files:: Formats for three-way difference reports.
  3296. -
  3297. -* diff3 Merging::    Merging from a common ancestor.
  3298. -* Interactive Merging::    Interactive merging with `sdiff'.
  3299. -* Merging with patch::    Using `patch' to change old files into new ones.
  3300. -* Making Patches::    Tips for making patch distributions.
  3301. -
  3302. -* Invoking cmp::    How to run `cmp' and a summary of its options.
  3303. -* Invoking diff::    How to run `diff' and a summary of its options.
  3304. -* Invoking diff3::    How to run `diff3' and a summary of its options.
  3305. -* Invoking patch::    How to run `patch' and a summary of its options.
  3306. -* Invoking sdiff::    How to run `sdiff' and a summary of its options.
  3307. -
  3308. -* Incomplete Lines::    Lines that lack trailing newlines.
  3309. -* Projects::        If you think you've found a bug or other shortcoming.
  3310. -
  3311. -* Concept Index::    Index of concepts.
  3312. -
  3313. -
  3314. -File: diff.info,  Node: Overview,  Next: Comparison,  Up: Top
  3315. -
  3316. -Overview
  3317. -********
  3318. -
  3319. -   Computer users often find occasion to ask how two files differ.
  3320. -Perhaps one file is a newer version of the other file.  Or maybe the
  3321. -two files started out as identical copies but were changed by different
  3322. -people.
  3323. -
  3324. -   You can use the `diff' command to show differences between two
  3325. -files, or each corresponding file in two directories.  `diff' outputs
  3326. -differences between files line by line in any of several formats,
  3327. -selectable by command line options.  This set of differences is often
  3328. -called a "diff" or "patch".  For files that are identical, `diff'
  3329. -normally produces no output; for binary (non-text) files, `diff'
  3330. -normally reports only that they are different.
  3331. -
  3332. -   You can use the `cmp' command to show the offsets and line numbers
  3333. -where two files differ.  `cmp' can also show all the characters that
  3334. -differ between the two files, side by side.  Another way to compare two
  3335. -files character by character is the Emacs command `M-x
  3336. -compare-windows'.  *Note Other Window: (emacs)Other Window, for more
  3337. -information on that command.
  3338. -
  3339. -   You can use the `diff3' command to show differences among three
  3340. -files.  When two people have made independent changes to a common
  3341. -original, `diff3' can report the differences between the original and
  3342. -the two changed versions, and can produce a merged file that contains
  3343. -both persons' changes together with warnings about conflicts.
  3344. -
  3345. -   You can use the `sdiff' command to merge two files interactively.
  3346. -
  3347. -   You can use the set of differences produced by `diff' to distribute
  3348. -updates to text files (such as program source code) to other people.
  3349. -This method is especially useful when the differences are small compared
  3350. -to the complete files.  Given `diff' output, you can use the `patch'
  3351. -program to update, or "patch", a copy of the file.  If you think of
  3352. -`diff' as subtracting one file from another to produce their
  3353. -difference, you can think of `patch' as adding the difference to one
  3354. -file to reproduce the other.
  3355. -
  3356. -   This manual first concentrates on making diffs, and later shows how
  3357. -to use diffs to update files.
  3358. -
  3359. -   GNU `diff' was written by Mike Haertel, David Hayes, Richard
  3360. -Stallman, Len Tower, and Paul Eggert.  Wayne Davison designed and
  3361. -implemented the unified output format.  The basic algorithm is described
  3362. -in "An O(ND) Difference Algorithm and its Variations", Eugene W. Myers,
  3363. -`Algorithmica' Vol. 1 No. 2, 1986, pp. 251-266; and in "A File
  3364. -Comparison Program", Webb Miller and Eugene W. Myers,
  3365. -`Software--Practice and Experience' Vol. 15 No. 11, 1985, pp. 1025-1040.
  3366. -The algorithm was independently discovered as described in "Algorithms
  3367. -for Approximate String Matching", E. Ukkonen, `Information and Control'
  3368. -Vol. 64, 1985, pp. 100-118.
  3369. -
  3370. -   GNU `diff3' was written by Randy Smith.  GNU `sdiff' was written by
  3371. -Thomas Lord.  GNU `cmp' was written by Torbjorn Granlund and David
  3372. -MacKenzie.
  3373. -
  3374. -   `patch' was written mainly by Larry Wall; the GNU enhancements were
  3375. -written mainly by Wayne Davison and David MacKenzie.  Parts of this
  3376. -manual are adapted from a manual page written by Larry Wall, with his
  3377. -permission.
  3378. -
  3379. -
  3380. -File: diff.info,  Node: Comparison,  Next: Output Formats,  Prev: Overview,  Up: Top
  3381. -
  3382. -What Comparison Means
  3383. -*********************
  3384. -
  3385. -   There are several ways to think about the differences between two
  3386. -files.  One way to think of the differences is as a series of lines
  3387. -that were deleted from, inserted in, or changed in one file to produce
  3388. -the other file.  `diff' compares two files line by line, finds groups of
  3389. -lines that differ, and reports each group of differing lines.  It can
  3390. -report the differing lines in several formats, which have different
  3391. -purposes.
  3392. -
  3393. -   GNU `diff' can show whether files are different without detailing
  3394. -the differences.  It also provides ways to suppress certain kinds of
  3395. -differences that are not important to you.  Most commonly, such
  3396. -differences are changes in the amount of white space between words or
  3397. -lines.  `diff' also provides ways to suppress differences in alphabetic
  3398. -case or in lines that match a regular expression that you provide.
  3399. -These options can accumulate; for example, you can ignore changes in
  3400. -both white space and alphabetic case.
  3401. -
  3402. -   Another way to think of the differences between two files is as a
  3403. -sequence of pairs of characters that can be either identical or
  3404. -different.  `cmp' reports the differences between two files character
  3405. -by character, instead of line by line.  As a result, it is more useful
  3406. -than `diff' for comparing binary files.  For text files, `cmp' is
  3407. -useful mainly when you want to know only whether two files are
  3408. -identical.
  3409. -
  3410. -   To illustrate the effect that considering changes character by
  3411. -character can have compared with considering them line by line, think
  3412. -of what happens if a single newline character is added to the beginning
  3413. -of a file.  If that file is then compared with an otherwise identical
  3414. -file that lacks the newline at the beginning, `diff' will report that a
  3415. -blank line has been added to the file, while `cmp' will report that
  3416. -almost every character of the two files differs.
  3417. -
  3418. -   `diff3' normally compares three input files line by line, finds
  3419. -groups of lines that differ, and reports each group of differing lines.
  3420. -Its output is designed to make it easy to inspect two different sets of
  3421. -changes to the same file.
  3422. -
  3423. -* Menu:
  3424. -
  3425. -* Hunks::        Groups of differing lines.
  3426. -* White Space::        Suppressing differences in white space.
  3427. -* Blank Lines::        Suppressing differences in blank lines.
  3428. -* Case Folding::    Suppressing differences in alphabetic case.
  3429. -* Specified Folding::    Suppressing differences that match regular expressions.
  3430. -* Brief::        Summarizing which files are different.
  3431. -* Binary::        Comparing binary files or forcing text comparisons.
  3432. -
  3433. -
  3434. -File: diff.info,  Node: Hunks,  Next: White Space,  Up: Comparison
  3435. -
  3436. -Hunks
  3437. -=====
  3438. -
  3439. -   When comparing two files, `diff' finds sequences of lines common to
  3440. -both files, interspersed with groups of differing lines called "hunks".
  3441. -Comparing two identical files yields one sequence of common lines and
  3442. -no hunks, because no lines differ.  Comparing two entirely different
  3443. -files yields no common lines and one large hunk that contains all lines
  3444. -of both files.  In general, there are many ways to match up lines
  3445. -between two given files.  `diff' tries to minimize the total hunk size
  3446. -by finding large sequences of common lines interspersed with small
  3447. -hunks of differing lines.
  3448. -
  3449. -   For example, suppose the file `F' contains the three lines `a', `b',
  3450. -`c', and the file `G' contains the same three lines in reverse order
  3451. -`c', `b', `a'.  If `diff' finds the line `c' as common, then the command
  3452. -`diff F G' produces this output:
  3453. -
  3454. -     1,2d0
  3455. -     < a
  3456. -     < b
  3457. -     3a2,3
  3458. -     > b
  3459. -     > a
  3460. -
  3461. -But if `diff' notices the common line `b' instead, it produces this
  3462. -output:
  3463. -
  3464. -     1c1
  3465. -     < a
  3466. -     ---
  3467. -     > c
  3468. -     3c3
  3469. -     < c
  3470. -     ---
  3471. -     > a
  3472. -
  3473. -It is also possible to find `a' as the common line.  `diff' does not
  3474. -always find an optimal matching between the files; it takes shortcuts
  3475. -to run faster.  But its output is usually close to the shortest
  3476. -possible.  You can adjust this tradeoff with the `--minimal' option
  3477. -(*note diff Performance::.).
  3478. -
  3479. -
  3480. -File: diff.info,  Node: White Space,  Next: Blank Lines,  Prev: Hunks,  Up: Comparison
  3481. -
  3482. -Suppressing Differences in Blank and Tab Spacing
  3483. -================================================
  3484. -
  3485. -   The `-b' and `--ignore-space-change' options ignore white space at
  3486. -line end, and considers all other sequences of one or more white space
  3487. -characters to be equivalent.  With these options, `diff' considers the
  3488. -following two lines to be equivalent, where `$' denotes the line end:
  3489. -
  3490. -     Here lyeth  muche rychnesse  in lytell space.   -- John Heywood$
  3491. -     Here lyeth muche rychnesse in lytell space. -- John Heywood   $
  3492. -
  3493. -   The `-w' and `--ignore-all-space' options are stronger than `-b'.
  3494. -They ignore difference even if one file has white space where the other
  3495. -file has none.  "White space" characters include tab, newline, vertical
  3496. -tab, form feed, carriage return, and space; some locales may define
  3497. -additional characters to be white space.  With these options, `diff'
  3498. -considers the following two lines to be equivalent, where `$' denotes
  3499. -the line end and `^M' denotes a carriage return:
  3500. -
  3501. -     Here lyeth  muche  rychnesse in lytell space.--  John Heywood$
  3502. -       He relyeth much erychnes  seinly tells pace.  --John Heywood   ^M$
  3503. -
  3504. -
  3505. -File: diff.info,  Node: Blank Lines,  Next: Case Folding,  Prev: White Space,  Up: Comparison
  3506. -
  3507. -Suppressing Differences in Blank Lines
  3508. -======================================
  3509. -
  3510. -   The `-B' and `--ignore-blank-lines' options ignore insertions or
  3511. -deletions of blank lines.  These options normally affect only lines
  3512. -that are completely empty; they do not affect lines that look empty but
  3513. -contain space or tab characters.  With these options, for example, a
  3514. -file containing
  3515. -     1.  A point is that which has no part.
  3516. -     
  3517. -     2.  A line is breadthless length.
  3518. -     -- Euclid, The Elements, I
  3519. -
  3520. -is considered identical to a file containing
  3521. -     1.  A point is that which has no part.
  3522. -     2.  A line is breadthless length.
  3523. -     
  3524. -     
  3525. -     -- Euclid, The Elements, I
  3526. -
  3527. -
  3528. -File: diff.info,  Node: Case Folding,  Next: Specified Folding,  Prev: Blank Lines,  Up: Comparison
  3529. -
  3530. -Suppressing Case Differences
  3531. -============================
  3532. -
  3533. -   GNU `diff' can treat lowercase letters as equivalent to their
  3534. -uppercase counterparts, so that, for example, it considers `Funky
  3535. -Stuff', `funky STUFF', and `fUNKy stuFf' to all be the same.  To
  3536. -request this, use the `-i' or `--ignore-case' option.
  3537. -
  3538. -
  3539. -File: diff.info,  Node: Specified Folding,  Next: Brief,  Prev: Case Folding,  Up: Comparison
  3540. -
  3541. -Suppressing Lines Matching a Regular Expression
  3542. -===============================================
  3543. -
  3544. -   To ignore insertions and deletions of lines that match a regular
  3545. -expression, use the `-I REGEXP' or `--ignore-matching-lines=REGEXP'
  3546. -option.  You should escape regular expressions that contain shell
  3547. -metacharacters to prevent the shell from expanding them.  For example,
  3548. -`diff -I '^[0-9]'' ignores all changes to lines beginning with a digit.
  3549. -
  3550. -   However, `-I' only ignores the insertion or deletion of lines that
  3551. -contain the regular expression if every changed line in the hunk--every
  3552. -insertion and every deletion--matches the regular expression.  In other
  3553. -words, for each nonignorable change, `diff' prints the complete set of
  3554. -changes in its vicinity, including the ignorable ones.
  3555. -
  3556. -   You can specify more than one regular expression for lines to ignore
  3557. -by using more than one `-I' option.  `diff' tries to match each line
  3558. -against each regular expression, starting with the last one given.
  3559. -
  3560. -
  3561. -File: diff.info,  Node: Brief,  Next: Binary,  Prev: Specified Folding,  Up: Comparison
  3562. -
  3563. -Summarizing Which Files Differ
  3564. -==============================
  3565. -
  3566. -   When you only want to find out whether files are different, and you
  3567. -don't care what the differences are, you can use the summary output
  3568. -format.  In this format, instead of showing the differences between the
  3569. -files, `diff' simply reports whether files differ.  The `-q' and
  3570. -`--brief' options select this output format.
  3571. -
  3572. -   This format is especially useful when comparing the contents of two
  3573. -directories.  It is also much faster than doing the normal line by line
  3574. -comparisons, because `diff' can stop analyzing the files as soon as it
  3575. -knows that there are any differences.
  3576. -
  3577. -   You can also get a brief indication of whether two files differ by
  3578. -using `cmp'.  For files that are identical, `cmp' produces no output.
  3579. -When the files differ, by default, `cmp' outputs the byte offset and
  3580. -line number where the first difference occurs.  You can use the `-s'
  3581. -option to suppress that information, so that `cmp' produces no output
  3582. -and reports whether the files differ using only its exit status (*note
  3583. -Invoking cmp::.).
  3584. -
  3585. -   Unlike `diff', `cmp' cannot compare directories; it can only compare
  3586. -two files.
  3587. -
  3588. -
  3589. -File: diff.info,  Node: Binary,  Prev: Brief,  Up: Comparison
  3590. -
  3591. -Binary Files and Forcing Text Comparisons
  3592. -=========================================
  3593. -
  3594. -   If `diff' thinks that either of the two files it is comparing is
  3595. -binary (a non-text file), it normally treats that pair of files much as
  3596. -if the summary output format had been selected (*note Brief::.), and
  3597. -reports only that the binary files are different.  This is because line
  3598. -by line comparisons are usually not meaningful for binary files.
  3599. -
  3600. -   `diff' determines whether a file is text or binary by checking the
  3601. -first few bytes in the file; the exact number of bytes is system
  3602. -dependent, but it is typically several thousand.  If every character in
  3603. -that part of the file is non-null, `diff' considers the file to be
  3604. -text; otherwise it considers the file to be binary.
  3605. -
  3606. -   Sometimes you might want to force `diff' to consider files to be
  3607. -text.  For example, you might be comparing text files that contain null
  3608. -characters; `diff' would erroneously decide that those are non-text
  3609. -files.  Or you might be comparing documents that are in a format used
  3610. -by a word processing system that uses null characters to indicate
  3611. -special formatting.  You can force `diff' to consider all files to be
  3612. -text files, and compare them line by line, by using the `-a' or
  3613. -`--text' option.  If the files you compare using this option do not in
  3614. -fact contain text, they will probably contain few newline characters,
  3615. -and the `diff' output will consist of hunks showing differences between
  3616. -long lines of whatever characters the files contain.
  3617. -
  3618. -   You can also force `diff' to consider all files to be binary files,
  3619. -and report only whether they differ (but not how).  Use the `--brief'
  3620. -option for this.
  3621. -
  3622. -   In operating systems that distinguish between text and binary files,
  3623. -`diff' normally reads and writes all data as text.  Use the `--binary'
  3624. -option to force `diff' to read and write binary data instead.  This
  3625. -option has no effect on a Posix-compliant system like GNU or
  3626. -traditional Unix.  However, many personal computer operating systems
  3627. -represent the end of a line with a carriage return followed by a
  3628. -newline.  On such systems, `diff' normally ignores these carriage
  3629. -returns on input and generates them at the end of each output line, but
  3630. -with the `--binary' option `diff' treats each carriage return as just
  3631. -another input character, and does not generate a carriage return at the
  3632. -end of each output line.  This can be useful when dealing with non-text
  3633. -files that are meant to be interchanged with Posix-compliant systems.
  3634. -
  3635. -   If you want to compare two files byte by byte, you can use the `cmp'
  3636. -program with the `-l' option to show the values of each differing byte
  3637. -in the two files.  With GNU `cmp', you can also use the `-c' option to
  3638. -show the ASCII representation of those bytes.  *Note Invoking cmp::,
  3639. -for more information.
  3640. -
  3641. -   If `diff3' thinks that any of the files it is comparing is binary (a
  3642. -non-text file), it normally reports an error, because such comparisons
  3643. -are usually not useful.  `diff3' uses the same test as `diff' to decide
  3644. -whether a file is binary.  As with `diff', if the input files contain a
  3645. -few non-text characters but otherwise are like text files, you can
  3646. -force `diff3' to consider all files to be text files and compare them
  3647. -line by line by using the `-a' or `--text' options.
  3648. -
  3649. -
  3650. -File: diff.info,  Node: Output Formats,  Next: Comparing Directories,  Prev: Comparison,  Up: Top
  3651. -
  3652. -`diff' Output Formats
  3653. -*********************
  3654. -
  3655. -   `diff' has several mutually exclusive options for output format.
  3656. -The following sections describe each format, illustrating how `diff'
  3657. -reports the differences between two sample input files.
  3658. -
  3659. -* Menu:
  3660. -
  3661. -* Sample diff Input::    Sample `diff' input files for examples.
  3662. -* Normal::        Showing differences without surrounding text.
  3663. -* Context::        Showing differences with the surrounding text.
  3664. -* Side by Side::        Showing differences in two columns.
  3665. -* Scripts::        Generating scripts for other programs.
  3666. -* If-then-else::    Merging files with if-then-else.
  3667. -
  3668. -
  3669. -File: diff.info,  Node: Sample diff Input,  Next: Normal,  Up: Output Formats
  3670. -
  3671. -Two Sample Input Files
  3672. -======================
  3673. -
  3674. -   Here are two sample files that we will use in numerous examples to
  3675. -illustrate the output of `diff' and how various options can change it.
  3676. -
  3677. -   This is the file `lao':
  3678. -
  3679. -     The Way that can be told of is not the eternal Way;
  3680. -     The name that can be named is not the eternal name.
  3681. -     The Nameless is the origin of Heaven and Earth;
  3682. -     The Named is the mother of all things.
  3683. -     Therefore let there always be non-being,
  3684. -       so we may see their subtlety,
  3685. -     And let there always be being,
  3686. -       so we may see their outcome.
  3687. -     The two are the same,
  3688. -     But after they are produced,
  3689. -       they have different names.
  3690. -
  3691. -   This is the file `tzu':
  3692. -
  3693. -     The Nameless is the origin of Heaven and Earth;
  3694. -     The named is the mother of all things.
  3695. -     
  3696. -     Therefore let there always be non-being,
  3697. -       so we may see their subtlety,
  3698. -     And let there always be being,
  3699. -       so we may see their outcome.
  3700. -     The two are the same,
  3701. -     But after they are produced,
  3702. -       they have different names.
  3703. -     They both may be called deep and profound.
  3704. -     Deeper and more profound,
  3705. -     The door of all subtleties!
  3706. -
  3707. -   In this example, the first hunk contains just the first two lines of
  3708. -`lao', the second hunk contains the fourth line of `lao' opposing the
  3709. -second and third lines of `tzu', and the last hunk contains just the
  3710. -last three lines of `tzu'.
  3711. -
  3712. -
  3713. -File: diff.info,  Node: Normal,  Next: Context,  Prev: Sample diff Input,  Up: Output Formats
  3714. -
  3715. -Showing Differences Without Context
  3716. -===================================
  3717. -
  3718. -   The "normal" `diff' output format shows each hunk of differences
  3719. -without any surrounding context.  Sometimes such output is the clearest
  3720. -way to see how lines have changed, without the clutter of nearby
  3721. -unchanged lines (although you can get similar results with the context
  3722. -or unified formats by using 0 lines of context).  However, this format
  3723. -is no longer widely used for sending out patches; for that purpose, the
  3724. -context format (*note Context Format::.) and the unified format (*note
  3725. -Unified Format::.) are superior.  Normal format is the default for
  3726. -compatibility with older versions of `diff' and the Posix standard.
  3727. -
  3728. -* Menu:
  3729. -
  3730. -* Detailed Normal::    A detailed description of normal output format.
  3731. -* Example Normal::    Sample output in the normal format.
  3732. -
  3733. -
  3734. -File: diff.info,  Node: Detailed Normal,  Next: Example Normal,  Up: Normal
  3735. -
  3736. -Detailed Description of Normal Format
  3737. --------------------------------------
  3738. -
  3739. -   The normal output format consists of one or more hunks of
  3740. -differences; each hunk shows one area where the files differ.  Normal
  3741. -format hunks look like this:
  3742. -
  3743. -     CHANGE-COMMAND
  3744. -     < FROM-FILE-LINE
  3745. -     < FROM-FILE-LINE...
  3746. -     ---
  3747. -     > TO-FILE-LINE
  3748. -     > TO-FILE-LINE...
  3749. -
  3750. -   There are three types of change commands.  Each consists of a line
  3751. -number or comma-separated range of lines in the first file, a single
  3752. -character indicating the kind of change to make, and a line number or
  3753. -comma-separated range of lines in the second file.  All line numbers are
  3754. -the original line numbers in each file.  The types of change commands
  3755. -are:
  3756. -
  3757. -`LaR'
  3758. -     Add the lines in range R of the second file after line L of the
  3759. -     first file.  For example, `8a12,15' means append lines 12-15 of
  3760. -     file 2 after line 8 of file 1; or, if changing file 2 into file 1,
  3761. -     delete lines 12-15 of file 2.
  3762. -
  3763. -`FcT'
  3764. -     Replace the lines in range F of the first file with lines in range
  3765. -     T of the second file.  This is like a combined add and delete, but
  3766. -     more compact.  For example, `5,7c8,10' means change lines 5-7 of
  3767. -     file 1 to read as lines 8-10 of file 2; or, if changing file 2 into
  3768. -     file 1, change lines 8-10 of file 2 to read as lines 5-7 of file 1.
  3769. -
  3770. -`RdL'
  3771. -     Delete the lines in range R from the first file; line L is where
  3772. -     they would have appeared in the second file had they not been
  3773. -     deleted.  For example, `5,7d3' means delete lines 5-7 of file 1;
  3774. -     or, if changing file 2 into file 1, append lines 5-7 of file 1
  3775. -     after line 3 of file 2.
  3776. -
  3777. -
  3778. -File: diff.info,  Node: Example Normal,  Prev: Detailed Normal,  Up: Normal
  3779. -
  3780. -An Example of Normal Format
  3781. ----------------------------
  3782. -
  3783. -   Here is the output of the command `diff lao tzu' (*note Sample diff
  3784. -Input::., for the complete contents of the two files).  Notice that it
  3785. -shows only the lines that are different between the two files.
  3786. -
  3787. -     1,2d0
  3788. -     < The Way that can be told of is not the eternal Way;
  3789. -     < The name that can be named is not the eternal name.
  3790. -     4c2,3
  3791. -     < The Named is the mother of all things.
  3792. -     ---
  3793. -     > The named is the mother of all things.
  3794. -     >
  3795. -     11a11,13
  3796. -     > They both may be called deep and profound.
  3797. -     > Deeper and more profound,
  3798. -     > The door of all subtleties!
  3799. -
  3800. -
  3801. -File: diff.info,  Node: Context,  Next: Side by Side,  Prev: Normal,  Up: Output Formats
  3802. -
  3803. -Showing Differences in Their Context
  3804. -====================================
  3805. -
  3806. -   Usually, when you are looking at the differences between files, you
  3807. -will also want to see the parts of the files near the lines that
  3808. -differ, to help you understand exactly what has changed.  These nearby
  3809. -parts of the files are called the "context".
  3810. -
  3811. -   GNU `diff' provides two output formats that show context around the
  3812. -differing lines: "context format" and "unified format".  It can
  3813. -optionally show in which function or section of the file the differing
  3814. -lines are found.
  3815. -
  3816. -   If you are distributing new versions of files to other people in the
  3817. -form of `diff' output, you should use one of the output formats that
  3818. -show context so that they can apply the diffs even if they have made
  3819. -small changes of their own to the files.  `patch' can apply the diffs
  3820. -in this case by searching in the files for the lines of context around
  3821. -the differing lines; if those lines are actually a few lines away from
  3822. -where the diff says they are, `patch' can adjust the line numbers
  3823. -accordingly and still apply the diff correctly.  *Note Imperfect::, for
  3824. -more information on using `patch' to apply imperfect diffs.
  3825. -
  3826. -* Menu:
  3827. -
  3828. -* Context Format::    An output format that shows surrounding lines.
  3829. -* Unified Format::    A more compact output format that shows context.
  3830. -* Sections::        Showing which sections of the files differences are in.
  3831. -* Alternate Names::    Showing alternate file names in context headers.
  3832. -
  3833. -
  3834. -File: diff.info,  Node: Context Format,  Next: Unified Format,  Up: Context
  3835. -
  3836. -Context Format
  3837. ---------------
  3838. -
  3839. -   The context output format shows several lines of context around the
  3840. -lines that differ.  It is the standard format for distributing updates
  3841. -to source code.
  3842. -
  3843. -   To select this output format, use the `-C LINES',
  3844. -`--context[=LINES]', or `-c' option.  The argument LINES that some of
  3845. -these options take is the number of lines of context to show.  If you
  3846. -do not specify LINES, it defaults to three.  For proper operation,
  3847. -`patch' typically needs at least two lines of context.
  3848. -
  3849. -* Menu:
  3850. -
  3851. -* Detailed Context::    A detailed description of the context output format.
  3852. -* Example Context::    Sample output in context format.
  3853. -* Less Context::    Another sample with less context.
  3854. -
  3855. -
  3856. -File: diff.info,  Node: Detailed Context,  Next: Example Context,  Up: Context Format
  3857. -
  3858. -Detailed Description of Context Format
  3859. -......................................
  3860. -
  3861. -   The context output format starts with a two-line header, which looks
  3862. -like this:
  3863. -
  3864. -     *** FROM-FILE FROM-FILE-MODIFICATION-TIME
  3865. -     --- TO-FILE TO-FILE-MODIFICATION TIME
  3866. -
  3867. -You can change the header's content with the `-L LABEL' or
  3868. -`--label=LABEL' option; see *Note Alternate Names::.
  3869. -
  3870. -   Next come one or more hunks of differences; each hunk shows one area
  3871. -where the files differ.  Context format hunks look like this:
  3872. -
  3873. -     ***************
  3874. -     *** FROM-FILE-LINE-RANGE ****
  3875. -       FROM-FILE-LINE
  3876. -       FROM-FILE-LINE...
  3877. -     --- TO-FILE-LINE-RANGE ----
  3878. -       TO-FILE-LINE
  3879. -       TO-FILE-LINE...
  3880. -
  3881. -   The lines of context around the lines that differ start with two
  3882. -space characters.  The lines that differ between the two files start
  3883. -with one of the following indicator characters, followed by a space
  3884. -character:
  3885. -
  3886. -`!'
  3887. -     A line that is part of a group of one or more lines that changed
  3888. -     between the two files.  There is a corresponding group of lines
  3889. -     marked with `!' in the part of this hunk for the other file.
  3890. -
  3891. -`+'
  3892. -     An "inserted" line in the second file that corresponds to nothing
  3893. -     in the first file.
  3894. -
  3895. -`-'
  3896. -     A "deleted" line in the first file that corresponds to nothing in
  3897. -     the second file.
  3898. -
  3899. -   If all of the changes in a hunk are insertions, the lines of
  3900. -FROM-FILE are omitted.  If all of the changes are deletions, the lines
  3901. -of TO-FILE are omitted.
  3902. -
  3903. -
  3904. -File: diff.info,  Node: Example Context,  Next: Less Context,  Prev: Detailed Context,  Up: Context Format
  3905. -
  3906. -An Example of Context Format
  3907. -............................
  3908. -
  3909. -   Here is the output of `diff -c lao tzu' (*note Sample diff Input::.,
  3910. -for the complete contents of the two files).  Notice that up to three
  3911. -lines that are not different are shown around each line that is
  3912. -different; they are the context lines.  Also notice that the first two
  3913. -hunks have run together, because their contents overlap.
  3914. -
  3915. -     *** lao    Sat Jan 26 23:30:39 1991
  3916. -     --- tzu    Sat Jan 26 23:30:50 1991
  3917. -     ***************
  3918. -     *** 1,7 ****
  3919. -     - The Way that can be told of is not the eternal Way;
  3920. -     - The name that can be named is not the eternal name.
  3921. -       The Nameless is the origin of Heaven and Earth;
  3922. -     ! The Named is the mother of all things.
  3923. -       Therefore let there always be non-being,
  3924. -         so we may see their subtlety,
  3925. -       And let there always be being,
  3926. -     --- 1,6 ----
  3927. -       The Nameless is the origin of Heaven and Earth;
  3928. -     ! The named is the mother of all things.
  3929. -     !
  3930. -       Therefore let there always be non-being,
  3931. -         so we may see their subtlety,
  3932. -       And let there always be being,
  3933. -     ***************
  3934. -     *** 9,11 ****
  3935. -     --- 8,13 ----
  3936. -       The two are the same,
  3937. -       But after they are produced,
  3938. -         they have different names.
  3939. -     + They both may be called deep and profound.
  3940. -     + Deeper and more profound,
  3941. -     + The door of all subtleties!
  3942. -
  3943. -
  3944. -File: diff.info,  Node: Less Context,  Prev: Example Context,  Up: Context Format
  3945. -
  3946. -An Example of Context Format with Less Context
  3947. -..............................................
  3948. -
  3949. -   Here is the output of `diff --context=1 lao tzu' (*note Sample diff
  3950. -Input::., for the complete contents of the two files).  Notice that at
  3951. -most one context line is reported here.
  3952. -
  3953. -     *** lao    Sat Jan 26 23:30:39 1991
  3954. -     --- tzu    Sat Jan 26 23:30:50 1991
  3955. -     ***************
  3956. -     *** 1,5 ****
  3957. -     - The Way that can be told of is not the eternal Way;
  3958. -     - The name that can be named is not the eternal name.
  3959. -       The Nameless is the origin of Heaven and Earth;
  3960. -     ! The Named is the mother of all things.
  3961. -       Therefore let there always be non-being,
  3962. -     --- 1,4 ----
  3963. -       The Nameless is the origin of Heaven and Earth;
  3964. -     ! The named is the mother of all things.
  3965. -     !
  3966. -       Therefore let there always be non-being,
  3967. -     ***************
  3968. -     *** 11 ****
  3969. -     --- 10,13 ----
  3970. -         they have different names.
  3971. -     + They both may be called deep and profound.
  3972. -     + Deeper and more profound,
  3973. -     + The door of all subtleties!
  3974. -
  3975. -
  3976. -File: diff.info,  Node: Unified Format,  Next: Sections,  Prev: Context Format,  Up: Context
  3977. -
  3978. -Unified Format
  3979. ---------------
  3980. -
  3981. -   The unified output format is a variation on the context format that
  3982. -is more compact because it omits redundant context lines.  To select
  3983. -this output format, use the `-U LINES', `--unified[=LINES]', or `-u'
  3984. -option.  The argument LINES is the number of lines of context to show.
  3985. -When it is not given, it defaults to three.
  3986. -
  3987. -   At present, only GNU `diff' can produce this format and only GNU
  3988. -`patch' can automatically apply diffs in this format.  For proper
  3989. -operation, `patch' typically needs at least two lines of context.
  3990. -
  3991. -* Menu:
  3992. -
  3993. -* Detailed Unified::    A detailed description of unified format.
  3994. -* Example Unified::    Sample output in unified format.
  3995. -
  3996. -
  3997. -File: diff.info,  Node: Detailed Unified,  Next: Example Unified,  Up: Unified Format
  3998. -
  3999. -Detailed Description of Unified Format
  4000. -......................................
  4001. -
  4002. -   The unified output format starts with a two-line header, which looks
  4003. -like this:
  4004. -
  4005. -     --- FROM-FILE FROM-FILE-MODIFICATION-TIME
  4006. -     +++ TO-FILE TO-FILE-MODIFICATION-TIME
  4007. -
  4008. -You can change the header's content with the `-L LABEL' or
  4009. -`--label=LABEL' option; see *Note Alternate Names::.
  4010. -
  4011. -   Next come one or more hunks of differences; each hunk shows one area
  4012. -where the files differ.  Unified format hunks look like this:
  4013. -
  4014. -     @@ FROM-FILE-RANGE TO-FILE-RANGE @@
  4015. -      LINE-FROM-EITHER-FILE
  4016. -      LINE-FROM-EITHER-FILE...
  4017. -
  4018. -   The lines common to both files begin with a space character.  The
  4019. -lines that actually differ between the two files have one of the
  4020. -following indicator characters in the left column:
  4021. -
  4022. -`+'
  4023. -     A line was added here to the first file.
  4024. -
  4025. -`-'
  4026. -     A line was removed here from the first file.
  4027. -
  4028. -
  4029. -File: diff.info,  Node: Example Unified,  Prev: Detailed Unified,  Up: Unified Format
  4030. -
  4031. -An Example of Unified Format
  4032. -............................
  4033. -
  4034. -   Here is the output of the command `diff -u lao tzu' (*note Sample
  4035. -diff Input::., for the complete contents of the two files):
  4036. -
  4037. -     --- lao    Sat Jan 26 23:30:39 1991
  4038. -     +++ tzu    Sat Jan 26 23:30:50 1991
  4039. -     @@ -1,7 +1,6 @@
  4040. -     -The Way that can be told of is not the eternal Way;
  4041. -     -The name that can be named is not the eternal name.
  4042. -      The Nameless is the origin of Heaven and Earth;
  4043. -     -The Named is the mother of all things.
  4044. -     +The named is the mother of all things.
  4045. -     +
  4046. -      Therefore let there always be non-being,
  4047. -        so we may see their subtlety,
  4048. -      And let there always be being,
  4049. -     @@ -9,3 +8,6 @@
  4050. -      The two are the same,
  4051. -      But after they are produced,
  4052. -        they have different names.
  4053. -     +They both may be called deep and profound.
  4054. -     +Deeper and more profound,
  4055. -     +The door of all subtleties!
  4056. -
  4057. -
  4058. -File: diff.info,  Node: Sections,  Next: Alternate Names,  Prev: Unified Format,  Up: Context
  4059. -
  4060. -Showing Which Sections Differences Are in
  4061. ------------------------------------------
  4062. -
  4063. -   Sometimes you might want to know which part of the files each change
  4064. -falls in.  If the files are source code, this could mean which function
  4065. -was changed.  If the files are documents, it could mean which chapter or
  4066. -appendix was changed.  GNU `diff' can show this by displaying the
  4067. -nearest section heading line that precedes the differing lines.  Which
  4068. -lines are "section headings" is determined by a regular expression.
  4069. -
  4070. -* Menu:
  4071. -
  4072. -* Specified Headings::    Showing headings that match regular expressions.
  4073. -* C Function Headings::    Showing headings of C functions.
  4074. -
  4075. -
  4076. -File: diff.info,  Node: Specified Headings,  Next: C Function Headings,  Up: Sections
  4077. -
  4078. -Showing Lines That Match Regular Expressions
  4079. -............................................
  4080. -
  4081. -   To show in which sections differences occur for files that are not
  4082. -source code for C or similar languages, use the `-F REGEXP' or
  4083. -`--show-function-line=REGEXP' option.  `diff' considers lines that
  4084. -match the argument REGEXP to be the beginning of a section of the file.
  4085. -Here are suggested regular expressions for some common languages:
  4086. -
  4087. -`^[A-Za-z_]'
  4088. -     C, C++, Prolog
  4089. -
  4090. -`^('
  4091. -     Lisp
  4092. -
  4093. -`^@\(chapter\|appendix\|unnumbered\|chapheading\)'
  4094. -     Texinfo
  4095. -
  4096. -   This option does not automatically select an output format; in order
  4097. -to use it, you must select the context format (*note Context Format::.)
  4098. -or unified format (*note Unified Format::.).  In other output formats it
  4099. -has no effect.
  4100. -
  4101. -   The `-F' and `--show-function-line' options find the nearest
  4102. -unchanged line that precedes each hunk of differences and matches the
  4103. -given regular expression.  Then they add that line to the end of the
  4104. -line of asterisks in the context format, or to the `@@' line in unified
  4105. -format.  If no matching line exists, they leave the output for that
  4106. -hunk unchanged.  If that line is more than 40 characters long, they
  4107. -output only the first 40 characters.  You can specify more than one
  4108. -regular expression for such lines; `diff' tries to match each line
  4109. -against each regular expression, starting with the last one given.  This
  4110. -means that you can use `-p' and `-F' together, if you wish.
  4111. -
  4112. -
  4113. -File: diff.info,  Node: C Function Headings,  Prev: Specified Headings,  Up: Sections
  4114. -
  4115. -Showing C Function Headings
  4116. -...........................
  4117. -
  4118. -   To show in which functions differences occur for C and similar
  4119. -languages, you can use the `-p' or `--show-c-function' option.  This
  4120. -option automatically defaults to the context output format (*note
  4121. -Context Format::.), with the default number of lines of context.  You
  4122. -can override that number with `-C LINES' elsewhere in the command line.
  4123. -You can override both the format and the number with `-U LINES'
  4124. -elsewhere in the command line.
  4125. -
  4126. -   The `-p' and `--show-c-function' options are equivalent to
  4127. -`-F'^[_a-zA-Z$]'' if the unified format is specified, otherwise `-c
  4128. --F'^[_a-zA-Z$]'' (*note Specified Headings::.).  GNU `diff' provides
  4129. -them for the sake of convenience.
  4130. -
  4131. -
  4132. -File: diff.info,  Node: Alternate Names,  Prev: Sections,  Up: Context
  4133. -
  4134. -Showing Alternate File Names
  4135. -----------------------------
  4136. -
  4137. -   If you are comparing two files that have meaningless or uninformative
  4138. -names, you might want `diff' to show alternate names in the header of
  4139. -the context and unified output formats.  To do this, use the `-L LABEL'
  4140. -or `--label=LABEL' option.  The first time you give this option, its
  4141. -argument replaces the name and date of the first file in the header;
  4142. -the second time, its argument replaces the name and date of the second
  4143. -file.  If you give this option more than twice, `diff' reports an
  4144. -error.  The `-L' option does not affect the file names in the `pr'
  4145. -header when the `-l' or `--paginate' option is used (*note
  4146. -Pagination::.).
  4147. -
  4148. -   Here are the first two lines of the output from `diff -C2 -Loriginal
  4149. --Lmodified lao tzu':
  4150. -
  4151. -     *** original
  4152. -     --- modified
  4153. -
  4154. -
  4155. -File: diff.info,  Node: Side by Side,  Next: Scripts,  Prev: Context,  Up: Output Formats
  4156. -
  4157. -Showing Differences Side by Side
  4158. -================================
  4159. -
  4160. -   `diff' can produce a side by side difference listing of two files.
  4161. -The files are listed in two columns with a gutter between them.  The
  4162. -gutter contains one of the following markers:
  4163. -
  4164. -white space
  4165. -     The corresponding lines are in common.  That is, either the lines
  4166. -     are identical, or the difference is ignored because of one of the
  4167. -     `--ignore' options (*note White Space::.).
  4168. -
  4169. -`|'
  4170. -     The corresponding lines differ, and they are either both complete
  4171. -     or both incomplete.
  4172. -
  4173. -`<'
  4174. -     The files differ and only the first file contains the line.
  4175. -
  4176. -`>'
  4177. -     The files differ and only the second file contains the line.
  4178. -
  4179. -`('
  4180. -     Only the first file contains the line, but the difference is
  4181. -     ignored.
  4182. -
  4183. -`)'
  4184. -     Only the second file contains the line, but the difference is
  4185. -     ignored.
  4186. -
  4187. -`\'
  4188. -     The corresponding lines differ, and only the first line is
  4189. -     incomplete.
  4190. -
  4191. -`/'
  4192. -     The corresponding lines differ, and only the second line is
  4193. -     incomplete.
  4194. -
  4195. -   Normally, an output line is incomplete if and only if the lines that
  4196. -it contains are incomplete; *Note Incomplete Lines::.  However, when an
  4197. -output line represents two differing lines, one might be incomplete
  4198. -while the other is not.  In this case, the output line is complete, but
  4199. -its the gutter is marked `\' if the first line is incomplete, `/' if
  4200. -the second line is.
  4201. -
  4202. -   Side by side format is sometimes easiest to read, but it has
  4203. -limitations.  It generates much wider output than usual, and truncates
  4204. -lines that are too long to fit.  Also, it relies on lining up output
  4205. -more heavily than usual, so its output looks particularly bad if you
  4206. -use varying width fonts, nonstandard tab stops, or nonprinting
  4207. -characters.
  4208. -
  4209. -   You can use the `sdiff' command to interactively merge side by side
  4210. -differences.  *Note Interactive Merging::, for more information on
  4211. -merging files.
  4212. -
  4213. -* Menu:
  4214. -
  4215. -* Side by Side Format::        Controlling side by side output format.
  4216. -* Example Side by Side::    Sample side by side output.
  4217. -
  4218. -
  4219. -File: diff.info,  Node: Side by Side Format,  Next: Example Side by Side,  Up: Side by Side
  4220. -
  4221. -Controlling Side by Side Format
  4222. -===============================
  4223. -
  4224. -   The `-y' or `--side-by-side' option selects side by side format.
  4225. -Because side by side output lines contain two input lines, they are
  4226. -wider than usual.  They are normally 130 columns, which can fit onto a
  4227. -traditional printer line.  You can set the length of output lines with
  4228. -the `-W COLUMNS' or `--width=COLUMNS' option.  The output line is split
  4229. -into two halves of equal length, separated by a small gutter to mark
  4230. -differences; the right half is aligned to a tab stop so that tabs line
  4231. -up.  Input lines that are too long to fit in half of an output line are
  4232. -truncated for output.
  4233. -
  4234. -   The `--left-column' option prints only the left column of two common
  4235. -lines.  The `--suppress-common-lines' option suppresses common lines
  4236. -entirely.
  4237. -
  4238. -
  4239. -File: diff.info,  Node: Example Side by Side,  Prev: Side by Side Format,  Up: Side by Side
  4240. -
  4241. -An Example of Side by Side Format
  4242. ----------------------------------
  4243. -
  4244. -   Here is the output of the command `diff -y -W 72 lao tzu' (*note
  4245. -Sample diff Input::., for the complete contents of the two files).
  4246. -
  4247. -     The Way that can be told of is n   <
  4248. -     The name that can be named is no   <
  4249. -     The Nameless is the origin of He        The Nameless is the origin of He
  4250. -     The Named is the mother of all t   |    The named is the mother of all t
  4251. -                                        >
  4252. -     Therefore let there always be no        Therefore let there always be no
  4253. -       so we may see their subtlety,           so we may see their subtlety,
  4254. -     And let there always be being,          And let there always be being,
  4255. -       so we may see their outcome.            so we may see their outcome.
  4256. -     The two are the same,                   The two are the same,
  4257. -     But after they are produced,            But after they are produced,
  4258. -       they have different names.              they have different names.
  4259. -                                        >    They both may be called deep and
  4260. -                                        >    Deeper and more profound,
  4261. -                                        >    The door of all subtleties!
  4262. -
  4263. -
  4264. -File: diff.info,  Node: Scripts,  Next: If-then-else,  Prev: Side by Side,  Up: Output Formats
  4265. -
  4266. -Making Edit Scripts
  4267. -===================
  4268. -
  4269. -   Several output modes produce command scripts for editing FROM-FILE
  4270. -to produce TO-FILE.
  4271. -
  4272. -* Menu:
  4273. -
  4274. -* ed Scripts::        Using `diff' to produce commands for `ed'.
  4275. -* Forward ed::        Making forward `ed' scripts.
  4276. -* RCS::            A special `diff' output format used by RCS.
  4277. -
  4278. -
  4279. -File: diff.info,  Node: ed Scripts,  Next: Forward ed,  Up: Scripts
  4280. -
  4281. -`ed' Scripts
  4282. -------------
  4283. -
  4284. -   `diff' can produce commands that direct the `ed' text editor to
  4285. -change the first file into the second file.  Long ago, this was the
  4286. -only output mode that was suitable for editing one file into another
  4287. -automatically; today, with `patch', it is almost obsolete.  Use the
  4288. -`-e' or `--ed' option to select this output format.
  4289. -
  4290. -   Like the normal format (*note Normal::.), this output format does not
  4291. -show any context; unlike the normal format, it does not include the
  4292. -information necessary to apply the diff in reverse (to produce the first
  4293. -file if all you have is the second file and the diff).
  4294. -
  4295. -   If the file `d' contains the output of `diff -e old new', then the
  4296. -command `(cat d && echo w) | ed - old' edits `old' to make it a copy of
  4297. -`new'.  More generally, if `d1', `d2', ..., `dN' contain the outputs of
  4298. -`diff -e old new1', `diff -e new1 new2', ..., `diff -e newN-1 newN',
  4299. -respectively, then the command `(cat d1 d2 ... dN && echo w) | ed -
  4300. -old' edits `old' to make it a copy of `newN'.
  4301. -
  4302. -* Menu:
  4303. -
  4304. -* Detailed ed::        A detailed description of `ed' format.
  4305. -* Example ed::        A sample `ed' script.
  4306. -
  4307. -
  4308. -File: diff.info,  Node: Detailed ed,  Next: Example ed,  Up: ed Scripts
  4309. -
  4310. -Detailed Description of `ed' Format
  4311. -...................................
  4312. -
  4313. -   The `ed' output format consists of one or more hunks of differences.
  4314. -The changes closest to the ends of the files come first so that
  4315. -commands that change the number of lines do not affect how `ed'
  4316. -interprets line numbers in succeeding commands.  `ed' format hunks look
  4317. -like this:
  4318. -
  4319. -     CHANGE-COMMAND
  4320. -     TO-FILE-LINE
  4321. -     TO-FILE-LINE...
  4322. -     .
  4323. -
  4324. -   Because `ed' uses a single period on a line to indicate the end of
  4325. -input, GNU `diff' protects lines of changes that contain a single
  4326. -period on a line by writing two periods instead, then writing a
  4327. -subsequent `ed' command to change the two periods into one.  The `ed'
  4328. -format cannot represent an incomplete line, so if the second file ends
  4329. -in a changed incomplete line, `diff' reports an error and then pretends
  4330. -that a newline was appended.
  4331. -
  4332. -   There are three types of change commands.  Each consists of a line
  4333. -number or comma-separated range of lines in the first file and a single
  4334. -character indicating the kind of change to make.  All line numbers are
  4335. -the original line numbers in the file.  The types of change commands
  4336. -are:
  4337. -
  4338. -`La'
  4339. -     Add text from the second file after line L in the first file.  For
  4340. -     example, `8a' means to add the following lines after line 8 of file
  4341. -     1.
  4342. -
  4343. -`Rc'
  4344. -     Replace the lines in range R in the first file with the following
  4345. -     lines.  Like a combined add and delete, but more compact.  For
  4346. -     example, `5,7c' means change lines 5-7 of file 1 to read as the
  4347. -     text file 2.
  4348. -
  4349. -`Rd'
  4350. -     Delete the lines in range R from the first file.  For example,
  4351. -     `5,7d' means delete lines 5-7 of file 1.
  4352. -
  4353. -
  4354. -File: diff.info,  Node: Example ed,  Prev: Detailed ed,  Up: ed Scripts
  4355. -
  4356. -Example `ed' Script
  4357. -...................
  4358. -
  4359. -   Here is the output of `diff -e lao tzu' (*note Sample diff Input::.,
  4360. -for the complete contents of the two files):
  4361. -
  4362. -     11a
  4363. -     They both may be called deep and profound.
  4364. -     Deeper and more profound,
  4365. -     The door of all subtleties!
  4366. -     .
  4367. -     4c
  4368. -     The named is the mother of all things.
  4369. -     
  4370. -     .
  4371. -     1,2d
  4372. -
  4373. -
  4374. -File: diff.info,  Node: Forward ed,  Next: RCS,  Prev: ed Scripts,  Up: Scripts
  4375. -
  4376. -Forward `ed' Scripts
  4377. ---------------------
  4378. -
  4379. -   `diff' can produce output that is like an `ed' script, but with
  4380. -hunks in forward (front to back) order.  The format of the commands is
  4381. -also changed slightly: command characters precede the lines they
  4382. -modify, spaces separate line numbers in ranges, and no attempt is made
  4383. -to disambiguate hunk lines consisting of a single period.  Like `ed'
  4384. -format, forward `ed' format cannot represent incomplete lines.
  4385. -
  4386. -   Forward `ed' format is not very useful, because neither `ed' nor
  4387. -`patch' can apply diffs in this format.  It exists mainly for
  4388. -compatibility with older versions of `diff'.  Use the `-f' or
  4389. -`--forward-ed' option to select it.
  4390. -
  4391. -
  4392. -File: diff.info,  Node: RCS,  Prev: Forward ed,  Up: Scripts
  4393. -
  4394. -RCS Scripts
  4395. ------------
  4396. -
  4397. -   The RCS output format is designed specifically for use by the
  4398. -Revision Control System, which is a set of free programs used for
  4399. -organizing different versions and systems of files.  Use the `-n' or
  4400. -`--rcs' option to select this output format.  It is like the forward
  4401. -`ed' format (*note Forward ed::.), but it can represent arbitrary
  4402. -changes to the contents of a file because it avoids the forward `ed'
  4403. -format's problems with lines consisting of a single period and with
  4404. -incomplete lines.  Instead of ending text sections with a line
  4405. -consisting of a single period, each command specifies the number of
  4406. -lines it affects; a combination of the `a' and `d' commands are used
  4407. -instead of `c'.  Also, if the second file ends in a changed incomplete
  4408. -line, then the output also ends in an incomplete line.
  4409. -
  4410. -   Here is the output of `diff -n lao tzu' (*note Sample diff Input::.,
  4411. -for the complete contents of the two files):
  4412. -
  4413. -     d1 2
  4414. -     d4 1
  4415. -     a4 2
  4416. -     The named is the mother of all things.
  4417. -     
  4418. -     a11 3
  4419. -     They both may be called deep and profound.
  4420. -     Deeper and more profound,
  4421. -     The door of all subtleties!
  4422. -
  4423. -
  4424. -File: diff.info,  Node: If-then-else,  Prev: Scripts,  Up: Output Formats
  4425. -
  4426. -Merging Files with If-then-else
  4427. -===============================
  4428. -
  4429. -   You can use `diff' to merge two files of C source code.  The output
  4430. -of `diff' in this format contains all the lines of both files.  Lines
  4431. -common to both files are output just once; the differing parts are
  4432. -separated by the C preprocessor directives `#ifdef NAME' or `#ifndef
  4433. -NAME', `#else', and `#endif'.  When compiling the output, you select
  4434. -which version to use by either defining or leaving undefined the macro
  4435. -NAME.
  4436. -
  4437. -   To merge two files, use `diff' with the `-D NAME' or `--ifdef=NAME'
  4438. -option.  The argument NAME is the C preprocessor identifier to use in
  4439. -the `#ifdef' and `#ifndef' directives.
  4440. -
  4441. -   For example, if you change an instance of `wait (&s)' to `waitpid
  4442. -(-1, &s, 0)' and then merge the old and new files with the
  4443. -`--ifdef=HAVE_WAITPID' option, then the affected part of your code
  4444. -might look like this:
  4445. -
  4446. -         do {
  4447. -     #ifndef HAVE_WAITPID
  4448. -             if ((w = wait (&s)) < 0  &&  errno != EINTR)
  4449. -     #else /* HAVE_WAITPID */
  4450. -             if ((w = waitpid (-1, &s, 0)) < 0  &&  errno != EINTR)
  4451. -     #endif /* HAVE_WAITPID */
  4452. -                 return w;
  4453. -         } while (w != child);
  4454. -
  4455. -   You can specify formats for languages other than C by using line
  4456. -group formats and line formats, as described in the next sections.
  4457. -
  4458. -* Menu:
  4459. -
  4460. -* Line Group Formats::        Formats for general if-then-else line groups.
  4461. -* Line Formats::        Formats for each line in a line group.
  4462. -* Detailed If-then-else::    A detailed description of if-then-else format.
  4463. -* Example If-then-else::    Sample if-then-else format output.
  4464. -
  4465. diff -rup --new-file baseline/fsf/diffutils/diff.info-2 amiga/fsf/diffutils/diff.info-2
  4466. --- baseline/fsf/diffutils/diff.info-2    Sat Oct  1 10:57:36 1994
  4467. +++ amiga/fsf/diffutils/diff.info-2    Wed Dec 31 17:00:00 1969
  4468. @@ -1,1312 +0,0 @@
  4469. -This is Info file diff.info, produced by Makeinfo-1.55 from the input
  4470. -file ./diff.texi.
  4471. -
  4472. -   This file documents the the GNU `diff', `diff3', `sdiff', and `cmp'
  4473. -commands for showing the differences between text files and the `patch'
  4474. -command for using their output to update files.
  4475. -
  4476. -   Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
  4477. -
  4478. -   Permission is granted to make and distribute verbatim copies of this
  4479. -manual provided the copyright notice and this permission notice are
  4480. -preserved on all copies.
  4481. -
  4482. -   Permission is granted to copy and distribute modified versions of
  4483. -this manual under the conditions for verbatim copying, provided that
  4484. -the entire resulting derived work is distributed under the terms of a
  4485. -permission notice identical to this one.
  4486. -
  4487. -   Permission is granted to copy and distribute translations of this
  4488. -manual into another language, under the above conditions for modified
  4489. -versions, except that this permission notice may be stated in a
  4490. -translation approved by the Foundation.
  4491. -
  4492. -
  4493. -File: diff.info,  Node: Line Group Formats,  Next: Line Formats,  Up: If-then-else
  4494. -
  4495. -Line Group Formats
  4496. -------------------
  4497. -
  4498. -   Line group formats let you specify formats suitable for many
  4499. -applications that allow if-then-else input, including programming
  4500. -languages and text formatting languages.  A line group format specifies
  4501. -the output format for a contiguous group of similar lines.
  4502. -
  4503. -   For example, the following command compares the TeX files `old' and
  4504. -`new', and outputs a merged file in which old regions are surrounded by
  4505. -`\begin{em}'-`\end{em}' lines, and new regions are surrounded by
  4506. -`\begin{bf}'-`\end{bf}' lines.
  4507. -
  4508. -     diff \
  4509. -        --old-group-format='\begin{em}
  4510. -     %<\end{em}
  4511. -     ' \
  4512. -        --new-group-format='\begin{bf}
  4513. -     %>\end{bf}
  4514. -     ' \
  4515. -        old new
  4516. -
  4517. -   The following command is equivalent to the above example, but it is a
  4518. -little more verbose, because it spells out the default line group
  4519. -formats.
  4520. -
  4521. -     diff \
  4522. -        --old-group-format='\begin{em}
  4523. -     %<\end{em}
  4524. -     ' \
  4525. -        --new-group-format='\begin{bf}
  4526. -     %>\end{bf}
  4527. -     ' \
  4528. -        --unchanged-group-format='%=' \
  4529. -        --changed-group-format='\begin{em}
  4530. -     %<\end{em}
  4531. -     \begin{bf}
  4532. -     %>\end{bf}
  4533. -     ' \
  4534. -        old new
  4535. -
  4536. -   Here is a more advanced example, which outputs a diff listing with
  4537. -headers containing line numbers in a "plain English" style.
  4538. -
  4539. -     diff \
  4540. -        --unchanged-group-format='' \
  4541. -        --old-group-format='-------- %dn line%(n=1?:s) deleted at %df:
  4542. -     %<' \
  4543. -        --new-group-format='-------- %dN line%(N=1?:s) added after %de:
  4544. -     %>' \
  4545. -        --changed-group-format='-------- %dn line%(n=1?:s) changed at %df:
  4546. -     %<-------- to:
  4547. -     %>' \
  4548. -        old new
  4549. -
  4550. -   To specify a line group format, use `diff' with one of the options
  4551. -listed below.  You can specify up to four line group formats, one for
  4552. -each kind of line group.  You should quote FORMAT, because it typically
  4553. -contains shell metacharacters.
  4554. -
  4555. -`--old-group-format=FORMAT'
  4556. -     These line groups are hunks containing only lines from the first
  4557. -     file.  The default old group format is the same as the changed
  4558. -     group format if it is specified; otherwise it is a format that
  4559. -     outputs the line group as-is.
  4560. -
  4561. -`--new-group-format=FORMAT'
  4562. -     These line groups are hunks containing only lines from the second
  4563. -     file.  The default new group format is same as the the changed
  4564. -     group format if it is specified; otherwise it is a format that
  4565. -     outputs the line group as-is.
  4566. -
  4567. -`--changed-group-format=FORMAT'
  4568. -     These line groups are hunks containing lines from both files.  The
  4569. -     default changed group format is the concatenation of the old and
  4570. -     new group formats.
  4571. -
  4572. -`--unchanged-group-format=FORMAT'
  4573. -     These line groups contain lines common to both files.  The default
  4574. -     unchanged group format is a format that outputs the line group
  4575. -     as-is.
  4576. -
  4577. -   In a line group format, ordinary characters represent themselves;
  4578. -conversion specifications start with `%' and have one of the following
  4579. -forms.
  4580. -
  4581. -`%<'
  4582. -     stands for the lines from the first file, including the trailing
  4583. -     newline.  Each line is formatted according to the old line format
  4584. -     (*note Line Formats::.).
  4585. -
  4586. -`%>'
  4587. -     stands for the lines from the second file, including the trailing
  4588. -     newline.  Each line is formatted according to the new line format.
  4589. -
  4590. -`%='
  4591. -     stands for the lines common to both files, including the trailing
  4592. -     newline.  Each line is formatted according to the unchanged line
  4593. -     format.
  4594. -
  4595. -`%%'
  4596. -     stands for `%'.
  4597. -
  4598. -`%c'C''
  4599. -     where C is a single character, stands for C.  C may not be a
  4600. -     backslash or an apostrophe.  For example, `%c':'' stands for a
  4601. -     colon, even inside the then-part of an if-then-else format, which
  4602. -     a colon would normally terminate.
  4603. -
  4604. -`%c'\O''
  4605. -     where O is a string of 1, 2, or 3 octal digits, stands for the
  4606. -     character with octal code O.  For example, `%c'\0'' stands for a
  4607. -     null character.
  4608. -
  4609. -`FN'
  4610. -     where F is a `printf' conversion specification and N is one of the
  4611. -     following letters, stands for N's value formatted with F.
  4612. -
  4613. -    `e'
  4614. -          The line number of the line just before the group in the old
  4615. -          file.
  4616. -
  4617. -    `f'
  4618. -          The line number of the first line in the group in the old
  4619. -          file; equals E + 1.
  4620. -
  4621. -    `l'
  4622. -          The line number of the last line in the group in the old file.
  4623. -
  4624. -    `m'
  4625. -          The line number of the line just after the group in the old
  4626. -          file; equals L + 1.
  4627. -
  4628. -    `n'
  4629. -          The number of lines in the group in the old file; equals L -
  4630. -          F + 1.
  4631. -
  4632. -    `E, F, L, M, N'
  4633. -          Likewise, for lines in the new file.
  4634. -
  4635. -     The `printf' conversion specification can be `%d', `%o', `%x', or
  4636. -     `%X', specifying decimal, octal, lower case hexadecimal, or upper
  4637. -     case hexadecimal output respectively.  After the `%' the following
  4638. -     options can appear in sequence: a `-' specifying
  4639. -     left-justification; an integer specifying the minimum field width;
  4640. -     and a period followed by an optional integer specifying the
  4641. -     minimum number of digits.  For example, `%5dN' prints the number
  4642. -     of new lines in the group in a field of width 5 characters, using
  4643. -     the `printf' format `"%5d"'.
  4644. -
  4645. -`(A=B?T:E)'
  4646. -     If A equals B then T else E.  A and B are each either a decimal
  4647. -     constant or a single letter interpreted as above.  This format
  4648. -     spec is equivalent to T if A's value equals B's; otherwise it is
  4649. -     equivalent to E.
  4650. -
  4651. -     For example, `%(N=0?no:%dN) line%(N=1?:s)' is equivalent to `no
  4652. -     lines' if N (the number of lines in the group in the the new file)
  4653. -     is 0, to `1 line' if N is 1, and to `%dN lines' otherwise.
  4654. -
  4655. -
  4656. -File: diff.info,  Node: Line Formats,  Next: Detailed If-then-else,  Prev: Line Group Formats,  Up: If-then-else
  4657. -
  4658. -Line Formats
  4659. -------------
  4660. -
  4661. -   Line formats control how each line taken from an input file is
  4662. -output as part of a line group in if-then-else format.
  4663. -
  4664. -   For example, the following command outputs text with a one-column
  4665. -change indicator to the left of the text.  The first column of output
  4666. -is `-' for deleted lines, `|' for added lines, and a space for
  4667. -unchanged lines.  The formats contain newline characters where newlines
  4668. -are desired on output.
  4669. -
  4670. -     diff \
  4671. -        --old-line-format='-%l
  4672. -     ' \
  4673. -        --new-line-format='|%l
  4674. -     ' \
  4675. -        --unchanged-line-format=' %l
  4676. -     ' \
  4677. -        old new
  4678. -
  4679. -   To specify a line format, use one of the following options.  You
  4680. -should quote FORMAT, since it often contains shell metacharacters.
  4681. -
  4682. -`--old-line-format=FORMAT'
  4683. -     formats lines just from the first file.
  4684. -
  4685. -`--new-line-format=FORMAT'
  4686. -     formats lines just from the second file.
  4687. -
  4688. -`--unchanged-line-format=FORMAT'
  4689. -     formats lines common to both files.
  4690. -
  4691. -`--line-format=FORMAT'
  4692. -     formats all lines; in effect, it sets all three above options
  4693. -     simultaneously.
  4694. -
  4695. -   In a line format, ordinary characters represent themselves;
  4696. -conversion specifications start with `%' and have one of the following
  4697. -forms.
  4698. -
  4699. -`%l'
  4700. -     stands for the the contents of the line, not counting its trailing
  4701. -     newline (if any).  This format ignores whether the line is
  4702. -     incomplete; *Note Incomplete Lines::.
  4703. -
  4704. -`%L'
  4705. -     stands for the the contents of the line, including its trailing
  4706. -     newline (if any).  If a line is incomplete, this format preserves
  4707. -     its incompleteness.
  4708. -
  4709. -`%%'
  4710. -     stands for `%'.
  4711. -
  4712. -`%c'C''
  4713. -     where C is a single character, stands for C.  C may not be a
  4714. -     backslash or an apostrophe.  For example, `%c':'' stands for a
  4715. -     colon.
  4716. -
  4717. -`%c'\O''
  4718. -     where O is a string of 1, 2, or 3 octal digits, stands for the
  4719. -     character with octal code O.  For example, `%c'\0'' stands for a
  4720. -     null character.
  4721. -
  4722. -`Fn'
  4723. -     where F is a `printf' conversion specification, stands for the
  4724. -     line number formatted with F.  For example, `%.5dn' prints the
  4725. -     line number using the `printf' format `"%.5d"'.  *Note Line Group
  4726. -     Formats::, for more about printf conversion specifications.
  4727. -
  4728. -   The default line format is `%l' followed by a newline character.
  4729. -
  4730. -   If the input contains tab characters and it is important that they
  4731. -line up on output, you should ensure that `%l' or `%L' in a line format
  4732. -is just after a tab stop (e.g. by preceding `%l' or `%L' with a tab
  4733. -character), or you should use the `-t' or `--expand-tabs' option.
  4734. -
  4735. -   Taken together, the line and line group formats let you specify many
  4736. -different formats.  For example, the following command uses a format
  4737. -similar to `diff''s normal format.  You can tailor this command to get
  4738. -fine control over `diff''s output.
  4739. -
  4740. -     diff \
  4741. -        --old-line-format='< %l
  4742. -     ' \
  4743. -        --new-line-format='> %l
  4744. -     ' \
  4745. -        --old-group-format='%df%(f=l?:,%dl)d%dE
  4746. -     %<' \
  4747. -        --new-group-format='%dea%dF%(F=L?:,%dL)
  4748. -     %>' \
  4749. -        --changed-group-format='%df%(f=l?:,%dl)c%dF%(F=L?:,%dL)
  4750. -     %<---
  4751. -     %>' \
  4752. -        --unchanged-group-format='' \
  4753. -        old new
  4754. -
  4755. -
  4756. -File: diff.info,  Node: Detailed If-then-else,  Next: Example If-then-else,  Prev: Line Formats,  Up: If-then-else
  4757. -
  4758. -Detailed Description of If-then-else Format
  4759. --------------------------------------------
  4760. -
  4761. -   For lines common to both files, `diff' uses the unchanged line group
  4762. -format.  For each hunk of differences in the merged output format, if
  4763. -the hunk contains only lines from the first file, `diff' uses the old
  4764. -line group format; if the hunk contains only lines from the second
  4765. -file, `diff' uses the new group format; otherwise, `diff' uses the
  4766. -changed group format.
  4767. -
  4768. -   The old, new, and unchanged line formats specify the output format of
  4769. -lines from the first file, lines from the second file, and lines common
  4770. -to both files, respectively.
  4771. -
  4772. -   The option `--ifdef=NAME' is equivalent to the following sequence of
  4773. -options using shell syntax:
  4774. -
  4775. -     --old-group-format='#ifndef NAME
  4776. -     %<#endif /* not NAME */
  4777. -     ' \
  4778. -     --new-group-format='#ifdef NAME
  4779. -     %>#endif /* NAME */
  4780. -     ' \
  4781. -     --unchanged-group-format='%=' \
  4782. -     --changed-group-format='#ifndef NAME
  4783. -     %<#else /* NAME */
  4784. -     %>#endif /* NAME */
  4785. -     '
  4786. -
  4787. -   You should carefully check the `diff' output for proper nesting.
  4788. -For example, when using the the `-D NAME' or `--ifdef=NAME' option, you
  4789. -should check that if the differing lines contain any of the C
  4790. -preprocessor directives `#ifdef', `#ifndef', `#else', `#elif', or
  4791. -`#endif', they are nested properly and match.  If they don't, you must
  4792. -make corrections manually.  It is a good idea to carefully check the
  4793. -resulting code anyway to make sure that it really does what you want it
  4794. -to; depending on how the input files were produced, the output might
  4795. -contain duplicate or otherwise incorrect code.
  4796. -
  4797. -   The `patch' `-D NAME' option behaves just like the `diff' `-D NAME'
  4798. -option, except it operates on a file and a diff to produce a merged
  4799. -file; *Note patch Options::.
  4800. -
  4801. -
  4802. -File: diff.info,  Node: Example If-then-else,  Prev: Detailed If-then-else,  Up: If-then-else
  4803. -
  4804. -An Example of If-then-else Format
  4805. ----------------------------------
  4806. -
  4807. -   Here is the output of `diff -DTWO lao tzu' (*note Sample diff
  4808. -Input::., for the complete contents of the two files):
  4809. -
  4810. -     #ifndef TWO
  4811. -     The Way that can be told of is not the eternal Way;
  4812. -     The name that can be named is not the eternal name.
  4813. -     #endif /* not TWO */
  4814. -     The Nameless is the origin of Heaven and Earth;
  4815. -     #ifndef TWO
  4816. -     The Named is the mother of all things.
  4817. -     #else /* TWO */
  4818. -     The named is the mother of all things.
  4819. -     
  4820. -     #endif /* TWO */
  4821. -     Therefore let there always be non-being,
  4822. -       so we may see their subtlety,
  4823. -     And let there always be being,
  4824. -       so we may see their outcome.
  4825. -     The two are the same,
  4826. -     But after they are produced,
  4827. -       they have different names.
  4828. -     #ifdef TWO
  4829. -     They both may be called deep and profound.
  4830. -     Deeper and more profound,
  4831. -     The door of all subtleties!
  4832. -     #endif /* TWO */
  4833. -
  4834. -
  4835. -File: diff.info,  Node: Comparing Directories,  Next: Adjusting Output,  Prev: Output Formats,  Up: Top
  4836. -
  4837. -Comparing Directories
  4838. -*********************
  4839. -
  4840. -   You can use `diff' to compare some or all of the files in two
  4841. -directory trees.  When both file name arguments to `diff' are
  4842. -directories, it compares each file that is contained in both
  4843. -directories, examining file names in alphabetical order.  Normally
  4844. -`diff' is silent about pairs of files that contain no differences, but
  4845. -if you use the `-s' or `--report-identical-files' option, it reports
  4846. -pairs of identical files.  Normally `diff' reports subdirectories
  4847. -common to both directories without comparing subdirectories' files, but
  4848. -if you use the `-r' or `--recursive' option, it compares every
  4849. -corresponding pair of files in the directory trees, as many levels deep
  4850. -as they go.
  4851. -
  4852. -   For file names that are in only one of the directories, `diff'
  4853. -normally does not show the contents of the file that exists; it reports
  4854. -only that the file exists in that directory and not in the other.  You
  4855. -can make `diff' act as though the file existed but was empty in the
  4856. -other directory, so that it outputs the entire contents of the file that
  4857. -actually exists.  (It is output as either an insertion or a deletion,
  4858. -depending on whether it is in the first or the second directory given.)
  4859. -To do this, use the `-N' or `--new-file' option.
  4860. -
  4861. -   If the older directory contains one or more large files that are not
  4862. -in the newer directory, you can make the patch smaller by using the
  4863. -`-P' or `--unidirectional-new-file' option instead of `-N'.  This
  4864. -option is like `-N' except that it only inserts the contents of files
  4865. -that appear in the second directory but not the first (that is, files
  4866. -that were added).  At the top of the patch, write instructions for the
  4867. -user applying the patch to remove the files that were deleted before
  4868. -applying the patch.  *Note Making Patches::, for more discussion of
  4869. -making patches for distribution.
  4870. -
  4871. -   To ignore some files while comparing directories, use the `-x
  4872. -PATTERN' or `--exclude=PATTERN' option.  This option ignores any files
  4873. -or subdirectories whose base names match the shell pattern PATTERN.
  4874. -Unlike in the shell, a period at the start of the base of a file name
  4875. -matches a wildcard at the start of a pattern.  You should enclose
  4876. -PATTERN in quotes so that the shell does not expand it.  For example,
  4877. -the option `-x '*.[ao]'' ignores any file whose name ends with `.a' or
  4878. -`.o'.
  4879. -
  4880. -   This option accumulates if you specify it more than once.  For
  4881. -example, using the options `-x 'RCS' -x '*,v'' ignores any file or
  4882. -subdirectory whose base name is `RCS' or ends with `,v'.
  4883. -
  4884. -   If you need to give this option many times, you can instead put the
  4885. -patterns in a file, one pattern per line, and use the `-X FILE' or
  4886. -`--exclude-from=FILE' option.
  4887. -
  4888. -   If you have been comparing two directories and stopped partway
  4889. -through, later you might want to continue where you left off.  You can
  4890. -do this by using the `-S FILE' or `--starting-file=FILE' option.  This
  4891. -compares only the file FILE and all alphabetically later files in the
  4892. -topmost directory level.
  4893. -
  4894. -
  4895. -File: diff.info,  Node: Adjusting Output,  Next: diff Performance,  Prev: Comparing Directories,  Up: Top
  4896. -
  4897. -Making `diff' Output Prettier
  4898. -*****************************
  4899. -
  4900. -   `diff' provides several ways to adjust the appearance of its output.
  4901. -These adjustments can be applied to any output format.
  4902. -
  4903. -* Menu:
  4904. -
  4905. -* Tabs::        Preserving the alignment of tabstops.
  4906. -* Pagination::        Page numbering and timestamping `diff' output.
  4907. -
  4908. -
  4909. -File: diff.info,  Node: Tabs,  Next: Pagination,  Up: Adjusting Output
  4910. -
  4911. -Preserving Tabstop Alignment
  4912. -============================
  4913. -
  4914. -   The lines of text in some of the `diff' output formats are preceded
  4915. -by one or two characters that indicate whether the text is inserted,
  4916. -deleted, or changed.  The addition of those characters can cause tabs to
  4917. -move to the next tabstop, throwing off the alignment of columns in the
  4918. -line.  GNU `diff' provides two ways to make tab-aligned columns line up
  4919. -correctly.
  4920. -
  4921. -   The first way is to have `diff' convert all tabs into the correct
  4922. -number of spaces before outputting them; select this method with the
  4923. -`-t' or `--expand-tabs' option.  `diff' assumes that tabstops are set
  4924. -every 8 columns.  To use this form of output with `patch', you must
  4925. -give `patch' the `-l' or `--ignore-white-space' option (*note Changed
  4926. -White Space::., for more information).
  4927. -
  4928. -   The other method for making tabs line up correctly is to add a tab
  4929. -character instead of a space after the indicator character at the
  4930. -beginning of the line.  This ensures that all following tab characters
  4931. -are in the same position relative to tabstops that they were in the
  4932. -original files, so that the output is aligned correctly.  Its
  4933. -disadvantage is that it can make long lines too long to fit on one line
  4934. -of the screen or the paper.  It also does not work with the unified
  4935. -output format, which does not have a space character after the change
  4936. -type indicator character.  Select this method with the `-T' or
  4937. -`--initial-tab' option.
  4938. -
  4939. -
  4940. -File: diff.info,  Node: Pagination,  Prev: Tabs,  Up: Adjusting Output
  4941. -
  4942. -Paginating `diff' Output
  4943. -========================
  4944. -
  4945. -   It can be convenient to have long output page-numbered and
  4946. -time-stamped.  The `-l' and `--paginate' options do this by sending the
  4947. -`diff' output through the `pr' program.  Here is what the page header
  4948. -might look like for `diff -lc lao tzu':
  4949. -
  4950. -     Mar 11 13:37 1991  diff -lc lao tzu Page 1
  4951. -
  4952. -
  4953. -File: diff.info,  Node: diff Performance,  Next: Comparing Three Files,  Prev: Adjusting Output,  Up: Top
  4954. -
  4955. -`diff' Performance Tradeoffs
  4956. -****************************
  4957. -
  4958. -   GNU `diff' runs quite efficiently; however, in some circumstances
  4959. -you can cause it to run faster or produce a more compact set of changes.
  4960. -There are two ways that you can affect the performance of GNU `diff' by
  4961. -changing the way it compares files.
  4962. -
  4963. -   Performance has more than one dimension.  These options improve one
  4964. -aspect of performance at the cost of another, or they improve
  4965. -performance in some cases while hurting it in others.
  4966. -
  4967. -   The way that GNU `diff' determines which lines have changed always
  4968. -comes up with a near-minimal set of differences.  Usually it is good
  4969. -enough for practical purposes.  If the `diff' output is large, you
  4970. -might want `diff' to use a modified algorithm that sometimes produces a
  4971. -smaller set of differences.  The `-d' or `--minimal' option does this;
  4972. -however, it can also cause `diff' to run more slowly than usual, so it
  4973. -is not the default behavior.
  4974. -
  4975. -   When the files you are comparing are large and have small groups of
  4976. -changes scattered throughout them, you can use the `-H' or
  4977. -`--speed-large-files' option to make a different modification to the
  4978. -algorithm that `diff' uses.  If the input files have a constant small
  4979. -density of changes, this option speeds up the comparisons without
  4980. -changing the output.  If not, `diff' might produce a larger set of
  4981. -differences; however, the output will still be correct.
  4982. -
  4983. -   Normally `diff' discards the prefix and suffix that is common to
  4984. -both files before it attempts to find a minimal set of differences.
  4985. -This makes `diff' run faster, but occasionally it may produce
  4986. -non-minimal output.  The `--horizon-lines=LINES' option prevents `diff'
  4987. -from discarding the last LINES lines of the prefix and the first LINES
  4988. -lines of the suffix.  This gives `diff' further opportunities to find a
  4989. -minimal output.
  4990. -
  4991. -
  4992. -File: diff.info,  Node: Comparing Three Files,  Next: diff3 Merging,  Prev: diff Performance,  Up: Top
  4993. -
  4994. -Comparing Three Files
  4995. -*********************
  4996. -
  4997. -   Use the program `diff3' to compare three files and show any
  4998. -differences among them.  (`diff3' can also merge files; see *Note diff3
  4999. -Merging::).
  5000. -
  5001. -   The "normal" `diff3' output format shows each hunk of differences
  5002. -without surrounding context.  Hunks are labeled depending on whether
  5003. -they are two-way or three-way, and lines are annotated by their
  5004. -location in the input files.
  5005. -
  5006. -   *Note Invoking diff3::, for more information on how to run `diff3'.
  5007. -
  5008. -* Menu:
  5009. -
  5010. -* Sample diff3 Input::        Sample `diff3' input for examples.
  5011. -* Detailed diff3 Normal::    A detailed description of normal output format.
  5012. -* diff3 Hunks::            The format of normal output format.
  5013. -* Example diff3 Normal::    Sample output in the normal format.
  5014. -
  5015. -
  5016. -File: diff.info,  Node: Sample diff3 Input,  Next: Detailed diff3 Normal,  Up: Comparing Three Files
  5017. -
  5018. -A Third Sample Input File
  5019. -=========================
  5020. -
  5021. -   Here is a third sample file that will be used in examples to
  5022. -illustrate the output of `diff3' and how various options can change it.
  5023. -The first two files are the same that we used for `diff' (*note Sample
  5024. -diff Input::.).  This is the third sample file, called `tao':
  5025. -
  5026. -     The Way that can be told of is not the eternal Way;
  5027. -     The name that can be named is not the eternal name.
  5028. -     The Nameless is the origin of Heaven and Earth;
  5029. -     The named is the mother of all things.
  5030. -     
  5031. -     Therefore let there always be non-being,
  5032. -       so we may see their subtlety,
  5033. -     And let there always be being,
  5034. -       so we may see their result.
  5035. -     The two are the same,
  5036. -     But after they are produced,
  5037. -       they have different names.
  5038. -     
  5039. -       -- The Way of Lao-Tzu, tr. Wing-tsit Chan
  5040. -
  5041. -
  5042. -File: diff.info,  Node: Detailed diff3 Normal,  Next: diff3 Hunks,  Prev: Sample diff3 Input,  Up: Comparing Three Files
  5043. -
  5044. -Detailed Description of `diff3' Normal Format
  5045. -=============================================
  5046. -
  5047. -   Each hunk begins with a line marked `===='.  Three-way hunks have
  5048. -plain `====' lines, and two-way hunks have `1', `2', or `3' appended to
  5049. -specify which of the three input files differ in that hunk.  The hunks
  5050. -contain copies of two or three sets of input lines each preceded by one
  5051. -or two commands identifying where the lines came from.
  5052. -
  5053. -   Normally, two spaces precede each copy of an input line to
  5054. -distinguish it from the commands.  But with the `-T' or `--initial-tab'
  5055. -option, `diff3' uses a tab instead of two spaces; this lines up tabs
  5056. -correctly.  *Note Tabs::, for more information.
  5057. -
  5058. -   Commands take the following forms:
  5059. -
  5060. -`FILE:La'
  5061. -     This hunk appears after line L of file FILE, and contains no lines
  5062. -     in that file.  To edit this file to yield the other files, one
  5063. -     must append hunk lines taken from the other files.  For example,
  5064. -     `1:11a' means that the hunk follows line 11 in the first file and
  5065. -     contains no lines from that file.
  5066. -
  5067. -`FILE:Rc'
  5068. -     This hunk contains the lines in the range R of file FILE.  The
  5069. -     range R is a comma-separated pair of line numbers, or just one
  5070. -     number if the range is a singleton.  To edit this file to yield the
  5071. -     other files, one must change the specified lines to be the lines
  5072. -     taken from the other files.  For example, `2:11,13c' means that
  5073. -     the hunk contains lines 11 through 13 from the second file.
  5074. -
  5075. -   If the last line in a set of input lines is incomplete (*note
  5076. -Incomplete Lines::.), it is distinguished on output from a full line by
  5077. -a following line that starts with `\'.
  5078. -
  5079. -
  5080. -File: diff.info,  Node: diff3 Hunks,  Next: Example diff3 Normal,  Prev: Detailed diff3 Normal,  Up: Comparing Three Files
  5081. -
  5082. -`diff3' Hunks
  5083. -=============
  5084. -
  5085. -   Groups of lines that differ in two or three of the input files are
  5086. -called "diff3 hunks", by analogy with `diff' hunks (*note Hunks::.).
  5087. -If all three input files differ in a `diff3' hunk, the hunk is called a
  5088. -"three-way hunk"; if just two input files differ, it is a "two-way
  5089. -hunk".
  5090. -
  5091. -   As with `diff', several solutions are possible.  When comparing the
  5092. -files `A', `B', and `C', `diff3' normally finds `diff3' hunks by
  5093. -merging the two-way hunks output by the two commands `diff A B' and
  5094. -`diff A C'.  This does not necessarily minimize the size of the output,
  5095. -but exceptions should be rare.
  5096. -
  5097. -   For example, suppose `F' contains the three lines `a', `b', `f', `G'
  5098. -contains the lines `g', `b', `g', and `H' contains the lines `a', `b',
  5099. -`h'.  `diff3 F G H' might output the following:
  5100. -
  5101. -     ====2
  5102. -     1:1c
  5103. -     3:1c
  5104. -       a
  5105. -     2:1c
  5106. -       g
  5107. -     ====
  5108. -     1:3c
  5109. -       f
  5110. -     2:3c
  5111. -       g
  5112. -     3:3c
  5113. -       h
  5114. -
  5115. -because it found a two-way hunk containing `a' in the first and third
  5116. -files and `g' in the second file, then the single line `b' common to
  5117. -all three files, then a three-way hunk containing the last line of each
  5118. -file.
  5119. -
  5120. -
  5121. -File: diff.info,  Node: Example diff3 Normal,  Prev: diff3 Hunks,  Up: Comparing Three Files
  5122. -
  5123. -An Example of `diff3' Normal Format
  5124. -===================================
  5125. -
  5126. -   Here is the output of the command `diff3 lao tzu tao' (*note Sample
  5127. -diff3 Input::., for the complete contents of the files).  Notice that
  5128. -it shows only the lines that are different among the three files.
  5129. -
  5130. -     ====2
  5131. -     1:1,2c
  5132. -     3:1,2c
  5133. -       The Way that can be told of is not the eternal Way;
  5134. -       The name that can be named is not the eternal name.
  5135. -     2:0a
  5136. -     ====1
  5137. -     1:4c
  5138. -       The Named is the mother of all things.
  5139. -     2:2,3c
  5140. -     3:4,5c
  5141. -       The named is the mother of all things.
  5142. -     
  5143. -     ====3
  5144. -     1:8c
  5145. -     2:7c
  5146. -         so we may see their outcome.
  5147. -     3:9c
  5148. -         so we may see their result.
  5149. -     ====
  5150. -     1:11a
  5151. -     2:11,13c
  5152. -       They both may be called deep and profound.
  5153. -       Deeper and more profound,
  5154. -       The door of all subtleties!
  5155. -     3:13,14c
  5156. -     
  5157. -         -- The Way of Lao-Tzu, tr. Wing-tsit Chan
  5158. -
  5159. -
  5160. -File: diff.info,  Node: diff3 Merging,  Next: Interactive Merging,  Prev: Comparing Three Files,  Up: Top
  5161. -
  5162. -Merging From a Common Ancestor
  5163. -******************************
  5164. -
  5165. -   When two people have made changes to copies of the same file,
  5166. -`diff3' can produce a merged output that contains both sets of changes
  5167. -together with warnings about conflicts.
  5168. -
  5169. -   One might imagine programs with names like `diff4' and `diff5' to
  5170. -compare more than three files simultaneously, but in practice the need
  5171. -rarely arises.  You can use `diff3' to merge three or more sets of
  5172. -changes to a file by merging two change sets at a time.
  5173. -
  5174. -   `diff3' can incorporate changes from two modified versions into a
  5175. -common preceding version.  This lets you merge the sets of changes
  5176. -represented by the two newer files.  Specify the common ancestor version
  5177. -as the second argument and the two newer versions as the first and third
  5178. -arguments, like this:
  5179. -
  5180. -     diff3 MINE OLDER YOURS
  5181. -
  5182. -You can remember the order of the arguments by noting that they are in
  5183. -alphabetical order.
  5184. -
  5185. -   You can think of this as subtracting OLDER from YOURS and adding the
  5186. -result to MINE, or as merging into MINE the changes that would turn
  5187. -OLDER into YOURS.  This merging is well-defined as long as MINE and
  5188. -OLDER match in the neighborhood of each such change.  This fails to be
  5189. -true when all three input files differ or when only OLDER differs; we
  5190. -call this a "conflict".  When all three input files differ, we call the
  5191. -conflict an "overlap".
  5192. -
  5193. -   `diff3' gives you several ways to handle overlaps and conflicts.
  5194. -You can omit overlaps or conflicts, or select only overlaps, or mark
  5195. -conflicts with special `<<<<<<<' and `>>>>>>>' lines.
  5196. -
  5197. -   `diff3' can output the merge results as an `ed' script that that can
  5198. -be applied to the first file to yield the merged output.  However, it
  5199. -is usually better to have `diff3' generate the merged output directly;
  5200. -this bypasses some problems with `ed'.
  5201. -
  5202. -* Menu:
  5203. -
  5204. -* Which Changes::        Selecting changes to incorporate.
  5205. -* Marking Conflicts::        Marking conflicts.
  5206. -* Bypassing ed::        Generating merged output directly.
  5207. -* Merging Incomplete Lines::    How `diff3' merges incomplete lines.
  5208. -* Saving the Changed File::    Emulating System V behavior.
  5209. -
  5210. -
  5211. -File: diff.info,  Node: Which Changes,  Next: Marking Conflicts,  Up: diff3 Merging
  5212. -
  5213. -Selecting Which Changes to Incorporate
  5214. -======================================
  5215. -
  5216. -   You can select all unmerged changes from OLDER to YOURS for merging
  5217. -into MINE with the `-e' or `--ed' option.  You can select only the
  5218. -nonoverlapping unmerged changes with `-3' or `--easy-only', and you can
  5219. -select only the overlapping changes with `-x' or `--overlap-only'.
  5220. -
  5221. -   The `-e', `-3' and `-x' options select only "unmerged changes", i.e.
  5222. -changes where MINE and YOURS differ; they ignore changes from OLDER to
  5223. -YOURS where MINE and YOURS are identical, because they assume that such
  5224. -changes have already been merged.  If this assumption is not a safe
  5225. -one, you can use the `-A' or `--show-all' option (*note Marking
  5226. -Conflicts::.).
  5227. -
  5228. -   Here is the output of the command `diff3' with each of these three
  5229. -options (*note Sample diff3 Input::., for the complete contents of the
  5230. -files).  Notice that `-e' outputs the union of the disjoint sets of
  5231. -changes output by `-3' and `-x'.
  5232. -
  5233. -   Output of `diff3 -e lao tzu tao':
  5234. -     11a
  5235. -     
  5236. -       -- The Way of Lao-Tzu, tr. Wing-tsit Chan
  5237. -     .
  5238. -     8c
  5239. -       so we may see their result.
  5240. -     .
  5241. -
  5242. -   Output of `diff3 -3 lao tzu tao':
  5243. -     8c
  5244. -       so we may see their result.
  5245. -     .
  5246. -
  5247. -   Output of `diff3 -x lao tzu tao':
  5248. -     11a
  5249. -     
  5250. -       -- The Way of Lao-Tzu, tr. Wing-tsit Chan
  5251. -     .
  5252. -
  5253. -
  5254. -File: diff.info,  Node: Marking Conflicts,  Next: Bypassing ed,  Prev: Which Changes,  Up: diff3 Merging
  5255. -
  5256. -Marking Conflicts
  5257. -=================
  5258. -
  5259. -   `diff3' can mark conflicts in the merged output by bracketing them
  5260. -with special marker lines.  A conflict that comes from two files A and
  5261. -B is marked as follows:
  5262. -
  5263. -     <<<<<<< A
  5264. -     lines from A
  5265. -     =======
  5266. -     lines from B
  5267. -     >>>>>>> B
  5268. -
  5269. -   A conflict that comes from three files A, B and C is marked as
  5270. -follows:
  5271. -
  5272. -     <<<<<<< A
  5273. -     lines from A
  5274. -     ||||||| B
  5275. -     lines from B
  5276. -     =======
  5277. -     lines from C
  5278. -     >>>>>>> C
  5279. -
  5280. -   The `-A' or `--show-all' option acts like the `-e' option, except
  5281. -that it brackets conflicts, and it outputs all changes from OLDER to
  5282. -YOURS, not just the unmerged changes.  Thus, given the sample input
  5283. -files (*note Sample diff3 Input::.), `diff3 -A lao tzu tao' puts
  5284. -brackets around the conflict where only `tzu' differs:
  5285. -
  5286. -     <<<<<<< tzu
  5287. -     =======
  5288. -     The Way that can be told of is not the eternal Way;
  5289. -     The name that can be named is not the eternal name.
  5290. -     >>>>>>> tao
  5291. -
  5292. -   And it outputs the three-way conflict as follows:
  5293. -
  5294. -     <<<<<<< lao
  5295. -     ||||||| tzu
  5296. -     They both may be called deep and profound.
  5297. -     Deeper and more profound,
  5298. -     The door of all subtleties!
  5299. -     =======
  5300. -     
  5301. -       -- The Way of Lao-Tzu, tr. Wing-tsit Chan
  5302. -     >>>>>>> tao
  5303. -
  5304. -   The `-E' or `--show-overlap' option outputs less information than
  5305. -the `-A' or `--show-all' option, because it outputs only unmerged
  5306. -changes, and it never outputs the contents of the second file.  Thus
  5307. -the `-E' option acts like the `-e' option, except that it brackets the
  5308. -first and third files from three-way overlapping changes.  Similarly,
  5309. -`-X' acts like `-x', except it brackets all its (necessarily
  5310. -overlapping) changes.  For example, for the three-way overlapping
  5311. -change above, the `-E' and `-X' options output the following:
  5312. -
  5313. -     <<<<<<< lao
  5314. -     =======
  5315. -     
  5316. -       -- The Way of Lao-Tzu, tr. Wing-tsit Chan
  5317. -     >>>>>>> tao
  5318. -
  5319. -   If you are comparing files that have meaningless or uninformative
  5320. -names, you can use the `-L LABEL' or `--label=LABEL' option to show
  5321. -alternate names in the `<<<<<<<', `|||||||' and `>>>>>>>' brackets.
  5322. -This option can be given up to three times, once for each input file.
  5323. -Thus `diff3 -A -L X -L Y -L Z A B C' acts like `diff3 -A A B C', except
  5324. -that the output looks like it came from files named `X', `Y' and `Z'
  5325. -rather than from files named `A', `B' and `C'.
  5326. -
  5327. -
  5328. -File: diff.info,  Node: Bypassing ed,  Next: Merging Incomplete Lines,  Prev: Marking Conflicts,  Up: diff3 Merging
  5329. -
  5330. -Generating the Merged Output Directly
  5331. -=====================================
  5332. -
  5333. -   With the `-m' or `--merge' option, `diff3' outputs the merged file
  5334. -directly.  This is more efficient than using `ed' to generate it, and
  5335. -works even with non-text files that `ed' would reject.  If you specify
  5336. -`-m' without an `ed' script option, `-A' (`--show-all') is assumed.
  5337. -
  5338. -   For example, the command `diff3 -m lao tzu tao' (*note Sample diff3
  5339. -Input::. for a copy of the input files) would output the following:
  5340. -
  5341. -     <<<<<<< tzu
  5342. -     =======
  5343. -     The Way that can be told of is not the eternal Way;
  5344. -     The name that can be named is not the eternal name.
  5345. -     >>>>>>> tao
  5346. -     The Nameless is the origin of Heaven and Earth;
  5347. -     The Named is the mother of all things.
  5348. -     Therefore let there always be non-being,
  5349. -       so we may see their subtlety,
  5350. -     And let there always be being,
  5351. -       so we may see their result.
  5352. -     The two are the same,
  5353. -     But after they are produced,
  5354. -       they have different names.
  5355. -     <<<<<<< lao
  5356. -     ||||||| tzu
  5357. -     They both may be called deep and profound.
  5358. -     Deeper and more profound,
  5359. -     The door of all subtleties!
  5360. -     =======
  5361. -     
  5362. -       -- The Way of Lao-Tzu, tr. Wing-tsit Chan
  5363. -     >>>>>>> tao
  5364. -
  5365. -
  5366. -File: diff.info,  Node: Merging Incomplete Lines,  Next: Saving the Changed File,  Prev: Bypassing ed,  Up: diff3 Merging
  5367. -
  5368. -How `diff3' Merges Incomplete Lines
  5369. -===================================
  5370. -
  5371. -   With `-m', incomplete lines (*note Incomplete Lines::.) are simply
  5372. -copied to the output as they are found; if the merged output ends in an
  5373. -conflict and one of the input files ends in an incomplete line,
  5374. -succeeding `|||||||', `=======' or `>>>>>>>' brackets appear somewhere
  5375. -other than the start of a line because they are appended to the
  5376. -incomplete line.
  5377. -
  5378. -   Without `-m', if an `ed' script option is specified and an
  5379. -incomplete line is found, `diff3' generates a warning and acts as if a
  5380. -newline had been present.
  5381. -
  5382. -
  5383. -File: diff.info,  Node: Saving the Changed File,  Prev: Merging Incomplete Lines,  Up: diff3 Merging
  5384. -
  5385. -Saving the Changed File
  5386. -=======================
  5387. -
  5388. -   Traditional Unix `diff3' generates an `ed' script without the
  5389. -trailing `w' and and `q' commands that save the changes.  System V
  5390. -`diff3' generates these extra commands.  GNU `diff3' normally behaves
  5391. -like traditional Unix `diff3', but with the `-i' option it behaves like
  5392. -System V `diff3' and appends the `w' and `q' commands.
  5393. -
  5394. -   The `-i' option requires one of the `ed' script options `-AeExX3',
  5395. -and is incompatible with the merged output option `-m'.
  5396. -
  5397. -
  5398. -File: diff.info,  Node: Interactive Merging,  Next: Merging with patch,  Prev: diff3 Merging,  Up: Top
  5399. -
  5400. -Interactive Merging with `sdiff'
  5401. -********************************
  5402. -
  5403. -   With `sdiff', you can merge two files interactively based on a
  5404. -side-by-side `-y' format comparison (*note Side by Side::.).  Use `-o
  5405. -FILE' or `--output=FILE' to specify where to put the merged text.
  5406. -*Note Invoking sdiff::, for more details on the options to `sdiff'.
  5407. -
  5408. -   Another way to merge files interactively is to use the Emacs Lisp
  5409. -package `emerge'.  *Note emerge: (emacs)emerge, for more information.
  5410. -
  5411. -* Menu:
  5412. -
  5413. -* sdiff Option Summary::Summary of `sdiff' options.
  5414. -* Merge Commands::    Merging two files interactively.
  5415. -
  5416. -
  5417. -File: diff.info,  Node: sdiff Option Summary,  Next: Merge Commands,  Up: Interactive Merging
  5418. -
  5419. -Specifying `diff' Options to `sdiff'
  5420. -====================================
  5421. -
  5422. -   The following `sdiff' options have the same meaning as for `diff'.
  5423. -*Note diff Options::, for the use of these options.
  5424. -
  5425. -     -a -b -d -i -t -v
  5426. -     -B -H -I REGEXP
  5427. -     
  5428. -     --ignore-blank-lines  --ignore-case
  5429. -     --ignore-matching-lines=REGEXP  --ignore-space-change
  5430. -     --left-column  --minimal  --speed-large-files
  5431. -     --suppress-common-lines  --expand-tabs
  5432. -     --text  --version  --width=COLUMNS
  5433. -
  5434. -   For historical reasons, `sdiff' has alternate names for some
  5435. -options.  The `-l' option is equivalent to the `--left-column' option,
  5436. -and similarly `-s' is equivalent to `--suppress-common-lines'.  The
  5437. -meaning of the `sdiff' `-w' and `-W' options is interchanged from that
  5438. -of `diff': with `sdiff', `-w COLUMNS' is equivalent to
  5439. -`--width=COLUMNS', and `-W' is equivalent to `--ignore-all-space'.
  5440. -`sdiff' without the `-o' option is equivalent to `diff' with the `-y'
  5441. -or `--side-by-side' option (*note Side by Side::.).
  5442. -
  5443. -
  5444. -File: diff.info,  Node: Merge Commands,  Prev: sdiff Option Summary,  Up: Interactive Merging
  5445. -
  5446. -Merge Commands
  5447. -==============
  5448. -
  5449. -   Groups of common lines, with a blank gutter, are copied from the
  5450. -first file to the output.  After each group of differing lines, `sdiff'
  5451. -prompts with `%' and pauses, waiting for one of the following commands.
  5452. -Follow each command with RET.
  5453. -
  5454. -`e'
  5455. -     Discard both versions.  Invoke a text editor on an empty temporary
  5456. -     file, then copy the resulting file to the output.
  5457. -
  5458. -`eb'
  5459. -     Concatenate the two versions, edit the result in a temporary file,
  5460. -     then copy the edited result to the output.
  5461. -
  5462. -`el'
  5463. -     Edit a copy of the left version, then copy the result to the
  5464. -     output.
  5465. -
  5466. -`er'
  5467. -     Edit a copy of the right version, then copy the result to the
  5468. -     output.
  5469. -
  5470. -`l'
  5471. -     Copy the left version to the output.
  5472. -
  5473. -`q'
  5474. -     Quit.
  5475. -
  5476. -`r'
  5477. -     Copy the right version to the output.
  5478. -
  5479. -`s'
  5480. -     Silently copy common lines.
  5481. -
  5482. -`v'
  5483. -     Verbosely copy common lines.  This is the default.
  5484. -
  5485. -   The text editor invoked is specified by the `EDITOR' environment
  5486. -variable if it is set.  The default is system-dependent.
  5487. -
  5488. -
  5489. -File: diff.info,  Node: Merging with patch,  Next: Making Patches,  Prev: Interactive Merging,  Up: Top
  5490. -
  5491. -Merging with `patch'
  5492. -********************
  5493. -
  5494. -   `patch' takes comparison output produced by `diff' and applies the
  5495. -differences to a copy of the original file, producing a patched
  5496. -version.  With `patch', you can distribute just the changes to a set of
  5497. -files instead of distributing the entire file set; your correspondents
  5498. -can apply `patch' to update their copy of the files with your changes.
  5499. -`patch' automatically determines the diff format, skips any leading or
  5500. -trailing headers, and uses the headers to determine which file to
  5501. -patch.  This lets your correspondents feed an article or message
  5502. -containing a difference listing directly to `patch'.
  5503. -
  5504. -   `patch' detects and warns about common problems like forward
  5505. -patches.  It saves the original version of the files it patches, and
  5506. -saves any patches that it could not apply.  It can also maintain a
  5507. -`patchlevel.h' file to ensures that your correspondents apply diffs in
  5508. -the proper order.
  5509. -
  5510. -   `patch' accepts a series of diffs in its standard input, usually
  5511. -separated by headers that specify which file to patch.  It applies
  5512. -`diff' hunks (*note Hunks::.) one by one.  If a hunk does not exactly
  5513. -match the original file, `patch' uses heuristics to try to patch the
  5514. -file as well as it can.  If no approximate match can be found, `patch'
  5515. -rejects the hunk and skips to the next hunk.  `patch' normally replaces
  5516. -each file F with its new version, saving the original file in `F.orig',
  5517. -and putting reject hunks (if any) into `F.rej'.
  5518. -
  5519. -   *Note Invoking patch::, for detailed information on the options to
  5520. -`patch'.  *Note Backups::, for more information on how `patch' names
  5521. -backup files.  *Note Rejects::, for more information on where `patch'
  5522. -puts reject hunks.
  5523. -
  5524. -* Menu:
  5525. -
  5526. -* patch Input::        Selecting the type of `patch' input.
  5527. -* Imperfect::        Dealing with imperfect patches.
  5528. -* Empty Files::        Removing empty files after patching.
  5529. -* Multiple Patches::    Handling multiple patches in a file specially.
  5530. -* patch Messages::    Messages and questions `patch' can produce.
  5531. -
  5532. -
  5533. -File: diff.info,  Node: patch Input,  Next: Imperfect,  Up: Merging with patch
  5534. -
  5535. -Selecting the `patch' Input Format
  5536. -==================================
  5537. -
  5538. -   `patch' normally determines which `diff' format the patch file uses
  5539. -by examining its contents.  For patch files that contain particularly
  5540. -confusing leading text, you might need to use one of the following
  5541. -options to force `patch' to interpret the patch file as a certain
  5542. -format of diff.  The output formats listed here are the only ones that
  5543. -`patch' can understand.
  5544. -
  5545. -`-c'
  5546. -`--context'
  5547. -     context diff.
  5548. -
  5549. -`-e'
  5550. -`--ed'
  5551. -     `ed' script.
  5552. -
  5553. -`-n'
  5554. -`--normal'
  5555. -     normal diff.
  5556. -
  5557. -`-u'
  5558. -`--unified'
  5559. -     unified diff.
  5560. -
  5561. -
  5562. -File: diff.info,  Node: Imperfect,  Next: Empty Files,  Prev: patch Input,  Up: Merging with patch
  5563. -
  5564. -Applying Imperfect Patches
  5565. -==========================
  5566. -
  5567. -   `patch' tries to skip any leading text in the patch file, apply the
  5568. -diff, and then skip any trailing text.  Thus you can feed a news article
  5569. -or mail message directly to `patch', and it should work.  If the entire
  5570. -diff is indented by a constant amount of white space, `patch'
  5571. -automatically ignores the indentation.
  5572. -
  5573. -   However, certain other types of imperfect input require user
  5574. -intervention.
  5575. -
  5576. -* Menu:
  5577. -
  5578. -* Changed White Space::    When tabs and spaces don't match exactly.
  5579. -* Reversed Patches::    Applying reversed patches correctly.
  5580. -* Inexact::        Helping `patch' find close matches.
  5581. -
  5582. -
  5583. -File: diff.info,  Node: Changed White Space,  Next: Reversed Patches,  Up: Imperfect
  5584. -
  5585. -Applying Patches with Changed White Space
  5586. ------------------------------------------
  5587. -
  5588. -   Sometimes mailers, editors, or other programs change spaces into
  5589. -tabs, or vice versa.  If this happens to a patch file or an input file,
  5590. -the files might look the same, but `patch' will not be able to match
  5591. -them properly.  If this problem occurs, use the `-l' or
  5592. -`--ignore-white-space' option, which makes `patch' compare white space
  5593. -loosely so that any sequence of white space in the patch file matches
  5594. -any sequence of white space in the input files.  Non-white-space
  5595. -characters must still match exactly.  Each line of the context must
  5596. -still match a line in the input file.
  5597. -
  5598. -
  5599. -File: diff.info,  Node: Reversed Patches,  Next: Inexact,  Prev: Changed White Space,  Up: Imperfect
  5600. -
  5601. -Applying Reversed Patches
  5602. --------------------------
  5603. -
  5604. -   Sometimes people run `diff' with the new file first instead of
  5605. -second.  This creates a diff that is "reversed".  To apply such
  5606. -patches, give `patch' the `-R' or `--reverse' option.  `patch' then
  5607. -attempts to swap each hunk around before applying it.  Rejects come out
  5608. -in the swapped format.  The `-R' option does not work with `ed' scripts
  5609. -because there is too little information in them to reconstruct the
  5610. -reverse operation.
  5611. -
  5612. -   Often `patch' can guess that the patch is reversed.  If the first
  5613. -hunk of a patch fails, `patch' reverses the hunk to see if it can apply
  5614. -it that way.  If it can, `patch' asks you if you want to have the `-R'
  5615. -option set; if it can't, `patch' continues to apply the patch normally.
  5616. -This method cannot detect a reversed patch if it is a normal diff and
  5617. -the first command is an append (which should have been a delete) since
  5618. -appends always succeed, because a null context matches anywhere.  But
  5619. -most patches add or change lines rather than delete them, so most
  5620. -reversed normal diffs begin with a delete, which fails, and `patch'
  5621. -notices.
  5622. -
  5623. -   If you apply a patch that you have already applied, `patch' thinks
  5624. -it is a reversed patch and offers to un-apply the patch.  This could be
  5625. -construed as a feature.  If you did this inadvertently and you don't
  5626. -want to un-apply the patch, just answer `n' to this offer and to the
  5627. -subsequent "apply anyway" question--or type `C-c' to kill the `patch'
  5628. -process.
  5629. -
  5630. -
  5631. -File: diff.info,  Node: Inexact,  Prev: Reversed Patches,  Up: Imperfect
  5632. -
  5633. -Helping `patch' Find Inexact Matches
  5634. -------------------------------------
  5635. -
  5636. -   For context diffs, and to a lesser extent normal diffs, `patch' can
  5637. -detect when the line numbers mentioned in the patch are incorrect, and
  5638. -it attempts to find the correct place to apply each hunk of the patch.
  5639. -As a first guess, it takes the line number mentioned in the hunk, plus
  5640. -or minus any offset used in applying the previous hunk.  If that is not
  5641. -the correct place, `patch' scans both forward and backward for a set of
  5642. -lines matching the context given in the hunk.
  5643. -
  5644. -   First `patch' looks for a place where all lines of the context
  5645. -match.  If it cannot find such a place, and it is reading a context or
  5646. -unified diff, and the maximum fuzz factor is set to 1 or more, then
  5647. -`patch' makes another scan, ignoring the first and last line of
  5648. -context.  If that fails, and the maximum fuzz factor is set to 2 or
  5649. -more, it makes another scan, ignoring the first two and last two lines
  5650. -of context are ignored.  It continues similarly if the maximum fuzz
  5651. -factor is larger.
  5652. -
  5653. -   The `-F LINES' or `--fuzz=LINES' option sets the maximum fuzz factor
  5654. -to LINES.  This option only applies to context and unified diffs; it
  5655. -ignores up to LINES lines while looking for the place to install a
  5656. -hunk.  Note that a larger fuzz factor increases the odds of making a
  5657. -faulty patch.  The default fuzz factor is 2; it may not be set to more
  5658. -than the number of lines of context in the diff, ordinarily 3.
  5659. -
  5660. -   If `patch' cannot find a place to install a hunk of the patch, it
  5661. -writes the hunk out to a reject file (*note Rejects::., for information
  5662. -on how reject files are named).  It writes out rejected hunks in context
  5663. -format no matter what form the input patch is in.  If the input is a
  5664. -normal or `ed' diff, many of the contexts are simply null.  The line
  5665. -numbers on the hunks in the reject file may be different from those in
  5666. -the patch file: they show the approximate location where `patch' thinks
  5667. -the failed hunks belong in the new file rather than in the old one.
  5668. -
  5669. -   As it completes each hunk, `patch' tells you whether the hunk
  5670. -succeeded or failed, and if it failed, on which line (in the new file)
  5671. -`patch' thinks the hunk should go.  If this is different from the line
  5672. -number specified in the diff, it tells you the offset.  A single large
  5673. -offset *may* indicate that `patch' installed a hunk in the wrong place.
  5674. -`patch' also tells you if it used a fuzz factor to make the match, in
  5675. -which case you should also be slightly suspicious.
  5676. -
  5677. -   `patch' cannot tell if the line numbers are off in an `ed' script,
  5678. -and can only detect wrong line numbers in a normal diff when it finds a
  5679. -change or delete command.  It may have the same problem with a context
  5680. -diff using a fuzz factor equal to or greater than the number of lines
  5681. -of context shown in the diff (typically 3).  In these cases, you should
  5682. -probably look at a context diff between your original and patched input
  5683. -files to see if the changes make sense.  Compiling without errors is a
  5684. -pretty good indication that the patch worked, but not a guarantee.
  5685. -
  5686. -   `patch' usually produces the correct results, even when it must make
  5687. -many guesses.  However, the results are guaranteed only when the patch
  5688. -is applied to an exact copy of the file that the patch was generated
  5689. -from.
  5690. -
  5691. -
  5692. -File: diff.info,  Node: Empty Files,  Next: Multiple Patches,  Prev: Imperfect,  Up: Merging with patch
  5693. -
  5694. -Removing Empty Files
  5695. -====================
  5696. -
  5697. -   Sometimes when comparing two directories, the first directory
  5698. -contains a file that the second directory does not.  If you give `diff'
  5699. -the `-N' or `--new-file' option, it outputs a diff that deletes the
  5700. -contents of this file.  By default, `patch' leaves an empty file after
  5701. -applying such a diff.  The `-E' or `--remove-empty-files' option to
  5702. -`patch' deletes output files that are empty after applying the diff.
  5703. -
  5704. -
  5705. -File: diff.info,  Node: Multiple Patches,  Next: patch Messages,  Prev: Empty Files,  Up: Merging with patch
  5706. -
  5707. -Multiple Patches in a File
  5708. -==========================
  5709. -
  5710. -   If the patch file contains more than one patch, `patch' tries to
  5711. -apply each of them as if they came from separate patch files.  This
  5712. -means that it determines the name of the file to patch for each patch,
  5713. -and that it examines the leading text before each patch for file names
  5714. -and prerequisite revision level (*note Making Patches::., for more on
  5715. -that topic).
  5716. -
  5717. -   For the second and subsequent patches in the patch file, you can give
  5718. -options and another original file name by separating their argument
  5719. -lists with a `+'.  However, the argument list for a second or
  5720. -subsequent patch may not specify a new patch file, since that does not
  5721. -make sense.
  5722. -
  5723. -   For example, to tell `patch' to strip the first three slashes from
  5724. -the name of the first patch in the patch file and none from subsequent
  5725. -patches, and to use `code.c' as the first input file, you can use:
  5726. -
  5727. -     patch -p3 code.c + -p0 < patchfile
  5728. -
  5729. -   The `-S' or `--skip' option ignores the current patch from the patch
  5730. -file, but continue looking for the next patch in the file.  Thus, to
  5731. -ignore the first and third patches in the patch file, you can use:
  5732. -
  5733. -     patch -S + + -S + < patch file
  5734. -
  5735. -
  5736. -File: diff.info,  Node: patch Messages,  Prev: Multiple Patches,  Up: Merging with patch
  5737. -
  5738. -Messages and Questions from `patch'
  5739. -===================================
  5740. -
  5741. -   `patch' can produce a variety of messages, especially if it has
  5742. -trouble decoding its input.  In a few situations where it's not sure how
  5743. -to proceed, `patch' normally prompts you for more information from the
  5744. -keyboard.  There are options to suppress printing non-fatal messages
  5745. -and stopping for keyboard input.
  5746. -
  5747. -   The message `Hmm...' indicates that `patch' is reading text in the
  5748. -patch file, attempting to determine whether there is a patch in that
  5749. -text, and if so, what kind of patch it is.
  5750. -
  5751. -   You can inhibit all terminal output from `patch', unless an error
  5752. -occurs, by using the `-s', `--quiet', or `--silent' option.
  5753. -
  5754. -   There are two ways you can prevent `patch' from asking you any
  5755. -questions.  The `-f' or `--force' option assumes that you know what you
  5756. -are doing.  It assumes the following:
  5757. -
  5758. -   * skip patches that do not contain file names in their headers;
  5759. -
  5760. -   * patch files even though they have the wrong version for the
  5761. -     `Prereq:' line in the patch;
  5762. -
  5763. -   * assume that patches are not reversed even if they look like they
  5764. -     are.
  5765. -
  5766. -   The `-t' or `--batch' option is similar to `-f', in that it
  5767. -suppresses questions, but it makes somewhat different assumptions:
  5768. -
  5769. -   * skip patches that do not contain file names in their headers (the
  5770. -     same as `-f');
  5771. -
  5772. -   * skip patches for which the file has the wrong version for the
  5773. -     `Prereq:' line in the patch;
  5774. -
  5775. -   * assume that patches are reversed if they look like they are.
  5776. -
  5777. -   `patch' exits with a non-zero status if it creates any reject files.
  5778. -When applying a set of patches in a loop, you should check the exit
  5779. -status, so you don't apply a later patch to a partially patched file.
  5780. -
  5781. diff -rup --new-file baseline/fsf/diffutils/diff.info-3 amiga/fsf/diffutils/diff.info-3
  5782. --- baseline/fsf/diffutils/diff.info-3    Sat Oct  1 10:57:36 1994
  5783. +++ amiga/fsf/diffutils/diff.info-3    Wed Dec 31 17:00:00 1969
  5784. @@ -1,1327 +0,0 @@
  5785. -This is Info file diff.info, produced by Makeinfo-1.55 from the input
  5786. -file ./diff.texi.
  5787. -
  5788. -   This file documents the the GNU `diff', `diff3', `sdiff', and `cmp'
  5789. -commands for showing the differences between text files and the `patch'
  5790. -command for using their output to update files.
  5791. -
  5792. -   Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
  5793. -
  5794. -   Permission is granted to make and distribute verbatim copies of this
  5795. -manual provided the copyright notice and this permission notice are
  5796. -preserved on all copies.
  5797. -
  5798. -   Permission is granted to copy and distribute modified versions of
  5799. -this manual under the conditions for verbatim copying, provided that
  5800. -the entire resulting derived work is distributed under the terms of a
  5801. -permission notice identical to this one.
  5802. -
  5803. -   Permission is granted to copy and distribute translations of this
  5804. -manual into another language, under the above conditions for modified
  5805. -versions, except that this permission notice may be stated in a
  5806. -translation approved by the Foundation.
  5807. -
  5808. -
  5809. -File: diff.info,  Node: Making Patches,  Next: Invoking cmp,  Prev: Merging with patch,  Up: Top
  5810. -
  5811. -Tips for Making Patch Distributions
  5812. -***********************************
  5813. -
  5814. -   Here are some things you should keep in mind if you are going to
  5815. -distribute patches for updating a software package.
  5816. -
  5817. -   Make sure you have specified the file names correctly, either in a
  5818. -context diff header or with an `Index:' line.  If you are patching
  5819. -files in a subdirectory, be sure to tell the patch user to specify a
  5820. -`-p' or `--strip' option as needed.  Take care to not send out reversed
  5821. -patches, since these make people wonder whether they have already
  5822. -applied the patch.
  5823. -
  5824. -   To save people from partially applying a patch before other patches
  5825. -that should have gone before it, you can make the first patch in the
  5826. -patch file update a file with a name like `patchlevel.h' or
  5827. -`version.c', which contains a patch level or version number.  If the
  5828. -input file contains the wrong version number, `patch' will complain
  5829. -immediately.
  5830. -
  5831. -   An even clearer way to prevent this problem is to put a `Prereq:'
  5832. -line before the patch.  If the leading text in the patch file contains a
  5833. -line that starts with `Prereq:', `patch' takes the next word from that
  5834. -line (normally a version number) and checks whether the next input file
  5835. -contains that word, preceded and followed by either white space or a
  5836. -newline.  If not, `patch' prompts you for confirmation before
  5837. -proceeding.  This makes it difficult to accidentally apply patches in
  5838. -the wrong order.
  5839. -
  5840. -   Since `patch' does not handle incomplete lines properly, make sure
  5841. -that all the source files in your program end with a newline whenever
  5842. -you release a version.
  5843. -
  5844. -   To create a patch that changes an older version of a package into a
  5845. -newer version, first make a copy of the older version in a scratch
  5846. -directory.  Typically you do that by unpacking a `tar' or `shar'
  5847. -archive of the older version.
  5848. -
  5849. -   You might be able to reduce the size of the patch by renaming or
  5850. -removing some files before making the patch.  If the older version of
  5851. -the package contains any files that the newer version does not, or if
  5852. -any files have been renamed between the two versions, make a list of
  5853. -`rm' and `mv' commands for the user to execute in the old version
  5854. -directory before applying the patch.  Then run those commands yourself
  5855. -in the scratch directory.
  5856. -
  5857. -   If there are any files that you don't need to include in the patch
  5858. -because they can easily be rebuilt from other files (for example,
  5859. -`TAGS' and output from `yacc' and `makeinfo'), replace the versions in
  5860. -the scratch directory with the newer versions, using `rm' and `ln' or
  5861. -`cp'.
  5862. -
  5863. -   Now you can create the patch.  The de-facto standard `diff' format
  5864. -for patch distributions is context format with two lines of context,
  5865. -produced by giving `diff' the `-C 2' option.  Do not use less than two
  5866. -lines of context, because `patch' typically needs at least two lines
  5867. -for proper operation.  Give `diff' the `-P' option in case the newer
  5868. -version of the package contains any files that the older one does not.
  5869. -Make sure to specify the scratch directory first and the newer
  5870. -directory second.
  5871. -
  5872. -   Add to the top of the patch a note telling the user any `rm' and
  5873. -`mv' commands to run before applying the patch.  Then you can remove
  5874. -the scratch directory.
  5875. -
  5876. -
  5877. -File: diff.info,  Node: Invoking cmp,  Next: Invoking diff,  Prev: Making Patches,  Up: Top
  5878. -
  5879. -Invoking `cmp'
  5880. -**************
  5881. -
  5882. -   The `cmp' command compares two files, and if they differ, tells the
  5883. -first byte and line number where they differ.  Its arguments are as
  5884. -follows:
  5885. -
  5886. -     cmp OPTIONS... FROM-FILE [TO-FILE]
  5887. -
  5888. -   The file name `-' is always the standard input.  `cmp' also uses the
  5889. -standard input if one file name is omitted.
  5890. -
  5891. -   An exit status of 0 means no differences were found, 1 means some
  5892. -differences were found, and 2 means trouble.
  5893. -
  5894. -* Menu:
  5895. -
  5896. -* cmp Options::        Summary of options to `cmp'.
  5897. -
  5898. -
  5899. -File: diff.info,  Node: cmp Options,  Up: Invoking cmp
  5900. -
  5901. -Options to `cmp'
  5902. -================
  5903. -
  5904. -   Below is a summary of all of the options that GNU `cmp' accepts.
  5905. -Most options have two equivalent names, one of which is a single letter
  5906. -preceded by `-', and the other of which is a long name preceded by
  5907. -`--'.  Multiple single letter options (unless they take an argument)
  5908. -can be combined into a single command line word: `-cl' is equivalent to
  5909. -`-c -l'.
  5910. -
  5911. -`-c'
  5912. -     Print the differing characters.  Display control characters as a
  5913. -     `^' followed by a letter of the alphabet and precede characters
  5914. -     that have the high bit set with `M-' (which stands for "meta").
  5915. -
  5916. -`--ignore-initial=BYTES'
  5917. -     Ignore any differences in the the first BYTES bytes of the input
  5918. -     files.  Treat files with fewer than BYTES bytes as if they are
  5919. -     empty.
  5920. -
  5921. -`-l'
  5922. -     Print the (decimal) offsets and (octal) values of all differing
  5923. -     bytes.
  5924. -
  5925. -`--print-chars'
  5926. -     Print the differing characters.  Display control characters as a
  5927. -     `^' followed by a letter of the alphabet and precede characters
  5928. -     that have the high bit set with `M-' (which stands for "meta").
  5929. -
  5930. -`--quiet'
  5931. -`-s'
  5932. -`--silent'
  5933. -     Do not print anything; only return an exit status indicating
  5934. -     whether the files differ.
  5935. -
  5936. -`--verbose'
  5937. -     Print the (decimal) offsets and (octal) values of all differing
  5938. -     bytes.
  5939. -
  5940. -`-v'
  5941. -`--version'
  5942. -     Output the version number of `cmp'.
  5943. -
  5944. -
  5945. -File: diff.info,  Node: Invoking diff,  Next: Invoking diff3,  Prev: Invoking cmp,  Up: Top
  5946. -
  5947. -Invoking `diff'
  5948. -***************
  5949. -
  5950. -   The format for running the `diff' command is:
  5951. -
  5952. -     diff OPTIONS... FROM-FILE TO-FILE
  5953. -
  5954. -   In the simplest case, `diff' compares the contents of the two files
  5955. -FROM-FILE and TO-FILE.  A file name of `-' stands for text read from
  5956. -the standard input.  As a special case, `diff - -' compares a copy of
  5957. -standard input to itself.
  5958. -
  5959. -   If FROM-FILE is a directory and TO-FILE is not, `diff' compares the
  5960. -file in FROM-FILE whose file name is that of TO-FILE, and vice versa.
  5961. -The non-directory file must not be `-'.
  5962. -
  5963. -   If both FROM-FILE and TO-FILE are directories, `diff' compares
  5964. -corresponding files in both directories, in alphabetical order; this
  5965. -comparison is not recursive unless the `-r' or `--recursive' option is
  5966. -given.  `diff' never compares the actual contents of a directory as if
  5967. -it were a file.  The file that is fully specified may not be standard
  5968. -input, because standard input is nameless and the notion of "file with
  5969. -the same name" does not apply.
  5970. -
  5971. -   `diff' options begin with `-', so normally FROM-FILE and TO-FILE may
  5972. -not begin with `-'.  However, `--' as an argument by itself treats the
  5973. -remaining arguments as file names even if they begin with `-'.
  5974. -
  5975. -   An exit status of 0 means no differences were found, 1 means some
  5976. -differences were found, and 2 means trouble.
  5977. -
  5978. -* Menu:
  5979. -
  5980. -* diff Options::    Summary of options to `diff'.
  5981. -
  5982. -
  5983. -File: diff.info,  Node: diff Options,  Up: Invoking diff
  5984. -
  5985. -Options to `diff'
  5986. -=================
  5987. -
  5988. -   Below is a summary of all of the options that GNU `diff' accepts.
  5989. -Most options have two equivalent names, one of which is a single letter
  5990. -preceded by `-', and the other of which is a long name preceded by
  5991. -`--'.  Multiple single letter options (unless they take an argument)
  5992. -can be combined into a single command line word: `-ac' is equivalent to
  5993. -`-a -c'.  Long named options can be abbreviated to any unique prefix of
  5994. -their name.  Brackets ([ and ]) indicate that an option takes an
  5995. -optional argument.
  5996. -
  5997. -`-LINES'
  5998. -     Show LINES (an integer) lines of context.  This option does not
  5999. -     specify an output format by itself; it has no effect unless it is
  6000. -     combined with `-c' (*note Context Format::.) or `-u' (*note
  6001. -     Unified Format::.).  This option is obsolete.  For proper
  6002. -     operation, `patch' typically needs at least two lines of context.
  6003. -
  6004. -`-a'
  6005. -     Treat all files as text and compare them line-by-line, even if they
  6006. -     do not seem to be text.  *Note Binary::.
  6007. -
  6008. -`-b'
  6009. -     Ignore changes in amount of white space.  *Note White Space::.
  6010. -
  6011. -`-B'
  6012. -     Ignore changes that just insert or delete blank lines.  *Note
  6013. -     Blank Lines::.
  6014. -
  6015. -`--binary'
  6016. -     Read and write data in binary mode.  *Note Binary::.
  6017. -
  6018. -`--brief'
  6019. -     Report only whether the files differ, not the details of the
  6020. -     differences.  *Note Brief::.
  6021. -
  6022. -`-c'
  6023. -     Use the context output format.  *Note Context Format::.
  6024. -
  6025. -`-C LINES'
  6026. -`--context[=LINES]'
  6027. -     Use the context output format, showing LINES (an integer) lines of
  6028. -     context, or three if LINES is not given.  *Note Context Format::.
  6029. -     For proper operation, `patch' typically needs at least two lines of
  6030. -     context.
  6031. -
  6032. -`--changed-group-format=FORMAT'
  6033. -     Use FORMAT to output a line group containing differing lines from
  6034. -     both files in if-then-else format.  *Note Line Group Formats::.
  6035. -
  6036. -`-d'
  6037. -     Change the algorithm perhaps find a smaller set of changes.  This
  6038. -     makes `diff' slower (sometimes much slower).  *Note diff
  6039. -     Performance::.
  6040. -
  6041. -`-D NAME'
  6042. -     Make merged `#ifdef' format output, conditional on the preprocessor
  6043. -     macro NAME.  *Note If-then-else::.
  6044. -
  6045. -`-e'
  6046. -`--ed'
  6047. -     Make output that is a valid `ed' script.  *Note ed Scripts::.
  6048. -
  6049. -`--exclude=PATTERN'
  6050. -     When comparing directories, ignore files and subdirectories whose
  6051. -     basenames match PATTERN.  *Note Comparing Directories::.
  6052. -
  6053. -`--exclude-from=FILE'
  6054. -     When comparing directories, ignore files and subdirectories whose
  6055. -     basenames match any pattern contained in FILE.  *Note Comparing
  6056. -     Directories::.
  6057. -
  6058. -`--expand-tabs'
  6059. -     Expand tabs to spaces in the output, to preserve the alignment of
  6060. -     tabs in the input files.  *Note Tabs::.
  6061. -
  6062. -`-f'
  6063. -     Make output that looks vaguely like an `ed' script but has changes
  6064. -     in the order they appear in the file.  *Note Forward ed::.
  6065. -
  6066. -`-F REGEXP'
  6067. -     In context and unified format, for each hunk of differences, show
  6068. -     some of the last preceding line that matches REGEXP.  *Note
  6069. -     Specified Headings::.
  6070. -
  6071. -`--forward-ed'
  6072. -     Make output that looks vaguely like an `ed' script but has changes
  6073. -     in the order they appear in the file.  *Note Forward ed::.
  6074. -
  6075. -`-h'
  6076. -     This option currently has no effect; it is present for Unix
  6077. -     compatibility.
  6078. -
  6079. -`-H'
  6080. -     Use heuristics to speed handling of large files that have numerous
  6081. -     scattered small changes.  *Note diff Performance::.
  6082. -
  6083. -`--horizon-lines=LINES'
  6084. -     Do not discard the last LINES lines of the common prefix and the
  6085. -     first LINES lines of the common suffix.  *Note diff Performance::.
  6086. -
  6087. -`-i'
  6088. -     Ignore changes in case; consider upper- and lower-case letters
  6089. -     equivalent.  *Note Case Folding::.
  6090. -
  6091. -`-I REGEXP'
  6092. -     Ignore changes that just insert or delete lines that match REGEXP.
  6093. -     *Note Specified Folding::.
  6094. -
  6095. -`--ifdef=NAME'
  6096. -     Make merged if-then-else output using NAME.  *Note If-then-else::.
  6097. -
  6098. -`--ignore-all-space'
  6099. -     Ignore white space when comparing lines.  *Note White Space::.
  6100. -
  6101. -`--ignore-blank-lines'
  6102. -     Ignore changes that just insert or delete blank lines.  *Note
  6103. -     Blank Lines::.
  6104. -
  6105. -`--ignore-case'
  6106. -     Ignore changes in case; consider upper- and lower-case to be the
  6107. -     same.  *Note Case Folding::.
  6108. -
  6109. -`--ignore-matching-lines=REGEXP'
  6110. -     Ignore changes that just insert or delete lines that match REGEXP.
  6111. -     *Note Specified Folding::.
  6112. -
  6113. -`--ignore-space-change'
  6114. -     Ignore changes in amount of white space.  *Note White Space::.
  6115. -
  6116. -`--initial-tab'
  6117. -     Output a tab rather than a space before the text of a line in
  6118. -     normal or context format.  This causes the alignment of tabs in
  6119. -     the line to look normal.  *Note Tabs::.
  6120. -
  6121. -`-l'
  6122. -     Pass the output through `pr' to paginate it.  *Note Pagination::.
  6123. -
  6124. -`-L LABEL'
  6125. -     Use LABEL instead of the file name in the context format (*note
  6126. -     Context Format::.) and unified format (*note Unified Format::.)
  6127. -     headers.  *Note RCS::.
  6128. -
  6129. -`--label=LABEL'
  6130. -     Use LABEL instead of the file name in the context format (*note
  6131. -     Context Format::.) and unified format (*note Unified Format::.)
  6132. -     headers.
  6133. -
  6134. -`--left-column'
  6135. -     Print only the left column of two common lines in side by side
  6136. -     format.  *Note Side by Side Format::.
  6137. -
  6138. -`--line-format=FORMAT'
  6139. -     Use FORMAT to output all input lines in if-then-else format.
  6140. -     *Note Line Formats::.
  6141. -
  6142. -`--minimal'
  6143. -     Change the algorithm to perhaps find a smaller set of changes.
  6144. -     This makes `diff' slower (sometimes much slower).  *Note diff
  6145. -     Performance::.
  6146. -
  6147. -`-n'
  6148. -     Output RCS-format diffs; like `-f' except that each command
  6149. -     specifies the number of lines affected.  *Note RCS::.
  6150. -
  6151. -`-N'
  6152. -`--new-file'
  6153. -     In directory comparison, if a file is found in only one directory,
  6154. -     treat it as present but empty in the other directory.  *Note
  6155. -     Comparing Directories::.
  6156. -
  6157. -`--new-group-format=FORMAT'
  6158. -     Use FORMAT to output a group of lines taken from just the second
  6159. -     file in if-then-else format.  *Note Line Group Formats::.
  6160. -
  6161. -`--new-line-format=FORMAT'
  6162. -     Use FORMAT to output a line taken from just the second file in
  6163. -     if-then-else format.  *Note Line Formats::.
  6164. -
  6165. -`--old-group-format=FORMAT'
  6166. -     Use FORMAT to output a group of lines taken from just the first
  6167. -     file in if-then-else format.  *Note Line Group Formats::.
  6168. -
  6169. -`--old-line-format=FORMAT'
  6170. -     Use FORMAT to output a line taken from just the first file in
  6171. -     if-then-else format.  *Note Line Formats::.
  6172. -
  6173. -`-p'
  6174. -     Show which C function each change is in.  *Note C Function
  6175. -     Headings::.
  6176. -
  6177. -`-P'
  6178. -     When comparing directories, if a file appears only in the second
  6179. -     directory of the two, treat it as present but empty in the other.
  6180. -     *Note Comparing Directories::.
  6181. -
  6182. -`--paginate'
  6183. -     Pass the output through `pr' to paginate it.  *Note Pagination::.
  6184. -
  6185. -`-q'
  6186. -     Report only whether the files differ, not the details of the
  6187. -     differences.  *Note Brief::.
  6188. -
  6189. -`-r'
  6190. -     When comparing directories, recursively compare any subdirectories
  6191. -     found.  *Note Comparing Directories::.
  6192. -
  6193. -`--rcs'
  6194. -     Output RCS-format diffs; like `-f' except that each command
  6195. -     specifies the number of lines affected.  *Note RCS::.
  6196. -
  6197. -`--recursive'
  6198. -     When comparing directories, recursively compare any subdirectories
  6199. -     found.  *Note Comparing Directories::.
  6200. -
  6201. -`--report-identical-files'
  6202. -     Report when two files are the same.  *Note Comparing Directories::.
  6203. -
  6204. -`-s'
  6205. -     Report when two files are the same.  *Note Comparing Directories::.
  6206. -
  6207. -`-S FILE'
  6208. -     When comparing directories, start with the file FILE.  This is
  6209. -     used for resuming an aborted comparison.  *Note Comparing
  6210. -     Directories::.
  6211. -
  6212. -`--sdiff-merge-assist'
  6213. -     Print extra information to help `sdiff'.  `sdiff' uses this option
  6214. -     when it runs `diff'.  This option is not intended for users to use
  6215. -     directly.
  6216. -
  6217. -`--show-c-function'
  6218. -     Show which C function each change is in.  *Note C Function
  6219. -     Headings::.
  6220. -
  6221. -`--show-function-line=REGEXP'
  6222. -     In context and unified format, for each hunk of differences, show
  6223. -     some of the last preceding line that matches REGEXP.  *Note
  6224. -     Specified Headings::.
  6225. -
  6226. -`--side-by-side'
  6227. -     Use the side by side output format.  *Note Side by Side Format::.
  6228. -
  6229. -`--speed-large-files'
  6230. -     Use heuristics to speed handling of large files that have numerous
  6231. -     scattered small changes.  *Note diff Performance::.
  6232. -
  6233. -`--starting-file=FILE'
  6234. -     When comparing directories, start with the file FILE.  This is
  6235. -     used for resuming an aborted comparison.  *Note Comparing
  6236. -     Directories::.
  6237. -
  6238. -`--suppress-common-lines'
  6239. -     Do not print common lines in side by side format.  *Note Side by
  6240. -     Side Format::.
  6241. -
  6242. -`-t'
  6243. -     Expand tabs to spaces in the output, to preserve the alignment of
  6244. -     tabs in the input files.  *Note Tabs::.
  6245. -
  6246. -`-T'
  6247. -     Output a tab rather than a space before the text of a line in
  6248. -     normal or context format.  This causes the alignment of tabs in
  6249. -     the line to look normal.  *Note Tabs::.
  6250. -
  6251. -`--text'
  6252. -     Treat all files as text and compare them line-by-line, even if they
  6253. -     do not appear to be text.  *Note Binary::.
  6254. -
  6255. -`-u'
  6256. -     Use the unified output format.  *Note Unified Format::.
  6257. -
  6258. -`--unchanged-group-format=FORMAT'
  6259. -     Use FORMAT to output a group of common lines taken from both files
  6260. -     in if-then-else format.  *Note Line Group Formats::.
  6261. -
  6262. -`--unchanged-line-format=FORMAT'
  6263. -     Use FORMAT to output a line common to both files in if-then-else
  6264. -     format.  *Note Line Formats::.
  6265. -
  6266. -`--unidirectional-new-file'
  6267. -     When comparing directories, if a file appears only in the second
  6268. -     directory of the two, treat it as present but empty in the other.
  6269. -     *Note Comparing Directories::.
  6270. -
  6271. -`-U LINES'
  6272. -`--unified[=LINES]'
  6273. -     Use the unified output format, showing LINES (an integer) lines of
  6274. -     context, or three if LINES is not given.  *Note Unified Format::.
  6275. -     For proper operation, `patch' typically needs at least two lines of
  6276. -     context.
  6277. -
  6278. -`-v'
  6279. -`--version'
  6280. -     Output the version number of `diff'.
  6281. -
  6282. -`-w'
  6283. -     Ignore white space when comparing lines.  *Note White Space::.
  6284. -
  6285. -`-W COLUMNS'
  6286. -`--width=COLUMNS'
  6287. -     Use an output width of COLUMNS in side by side format.  *Note Side
  6288. -     by Side Format::.
  6289. -
  6290. -`-x PATTERN'
  6291. -     When comparing directories, ignore files and subdirectories whose
  6292. -     basenames match PATTERN.  *Note Comparing Directories::.
  6293. -
  6294. -`-X FILE'
  6295. -     When comparing directories, ignore files and subdirectories whose
  6296. -     basenames match any pattern contained in FILE.  *Note Comparing
  6297. -     Directories::.
  6298. -
  6299. -`-y'
  6300. -     Use the side by side output format.  *Note Side by Side Format::.
  6301. -
  6302. -
  6303. -File: diff.info,  Node: Invoking diff3,  Next: Invoking patch,  Prev: Invoking diff,  Up: Top
  6304. -
  6305. -Invoking `diff3'
  6306. -****************
  6307. -
  6308. -   The `diff3' command compares three files and outputs descriptions of
  6309. -their differences.  Its arguments are as follows:
  6310. -
  6311. -     diff3 OPTIONS... MINE OLDER YOURS
  6312. -
  6313. -   The files to compare are MINE, OLDER, and YOURS.  At most one of
  6314. -these three file names may be `-', which tells `diff3' to read the
  6315. -standard input for that file.
  6316. -
  6317. -   An exit status of 0 means `diff3' was successful, 1 means some
  6318. -conflicts were found, and 2 means trouble.
  6319. -
  6320. -* Menu:
  6321. -
  6322. -* diff3 Options::        Summary of options to `diff3'.
  6323. -
  6324. -
  6325. -File: diff.info,  Node: diff3 Options,  Up: Invoking diff3
  6326. -
  6327. -Options to `diff3'
  6328. -==================
  6329. -
  6330. -   Below is a summary of all of the options that GNU `diff3' accepts.
  6331. -Multiple single letter options (unless they take an argument) can be
  6332. -combined into a single command line argument.
  6333. -
  6334. -`-a'
  6335. -     Treat all files as text and compare them line-by-line, even if they
  6336. -     do not appear to be text.  *Note Binary::.
  6337. -
  6338. -`-A'
  6339. -     Incorporate all changes from OLDER to YOURS into MINE, surrounding
  6340. -     all conflicts with bracket lines.  *Note Marking Conflicts::.
  6341. -
  6342. -`-e'
  6343. -     Generate an `ed' script that incorporates all the changes from
  6344. -     OLDER to YOURS into MINE.  *Note Which Changes::.
  6345. -
  6346. -`-E'
  6347. -     Like `-e', except bracket lines from overlapping changes' first
  6348. -     and third files.  *Note Marking Conflicts::.  With `-e', an
  6349. -     overlapping change looks like this:
  6350. -
  6351. -          <<<<<<< MINE
  6352. -          lines from MINE
  6353. -          =======
  6354. -          lines from YOURS
  6355. -          >>>>>>> YOURS
  6356. -
  6357. -`--ed'
  6358. -     Generate an `ed' script that incorporates all the changes from
  6359. -     OLDER to YOURS into MINE.  *Note Which Changes::.
  6360. -
  6361. -`--easy-only'
  6362. -     Like `-e', except output only the nonoverlapping changes.  *Note
  6363. -     Which Changes::.
  6364. -
  6365. -`-i'
  6366. -     Generate `w' and `q' commands at the end of the `ed' script for
  6367. -     System V compatibility.  This option must be combined with one of
  6368. -     the `-AeExX3' options, and may not be combined with `-m'.  *Note
  6369. -     Saving the Changed File::.
  6370. -
  6371. -`--initial-tab'
  6372. -     Output a tab rather than two spaces before the text of a line in
  6373. -     normal format.  This causes the alignment of tabs in the line to
  6374. -     look normal.  *Note Tabs::.
  6375. -
  6376. -`-L LABEL'
  6377. -`--label=LABEL'
  6378. -     Use the label LABEL for the brackets output by the `-A', `-E' and
  6379. -     `-X' options.  This option may be given up to three times, one for
  6380. -     each input file.  The default labels are the names of the input
  6381. -     files.  Thus `diff3 -L X -L Y -L Z -m A B C' acts like `diff3 -m A
  6382. -     B C', except that the output looks like it came from files named
  6383. -     `X', `Y' and `Z' rather than from files named `A', `B' and `C'.
  6384. -     *Note Marking Conflicts::.
  6385. -
  6386. -`-m'
  6387. -`--merge'
  6388. -     Apply the edit script to the first file and send the result to
  6389. -     standard output.  Unlike piping the output from `diff3' to `ed',
  6390. -     this works even for binary files and incomplete lines.  `-A' is
  6391. -     assumed if no edit script option is specified.  *Note Bypassing
  6392. -     ed::.
  6393. -
  6394. -`--overlap-only'
  6395. -     Like `-e', except output only the overlapping changes.  *Note
  6396. -     Which Changes::.
  6397. -
  6398. -`--show-all'
  6399. -     Incorporate all unmerged changes from OLDER to YOURS into MINE,
  6400. -     surrounding all overlapping changes with bracket lines.  *Note
  6401. -     Marking Conflicts::.
  6402. -
  6403. -`--show-overlap'
  6404. -     Like `-e', except bracket lines from overlapping changes' first
  6405. -     and third files.  *Note Marking Conflicts::.
  6406. -
  6407. -`-T'
  6408. -     Output a tab rather than two spaces before the text of a line in
  6409. -     normal format.  This causes the alignment of tabs in the line to
  6410. -     look normal.  *Note Tabs::.
  6411. -
  6412. -`--text'
  6413. -     Treat all files as text and compare them line-by-line, even if they
  6414. -     do not appear to be text.  *Note Binary::.
  6415. -
  6416. -`-v'
  6417. -`--version'
  6418. -     Output the version number of `diff3'.
  6419. -
  6420. -`-x'
  6421. -     Like `-e', except output only the overlapping changes.  *Note
  6422. -     Which Changes::.
  6423. -
  6424. -`-X'
  6425. -     Like `-E', except output only the overlapping changes.  In other
  6426. -     words, like `-x', except bracket changes as in `-E'.  *Note
  6427. -     Marking Conflicts::.
  6428. -
  6429. -`-3'
  6430. -     Like `-e', except output only the nonoverlapping changes.  *Note
  6431. -     Which Changes::.
  6432. -
  6433. -
  6434. -File: diff.info,  Node: Invoking patch,  Next: Invoking sdiff,  Prev: Invoking diff3,  Up: Top
  6435. -
  6436. -Invoking `patch'
  6437. -****************
  6438. -
  6439. -   Normally `patch' is invoked like this:
  6440. -
  6441. -     patch <PATCHFILE
  6442. -
  6443. -   The full format for invoking `patch' is:
  6444. -
  6445. -     patch OPTIONS... [ORIGFILE [PATCHFILE]] [+ OPTIONS... [ORIGFILE]]...
  6446. -
  6447. -   If you do not specify PATCHFILE, or if PATCHFILE is `-', `patch'
  6448. -reads the patch (that is, the `diff' output) from the standard input.
  6449. -
  6450. -   You can specify one or more of the original files as ORIG arguments;
  6451. -each one and options for interpreting it is separated from the others
  6452. -with a `+'.  *Note Multiple Patches::, for more information.
  6453. -
  6454. -   If you do not specify an input file on the command line, `patch'
  6455. -tries to figure out from the "leading text" (any text in the patch that
  6456. -comes before the `diff' output) which file to edit.  In the header of a
  6457. -context or unified diff, `patch' looks in lines beginning with `***',
  6458. -`---', or `+++'; among those, it chooses the shortest name of an
  6459. -existing file.  Otherwise, if there is an `Index:' line in the leading
  6460. -text, `patch' tries to use the file name from that line.  If `patch'
  6461. -cannot figure out the name of an existing file from the leading text,
  6462. -it prompts you for the name of the file to patch.
  6463. -
  6464. -   If the input file does not exist or is read-only, and a suitable RCS
  6465. -or SCCS file exists, `patch' attempts to check out or get the file
  6466. -before proceeding.
  6467. -
  6468. -   By default, `patch' replaces the original input file with the
  6469. -patched version, after renaming the original file into a backup file
  6470. -(*note Backups::., for a description of how `patch' names backup
  6471. -files).  You can also specify where to put the output with the `-o
  6472. -OUTPUT-FILE' or `--output=OUTPUT-FILE' option.
  6473. -
  6474. -* Menu:
  6475. -
  6476. -* patch Directories::    Changing directory and stripping directories.
  6477. -* Backups::        Backup file names.
  6478. -* Rejects::        Reject file names.
  6479. -* patch Options::    Summary table of options to `patch'.
  6480. -
  6481. -
  6482. -File: diff.info,  Node: patch Directories,  Next: Backups,  Up: Invoking patch
  6483. -
  6484. -Applying Patches in Other Directories
  6485. -=====================================
  6486. -
  6487. -   The `-d DIRECTORY' or `--directory=DIRECTORY' option to `patch'
  6488. -makes directory DIRECTORY the current directory for interpreting both
  6489. -file names in the patch file, and file names given as arguments to
  6490. -other options (such as `-B' and `-o').  For example, while in a news
  6491. -reading program, you can patch a file in the `/usr/src/emacs' directory
  6492. -directly from the article containing the patch like this:
  6493. -
  6494. -     | patch -d /usr/src/emacs
  6495. -
  6496. -   Sometimes the file names given in a patch contain leading
  6497. -directories, but you keep your files in a directory different from the
  6498. -one given in the patch.  In those cases, you can use the `-p[NUMBER]'
  6499. -or `--strip[=NUMBER]' option to set the file name strip count to
  6500. -NUMBER.  The strip count tells `patch' how many slashes, along with the
  6501. -directory names between them, to strip from the front of file names.
  6502. -`-p' with no NUMBER given is equivalent to `-p0'.  By default, `patch'
  6503. -strips off all leading directories, leaving just the base file names,
  6504. -except that when a file name given in the patch is a relative file name
  6505. -and all of its leading directories already exist, `patch' does not
  6506. -strip off the leading directory.  (A "relative" file name is one that
  6507. -does not start with a slash.)
  6508. -
  6509. -   `patch' looks for each file (after any slashes have been stripped)
  6510. -in the current directory, or if you used the `-d DIRECTORY' option, in
  6511. -that directory.
  6512. -
  6513. -   For example, suppose the file name in the patch file is
  6514. -`/gnu/src/emacs/etc/NEWS'.  Using `-p' or `-p0' gives the entire file
  6515. -name unmodified, `-p1' gives `gnu/src/emacs/etc/NEWS' (no leading
  6516. -slash), `-p4' gives `etc/NEWS', and not specifying `-p' at all gives
  6517. -`NEWS'.
  6518. -
  6519. -
  6520. -File: diff.info,  Node: Backups,  Next: Rejects,  Prev: patch Directories,  Up: Invoking patch
  6521. -
  6522. -Backup File Names
  6523. -=================
  6524. -
  6525. -   Normally, `patch' renames an original input file into a backup file
  6526. -by appending to its name the extension `.orig', or `~' on systems that
  6527. -do not support long file names.  The `-b BACKUP-SUFFIX' or
  6528. -`--suffix=BACKUP-SUFFIX' option uses BACKUP-SUFFIX as the backup
  6529. -extension instead.
  6530. -
  6531. -   Alternately, you can specify the extension for backup files with the
  6532. -`SIMPLE_BACKUP_SUFFIX' environment variable, which the options override.
  6533. -
  6534. -   `patch' can also create numbered backup files the way GNU Emacs
  6535. -does.  With this method, instead of having a single backup of each file,
  6536. -`patch' makes a new backup file name each time it patches a file.  For
  6537. -example, the backups of a file named `sink' would be called,
  6538. -successively, `sink.~1~', `sink.~2~', `sink.~3~', etc.
  6539. -
  6540. -   The `-V BACKUP-STYLE' or `--version-control=BACKUP-STYLE' option
  6541. -takes as an argument a method for creating backup file names.  You can
  6542. -alternately control the type of backups that `patch' makes with the
  6543. -`VERSION_CONTROL' environment variable, which the `-V' option
  6544. -overrides.  The value of the `VERSION_CONTROL' environment variable and
  6545. -the argument to the `-V' option are like the GNU Emacs
  6546. -`version-control' variable (*note emacs: Backups., for more information
  6547. -on backup versions in Emacs).  They also recognize synonyms that are
  6548. -more descriptive.  The valid values are listed below; unique
  6549. -abbreviations are acceptable.
  6550. -
  6551. -`t'
  6552. -`numbered'
  6553. -     Always make numbered backups.
  6554. -
  6555. -`nil'
  6556. -`existing'
  6557. -     Make numbered backups of files that already have them, simple
  6558. -     backups of the others.  This is the default.
  6559. -
  6560. -`never'
  6561. -`simple'
  6562. -     Always make simple backups.
  6563. -
  6564. -   Alternately, you can tell `patch' to prepend a prefix, such as a
  6565. -directory name, to produce backup file names.  The `-B BACKUP-PREFIX'
  6566. -or `--prefix=BACKUP-PREFIX' option makes backup files by prepending
  6567. -BACKUP-PREFIX to them.  If you use this option, `patch' ignores any
  6568. -`-b' option that you give.
  6569. -
  6570. -   If the backup file already exists, `patch' creates a new backup file
  6571. -name by changing the first lowercase letter in the last component of
  6572. -the file name into uppercase.  If there are no more lowercase letters
  6573. -in the name, it removes the first character from the name.  It repeats
  6574. -this process until it comes up with a backup file name that does not
  6575. -already exist.
  6576. -
  6577. -   If you specify the output file with the `-o' option, that file is
  6578. -the one that is backed up, not the input file.
  6579. -
  6580. -
  6581. -File: diff.info,  Node: Rejects,  Next: patch Options,  Prev: Backups,  Up: Invoking patch
  6582. -
  6583. -Reject File Names
  6584. -=================
  6585. -
  6586. -   The names for reject files (files containing patches that `patch'
  6587. -could not find a place to apply) are normally the name of the output
  6588. -file with `.rej' appended (or `#' on systems that do not support long
  6589. -file names).
  6590. -
  6591. -   Alternatively, you can tell `patch' to place all of the rejected
  6592. -patches in a single file.  The `-r REJECT-FILE' or
  6593. -`--reject-file=REJECT-FILE' option uses REJECT-FILE as the reject file
  6594. -name.
  6595. -
  6596. -
  6597. -File: diff.info,  Node: patch Options,  Prev: Rejects,  Up: Invoking patch
  6598. -
  6599. -Options to `patch'
  6600. -==================
  6601. -
  6602. -   Here is a summary of all of the options that `patch' accepts.  Older
  6603. -versions of `patch' do not accept long-named options or the `-t', `-E',
  6604. -or `-V' options.
  6605. -
  6606. -   Multiple single-letter options that do not take an argument can be
  6607. -combined into a single command line argument (with only one dash).
  6608. -Brackets ([ and ]) indicate that an option takes an optional argument.
  6609. -
  6610. -`-b BACKUP-SUFFIX'
  6611. -     Use BACKUP-SUFFIX as the backup extension instead of `.orig' or
  6612. -     `~'.  *Note Backups::.
  6613. -
  6614. -`-B BACKUP-PREFIX'
  6615. -     Use BACKUP-PREFIX as a prefix to the backup file name.  If this
  6616. -     option is specified, any `-b' option is ignored.  *Note Backups::.
  6617. -
  6618. -`--batch'
  6619. -     Do not ask any questions.  *Note patch Messages::.
  6620. -
  6621. -`-c'
  6622. -`--context'
  6623. -     Interpret the patch file as a context diff.  *Note patch Input::.
  6624. -
  6625. -`-d DIRECTORY'
  6626. -`--directory=DIRECTORY'
  6627. -     Makes directory DIRECTORY the current directory for interpreting
  6628. -     both file names in the patch file, and file names given as
  6629. -     arguments to other options.  *Note patch Directories::.
  6630. -
  6631. -`-D NAME'
  6632. -     Make merged if-then-else output using FORMAT.  *Note
  6633. -     If-then-else::.
  6634. -
  6635. -`--debug=NUMBER'
  6636. -     Set internal debugging flags.  Of interest only to `patch'
  6637. -     patchers.
  6638. -
  6639. -`-e'
  6640. -`--ed'
  6641. -     Interpret the patch file as an `ed' script.  *Note patch Input::.
  6642. -
  6643. -`-E'
  6644. -     Remove output files that are empty after the patches have been
  6645. -     applied.  *Note Empty Files::.
  6646. -
  6647. -`-f'
  6648. -     Assume that the user knows exactly what he or she is doing, and do
  6649. -     not ask any questions.  *Note patch Messages::.
  6650. -
  6651. -`-F LINES'
  6652. -     Set the maximum fuzz factor to LINES.  *Note Inexact::.
  6653. -
  6654. -`--force'
  6655. -     Assume that the user knows exactly what he or she is doing, and do
  6656. -     not ask any questions.  *Note patch Messages::.
  6657. -
  6658. -`--forward'
  6659. -     Ignore patches that `patch' thinks are reversed or already applied.
  6660. -     See also `-R'.  *Note Reversed Patches::.
  6661. -
  6662. -`--fuzz=LINES'
  6663. -     Set the maximum fuzz factor to LINES.  *Note Inexact::.
  6664. -
  6665. -`--help'
  6666. -     Print a summary of the options that `patch' recognizes, then exit.
  6667. -
  6668. -`--ifdef=NAME'
  6669. -     Make merged if-then-else output using FORMAT.  *Note
  6670. -     If-then-else::.
  6671. -
  6672. -`--ignore-white-space'
  6673. -`-l'
  6674. -     Let any sequence of white space in the patch file match any
  6675. -     sequence of white space in the input file.  *Note Changed White
  6676. -     Space::.
  6677. -
  6678. -`-n'
  6679. -`--normal'
  6680. -     Interpret the patch file as a normal diff.  *Note patch Input::.
  6681. -
  6682. -`-N'
  6683. -     Ignore patches that `patch' thinks are reversed or already applied.
  6684. -     See also `-R'.  *Note Reversed Patches::.
  6685. -
  6686. -`-o OUTPUT-FILE'
  6687. -`--output=OUTPUT-FILE'
  6688. -     Use OUTPUT-FILE as the output file name.  *Note patch Options::.
  6689. -
  6690. -`-p[NUMBER]'
  6691. -     Set the file name strip count to NUMBER.  *Note patch
  6692. -     Directories::.
  6693. -
  6694. -`--prefix=BACKUP-PREFIX'
  6695. -     Use BACKUP-PREFIX as a prefix to the backup file name.  If this
  6696. -     option is specified, any `-b' option is ignored.  *Note Backups::.
  6697. -
  6698. -`--quiet'
  6699. -     Work silently unless an error occurs.  *Note patch Messages::.
  6700. -
  6701. -`-r REJECT-FILE'
  6702. -     Use REJECT-FILE as the reject file name.  *Note Rejects::.
  6703. -
  6704. -`-R'
  6705. -     Assume that this patch was created with the old and new files
  6706. -     swapped.  *Note Reversed Patches::.
  6707. -
  6708. -`--reject-file=REJECT-FILE'
  6709. -     Use REJECT-FILE as the reject file name.  *Note Rejects::.
  6710. -
  6711. -`--remove-empty-files'
  6712. -     Remove output files that are empty after the patches have been
  6713. -     applied.  *Note Empty Files::.
  6714. -
  6715. -`--reverse'
  6716. -     Assume that this patch was created with the old and new files
  6717. -     swapped.  *Note Reversed Patches::.
  6718. -
  6719. -`-s'
  6720. -     Work silently unless an error occurs.  *Note patch Messages::.
  6721. -
  6722. -`-S'
  6723. -     Ignore this patch from the patch file, but continue looking for
  6724. -     the next patch in the file.  *Note Multiple Patches::.
  6725. -
  6726. -`--silent'
  6727. -     Work silently unless an error occurs.  *Note patch Messages::.
  6728. -
  6729. -`--skip'
  6730. -     Ignore this patch from the patch file, but continue looking for
  6731. -     the next patch in the file.  *Note Multiple Patches::.
  6732. -
  6733. -`--strip[=NUMBER]'
  6734. -     Set the file name strip count to NUMBER.  *Note patch
  6735. -     Directories::.
  6736. -
  6737. -`--suffix=BACKUP-SUFFIX'
  6738. -     Use BACKUP-SUFFIX as the backup extension instead of `.orig' or
  6739. -     `~'.  *Note Backups::.
  6740. -
  6741. -`-t'
  6742. -     Do not ask any questions.  *Note patch Messages::.
  6743. -
  6744. -`-u'
  6745. -`--unified'
  6746. -     Interpret the patch file as a unified diff.  *Note patch Input::.
  6747. -
  6748. -`-v'
  6749. -     Output the revision header and patch level of `patch'.
  6750. -
  6751. -`-V BACKUP-STYLE'
  6752. -     Select the kind of backups to make.  *Note Backups::.
  6753. -
  6754. -`--version'
  6755. -     Output the revision header and patch level of `patch', then exit.
  6756. -
  6757. -`--version=control=BACKUP-STYLE'
  6758. -     Select the kind of backups to make.  *Note Backups::.
  6759. -
  6760. -`-x NUMBER'
  6761. -     Set internal debugging flags.  Of interest only to `patch'
  6762. -     patchers.
  6763. -
  6764. -
  6765. -File: diff.info,  Node: Invoking sdiff,  Next: Incomplete Lines,  Prev: Invoking patch,  Up: Top
  6766. -
  6767. -Invoking `sdiff'
  6768. -****************
  6769. -
  6770. -   The `sdiff' command merges two files and interactively outputs the
  6771. -results.  Its arguments are as follows:
  6772. -
  6773. -     sdiff -o OUTFILE OPTIONS... FROM-FILE TO-FILE
  6774. -
  6775. -   This merges FROM-FILE with TO-FILE, with output to OUTFILE.  If
  6776. -FROM-FILE is a directory and TO-FILE is not, `sdiff' compares the file
  6777. -in FROM-FILE whose file name is that of TO-FILE, and vice versa.
  6778. -fROM-FILE and TO-FILE may not both be directories.
  6779. -
  6780. -   `sdiff' options begin with `-', so normally FROM-FILE and TO-FILE
  6781. -may not begin with `-'.  However, `--' as an argument by itself treats
  6782. -the remaining arguments as file names even if they begin with `-'.  You
  6783. -may not use `-' as an input file.
  6784. -
  6785. -   An exit status of 0 means no differences were found, 1 means some
  6786. -differences were found, and 2 means trouble.
  6787. -
  6788. -   `sdiff' without `-o' (or `--output') produces a side-by-side
  6789. -difference.  This usage is obsolete; use `diff --side-by-side' instead.
  6790. -
  6791. -* Menu:
  6792. -
  6793. -* sdiff Options::    Summary of options to `diff'.
  6794. -
  6795. -
  6796. -File: diff.info,  Node: sdiff Options,  Up: Invoking sdiff
  6797. -
  6798. -Options to `sdiff'
  6799. -==================
  6800. -
  6801. -   Below is a summary of all of the options that GNU `sdiff' accepts.
  6802. -Each option has two equivalent names, one of which is a single letter
  6803. -preceded by `-', and the other of which is a long name preceded by
  6804. -`--'.  Multiple single letter options (unless they take an argument)
  6805. -can be combined into a single command line argument.  Long named
  6806. -options can be abbreviated to any unique prefix of their name.
  6807. -
  6808. -`-a'
  6809. -     Treat all files as text and compare them line-by-line, even if they
  6810. -     do not appear to be text.  *Note Binary::.
  6811. -
  6812. -`-b'
  6813. -     Ignore changes in amount of white space.  *Note White Space::.
  6814. -
  6815. -`-B'
  6816. -     Ignore changes that just insert or delete blank lines.  *Note
  6817. -     Blank Lines::.
  6818. -
  6819. -`-d'
  6820. -     Change the algorithm to perhaps find a smaller set of changes.
  6821. -     This makes `sdiff' slower (sometimes much slower).  *Note diff
  6822. -     Performance::.
  6823. -
  6824. -`-H'
  6825. -     Use heuristics to speed handling of large files that have numerous
  6826. -     scattered small changes.  *Note diff Performance::.
  6827. -
  6828. -`--expand-tabs'
  6829. -     Expand tabs to spaces in the output, to preserve the alignment of
  6830. -     tabs in the input files.  *Note Tabs::.
  6831. -
  6832. -`-i'
  6833. -     Ignore changes in case; consider upper- and lower-case to be the
  6834. -     same.  *Note Case Folding::.
  6835. -
  6836. -`-I REGEXP'
  6837. -     Ignore changes that just insert or delete lines that match REGEXP.
  6838. -     *Note Specified Folding::.
  6839. -
  6840. -`--ignore-all-space'
  6841. -     Ignore white space when comparing lines.  *Note White Space::.
  6842. -
  6843. -`--ignore-blank-lines'
  6844. -     Ignore changes that just insert or delete blank lines.  *Note
  6845. -     Blank Lines::.
  6846. -
  6847. -`--ignore-case'
  6848. -     Ignore changes in case; consider upper- and lower-case to be the
  6849. -     same.  *Note Case Folding::.
  6850. -
  6851. -`--ignore-matching-lines=REGEXP'
  6852. -     Ignore changes that just insert or delete lines that match REGEXP.
  6853. -     *Note Specified Folding::.
  6854. -
  6855. -`--ignore-space-change'
  6856. -     Ignore changes in amount of white space.  *Note White Space::.
  6857. -
  6858. -`-l'
  6859. -`--left-column'
  6860. -     Print only the left column of two common lines.  *Note Side by
  6861. -     Side Format::.
  6862. -
  6863. -`--minimal'
  6864. -     Change the algorithm to perhaps find a smaller set of changes.
  6865. -     This makes `sdiff' slower (sometimes much slower).  *Note diff
  6866. -     Performance::.
  6867. -
  6868. -`-o FILE'
  6869. -`--output=FILE'
  6870. -     Put merged output into FILE.  This option is required for merging.
  6871. -
  6872. -`-s'
  6873. -`--suppress-common-lines'
  6874. -     Do not print common lines.  *Note Side by Side Format::.
  6875. -
  6876. -`--speed-large-files'
  6877. -     Use heuristics to speed handling of large files that have numerous
  6878. -     scattered small changes.  *Note diff Performance::.
  6879. -
  6880. -`-t'
  6881. -     Expand tabs to spaces in the output, to preserve the alignment of
  6882. -     tabs in the input files.  *Note Tabs::.
  6883. -
  6884. -`--text'
  6885. -     Treat all files as text and compare them line-by-line, even if they
  6886. -     do not appear to be text.  *Note Binary::.
  6887. -
  6888. -`-v'
  6889. -`--version'
  6890. -     Output the version number of `sdiff'.
  6891. -
  6892. -`-w COLUMNS'
  6893. -`--width=COLUMNS'
  6894. -     Use an output width of COLUMNS.  *Note Side by Side Format::.
  6895. -     Note that for historical reasons, this option is `-W' in `diff',
  6896. -     `-w' in `sdiff'.
  6897. -
  6898. -`-W'
  6899. -     Ignore horizontal white space when comparing lines.  *Note White
  6900. -     Space::.  Note that for historical reasons, this option is `-w' in
  6901. -     `diff', `-W' in `sdiff'.
  6902. -
  6903. -
  6904. -File: diff.info,  Node: Incomplete Lines,  Next: Projects,  Prev: Invoking sdiff,  Up: Top
  6905. -
  6906. -Incomplete Lines
  6907. -****************
  6908. -
  6909. -   When an input file ends in a non-newline character, its last line is
  6910. -called an "incomplete line" because its last character is not a
  6911. -newline.  All other lines are called "full lines" and end in a newline
  6912. -character.  Incomplete lines do not match full lines unless differences
  6913. -in white space are ignored (*note White Space::.).
  6914. -
  6915. -   An incomplete line is normally distinguished on output from a full
  6916. -line by a following line that starts with `\'.  However, the RCS format
  6917. -(*note RCS::.) outputs the incomplete line as-is, without any trailing
  6918. -newline or following line.  The side by side format normally represents
  6919. -incomplete lines as-is, but in some cases uses a `\' or `/' gutter
  6920. -marker; *Note Side by Side::.  The if-then-else line format preserves a
  6921. -line's incompleteness with `%L', and discards the newline with `%l';
  6922. -*Note Line Formats::.  Finally, with the `ed' and forward `ed' output
  6923. -formats (*note Output Formats::.) `diff' cannot represent an incomplete
  6924. -line, so it pretends there was a newline and reports an error.
  6925. -
  6926. -   For example, suppose `F' and `G' are one-byte files that contain
  6927. -just `f' and `g', respectively.  Then `diff F G' outputs
  6928. -
  6929. -     1c1
  6930. -     < f
  6931. -     \ No newline at end of file
  6932. -     ---
  6933. -     > g
  6934. -     \ No newline at end of file
  6935. -
  6936. -(The exact message may differ in non-English locales.) `diff -n F G'
  6937. -outputs the following without a trailing newline:
  6938. -
  6939. -     d1 1
  6940. -     a1 1
  6941. -     g
  6942. -
  6943. -   `diff -e F G' reports two errors and outputs the following:
  6944. -
  6945. -     1c
  6946. -     g
  6947. -     .
  6948. -
  6949. -
  6950. -File: diff.info,  Node: Projects,  Next: Concept Index,  Prev: Incomplete Lines,  Up: Top
  6951. -
  6952. -Future Projects
  6953. -***************
  6954. -
  6955. -   Here are some ideas for improving GNU `diff' and `patch'.  The GNU
  6956. -project has identified some improvements as potential programming
  6957. -projects for volunteers.  You can also help by reporting any bugs that
  6958. -you find.
  6959. -
  6960. -   If you are a programmer and would like to contribute something to the
  6961. -GNU project, please consider volunteering for one of these projects.  If
  6962. -you are seriously contemplating work, please write to
  6963. -`gnu@prep.ai.mit.edu' to coordinate with other volunteers.
  6964. -
  6965. -* Menu:
  6966. -
  6967. -* Shortcomings::    Suggested projects for improvements.
  6968. -* Bugs::        Reporting bugs.
  6969. -
  6970. -
  6971. -File: diff.info,  Node: Shortcomings,  Next: Bugs,  Up: Projects
  6972. -
  6973. -Suggested Projects for Improving GNU `diff' and `patch'
  6974. -=======================================================
  6975. -
  6976. -   One should be able to use GNU `diff' to generate a patch from any
  6977. -pair of directory trees, and given the patch and a copy of one such
  6978. -tree, use `patch' to generate a faithful copy of the other.
  6979. -Unfortunately, some changes to directory trees cannot be expressed using
  6980. -current patch formats; also, `patch' does not handle some of the
  6981. -existing formats.  These shortcomings motivate the following suggested
  6982. -projects.
  6983. -
  6984. -* Menu:
  6985. -
  6986. -* Changing Structure::    Handling changes to the directory structure.
  6987. -* Special Files::    Handling symbolic links, device special files, etc.
  6988. -* Unusual File Names::    Handling file names that contain unusual characters.
  6989. -* Arbitrary Limits::    Patching non-text files.
  6990. -* Large Files::        Handling files that do not fit in memory.
  6991. -* Ignoring Changes::    Ignoring certain changes while showing others.
  6992. -
  6993. -
  6994. -File: diff.info,  Node: Changing Structure,  Next: Special Files,  Up: Shortcomings
  6995. -
  6996. -Handling Changes to the Directory Structure
  6997. --------------------------------------------
  6998. -
  6999. -   `diff' and `patch' do not handle some changes to directory
  7000. -structure.  For example, suppose one directory tree contains a directory
  7001. -named `D' with some subsidiary files, and another contains a file with
  7002. -the same name `D'.  `diff -r' does not output enough information for
  7003. -`patch' to transform the the directory subtree into the file.
  7004. -
  7005. -   There should be a way to specify that a file has been deleted without
  7006. -having to include its entire contents in the patch file.  There should
  7007. -also be a way to tell `patch' that a file was renamed, even if there is
  7008. -no way for `diff' to generate such information.
  7009. -
  7010. -   These problems can be fixed by extending the `diff' output format to
  7011. -represent changes in directory structure, and extending `patch' to
  7012. -understand these extensions.
  7013. -
  7014. -
  7015. -File: diff.info,  Node: Special Files,  Next: Unusual File Names,  Prev: Changing Structure,  Up: Shortcomings
  7016. -
  7017. -Files that are Neither Directories Nor Regular Files
  7018. -----------------------------------------------------
  7019. -
  7020. -   Some files are neither directories nor regular files: they are
  7021. -unusual files like symbolic links, device special files, named pipes,
  7022. -and sockets.  Currently, `diff' treats symbolic links like regular
  7023. -files; it treats other special files like regular files if they are
  7024. -specified at the top level, but simply reports their presence when
  7025. -comparing directories.  This means that `patch' cannot represent changes
  7026. -to such files.  For example, if you change which file a symbolic link
  7027. -points to, `diff' outputs the difference between the two files, instead
  7028. -of the change to the symbolic link.
  7029. -
  7030. -   `diff' should optionally report changes to special files specially,
  7031. -and `patch' should be extended to understand these extensions.
  7032. -
  7033. -
  7034. -File: diff.info,  Node: Unusual File Names,  Next: Arbitrary Limits,  Prev: Special Files,  Up: Shortcomings
  7035. -
  7036. -File Names that Contain Unusual Characters
  7037. -------------------------------------------
  7038. -
  7039. -   When a file name contains an unusual character like a newline or
  7040. -white space, `diff -r' generates a patch that `patch' cannot parse.
  7041. -The problem is with format of `diff' output, not just with `patch',
  7042. -because with odd enough file names one can cause `diff' to generate a
  7043. -patch that is syntactically correct but patches the wrong files.  The
  7044. -format of `diff' output should be extended to handle all possible file
  7045. -names.
  7046. -
  7047. -
  7048. -File: diff.info,  Node: Arbitrary Limits,  Next: Large Files,  Prev: Unusual File Names,  Up: Shortcomings
  7049. -
  7050. -Arbitrary Limits
  7051. -----------------
  7052. -
  7053. -   GNU `diff' can analyze files with arbitrarily long lines and files
  7054. -that end in incomplete lines.  However, `patch' cannot patch such
  7055. -files.  The `patch' internal limits on line lengths should be removed,
  7056. -and `patch' should be extended to parse `diff' reports of incomplete
  7057. -lines.
  7058. -
  7059. -
  7060. -File: diff.info,  Node: Large Files,  Next: Ignoring Changes,  Prev: Arbitrary Limits,  Up: Shortcomings
  7061. -
  7062. -Handling Files that Do Not Fit in Memory
  7063. -----------------------------------------
  7064. -
  7065. -   `diff' operates by reading both files into memory.  This method
  7066. -fails if the files are too large, and `diff' should have a fallback.
  7067. -
  7068. -   One way to do this is to scan the files sequentially to compute hash
  7069. -codes of the lines and put the lines in equivalence classes based only
  7070. -on hash code.  Then compare the files normally.  This does produce some
  7071. -false matches.
  7072. -
  7073. -   Then scan the two files sequentially again, checking each match to
  7074. -see whether it is real.  When a match is not real, mark both the
  7075. -"matching" lines as changed.  Then build an edit script as usual.
  7076. -
  7077. -   The output routines would have to be changed to scan the files
  7078. -sequentially looking for the text to print.
  7079. -
  7080. -
  7081. -File: diff.info,  Node: Ignoring Changes,  Prev: Large Files,  Up: Shortcomings
  7082. -
  7083. -Ignoring Certain Changes
  7084. -------------------------
  7085. -
  7086. -   It would be nice to have a feature for specifying two strings, one in
  7087. -FROM-FILE and one in TO-FILE, which should be considered to match.
  7088. -Thus, if the two strings are `foo' and `bar', then if two lines differ
  7089. -only in that `foo' in file 1 corresponds to `bar' in file 2, the lines
  7090. -are treated as identical.
  7091. -
  7092. -   It is not clear how general this feature can or should be, or what
  7093. -syntax should be used for it.
  7094. -
  7095. -
  7096. -File: diff.info,  Node: Bugs,  Prev: Shortcomings,  Up: Projects
  7097. -
  7098. -Reporting Bugs
  7099. -==============
  7100. -
  7101. -   If you think you have found a bug in GNU `cmp', `diff', `diff3',
  7102. -`sdiff', or `patch', please report it by electronic mail to
  7103. -`bug-gnu-utils@prep.ai.mit.edu'.  Send as precise a description of the
  7104. -problem as you can, including sample input files that produce the bug,
  7105. -if applicable.
  7106. -
  7107. -   Because Larry Wall has not released a new version of `patch' since
  7108. -mid 1988 and the GNU version of `patch' has been changed since then,
  7109. -please send bug reports for `patch' by electronic mail to both
  7110. -`bug-gnu-utils@prep.ai.mit.edu' and `lwall@netlabs.com'.
  7111. -
  7112. diff -rup --new-file baseline/fsf/diffutils/diff.info-4 amiga/fsf/diffutils/diff.info-4
  7113. --- baseline/fsf/diffutils/diff.info-4    Sat Oct  1 10:57:37 1994
  7114. +++ amiga/fsf/diffutils/diff.info-4    Wed Dec 31 17:00:00 1969
  7115. @@ -1,152 +0,0 @@
  7116. -This is Info file diff.info, produced by Makeinfo-1.55 from the input
  7117. -file ./diff.texi.
  7118. -
  7119. -   This file documents the the GNU `diff', `diff3', `sdiff', and `cmp'
  7120. -commands for showing the differences between text files and the `patch'
  7121. -command for using their output to update files.
  7122. -
  7123. -   Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
  7124. -
  7125. -   Permission is granted to make and distribute verbatim copies of this
  7126. -manual provided the copyright notice and this permission notice are
  7127. -preserved on all copies.
  7128. -
  7129. -   Permission is granted to copy and distribute modified versions of
  7130. -this manual under the conditions for verbatim copying, provided that
  7131. -the entire resulting derived work is distributed under the terms of a
  7132. -permission notice identical to this one.
  7133. -
  7134. -   Permission is granted to copy and distribute translations of this
  7135. -manual into another language, under the above conditions for modified
  7136. -versions, except that this permission notice may be stated in a
  7137. -translation approved by the Foundation.
  7138. -
  7139. -
  7140. -File: diff.info,  Node: Concept Index,  Prev: Projects,  Up: Top
  7141. -
  7142. -Concept Index
  7143. -*************
  7144. -
  7145. -* Menu:
  7146. -
  7147. -* cmp invocation:                       Invoking cmp.
  7148. -* cmp options:                          cmp Options.
  7149. -* diff3 hunks:                          diff3 Hunks.
  7150. -* diff3 invocation:                     Invoking diff3.
  7151. -* diff3 options:                        diff3 Options.
  7152. -* diff3 sample input:                   Sample diff3 Input.
  7153. -* diff invocation:                      Invoking diff.
  7154. -* diff options:                         diff Options.
  7155. -* diff sample input:                    Sample diff Input.
  7156. -* ed script output format:              ed Scripts.
  7157. -* ifdef output format:                  If-then-else.
  7158. -* patch input format:                   patch Input.
  7159. -* patch invocation:                     Invoking patch.
  7160. -* patch messages and questions:         patch Messages.
  7161. -* patch options:                        patch Options.
  7162. -* sdiff invocation:                     Invoking sdiff.
  7163. -* sdiff options:                        sdiff Options.
  7164. -* sdiff output format:                  sdiff Option Summary.
  7165. -* ! output format:                      Context.
  7166. -* +- output format:                     Unified Format.
  7167. -* <<<<<<< for marking conflicts:        Marking Conflicts.
  7168. -* < output format:                      Normal.
  7169. -* aligning tabstops:                    Tabs.
  7170. -* alternate file names:                 Alternate Names.
  7171. -* backup file names:                    Backups.
  7172. -* binary file diff:                     Binary.
  7173. -* binary file patching:                 Arbitrary Limits.
  7174. -* blank and tab difference suppression: White Space.
  7175. -* blank line difference suppression:    Blank Lines.
  7176. -* brief difference reports:             Brief.
  7177. -* bug reports:                          Bugs.
  7178. -* C function headings:                  C Function Headings.
  7179. -* C if-then-else output format:         If-then-else.
  7180. -* case difference suppression:          Case Folding.
  7181. -* columnar output:                      Side by Side.
  7182. -* comparing three files:                Comparing Three Files.
  7183. -* conflict:                             diff3 Merging.
  7184. -* conflict marking:                     Marking Conflicts.
  7185. -* context output format:                Context.
  7186. -* diagnostics from patch:               patch Messages.
  7187. -* diff merging:                         Interactive Merging.
  7188. -* directories and patch:                patch Directories.
  7189. -* directory structure changes:          Changing Structure.
  7190. -* empty files, removing:                Empty Files.
  7191. -* file name alternates:                 Alternate Names.
  7192. -* file names with unusual characters:   Unusual File Names.
  7193. -* format of diff3 output:               Comparing Three Files.
  7194. -* format of diff output:                Output Formats.
  7195. -* formats for if-then-else line groups: Line Group Formats.
  7196. -* forward ed script output format:      Forward ed.
  7197. -* full lines:                           Incomplete Lines.
  7198. -* function headings, C:                 C Function Headings.
  7199. -* fuzz factor when patching:            Inexact.
  7200. -* headings:                             Sections.
  7201. -* hunks:                                Hunks.
  7202. -* hunks for diff3:                      diff3 Hunks.
  7203. -* if-then-else output format:           If-then-else.
  7204. -* imperfect patch application:          Imperfect.
  7205. -* incomplete line merging:              Merging Incomplete Lines.
  7206. -* incomplete lines:                     Incomplete Lines.
  7207. -* inexact patches:                      Inexact.
  7208. -* interactive merging:                  Interactive Merging.
  7209. -* introduction:                         Comparison.
  7210. -* invoking cmp:                         Invoking cmp.
  7211. -* invoking diff3:                       Invoking diff3.
  7212. -* invoking diff:                        Invoking diff.
  7213. -* invoking patch:                       Invoking patch.
  7214. -* invoking sdiff:                       Invoking sdiff.
  7215. -* large files:                          Large Files.
  7216. -* line formats:                         Line Formats.
  7217. -* line group formats:                   Line Group Formats.
  7218. -* merge commands:                       Merge Commands.
  7219. -* merged diff3 format:                  Bypassing ed.
  7220. -* merged output format:                 If-then-else.
  7221. -* merging from a common ancestor:       diff3 Merging.
  7222. -* merging interactively:                Merge Commands.
  7223. -* messages from patch:                  patch Messages.
  7224. -* multiple patches:                     Multiple Patches.
  7225. -* newline treatment by diff:            Incomplete Lines.
  7226. -* normal output format:                 Normal.
  7227. -* options for cmp:                      cmp Options.
  7228. -* options for diff3:                    diff3 Options.
  7229. -* options for diff:                     diff Options.
  7230. -* options for patch:                    patch Options.
  7231. -* options for sdiff:                    sdiff Options.
  7232. -* output formats:                       Output Formats.
  7233. -* overlap:                              diff3 Merging.
  7234. -* overlapping change, selection of:     Which Changes.
  7235. -* overview of diff and patch:           Overview.
  7236. -* paginating diff output:               Pagination.
  7237. -* patch making tips:                    Making Patches.
  7238. -* patching directories:                 patch Directories.
  7239. -* performance of diff:                  diff Performance.
  7240. -* projects for directories:             Shortcomings.
  7241. -* RCS script output format:             RCS.
  7242. -* regular expression matching headings: Specified Headings.
  7243. -* regular expression suppression:       Specified Folding.
  7244. -* reject file names:                    Rejects.
  7245. -* removing empty files:                 Empty Files.
  7246. -* reporting bugs:                       Bugs.
  7247. -* reversed patches:                     Reversed Patches.
  7248. -* sample input for diff3:               Sample diff3 Input.
  7249. -* sample input for diff:                Sample diff Input.
  7250. -* script output formats:                Scripts.
  7251. -* section headings:                     Sections.
  7252. -* side by side:                         Side by Side.
  7253. -* side by side format:                  Side by Side Format.
  7254. -* special files:                        Special Files.
  7255. -* specified headings:                   Specified Headings.
  7256. -* summarizing which files differ:       Brief.
  7257. -* System V diff3 compatibility:         Saving the Changed File.
  7258. -* tab and blank difference suppression: White Space.
  7259. -* tabstop alignment:                    Tabs.
  7260. -* text versus binary diff:              Binary.
  7261. -* tips for patch making:                Making Patches.
  7262. -* two-column output:                    Side by Side.
  7263. -* unified output format:                Unified Format.
  7264. -* unmerged change:                      Which Changes.
  7265. -* white space in patches:               Changed White Space.
  7266. -
  7267. -
  7268. diff -rup --new-file baseline/fsf/diffutils/diff.texi amiga/fsf/diffutils/diff.texi
  7269. --- baseline/fsf/diffutils/diff.texi    Fri Sep 30 13:54:40 1994
  7270. +++ amiga/fsf/diffutils/diff.texi    Sat Sep 28 00:00:00 1996
  7271. @@ -1779,7 +1779,7 @@ prefix and the first @var{lines} lines o
  7272.  
  7273.  Use the program @code{diff3} to compare three files and show any
  7274.  differences among them.  (@code{diff3} can also merge files; see
  7275. -@ref{diff3 Merging}).
  7276. +@ref{diff3 Merging}.).
  7277.  
  7278.  The ``normal'' @code{diff3} output format shows each hunk of
  7279.  differences without surrounding context.  Hunks are labeled depending
  7280. diff -rup --new-file baseline/fsf/diffutils/fnmatch.h amiga/fsf/diffutils/fnmatch.h
  7281. --- baseline/fsf/diffutils/fnmatch.h    Tue Sep 27 09:16:50 1994
  7282. +++ amiga/fsf/diffutils/fnmatch.h    Sat Sep 28 00:00:00 1996
  7283. @@ -44,7 +44,9 @@ extern "C" {
  7284.  #undef    FNM_PERIOD
  7285.  
  7286.  /* Bits set in the FLAGS argument to `fnmatch'.  */
  7287. +#ifndef FNM_PATHNAME
  7288.  #define    FNM_PATHNAME    (1 << 0) /* No wildcard can ever match `/'.  */
  7289. +#endif
  7290.  #define    FNM_NOESCAPE    (1 << 1) /* Backslashes don't quote special chars.  */
  7291.  #define    FNM_PERIOD    (1 << 2) /* Leading `.' is matched only explicitly.  */
  7292.  
  7293. diff -rup --new-file baseline/fsf/diffutils/manifests/bin amiga/fsf/diffutils/manifests/bin
  7294. --- baseline/fsf/diffutils/manifests/bin    Wed Dec 31 17:00:00 1969
  7295. +++ amiga/fsf/diffutils/manifests/bin    Sat Sep 28 00:00:00 1996
  7296. @@ -0,0 +1,14 @@
  7297. +COPYING
  7298. +COPYING.info
  7299. +bin/cmp
  7300. +bin/diff
  7301. +bin/diff3
  7302. +bin/sdiff
  7303. +dvi/diff.dvi
  7304. +guide/diff.guide
  7305. +info/diff.info
  7306. +info/diff.info-1
  7307. +info/diff.info-2
  7308. +info/diff.info-3
  7309. +info/diff.info-4
  7310. +ps/diff.ps
  7311. diff -rup --new-file baseline/fsf/diffutils/manifests/src amiga/fsf/diffutils/manifests/src
  7312. --- baseline/fsf/diffutils/manifests/src    Wed Dec 31 17:00:00 1969
  7313. +++ amiga/fsf/diffutils/manifests/src    Sat Sep 28 00:00:00 1996
  7314. @@ -0,0 +1,49 @@
  7315. +fsf/diffutils/BeOS.diffs
  7316. +fsf/diffutils/COPYING
  7317. +fsf/diffutils/ChangeLog
  7318. +fsf/diffutils/INSTALL
  7319. +fsf/diffutils/Makefile.in
  7320. +fsf/diffutils/NEWS
  7321. +fsf/diffutils/Product-Info
  7322. +fsf/diffutils/README
  7323. +fsf/diffutils/alloca.c
  7324. +fsf/diffutils/analyze.c
  7325. +fsf/diffutils/cmp.c
  7326. +fsf/diffutils/cmpbuf.c
  7327. +fsf/diffutils/cmpbuf.h
  7328. +fsf/diffutils/config.hin
  7329. +fsf/diffutils/configure
  7330. +fsf/diffutils/configure.in
  7331. +fsf/diffutils/context.c
  7332. +fsf/diffutils/diagmeet.note
  7333. +fsf/diffutils/diff.c
  7334. +fsf/diffutils/diff.h
  7335. +fsf/diffutils/diff.texi
  7336. +fsf/diffutils/diff3.c
  7337. +fsf/diffutils/dir.c
  7338. +fsf/diffutils/ed.c
  7339. +fsf/diffutils/error.c
  7340. +fsf/diffutils/fnmatch.c
  7341. +fsf/diffutils/fnmatch.h
  7342. +fsf/diffutils/getopt.c
  7343. +fsf/diffutils/getopt.h
  7344. +fsf/diffutils/getopt1.c
  7345. +fsf/diffutils/ifdef.c
  7346. +fsf/diffutils/install-sh
  7347. +fsf/diffutils/io.c
  7348. +fsf/diffutils/manifests/bin
  7349. +fsf/diffutils/manifests/src
  7350. +fsf/diffutils/memchr.c
  7351. +fsf/diffutils/mkinstalldirs
  7352. +fsf/diffutils/normal.c
  7353. +fsf/diffutils/regex.c
  7354. +fsf/diffutils/regex.h
  7355. +fsf/diffutils/sdiff.c
  7356. +fsf/diffutils/side.c
  7357. +fsf/diffutils/stamp-h.in
  7358. +fsf/diffutils/system.h
  7359. +fsf/diffutils/texinfo.tex
  7360. +fsf/diffutils/util.c
  7361. +fsf/diffutils/version.c
  7362. +fsf/diffutils/waitpid.c
  7363. +fsf/diffutils/xmalloc.c
  7364. diff -rup --new-file baseline/fsf/diffutils/sdiff.c amiga/fsf/diffutils/sdiff.c
  7365. --- baseline/fsf/diffutils/sdiff.c    Fri Sep 30 22:14:15 1994
  7366. +++ amiga/fsf/diffutils/sdiff.c    Sat Sep 28 00:00:00 1996
  7367. @@ -29,12 +29,12 @@ the Free Software Foundation, 675 Mass A
  7368.  
  7369.  /* Default name of the diff program */
  7370.  #ifndef DIFF_PROGRAM
  7371. -#define DIFF_PROGRAM "/usr/bin/diff"
  7372. +#define DIFF_PROGRAM "/ade/bin/diff"
  7373.  #endif
  7374.  
  7375.  /* Users' editor of nonchoice */
  7376.  #ifndef DEFAULT_EDITOR_PROGRAM
  7377. -#define DEFAULT_EDITOR_PROGRAM "ed"
  7378. +#define DEFAULT_EDITOR_PROGRAM "emacs"
  7379.  #endif
  7380.  
  7381.  extern char version_string[];
  7382.