aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/ps-print.el
diff options
context:
space:
mode:
authorVinicius Jose Latorre <[email protected]>2007-11-21 15:16:55 +0000
committerVinicius Jose Latorre <[email protected]>2007-11-21 15:16:55 +0000
commit7d5cb920d08d07a3e44c6893f1524352bc207ce3 (patch)
tree2ff27c7877a1fa127573deaafd2b11b83c894f0c /lisp/ps-print.el
parent532729d52d6c62b11caf83b55d325587b05d6c15 (diff)
ps-lpr-switches docstring fix.
Diffstat (limited to 'lisp/ps-print.el')
-rw-r--r--lisp/ps-print.el40
1 files changed, 37 insertions, 3 deletions
diff --git a/lisp/ps-print.el b/lisp/ps-print.el
index c327c25bf6..6be1f12d43 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)