%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/ |
Current File : //usr/local/share/emacs/27.2/lisp/printing.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #@168 printing.el, v 6.9.3 <2007/12/09 vinicius> Please send all bug fixes and enhancements to bug-gnu-emacs@gnu.org and Vinicius Jose Latorre <viniciusjl.gnu@gmail.com> (defconst pr-version "6.9.3" (#$ . 409)) (byte-code "\301\302!\210\301\303!\210\301\304!\210\305\231\203 \306\307!\210\301\207" [ps-print-version require lpr ps-print easymenu "6.6.4" error "`printing' requires `ps-print' package version 6.6.4 or later"] 2) (defconst pr-cygwin-system (byte-code "\205 \301\302!\205 \303\304\301\302!\"\207" [lpr-windows-system getenv "OSTYPE" string-match "cygwin"] 4)) (byte-code "\300\301\302\303#\210\304\211\203( \211@\301N\203! \302N\204! \305\302\301N#\210A\266\202\202 \210\306\301\302\307#\207" [defvaralias pr-path-style pr-filename-style nil (saved-value saved-variable-comment) put make-obsolete-variable "27.1"] 7) #@94 Non-nil means that menu binding was not done. Used by `pr-menu-bind' and `pr-update-menus'. (defvar pr-menu-print-item "print" (#$ . 1254)) #@78 Non-nil means `pr-ps-printer-alist' was modified and we need to update menu. (defvar pr-ps-printer-menu-modified t (#$ . 1401)) #@79 Non-nil means `pr-txt-printer-alist' was modified and we need to update menu. (defvar pr-txt-printer-menu-modified t (#$ . 1535)) #@78 Non-nil means `pr-ps-utility-alist' was modified and we need to update menu. (defvar pr-ps-utility-menu-modified t (#$ . 1671)) (defconst pr-even-or-odd-alist '((nil . "Print All Pages") (even-page . "Print Even Pages") (odd-page . "Print Odd Pages") (even-sheet . "Print Even Sheets") (odd-sheet . "Print Odd Sheets"))) (defalias 'pr-keep-region-active #[0 "\301\211\207" [deactivate-mark nil] 2]) (defalias 'pr-region-active-p #[0 "\205 \301 \207" [pr-auto-region use-region-p] 1]) #@34 Specify Printing menu-bar entry. (defvar pr-menu-bar nil (#$ . 2164)) #@18 (fn MENU-SPEC) (defalias 'pr-global-menubar #[257 "\303\203O \304 \305\306\"\307$\210\310\211\203$ \211@\311 #\210A\266\202\202 \210\312\313\314A@\211;\2037 \315!\2028 \211\262\306\211;\203F \315!\202G \211\262#\211\202X \304 \305\306\"#\207" [pr-menu-print-item global-map pr-menu-bar ("menu-bar" "file") easy-menu-add-item easy-menu-create-menu "Print" "print-buffer" ("print-buffer" "print-region" "ps-print-buffer-faces" "ps-print-region-faces" "ps-print-buffer" "ps-print-region") easy-menu-remove-item nil vector menu-bar intern] 8 (#$ . 2240)]) #@31 (fn ENTRY INDEX HORIZONTAL) (defalias 'pr-menu-position #[771 "\303 A\211@\206 \304\203 \304\202 _ZA\206 \304\305\"\n_ZD\306 D\207" [lpr-windows-system pr-menu-char-width pr-menu-char-height mouse-pixel-position 0 pr-menu-index selected-frame] 9 (#$ . 2818)]) (defvar pr-menu-position nil) (defvar pr-menu-state nil) #@13 (fn PATH) (defalias 'pr-menu-lookup #[257 "\302\203 \303 \304\305<\203 \202 C\"\"\202 \"\207" [global-map pr-menu-bar lookup-key vconcat mapcar easy-menu-intern] 8 (#$ . 3155)]) #@42 (fn ENTRY INDEX HORIZONTAL STATE PATH) (defalias 'pr-menu-lock #[1285 "\205= \203 \n=\204 \301#\303!\304 \"\211\2038 \305\306!\"\307!\2033 \211 \210\2027 \310!\210\210\266\311\211\207" [pr-menu-lock pr-menu-position pr-menu-state pr-menu-lookup x-popup-menu lookup-key vconcat fboundp eval nil] 11 (#$ . 3354)]) #@24 (fn &optional FORCE) (defalias 'pr-do-update-menus #[256 "\306\307\310\311\312\311\313\314& \210\306 \315\316\317\320\317\321\314& \210\n\306\f\322\323\324\303\325\326\327& \210)\306\f\322\323\330\302\325\326\327& \210\331 \"\207" [pr-ps-printer-alist pr-txt-printer-alist pr-ps-utility-menu-modified pr--save-var pr-ps-utility-alist ps-even-or-odd-pages pr-menu-alist pr-ps-name pr-menu-set-ps-title "PostScript Printers" pr-ps-printer-menu-modified postscript 2 pr-txt-name pr-menu-set-txt-title "Text Printers" pr-txt-printer-menu-modified text pr-ps-utility pr-menu-set-utility-title ("PostScript Print" "File" "PostScript Utility") "PostScript Utility" nil 1 ("PostScript Preview" "File" "PostScript Utility") pr-even-or-odd-pages] 11 (#$ . 3693)]) #@18 (fn NAME-LIST) (defalias 'pr-menu-get-item #[257 "\211<\204 \211C\262\211\2055 \302!\211@\211;\203 \303!\202 \211\262A\237\304\305 \306\307\"\"\"AA\236\266\204\207" [global-map pr-menu-bar reverse intern lookup-key vconcat mapcar easy-menu-intern] 11 (#$ . 4466)]) (defvar pr-temp-menu nil) #@72 (fn ALIST VAR-SYM FUN MENU-PATH MODIFIED-SYM FORCE NAME ENTRY INDEX) (defalias 'pr-menu-alist #[2313 "\205C \204 J\205C \301\302!\210\303\300\302\304\305\n\n&$\210\306!\211\203? \307\233\211\240\266 J\"\210\210\302L\207" [pr-temp-menu (lambda (#1=#:def-tmp-var) (defvar pr-temp-menu #1# #2="")) nil easy-menu-do-define #2# pr-menu-create pr-menu-get-item 3] 20 (#$ . 4778)]) #@18 (fn ITEM NAME) (defalias 'pr-menu-set-item-name #[514 "\205 AA\240\207" [] 4 (#$ . 5187)]) #@41 (fn VALUE &optional ITEM ENTRY INDEX) (defalias 'pr-menu-set-ps-title #[1025 "\300\206 \301\302!\303\304\"\"\210\305!\210\211\205 \306\307\310\311%\207" [pr-menu-set-item-name pr-menu-get-item "PostScript Printers" format "PostScript Printer: %s" pr-ps-set-printer pr-menu-lock 12 toggle nil] 10 (#$ . 5290)]) #@41 (fn VALUE &optional ITEM ENTRY INDEX) (defalias 'pr-menu-set-txt-title #[1025 "\300\206 \301\302!\303\304\"\"\210\305!\210\211\205 \306\307\310\311%\207" [pr-menu-set-item-name pr-menu-get-item "Text Printers" format "Text Printer: %s" pr-txt-set-printer pr-menu-lock 12 toggle nil] 10 (#$ . 5616)]) #@41 (fn VALUE &optional ITEM ENTRY INDEX) (defalias 'pr-menu-set-utility-title #[1025 "\300!\203 \301\"\210\202 \301\302\303!\"\210\301\302\304!\"\210\210\305!\210\211\205- \306\307\310\311%\207" [symbol-name pr-menu-set-item-name pr-menu-get-item ("PostScript Print" "File" "PostScript Utility") ("PostScript Preview" "File" "PostScript Utility") pr-ps-set-utility pr-menu-lock 5 nil ("PostScript Print" "File")] 10 (#$ . 5932)]) #@32 (fn VALUE &optional NO-LOCK) (defalias 'pr-even-or-odd-pages #[513 "\302\303\304!\236A\"\210\211\206 \305\306\307\310\311\312%\207" [pr-even-or-odd-alist ps-even-or-odd-pages pr-menu-set-item-name pr-menu-get-item "Print All Pages" pr-menu-lock postscript-options 8 12 toggle nil] 8 (#$ . 6378)]) #@87 Replace unix-style directory separator character with dos/windows one. (fn FILENAME) (defalias 'pr-dosify-file-name #[257 "\301=\203\f \302\303\304#\207\207" [pr-filename-style windows subst-char-in-string 47 92] 5 (#$ . 6688)]) #@216 Ensure the proper directory separator depending on the OS. That is, if Emacs is running on DOS/Windows, ensure dos/windows-style directory separator; otherwise, ensure unix-style directory separator. (fn FILENAME) (defalias 'pr-standard-file-name #[257 "\204 \203 \302\303\304#\207\207" [pr-cygwin-system lpr-windows-system subst-char-in-string 47 92] 5 (#$ . 6927)]) #@87 Set the value of custom variables for printer & utility selection. (fn SYMBOL VALUE) (defalias 'pr-alist-custom-set #[514 "L\210\300\301!\205 \302\303!\207" [featurep printing pr-update-menus t] 4 (#$ . 7307)]) #@47 Update utility menu entry. (fn SYMBOL VALUE) (defalias 'pr-ps-utility-custom-set #[514 "L\210\300\301!\205 \302!\207" [featurep printing pr-menu-set-utility-title] 4 (#$ . 7528)]) #@61 Update `PostScript Printer:' menu entry. (fn SYMBOL VALUE) (defalias 'pr-ps-name-custom-set #[514 "L\210\300\301!\205 \302!\207" [featurep printing pr-menu-set-ps-title] 4 (#$ . 7719)]) #@55 Update `Text Printer:' menu entry. (fn SYMBOL VALUE) (defalias 'pr-txt-name-custom-set #[514 "L\210\300\301!\205 \302!\207" [featurep printing pr-menu-set-txt-title] 4 (#$ . 7916)]) (byte-code "\300\301\302\303\304\305\306\307\310\311\312\313\314\315\314\316&\210\317\320\321\322\323DD\324\325\326%\210\317\327\321\322\330DD\331\325\332%\210\317\333\321\322\334DD\335\325\336\337\340&\210\317\341\321\322\342DD\343\325\344\337\345&\210\317\346\321\322\347DD\350\325\336\337\351&\210\317\352\321\322\353DD\354\325\355\337\345&\210\317\356\321\322\357DD\360\325\361%\210\317\362\321\322\363DD\364\325\365%\210\317\366\321\322\367DD\370\325\371%\210\317\372\321\322\373DD\374\325\375%\210\317\376\321\322\377DD\201@ \325\201A %\210\317\201B \321\322\201C DD\201D \325\201E %\210\317\201F \321\322\201G DD\201H \325\201I %\210\317\201J \321\322\201K DD\201L \325\201M %\210\317\201N \321\322\201O DD\201P \325\201Q %\210\317\201R \321\322\201S DD\201T \325\201Q %\210\317\201U \321\322\201V DD\201W \325\201Q %\210\317\201X \321\322\201Y DD\201Z \325\201Q %\210\317\201[ \321\322\201\\ DD\201] \325\201Q %\210\317\201^ \321\322\201_ DD\201` \325\201Q %\210\317\201a \321\322\201b DD\201c \325\201Q %\210\317\201d \321\322\201e DD\201f \325\201Q %\210\317\201g \321\322\201h DD\201i \325\201j %\210\317\201k \321\322\201l DD\201m \325\201n \337\201o &\210\317\201p \321\322\201q DD\201r \325\201s \337\345&\210\317\201t \321\322\201u DD\201v \325\201Q %\210\317\201w \321\322\201x DD\201y \325\201z %\210\317\201{ \321\322\201| DD\201} \325\201z %\210\317\201~ \321\322\201 DD\201\200 \325\201\201 %\210\317\201\202 \321\322\201\203 DD\201\204 \325\201\205 %\210\317\201\206 \321\322\201\207 DD\201\210 \325\201Q %\210\317\201\211 \321\322\201\212 DD\201\213 \325\201Q %\210\317\201\214 \321\322\201\215 DD\201\216 \325\201\217 %\210\317\201\220 \321\322\201\221 DD\201\222 \325\201\223 %\210\317\201\224 \321\322\201\225 DD\201\226 \325\201Q %\207" [custom-declare-group printing nil "Printing Utilities group." :tag "Printing Utilities" :link (emacs-library-link :tag "Source Lisp File" "printing.el") :prefix "pr-" :version "22.1" :group text postscript custom-declare-variable pr-filename-style funcall function #[0 "\204\n \203\n \302\207\303\207" [pr-cygwin-system lpr-windows-system windows unix] 1] "Specify which filename style to use for external commands.\n\nValid values are:\n\n windows Windows 9x/NT style (\\)\n\n unix Unix style (/)" :type (choice :tag "Filename style" (const :tag "Windows 9x/NT Style (\\)" :value windows) (const :tag "Unix Style (/)" :value unix)) pr-path-alist #[0 "\300\207" [((unix PATH) (cygwin PATH) (windows PATH))] 1] "Specify an alist for command paths.\n\nIt's used to find commands used for printing package, like gv, gs, gsview.exe,\nmpage, print.exe, etc. See also `pr-command' function.\n\nEach element has the form:\n\n (ENTRY DIRECTORY...)\n\nWhere:\n\nENTRY It's a symbol, used to identify this entry.\n There must exist at least one of the following entries:\n\n `unix' this entry is used when Emacs is running on GNU or\n Unix system.\n\n `cygwin' this entry is used when Emacs is running on Windows\n 95/98/NT/2000 with Cygwin.\n\n `windows' this entry is used when Emacs is running on Windows\n 95/98/NT/2000.\n\nDIRECTORY It should be a string or a symbol. If it's a symbol, it should\n exist an equal entry in `pr-path-alist'. If it's a string,\n it's considered a directory specification.\n\n The directory specification may contain:\n $var environment variable expansion\n ~/ tilde expansion\n ./ current directory\n ../ previous directory\n\n For example, let's say the home directory is /home/my and the\n current directory is /home/my/dir, so:\n\n THE ENTRY IS EXPANDED TO\n ~/entry /home/my/entry\n ./entry /home/my/dir/entry\n ../entry /home/my/entry\n $HOME/entry /home/my/entry\n $HOME/~/other/../my/entry /home/my/entry\n\n SPECIAL SYMBOL: If the symbol `PATH' is used in the directory\n list and there isn't a `PATH' entry in `pr-path-alist' or the\n `PATH' entry has a null directory list, the PATH environment\n variable is used.\n\nExamples:\n\n* On GNU or Unix system:\n\n ((unix \".\" \"~/bin\" ghostview mpage PATH)\n (ghostview \"$HOME/bin/gsview-dir\")\n (mpage \"$HOME/bin/mpage-dir\")\n )\n\n* On Windows system:\n\n ((windows \"c:/applications/executables\" PATH ghostview mpage)\n (ghostview \"c:/gs/gsview-dir\")\n (mpage \"c:/mpage-dir\")\n )" (repeat (cons :tag #1="" (symbol :tag "Identifier ") (repeat :tag "Directory List" (choice :menu-tag "Directory" :tag "Directory" (string :value #1#) (symbol :value symbol))))) pr-txt-name #[0 "\300\207" [default] 1] "Specify a printer for printing a text file.\n\nThe printer name symbol should be defined on `pr-txt-printer-alist' (see it for\ndocumentation).\n\nThis variable should be modified by customization engine. If this variable is\nmodified by other means (for example, a lisp function), use `pr-update-menus'\nfunction (see it for documentation) to update text printer menu." symbol :set pr-txt-name-custom-set pr-txt-printer-alist #[0 "\303\304\305\301!\203 \202 \n\203 \306\202 \304FC\207" [lpr-command printer-name lpr-windows-system default nil boundp "PRN"] 5] "Specify an alist of all text printers (text printer database).\n\nThe alist element has the form:\n\n (SYMBOL COMMAND SWITCHES NAME)\n\nWhere:\n\nSYMBOL It's a symbol to identify a text printer. It's for\n setting option `pr-txt-name' and for menu selection.\n Examples:\n prt_06a\n my_printer\n\nCOMMAND Name of the program for printing a text file. On MS-DOS and\n MS-Windows systems, if the value is an empty string, then Emacs\n will write directly to the printer port given by NAME (see text\n below), that is, the NAME should be something like \"PRN\" or\n \"LPT1:\".\n If NAME is something like \"\\\\\\\\host\\\\share-name\" then\n COMMAND shouldn't be an empty string.\n The programs `print' and `nprint' (the standard print programs\n on Windows NT and Novell Netware respectively) are handled\n specially, using NAME as the destination for output; any other\n program is treated like `lpr' except that an explicit filename\n is given as the last argument.\n If COMMAND is nil, it's used the default printing program:\n `print' for Windows system, `lp' for lp system and `lpr' for\n all other systems. See also `pr-path-alist'.\n Examples:\n \"print\"\n \"lpr\"\n \"lp\"\n\nSWITCHES List of sexp's to pass as extra options for text printer\n program. It is recommended to set NAME (see text below)\n instead of including an explicit switch on this list.\n Example:\n . for lpr\n (\"-#3\" \"-l\")\n nil\n\nNAME A string that specifies a text printer name.\n On Unix-like systems, a string value should be a name\n understood by lpr's -P option (or lp's -d option).\n On MS-DOS and MS-Windows systems, it is the name of a printer\n device or port. Typical non-default settings would be \"LPT1:\"\n to \"LPT3:\" for parallel printers, or \"COM1\" to \"COM4\" or\n \"AUX\" for serial printers, or \"\\\\\\\\hostname\\\\printer\"\n (or \"/D:\\\\\\\\hostname\\\\printer\") for a shared network\n printer. You can also set it to a name of a file, in which\n case the output gets appended to that file. If you want to\n discard the printed output, set this to \"NUL\".\n Examples:\n . for print.exe\n \"/D:\\\\\\\\host\\\\share-name\"\n \"LPT1:\"\n \"PRN\"\n\n . for lpr or lp\n \"share-name\"\n\nThis variable should be modified by customization engine. If this variable is\nmodified by other means (for example, a lisp function), use `pr-update-menus'\nfunction (see it for documentation) to update text printer menu.\n\nExamples:\n\n* On GNU or Unix system:\n\n ((prt_06a \"lpr\" nil \"prt_06a\")\n (prt_07c nil nil \"prt_07c\")\n )\n\n* On Windows system:\n\n ((prt_06a \"print\" nil \"/D:\\\\\\\\printers\\\\prt_06a\")\n (prt_07c nil nil \"/D:\\\\\\\\printers\\\\prt_07c\")\n (PRN \"\" nil \"PRN\")\n (standard \"redpr.exe\" nil \"\")\n )\n\nUseful links:\n\n* Information about the print command (print.exe)\n `http://www.computerhope.com/printhlp.htm'\n\n* RedMon - Redirection Port Monitor (redpr.exe)\n `http://www.cs.wisc.edu/~ghost/redmon/index.htm'\n\n* Redirection Port Monitor (redpr.exe on-line help)\n `http://www.cs.wisc.edu/~ghost/redmon/en/redmon.htm'\n\n* UNIX man pages: lpr (or type `man lpr')\n `http://bama.ua.edu/cgi-bin/man-cgi?lpr'\n `http://www.mediacollege.com/cgi-bin/man/page.cgi?section=all&topic=lpr'\n\n* UNIX man pages: lp (or type `man lp')\n `http://bama.ua.edu/cgi-bin/man-cgi?lp'\n `http://www.mediacollege.com/cgi-bin/man/page.cgi?section=all&topic=lp'\n" (repeat (list :tag "Text Printer" (symbol :tag "Printer Symbol Name") (string :tag "Printer Command") (repeat :tag "Printer Switches" (sexp :tag "Switch" :value #1#)) (choice :menu-tag "Printer Name" :tag "Printer Name" (const :tag "None" nil) string))) pr-alist-custom-set pr-ps-name #[0 "\300\207" [default] 1] "Specify a printer for printing a PostScript file.\n\nThis printer name symbol should be defined on `pr-ps-printer-alist' (see it for\ndocumentation).\n\nThis variable should be modified by customization engine. If this variable is\nmodified by other means (for example, a lisp function), use `pr-update-menus'\nfunction (see it for documentation) to update PostScript printer menu." pr-ps-name-custom-set pr-ps-printer-alist #[0 "\304\305 \203 \305\202 \n\203 \306\202 \307\310\311!\206! \310\312!\206! \257C\207" [lpr-command lpr-windows-system lpr-lp-system ps-printer-name default nil "-d" "-P" getenv "PRINTER" "LPDEST"] 6] "Specify an alist for all PostScript printers (PostScript printer database).\n\nThe alist element has the form:\n\n (SYMBOL COMMAND SWITCHES PRINTER-SWITCH NAME DEFAULT...)\n\nWhere:\n\nSYMBOL It's a symbol to identify a PostScript printer. It's for\n setting option `pr-ps-name' and for menu selection.\n Examples:\n prt_06a\n my_printer\n\nCOMMAND Name of the program for printing a PostScript file. On MS-DOS\n and MS-Windows systems, if the value is an empty string then\n Emacs will write directly to the printer port given by NAME\n (see text below), that is, the NAME should be something like\n \"PRN\" or \"LPT1:\".\n If NAME is something like \"\\\\\\\\host\\\\share-name\" then\n COMMAND shouldn't be an empty string.\n The programs `print' and `nprint' (the standard print programs\n on Windows NT and Novell Netware respectively) are handled\n specially, using NAME as the destination for output; any other\n program is treated like `lpr' except that an explicit filename\n is given as the last argument.\n If COMMAND is nil, it's used the default printing program:\n `print' for Windows system, `lp' for lp system and `lpr' for\n all other systems. See also `pr-path-alist'.\n Examples:\n \"print\"\n \"lpr\"\n \"lp\"\n \"cp\"\n \"gsprint\"\n\nSWITCHES List of sexp's to pass as extra options for PostScript printer\n program. It is recommended to set NAME (see text below)\n instead of including an explicit switch on this list.\n Example:\n . for lpr\n (\"-#3\" \"-l\")\n nil\n\n . for gsprint.exe\n (\"-all\" \"-twoup\")\n\nPRINTER-SWITCH A string that specifies PostScript printer name switch. If\n it's necessary to have a space between PRINTER-SWITCH and NAME,\n it should be inserted at the end of PRINTER-SWITCH string.\n If PRINTER-SWITCH is nil, it's used the default printer name\n switch: `/D:' for Windows system, `-d' for lp system and `-P'\n for all other systems.\n Examples:\n . for lpr\n \"-P \"\n\n . for lp\n \"-d \"\n\n . for print.exe\n \"/D:\"\n\n . for gsprint.exe\n \"-printer \"\n\nNAME A string that specifies a PostScript printer name.\n On Unix-like systems, a string value should be a name\n understood by lpr's -P option (or lp's -d option).\n On MS-DOS and MS-Windows systems, it is the name of a printer\n device or port. Typical non-default settings would be \"LPT1:\"\n to \"LPT3:\" for parallel printers, or \"COM1\" to \"COM4\" or\n \"AUX\" for serial printers, or \"\\\\\\\\hostname\\\\printer\"\n (or \"/D:\\\\\\\\hostname\\\\printer\") for a shared network\n printer. You can also set it to a name of a file, in which\n case the output gets appended to that file. If you want to\n discard the printed output, set this to \"NUL\".\n Examples:\n . for cp.exe\n \"\\\\\\\\host\\\\share-name\"\n\n . for print.exe or gsprint.exe\n \"/D:\\\\\\\\host\\\\share-name\"\n \"\\\\\\\\host\\\\share-name\"\n \"LPT1:\"\n \"PRN\"\n\n . for lpr or lp\n \"share-name\"\n\nDEFAULT It's a way to set default values when this entry is selected.\n It's a cons like:\n\n (VARIABLE . VALUE)\n\n Which associates VARIABLE with VALUE. When this entry is\n selected, it's executed the following command:\n\n (set VARIABLE (eval VALUE))\n\n Note that VALUE can be any valid lisp expression. So, don't\n forget to quote symbols and constant lists.\n If VARIABLE is the special keyword `inherits-from:', VALUE must\n be a symbol name setting defined in `pr-setting-database' from\n which the current setting inherits the context. Take care with\n circular inheritance.\n Examples:\n (ps-landscape-mode . nil)\n (ps-spool-duplex . t)\n (pr-gs-device . (my-gs-device t))\n\nThis variable should be modified by customization engine. If this variable is\nmodified by other means (for example, a lisp function), use `pr-update-menus'\nfunction (see it for documentation) to update PostScript printer menu.\n\nExamples:\n\n* On GNU or Unix system:\n\n ((lps_06b \"lpr\" nil \"-P\" \"lps_06b\")\n (lps_07c \"lpr\" nil nil \"lps_07c\")\n (lps_08c nil nil nil \"lps_08c\")\n )\n\n* On Windows system:\n\n ((lps_06a \"print\" nil \"/D:\" \"\\\\\\\\printers\\\\lps_06a\")\n (lps_06b \"print\" nil nil \"\\\\\\\\printers\\\\lps_06b\")\n (lps_07c \"print\" nil \"\" \"/D:\\\\\\\\printers\\\\lps_07c\")\n (lps_08c nil nil nil \"\\\\\\\\printers\\\\lps_08c\")\n (b/w1 \"gsprint\" (\"-all\" \"-twoup\") \"-printer \" \"b/w-pr-name\")\n (b/w2 \"gsprint\" (\"-all\" \"-twoup\") nil \"-printer \\\\\\\\printers\\\\lps_06a\")\n (LPT1 \"\" nil \"\" \"LPT1:\")\n (PRN \"\" nil \"\" \"PRN\")\n (standard \"redpr.exe\" nil \"\" \"\")\n )\n\n\ngsprint:\n\nYou can use gsprint instead of ghostscript to print monochrome PostScript files\nin Windows. The gsprint utility documentation says that it is more efficient\nthan ghostscript to print monochrome PostScript.\n\nTo print non-monochrome PostScript file, the efficiency of ghostscript is\nsimilar to gsprint.\n\nAlso the gsprint utility comes together with gsview distribution.\n\nAs an example of gsprint declaration:\n\n (setq pr-ps-printer-alist\n \\='((A \"gsprint\" (\"-all\" \"-twoup\") \"-printer \" \"lps_015\")\n (B \"gsprint\" (\"-all\" \"-twoup\") nil \"-printer lps_015\")\n ;; some other printer declaration\n ))\n\nThe example above declares that printer A prints all pages (-all) and two pages\nper sheet (-twoup). The printer B declaration does the same as the printer A\ndeclaration, the only difference is the printer name selection.\n\nThere are other command line options like:\n\n -mono Render in monochrome as 1bit/pixel (only black and white).\n -grey Render in greyscale as 8bits/pixel.\n -color Render in color as 24bits/pixel.\n\nThe default is `-mono'. So, printer A and B in the example above are using\nimplicitly the `-mono' option. Note that in `-mono' no gray tone or color is\nprinted, this includes the zebra stripes, that is, in `-mono' the zebra stripes\nare not printed.\n\n\nUseful links:\n\n* GSPRINT - Ghostscript print to Windows printer\n `http://www.cs.wisc.edu/~ghost/gsview/gsprint.htm'\n\n* Introduction to Ghostscript\n `http://www.cs.wisc.edu/~ghost/doc/intro.htm'\n\n* How to use Ghostscript\n `http://www.cs.wisc.edu/~ghost/doc/cvs/Use.htm'\n\n* Information about the print command (print.exe)\n `http://www.computerhope.com/printhlp.htm'\n\n* RedMon - Redirection Port Monitor (redpr.exe)\n `http://www.cs.wisc.edu/~ghost/redmon/index.htm'\n\n* Redirection Port Monitor (redpr.exe on-line help)\n `http://www.cs.wisc.edu/~ghost/redmon/en/redmon.htm'\n\n* UNIX man pages: lpr (or type `man lpr')\n `http://bama.ua.edu/cgi-bin/man-cgi?lpr'\n `http://www.mediacollege.com/cgi-bin/man/page.cgi?section=all&topic=lpr'\n\n* UNIX man pages: lp (or type `man lp')\n `http://bama.ua.edu/cgi-bin/man-cgi?lp'\n `http://www.mediacollege.com/cgi-bin/man/page.cgi?section=all&topic=lp'\n\n* GNU utilities for w32 (cp.exe)\n `http://unxutils.sourceforge.net/'\n" (repeat (list :tag "PostScript Printer" (symbol :tag "Printer Symbol Name") (string :tag "Printer Command") (repeat :tag "Printer Switches" (sexp :tag "Switch" :value #1#)) (choice :menu-tag "Printer Name Switch" :tag "Printer Name Switch" (const :tag "None" nil) string) (choice :menu-tag "Printer Name" :tag "Printer Name" (const :tag "None" nil) string) (repeat :tag "Default Value List" :inline t (cons :tag #1# (choice :menu-tag "Variable" :tag "Variable" (const :tag "Landscape" ps-landscape-mode) (const :tag "Print Header" ps-print-header) (const :tag "Print Header Frame" ps-print-header-frame) (const :tag "Line Number" ps-line-number) (const :tag "Zebra Stripes" ps-zebra-stripes) (const :tag "Duplex" ps-spool-duplex) (const :tag "Tumble" ps-spool-tumble) (const :tag "Upside-Down" ps-print-upside-down) (const :tag "PS File Landscape" pr-file-landscape) (const :tag "PS File Duplex" pr-file-duplex) (const :tag "PS File Tumble" pr-file-tumble) (const :tag "Auto Region" pr-auto-region) (const :tag "Auto Mode" pr-auto-mode) (const :tag "Ghostscript Device" pr-gs-device) (const :tag "Ghostscript Resolution" pr-gs-resolution) (const :tag "inherits-from:" inherits-from:) (variable :tag "Other")) (sexp :tag "Value"))))) pr-temp-dir #[0 "\207" [temporary-file-directory] 1] "Specify a directory for temporary files during printing.\n\nSee also `pr-ps-temp-file' and `pr-file-modes'." (directory :tag "Temporary Directory") pr-ps-temp-file #[0 "\300\207" [#2="prspool-"] 1 #2#] "Specify PostScript temporary file name prefix.\n\nSee also `pr-temp-dir' and `pr-file-modes'." (file :tag "PostScript Temporary File Name") pr-file-modes #[0 "\300\207" [384] 1] "Specify the file permission bits for newly created files.\n\nIt should be an integer; only the low 9 bits are used.\n\nSee also `pr-temp-dir' and `pr-ps-temp-file'." (integer :tag "File Permission Bits") pr-gv-command #[0 "\203 \301\207\302\207" [lpr-windows-system "gsview32.exe" "gv"] 1] "Specify path and name of the gsview/gv utility.\n\nSee also `pr-path-alist'.\n\nUseful links:\n\n* GNU gv manual\n `https://www.gnu.org/software/gv/manual/gv.html'\n\n* GSview Help\n `http://www.cs.wisc.edu/~ghost/gsview/gsviewen.htm'\n\n* GSview Help - Common Problems\n `http://www.cs.wisc.edu/~ghost/gsview/gsviewen.htm#Common_Problems'\n\n* GSview Readme (compilation & installation)\n `http://www.cs.wisc.edu/~ghost/gsview/Readme.htm'\n\n* GSview (main site)\n `http://www.cs.wisc.edu/~ghost/gsview/index.htm'\n\n* Ghostscript, Ghostview and GSview\n `http://www.cs.wisc.edu/~ghost/'\n\n* Ghostview\n `http://www.cs.wisc.edu/~ghost/gv/index.htm'\n\n* gv 3.5, June 1997\n `http://www.cs.wisc.edu/~ghost/gv/gv_doc/gv.html'\n\n* MacGSView (Mac OS)\n `http://www.cs.wisc.edu/~ghost/macos/index.htm'\n" (string :tag "Ghostview Utility") pr-gs-command #[0 "\203 \301\207\302\207" [lpr-windows-system "gswin32.exe" "gs"] 1] "Specify path and name of the ghostscript utility.\n\nSee also `pr-path-alist'.\n\nUseful links:\n\n* Ghostscript, Ghostview and GSview\n `http://www.cs.wisc.edu/~ghost/'\n\n* Introduction to Ghostscript\n `http://www.cs.wisc.edu/~ghost/doc/intro.htm'\n\n* How to use Ghostscript\n `http://www.cs.wisc.edu/~ghost/doc/cvs/Use.htm'\n\n* Printer compatibility\n `http://www.cs.wisc.edu/~ghost/doc/printer.htm'\n" (string :tag "Ghostscript Utility") pr-gs-switches #[0 "\203 \301\207\302\207" [lpr-windows-system ("-q -dNOPAUSE -Ic:/gs/gs5.50;c:/gs/gs5.50/fonts") ("-q -dNOPAUSE -I/usr/share/ghostscript/5.10")] 1] "Specify ghostscript switches. See the documentation on GS for more info.\n\nIt's a list of strings, where each string is one or more ghostscript switches.\n\nA note on the gs switches:\n\n-q quiet\n-dNOPAUSE don't wait for user intervention\n-Ic:/gs/gs5.50;c:/gs/gs5.50/fonts the directories needed for gs\n-c quit it's added at the end to terminate gs\n\nTo see ghostscript documentation for more information:\n\n* On GNU or Unix system:\n - for full documentation, type: man gs\n - for brief documentation, type: gs -h\n\n* On Windows system:\n - for full documentation, see in a browser the file\n c:/gstools/gs5.50/index.html, that is, the file index.html which is\n located in the same directory as gswin32.exe.\n - for brief documentation, type: gswin32.exe -h\n\nUseful links:\n\n* Introduction to Ghostscript\n `http://www.cs.wisc.edu/~ghost/doc/intro.htm'\n\n* How to use Ghostscript\n `http://www.cs.wisc.edu/~ghost/doc/cvs/Use.htm'\n\n* Printer compatibility\n `http://www.cs.wisc.edu/~ghost/doc/printer.htm'\n" (repeat (string :tag "Ghostscript Switch")) pr-gs-device #[0 "\203 \301\207\302\207" [lpr-windows-system "mswinpr2" "uniprint"] 1] "Specify the ghostscript device switch value (-sDEVICE=).\n\nA note on the gs switches:\n\n-sDEVICE=djet500 the printer - works with HP DeskJet 540\n\nSee `pr-gs-switches' for documentation.\nSee also `pr-ps-printer-alist'." (string :tag "Ghostscript Device") pr-gs-resolution #[0 "\300\207" [300] 1] "Specify ghostscript resolution switch value (-r).\n\nA note on the gs switches:\n\n-r300 resolution 300x300\n\nSee `pr-gs-switches' for documentation.\nSee also `pr-ps-printer-alist'." (integer :tag "Ghostscript Resolution") pr-print-using-ghostscript #[0 "\300\207" [nil] 1] "Non-nil means print using ghostscript.\n\nThis is useful if you don't have a PostScript printer, so you could use the\nghostscript to print a PostScript file.\n\nIn GNU or Unix system, if ghostscript is set as a PostScript filter, this\nvariable should be nil." boolean pr-faces-p #[0 "\300\207" [nil] 1] "Non-nil means print with face attributes." pr-spool-p #[0 "\300\207" [nil] 1] "Non-nil means spool printing in a buffer." pr-file-landscape #[0 "\300\207" [nil] 1] "Non-nil means print PostScript file in landscape orientation." pr-file-duplex #[0 "\300\207" [nil] 1] "Non-nil means print PostScript file in duplex mode." pr-file-tumble #[0 "\300\207" [nil] 1] "Non-nil means print PostScript file in tumble mode.\n\nIf tumble is off, produces a printing suitable for binding on the left or\nright.\nIf tumble is on, produces a printing suitable for binding at the top or\nbottom." pr-auto-region #[0 "\300\207" [t] 1] "Non-nil means region is automagically detected.\n\nNote that this will only work if you're using transient mark mode.\n\nWhen this variable is non-nil, the `*-buffer*' commands will behave like\n`*-region*' commands, that is, `*-buffer*' commands will print only the region\nmarked instead of all buffer." pr-auto-mode #[0 "\300\207" [t] 1] "Non-nil means major-mode specific printing is preferred over normal printing.\n\nThat is, if current major-mode is declared in `pr-mode-alist', the `*-buffer*'\nand `*-region*' commands will behave like `*-mode*' commands; otherwise,\n`*-buffer*' commands will print the current buffer and `*-region*' commands\nwill print the current region." pr-mode-alist #[0 "\300\207" [((mh-folder-mode pr-mh-lpr-1 pr-mh-print-1 2 (ps-article-author ps-article-subject) ("/pagenumberstring load" pr-article-date) nil) (mh-letter-mode pr-mh-lpr-2 pr-mh-print-2 2 (ps-article-author ps-article-subject) ("/pagenumberstring load" pr-article-date) nil) (rmail-summary-mode pr-rmail-lpr pr-rmail-print 3 (ps-article-subject ps-article-author buffer-name) nil nil) (rmail-mode pr-rmail-lpr pr-rmail-print 3 (ps-article-subject ps-article-author buffer-name) nil nil) (gnus-summary-mode pr-gnus-lpr pr-gnus-print 3 (ps-article-subject ps-article-author gnus-newsgroup-name) nil nil) (gnus-article-mode pr-gnus-lpr pr-gnus-print 3 (ps-article-subject ps-article-author gnus-newsgroup-name) nil nil) (Info-mode pr-mode-lpr pr-mode-print 2 (ps-info-node ps-info-file) nil nil) (vm-mode pr-vm-lpr pr-vm-print 3 (ps-article-subject ps-article-author buffer-name) nil nil))] 1] "Specify an alist for a major-mode and printing functions.\n\nTo customize a major mode printing, just declare the customization in\n`pr-mode-alist' and invoke some of `*-mode*' commands. An example for major\nmode usage is when you're using gnus (or mh, or rmail, etc.) and you're in the\n*Summary* buffer, if you forget to switch to the *Article* buffer before\nprinting, you'll get a nicely formatted list of article subjects shows up at\nthe printer. With major mode printing you don't need to switch from gnus\n*Summary* buffer first.\n\nThe elements have the following form:\n\n (MAJOR-MODE\n LPR-PRINT PS-PRINT\n HEADER-LINES\n LEFT-HEADER\n RIGHT-HEADER\n KILL-LOCAL-VARIABLE\n DEFAULT...)\n\nWhere:\n\nMAJOR-MODE It's the major mode symbol.\n\nLPR-PRINT It's a symbol function for text printing. It's invoked with\n one argument:\n (HEADER-LINES LEFT-HEADER RIGHT-HEADER DEFAULT...).\n\n Usually LPR-PRINT function prepares the environment or buffer\n and then call the function `pr-mode-lpr' which it's used to\n process the buffer and send it to text printer.\n\n The `pr-mode-lpr' definition is:\n\n (pr-mode-lpr HEADER-LIST &optional FROM TO)\n\n Where HEADER-LIST is like the argument passed to LPR-PRINT.\n FROM and TO are the beginning and end markers, respectively,\n for a region. If FROM is nil, it's used (point-min); if TO is\n nil, it's used (point-max).\n\nPS-PRINT It's a symbol function for PostScript printing. It's invoked\n with three arguments: n-up printing, file name and the list:\n (HEADER-LINES LEFT-HEADER RIGHT-HEADER DEFAULT...).\n\n Usually PS-PRINT function prepares the environment or buffer\n and then call the function `pr-mode-print' which it's used to\n process the buffer and send it to PostScript printer.\n\n The `pr-mode-print' definition is:\n\n (pr-mode-print N-UP FILENAME HEADER-LIST &optional FROM TO)\n\n Where N-UP, FILENAME and HEADER-LIST are like the arguments\n passed to PS-PRINT. FROM and TO are the beginning and end\n markers, respectively, for a region. If TO is nil, it's used\n (point-max).\n\nHEADER-LINES It's the number of header lines; if is nil, it uses\n `ps-header-lines' value.\n\nLEFT-HEADER It's the left header part, it's a list of string, variable\n symbol or function symbol (with no argument); if is nil, it\n uses `ps-left-header' value.\n\nRIGHT-HEADER It's the right header part, it's a list of string, variable\n symbol or function symbol (with no argument); if is nil, it\n uses `ps-right-header' value.\n\nKILL-LOCAL-VARIABLE\n Non-nil means to kill all buffer local variable declared in\n DEFAULT (see below).\n\nDEFAULT It's a way to set default values when this entry is selected.\n It's a cons like:\n\n (VARIABLE-SYM . VALUE)\n\n Which associates VARIABLE-SYM with VALUE. When this entry is\n selected, it's executed the following command:\n\n (set (make-local-variable VARIABLE-SYM) (eval VALUE))\n\n Note that VALUE can be any valid lisp expression. So, don't\n forget to quote symbols and constant lists.\n If VARIABLE is the special keyword `inherits-from:', VALUE must\n be a symbol name setting defined in `pr-setting-database' from\n which the current setting inherits the context. Take care with\n circular inheritance.\n Examples:\n (ps-landscape-mode . nil)\n (ps-spool-duplex . t)\n (pr-gs-device . (my-gs-device t))" (repeat (list :tag #1# (symbol :tag "Major Mode") (function :tag "Text Printing Function") (function :tag "PS Printing Function") (choice :menu-tag "Number of Header Lines" :tag "Number of Header Lines" (integer :tag "Number") (const :tag "Default Number" nil)) (repeat :tag "Left Header List" (choice :menu-tag "Left Header" :tag "Left Header" string symbol)) (repeat :tag "Right Header List" (choice :menu-tag "Right Header" :tag "Right Header" string symbol)) (boolean :tag "Kill Local Variable At End") (repeat :tag "Default Value List" :inline t (cons :tag #1# (choice :menu-tag "Variable" :tag "Variable" (const :tag "Landscape" ps-landscape-mode) (const :tag "Print Header" ps-print-header) (const :tag "Print Header Frame" ps-print-header-frame) (const :tag "Line Number" ps-line-number) (const :tag "Zebra Stripes" ps-zebra-stripes) (const :tag "Duplex" ps-spool-duplex) (const :tag "Tumble" ps-spool-tumble) (const :tag "Upside-Down" ps-print-upside-down) (const :tag "PS File Landscape" pr-file-landscape) (const :tag "PS File Duplex" pr-file-duplex) (const :tag "PS File Tumble" pr-file-tumble) (const :tag "Auto Region" pr-auto-region) (const :tag "Auto Mode" pr-auto-mode) (const :tag "Ghostscript Device" pr-gs-device) (const :tag "Ghostscript Resolution" pr-gs-resolution) (const :tag "inherits-from:" inherits-from:) (variable :tag "Other")) (sexp :tag "Value"))))) pr-ps-utility #[0 "\300\207" [mpage] 1] "Specify PostScript utility symbol.\n\nThis utility symbol should be defined on `pr-ps-utility-alist' (see it for\ndocumentation).\n\nThis variable should be modified by customization engine. If this variable is\nmodified by other means (for example, a lisp function), use `pr-update-menus'\nfunction (see it for documentation) to update PostScript utility menu.\n\nNOTE: Don't forget to download and install the utilities declared on\n `pr-ps-utility-alist'." (symbol :tag "PS File Utility") pr-ps-utility-custom-set pr-ps-utility-alist #[0 "\300\207" [((mpage "mpage" nil "-b%s" "-%d" "-l" "-t" "-T" ">" nil) (psnup "psnup" ("-q") "-P%s" "-%d" "-l" nil nil " " nil (inherits-from: . no-duplex)))] 1] "Specify an alist for PostScript utility processing (PS utility database).\n\nThe alist element has the form:\n\n (SYMBOL UTILITY MUST-SWITCHES PAPERSIZE N-UP LANDSCAPE DUPLEX TUMBLE OUTPUT\n SWITCHES DEFAULT...)\n\nWhere:\n\nSYMBOL It's a symbol to identify a PostScript utility. It's for\n `pr-ps-utility' variable setting and for menu selection.\n Examples:\n mpage\n psnup\n\nUTILITY Name of utility for processing a PostScript file.\n See also `pr-path-alist'.\n Examples:\n . for GNU or Unix system:\n \"mpage\"\n \"psnup -q\"\n\n . for Windows system:\n \"c:/psutils/psnup -q\"\n\nMUST-SWITCHES List of sexp's to pass as options to the PostScript utility\n program. These options are necessary to process the utility\n program and must be placed before any other switches.\n Example:\n . for psnup:\n (\"-q\")\n\nPAPERSIZE It's a format string to specify paper size switch.\n Example:\n . for mpage\n \"-b%s\"\n\nN-UP It's a format string to specify n-up switch.\n Example:\n . for psnup\n \"-%d\"\n\nLANDSCAPE It's a string to specify landscape switch. If the utility\n doesn't have landscape switch, set to nil.\n Example:\n . for psnup\n \"-l\"\n\nDUPLEX It's a string to specify duplex switch. If the utility doesn't\n have duplex switch, set to nil.\n Example:\n . for psnup\n nil\n\nTUMBLE It's a string to specify tumble switch. If the utility doesn't\n have tumble switch, set to nil.\n Example:\n . for psnup\n nil\n\nOUTPUT It's a string to specify how to generate an output file. Some\n utilities accept an output file option, but some others need\n output redirection or some other way to specify an output file.\n Example:\n . for psnup\n \" \" ; psnup ... input output\n\n . for mpage\n \">\" ; mpage ... input > output\n\nSWITCHES List of sexp's to pass as extra options to the PostScript utility\n program.\n Example:\n . for psnup\n (\"-q\")\n nil\n\nDEFAULT It's a way to set default values when this entry is selected.\n It's a cons like:\n\n (VARIABLE . VALUE)\n\n Which associates VARIABLE with VALUE. When this entry is\n selected, it's executed the following command:\n\n (set VARIABLE (eval VALUE))\n\n Note that VALUE can be any valid lisp expression. So, don't\n forget to quote symbols and constant lists.\n If VARIABLE is the special keyword `inherits-from:', VALUE must\n be a symbol name setting defined in `pr-setting-database' from\n which the current setting inherits the context. Take care with\n circular inheritance.\n Examples:\n (pr-file-landscape . nil)\n (pr-file-duplex . t)\n (pr-gs-device . (my-gs-device t))\n\nThis variable should be modified by customization engine. If this variable is\nmodified by other means (for example, a lisp function), use `pr-update-menus'\nfunction (see it for documentation) to update PostScript utility menu.\n\nNOTE: Don't forget to download and install the utilities declared on\n `pr-ps-utility-alist'.\n\nExamples:\n\n* On GNU or Unix system:\n\n ((mpage \"mpage\" nil \"-b%s\" \"-%d\" \"-l\" \"-t\" \"-T\" \">\" nil)\n (psnup \"psnup\" (\"-q\") \"-P%s\" \"-%d\" \"-l\" nil nil \" \" nil\n (pr-file-duplex . nil) (pr-file-tumble . nil))\n )\n\n* On Windows system:\n\n ((psnup \"c:/psutils/psnup\" (\"-q\") \"-P%s\" \"-%d\" \"-l\" nil nil \" \"\n nil (pr-file-duplex . nil) (pr-file-tumble . nil))\n )\n\nUseful links:\n\n* mpage download (GNU or Unix)\n `http://www.mesa.nl/pub/mpage/'\n\n* mpage documentation (GNU or Unix - or type `man mpage')\n `http://www.cs.umd.edu/faq/guides/manual_unix/node48.html'\n `http://www.rt.com/man/mpage.1.html'\n\n* psnup (Windows, GNU or Unix)\n `http://www.knackered.org/angus/psutils/'\n `http://gershwin.ens.fr/vdaniel/Doc-Locale/Outils-Gnu-Linux/PsUtils/'\n\n* psnup (PsUtils for Windows)\n `http://gnuwin32.sourceforge.net/packages/psutils.htm'\n\n* psnup documentation (GNU or Unix - or type `man psnup')\n `http://linux.about.com/library/cmd/blcmdl1_psnup.htm'\n `http://amath.colorado.edu/computing/software/man/psnup.html'\n\n* GNU Enscript (Windows, GNU or Unix)\n `http://people.ssh.com/mtr/genscript/'\n\n* GNU Enscript documentation (Windows, GNU or Unix)\n `http://people.ssh.com/mtr/genscript/enscript.man.html'\n (on GNU or Unix, type `man enscript')\n" (repeat (list :tag "PS File Utility" (symbol :tag "Utility Symbol") (string :tag "Utility Name") (repeat :tag "Must Utility Switches" (sexp :tag "Switch" :value #1#)) (choice :menu-tag "Paper Size" :tag "Paper Size" (const :tag "No Paper Size" nil) (string :tag "Paper Size Format")) (choice :menu-tag "N-Up" :tag "N-Up" (const :tag "No N-Up" nil) (string :tag "N-Up Format")) (choice :menu-tag "Landscape" :tag "Landscape" (const :tag "No Landscape" nil) (string :tag "Landscape Switch")) (choice :menu-tag "Duplex" :tag "Duplex" (const :tag "No Duplex" nil) (string :tag "Duplex Switch")) (choice :menu-tag "Tumble" :tag "Tumble" (const :tag "No Tumble" nil) (string :tag "Tumble Switch")) (string :tag "Output Separator") (repeat :tag "Utility Switches" (sexp :tag "Switch" :value #1#)) (repeat :tag "Default Value List" :inline t (cons :tag #1# (choice :menu-tag "Variable" :tag "Variable" (const :tag "PS File Landscape" pr-file-landscape) (const :tag "PS File Duplex" pr-file-duplex) (const :tag "PS File Tumble" pr-file-tumble) (const :tag "Ghostscript Device" pr-gs-device) (const :tag "Ghostscript Resolution" pr-gs-resolution) (const :tag "inherits-from:" inherits-from:) (variable :tag "Other")) (sexp :tag "Value"))))) pr-menu-lock #[0 "\300\207" [t] 1] "Non-nil means menu is locked while selecting toggle options.\n\nSee also `pr-menu-char-height' and `pr-menu-char-width'." pr-menu-char-height #[0 "\300 \207" [frame-char-height] 1] "Specify menu char height in pixels.\n\nThis variable is used to guess which vertical position should be locked the\nmenu, so don't forget to adjust it if menu position is not ok.\n\nSee also `pr-menu-lock' and `pr-menu-char-width'." integer pr-menu-char-width #[0 "\300 \207" [frame-char-width] 1] "Specify menu char width in pixels.\n\nThis variable is used to guess which horizontal position should be locked the\nmenu, so don't forget to adjust it if menu position is not ok.\n\nSee also `pr-menu-lock' and `pr-menu-char-height'." pr-setting-database #[0 "\300\207" [((no-duplex nil nil nil (pr-file-duplex) (pr-file-tumble)))] 1] "Specify an alist for settings in general.\n\nThe elements have the following form:\n\n (SYMBOL INHERITS LOCAL KILL-LOCAL SETTING...)\n\nWhere:\n\nSYMBOL It's a symbol to identify the setting group.\n\nINHERITS Specify the inheritance for SYMBOL group. It's a symbol name\n setting from which the current setting inherits the context.\n If INHERITS is nil, means that there is no inheritance.\n This is a simple inheritance mechanism.\n\n Let's see an example to illustrate the inheritance mechanism:\n\n (setq pr-setting-database\n \\='((no-duplex ; setting symbol name\n nil ; inherits\n nil nil ; local kill-local\n (pr-file-duplex . nil) ; settings\n (pr-file-tumble . nil)\n )\n (no-duplex-and-landscape ; setting symbol name\n no-duplex ; inherits\n nil nil ; local kill-local\n (pr-file-landscape . nil) ; settings\n )))\n\n The example above has two setting groups: no-duplex and\n no-duplex-and-landscape. When setting no-duplex is activated\n through `inherits-from:' (see option `pr-ps-utility',\n `pr-mode-alist' and `pr-ps-printer-alist'), the variables\n pr-file-duplex and pr-file-tumble are both set to nil.\n\n Now when setting no-duplex-and-landscape is activated through\n `inherits-from:', the variable pr-file-landscape is set to nil\n and also the settings for no-duplex are done, because\n no-duplex-and-landscape inherits settings from no-duplex.\n\n Take care with circular inheritance. It's an error if circular\n inheritance happens.\n\nLOCAL Non-nil means that all settings for SYMBOL group will be\n declared local buffer.\n\nKILL-LOCAL Non-nil means that all settings for SYMBOL group will be\n killed at end. It has effect only when LOCAL is non-nil.\n\nSETTING It's a cons like:\n\n (VARIABLE . VALUE)\n\n Which associates VARIABLE with VALUE. When this entry is\n selected, it's executed the following command:\n\n * If LOCAL is non-nil:\n (set (make-local-variable VARIABLE) (eval VALUE))\n\n * If LOCAL is nil:\n (set VARIABLE (eval VALUE))\n\n Note that VALUE can be any valid lisp expression. So, don't\n forget to quote symbols and constant lists.\n This setting is ignored if VARIABLE is equal to keyword\n `inherits-from:'.\n Examples:\n (ps-landscape-mode . nil)\n (ps-spool-duplex . t)\n (pr-gs-device . (my-gs-device t))" (repeat (list :tag #1# (symbol :tag "Setting Name") (choice :menu-tag "Inheritance" :tag "Inheritance" (const :tag "No Inheritance" nil) (symbol :tag "Inherits From")) (boolean :tag "Local Buffer Setting") (boolean :tag "Kill Local Variable At End") (repeat :tag "Setting List" :inline t (cons :tag #1# (choice :menu-tag "Variable" :tag "Variable" (const :tag "Landscape" ps-landscape-mode) (const :tag "Print Header" ps-print-header) (const :tag "Print Header Frame" ps-print-header-frame) (const :tag "Line Number" ps-line-number) (const :tag "Zebra Stripes" ps-zebra-stripes) (const :tag "Duplex" ps-spool-duplex) (const :tag "Tumble" ps-spool-tumble) (const :tag "Upside-Down" ps-print-upside-down) (const :tag "PS File Landscape" pr-file-landscape) (const :tag "PS File Duplex" pr-file-duplex) (const :tag "PS File Tumble" pr-file-tumble) (const :tag "Auto Region" pr-auto-region) (const :tag "Auto Mode" pr-auto-mode) (const :tag "Ghostscript Device" pr-gs-device) (const :tag "Ghostscript Resolution" pr-gs-resolution) (variable :tag "Other")) (sexp :tag "Value"))))) pr-visible-entry-list #[0 "\300\207" [(postscript text postscript-options postscript-process printing help)] 1] "Specify a list of Printing menu visible entries.\n\nValid values with the corresponding menu parts are:\n\n +------------------------------+\n | Printing Interface |\n +------------------------------+\n `postscript' | PostScript Preview >|\n | PostScript Print >|\n | PostScript Printer: name >|\n +------------------------------+\n `text' | Printify >|\n | Print >|\n | Text Printer: name >|\n +------------------------------+\n `postscript-options' |[ ] Landscape |\n |[ ] Print Header |\n |[ ] Print Header Frame |\n |[ ] Line Number |\n |[ ] Zebra Stripes |\n |[ ] Duplex |\n |[ ] Tumble |\n |[ ] Upside-Down |\n | Print All Pages >|\n +------------------------------+\n `postscript-process' |[ ] Spool Buffer |\n |[ ] Print with faces |\n |[ ] Print via Ghostscript |\n +------------------------------+\n `printing' |[ ] Auto Region |\n |[ ] Auto Mode |\n |[ ] Menu Lock |\n +------------------------------+\n `help' | Customize >|\n | Show Settings >|\n | Help |\n +------------------------------+\n\nAny other value is ignored." (repeat :tag "Menu Visible Part" (choice :menu-tag "Menu Part" :tag "Menu Part" (const postscript) (const text) (const postscript-options) (const postscript-process) (const printing) (const help))) pr-delete-temp-file #[0 "\300\207" [t] 1] "Non-nil means delete temporary files.\n\nSet `pr-delete-temp-file' to nil, if the following message (or a similar)\nhappens when printing:\n\n Error: could not open \"c:\\temp\\prspool.ps\" for reading." pr-list-directory #[0 "\300\207" [nil] 1] "Non-nil means list directory when processing a directory.\n\nThat is, any subdirectories (and the superdirectory) of the directory (given as\nargument of functions below) are also printed (as dired-mode listings).\n\nIt's used by `pr-ps-directory-preview', `pr-ps-directory-using-ghostscript',\n`pr-ps-directory-print', `pr-ps-directory-ps-print', `pr-printify-directory'\nand `pr-txt-directory'." pr-buffer-name #[0 "\300\207" [#3="*Printing Interface*"] 1 #3#] "Specify the name of the buffer interface for printing package.\n\nIt's used by `pr-interface'." string pr-buffer-name-ignore #[0 "\301!\302D\207" [pr-buffer-name regexp-quote "^ .*$"] 2] "Specify a regexp list for buffer names to be ignored in interface buffer.\n\nNOTE: Case is important for matching, that is, `case-fold-search' is always\n nil.\n\nIt's used by `pr-interface'." (repeat (regexp :tag "Buffer Name Regexp")) pr-buffer-verbose #[0 "\300\207" [t] 1] "Non-nil means to be verbose when editing a field in interface buffer.\n\nIt's used by `pr-interface'."] 16) #@71 Name of program for printing a text file. See `pr-txt-printer-alist'. (defvar pr-txt-command nil (#$ . 51445)) #@98 List of sexp's to pass as extra options to the text printer program. See `pr-txt-printer-alist'. (defvar pr-txt-switches nil (#$ . 51562)) #@56 Specify text printer name. See `pr-txt-printer-alist'. (defvar pr-txt-printer nil (#$ . 51707)) #@76 Name of program for printing a PostScript file. See `pr-ps-printer-alist'. (defvar pr-ps-command nil (#$ . 51809)) #@103 List of sexp's to pass as extra options to the PostScript printer program. See `pr-ps-printer-alist'. (defvar pr-ps-switches nil (#$ . 51931)) #@68 Specify PostScript printer name switch. See `pr-ps-printer-alist'. (defvar pr-ps-printer-switch nil (#$ . 52080)) #@61 Specify PostScript printer name. See `pr-ps-printer-alist'. (defvar pr-ps-printer nil (#$ . 52200)) #@12 (fn KEY) (defalias 'pr-visible-p #[257 "\211>\207" [pr-visible-entry-list] 3 (#$ . 52306)]) (put 'pr-visible-p 'byte-optimizer 'byte-compile-inline-expand) (defalias 'pr-mode-alist-p #[0 " \236A\207" [major-mode pr-mode-alist] 2]) (put 'pr-mode-alist-p 'byte-optimizer 'byte-compile-inline-expand) (defalias 'pr-auto-mode-p #[0 "\205 \n\236A\207" [pr-auto-mode major-mode pr-mode-alist] 2]) (put 'pr-auto-mode-p 'byte-optimizer 'byte-compile-inline-expand) (defalias 'pr-using-ghostscript-p #[0 "\205 ?\207" [pr-print-using-ghostscript pr-spool-p] 1]) (put 'pr-using-ghostscript-p 'byte-optimizer 'byte-compile-inline-expand) (defconst pr-menu-spec '(["Printing Interface" pr-interface :help "Use buffer interface instead of menu interface"] "--" ("PostScript Preview" :included (pr-visible-p 'postscript) :help "Preview PostScript instead of sending to printer" ("Directory" :active (not pr-spool-p) ["1-up" (pr-ps-directory-preview 1 nil nil t) t] ["2-up" (pr-ps-directory-preview 2 nil nil t) t] ["4-up" (pr-ps-directory-preview 4 nil nil t) t] ["Other..." (pr-ps-directory-preview nil nil nil t) :keys "\\[pr-ps-buffer-preview]"]) ("Buffer" :active (not pr-spool-p) ["1-up" (pr-ps-buffer-preview 1 t) t] ["2-up" (pr-ps-buffer-preview 2 t) t] ["4-up" (pr-ps-buffer-preview 4 t) t] ["Other..." (pr-ps-buffer-preview nil t) :keys "\\[pr-ps-buffer-preview]"]) ("Region" :active (and (not pr-spool-p) (ps-mark-active-p)) ["1-up" (pr-ps-region-preview 1 t) t] ["2-up" (pr-ps-region-preview 2 t) t] ["4-up" (pr-ps-region-preview 4 t) t] ["Other..." (pr-ps-region-preview nil t) :keys "\\[pr-ps-region-preview]"]) ("Mode" :active (and (not pr-spool-p) (pr-mode-alist-p)) ["1-up" (pr-ps-mode-preview 1 t) t] ["2-up" (pr-ps-mode-preview 2 t) t] ["4-up" (pr-ps-mode-preview 4 t) t] ["Other..." (pr-ps-mode-preview nil t) :keys "\\[pr-ps-mode-preview]"]) ("File" ["No Preprocessing..." (call-interactively 'pr-ps-file-preview) :keys "\\[pr-ps-file-preview]" :help "Preview PostScript file"] "--" ["PostScript Utility" pr-update-menus :active pr-ps-utility-alist :help "Select PostScript utility"] "--" ["1-up..." (pr-ps-file-up-preview 1 t t) pr-ps-utility-alist] ["2-up..." (pr-ps-file-up-preview 2 t t) pr-ps-utility-alist] ["4-up..." (pr-ps-file-up-preview 4 t t) pr-ps-utility-alist] ["Other..." (pr-ps-file-up-preview nil t t) :keys "\\[pr-ps-file-up-preview]" :active pr-ps-utility-alist] "--" ["Landscape" pr-toggle-file-landscape-menu :style toggle :selected pr-file-landscape :help "Toggle landscape for PostScript file" :active pr-ps-utility-alist] ["Duplex" pr-toggle-file-duplex-menu :style toggle :selected pr-file-duplex :help "Toggle duplex for PostScript file" :active pr-ps-utility-alist] ["Tumble" pr-toggle-file-tumble-menu :style toggle :selected pr-file-tumble :help "Toggle tumble for PostScript file" :active (and pr-file-duplex pr-ps-utility-alist)]) ["Despool..." (call-interactively 'pr-despool-preview) :active pr-spool-p :keys "\\[pr-despool-preview]" :help "Despool PostScript buffer to printer or file (C-u)"]) ("PostScript Print" :included (pr-visible-p 'postscript) :help "Send PostScript to printer or file (C-u)" ("Directory" ["1-up" (pr-ps-directory-ps-print 1 nil nil t) t] ["2-up" (pr-ps-directory-ps-print 2 nil nil t) t] ["4-up" (pr-ps-directory-ps-print 4 nil nil t) t] ["Other..." (pr-ps-directory-ps-print nil nil nil t) :keys "\\[pr-ps-buffer-ps-print]"]) ("Buffer" ["1-up" (pr-ps-buffer-ps-print 1 t) t] ["2-up" (pr-ps-buffer-ps-print 2 t) t] ["4-up" (pr-ps-buffer-ps-print 4 t) t] ["Other..." (pr-ps-buffer-ps-print nil t) :keys "\\[pr-ps-buffer-ps-print]"]) ("Region" :active (ps-mark-active-p) ["1-up" (pr-ps-region-ps-print 1 t) t] ["2-up" (pr-ps-region-ps-print 2 t) t] ["4-up" (pr-ps-region-ps-print 4 t) t] ["Other..." (pr-ps-region-ps-print nil t) :keys "\\[pr-ps-region-ps-print]"]) ("Mode" :active (pr-mode-alist-p) ["1-up" (pr-ps-mode-ps-print 1 t) t] ["2-up" (pr-ps-mode-ps-print 2 t) t] ["4-up" (pr-ps-mode-ps-print 4 t) t] ["Other..." (pr-ps-mode-ps-print nil t) :keys "\\[pr-ps-mode-ps-print]"]) ("File" ["No Preprocessing..." (call-interactively 'pr-ps-file-ps-print) :keys "\\[pr-ps-file-ps-print]" :help "Send PostScript file to printer"] "--" ["PostScript Utility" pr-update-menus :active pr-ps-utility-alist :help "Select PostScript utility"] "--" ["1-up..." (pr-ps-file-up-ps-print 1 t t) pr-ps-utility-alist] ["2-up..." (pr-ps-file-up-ps-print 2 t t) pr-ps-utility-alist] ["4-up..." (pr-ps-file-up-ps-print 4 t t) pr-ps-utility-alist] ["Other..." (pr-ps-file-up-ps-print nil t t) :keys "\\[pr-ps-file-up-ps-print]" :active pr-ps-utility-alist] "--" ["Landscape" pr-toggle-file-landscape-menu :style toggle :selected pr-file-landscape :help "Toggle landscape for PostScript file" :active pr-ps-utility-alist] ["Duplex" pr-toggle-file-duplex-menu :style toggle :selected pr-file-duplex :help "Toggle duplex for PostScript file" :active pr-ps-utility-alist] ["Tumble" pr-toggle-file-tumble-menu :style toggle :selected pr-file-tumble :help "Toggle tumble for PostScript file" :active (and pr-file-duplex pr-ps-utility-alist)]) ["Despool..." (call-interactively 'pr-despool-ps-print) :active pr-spool-p :keys "\\[pr-despool-ps-print]" :help "Despool PostScript buffer to printer or file (C-u)"]) ["PostScript Printers" pr-update-menus :active pr-ps-printer-alist :included (pr-visible-p 'postscript) :help "Select PostScript printer"] "--" ("Printify" :included (pr-visible-p 'text) :help "Replace non-printing chars with printable representations." ["Directory" pr-printify-directory t] ["Buffer" pr-printify-buffer t] ["Region" pr-printify-region (ps-mark-active-p)]) ("Print" :included (pr-visible-p 'text) :help "Send text to printer" ["Directory" pr-txt-directory t] ["Buffer" pr-txt-buffer t] ["Region" pr-txt-region (ps-mark-active-p)] ["Mode" pr-txt-mode (pr-mode-alist-p)]) ["Text Printers" pr-update-menus :active pr-txt-printer-alist :included (pr-visible-p 'text) :help "Select text printer"] "--" ["Landscape" pr-toggle-landscape-menu :style toggle :selected ps-landscape-mode :included (pr-visible-p 'postscript-options)] ["Print Header" pr-toggle-header-menu :style toggle :selected ps-print-header :included (pr-visible-p 'postscript-options)] ["Print Header Frame" pr-toggle-header-frame-menu :style toggle :selected ps-print-header-frame :active ps-print-header :included (pr-visible-p 'postscript-options)] ["Line Number" pr-toggle-line-menu :style toggle :selected ps-line-number :included (pr-visible-p 'postscript-options)] ["Zebra Stripes" pr-toggle-zebra-menu :style toggle :selected ps-zebra-stripes :included (pr-visible-p 'postscript-options)] ["Duplex" pr-toggle-duplex-menu :style toggle :selected ps-spool-duplex :included (pr-visible-p 'postscript-options)] ["Tumble" pr-toggle-tumble-menu :style toggle :selected ps-spool-tumble :active ps-spool-duplex :included (pr-visible-p 'postscript-options)] ["Upside-Down" pr-toggle-upside-down-menu :style toggle :selected ps-print-upside-down :included (pr-visible-p 'postscript-options)] ("Print All Pages" :included (pr-visible-p 'postscript-options) :help "Select odd/even pages/sheets to print" ["All Pages" (pr-even-or-odd-pages nil) :style radio :selected (eq ps-even-or-odd-pages nil)] ["Even Pages" (pr-even-or-odd-pages 'even-page) :style radio :selected (eq ps-even-or-odd-pages 'even-page)] ["Odd Pages" (pr-even-or-odd-pages 'odd-page) :style radio :selected (eq ps-even-or-odd-pages 'odd-page)] ["Even Sheets" (pr-even-or-odd-pages 'even-sheet) :style radio :selected (eq ps-even-or-odd-pages 'even-sheet)] ["Odd Sheets" (pr-even-or-odd-pages 'odd-sheet) :style radio :selected (eq ps-even-or-odd-pages 'odd-sheet)]) "--" ["Spool Buffer" pr-toggle-spool-menu :style toggle :selected pr-spool-p :included (pr-visible-p 'postscript-process) :help "Toggle PostScript spooling"] ["Print with faces" pr-toggle-faces-menu :style toggle :selected pr-faces-p :included (pr-visible-p 'postscript-process) :help "Toggle PostScript printing with faces"] ["Print via Ghostscript" pr-toggle-ghostscript-menu :style toggle :selected pr-print-using-ghostscript :included (pr-visible-p 'postscript-process) :help "Toggle PostScript generation using ghostscript"] "--" ["Auto Region" pr-toggle-region-menu :style toggle :selected pr-auto-region :included (pr-visible-p 'printing)] ["Auto Mode" pr-toggle-mode-menu :style toggle :selected pr-auto-mode :included (pr-visible-p 'printing)] ["Menu Lock" pr-toggle-lock-menu :style toggle :selected pr-menu-lock :included (pr-visible-p 'printing)] "--" ("Customize" :included (pr-visible-p 'help) ["printing" pr-customize t] ["ps-print" ps-print-customize t] ["lpr" lpr-customize t]) ("Show Settings" :included (pr-visible-p 'help) ["printing" pr-show-pr-setup t] ["ps-print" pr-show-ps-setup t] ["lpr" pr-show-lpr-setup t]) ["Help" pr-help :active t :included (pr-visible-p 'help)])) #@153 Install `printing' menu in the menubar. This replaces the File/Print* menu entries with a File/Print sub-menu. Calls `pr-update-menus' to adjust menus. (defalias 'pr-menu-bind #[0 "\301!\210\302\303!\207" [pr-menu-spec pr-global-menubar pr-update-menus t] 2 (#$ . 61178) nil]) (byte-code "\300\301\302\"\210\300\303\304\"\210\300\305\304\"\210\300\306\307\"\210\300\310\307\"\207" [global-set-key [print] pr-ps-fast-fire [(meta print)] pr-ps-mode-using-ghostscript [(shift print)] [(control print)] pr-txt-fast-fire [(control meta print)]] 3) #@24 Printing help message. (defconst pr-help-message (concat "printing.el version " pr-version " ps-print.el version " ps-print-version "\n\n\nMenu Layout\n-----------\n\nThe `printing' menu (Tools/Printing or File/Print) has the following layout:\n\n +-----------------------------+\nA 0 | Printing Interface |\n +-----------------------------+ +-A---------+ +-B------+\nI 1 | PostScript Preview >|-------|Directory >|-----|1-up |\n 2 | PostScript Print >|---- A |Buffer >|-- B |2-up |\n 3 | PostScript Printer: name >|---- C |Region >|-- B |4-up |\n +-----------------------------+ |Mode >|-- B |Other...|\nII 4 | Printify >|-----\\ |File >|--\\ +--------+\n 5 | Print >|---\\ | |Despool... | |\n 6 | Text Printer: name >|-\\ | | +-----------+ |\n +-----------------------------+ | | | +---------+ +------------+\nIII 7 |[ ]Landscape | | | \\-|Directory| | No Prep... | Ia\n 8 |[ ]Print Header | | | |Buffer | +------------+ Ib\n 9 |[ ]Print Header Frame | | | |Region | | name >|- C\n 10 |[ ]Line Number | | | +---------+ +------------+\n 11 |[ ]Zebra Stripes | | | +---------+ | 1-up... | Ic\n 12 |[ ]Duplex | | \\---|Directory| | 2-up... |\n 13 |[ ]Tumble | \\--\\ |Buffer | | 4-up... |\n 14 |[ ]Upside-Down | | |Region | | Other... |\n 15 | Print All Pages >|--\\ | |Mode | +------------+\n +-----------------------------+ | | +---------+ |[ ]Landscape| Id\nIV 16 |[ ]Spool Buffer | | | +-C-------+ |[ ]Duplex | Ie\n 17 |[ ]Print with faces | | \\--|( )name A| |[ ]Tumble | If\n 18 |[ ]Print via Ghostscript | | |( )name B| +------------+\n +-----------------------------+ | |... |\nV 19 |[ ]Auto Region | | |(*)name |\n 20 |[ ]Auto Mode | | |... |\n 21 |[ ]Menu Lock | | +---------+ +--------------+\n +-----------------------------+ \\------------------|(*)All Pages |\nVI 22 | Customize >|--- D +-D------+ |( )Even Pages |\n 23 | Show Settings >|-------|printing| |( )Odd Pages |\n 24 | Help | |ps-print| |( )Even Sheets|\n +-----------------------------+ |lpr | |( )Odd Sheets |\n +--------+ +--------------+\n\nSee `pr-visible-entry-list' for hiding some parts of the menu.\n\nThe menu has the following sections:\n\nA. Interface:\n\n 0. You can use a buffer interface instead of menus. It looks like the\n customization buffer. Basically, it has the same options found in the\n menu and some extra options, all this on a buffer.\n\nI. PostScript printing:\n\n 1. You can generate a PostScript file (if you type C-u before activating\n menu) or PostScript temporary file for a directory, a buffer, a region\n or a major mode, choosing 1-up, 2-up, 4-up or any other n-up printing;\n after file generation, ghostview is activated using the file generated\n as argument. This option is disabled if spooling is on (option 16).\n Also, if you already have a PostScript file you can preview it.\n Instead of previewing each buffer, region or major mode at once, you\n can save temporarily the PostScript code generated in a buffer and\n preview it later. The option `Despool...' despools the PostScript\n spooling buffer in a temporary file and uses ghostview to preview it.\n If you type C-u before choosing this option, the PostScript code\n generated is saved in a file instead of saving in a temporary file. To\n spool the PostScript code generated you need to turn on the option 16.\n The option `Despool...' is enabled if spooling is on (option 16).\n\n NOTE 1: It's possible to customize a major mode printing, just declare\n the customization in `pr-mode-alist' and invoke some of\n `*-mode*' commands or select Mode option in Printing menu. An\n example for major mode usage is when you're using gnus (or mh,\n or rmail, etc.) and you're in the *Summary* buffer, if you\n forget to switch to the *Article* buffer before printing,\n you'll get a nicely formatted list of article subjects shows\n up at the printer. With major mode printing you don't need to\n switch from gnus *Summary* buffer first.\n\n NOTE 2: There are the following options for PostScript file processing:\n Ia. Print the file *No Preprocessing*, that is, send it\n directly to PostScript printer.\n Ib. PostScript utility processing selection.\n See `pr-ps-utility-alist' and `pr-setting-database' for\n documentation.\n Ic. Do n-up processing before printing.\n Id. Toggle on/off landscape for PostScript file processing.\n Ie. Toggle on/off duplex for PostScript file processing.\n If. Toggle on/off tumble for PostScript file processing.\n\n NOTE 3: Don't forget to download and install the utilities declared on\n `pr-ps-utility-alist'.\n\n 2. Operate the same way as option 1, but it sends directly the PostScript\n code (or put in a file, if you've typed C-u) or it uses ghostscript to\n print the PostScript file generated. It depends on option 18, if it's\n turned on, it uses ghostscript; otherwise, it sends directly to\n printer. If spooling is on (option 16), the PostScript code is saved\n temporarily in a buffer instead of printing it or saving it in a file.\n Also, if you already have a PostScript file you can print it.\n Instead of printing each buffer, region or major mode at once, you can\n save temporarily the PostScript code generated in a buffer and print it\n later. The option `Despool...' despools the PostScript spooling buffer\n directly on a printer. If you type C-u before choosing this option,\n the PostScript code generated is saved in a file instead of sending it to\n the printer. To spool the PostScript code generated you need to turn on\n option 16. This option is enabled if spooling is on (option 16).\n See also the NOTE 1, NOTE 2 and NOTE 3 on option 1.\n\n 3. You can select a new PostScript printer to send PostScript code\n generated. For selection it's used all PostScript printers defined\n in `pr-ps-printer-alist' variable (see it for documentation).\n See also `pr-setting-database'.\n\nII. Text printing:\n\n 4. If you have control characters (character code from \\000 to \\037) in a\n buffer and you want to print them in a text printer, select this\n option. All control characters in your buffer or region will be\n replaced by a printable representation. The printable representations\n use ^ (for ASCII control characters) or hex. The characters tab,\n linefeed, space, return and formfeed are not affected.\n You don't need to select this option if you use any option of section\n I, the PostScript engine treats control characters properly.\n\n 5. If you want to print a directory, buffer, region or major mode in a\n text printer, select this option. See also the NOTE 1 on option 1.\n\n 6. You can select a new text printer to send text generated. For\n selection it's used all text printers defined in `pr-txt-printer-alist'\n variable (see it for documentation).\n See also `pr-setting-database'.\n\nIII. PostScript page toggle options:\n\n 7. If you want a PostScript landscape printing, turn on this option.\n\n 8. If you want to have a header in each page in your PostScript code,\n turn on this option.\n\n 9. If you want to draw a gaudy frame around the header, turn on this\n option. This option is enabled if print header is on (option 8).\n\n 10. If you want that the line number is printed in your PostScript code,\n turn on this option.\n\n 11. If you want background zebra stripes in your PostScript code, turn on\n this option.\n\n 12. If you want a duplex printing and your PostScript printer has this\n feature, turn on this option.\n\n 13. If you turned on duplex printing, you can choose if you want to have a\n printing suitable for binding on the left or right (tumble off), or to\n have a printing suitable for binding at top or bottom (tumble on).\n This option is enabled if duplex is on (option 12).\n\n 14. If you want a PostScript upside-down printing, turn on this option.\n\n 15. With this option, you can choose if you want to print all pages, odd\n pages, even pages, odd sheets or even sheets.\n See also `ps-even-or-odd-pages'.\n\nIV. PostScript processing toggle options:\n\n 16. If you want to spool the PostScript code generated, turn on this\n option. To spool the PostScript code generated use option 2. You can\n despool later by choosing option 1 or 2, sub-option `Despool...'.\n\n 17. If you use colors in your buffers and want to see these colors on your\n PostScript code generated, turn on this option. If you have a\n black/white PostScript printer, these colors are displayed in gray\n scale by PostScript printer interpreter.\n\n 18. If you don't have a PostScript printer to send PostScript files, turn\n on this option. When this option is on, the ghostscript is used to\n print PostScript files. In GNU or Unix system, if ghostscript is set\n as a PostScript filter, you don't need to turn on this option.\n\nV. Printing customization:\n\n 19. If you want that region is automagically detected, turn on this\n option. Note that this will only work if you're using transient mark\n mode. When this option is on, the `*-buffer*' commands will behave\n like `*-region*' commands, that is, `*-buffer*' commands will print\n only the region marked instead of all buffer.\n\n 20. Turn this option on if you want that when current major-mode is\n declared in `pr-mode-alist', the `*-buffer*' and `*-region*' commands\n behave like `*-mode*' commands.\n\n 21. If you want that Printing menu stays open while you are setting\n toggle options, turn on this option. The variables\n `pr-menu-char-height' and `pr-menu-char-width' are used to guess the\n menu position, so don't forget to adjust these variables if menu\n position is not ok.\n\nVI. Customization:\n\n 22. Besides all options in section III, IV and V, you can customize much\n more PostScript options in `ps-print' option. Or you can customize\n some `lpr' options for text printing. Or customize `printing'\n options.\n\n 23. Show current settings for `printing', `ps-print' or `lpr'.\n\n 24. Quick help for printing menu layout.\n") (#$ . 61728)) #@41 Printing buffer interface help message. (defconst pr-interface-help-message (concat "printing.el version " pr-version " ps-print.el version " ps-print-version "\n\n\nThe printing interface buffer has the same functionality as the printing menu.\nThe major difference is that the states (like sending PostScript generated to a\nfile, n-up printing, etc.) are set and saved between printing buffer\nactivation. Also, the landscape, duplex and tumble values are the same for\nPostScript file and directory/buffer/region/mode processing; using menu, there\nare different value sets for PostScript file and directory/buffer/region/mode\nprocessing.\n\nThe printing interface buffer has the following sections:\n\n1. Print:\n\n Here you can choose to print/preview a buffer, a directory or a PostScript\n file:\n\n 1a. Buffer:\n\n * Buffer List:\n Select a buffer from the current buffer list.\n\n * Region:\n If it's on, this means that the selected buffer has an active region,\n so you can turn on/off, as you wish.\n If it's off when a buffer is selected, this means that the selected\n buffer has no active region, so it'll not be possible to turn it on.\n If you want to process the region, let this option on.\n If you want to process the whole buffer, let this option off.\n\n * Mode:\n If it's on, this means that the selected buffer major mode is declared\n for major mode processing, so you can turn on/off, as you wish.\n If it's off when a buffer is selected, this means that the selected\n buffer major mode isn't declared for major mode processing, so it'll\n not be possible to turn it on.\n If you want the major mode processing, let this option on.\n If you don't want the major mode processing, let this option off.\n\n NOTE 1: It's possible to customize a major mode printing, just declare\n the customization in `pr-mode-alist' and invoke some of\n `*-mode*' commands or select Mode option in Printing menu. An\n example for major mode usage is when you're using gnus (or mh,\n or rmail, etc.) and you're in the *Summary* buffer, if you\n forget to switch to the *Article* buffer before printing,\n you'll get a nicely formatted list of article subjects shows\n up at the printer. With major mode printing you don't need to\n switch from gnus *Summary* buffer first.\n\n 1b. Directory:\n\n * Directory:\n Specify a valid directory path.\n\n * File Regexp:\n Specify a file name regexp. All file names in the directory that\n match with regexp will be printed/previewed. An empty file name\n regexp means to print/preview all files in the directory.\n\n * List Directory Entry:\n If it's turned on, list directory entries besides file entries.\n\n 1c. PostScript file:\n\n * PostScript File:\n Specify an existent PostScript file to print/preview.\n\n * PostScript Utility:\n Select a PostScript utility.\n See `pr-ps-utility-alist' and `pr-setting-database' for documentation.\n\n NOTE 2: Don't forget to download and install the utilities declared on\n `pr-ps-utility-alist'.\n\n * No Preprocessing:\n If it's turned on, don't use the PostScript utility to preprocess the\n PostScript file before printing/previewing.\n\n2. PostScript printer:\n\n * PostScript Printer:\n You can select a new PostScript printer to send PostScript code\n generated. For selection it's used all PostScript printers defined\n in `pr-ps-printer-alist' variable (see it for documentation).\n See also `pr-setting-database'.\n\n * Despool:\n If spooling is on, you can turn it on/off, as you wish.\n If spooling is off, it'll not be possible to turn it on.\n If it's turned on, specify to despools the PostScript spooling buffer in\n a temporary file or in the selected PostScript file when\n printing/previewing.\n\n * Preview:\n Preview the PostScript generated.\n\n * Print:\n Print the PostScript generated.\n\n * Quit:\n Quit from printing interface buffer.\n\n * Send to Printer/Temporary File:\n If it's turned on, the PostScript generated is sent directly to\n PostScript printer or, for previewing, to a temporary file.\n\n * Send to File:\n Specify a file name to send the PostScript generated.\n\n * N-Up:\n Specify n-up printing.\n\n3. Text printer:\n\n * Text Printer:\n Select a new text printer to send text generated. For selection it's used\n all text printers defined in `pr-txt-printer-alist' variable (see it for\n documentation). See also `pr-setting-database'.\n\n * Printify:\n If you have control characters (character code from \\000 to \\037) in a\n buffer and you want to print them in a text printer, select this\n option. All control characters in your buffer or region will be\n replaced by a printable representation. The printable representations\n use ^ (for ASCII control characters) or hex. The characters tab,\n linefeed, space, return and formfeed are not affected.\n You don't need to select this option if you use any option of section\n I, the PostScript engine treats control characters properly.\n\n * Print:\n To print a directory, buffer, region or major mode in a\n text printer, select this option. See also the NOTE 1 on section 1.\n\n * Quit:\n Quit from printing interface buffer.\n\n4. Settings:\n\n There are 3 setting columns:\n\n 4a. First column (left column):\n\n * Landscape:\n PostScript landscape printing.\n\n * Print Header:\n To have a header in each page in your PostScript code.\n\n * Print Header Frame:\n To draw a gaudy frame around the header.\n\n * Line Number:\n The line number is printed in your PostScript code.\n\n * Zebra Stripes:\n Background zebra stripes in your PostScript code.\n\n * Duplex:\n Duplex printing (if your PostScript printer has this feature).\n\n * Tumble:\n If duplex printing is on, you can choose if you want to have a\n printing suitable for binding on the left or right (tumble off), or to\n have a printing suitable for binding at top or bottom (tumble on).\n\n * Upside-Down:\n PostScript upside-down printing.\n\n 4b. Second column (middle column):\n\n * Auto Region:\n If you want that region is automagically detected, turn on this\n option. Note that this will only work if you're using transient mark\n mode. When this option is on, the `*-buffer*' commands will behave\n like `*-region*' commands, that is, `*-buffer*' commands will print\n only the region marked instead of all buffer.\n\n * Auto Mode:\n Turn this option on if you want that when current major-mode is\n declared in `pr-mode-alist', the `*-buffer*' and `*-region*' commands\n behave like `*-mode*' commands.\n\n * Menu Lock:\n If you want that Printing menu stays open while you are setting\n toggle options, turn on this option. The variables\n `pr-menu-char-height' and `pr-menu-char-width' are used to guess the\n menu position, so don't forget to adjust these variables if menu\n position is not ok.\n\n * Spool Buffer:\n To spool the PostScript code generated. You can despool later by\n setting Despool option on PostScript printer section.\n\n * Print with faces:\n If you use colors in your buffers and want to see these colors on your\n PostScript code generated, turn on this option. If you have a\n black/white PostScript printer, these colors are displayed in gray\n scale by PostScript printer interpreter.\n\n * Print via Ghostscript:\n If you don't have a PostScript printer to send PostScript files, turn\n on this option. When this option is on, the ghostscript is used to\n print PostScript files. In GNU or Unix system, if ghostscript is set\n as a PostScript filter, you don't need to turn on this option.\n\n * Parity Page Menu:\n To print all pages, odd pages, even pages, odd sheets or even sheets.\n See also `ps-even-or-odd-pages'.\n\n 4c. Third column (right column):\n\n * Verbose:\n That is, to be verbose when editing a field in interface buffer.\n\n5. Customize:\n\n Besides all options in section 4, you can customize much more PostScript\n options in `ps-print' option. Or you can customize some `lpr' options for\n text printing. Or customize `printing' options.\n\n6. Show settings:\n\n Show current settings for `printing', `ps-print' or `lpr'.\n\n7. Help:\n\n Quick help for printing interface buffer and printing menu layout. You can\n also quit the printing interface buffer or kill all printing help buffer.\n") (#$ . 72873)) #@174 Activate the printing interface buffer. If BUFFER is nil, the current buffer is used for printing. For more information, type \[pr-interface-help]. (fn &optional BUFFER) (defalias 'pr-interface #[256 "r\211\206 pq\210\300 )\207" [pr-create-interface] 2 (#$ . 81591) nil]) #@793 Preview directory using ghostview. Interactively, the command prompts for N-UP printing number, a directory, a file name regexp for matching and, when you use a prefix argument (C-u), the command prompts the user for a file name, and saves the PostScript image in that file instead of saving it in a temporary file. Noninteractively, if N-UP is nil, prompts for N-UP printing number. If DIR is nil, prompts for DIRectory. If FILE-REGEXP is nil, prompts for FILE(name)-REGEXP. The argument FILENAME is treated as follows: if it's nil, save the image in a temporary file. If FILENAME is a string, save the PostScript image in a file with that name. If FILENAME is t, prompts for a file name. See also documentation for `pr-list-directory'. (fn N-UP DIR FILE-REGEXP &optional FILENAME) (defalias 'pr-ps-directory-preview #[1027 "\305\303\302\301\300\306\307!%\210\310!\311\n $\210\f\206$ \312!,\207" [pr--filename pr--file-regexp pr--dir pr--n-up pr-spool-p pr-set-ps-dir-args pr-prompt "PS preview dir" pr-ps-file pr-ps-file-list pr-ps-file-preview] 11 (#$ . 81874) (byte-code "\300\301\302!!\207" [pr-interactive-ps-dir-args pr-prompt "PS preview dir"] 3)]) #@812 Print directory using PostScript through ghostscript. Interactively, the command prompts for N-UP printing number, a directory, a file name regexp for matching and, when you use a prefix argument (C-u), the command prompts the user for a file name, and saves the PostScript image in that file instead of saving it in a temporary file. Noninteractively, if N-UP is nil, prompts for N-UP printing number. If DIR is nil, prompts for DIRectory. If FILE-REGEXP is nil, prompts for FILE(name)-REGEXP. The argument FILENAME is treated as follows: if it's nil, save the image in a temporary file. If FILENAME is a string, save the PostScript image in a file with that name. If FILENAME is t, prompts for a file name. See also documentation for `pr-list-directory'. (fn N-UP DIR FILE-REGEXP &optional FILENAME) (defalias 'pr-ps-directory-using-ghostscript #[1027 "\304\303\302\301\300\305\306!%\210\307!\310\n $\210\311!\210\206' \312!\262,\207" [pr--filename pr--file-regexp pr--dir pr--n-up pr-set-ps-dir-args pr-prompt "PS print dir GS" pr-ps-file pr-ps-file-list pr-ps-file-using-ghostscript pr-delete-file] 11 (#$ . 83060) (byte-code "\300\301\302!!\207" [pr-interactive-ps-dir-args pr-prompt "PS print dir GS"] 3)]) #@800 Print directory using PostScript printer. Interactively, the command prompts for N-UP printing number, a directory, a file name regexp for matching and, when you use a prefix argument (C-u), the command prompts the user for a file name, and saves the PostScript image in that file instead of saving it in a temporary file. Noninteractively, if N-UP is nil, prompts for N-UP printing number. If DIR is nil, prompts for DIRectory. If FILE-REGEXP is nil, prompts for FILE(name)-REGEXP. The argument FILENAME is treated as follows: if it's nil, save the image in a temporary file. If FILENAME is a string, save the PostScript image in a file with that name. If FILENAME is t, prompts for a file name. See also documentation for `pr-list-directory'. (fn N-UP DIR FILE-REGEXP &optional FILENAME) (defalias 'pr-ps-directory-print #[1027 "\304\303\302\301\300\305\306!%\210\307!\310\n $\210\311!\210\206' \312!\262,\207" [pr--filename pr--file-regexp pr--dir pr--n-up pr-set-ps-dir-args pr-prompt "PS print dir" pr-ps-file pr-ps-file-list pr-ps-file-print pr-delete-file] 11 (#$ . 84304) (byte-code "\300\301\302!!\207" [pr-interactive-ps-dir-args pr-prompt "PS print dir"] 3)]) #@868 Print directory using PostScript printer or through ghostscript. It depends on `pr-print-using-ghostscript'. Interactively, the command prompts for N-UP printing number, a directory, a file name regexp for matching and, when you use a prefix argument (C-u), the command prompts the user for a file name, and saves the PostScript image in that file instead of saving it in a temporary file. Noninteractively, if N-UP is nil, prompts for N-UP printing number. If DIR is nil, prompts for DIRectory. If FILE-REGEXP is nil, prompts for FILE(name)-REGEXP. The argument FILENAME is treated as follows: if it's nil, save the image in a temporary file. If FILENAME is a string, save the PostScript image in a file with that name. If FILENAME is t, prompts for a file name. See also documentation for `pr-list-directory'. (fn N-UP DIR FILE-REGEXP &optional FILENAME) (defalias 'pr-ps-directory-ps-print #[1027 "\306\303\302\301\300\307\310\311!!%\210\f\203 \204 \312\202! \313\n $,\207" [pr--filename pr--file-regexp pr--dir pr--n-up pr-print-using-ghostscript pr-spool-p pr-set-ps-dir-args pr-prompt pr-prompt-gs "PS print dir" pr-ps-directory-using-ghostscript pr-ps-directory-print] 12 (#$ . 85506) (byte-code "\300\301\302\303!!!\207" [pr-interactive-ps-dir-args pr-prompt pr-prompt-gs "PS print dir"] 4)]) #@585 Preview buffer using ghostview. Interactively, the command prompts for N-UP printing number and, when you use a prefix argument (C-u), the command prompts the user for a file name, and saves the PostScript image in that file instead of saving it in a temporary file. Noninteractively, if N-UP is nil, prompts for N-UP printing number. The argument FILENAME is treated as follows: if it's nil, save the image in a temporary file. If FILENAME is a string, save the PostScript image in a file with that name. If FILENAME is t, prompts for a file name. (fn N-UP &optional FILENAME) (defalias 'pr-ps-buffer-preview #[513 "\203 \n\236A\203 \303\"\207\304\305 \306\307!$\207" [pr-auto-mode major-mode pr-mode-alist pr-ps-mode-preview pr-ps-preview pr-region-active-symbol pr-region-active-string "PS preview"] 8 (#$ . 86837) (byte-code "\300\301\302!!\207" [pr-interactive-n-up-file pr-prompt "PS preview"] 3)]) #@595 Print buffer using PostScript through ghostscript. Interactively, the command prompts for N-UP printing number and, when you use a prefix argument (C-u), the command prompts the user for a file name, and saves the PostScript image in that file instead of sending it to the printer. Noninteractively, if N-UP is nil, prompts for N-UP printing number. The argument FILENAME is treated as follows: if it's nil, send the image to the printer. If FILENAME is a string, save the PostScript image in a file with that name. If FILENAME is t, prompts for a file name. (fn N-UP &optional FILENAME) (defalias 'pr-ps-buffer-using-ghostscript #[513 "\203 \n\236A\203 \303\"\207\304\305 \306\307!$\207" [pr-auto-mode major-mode pr-mode-alist pr-ps-mode-using-ghostscript pr-ps-using-ghostscript pr-region-active-symbol pr-region-active-string "PS print GS"] 8 (#$ . 87763) (byte-code "\300\301\302!!\207" [pr-interactive-n-up-file pr-prompt "PS print GS"] 3)]) #@583 Print buffer using PostScript printer. Interactively, the command prompts for N-UP printing number and, when you use a prefix argument (C-u), the command prompts the user for a file name, and saves the PostScript image in that file instead of sending it to the printer. Noninteractively, if N-UP is nil, prompts for N-UP printing number. The argument FILENAME is treated as follows: if it's nil, send the image to the printer. If FILENAME is a string, save the PostScript image in a file with that name. If FILENAME is t, prompts for a file name. (fn N-UP &optional FILENAME) (defalias 'pr-ps-buffer-print #[513 "\203 \n\236A\203 \303\"\207\304\305 \306\307!$\207" [pr-auto-mode major-mode pr-mode-alist pr-ps-mode-print pr-ps-print pr-region-active-symbol pr-region-active-string "PS print"] 8 (#$ . 88731) (byte-code "\300\301\302!!\207" [pr-interactive-n-up-file pr-prompt "PS print"] 3)]) #@651 Print buffer using PostScript printer or through ghostscript. It depends on `pr-print-using-ghostscript'. Interactively, the command prompts for N-UP printing number and, when you use a prefix argument (C-u), the command prompts the user for a file name, and saves the PostScript image in that file instead of sending it to the printer. Noninteractively, if N-UP is nil, prompts for N-UP printing number. The argument FILENAME is treated as follows: if it's nil, send the image to the printer. If FILENAME is a string, save the PostScript image in a file with that name. If FILENAME is t, prompts for a file name. (fn N-UP &optional FILENAME) (defalias 'pr-ps-buffer-ps-print #[513 "\203 \n\236A\203 \305\"\207\203\"