summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvipsk/dospecial.c
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 /Build/source/texk/dvipsk/dospecial.c
parent358443da8e493378312049231b699ba045df5412 (diff)
ps::nobreak special
git-svn-id: svn://tug.org/texlive/trunk@4422 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/dvipsk/dospecial.c')
-rw-r--r--Build/source/texk/dvipsk/dospecial.c17
1 files changed, 10 insertions, 7 deletions
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: