groff-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Groff-commit] groff ChangeLog src/devices/grops/ps.cpp


From: Werner LEMBERG
Subject: [Groff-commit] groff ChangeLog src/devices/grops/ps.cpp
Date: Mon, 19 Jan 2009 08:02:00 +0000

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 <address@hidden>.
        
        * 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  <address@hidden>
+2009-01-19  Werner LEMBERG  <address@hidden>
+
+       Fix incorrect grops color state before \X'...'.
+       Problem reported by Miklos Somogyi <address@hidden>.
+
+       * 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  <address@hidden>
 
 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;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]