CVSROOT: /cvsroot/groff Module name: groff Changes by: Werner LEMBERG <wl> 09/01/19 08:02:00
Modified files: . : ChangeLog src/devices/grops: ps.cpp Log message: Fix incorrect grops color state before \X'...'. Problem reported by Miklos Somogyi <m...@netspace.net.au>. * src/devices/grops/ps.cpp (ps_printer::special): Check color state before doing a PS special and flush buffer. Update called functions. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/groff/ChangeLog?cvsroot=groff&r1=1.1192&r2=1.1193 http://cvs.savannah.gnu.org/viewcvs/groff/src/devices/grops/ps.cpp?cvsroot=groff&r1=1.19&r2=1.20 Patches: Index: ChangeLog =================================================================== RCS file: /cvsroot/groff/groff/ChangeLog,v retrieving revision 1.1192 retrieving revision 1.1193 diff -u -b -r1.1192 -r1.1193 --- ChangeLog 10 Jan 2009 07:48:14 -0000 1.1192 +++ ChangeLog 19 Jan 2009 08:01:59 -0000 1.1193 @@ -1,4 +1,13 @@ -2009-01-05 Werner LEMBERG <w...@gnu.org> +2009-01-19 Werner LEMBERG <w...@gnu.org> + + Fix incorrect grops color state before \X'...'. + Problem reported by Miklos Somogyi <m...@netspace.net.au>. + + * src/devices/grops/ps.cpp (ps_printer::special): Check color state + before doing a PS special and flush buffer. + Update called functions. + +2009-01-09 Werner LEMBERG <w...@gnu.org> Version 1.20.1 released ======================= Index: src/devices/grops/ps.cpp =================================================================== RCS file: /cvsroot/groff/groff/src/devices/grops/ps.cpp,v retrieving revision 1.19 retrieving revision 1.20 diff -u -b -r1.19 -r1.20 --- src/devices/grops/ps.cpp 5 Jan 2009 20:10:57 -0000 1.19 +++ src/devices/grops/ps.cpp 19 Jan 2009 08:02:00 -0000 1.20 @@ -1557,6 +1557,9 @@ } for (unsigned int i = 0; i < sizeof(proc_table)/sizeof(proc_table[0]); i++) if (strncmp(command, proc_table[i].name, p - command) == 0) { + flush_sbuf(); + if (sbuf_color != *env->col) + set_color(env->col); (this->*(proc_table[i].proc))(p, env); return; } @@ -1583,7 +1586,6 @@ void ps_printer::do_exec(char *arg, const environment *env) { - flush_sbuf(); while (csspace(*arg)) arg++; if (*arg == '\0') { @@ -1609,7 +1611,6 @@ void ps_printer::do_file(char *arg, const environment *env) { - flush_sbuf(); while (csspace(*arg)) arg++; if (*arg == '\0') { @@ -1636,7 +1637,6 @@ void ps_printer::do_def(char *arg, const environment *) { - flush_sbuf(); while (csspace(*arg)) arg++; if (!check_line_lengths(arg)) @@ -1652,7 +1652,6 @@ void ps_printer::do_mdef(char *arg, const environment *) { - flush_sbuf(); char *p; int n = (int)strtol(arg, &p, 10); if (n == 0 && p == arg) { @@ -1677,7 +1676,6 @@ void ps_printer::do_import(char *arg, const environment *env) { - flush_sbuf(); while (*arg == ' ' || *arg == '\n') arg++; char *p; _______________________________________________ Groff-commit mailing list Groff-commit@gnu.org http://lists.gnu.org/mailman/listinfo/groff-commit