From 7d5cb920d08d07a3e44c6893f1524352bc207ce3 Mon Sep 17 00:00:00 2001 From: Vinicius Jose Latorre Date: Wed, 21 Nov 2007 15:16:55 +0000 Subject: [PATCH] ps-lpr-switches docstring fix. --- lisp/ChangeLog.unicode | 6 ++++++ lisp/ps-print.el | 40 +++++++++++++++++++++++++++++++++++++--- 2 files changed, 43 insertions(+), 3 deletions(-) diff --git a/lisp/ChangeLog.unicode b/lisp/ChangeLog.unicode index 7816f099d9c..3427854cac7 100644 --- a/lisp/ChangeLog.unicode +++ b/lisp/ChangeLog.unicode @@ -1,3 +1,9 @@ +2007-11-21 Vinicius Jose Latorre + + * ps-print.el (ps-lpr-switches): Docstring fix. + (ps-string-list): New fun. + (ps-do-despool): Code fix. + 2007-11-19 Kenichi Handa * international/utf-7.el (utf-7-imap-post-read-conversion) diff --git a/lisp/ps-print.el b/lisp/ps-print.el index c327c25bf6c..6be1f12d439 100644 --- a/lisp/ps-print.el +++ b/lisp/ps-print.el @@ -14,7 +14,7 @@ ;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre (defconst ps-print-version "7.3.1" - "ps-print.el, v 7.3.1 <2007/11/09 vinicius> + "ps-print.el, v 7.3.1 <2007/11/21 vinicius> Vinicius's last change version -- this file may have been edited as part of Emacs without changes to the version number. When reporting bugs, please also @@ -1752,7 +1752,28 @@ an explicit filename is given as the last argument." :group 'ps-print-printer) (defcustom ps-lpr-switches lpr-switches - "*A list of extra switches to pass to `ps-lpr-command'." + "*List of extra switches to pass to `ps-lpr-command'. + +The list element can be: + + string it should be an option for `ps-lpr-command' (which see). + For example: \"-o Duplex=DuplexNoTumble\" + + symbol it can be a function or variable symbol. If it's a function + symbol, it should be a function with no argument. The result + of the function or the variable value should be a string or a + list of strings. + + list the header should be a symbol function and the tail is the + arguments for this function. This function should return a + string or a list of strings. + +Any other value is silently ignored. + +It is recommended to set `ps-printer-name' (which see) instead of including an +explicit switch on this list. + +See `ps-lpr-command'." :type '(repeat :tag "PostScript lpr Switches" (choice :menu-tag "PostScript lpr Switch" :tag "PostScript lpr Switch" @@ -6526,10 +6547,23 @@ If FACE is not a valid face name, use default face." (and (fboundp 'start-process) 0) nil (ps-flatten-list ; dynamic evaluation - (mapcar 'ps-eval-switch ps-lpr-switches))))) + (ps-string-list + (mapcar 'ps-eval-switch ps-lpr-switches)))))) (and ps-razzle-dazzle (message "Printing...done"))) (kill-buffer ps-spool-buffer))) +(defun ps-string-list (arg) + (let (lstr) + (dolist (elm arg) + (cond ((stringp elm) + (setq lstr (cons elm lstr))) + ((listp elm) + (let ((s (ps-string-list elm))) + (when s + (setq lstr (cons s lstr))))) + (t ))) ; ignore any other value + (nreverse lstr))) + ;; Dynamic evaluation (defun ps-eval-switch (arg) (cond ((stringp arg) arg) -- 2.39.5