groff-commit
[Top][All Lists]
Advanced

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

[Groff-commit] groff ./ChangeLog ./NEWS doc/groff.texinfo man/...


From: Werner LEMBERG
Subject: [Groff-commit] groff ./ChangeLog ./NEWS doc/groff.texinfo man/...
Date: Mon, 27 Mar 2006 18:12:30 +0000

CVSROOT:        /cvsroot/groff
Module name:    groff
Branch:         
Changes by:     Werner LEMBERG <address@hidden> 06/03/27 18:12:29

Modified files:
        .              : ChangeLog NEWS 
        doc            : groff.texinfo 
        man            : groff.man groff_diff.man 
        src/roff/troff : input.cpp 

Log message:
        Add two request `.device' and `.devicem' which are equivalent to
        `\X' and `\Y', respectively.
        
        * src/roff/troff/input.cpp (device_request, device_macro_request):
        New functions.
        (init_input_requests): Register them.
        
        * doc/groff.texinfo, man/groff_diff.man, man/groff.man, NEWS:
        Document them.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/groff/groff/ChangeLog.diff?tr1=1.944&tr2=1.945&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/groff/groff/NEWS.diff?tr1=1.212&tr2=1.213&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/groff/groff/doc/groff.texinfo.diff?tr1=1.235&tr2=1.236&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/groff/groff/man/groff.man.diff?tr1=1.77&tr2=1.78&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/groff/groff/man/groff_diff.man.diff?tr1=1.54&tr2=1.55&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/groff/groff/src/roff/troff/input.cpp.diff?tr1=1.34&tr2=1.35&r1=text&r2=text

Patches:
Index: groff/ChangeLog
diff -u groff/ChangeLog:1.944 groff/ChangeLog:1.945
--- groff/ChangeLog:1.944       Mon Mar 27 17:31:06 2006
+++ groff/ChangeLog     Mon Mar 27 18:12:29 2006
@@ -1,3 +1,15 @@
+2006-03-27  Werner LEMBERG  <address@hidden>
+
+       Add two request `.device' and `.devicem' which are equivalent to
+       `\X' and `\Y', respectively.
+
+       * src/roff/troff/input.cpp (device_request, device_macro_request):
+       New functions.
+       (init_input_requests): Register them.
+
+       * doc/groff.texinfo, man/groff_diff.man, man/groff.man, NEWS:
+       Document them.
+
 2006-03-27  Gaius Mulley  <address@hidden>
 
        * src/roff/troff/input.cpp (encode_char): Emit special characters
Index: groff/NEWS
diff -u groff/NEWS:1.212 groff/NEWS:1.213
--- groff/NEWS:1.212    Tue Mar 21 12:48:10 2006
+++ groff/NEWS  Mon Mar 27 18:12:29 2006
@@ -17,6 +17,11 @@
   Note that latin-9 input encoding is used for French (to support the `oe'
   ligature).
 
+o Swedish macro localization has been added also.
+
+o Two new requests `device' and `devicem' have been added which are
+  equivalents to the \X and \Y escapes, respectively.
+
 Pic
 ---
 
@@ -2333,3 +2338,8 @@
 now provided by `char' definitions in tmac.ps. TSymbol.ps has also
 been removed, and the tweaks it provided are now provided by `char'
 definitions.
+
+Local Variables:
+version-control: never
+coding: latin-1
+End:
Index: groff/doc/groff.texinfo
diff -u groff/doc/groff.texinfo:1.235 groff/doc/groff.texinfo:1.236
--- groff/doc/groff.texinfo:1.235       Mon Mar 27 17:31:06 2006
+++ groff/doc/groff.texinfo     Mon Mar 27 18:12:29 2006
@@ -13088,7 +13088,8 @@
 postprocessor.  This is particularly useful for embedding
 @sc{PostScript} into the final document.
 
address@hidden {\\X, ', xxx, '}
address@hidden {device, xxx}
address@hidden {\\X, ', xxx, '}
 Embeds its argument into the @code{gtroff}
 output preceded with @address@hidden X}}.
 
@@ -13106,6 +13107,9 @@
 space characters.  All other escapes (except @code{\\} which produces a
 backslash) cause an error.
 
+Contrary to @code{\X}, the @code{device} request simply processes its
+argument in copy mode (@pxref{Copy-in Mode}).
+
 @kindex use_charnames_in_special
 @pindex address@hidden, and @code{use_charnames_in_special}}
 @cindex @code{\X}, and special characters
@@ -13116,7 +13120,8 @@
 @samp{use_charnames_in_special} is currently used by @code{grohtml} only.
 @endDefesc
 
address@hidden {\\Y, , n, }
address@hidden {devicem, xx}
address@hidden {\\Y, , n, }
 @DefescItem {\\Y, @Lparen{}, nm, }
 @DefescListEnd {\\Y, @Lbrack{}, name, @Rbrack{}}
 This is approximately equivalent to @samp{\X'address@hidden'}
Index: groff/man/groff.man
diff -u groff/man/groff.man:1.77 groff/man/groff.man:1.78
--- groff/man/groff.man:1.77    Mon Mar 13 23:11:09 2006
+++ groff/man/groff.man Mon Mar 27 18:12:29 2006
@@ -2,7 +2,7 @@
 .ig
 groff.man
 
-Last update: 13 Mar 2006
+Last update: 27 Mar 2006
 
 This file is part of groff, the GNU roff type-setting system.
 
@@ -1330,7 +1330,7 @@
 .I trap
 location
 to
-.I N .
+.IR N .
 .
 .REQ .char c anything
 Define character
@@ -1464,12 +1464,22 @@
 .request .dei
 but with compatibility mode switched off during macro expansion.
 .
+.REQ .device anything
+Write
+.I anything
+to the intermediate output as a device control function.
+.
+.REQ .devicem name
+Write contents of macro or string
+.I name
+uninterpreted to the intermediate output as a device control function.
+.
 .REQ .di
 End current diversion.
 .
 .REQ .di macro
 Divert to
-.I macro .
+.IR macro .
 .
 .REQ .do name
 Interpret
Index: groff/man/groff_diff.man
diff -u groff/man/groff_diff.man:1.54 groff/man/groff_diff.man:1.55
--- groff/man/groff_diff.man:1.54       Mon Mar 13 22:36:02 2006
+++ groff/man/groff_diff.man    Mon Mar 27 18:12:29 2006
@@ -3,7 +3,7 @@
 .ig
 groff_diff.man
 
-Last update : 24 Feb 2006
+Last update : 27 Mar 2006
 
 This file is part of groff, the GNU roff type-setting system.
 It is the source of the man-page groff_diff(7).
@@ -1297,6 +1297,23 @@
 request but compatibility mode is switched off during execution.
 .
 .TP
+.BI .device\  anything
+This is (almost) the same as the
+.B \[rs]X
+escape.
+.I anything
+is read in copy mode; a leading\~\c
+.B \[dq]
+is stripped.
+.
+.TP
+.BI .devicem\  xx
+This is the same as the
+.B \[rs]Y
+escape (to embed the contents of a macro into the intermediate
+output preceded with `x\~X').
+.
+.TP
 .BI .do\  xxx
 Interpret
 .I .xxx
Index: groff/src/roff/troff/input.cpp
diff -u groff/src/roff/troff/input.cpp:1.34 groff/src/roff/troff/input.cpp:1.35
--- groff/src/roff/troff/input.cpp:1.34 Mon Mar 27 17:31:06 2006
+++ groff/src/roff/troff/input.cpp      Mon Mar 27 18:12:29 2006
@@ -5248,6 +5248,41 @@
   return new special_node(mac);
 }
 
+void device_request()
+{
+  if (!tok.newline() && !tok.eof()) {
+    int c;
+    macro mac;
+    for (;;) {
+      c = get_copy(0);
+      if (c == '"') {
+       c = get_copy(0);
+       break;
+      }
+      if (c != ' ' && c != '\t')
+       break;
+    }
+    for (; c != '\n' && c != EOF; c = get_copy(0))
+      mac.append(c);
+    curenv->add_node(new special_node(mac));
+  }
+  tok.next();
+}
+
+void device_macro_request()
+{
+  symbol s = get_name(1);
+  if (!(s.is_null() || s.is_empty())) {
+    request_or_macro *p = lookup_request(s);
+    macro *m = p->to_macro();
+    if (m)
+      curenv->add_node(new special_node(*m));
+    else 
+      error("can't transparently throughput a request");
+  }
+  skip_line();
+}
+
 void output_request()
 {
   if (!tok.newline() && !tok.eof()) {
@@ -7565,6 +7600,8 @@
   init_request("defcolor", define_color);
   init_request("dei", define_indirect_macro);
   init_request("dei1", define_indirect_nocomp_macro);
+  init_request("device", device_request);
+  init_request("devicem", device_macro_request);
   init_request("do", do_request);
   init_request("ds", define_string);
   init_request("ds1", define_nocomp_string);




reply via email to

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