diff -aruN groff-1.14/ChangeLog groff-1.15/ChangeLog --- groff-1.14/ChangeLog Sun Dec 26 11:28:16 1999 +++ groff-1.15/ChangeLog Tue Dec 28 15:10:06 1999 @@ -1,3 +1,27 @@ +Version 1.15 released +===================== + +1999-12-28 Werner LEMBERG + + * NEWS, VERSION: Changed to 1.15 + +1999-12-27 Paul Eggert + + * nroff/nroff.man: -S is safer, not safe. + + * groff/groff.cc (main): Use `safer', not `safe', in variable + names. This does not change the behavior. + + * troff/input.cc (main): Likewise. + + * nroff/nroff.sh: Likewise. + + * troff/input.cc (prepend_string): New function. + (main): Prepend -msafer, so that we check macro libraries for + safety. + + * PROBLEMS: Report problem with Sun C++ 5.0 and 5.1. + Version 1.14 released ===================== diff -aruN groff-1.14/NEWS groff-1.15/NEWS --- groff-1.14/NEWS Sun Dec 26 11:28:16 1999 +++ groff-1.15/NEWS Tue Dec 28 15:10:06 1999 @@ -1,8 +1,8 @@ This file describes recent user-visible changes in groff. Bug fixes are not described. There are more details in the man pages. -VERSION 1.13, 1.14 -================== +VERSION 1.13, 1.14, 1.15 +======================== Bug fixes only; no user-visible changes. diff -aruN groff-1.14/PROBLEMS groff-1.15/PROBLEMS --- groff-1.14/PROBLEMS Sun Oct 31 15:30:35 1999 +++ groff-1.15/PROBLEMS Tue Dec 28 09:27:25 1999 @@ -9,6 +9,11 @@ Makefile. If that doesn't solve the problem, define INT_MIN as -INT_MAX in libgroff/lib.h. +* I get errors when I try to compile groff with Sun C++ version 5.0 or 5.1. + +This is a known problem; see Sun bug #4301919. As of this writing, no +patch is available. Use GCC 2.95.2 or later instead. + * I get errors when I try to compile groff with Sun C++ version 3 or earlier. diff -aruN groff-1.14/VERSION groff-1.15/VERSION --- groff-1.14/VERSION Sun Dec 26 11:28:16 1999 +++ groff-1.15/VERSION Tue Dec 28 15:10:06 1999 @@ -1 +1 @@ -1.14 +1.15 diff -aruN groff-1.14/groff/groff.cc groff-1.15/groff/groff.cc --- groff-1.14/groff/groff.cc Fri Dec 17 23:59:01 1999 +++ groff-1.15/groff/groff.cc Tue Dec 28 09:27:25 1999 @@ -107,7 +107,7 @@ int zflag = 0; int iflag = 0; int Xflag = 0; - int safe_flag = 1; + int safer_flag = 1; int opt; const char *command_prefix = getenv("GROFF_COMMAND_PREFIX"); if (!command_prefix) @@ -175,10 +175,10 @@ commands[TROFF_INDEX].append_arg(buf); break; case 'S': - safe_flag = 1; + safer_flag = 1; break; case 'U': - safe_flag = 0; + safer_flag = 0; break; case 'T': if (strcmp(optarg, "Xps") == 0) { @@ -230,7 +230,7 @@ break; } } - if ( safe_flag ) { + if (safer_flag) { commands[PIC_INDEX].append_arg("-S"); commands[TROFF_INDEX].insert_arg("-msafer"); } else { diff -aruN groff-1.14/nroff/nroff.man groff-1.15/nroff/nroff.man --- groff-1.14/nroff/nroff.man Tue Dec 21 08:12:39 1999 +++ groff-1.15/nroff/nroff.man Tue Dec 28 09:27:25 1999 @@ -83,7 +83,7 @@ .BR \-s . Options .B \-S -(safe) and +(safer) and .B \-U (unsafe) are passed to groff. .B \-S diff -aruN groff-1.14/nroff/nroff.sh groff-1.15/nroff/nroff.sh --- groff-1.14/nroff/nroff.sh Tue Dec 14 14:18:57 1999 +++ groff-1.15/nroff/nroff.sh Tue Dec 28 09:27:25 1999 @@ -10,7 +10,7 @@ T=-Tascii fi opts= -safe=-S +safer=-S for i do @@ -36,12 +36,12 @@ # ignore other devices ;; -S) - # safe behaviour - safe=-S + # safer behaviour + safer=-S ;; -U) # unsafe behaviour - safe=-U + safer=-U ;; -u*) # Solaris 2.2 `man' uses -u0; ignore it, @@ -67,4 +67,4 @@ # This shell script is intended for use with man, so warnings are # probably not wanted. Also load nroff-style character definitions. -exec groff $safe -Wall -mtty-char $T $opts ${1+"$@"} +exec groff $safer -Wall -mtty-char $T $opts ${1+"$@"} diff -aruN groff-1.14/troff/input.cc groff-1.15/troff/input.cc --- groff-1.14/troff/input.cc Tue Dec 14 14:19:00 1999 +++ groff-1.15/troff/input.cc Tue Dec 28 09:27:27 1999 @@ -5331,6 +5331,13 @@ string_list(const char *ss) : s(ss), next(0) {} }; +static void prepend_string(const char *s, string_list **p) +{ + string_list *l = new string_list(s); + l->next = *p; + *p = l; +} + static void add_string(const char *s, string_list **p) { while (*p) @@ -5360,7 +5367,7 @@ int tflag = 0; int fflag = 0; int nflag = 0; - int safe_flag = 1; // safe by default + int safer_flag = 1; // safer by default int no_rc = 0; // don't process troffrc int next_page_number; opterr = 0; @@ -5446,7 +5453,7 @@ // silently ignore these break; case 'U': - safe_flag = 0; // unsafe behaviour + safer_flag = 0; // unsafe behaviour break; case '?': usage(argv[0]); @@ -5505,8 +5512,8 @@ } if (!no_rc) process_startup_file(); - if ( safe_flag ) - add_string( "safer", ¯os); + if (safer_flag) + prepend_string("safer", ¯os); while (macros) { process_macro_file(macros->s); string_list *tem = macros;