]> git.eshelyaron.com Git - emacs.git/commitdiff
ps-lpr-switches docstring fix.
authorVinicius Jose Latorre <viniciusjl@ig.com.br>
Wed, 21 Nov 2007 15:27:22 +0000 (15:27 +0000)
committerVinicius Jose Latorre <viniciusjl@ig.com.br>
Wed, 21 Nov 2007 15:27:22 +0000 (15:27 +0000)
lisp/ChangeLog
lisp/ps-print.el

index 53a5eceafbb34995a062865b6119bc1f07d637cc..581dfd8423a59d943b43607d409cf241647a0a94 100644 (file)
@@ -1,3 +1,9 @@
+2007-11-21  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
+
+       * ps-print.el (ps-lpr-switches): Docstring fix.
+       (ps-string-list): New fun.
+       (ps-do-despool): Code fix.
+
 2007-11-21  Juanma Barranquero  <lekktu@gmail.com>
 
        * w32-fns.el: Undo 2007-11-21 change by Dan Nicolaescu.
index ba8075730d5f0482c567a110661afb94bfdd9e5c..0c567729fbe19a46e43cd3a038703d64d570f234 100644 (file)
@@ -14,7 +14,7 @@
 ;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre
 
 (defconst ps-print-version "6.8.1"
-  "ps-print.el, v 6.8.1 <2007/11/09 vinicius>
+  "ps-print.el, v 6.8.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
@@ -1788,7 +1788,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"
@@ -6859,10 +6880,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)