Commit: patch 9.1.0907: printoptions:portrait does not change postscript Orientation

4 views
Skip to first unread message

Christian Brabandt

unread,
Dec 6, 2024, 11:30:15 AM12/6/24
to vim...@googlegroups.com
patch 9.1.0907: printoptions:portrait does not change postscript Orientation

Commit: https://github.com/vim/vim/commit/ee9bc68f03877b2ebffed53b89222b2e4d74a723
Author: Christian Brabandt <c...@256bit.org>
Date: Fri Dec 6 17:19:25 2024 +0100

patch 9.1.0907: printoptions:portrait does not change postscript Orientation

Problem: printoptions:portrait does not change postscript Orientation
Solution: Set Orientation depending on portrait suboption.

fixes: #16156
closes: #16174

Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/src/hardcopy.c b/src/hardcopy.c
index 8abfff210..785a3f554 100644
--- a/src/hardcopy.c
+++ b/src/hardcopy.c
@@ -2742,7 +2742,7 @@ mch_print_begin(prt_settings_T *psettings)

prt_dsc_textline("CreationDate", get_ctime(time(NULL), FALSE));
prt_dsc_textline("DocumentData", "Clean8Bit");
- prt_dsc_textline("Orientation", "Portrait");
+ prt_dsc_textline("Orientation", prt_portrait ? "Portrait" : "Landscape");
prt_dsc_atend("Pages");
prt_dsc_textline("PageOrder", "Ascend");
// The bbox does not change with orientation - it is always in the default
diff --git a/src/testdir/test_hardcopy.vim b/src/testdir/test_hardcopy.vim
index be83728b4..926ff8f97 100644
--- a/src/testdir/test_hardcopy.vim
+++ b/src/testdir/test_hardcopy.vim
@@ -209,4 +209,31 @@ func Test_illegal_byte()
call delete('Xpstest')
endfunc

+func Test_printoptions_portrait()
+ CheckFeature postscript
+ edit test_hardcopy.vim
+ syn on
+
+ set printoptions=portrait:y
+ 1,50hardcopy > Xhardcopy_printoptions_portrait
+ let lines = readfile('Xhardcopy_printoptions_portrait')
+ call assert_match('Orientation: Portrait', lines[6])
+ call assert_match('BoundingBox: 59 49 564 800', lines[9])
+ call assert_match('DocumentMedia: A4', lines[10])
+ call assert_match('PageMedia: A4', lines[24])
+ call delete('Xhardcopy_printoptions')
+
+ set printoptions=portrait:n
+ 1,50hardcopy > Xhardcopy_printoptions_portrait
+ let lines = readfile('Xhardcopy_printoptions_portrait')
+ call assert_match('Orientation: Landscape', lines[6])
+ call assert_match('BoundingBox: 59 42 590 756', lines[9])
+ call assert_match('DocumentMedia: A4', lines[10])
+ call assert_match('PageMedia: A4', lines[24])
+ call delete('Xhardcopy_printoptions')
+
+ set printoptions&
+ bwipe
+endfunc
+
" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index c230d4f9d..bdd605317 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 907,
/**/
906,
/**/
Reply all
Reply to author
Forward
0 new messages