]> code.delx.au - gnu-emacs/commitdiff
ps-lpr-switches docstring fix.
authorVinicius Jose Latorre <viniciusjl@ig.com.br>
Wed, 21 Nov 2007 15:16:55 +0000 (15:16 +0000)
committerVinicius Jose Latorre <viniciusjl@ig.com.br>
Wed, 21 Nov 2007 15:16:55 +0000 (15:16 +0000)
lisp/ChangeLog.unicode
lisp/ps-print.el

index 7816f099d9c66332790dc0d76f14f59a19f4987b..3427854cac77da8a7257e0315ac5593c07ed7f52 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-19  Kenichi Handa  <handa@ni.aist.go.jp>
 
        * international/utf-7.el (utf-7-imap-post-read-conversion)
index c327c25bf6c0d171e71fcd0543eab4a93e320920..6be1f12d43908591366297758f4a9f0f28c91dac 100644 (file)
@@ -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)