]> git.eshelyaron.com Git - emacs.git/commitdiff
Encode header strings before printing
authorŁukasz Stelmach <stlman@poczta.fm>
Tue, 23 Feb 2016 03:54:30 +0000 (14:54 +1100)
committerLars Ingebrigtsen <larsi@gnus.org>
Tue, 23 Feb 2016 03:56:11 +0000 (14:56 +1100)
* 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)

lisp/ps-print.el

index 965e67569610398d9ff98a8709ec1ac70c9d24b9..1167b9c0530179b9bf1b88d88f484e42930c8330 100644 (file)
@@ -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))))