summaryrefslogtreecommitdiff
path: root/lisp/ps-print.el
diff options
context:
space:
mode:
authorƁukasz Stelmach <stlman@poczta.fm>2016-02-23 14:54:30 +1100
committerLars Ingebrigtsen <larsi@gnus.org>2016-02-23 14:56:11 +1100
commit1af5e6e0ac236d535561a3d7e063313b523a1d42 (patch)
tree4ea9e6ebc2b97b924c8ed56b3d27736c8acceba8 /lisp/ps-print.el
parent6620944f8325101d6a0e01690aea7901a66f0461 (diff)
downloademacs-1af5e6e0ac236d535561a3d7e063313b523a1d42.tar.gz
Encode header strings before printing
* lisp/ps-print.el (ps-generate-header-line): Encode the header strings to avoid problems with non-ASCII headers (bug#22611). Backport: (cherry picked from commit 3cedbdcc71ebefc12bd20ec84f74251fe99ee7d0)
Diffstat (limited to 'lisp/ps-print.el')
-rw-r--r--lisp/ps-print.el8
1 files changed, 6 insertions, 2 deletions
diff --git a/lisp/ps-print.el b/lisp/ps-print.el
index 965e6756961..1167b9c0530 100644
--- a/lisp/ps-print.el
+++ b/lisp/ps-print.el
@@ -4759,7 +4759,11 @@ page-height == ((floor print-height ((th + ls) * zh)) * ((th + ls) * zh)) - th
;; Literal strings should be output as is -- the string must contain its own
;; PS string delimiters, '(' and ')', if necessary.
((stringp content)
- (ps-output content))
+ (if (functionp ps-encode-header-string-function)
+ (dolist (elem (funcall ps-encode-header-string-function
+ content fonttag))
+ (ps-output elem))
+ (ps-output content)))
;; Functions are called -- they should return strings; they will be inserted
;; as strings and the PS string delimiters added.
@@ -4775,7 +4779,7 @@ page-height == ((floor print-height ((th + ls) * zh)) * ((th + ls) * zh)) - th
((and (symbolp content) (boundp content))
(if (fboundp ps-encode-header-string-function)
(dolist (l (funcall ps-encode-header-string-function
- (symbol-value content) fonttag))
+ (symbol-value content) fonttag))
(ps-output-string l))
(ps-output-string (symbol-value content))))