diff options
author | Karl Berry <karl@freefriends.org> | 2007-06-09 23:17:44 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2007-06-09 23:17:44 +0000 |
commit | f45f390ac4fee8469907ae9e1d8067165e9cce7f (patch) | |
tree | 40748370d6a80fbcf5ff0acf9a1bcc819176d09a /Build/source/texk/dvipsk/dospecial.c | |
parent | 358443da8e493378312049231b699ba045df5412 (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.c | 17 |
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: |