summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-06-09 23:17:44 +0000
committerKarl Berry <karl@freefriends.org>2007-06-09 23:17:44 +0000
commitf45f390ac4fee8469907ae9e1d8067165e9cce7f (patch)
tree40748370d6a80fbcf5ff0acf9a1bcc819176d09a
parent358443da8e493378312049231b699ba045df5412 (diff)
ps::nobreak special
git-svn-id: svn://tug.org/texlive/trunk@4422 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/dvipsk/ChangeLog6
-rw-r--r--Build/source/texk/dvipsk/dospecial.c17
-rw-r--r--Build/source/texk/dvipsk/dvips.texi7
3 files changed, 22 insertions, 8 deletions
diff --git a/Build/source/texk/dvipsk/ChangeLog b/Build/source/texk/dvipsk/ChangeLog
index 98c5abba49d..4624c515416 100644
--- a/Build/source/texk/dvipsk/ChangeLog
+++ b/Build/source/texk/dvipsk/ChangeLog
@@ -1,3 +1,9 @@
+2007-06-10 Karl Berry <karl@tug.org>
+
+ * dospecial.c: implement ps::nobreak for Scott (Pakin); we need
+ to break by default because pstricks is written to assume that,
+ and we can't ask Herbert to rewrite thousands of lines of code.
+
2007-05-31 Karl Berry <karl@tug.org>
* hps.c (finish_hps): remove head.tmp and body.tmp unless
diff --git a/Build/source/texk/dvipsk/dospecial.c b/Build/source/texk/dvipsk/dospecial.c
index d59b8235dba..620d2ef14a9 100644
--- a/Build/source/texk/dvipsk/dospecial.c
+++ b/Build/source/texk/dvipsk/dospecial.c
@@ -602,12 +602,15 @@ case 'p':
if (strncmp(p, "ps:", 3)==0) {
psflush() ; /* now anything can happen. */
if (p[3]==':') {
- if (strncmp(p+4, "[begin]", 7) == 0) {
+ if (strncmp(p+4, "[nobreak]", 9) == 0) {
hvpos() ;
- outputstring(&p[11]) ;
+ outputstring(&p[13]) ;
+ } else if (strncmp(p+4, "[begin]", 7) == 0) {
+ hvpos() ;
+ trytobreakout(&p[11]) ;
} else if (strncmp(p+4, "[end]", 5) == 0)
- outputstring(&p[9]);
- else outputstring(&p[4]);
+ trytobreakout(&p[9]);
+ else trytobreakout(&p[4]);
} else if (strncmp(p+3, " plotfile ", 10) == 0) {
char *sfp ;
hvpos() ;
@@ -631,7 +634,7 @@ case 'p':
/* End TJD changes */
} else {
hvpos() ;
- outputstring(&p[3]);
+ trytobreakout(&p[3]);
psflush() ;
hvpos() ;
}
@@ -767,8 +770,8 @@ case '"':
hvpos() ;
cmdout("@beginspecial") ;
cmdout("@setspecial") ;
- outputstring(p+1) ;
- cmdout("@endspecial") ;
+ trytobreakout(p+1) ;
+ cmdout("\n@endspecial") ;
return ;
break ;
default:
diff --git a/Build/source/texk/dvipsk/dvips.texi b/Build/source/texk/dvipsk/dvips.texi
index d5d92ee97c7..8e371c82f9e 100644
--- a/Build/source/texk/dvipsk/dvips.texi
+++ b/Build/source/texk/dvipsk/dvips.texi
@@ -3,7 +3,7 @@
@settitle Dvips: A DVI-to-PostScript translator
@set version 5.96dev
-@set month-year May 2007
+@set month-year June 2007
@copying
This manual documents Dvips version @value{version}
@@ -2636,6 +2636,7 @@ of the following will work:
\special@{ps::@var{text}@}
\special@{ps::[begin]@var{text}@}
\special@{ps::[end]@var{text}@}
+\special@{ps::[nobreak]@var{text}@}
@end example
@noindent
@@ -2644,6 +2645,10 @@ present). @samp{ps::} and @samp{ps::[end]} do no positioning, so they
can be used to continue PostScript literals started with @samp{ps:} or
@samp{ps::[begin]}.
+Literal PostScript instructions after @samp{ps::[nobreak]} are
+@emph{not} broken into lines. This feature may be used to include
+PostScript comments, for example.
+
@findex plotfile@r{, @samp{ps} subspecial}
In addition, the variant