Mercurial > emacs
annotate lisp/printing.el @ 97095:61de98ebc619
** mairix.el is an interface to mairix, a free tool for indexing and
searching locally stored mail. It allows you to query mairix and
display the search results with Rmail, Gnus and VM. Note that there
is an existing Gnus back end, nnmairix.el, which should be used with
Maildir/MH setups.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Tue, 29 Jul 2008 17:44:00 +0000 |
parents | ee5932bf781d |
children | c3512b2085a0 |
rev | line source |
---|---|
49646 | 1 ;;; printing.el --- printing utilities |
2 | |
68651
3bd95f4f2941
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
66951
diff
changeset
|
3 ;; Copyright (C) 2000, 2001, 2003, 2004, 2005, |
79721 | 4 ;; 2006, 2007, 2008 Free Software Foundation, Inc. |
49646 | 5 |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
6 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
7 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> |
49646 | 8 ;; Keywords: wp, print, PostScript |
87206
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
9 ;; Version: 6.9.3 |
73027
575850f5bd53
Adjust X-URL
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
68651
diff
changeset
|
10 ;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre |
49646 | 11 |
87206
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
12 (defconst pr-version "6.9.3" |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
13 "printing.el, v 6.9.3 <2007/12/09 vinicius> |
49646 | 14 |
15 Please send all bug fixes and enhancements to | |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
16 Vinicius Jose Latorre <viniciusjl@ig.com.br> |
49646 | 17 ") |
18 | |
19 ;; This file is part of GNU Emacs. | |
20 | |
94678
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
21 ;; GNU Emacs is free software: you can redistribute it and/or modify |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
22 ;; it under the terms of the GNU General Public License as published by |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
23 ;; the Free Software Foundation, either version 3 of the License, or |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
24 ;; (at your option) any later version. |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
25 |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
26 ;; GNU Emacs is distributed in the hope that it will be useful, |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
27 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
28 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
29 ;; GNU General Public License for more details. |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
30 |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
31 ;; You should have received a copy of the GNU General Public License |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
32 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
49646 | 33 |
34 ;;; Commentary: | |
35 | |
36 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
37 ;; | |
38 ;; Introduction | |
39 ;; ------------ | |
40 ;; | |
56493 | 41 ;; With `printing' you can preview or print a PostScript file. You can also |
42 ;; print a text file using PostScript, and preview or print buffers that use | |
43 ;; certain special modes like mh-folder-mode, rmail-summary-mode, | |
44 ;; gnus-summary-mode, etc. This package also includes a PostScript/text | |
45 ;; printer database. | |
46 ;; | |
47 ;; There are two user interfaces: | |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
48 ;; |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
49 ;; * Menu interface: |
56493 | 50 ;; The `printing' menu replaces the usual print options in the menu bar. |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
51 ;; This is the default user interface. |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
52 ;; |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
53 ;; * Buffer interface: |
56493 | 54 ;; You can use a buffer interface instead of menus. It looks like a |
55 ;; customization buffer. Basically, it has the same options found in the | |
56 ;; menu and some extra options, all this on a buffer. | |
57 ;; | |
58 ;; `printing' is prepared to run on GNU, Unix and NT systems. | |
59 ;; On GNU or Unix system, `printing' depends on gs and gv utilities. | |
60 ;; On NT system, `printing' depends on gstools (gswin32.exe and gsview32.exe). | |
61 ;; To obtain ghostscript, ghostview and GSview see the URL | |
62 ;; `http://www.gnu.org/software/ghostscript/ghostscript.html'. | |
63 ;; | |
64 ;; `printing' depends on ps-print package to generate PostScript files, to | |
65 ;; spool and to despool PostScript buffer. So, `printing' provides an | |
66 ;; interface to ps-print package and it also provides some extra stuff. | |
67 ;; | |
68 ;; To download the latest ps-print package see | |
75712
f24fee7e36d4
Fix ps-print links
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
75347
diff
changeset
|
69 ;; `http://www.emacswiki.org/cgi-bin/wiki/PsPrintPackage'. |
56493 | 70 ;; Please, see README file for ps-print installation instructions. |
49646 | 71 ;; |
87207 | 72 ;; `printing' was inspired by: |
49646 | 73 ;; |
74 ;; print-nt.el Frederic Corne <frederic.corne@erli.fr> | |
75 ;; Special printing functions for Windows NT | |
76 ;; | |
77 ;; mh-e-init.el Tom Vogels <tov@ece.cmu.edu> | |
78 ;; PS-print for mail messages | |
79 ;; | |
80 ;; win32-ps-print.el Matthew O. Persico <mpersico@erols.com> | |
81 ;; PostScript printing with ghostscript | |
82 ;; | |
83 ;; ps-print-interface.el Volker Franz <volker.franz@tuebingen.mpg.de> | |
84 ;; Graphical front end for ps-print and previewing | |
85 ;; | |
86 ;; | |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
87 ;; Log Messages |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
88 ;; ------------ |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
89 ;; |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
90 ;; The buffer *Printing Command Output* is where the `printing' log messages |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
91 ;; are inserted. All program called by `printing' has a log entry in the |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
92 ;; buffer *Printing Command Output*. A log entry has the following form: |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
93 ;; |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
94 ;; PROGRAM (ARG...) |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
95 ;; MESSAGE |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
96 ;; Exit status: CODE |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
97 ;; |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
98 ;; Where |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
99 ;; PROGRAM is the program activated by `printing', |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
100 ;; ARG is an argument passed to PROGRAM (it can have more than one argument), |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
101 ;; MESSAGE is an error message returned by PROGRAM (it can have no message, if |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
102 ;; PROGRAM is successful), |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
103 ;; and CODE is a numeric exit status or a signal description string. |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
104 ;; |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
105 ;; For example, after previewing a PostScript file, *Printing Command Output* |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
106 ;; will have the following entry: |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
107 ;; |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
108 ;; /usr/X11R6/bin/gv ("/home/user/example/file.ps") |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
109 ;; Exit status: 0 |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
110 ;; |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
111 ;; In the example above, the previewing was successful. If during previewing, |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
112 ;; you quit gv execution (by typing C-g during Emacs session), the log entry |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
113 ;; would be: |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
114 ;; |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
115 ;; /usr/X11R6/bin/gv ("/home/user/example/file.ps") |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
116 ;; Exit status: Quit |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
117 ;; |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
118 ;; So, if something goes wrong, a good place to take a look is the buffer |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
119 ;; *Printing Command Output*. Don't forget to see also the buffer *Messages*, |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
120 ;; it can help. |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
121 ;; |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
122 ;; |
49646 | 123 ;; Novices (First Users) |
124 ;; --------------------- | |
125 ;; | |
57241
e53d659f0afd
Check if file exists before deleting it.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
57187
diff
changeset
|
126 ;; First of all, see printing documentation only to get an idea of what |
e53d659f0afd
Check if file exists before deleting it.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
57187
diff
changeset
|
127 ;; `printing' is capable. |
49646 | 128 ;; |
129 ;; Then try to set the variables: `pr-ps-name', `pr-ps-printer-alist', | |
130 ;; `pr-txt-name', `pr-txt-printer-alist' and `pr-path-alist'. These variables | |
131 ;; are the main variables for printing processing. | |
132 ;; | |
57241
e53d659f0afd
Check if file exists before deleting it.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
57187
diff
changeset
|
133 ;; Now, please, see these variables documentation deeper. You can do this by |
e53d659f0afd
Check if file exists before deleting it.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
57187
diff
changeset
|
134 ;; typing C-h v pr-ps-name RET (for example) if you already loaded printing |
e53d659f0afd
Check if file exists before deleting it.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
57187
diff
changeset
|
135 ;; package, or by browsing printing.el source file. |
49646 | 136 ;; |
137 ;; If the documentation isn't clear or if you find a way to improve the | |
138 ;; documentation, please, send an email to maintainer. All printing users | |
139 ;; will thank you. | |
140 ;; | |
141 ;; One way to set variables is by calling `pr-customize', customize all | |
142 ;; variables and save the customization by future sessions (see Options | |
143 ;; section). Other way is by coding your settings on Emacs init file (that is, | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
144 ;; ~/.emacs file), see below for a first setting template that it should be |
49646 | 145 ;; inserted on your ~/.emacs file (or c:/_emacs, if you're using Windows 9x/NT |
146 ;; or MS-DOS): | |
147 ;; | |
148 ;; * Example of setting for Windows system: | |
149 ;; | |
150 ;; (require 'printing) ; load printing package | |
151 ;; (setq pr-path-alist | |
152 ;; '((windows "c:/applications/executables" PATH ghostview mpage) | |
153 ;; (ghostview "c:/gs/gsview-dir") | |
154 ;; (mpage "c:/mpage-dir") | |
155 ;; )) | |
156 ;; (setq pr-txt-name 'prt_06a) | |
157 ;; (setq pr-txt-printer-alist | |
158 ;; '((prt_06a "print" nil "/D:\\\\printers\\prt_06a") | |
159 ;; (prt_07c nil nil "/D:\\\\printers\\prt_07c") | |
160 ;; (PRN "" nil "PRN") | |
161 ;; (standard "redpr.exe" nil "") | |
162 ;; )) | |
163 ;; (setq pr-ps-name 'lps_06b) | |
164 ;; (setq pr-ps-printer-alist | |
165 ;; '((lps_06a "print" nil "/D:" "\\\\printers\\lps_06a") | |
166 ;; (lps_06b "print" nil nil "\\\\printers\\lps_06b") | |
167 ;; (lps_07c "print" nil "" "/D:\\\\printers\\lps_07c") | |
168 ;; (lps_08c nil nil nil "\\\\printers\\lps_08c") | |
169 ;; (LPT1 "" nil "" "LPT1:") | |
170 ;; (PRN "" nil "" "PRN") | |
171 ;; (standard "redpr.exe" nil "" "") | |
172 ;; )) | |
173 ;; (pr-update-menus t) ; update now printer and utility menus | |
174 ;; | |
175 ;; * Example of setting for GNU or Unix system: | |
176 ;; | |
177 ;; (require 'printing) ; load printing package | |
178 ;; (setq pr-path-alist | |
179 ;; '((unix "." "~/bin" ghostview mpage PATH) | |
180 ;; (ghostview "$HOME/bin/gsview-dir") | |
181 ;; (mpage "$HOME/bin/mpage-dir") | |
182 ;; )) | |
183 ;; (setq pr-txt-name 'prt_06a) | |
184 ;; (setq pr-txt-printer-alist | |
185 ;; '((prt_06a "lpr" nil "prt_06a") | |
186 ;; (prt_07c nil nil "prt_07c") | |
187 ;; )) | |
188 ;; (setq pr-ps-name 'lps_06b) | |
189 ;; (setq pr-ps-printer-alist | |
190 ;; '((lps_06b "lpr" nil "-P" "lps_06b") | |
191 ;; (lps_07c "lpr" nil nil "lps_07c") | |
192 ;; (lps_08c nil nil nil "lps_08c") | |
193 ;; )) | |
194 ;; (pr-update-menus t) ; update now printer and utility menus | |
195 ;; | |
196 ;; | |
197 ;; NOTE 1: Don't forget to download and install ghostscript utilities (see | |
198 ;; Utilities section). | |
199 ;; | |
200 ;; NOTE 2: The `printer-name' and `ps-printer-name' variables don't need to be | |
201 ;; set, as they are implicit set by `pr-ps-printer-alist' and | |
202 ;; `pr-txt-printer-alist'. | |
203 ;; | |
204 ;; NOTE 3: The duplex feature will only work on PostScript printers that | |
205 ;; support this feature. | |
206 ;; You can check if your PostScript printer supports duplex feature | |
207 ;; by checking the printer manual. Or you can try these steps: | |
208 ;; 1. Open a buffer (or use the *scratch* buffer). | |
209 ;; 2. Type: | |
210 ;; First line (on first page) | |
211 ;; ^L | |
212 ;; Second line (on second page) | |
213 ;; 3. Print this buffer with duplex turned on. | |
214 ;; If it's printed 2 (two) sheets of paper, then your PostScript | |
215 ;; printer doesn't have duplex feature; otherwise, it's ok, your | |
216 ;; printer does have duplex feature. | |
217 ;; | |
54326 | 218 ;; NOTE 4: See Tips section. |
219 ;; | |
220 ;; | |
221 ;; Tips | |
222 ;; ---- | |
223 ;; | |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
224 ;; 1. If you have a local printer, that is, a printer which is connected |
54326 | 225 ;; directly to your computer, don't forget to connect the printer to your |
226 ;; computer before printing. | |
227 ;; | |
54333
085835de6939
New tips in Tips section.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54326
diff
changeset
|
228 ;; 2. If you try to print a file and it seems that the file was printed, but |
085835de6939
New tips in Tips section.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54326
diff
changeset
|
229 ;; there is no paper in the printer, then try to set `pr-delete-temp-file' |
085835de6939
New tips in Tips section.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54326
diff
changeset
|
230 ;; to nil. Probably `printing' is deleting the temporary file before your |
085835de6939
New tips in Tips section.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54326
diff
changeset
|
231 ;; local system can get it to send to the printer. |
085835de6939
New tips in Tips section.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54326
diff
changeset
|
232 ;; |
085835de6939
New tips in Tips section.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54326
diff
changeset
|
233 ;; 3. Don't try to print a dynamic buffer, that is, a buffer which is |
085835de6939
New tips in Tips section.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54326
diff
changeset
|
234 ;; modifying while `printing' tries to print. Eventually you got an error |
085835de6939
New tips in Tips section.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54326
diff
changeset
|
235 ;; message. Instead, save the dynamic buffer to a file or copy it in |
085835de6939
New tips in Tips section.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54326
diff
changeset
|
236 ;; another buffer and, then, print the file or the new static buffer. |
085835de6939
New tips in Tips section.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54326
diff
changeset
|
237 ;; An example of dynamic buffer is the *Messages* buffer. |
085835de6939
New tips in Tips section.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54326
diff
changeset
|
238 ;; |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
239 ;; 4. When running Emacs on Windows (with or without cygwin), check if your |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
240 ;; printer is a text printer or not by typing in a DOS window: |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
241 ;; |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
242 ;; print /D:\\host\printer somefile.txt |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
243 ;; |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
244 ;; Where, `host' is the machine where the printer is directly connected, |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
245 ;; `printer' is the printer name and `somefile.txt' is a text file. |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
246 ;; |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
247 ;; If the printer `\\host\printer' doesn't print the content of |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
248 ;; `somefile.txt' or, instead, it returns the following message: |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
249 ;; |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
250 ;; PostScript Error Handler |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
251 ;; Offending Command = CCC |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
252 ;; Stack = |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
253 ;; |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
254 ;; Where `CCC' is whatever is at the beginning of the text to be printed. |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
255 ;; |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
256 ;; Therefore, the printer `\\host\printer' is not a text printer, but a |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
257 ;; PostScript printer. So, please, don't include this printer in |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
258 ;; `pr-txt-printer-alist' (which see). |
54675
32aae36e32af
Var initialization fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54636
diff
changeset
|
259 ;; |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
260 ;; 5. You can use gsprint instead of ghostscript to print monochrome PostScript |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
261 ;; files in Windows. The gsprint utility documentation says that it is more |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
262 ;; efficient than ghostscript to print monochrome PostScript. |
57187
c9052d462541
Doc fix (gsprint).
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56578
diff
changeset
|
263 ;; |
57241
e53d659f0afd
Check if file exists before deleting it.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
57187
diff
changeset
|
264 ;; To print non-monochrome PostScript file, the efficiency of ghostscript |
e53d659f0afd
Check if file exists before deleting it.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
57187
diff
changeset
|
265 ;; is similar to gsprint. |
57187
c9052d462541
Doc fix (gsprint).
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56578
diff
changeset
|
266 ;; |
c9052d462541
Doc fix (gsprint).
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56578
diff
changeset
|
267 ;; Also the gsprint utility comes together with gsview distribution. |
c9052d462541
Doc fix (gsprint).
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56578
diff
changeset
|
268 ;; |
c9052d462541
Doc fix (gsprint).
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56578
diff
changeset
|
269 ;; For more information about gsprint see |
c9052d462541
Doc fix (gsprint).
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56578
diff
changeset
|
270 ;; `http://www.cs.wisc.edu/~ghost/gsview/gsprint.htm'. |
c9052d462541
Doc fix (gsprint).
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56578
diff
changeset
|
271 ;; |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
272 ;; As an example of gsprint declaration: |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
273 ;; |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
274 ;; (setq pr-ps-printer-alist |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
275 ;; '((A "gsprint" ("-all" "-twoup") "-printer " "my-b/w-printer-name") |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
276 ;; (B "gsprint" ("-all" "-twoup") nil "-printer my-b/w-printer-name") |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
277 ;; ;; some other printer declaration |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
278 ;; )) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
279 ;; |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
280 ;; The example above declares that printer A prints all pages (-all) and two |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
281 ;; pages per sheet (-twoup). The printer B declaration does the same as the |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
282 ;; printer A declaration, the only difference is the printer name selection. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
283 ;; |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
284 ;; There are other command line options like: |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
285 ;; |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
286 ;; -mono Render in monochrome as 1bit/pixel (only black and white). |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
287 ;; -grey Render in greyscale as 8bits/pixel. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
288 ;; -color Render in color as 24bits/pixel. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
289 ;; |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
290 ;; The default is `-mono'. So, printer A and B in the example above are |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
291 ;; using implicitly the `-mono' option. Note that in `-mono' no gray tone |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
292 ;; or color is printed, this includes the zebra stripes, that is, in `-mono' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
293 ;; the zebra stripes are not printed. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
294 ;; |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
295 ;; See also documentation for `pr-ps-printer-alist'. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
296 ;; |
49646 | 297 ;; |
298 ;; Using `printing' | |
299 ;; ---------------- | |
300 ;; | |
301 ;; To use `printing' insert in your ~/.emacs file (or c:/_emacs, if you're | |
302 ;; using Windows 9x/NT or MS-DOS): | |
303 ;; | |
304 ;; (require 'printing) | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
305 ;; ;; ...some user settings... |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
306 ;; (pr-update-menus t) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
307 ;; |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
308 ;; During `pr-update-menus' evaluation: |
49646 | 309 ;; * On Emacs 20: |
310 ;; it replaces the Tools/Print menu by Tools/Printing menu. | |
311 ;; * On Emacs 21: | |
312 ;; it replaces the File/Print* menu entries by File/Print menu. | |
313 ;; Please, see section Menu Layout below for menu explanation. | |
314 ;; | |
315 ;; To use `printing' utilities you can use the Printing menu options, type M-x | |
316 ;; followed by one of the commands below, or type a key associated with the | |
317 ;; command you want (if there is a key binding). | |
318 ;; | |
319 ;; `printing' has the following commands: | |
320 ;; | |
321 ;; pr-interface | |
322 ;; pr-ps-directory-preview | |
323 ;; pr-ps-directory-using-ghostscript | |
324 ;; pr-ps-directory-print | |
325 ;; pr-ps-directory-ps-print | |
326 ;; pr-ps-buffer-preview | |
327 ;; pr-ps-buffer-using-ghostscript | |
328 ;; pr-ps-buffer-print | |
329 ;; pr-ps-buffer-ps-print | |
330 ;; pr-ps-region-preview | |
331 ;; pr-ps-region-using-ghostscript | |
332 ;; pr-ps-region-print | |
333 ;; pr-ps-region-ps-print | |
334 ;; pr-ps-mode-preview | |
335 ;; pr-ps-mode-using-ghostscript | |
336 ;; pr-ps-mode-print | |
337 ;; pr-ps-mode-ps-print | |
338 ;; pr-ps-file-preview | |
339 ;; pr-ps-file-up-preview | |
340 ;; pr-ps-file-using-ghostscript | |
341 ;; pr-ps-file-print | |
342 ;; pr-ps-file-ps-print | |
343 ;; pr-ps-file-up-ps-print | |
344 ;; pr-ps-fast-fire | |
345 ;; pr-despool-preview | |
346 ;; pr-despool-using-ghostscript | |
347 ;; pr-despool-print | |
348 ;; pr-despool-ps-print | |
349 ;; pr-printify-directory | |
350 ;; pr-printify-buffer | |
351 ;; pr-printify-region | |
352 ;; pr-txt-directory | |
353 ;; pr-txt-buffer | |
354 ;; pr-txt-region | |
355 ;; pr-txt-mode | |
356 ;; pr-txt-fast-fire | |
357 ;; pr-toggle-file-duplex | |
358 ;; pr-toggle-file-tumble | |
359 ;; pr-toggle-file-landscape | |
360 ;; pr-toggle-ghostscript | |
361 ;; pr-toggle-faces | |
362 ;; pr-toggle-spool | |
363 ;; pr-toggle-duplex | |
364 ;; pr-toggle-tumble | |
365 ;; pr-toggle-landscape | |
366 ;; pr-toggle-upside-down | |
367 ;; pr-toggle-line | |
368 ;; pr-toggle-zebra | |
369 ;; pr-toggle-header | |
370 ;; pr-toggle-lock | |
371 ;; pr-toggle-region | |
372 ;; pr-toggle-mode | |
373 ;; pr-customize | |
374 ;; lpr-customize | |
375 ;; pr-help | |
376 ;; pr-ps-name | |
377 ;; pr-txt-name | |
378 ;; pr-ps-utility | |
379 ;; pr-show-ps-setup | |
380 ;; pr-show-pr-setup | |
381 ;; pr-show-lpr-setup | |
382 ;; | |
383 ;; The general meanings of above commands are: | |
384 ;; | |
385 ;; PREFIX: | |
386 ;; `pr-interface' buffer interface for printing package. | |
387 ;; `pr-help' help for printing package. | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
388 ;; `pr-ps-name' interactively select a PostScript printer. |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
389 ;; `pr-txt-name' interactively select a text printer. |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
390 ;; `pr-ps-utility' interactively select a PostScript utility. |
49646 | 391 ;; `pr-show-*-setup' show current settings. |
392 ;; `pr-ps-*' deal with PostScript code generation. | |
393 ;; `pr-txt-*' deal with text generation. | |
394 ;; `pr-toggle-*' toggle on/off some boolean variable. | |
395 ;; `pr-despool-*' despool the PostScript spooling buffer. | |
396 ;; `pr-printify-*' replace nonprintable ASCII by printable ASCII | |
397 ;; representation. | |
398 ;; | |
399 ;; SUFFIX: | |
400 ;; `*-customize' customization. | |
401 ;; `*-preview' preview a PostScript file. | |
402 ;; `*-using-ghostscript' use ghostscript to print. | |
403 ;; `*-fast-fire' fast fire command (see it for documentation). | |
404 ;; `*-print' send PostScript directly to printer. | |
405 ;; `*-ps-print' send PostScript directly to printer or use | |
406 ;; ghostscript to print. It depends on | |
407 ;; `pr-print-using-ghostscript' option. | |
408 ;; | |
409 ;; INFIX/SUFFIX: | |
410 ;; `*-directory*' process a directory. | |
411 ;; `*-buffer*' process a buffer. | |
412 ;; `*-region*' process a region. | |
413 ;; `*-mode*' process a major mode (see explanation below). | |
414 ;; `*-file-*' process a PostScript file. | |
415 ;; `*-file-up-*' process a PostScript file using a filter utility. | |
416 ;; | |
417 ;; Here are some examples: | |
418 ;; | |
419 ;; `pr-ps-buffer-using-ghostscript' | |
420 ;; Use ghostscript to print a buffer. | |
421 ;; | |
422 ;; `pr-ps-file-print' | |
423 ;; Print a PostScript file. | |
424 ;; | |
425 ;; `pr-toggle-spool' | |
426 ;; Toggle spooling buffer. | |
427 ;; | |
428 ;; So you can preview through ghostview, use ghostscript to print (if you don't | |
429 ;; have a PostScript printer) or send directly to printer a PostScript code | |
430 ;; generated by `ps-print' package. | |
431 ;; | |
432 ;; Besides operating one buffer or region each time, you also can postpone | |
433 ;; previewing or printing by saving the PostScript code generated in a | |
434 ;; temporary Emacs buffer. This way you can save banner pages between | |
435 ;; successive printing. You can toggle on/off spooling by invoking | |
436 ;; `pr-toggle-spool' interactively or through menu bar. | |
437 ;; | |
438 ;; If you type, for example: | |
439 ;; | |
440 ;; C-u M-x pr-ps-buffer-print RET | |
441 ;; | |
442 ;; The `pr-ps-buffer-print' command prompts you for a n-up printing number and | |
443 ;; a file name, and save the PostScript code generated to the file name instead | |
444 ;; of sending to printer. | |
445 ;; | |
446 ;; This behavior is similar with the commands that deal with PostScript code | |
447 ;; generation, that is, with `pr-ps-*' and `pr-despool-*' commands. If | |
448 ;; spooling is on, only `pr-despool-*' commands prompt for a file name and save | |
449 ;; the PostScript code spooled in this file. | |
450 ;; | |
451 ;; Besides the behavior described above, the `*-directory*' commands also | |
452 ;; prompt for a directory and a file name regexp. So, it's possible to process | |
453 ;; all or certain files on a directory at once (see also documentation for | |
454 ;; `pr-list-directory'). | |
455 ;; | |
456 ;; `printing' has also a special way to handle some major mode through | |
457 ;; `*-mode*' commands. So it's possible to customize a major mode printing, | |
458 ;; it's only needed to declare the customization in `pr-mode-alist' (see | |
459 ;; section Options) and invoke some of `*-mode*' commands. An example for | |
460 ;; major mode usage is when you're using gnus (or mh, or rmail, etc.) and | |
461 ;; you're in the *Summary* buffer, if you forget to switch to the *Article* | |
462 ;; buffer before printing, you'll get a nicely formatted list of article | |
463 ;; subjects shows up at the printer. With major mode printing you don't need | |
464 ;; to switch from gnus *Summary* buffer first. | |
465 ;; | |
466 ;; Current global keyboard mapping for GNU Emacs is: | |
467 ;; | |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
468 ;; (global-set-key [print] 'pr-ps-fast-fire) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
469 ;; (global-set-key [M-print] 'pr-ps-mode-using-ghostscript) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
470 ;; (global-set-key [S-print] 'pr-ps-mode-using-ghostscript) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
471 ;; (global-set-key [C-print] 'pr-txt-fast-fire) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
472 ;; (global-set-key [C-M-print] 'pr-txt-fast-fire) |
49646 | 473 ;; |
474 ;; And for XEmacs is: | |
475 ;; | |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
476 ;; (global-set-key 'f22 'pr-ps-fast-fire) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
477 ;; (global-set-key '(meta f22) 'pr-ps-mode-using-ghostscript) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
478 ;; (global-set-key '(shift f22) 'pr-ps-mode-using-ghostscript) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
479 ;; (global-set-key '(control f22) 'pr-txt-fast-fire) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
480 ;; (global-set-key '(control meta f22) 'pr-txt-fast-fire) |
49646 | 481 ;; |
482 ;; As a suggestion of global keyboard mapping for some `printing' commands: | |
483 ;; | |
484 ;; (global-set-key "\C-ci" 'pr-interface) | |
485 ;; (global-set-key "\C-cbp" 'pr-ps-buffer-print) | |
486 ;; (global-set-key "\C-cbx" 'pr-ps-buffer-preview) | |
487 ;; (global-set-key "\C-cbb" 'pr-ps-buffer-using-ghostscript) | |
488 ;; (global-set-key "\C-crp" 'pr-ps-region-print) | |
489 ;; (global-set-key "\C-crx" 'pr-ps-region-preview) | |
490 ;; (global-set-key "\C-crr" 'pr-ps-region-using-ghostscript) | |
491 ;; | |
492 ;; | |
493 ;; Options | |
494 ;; ------- | |
495 ;; | |
496 ;; Below it's shown a brief description of `printing' options, please, see the | |
497 ;; options declaration in the code for a long documentation. | |
498 ;; | |
499 ;; `pr-path-style' Specify which path style to use for external | |
500 ;; commands. | |
501 ;; | |
502 ;; `pr-path-alist' Specify an alist for command paths. | |
503 ;; | |
504 ;; `pr-txt-name' Specify a printer for printing a text file. | |
505 ;; | |
506 ;; `pr-txt-printer-alist' Specify an alist of all text printers. | |
507 ;; | |
508 ;; `pr-ps-name' Specify a printer for printing a PostScript | |
509 ;; file. | |
510 ;; | |
511 ;; `pr-ps-printer-alist' Specify an alist for all PostScript printers. | |
512 ;; | |
513 ;; `pr-temp-dir' Specify a directory for temporary files during | |
514 ;; printing. | |
515 ;; | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
516 ;; `pr-ps-temp-file' Specify PostScript temporary file name prefix. |
49646 | 517 ;; |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
518 ;; `pr-file-modes' Specify the file permission bits for newly |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
519 ;; created files. |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
520 ;; |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
521 ;; `pr-gv-command' Specify path and name of the gsview/gv |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
522 ;; utility. |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
523 ;; |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
524 ;; `pr-gs-command' Specify path and name of the ghostscript |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
525 ;; utility. |
49646 | 526 ;; |
527 ;; `pr-gs-switches' Specify ghostscript switches. | |
528 ;; | |
529 ;; `pr-gs-device' Specify ghostscript device switch value. | |
530 ;; | |
531 ;; `pr-gs-resolution' Specify ghostscript resolution switch value. | |
532 ;; | |
533 ;; `pr-print-using-ghostscript' Non-nil means print using ghostscript. | |
534 ;; | |
535 ;; `pr-faces-p' Non-nil means print with face attributes. | |
536 ;; | |
537 ;; `pr-spool-p' Non-nil means spool printing in a buffer. | |
538 ;; | |
539 ;; `pr-file-landscape' Non-nil means print PostScript file in | |
540 ;; landscape orientation. | |
541 ;; | |
542 ;; `pr-file-duplex' Non-nil means print PostScript file in duplex | |
543 ;; mode. | |
544 ;; | |
545 ;; `pr-file-tumble' Non-nil means print PostScript file in tumble | |
546 ;; mode. | |
547 ;; | |
548 ;; `pr-auto-region' Non-nil means region is automagically detected. | |
549 ;; | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
550 ;; `pr-auto-mode' Non-nil means major-mode specific printing is |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
551 ;; prefered over normal printing. |
49646 | 552 ;; |
553 ;; `pr-mode-alist' Specify an alist for a major-mode and printing | |
554 ;; function. | |
555 ;; | |
556 ;; `pr-ps-utility' Specify PostScript utility processing. | |
557 ;; | |
558 ;; `pr-ps-utility-alist' Specify an alist for PostScript utility | |
559 ;; processing. | |
560 ;; | |
561 ;; `pr-menu-lock' Non-nil means menu is locked while selecting | |
562 ;; toggle options. | |
563 ;; | |
564 ;; `pr-menu-char-height' Specify menu char height in pixels. | |
565 ;; | |
566 ;; `pr-menu-char-width' Specify menu char width in pixels. | |
567 ;; | |
568 ;; `pr-setting-database' Specify an alist for settings in general. | |
569 ;; | |
570 ;; `pr-visible-entry-list' Specify a list of Printing menu visible | |
571 ;; entries. | |
572 ;; | |
573 ;; `pr-delete-temp-file' Non-nil means delete temporary files. | |
574 ;; | |
575 ;; `pr-list-directory' Non-nil means list directory when processing a | |
576 ;; directory. | |
577 ;; | |
578 ;; `pr-buffer-name' Specify the name of the buffer interface for | |
579 ;; printing package. | |
580 ;; | |
581 ;; `pr-buffer-name-ignore' Specify a regexp list for buffer names to be | |
582 ;; ignored in interface buffer. | |
583 ;; | |
584 ;; `pr-buffer-verbose' Non-nil means to be verbose when editing a | |
585 ;; field in interface buffer. | |
586 ;; | |
587 ;; To set the above options you may: | |
588 ;; | |
589 ;; a) insert the code in your ~/.emacs, like: | |
590 ;; | |
591 ;; (setq pr-faces-p t) | |
592 ;; | |
593 ;; This way always keep your default settings when you enter a new Emacs | |
594 ;; session. | |
595 ;; | |
596 ;; b) or use `set-variable' in your Emacs session, like: | |
597 ;; | |
598 ;; M-x set-variable RET pr-faces-p RET t RET | |
599 ;; | |
600 ;; This way keep your settings only during the current Emacs session. | |
601 ;; | |
602 ;; c) or use customization, for example: | |
603 ;; click on menu-bar *Help* option, | |
604 ;; then click on *Customize*, | |
605 ;; then click on *Browse Customization Groups*, | |
606 ;; expand *PostScript* group, | |
607 ;; expand *Printing* group | |
608 ;; and then customize `printing' options. | |
609 ;; Through this way, you may choose if the settings are kept or not when | |
610 ;; you leave out the current Emacs session. | |
611 ;; | |
612 ;; d) or see the option value: | |
613 ;; | |
614 ;; C-h v pr-faces-p RET | |
615 ;; | |
616 ;; and click the *customize* hypertext button. | |
617 ;; Through this way, you may choose if the settings are kept or not when | |
618 ;; you leave out the current Emacs session. | |
619 ;; | |
620 ;; e) or invoke: | |
621 ;; | |
622 ;; M-x pr-customize RET | |
623 ;; | |
624 ;; and then customize `printing' options. | |
625 ;; Through this way, you may choose if the settings are kept or not when | |
626 ;; you leave out the current Emacs session. | |
627 ;; | |
628 ;; f) or use menu bar, for example: | |
629 ;; click on menu-bar *File* option, | |
630 ;; then click on *Printing*, | |
631 ;; then click on *Customize*, | |
632 ;; then click on *printing* | |
633 ;; and then customize `printing' options. | |
634 ;; Through this way, you may choose if the settings are kept or not when | |
635 ;; you leave out the current Emacs session. | |
636 ;; | |
637 ;; | |
638 ;; Menu Layout | |
639 ;; ----------- | |
640 ;; | |
641 ;; The `printing' menu (Tools/Printing or File/Print) has the following layout: | |
642 ;; | |
643 ;; +-----------------------------+ | |
644 ;; A 0 | Printing Interface | | |
645 ;; +-----------------------------+ +-A---------+ +-B------+ | |
646 ;; I 1 | PostScript Preview >|-------|Directory >|-----|1-up | | |
647 ;; 2 | PostScript Print >|---- A |Buffer >|-- B |2-up | | |
648 ;; 3 | PostScript Printer: name >|---- C |Region >|-- B |4-up | | |
649 ;; +-----------------------------+ |Mode >|-- B |Other...| | |
650 ;; II 4 | Printify >|-----\ |File >|--\ +--------+ | |
651 ;; 5 | Print >|---\ | |Despool... | | | |
652 ;; 6 | Text Printer: name >|-\ | | +-----------+ | | |
653 ;; +-----------------------------+ | | | +---------+ +------------+ | |
54210
602769168263
Replace "As Is..." in PostScript file print/preview by "No Preprocessing...".
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54209
diff
changeset
|
654 ;; III 7 |[ ]Landscape | | | \-|Directory| | No Prep... | Ia |
49646 | 655 ;; 8 |[ ]Print Header | | | |Buffer | +------------+ Ib |
656 ;; 9 |[ ]Print Header Frame | | | |Region | | name >|- C | |
657 ;; 10 |[ ]Line Number | | | +---------+ +------------+ | |
658 ;; 11 |[ ]Zebra Stripes | | | +---------+ | 1-up... | Ic | |
659 ;; 12 |[ ]Duplex | | \---|Directory| | 2-up... | | |
660 ;; 13 |[ ]Tumble | \--\ |Buffer | | 4-up... | | |
661 ;; 14 |[ ]Upside-Down | | |Region | | Other... | | |
662 ;; 15 | Print All Pages >|--\ | |Mode | +------------+ | |
663 ;; +-----------------------------+ | | +---------+ |[ ]Landscape| Id | |
664 ;; IV 16 |[ ]Spool Buffer | | | +-C-------+ |[ ]Duplex | Ie | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
665 ;; 17 |[ ]Print with faces | | \--|( )name A| |[ ]Tumble | If |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
666 ;; 18 |[ ]Print via Ghostscript | | |( )name B| +------------+ |
49646 | 667 ;; +-----------------------------+ | |... | |
668 ;; V 19 |[ ]Auto Region | | |(*)name | | |
669 ;; 20 |[ ]Auto Mode | | |... | | |
670 ;; 21 |[ ]Menu Lock | | +---------+ +--------------+ | |
671 ;; +-----------------------------+ \------------------|(*)All Pages | | |
672 ;; VI 22 | Customize >|--- D +-D------+ |( )Even Pages | | |
673 ;; 23 | Show Settings >|-------|printing| |( )Odd Pages | | |
674 ;; 24 | Help | |ps-print| |( )Even Sheets| | |
675 ;; +-----------------------------+ |lpr | |( )Odd Sheets | | |
676 ;; +--------+ +--------------+ | |
677 ;; | |
678 ;; See `pr-visible-entry-list' for hiding some parts of the menu. | |
679 ;; | |
680 ;; The menu has the following sections: | |
681 ;; | |
682 ;; A. Interface: | |
683 ;; | |
684 ;; 0. You can use a buffer interface instead of menus. It looks like the | |
685 ;; customization buffer. Basically, it has the same options found in the | |
686 ;; menu and some extra options, all this on a buffer. | |
687 ;; | |
688 ;; I. PostScript printing: | |
689 ;; | |
690 ;; 1. You can generate a PostScript file (if you type C-u before activating | |
691 ;; menu) or PostScript temporary file for a directory, a buffer, a region | |
692 ;; or a major mode, choosing 1-up, 2-up, 4-up or any other n-up printing; | |
693 ;; after file generation, ghostview is activated using the file generated | |
694 ;; as argument. This option is disabled if spooling is on (option 16). | |
695 ;; Also, if you already have a PostScript file you can preview it. | |
696 ;; Instead of previewing each buffer, region or major mode at once, you | |
697 ;; can save temporarily the PostScript code generated in a buffer and | |
698 ;; preview it later. The option `Despool...' despools the PostScript | |
699 ;; spooling buffer in a temporary file and uses ghostview to preview it. | |
700 ;; If you type C-u before choosing this option, the PostScript code | |
701 ;; generated is saved in a file instead of saving in a temporary file. | |
702 ;; To spool the PostScript code generated you need to turn on the option | |
703 ;; 16. The option `Despool...' is enabled if spooling is on (option | |
704 ;; 16). | |
705 ;; | |
706 ;; NOTE 1: It's possible to customize a major mode printing, just declare | |
707 ;; the customization in `pr-mode-alist' and invoke some of | |
708 ;; `*-mode*' commands or select Mode option in Printing menu. An | |
709 ;; example for major mode usage is when you're using gnus (or mh, | |
710 ;; or rmail, etc.) and you're in the *Summary* buffer, if you | |
711 ;; forget to switch to the *Article* buffer before printing, | |
712 ;; you'll get a nicely formatted list of article subjects shows | |
713 ;; up at the printer. With major mode printing you don't need to | |
714 ;; switch from gnus *Summary* buffer first. | |
715 ;; | |
716 ;; NOTE 2: There are the following options for PostScript file | |
717 ;; processing: | |
54210
602769168263
Replace "As Is..." in PostScript file print/preview by "No Preprocessing...".
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54209
diff
changeset
|
718 ;; Ia. Print the file *No Preprocessing*, that is, send it |
602769168263
Replace "As Is..." in PostScript file print/preview by "No Preprocessing...".
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54209
diff
changeset
|
719 ;; directly to PostScript printer. |
49646 | 720 ;; Ib. PostScript utility processing selection. |
721 ;; See `pr-ps-utility-alist' and `pr-setting-database' for | |
722 ;; documentation. | |
723 ;; Ic. Do n-up processing before printing. | |
724 ;; Id. Toggle on/off landscape for PostScript file processing. | |
725 ;; Ie. Toggle on/off duplex for PostScript file processing. | |
726 ;; If. Toggle on/off tumble for PostScript file processing. | |
727 ;; | |
728 ;; NOTE 3: Don't forget to download and install the utilities declared on | |
729 ;; `pr-ps-utility-alist'. | |
730 ;; | |
731 ;; 2. Operate the same way as option 1, but it sends directly the PostScript | |
732 ;; code (or put in a file, if you've typed C-u) or it uses ghostscript to | |
733 ;; print the PostScript file generated. It depends on option 18, if it's | |
734 ;; turned on, it uses ghostscript; otherwise, it sends directly to | |
735 ;; printer. If spooling is on (option 16), the PostScript code is saved | |
736 ;; temporarily in a buffer instead of printing it or saving it in a file. | |
737 ;; Also, if you already have a PostScript file you can print it. Instead | |
738 ;; of printing each buffer, region or major mode at once, you can save | |
739 ;; temporarily the PostScript code generated in a buffer and print it | |
740 ;; later. The option `Despool...' despools the PostScript spooling | |
741 ;; buffer directly on a printer. If you type C-u before choosing this | |
742 ;; option, the PostScript code generated is saved in a file instead of | |
743 ;; sending to printer. To spool the PostScript code generated you need | |
744 ;; to turn on the option 16. This option is enabled if spooling is on | |
745 ;; (option 16). See also the NOTE 1, NOTE 2 and NOTE 3 on option 1. | |
746 ;; | |
747 ;; 3. You can select a new PostScript printer to send PostScript code | |
748 ;; generated. For selection it's used all PostScript printers defined | |
749 ;; in `pr-ps-printer-alist' variable (see it for documentation). | |
750 ;; See also `pr-setting-database'. | |
751 ;; | |
752 ;; II. Text printing: | |
753 ;; | |
754 ;; 4. If you have control characters (character code from \000 to \037) in a | |
755 ;; buffer and you want to print them in a text printer, select this | |
756 ;; option. All control characters in your buffer or region will be | |
757 ;; replaced by a printable representation. The printable representations | |
758 ;; use ^ (for ASCII control characters) or hex. The characters tab, | |
759 ;; linefeed, space, return and formfeed are not affected. You don't need | |
760 ;; to select this option if you use any option of section I, the | |
761 ;; PostScript engine treats control characters properly. | |
762 ;; | |
763 ;; 5. If you want to print a directory, buffer, region or major mode in a | |
764 ;; text printer, select this option. See also the NOTE 1 on option 1. | |
765 ;; | |
766 ;; 6. You can select a new text printer to send text generated. For | |
767 ;; selection it's used all text printers defined in | |
768 ;; `pr-txt-printer-alist' variable (see it for documentation). | |
769 ;; See also `pr-setting-database'. | |
770 ;; | |
771 ;; III. PostScript page toggle options: | |
772 ;; | |
773 ;; 7. If you want a PostScript landscape printing, turn on this option. | |
774 ;; | |
775 ;; 8. If you want to have a header in each page in your PostScript code, | |
776 ;; turn on this option. | |
777 ;; | |
778 ;; 9. If you want to draw a gaudy frame around the header, turn on this | |
779 ;; option. This option is enabled if print header is on (option 8). | |
780 ;; | |
781 ;; 10. If you want that the line number is printed in your PostScript code, | |
782 ;; turn on this option. | |
783 ;; | |
784 ;; 11. If you want background zebra stripes in your PostScript code, turn on | |
785 ;; this option. | |
786 ;; | |
787 ;; 12. If you want a duplex printing and your PostScript printer has this | |
788 ;; feature, turn on this option. | |
789 ;; | |
790 ;; 13. If you turned on duplex printing, you can choose if you want to have | |
791 ;; a printing suitable for binding on the left or right (tumble off), or | |
792 ;; to have a printing suitable for binding at top or bottom (tumble on). | |
793 ;; This option is enabled if duplex is on (option 12). | |
794 ;; | |
795 ;; 14. If you want a PostScript upside-down printing, turn on this option. | |
796 ;; | |
797 ;; 15. With this option, you can choose if you want to print all pages, odd | |
798 ;; pages, even pages, odd sheets or even sheets. | |
799 ;; See also `ps-even-or-odd-pages'. | |
800 ;; | |
801 ;; IV. PostScript processing toggle options: | |
802 ;; | |
803 ;; 16. If you want to spool the PostScript code generated, turn on this | |
804 ;; option. To spool the PostScript code generated use option 2. You | |
805 ;; can despool later by choosing option 1 or 2, sub-option `Despool...'. | |
806 ;; | |
807 ;; 17. If you use colors in your buffers and want to see these colors on | |
808 ;; your PostScript code generated, turn on this option. If you have a | |
809 ;; black/white PostScript printer, these colors are displayed in gray | |
810 ;; scale by PostScript printer interpreter. | |
811 ;; | |
812 ;; 18. If you don't have a PostScript printer to send PostScript files, turn | |
813 ;; on this option. When this option is on, the ghostscript is used to | |
814 ;; print PostScript files. In GNU or Unix system, if ghostscript is set | |
815 ;; as a PostScript filter, you don't need to turn on this option. | |
816 ;; | |
817 ;; V. Printing customization: | |
818 ;; | |
819 ;; 19. If you want that region is automagically detected, turn on this | |
820 ;; option. Note that this will only work if you're using transient mark | |
821 ;; mode. When this option is on, the `*-buffer*' commands will behave | |
822 ;; like `*-region*' commands, that is, `*-buffer*' commands will print | |
823 ;; only the region marked instead of all buffer. | |
824 ;; | |
825 ;; 20. Turn this option on if you want that when current major-mode is | |
826 ;; declared in `pr-mode-alist', the `*-buffer*' and `*-region*' commands | |
827 ;; behave like `*-mode*' commands. | |
828 ;; | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
829 ;; 21. If you want that Printing menu stays open while you are setting |
49646 | 830 ;; toggle options, turn on this option. The variables |
831 ;; `pr-menu-char-height' and `pr-menu-char-width' are used to guess the | |
832 ;; menu position, so don't forget to adjust these variables if menu | |
833 ;; position is not ok. | |
834 ;; | |
835 ;; VI. Customization: | |
836 ;; | |
837 ;; 22. Besides all options in section III, IV and V, you can customize much | |
838 ;; more PostScript options in `ps-print' option. Or you can customize | |
839 ;; some `lpr' options for text printing. Or customize `printing' | |
840 ;; options. | |
841 ;; | |
842 ;; 23. Show current settings for `printing', `ps-print' or `lpr'. | |
843 ;; | |
844 ;; 24. Quick help for printing menu layout. | |
845 ;; | |
846 ;; | |
847 ;; Option Settings | |
848 ;; --------------- | |
849 ;; | |
850 ;; Below it's shown only the main options that affect all `printing' package. | |
851 ;; Check all the settings below *BEFORE* running `printing' commands. | |
852 ;; | |
853 ;; * Example of setting for GNU or Unix system: | |
854 ;; | |
855 ;; (require 'printing) | |
856 ;; (setq pr-path-alist | |
857 ;; '((unix "." "~/bin" ghostview mpage PATH) | |
858 ;; (ghostview "$HOME/bin/gsview-dir") | |
859 ;; (mpage "$HOME/bin/mpage-dir") | |
860 ;; )) | |
861 ;; (setq pr-txt-name 'prt_06a) | |
862 ;; (setq pr-txt-printer-alist | |
863 ;; '((prt_06a "lpr" nil "prt_06a") | |
864 ;; (prt_07c nil nil "prt_07c") | |
865 ;; )) | |
866 ;; (setq pr-ps-name 'lps_06b) | |
867 ;; (setq pr-ps-printer-alist | |
868 ;; '((lps_06b "lpr" nil "-P" "lps_06b") | |
869 ;; (lps_07c "lpr" nil nil "lps_07c") | |
870 ;; (lps_08c nil nil nil "lps_08c") | |
871 ;; )) | |
872 ;; (setq pr-temp-dir "/tmp/") | |
873 ;; (setq pr-gv-command "gv") | |
874 ;; (setq pr-gs-command "gs") | |
875 ;; (setq pr-gs-switches '("-q -dNOPAUSE -I/usr/share/ghostscript/5.10")) | |
876 ;; (setq pr-gs-device "uniprint") | |
877 ;; (setq pr-gs-resolution 300) | |
878 ;; (setq pr-ps-utility 'mpage) | |
879 ;; (setq pr-ps-utility-alist | |
880 ;; '((mpage "mpage" nil "-b%s" "-%d" "-l" "-t" "-T" ">" nil) | |
881 ;; (psnup "psnup" ("-q") "-P%s" "-%d" "-l" nil nil " " nil | |
882 ;; (inherits-from: . no-duplex)) | |
883 ;; )) | |
884 ;; (setq pr-setting-database | |
885 ;; '((no-duplex | |
886 ;; nil nil nil | |
887 ;; (pr-file-duplex . nil) | |
888 ;; (pr-file-tumble . nil)) | |
889 ;; )) | |
890 ;; (pr-update-menus t) ; update now printer and utility menus | |
891 ;; | |
892 ;; * Example of setting for Windows system: | |
893 ;; | |
894 ;; (require 'printing) | |
895 ;; (setq pr-path-alist | |
896 ;; '((windows "c:/applications/executables" PATH ghostview mpage) | |
897 ;; (ghostview "c:/gs/gsview-dir") | |
898 ;; (mpage "c:/mpage-dir") | |
899 ;; )) | |
900 ;; (setq pr-txt-name 'prt_06a) | |
901 ;; (setq pr-txt-printer-alist | |
902 ;; '((prt_06a "print" nil "/D:\\\\printers\\prt_06a") | |
903 ;; (prt_07c nil nil "/D:\\\\printers\\prt_07c") | |
904 ;; (PRN "" nil "PRN") | |
905 ;; (standard "redpr.exe" nil "") | |
906 ;; )) | |
907 ;; (setq pr-ps-name 'lps_06b) | |
908 ;; (setq pr-ps-printer-alist | |
909 ;; '((lps_06a "print" nil "/D:" "\\\\printers\\lps_06a") | |
910 ;; (lps_06b "print" nil nil "\\\\printers\\lps_06b") | |
911 ;; (lps_07c "print" nil "" "/D:\\\\printers\\lps_07c") | |
912 ;; (lps_08c nil nil nil "\\\\printers\\lps_08c") | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
913 ;; (b/w "gsprint" ("-all" "-twoup") "-printer " "b/w-pr-name") |
49646 | 914 ;; (LPT1 "" nil "" "LPT1:") |
915 ;; (PRN "" nil "" "PRN") | |
916 ;; (standard "redpr.exe" nil "" "") | |
917 ;; )) | |
918 ;; (setq pr-temp-dir "C:/WINDOWS/TEMP/") | |
919 ;; (setq pr-gv-command "c:/gs/gsview/gsview32.exe") | |
920 ;; (setq pr-gs-command "c:/gs/gswin32.exe") | |
921 ;; (setq pr-gs-switches '("-q -dNOPAUSE -Ic:/gs/gs5.50;c:/gs/gs5.50/fonts")) | |
922 ;; (setq pr-gs-device "mswinpr2") | |
923 ;; (setq pr-gs-resolution 300) | |
924 ;; (setq pr-ps-utility 'psnup) | |
925 ;; (setq pr-ps-utility-alist | |
926 ;; '((psnup "c:/psutils/psnup" ("-q") "-P%s" "-%d" "-l" nil nil " " | |
927 ;; nil (inherits-from: . no-duplex)) | |
928 ;; )) | |
929 ;; (setq pr-setting-database | |
930 ;; '((no-duplex | |
931 ;; nil nil nil | |
932 ;; (pr-file-duplex . nil) | |
933 ;; (pr-file-tumble . nil)) | |
934 ;; )) | |
935 ;; (pr-update-menus t) ; update now printer and utility menus | |
936 ;; | |
937 ;; NOTE: Don't forget to download and install the utilities declared on | |
938 ;; `pr-ps-utility-alist'. | |
939 ;; | |
940 ;; | |
941 ;; Utilities | |
942 ;; --------- | |
943 ;; | |
944 ;; `printing' package has the following utilities: | |
945 ;; | |
946 ;; `pr-setup' Return the current `printing' setup. | |
947 ;; | |
948 ;; `lpr-setup' Return the current `lpr' setup. | |
949 ;; | |
950 ;; `pr-update-menus' Update utility, PostScript and text printer menus. | |
951 ;; | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
952 ;; `pr-menu-bind' Install `printing' menu in the menubar. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
953 ;; |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
954 ;; |
49646 | 955 ;; Below are some URL where you can find good utilities. |
956 ;; | |
957 ;; * For `printing' package: | |
958 ;; | |
73827
985f3831f360
Fix Print submenu creation
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
73770
diff
changeset
|
959 ;; printing `http://www.emacswiki.org/cgi-bin/emacs/download/printing.el' |
75712
f24fee7e36d4
Fix ps-print links
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
75347
diff
changeset
|
960 ;; ps-print `http://www.emacswiki.org/cgi-bin/wiki/PsPrintPackage' |
49646 | 961 ;; |
962 ;; * For GNU or Unix system: | |
963 ;; | |
964 ;; gs, gv `http://www.gnu.org/software/ghostscript/ghostscript.html' | |
965 ;; enscript `http://people.ssh.fi/mtr/genscript/' | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
966 ;; psnup `http://www.knackered.org/angus/psutils/' |
49646 | 967 ;; mpage `http://www.mesa.nl/pub/mpage/' |
968 ;; | |
969 ;; * For Windows system: | |
970 ;; | |
971 ;; gswin32, gsview32 | |
972 ;; `http://www.gnu.org/software/ghostscript/ghostscript.html' | |
57187
c9052d462541
Doc fix (gsprint).
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56578
diff
changeset
|
973 ;; gsprint `http://www.cs.wisc.edu/~ghost/gsview/gsprint.htm'. |
49646 | 974 ;; enscript `http://people.ssh.fi/mtr/genscript/' |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
975 ;; psnup `http://gnuwin32.sourceforge.net/packages/psutils.htm' |
49646 | 976 ;; redmon `http://www.cs.wisc.edu/~ghost/redmon/' |
977 ;; | |
978 ;; | |
979 ;; Acknowledgments | |
980 ;; --------------- | |
981 ;; | |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
982 ;; Thanks to Stefan Monnier <monnier@iro.umontreal.ca> for GNU Emacs and XEmacs |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
983 ;; printing menu (in `pr-menu-spec') merging suggestion. |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
984 ;; |
57187
c9052d462541
Doc fix (gsprint).
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56578
diff
changeset
|
985 ;; Thanks to Lennart Borgman <lennart.borgman.073@student.lu.se> for gsprint |
c9052d462541
Doc fix (gsprint).
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56578
diff
changeset
|
986 ;; suggestion (see tip 5 in section Tips). |
c9052d462541
Doc fix (gsprint).
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56578
diff
changeset
|
987 ;; |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
988 ;; Thanks to Drew Adams <drew.adams@oracle.com> for suggestions: |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
989 ;; - directory processing. |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
990 ;; - `pr-path-alist' variable. |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
991 ;; - doc fix. |
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
992 ;; - a lot of tests on Windows. |
49646 | 993 ;; |
994 ;; Thanks to Fred Labrosse <f.labrosse@maths.bath.ac.uk> for XEmacs tests. | |
995 ;; | |
996 ;; Thanks to Klaus Berndl <klaus.berndl@sdm.de> for invaluable help/debugging | |
997 ;; and for suggestions: | |
998 ;; - even/odd pages printing. | |
999 ;; - ghostscript parameters for `pr-ps-printer-alist'. | |
1000 ;; - default printer name. | |
1001 ;; - completion functions. | |
1002 ;; - automagic region detection. | |
1003 ;; - menu entry hiding. | |
1004 ;; - fast fire PostScript printing command. | |
1005 ;; - `pr-path-style' variable. | |
1006 ;; | |
1007 ;; Thanks to Kim F. Storm <storm@filanet.dk> for beta-test and for suggestions: | |
1008 ;; - PostScript Print and PostScript Print Preview merge. | |
1009 ;; - Tools/Printing menu. | |
1010 ;; - replace *-using-preview by *-using-ghostscript. | |
1011 ;; - printer selection. | |
1012 ;; - extra parameters for `pr-ps-printer-alist'. | |
1013 ;; | |
1014 ;; Thanks to: | |
1015 ;; Frederic Corne <frederic.corne@erli.fr> print-nt.el | |
1016 ;; Tom Vogels <tov@ece.cmu.edu> mh-e-init.el | |
1017 ;; Matthew O. Persico <mpersico@erols.com> win32-ps-print.el | |
1018 ;; Volker Franz <volker.franz@tuebingen.mpg.de> ps-print-interface.el | |
1019 ;; And to all people who contributed with them. | |
1020 ;; | |
1021 ;; | |
1022 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
1023 | |
1024 ;;; Code: | |
1025 | |
1026 | |
1027 (require 'lpr) | |
1028 (require 'ps-print) | |
1029 | |
1030 | |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
1031 (and (string< ps-print-version "6.6.4") |
56578
a36e2d80b510
(toplevel, pr-ps-fast-fire, pr-ps-set-utility)
John Paul Wallington <jpw@pobox.com>
parents:
56493
diff
changeset
|
1032 (error "`printing' requires `ps-print' package version 6.6.4 or later")) |
49646 | 1033 |
1034 | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1035 (defconst pr-cygwin-system |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1036 (and ps-windows-system (getenv "OSTYPE") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1037 (string-match "cygwin" (getenv "OSTYPE")))) |
49646 | 1038 |
1039 | |
1040 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
1041 ;; To avoid compilation gripes | |
1042 | |
1043 | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1044 (or (fboundp 'subst-char-in-string) ; hacked from subr.el |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1045 (defun subst-char-in-string (fromchar tochar string &optional inplace) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1046 "Replace FROMCHAR with TOCHAR in STRING each time it occurs. |
49646 | 1047 Unless optional argument INPLACE is non-nil, return a new string." |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1048 (let ((i (length string)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1049 (newstr (if inplace string (copy-sequence string)))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1050 (while (> (setq i (1- i)) 0) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1051 (if (eq (aref newstr i) fromchar) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1052 (aset newstr i tochar))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1053 newstr))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1054 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1055 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1056 (or (fboundp 'make-temp-file) ; hacked from subr.el |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1057 (defun make-temp-file (prefix &optional dir-flag suffix) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1058 "Create a temporary file. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1059 The returned file name (created by appending some random characters at the end |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1060 of PREFIX, and expanding against `temporary-file-directory' if necessary), |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1061 is guaranteed to point to a newly created empty file. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1062 You can then use `write-region' to write new data into the file. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1063 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1064 If DIR-FLAG is non-nil, create a new empty directory instead of a file. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1065 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1066 If SUFFIX is non-nil, add that at the end of the file name." |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1067 (let ((umask (default-file-modes)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1068 file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1069 (unwind-protect |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1070 (progn |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1071 ;; Create temp files with strict access rights. It's easy to |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1072 ;; loosen them later, whereas it's impossible to close the |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1073 ;; time-window of loose permissions otherwise. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1074 (set-default-file-modes ?\700) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1075 (while (condition-case () |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1076 (progn |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1077 (setq file |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1078 (make-temp-name |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1079 (expand-file-name prefix temporary-file-directory))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1080 (if suffix |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1081 (setq file (concat file suffix))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1082 (if dir-flag |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1083 (make-directory file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1084 (write-region "" nil file nil 'silent nil 'excl)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1085 nil) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1086 (file-already-exists t)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1087 ;; the file was somehow created by someone else between |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1088 ;; `make-temp-name' and `write-region', let's try again. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1089 nil) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1090 file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1091 ;; Reset the umask. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1092 (set-default-file-modes umask))))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1093 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1094 |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1095 (eval-when-compile |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1096 ;; User Interface --- declared here to avoid compiler warnings |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1097 (defvar pr-path-style) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1098 (defvar pr-auto-region) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1099 (defvar pr-menu-char-height) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1100 (defvar pr-menu-char-width) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1101 (defvar pr-menu-lock) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1102 (defvar pr-ps-printer-alist) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1103 (defvar pr-txt-printer-alist) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1104 (defvar pr-ps-utility-alist) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1105 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1106 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1107 ;; Internal fun alias to avoid compilation gripes |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1108 (defalias 'pr-menu-lookup 'ignore) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1109 (defalias 'pr-menu-lock 'ignore) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1110 (defalias 'pr-menu-alist 'ignore) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1111 (defalias 'pr-even-or-odd-pages 'ignore) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1112 (defalias 'pr-menu-get-item 'ignore) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1113 (defalias 'pr-menu-set-item-name 'ignore) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1114 (defalias 'pr-menu-set-utility-title 'ignore) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1115 (defalias 'pr-menu-set-ps-title 'ignore) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1116 (defalias 'pr-menu-set-txt-title 'ignore) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1117 (defalias 'pr-region-active-p 'ignore) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1118 (defalias 'pr-do-update-menus 'ignore) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1119 (defalias 'pr-update-mode-line 'ignore) |
87206
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
1120 (defalias 'pr-read-string 'ignore) |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
1121 (defalias 'pr-set-keymap-parents 'ignore) |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1122 (defalias 'pr-keep-region-active 'ignore)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1123 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1124 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1125 ;; Internal Vars --- defined here to avoid compiler warnings |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1126 (defvar pr-menu-print-item "print" |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1127 "Non-nil means that menu binding was not done. |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1128 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1129 Used by `pr-menu-bind' and `pr-update-menus'.") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1130 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1131 (defvar pr-ps-printer-menu-modified t |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1132 "Non-nil means `pr-ps-printer-alist' was modified and we need to update menu.") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1133 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1134 (defvar pr-txt-printer-menu-modified t |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1135 "Non-nil means `pr-txt-printer-alist' was modified and we need to update menu.") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1136 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1137 (defvar pr-ps-utility-menu-modified t |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1138 "Non-nil means `pr-ps-utility-alist' was modified and we need to update menu.") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1139 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1140 (defconst pr-even-or-odd-alist |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1141 '((nil . "Print All Pages") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1142 (even-page . "Print Even Pages") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1143 (odd-page . "Print Odd Pages") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1144 (even-sheet . "Print Even Sheets") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1145 (odd-sheet . "Print Odd Sheets"))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1146 |
80951 | 1147 |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1148 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1149 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1150 ;; XEmacs Definitions |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1151 |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1152 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1153 (cond |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1154 ((featurep 'xemacs) ; XEmacs |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1155 ;; XEmacs |
87206
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
1156 (defalias 'pr-set-keymap-parents 'set-keymap-parents) |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
1157 (defalias 'pr-set-keymap-name 'set-keymap-name) |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1158 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1159 ;; XEmacs |
87206
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
1160 (defun pr-read-string (prompt initial history default) |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1161 (let ((str (read-string prompt initial))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1162 (if (and str (not (string= str ""))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1163 str |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1164 default))) |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1165 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1166 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1167 (defvar zmacs-region-stays nil) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1168 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1169 ;; XEmacs |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1170 (defun pr-keep-region-active () |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1171 (setq zmacs-region-stays t)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1172 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1173 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1174 (defun pr-region-active-p () |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1175 (and pr-auto-region (not zmacs-region-stays) (ps-mark-active-p))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1176 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1177 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1178 (defun pr-menu-char-height () |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1179 (font-height (face-font 'default))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1180 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1181 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1182 (defun pr-menu-char-width () |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1183 (font-width (face-font 'default))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1184 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1185 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1186 (defmacro pr-xemacs-global-menubar (&rest body) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1187 `(save-excursion |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1188 (let ((temp (get-buffer-create (make-temp-name " *Temp")))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1189 ;; be sure to access global menubar |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1190 (set-buffer temp) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1191 ,@body |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1192 (kill-buffer temp)))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1193 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1194 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1195 (defun pr-global-menubar (pr-menu-spec) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1196 ;; Menu binding |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1197 (pr-xemacs-global-menubar |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1198 (add-submenu nil (cons "Printing" pr-menu-spec) "Apps")) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1199 (setq pr-menu-print-item nil)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1200 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1201 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1202 (defvar current-mouse-event nil) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1203 (defun pr-menu-position (entry index horizontal) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1204 (make-event |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1205 'button-release |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1206 (list 'button 1 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1207 'x (- (event-x-pixel current-mouse-event) ; X |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1208 (* horizontal pr-menu-char-width)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1209 'y (- (event-y-pixel current-mouse-event) ; Y |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1210 (* (pr-menu-index entry index) pr-menu-char-height))))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1211 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1212 (defvar pr-menu-position nil) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1213 (defvar pr-menu-state nil) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1214 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1215 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1216 (defvar current-menubar nil) ; to avoid compilation gripes |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1217 (defun pr-menu-lookup (path) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1218 (car (find-menu-item current-menubar (cons "Printing" path)))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1219 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1220 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1221 (defun pr-menu-lock (entry index horizontal state path) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1222 (when pr-menu-lock |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1223 (or (and pr-menu-position (eq state pr-menu-state)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1224 (setq pr-menu-position (pr-menu-position entry index horizontal) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1225 pr-menu-state state)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1226 (let* ((menu (pr-menu-lookup path)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1227 (result (get-popup-menu-response menu pr-menu-position))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1228 (and (misc-user-event-p result) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1229 (funcall (event-function result) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1230 (event-object result)))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1231 (setq pr-menu-position nil))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1232 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1233 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1234 (defalias 'pr-update-mode-line 'set-menubar-dirty-flag) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1235 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1236 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1237 (defvar pr-ps-name-old "PostScript Printers") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1238 (defvar pr-txt-name-old "Text Printers") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1239 (defvar pr-ps-utility-old "PostScript Utility") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1240 (defvar pr-even-or-odd-old "Print All Pages") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1241 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1242 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1243 (defun pr-do-update-menus (&optional force) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1244 (pr-menu-alist pr-ps-printer-alist |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1245 'pr-ps-name |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1246 'pr-menu-set-ps-title |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1247 '("Printing") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1248 'pr-ps-printer-menu-modified |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1249 force |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1250 pr-ps-name-old |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1251 'postscript 2) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1252 (pr-menu-alist pr-txt-printer-alist |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1253 'pr-txt-name |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1254 'pr-menu-set-txt-title |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1255 '("Printing") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1256 'pr-txt-printer-menu-modified |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1257 force |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1258 pr-txt-name-old |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1259 'text 2) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1260 (let ((save-var pr-ps-utility-menu-modified)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1261 (pr-menu-alist pr-ps-utility-alist |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1262 'pr-ps-utility |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1263 'pr-menu-set-utility-title |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1264 '("Printing" "PostScript Print" "File") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1265 'save-var |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1266 force |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1267 pr-ps-utility-old |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1268 nil 1)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1269 (pr-menu-alist pr-ps-utility-alist |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1270 'pr-ps-utility |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1271 'pr-menu-set-utility-title |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1272 '("Printing" "PostScript Preview" "File") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1273 'pr-ps-utility-menu-modified |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1274 force |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1275 pr-ps-utility-old |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1276 nil 1) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1277 (pr-even-or-odd-pages ps-even-or-odd-pages force)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1278 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1279 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1280 (defun pr-menu-alist (alist var-sym fun menu-path modified-sym force name |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1281 entry index) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1282 (when (and alist (or force (symbol-value modified-sym))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1283 (pr-xemacs-global-menubar |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1284 (add-submenu menu-path |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1285 (pr-menu-create name alist var-sym |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1286 fun entry index))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1287 (funcall fun (symbol-value var-sym)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1288 (set modified-sym nil))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1289 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1290 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1291 (defun pr-relabel-menu-item (newname var-sym) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1292 (pr-xemacs-global-menubar |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1293 (relabel-menu-item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1294 (list "Printing" (symbol-value var-sym)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1295 newname) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1296 (set var-sym newname))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1297 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1298 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1299 (defun pr-menu-set-ps-title (value &optional item entry index) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1300 (pr-relabel-menu-item (format "PostScript Printer: %s" value) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1301 'pr-ps-name-old) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1302 (pr-ps-set-printer value) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1303 (and index |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1304 (pr-menu-lock entry index 12 'toggle nil))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1305 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1306 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1307 (defun pr-menu-set-txt-title (value &optional item entry index) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1308 (pr-relabel-menu-item (format "Text Printer: %s" value) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1309 'pr-txt-name-old) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1310 (pr-txt-set-printer value) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1311 (and index |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1312 (pr-menu-lock entry index 12 'toggle nil))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1313 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1314 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1315 (defun pr-menu-set-utility-title (value &optional item entry index) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1316 (pr-xemacs-global-menubar |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1317 (let ((newname (format "%s" value))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1318 (relabel-menu-item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1319 (list "Printing" "PostScript Print" "File" pr-ps-utility-old) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1320 newname) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1321 (relabel-menu-item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1322 (list "Printing" "PostScript Preview" "File" pr-ps-utility-old) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1323 newname) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1324 (setq pr-ps-utility-old newname))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1325 (pr-ps-set-utility value) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1326 (and index |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1327 (pr-menu-lock entry index 5 nil '("PostScript Print" "File")))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1328 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1329 ;; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1330 (defun pr-even-or-odd-pages (value &optional no-lock) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1331 (pr-relabel-menu-item (cdr (assq value pr-even-or-odd-alist)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1332 'pr-even-or-odd-old) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1333 (setq ps-even-or-odd-pages value) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1334 (or no-lock |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1335 (pr-menu-lock 'postscript-options 8 12 'toggle nil))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1336 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1337 ) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1338 (t ; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1339 ;; Do nothing |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1340 )) ; end cond featurep |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1341 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1342 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1343 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1344 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1345 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1346 ;; GNU Emacs Definitions |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1347 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1348 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1349 (cond |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1350 ((featurep 'xemacs) ; XEmacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1351 ;; Do nothing |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1352 ) |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1353 (t ; GNU Emacs |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1354 ;; GNU Emacs |
87206
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
1355 (defalias 'pr-set-keymap-parents 'set-keymap-parent) |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
1356 (defalias 'pr-set-keymap-name 'ignore) |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
1357 (defalias 'pr-read-string 'read-string) |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1358 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1359 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1360 (defvar deactivate-mark) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1361 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1362 ;; GNU Emacs |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
1363 (defun pr-keep-region-active () |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1364 (setq deactivate-mark nil)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1365 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1366 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1367 (defun pr-region-active-p () |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1368 (and pr-auto-region transient-mark-mode mark-active)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1369 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1370 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1371 (defun pr-menu-char-height () |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1372 (frame-char-height)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1373 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1374 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1375 (defun pr-menu-char-width () |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1376 (frame-char-width)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1377 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1378 (defvar pr-menu-bar nil |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1379 "Specify Printing menu-bar entry.") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1380 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1381 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1382 ;; Menu binding |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1383 ;; Replace existing "print" item by "Printing" item. |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1384 ;; If you're changing this file, you'll load it a second, |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1385 ;; third... time, but "print" item exists only in the first load. |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1386 (eval-when-compile |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1387 (require 'easymenu)) ; to avoid compilation gripes |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1388 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1389 (eval-and-compile |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1390 (cond |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1391 ;; GNU Emacs 20 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1392 ((< emacs-major-version 21) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1393 (defun pr-global-menubar (pr-menu-spec) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1394 (require 'easymenu) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1395 (easy-menu-change '("tools") "Printing" pr-menu-spec pr-menu-print-item) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1396 (when pr-menu-print-item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1397 (easy-menu-remove-item nil '("tools") pr-menu-print-item) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1398 (setq pr-menu-print-item nil |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1399 pr-menu-bar (vector 'menu-bar 'tools |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1400 (pr-get-symbol "Printing"))))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1401 ) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1402 ;; GNU Emacs 21 & 22 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1403 (t |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1404 (defun pr-global-menubar (pr-menu-spec) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1405 (require 'easymenu) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1406 (let ((menu-file (if (= emacs-major-version 21) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1407 '("menu-bar" "files") ; GNU Emacs 21 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1408 '("menu-bar" "file")))) ; GNU Emacs 22 or higher |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1409 (cond |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1410 (pr-menu-print-item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1411 (easy-menu-add-item global-map menu-file |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1412 (easy-menu-create-menu "Print" pr-menu-spec) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1413 "print-buffer") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1414 (dolist (item '("print-buffer" "print-region" |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1415 "ps-print-buffer-faces" "ps-print-region-faces" |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1416 "ps-print-buffer" "ps-print-region")) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1417 (easy-menu-remove-item global-map menu-file item)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1418 (setq pr-menu-print-item nil |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1419 pr-menu-bar (vector 'menu-bar |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1420 (pr-get-symbol (nth 1 menu-file)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1421 (pr-get-symbol "Print")))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1422 (t |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1423 (easy-menu-add-item global-map menu-file |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1424 (easy-menu-create-menu "Print" pr-menu-spec))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1425 ))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1426 ))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1427 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1428 (eval-and-compile |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1429 (cond |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1430 (ps-windows-system |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1431 ;; GNU Emacs for Windows 9x/NT |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1432 (defun pr-menu-position (entry index horizontal) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1433 (let ((pos (cdr (mouse-pixel-position)))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1434 (list |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1435 (list (or (car pos) 0) ; X |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1436 (- (or (cdr pos) 0) ; Y |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1437 (* (pr-menu-index entry index) pr-menu-char-height))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1438 (selected-frame)))) ; frame |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1439 ) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1440 (t |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1441 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1442 (defun pr-menu-position (entry index horizontal) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1443 (let ((pos (cdr (mouse-pixel-position)))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1444 (list |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1445 (list (- (or (car pos) 0) ; X |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1446 (* horizontal pr-menu-char-width)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1447 (- (or (cdr pos) 0) ; Y |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1448 (* (pr-menu-index entry index) pr-menu-char-height))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1449 (selected-frame)))) ; frame |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1450 ))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1451 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1452 (defvar pr-menu-position nil) |
87206
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
1453 (defvar pr-menu-state nil) |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1454 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1455 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1456 (defun pr-menu-lookup (path) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1457 (lookup-key global-map |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1458 (if path |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1459 (vconcat pr-menu-bar |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1460 (mapcar 'pr-get-symbol |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1461 (if (listp path) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1462 path |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1463 (list path)))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1464 pr-menu-bar))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1465 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1466 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1467 (defun pr-menu-lock (entry index horizontal state path) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1468 (when pr-menu-lock |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1469 (or (and pr-menu-position (eq state pr-menu-state)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1470 (setq pr-menu-position (pr-menu-position entry index horizontal) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1471 pr-menu-state state)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1472 (let* ((menu (pr-menu-lookup path)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1473 (result (x-popup-menu pr-menu-position menu))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1474 (and result |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1475 (let ((command (lookup-key menu (vconcat result)))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1476 (if (fboundp command) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1477 (funcall command) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1478 (eval command))))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1479 (setq pr-menu-position nil))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1480 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1481 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1482 (defalias 'pr-update-mode-line 'force-mode-line-update) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1483 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1484 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1485 (defun pr-do-update-menus (&optional force) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1486 (pr-menu-alist pr-ps-printer-alist |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1487 'pr-ps-name |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1488 'pr-menu-set-ps-title |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1489 "PostScript Printers" |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1490 'pr-ps-printer-menu-modified |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1491 force |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1492 "PostScript Printers" |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1493 'postscript 2) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1494 (pr-menu-alist pr-txt-printer-alist |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1495 'pr-txt-name |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1496 'pr-menu-set-txt-title |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1497 "Text Printers" |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1498 'pr-txt-printer-menu-modified |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1499 force |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1500 "Text Printers" |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1501 'text 2) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1502 (let ((save-var pr-ps-utility-menu-modified)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1503 (pr-menu-alist pr-ps-utility-alist |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1504 'pr-ps-utility |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1505 'pr-menu-set-utility-title |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1506 '("PostScript Print" "File" "PostScript Utility") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1507 'save-var |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1508 force |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1509 "PostScript Utility" |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1510 nil 1)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1511 (pr-menu-alist pr-ps-utility-alist |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1512 'pr-ps-utility |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1513 'pr-menu-set-utility-title |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1514 '("PostScript Preview" "File" "PostScript Utility") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1515 'pr-ps-utility-menu-modified |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1516 force |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1517 "PostScript Utility" |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1518 nil 1) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1519 (pr-even-or-odd-pages ps-even-or-odd-pages force)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1520 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1521 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1522 (defun pr-menu-get-item (name-list) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1523 ;; NAME-LIST is a string or a list of strings. |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1524 (or (listp name-list) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1525 (setq name-list (list name-list))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1526 (and name-list |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1527 (let* ((reversed (reverse name-list)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1528 (name (pr-get-symbol (car reversed))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1529 (path (nreverse (cdr reversed))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1530 (menu (lookup-key |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1531 global-map |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1532 (vconcat pr-menu-bar |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1533 (mapcar 'pr-get-symbol path))))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1534 (assq name (nthcdr 2 menu))))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1535 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1536 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1537 (defvar pr-temp-menu nil) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1538 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1539 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1540 (defun pr-menu-alist (alist var-sym fun menu-path modified-sym force name |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1541 entry index) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1542 (when (and alist (or force (symbol-value modified-sym))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1543 (easy-menu-define pr-temp-menu nil "" |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1544 (pr-menu-create name alist var-sym fun entry index)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1545 (let ((item (pr-menu-get-item menu-path))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1546 (and item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1547 (let* ((binding (nthcdr 3 item)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1548 (key-binding (cdr binding))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1549 (setcar binding pr-temp-menu) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1550 (and key-binding (listp (car key-binding)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1551 (setcdr binding (cdr key-binding))) ; skip KEY-BINDING |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1552 (funcall fun (symbol-value var-sym) item)))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1553 (set modified-sym nil))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1554 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1555 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1556 (defun pr-menu-set-item-name (item name) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1557 (and item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1558 (setcar (nthcdr 2 item) name))) ; ITEM-NAME |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1559 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1560 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1561 (defun pr-menu-set-ps-title (value &optional item entry index) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1562 (pr-menu-set-item-name (or item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1563 (pr-menu-get-item "PostScript Printers")) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1564 (format "PostScript Printer: %s" value)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1565 (pr-ps-set-printer value) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1566 (and index |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1567 (pr-menu-lock entry index 12 'toggle nil))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1568 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1569 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1570 (defun pr-menu-set-txt-title (value &optional item entry index) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1571 (pr-menu-set-item-name (or item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1572 (pr-menu-get-item "Text Printers")) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1573 (format "Text Printer: %s" value)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1574 (pr-txt-set-printer value) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1575 (and index |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1576 (pr-menu-lock entry index 12 'toggle nil))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1577 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1578 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1579 (defun pr-menu-set-utility-title (value &optional item entry index) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1580 (let ((name (symbol-name value))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1581 (if item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1582 (pr-menu-set-item-name item name) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1583 (pr-menu-set-item-name |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1584 (pr-menu-get-item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1585 '("PostScript Print" "File" "PostScript Utility")) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1586 name) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1587 (pr-menu-set-item-name |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1588 (pr-menu-get-item |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1589 '("PostScript Preview" "File" "PostScript Utility")) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1590 name))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1591 (pr-ps-set-utility value) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1592 (and index |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1593 (pr-menu-lock entry index 5 nil '("PostScript Print" "File")))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1594 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1595 ;; GNU Emacs |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1596 (defun pr-even-or-odd-pages (value &optional no-lock) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1597 (pr-menu-set-item-name (pr-menu-get-item "Print All Pages") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1598 (cdr (assq value pr-even-or-odd-alist))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1599 (setq ps-even-or-odd-pages value) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1600 (or no-lock |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1601 (pr-menu-lock 'postscript-options 8 12 'toggle nil))) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1602 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1603 )) ; end cond featurep |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1604 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1605 |
49646 | 1606 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1607 ;; Internal Functions (I) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1608 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1609 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1610 (defun pr-dosify-file-name (path) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1611 "Replace unix-style directory separator character with dos/windows one." |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1612 (interactive "sPath: ") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1613 (if (eq pr-path-style 'windows) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1614 (subst-char-in-string ?/ ?\\ path) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1615 path)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1616 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1617 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1618 (defun pr-unixify-file-name (path) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1619 "Replace dos/windows-style directory separator character with unix one." |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1620 (interactive "sPath: ") |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1621 (if (eq pr-path-style 'windows) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1622 (subst-char-in-string ?\\ ?/ path) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1623 path)) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1624 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1625 |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1626 (defun pr-standard-file-name (path) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1627 "Ensure the proper directory separator depending on the OS. |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1628 That is, if Emacs is running on DOS/Windows, ensure dos/windows-style directory |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1629 separator; otherwise, ensure unix-style directory separator." |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1630 (if (or pr-cygwin-system ps-windows-system) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1631 (subst-char-in-string ?/ ?\\ path) |
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1632 (subst-char-in-string ?\\ ?/ path))) |
49646 | 1633 |
1634 | |
1635 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
1636 ;; Customization Functions | |
1637 | |
1638 | |
1639 (defun pr-alist-custom-set (symbol value) | |
1640 "Set the value of custom variables for printer & utility selection." | |
1641 (set symbol value) | |
1642 (and (featurep 'printing) ; update only after printing is loaded | |
1643 (pr-update-menus t))) | |
1644 | |
1645 | |
1646 (defun pr-ps-utility-custom-set (symbol value) | |
1647 "Update utility menu entry." | |
1648 (set symbol value) | |
1649 (and (featurep 'printing) ; update only after printing is loaded | |
1650 (pr-menu-set-utility-title value))) | |
1651 | |
1652 | |
1653 (defun pr-ps-name-custom-set (symbol value) | |
1654 "Update `PostScript Printer:' menu entry." | |
1655 (set symbol value) | |
1656 (and (featurep 'printing) ; update only after printing is loaded | |
1657 (pr-menu-set-ps-title value))) | |
1658 | |
1659 | |
1660 (defun pr-txt-name-custom-set (symbol value) | |
1661 "Update `Text Printer:' menu entry." | |
1662 (set symbol value) | |
1663 (and (featurep 'printing) ; update only after printing is loaded | |
1664 (pr-menu-set-txt-title value))) | |
1665 | |
1666 | |
1667 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
1668 ;; User Interface |
49646 | 1669 |
1670 | |
1671 (defgroup printing nil | |
64018
2d2ec1140b68
(printing): Finish `defgroup' description with period.
Juanma Barranquero <lekktu@gmail.com>
parents:
63328
diff
changeset
|
1672 "Printing Utilities group." |
49646 | 1673 :tag "Printing Utilities" |
1674 :link '(emacs-library-link :tag "Source Lisp File" "printing.el") | |
1675 :prefix "pr-" | |
79306
18f8d176549a
(printing): Fix :version, printing.el was included
Dan Nicolaescu <dann@ics.uci.edu>
parents:
78492
diff
changeset
|
1676 :version "22.1" |
49646 | 1677 :group 'wp |
1678 :group 'postscript) | |
1679 | |
1680 | |
1681 (defcustom pr-path-style | |
1682 (if (and (not pr-cygwin-system) | |
1683 ps-windows-system) | |
1684 'windows | |
1685 'unix) | |
1686 "*Specify which path style to use for external commands. | |
1687 | |
1688 Valid values are: | |
1689 | |
1690 windows Windows 9x/NT style (\\) | |
1691 | |
1692 unix Unix style (/)" | |
1693 :type '(choice :tag "Path style" | |
1694 (const :tag "Windows 9x/NT Style (\\)" :value windows) | |
1695 (const :tag "Unix Style (/)" :value unix)) | |
1696 :group 'printing) | |
1697 | |
1698 | |
1699 (defcustom pr-path-alist | |
1700 '((unix PATH) | |
1701 (cygwin PATH) | |
1702 (windows PATH)) | |
1703 "*Specify an alist for command paths. | |
1704 | |
1705 It's used to find commands used for printing package, like gv, gs, gsview.exe, | |
1706 mpage, print.exe, etc. See also `pr-command' function. | |
1707 | |
1708 Each element has the form: | |
1709 | |
1710 (ENTRY DIRECTORY...) | |
1711 | |
1712 Where: | |
1713 | |
1714 ENTRY It's a symbol, used to identify this entry. | |
1715 There must exist at least one of the following entries: | |
1716 | |
1717 unix this entry is used when Emacs is running on GNU or | |
1718 Unix system. | |
1719 | |
1720 cygwin this entry is used when Emacs is running on Windows | |
1721 95/98/NT/2000 with Cygwin. | |
1722 | |
1723 windows this entry is used when Emacs is running on Windows | |
1724 95/98/NT/2000. | |
1725 | |
1726 DIRECTORY It should be a string or a symbol. If it's a symbol, it should | |
1727 exist an equal entry in `pr-path-alist'. If it's a string, | |
1728 it's considered a directory specification. | |
1729 | |
1730 The directory specification may contain: | |
1731 $var environment variable expansion | |
1732 ~/ tilde expansion | |
1733 ./ current directory | |
1734 ../ previous directory | |
1735 | |
1736 For example, let's say the home directory is /home/my and the | |
1737 current directory is /home/my/dir, so: | |
1738 | |
1739 THE ENTRY IS EXPANDED TO | |
1740 ~/entry /home/my/entry | |
1741 ./entry /home/my/dir/entry | |
1742 ../entry /home/my/entry | |
1743 $HOME/entry /home/my/entry | |
1744 $HOME/~/other/../my/entry /home/my/entry | |
1745 | |
1746 SPECIAL SYMBOL: If the symbol `PATH' is used in the directory | |
1747 list and there isn't a `PATH' entry in `pr-path-alist' or the | |
1748 `PATH' entry has a null directory list, the PATH environment | |
1749 variable is used. | |
1750 | |
1751 Examples: | |
1752 | |
1753 * On GNU or Unix system: | |
1754 | |
1755 '((unix \".\" \"~/bin\" ghostview mpage PATH) | |
1756 (ghostview \"$HOME/bin/gsview-dir\") | |
1757 (mpage \"$HOME/bin/mpage-dir\") | |
1758 ) | |
1759 | |
1760 * On Windows system: | |
1761 | |
1762 '((windows \"c:/applications/executables\" PATH ghostview mpage) | |
1763 (ghostview \"c:/gs/gsview-dir\") | |
1764 (mpage \"c:/mpage-dir\") | |
1765 )" | |
1766 :type '(repeat | |
1767 (cons :tag "" | |
1768 (symbol :tag "Identifier ") | |
1769 (repeat :tag "Directory List" | |
1770 (choice :menu-tag "Directory" | |
1771 :tag "Directory" | |
1772 (string :value "") | |
1773 (symbol :value symbol))))) | |
1774 :group 'printing) | |
1775 | |
1776 | |
1777 (defcustom pr-txt-name 'default | |
1778 "*Specify a printer for printing a text file. | |
1779 | |
1780 The printer name symbol should be defined on `pr-txt-printer-alist' (see it for | |
1781 documentation). | |
1782 | |
1783 This variable should be modified by customization engine. If this variable is | |
1784 modified by other means (for example, a lisp function), use `pr-update-menus' | |
1785 function (see it for documentation) to update text printer menu." | |
1786 :type 'symbol | |
1787 :set 'pr-txt-name-custom-set | |
1788 :group 'printing) | |
1789 | |
1790 | |
1791 (defcustom pr-txt-printer-alist | |
1792 (list (list 'default lpr-command nil | |
1793 (cond ((boundp 'printer-name) printer-name) | |
1794 (ps-windows-system "PRN") | |
1795 (t nil) | |
1796 ))) | |
1797 ;; Examples: | |
1798 ;; * On GNU or Unix system: | |
1799 ;; '((prt_06a "lpr" nil "prt_06a") | |
1800 ;; (prt_07c nil nil "prt_07c") | |
1801 ;; ) | |
1802 ;; * On Windows system: | |
1803 ;; '((prt_06a "print" nil "/D:\\\\printers\\prt_06a") | |
1804 ;; (prt_07c nil nil "/D:\\\\printers\\prt_07c") | |
1805 ;; (PRN "" nil "PRN") | |
1806 ;; (standard "redpr.exe" nil "") | |
1807 ;; ) | |
1808 "*Specify an alist of all text printers (text printer database). | |
1809 | |
1810 The alist element has the form: | |
1811 | |
1812 (SYMBOL COMMAND SWITCHES NAME) | |
1813 | |
1814 Where: | |
1815 | |
1816 SYMBOL It's a symbol to identify a text printer. It's for | |
1817 `pr-txt-name' variable setting and for menu selection. | |
1818 Examples: | |
1819 'prt_06a | |
1820 'my_printer | |
1821 | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
1822 COMMAND Name of the program for printing a text file. On MS-DOS and |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
1823 MS-Windows systems, if the value is an empty string, then Emacs |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
1824 will write directly to the printer port given by NAME (see text |
49646 | 1825 below), that is, the NAME should be something like \"PRN\" or |
1826 \"LPT1:\". | |
1827 If NAME is something like \"\\\\\\\\host\\\\share-name\" then | |
1828 COMMAND shouldn't be an empty string. | |
1829 The programs `print' and `nprint' (the standard print programs | |
1830 on Windows NT and Novell Netware respectively) are handled | |
1831 specially, using NAME as the destination for output; any other | |
1832 program is treated like `lpr' except that an explicit filename | |
1833 is given as the last argument. | |
1834 If COMMAND is nil, it's used the default printing program: | |
1835 `print' for Windows system, `lp' for lp system and `lpr' for | |
1836 all other systems. See also `pr-path-alist'. | |
1837 Examples: | |
1838 \"print\" | |
1839 \"lpr\" | |
1840 \"lp\" | |
1841 | |
1842 SWITCHES List of sexp's to pass as extra options for text printer | |
1843 program. It is recommended to set NAME (see text below) | |
1844 instead of including an explicit switch on this list. | |
1845 Example: | |
1846 . for lpr | |
1847 '(\"-#3\" \"-l\") | |
1848 nil | |
1849 | |
1850 NAME A string that specifies a text printer name. | |
1851 On Unix-like systems, a string value should be a name | |
1852 understood by lpr's -P option (or lp's -d option). | |
1853 On MS-DOS and MS-Windows systems, it is the name of a printer | |
1854 device or port. Typical non-default settings would be \"LPT1:\" | |
1855 to \"LPT3:\" for parallel printers, or \"COM1\" to \"COM4\" or | |
1856 \"AUX\" for serial printers, or \"\\\\\\\\hostname\\\\printer\" | |
1857 (or \"/D:\\\\\\\\hostname\\\\printer\") for a shared network | |
1858 printer. You can also set it to a name of a file, in which | |
1859 case the output gets appended to that file. If you want to | |
1860 discard the printed output, set this to \"NUL\". | |
1861 Examples: | |
1862 . for print.exe | |
1863 \"/D:\\\\\\\\host\\\\share-name\" | |
1864 \"LPT1:\" | |
1865 \"PRN\" | |
1866 | |
1867 . for lpr or lp | |
1868 \"share-name\" | |
1869 | |
1870 This variable should be modified by customization engine. If this variable is | |
1871 modified by other means (for example, a lisp function), use `pr-update-menus' | |
1872 function (see it for documentation) to update text printer menu. | |
1873 | |
1874 Examples: | |
1875 | |
1876 * On GNU or Unix system: | |
1877 | |
1878 '((prt_06a \"lpr\" nil \"prt_06a\") | |
1879 (prt_07c nil nil \"prt_07c\") | |
1880 ) | |
1881 | |
1882 * On Windows system: | |
1883 | |
1884 '((prt_06a \"print\" nil \"/D:\\\\\\\\printers\\\\prt_06a\") | |
1885 (prt_07c nil nil \"/D:\\\\\\\\printers\\\\prt_07c\") | |
1886 (PRN \"\" nil \"PRN\") | |
1887 (standard \"redpr.exe\" nil \"\") | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1888 ) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1889 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1890 Useful links: |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1891 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1892 * Information about the print command (print.exe) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1893 `http://www.computerhope.com/printhlp.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1894 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1895 * RedMon - Redirection Port Monitor (redpr.exe) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1896 `http://www.cs.wisc.edu/~ghost/redmon/index.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1897 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1898 * Redirection Port Monitor (redpr.exe on-line help) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1899 `http://www.cs.wisc.edu/~ghost/redmon/en/redmon.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1900 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1901 * UNIX man pages: lpr (or type `man lpr') |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1902 `http://bama.ua.edu/cgi-bin/man-cgi?lpr' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1903 `http://www.mediacollege.com/cgi-bin/man/page.cgi?section=all&topic=lpr' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1904 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1905 * UNIX man pages: lp (or type `man lp') |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1906 `http://bama.ua.edu/cgi-bin/man-cgi?lp' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1907 `http://www.mediacollege.com/cgi-bin/man/page.cgi?section=all&topic=lp' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1908 " |
49646 | 1909 :type '(repeat |
1910 (list :tag "Text Printer" | |
1911 (symbol :tag "Printer Symbol Name") | |
1912 (string :tag "Printer Command") | |
1913 (repeat :tag "Printer Switches" | |
1914 (sexp :tag "Switch" :value "")) | |
1915 (choice :menu-tag "Printer Name" | |
1916 :tag "Printer Name" | |
1917 (const :tag "None" nil) | |
1918 string))) | |
1919 :set 'pr-alist-custom-set | |
1920 :group 'printing) | |
1921 | |
1922 | |
1923 (defcustom pr-ps-name 'default | |
1924 "*Specify a printer for printing a PostScript file. | |
1925 | |
1926 This printer name symbol should be defined on `pr-ps-printer-alist' (see it for | |
1927 documentation). | |
1928 | |
1929 This variable should be modified by customization engine. If this variable is | |
1930 modified by other means (for example, a lisp function), use `pr-update-menus' | |
1931 function (see it for documentation) to update PostScript printer menu." | |
1932 :type 'symbol | |
1933 :set 'pr-ps-name-custom-set | |
1934 :group 'printing) | |
1935 | |
1936 | |
1937 (defcustom pr-ps-printer-alist | |
1938 (list (list 'default lpr-command nil | |
1939 (cond (ps-windows-system nil) | |
1940 (ps-lp-system "-d") | |
1941 (t "-P")) | |
1942 (or (getenv "PRINTER") (getenv "LPDEST") ps-printer-name))) | |
1943 ;; Examples: | |
1944 ;; * On GNU or Unix system: | |
1945 ;; '((lps_06b "lpr" nil "-P" "lps_06b") | |
1946 ;; (lps_07c "lpr" nil nil "lps_07c") | |
1947 ;; (lps_08c nil nil nil "lps_08c") | |
1948 ;; ) | |
1949 ;; * On Windows system: | |
1950 ;; '((lps_06a "print" nil "/D:" "\\\\printers\\lps_06a") | |
1951 ;; (lps_06b "print" nil nil "\\\\printers\\lps_06b") | |
1952 ;; (lps_07c "print" nil "" "/D:\\\\printers\\lps_07c") | |
1953 ;; (lps_08c nil nil nil "\\\\printers\\lps_08c") | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1954 ;; (b/w "gsprint" ("-all" "-twoup") "-printer " "b/w-pr-name") |
49646 | 1955 ;; (LPT1 "" nil "" "LPT1:") |
1956 ;; (PRN "" nil "" "PRN") | |
1957 ;; (standard "redpr.exe" nil "" "") | |
1958 ;; ) | |
1959 "*Specify an alist for all PostScript printers (PostScript printer database). | |
1960 | |
1961 The alist element has the form: | |
1962 | |
1963 (SYMBOL COMMAND SWITCHES PRINTER-SWITCH NAME DEFAULT...) | |
1964 | |
1965 Where: | |
1966 | |
1967 SYMBOL It's a symbol to identify a PostScript printer. It's for | |
1968 `pr-ps-name' variable setting and for menu selection. | |
1969 Examples: | |
1970 'prt_06a | |
1971 'my_printer | |
1972 | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
1973 COMMAND Name of the program for printing a PostScript file. On MS-DOS |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
1974 and MS-Windows systems, if the value is an empty string then |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
1975 Emacs will write directly to the printer port given by NAME |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
1976 (see text below), that is, the NAME should be something like |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
1977 \"PRN\" or \"LPT1:\". |
49646 | 1978 If NAME is something like \"\\\\\\\\host\\\\share-name\" then |
1979 COMMAND shouldn't be an empty string. | |
1980 The programs `print' and `nprint' (the standard print programs | |
1981 on Windows NT and Novell Netware respectively) are handled | |
1982 specially, using NAME as the destination for output; any other | |
1983 program is treated like `lpr' except that an explicit filename | |
1984 is given as the last argument. | |
1985 If COMMAND is nil, it's used the default printing program: | |
1986 `print' for Windows system, `lp' for lp system and `lpr' for | |
1987 all other systems. See also `pr-path-alist'. | |
1988 Examples: | |
1989 \"print\" | |
1990 \"lpr\" | |
1991 \"lp\" | |
1992 \"cp\" | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
1993 \"gsprint\" |
49646 | 1994 |
1995 SWITCHES List of sexp's to pass as extra options for PostScript printer | |
1996 program. It is recommended to set NAME (see text below) | |
1997 instead of including an explicit switch on this list. | |
1998 Example: | |
1999 . for lpr | |
2000 '(\"-#3\" \"-l\") | |
2001 nil | |
2002 | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2003 . for gsprint.exe |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2004 '(\"-all\" \"-twoup\") |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2005 |
49646 | 2006 PRINTER-SWITCH A string that specifies PostScript printer name switch. If |
2007 it's necessary to have a space between PRINTER-SWITCH and NAME, | |
2008 it should be inserted at the end of PRINTER-SWITCH string. | |
2009 If PRINTER-SWITCH is nil, it's used the default printer name | |
2010 switch: `/D:' for Windows system, `-d' for lp system and `-P' | |
2011 for all other systems. | |
2012 Examples: | |
2013 . for lpr | |
2014 \"-P \" | |
2015 | |
2016 . for lp | |
2017 \"-d \" | |
2018 | |
2019 . for print.exe | |
2020 \"/D:\" | |
2021 | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2022 . for gsprint.exe |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2023 \"-printer \" |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2024 |
49646 | 2025 NAME A string that specifies a PostScript printer name. |
2026 On Unix-like systems, a string value should be a name | |
2027 understood by lpr's -P option (or lp's -d option). | |
2028 On MS-DOS and MS-Windows systems, it is the name of a printer | |
2029 device or port. Typical non-default settings would be \"LPT1:\" | |
2030 to \"LPT3:\" for parallel printers, or \"COM1\" to \"COM4\" or | |
2031 \"AUX\" for serial printers, or \"\\\\\\\\hostname\\\\printer\" | |
2032 (or \"/D:\\\\\\\\hostname\\\\printer\") for a shared network | |
2033 printer. You can also set it to a name of a file, in which | |
2034 case the output gets appended to that file. If you want to | |
2035 discard the printed output, set this to \"NUL\". | |
2036 Examples: | |
2037 . for cp.exe | |
2038 \"\\\\\\\\host\\\\share-name\" | |
2039 | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2040 . for print.exe or gsprint.exe |
49646 | 2041 \"/D:\\\\\\\\host\\\\share-name\" |
2042 \"\\\\\\\\host\\\\share-name\" | |
2043 \"LPT1:\" | |
2044 \"PRN\" | |
2045 | |
2046 . for lpr or lp | |
2047 \"share-name\" | |
2048 | |
2049 DEFAULT It's a way to set default values when this entry is selected. | |
2050 It's a cons like: | |
2051 | |
2052 (VARIABLE . VALUE) | |
2053 | |
80951 | 2054 Which associates VARIABLE with VALUE. When this entry is |
49646 | 2055 selected, it's executed the following command: |
2056 | |
2057 (set VARIABLE (eval VALUE)) | |
2058 | |
2059 Note that VALUE can be any valid lisp expression. So, don't | |
2060 forget to quote symbols and constant lists. | |
2061 If VARIABLE is the special keyword `inherits-from:', VALUE must | |
2062 be a symbol name setting defined in `pr-setting-database' from | |
2063 which the current setting inherits the context. Take care with | |
2064 circular inheritance. | |
2065 Examples: | |
2066 '(ps-landscape-mode . nil) | |
2067 '(ps-spool-duplex . t) | |
2068 '(pr-gs-device . (my-gs-device t)) | |
2069 | |
2070 This variable should be modified by customization engine. If this variable is | |
2071 modified by other means (for example, a lisp function), use `pr-update-menus' | |
2072 function (see it for documentation) to update PostScript printer menu. | |
2073 | |
2074 Examples: | |
2075 | |
2076 * On GNU or Unix system: | |
2077 | |
2078 '((lps_06b \"lpr\" nil \"-P\" \"lps_06b\") | |
2079 (lps_07c \"lpr\" nil nil \"lps_07c\") | |
2080 (lps_08c nil nil nil \"lps_08c\") | |
2081 ) | |
2082 | |
2083 * On Windows system: | |
2084 | |
2085 '((lps_06a \"print\" nil \"/D:\" \"\\\\\\\\printers\\\\lps_06a\") | |
2086 (lps_06b \"print\" nil nil \"\\\\\\\\printers\\\\lps_06b\") | |
2087 (lps_07c \"print\" nil \"\" \"/D:\\\\\\\\printers\\\\lps_07c\") | |
2088 (lps_08c nil nil nil \"\\\\\\\\printers\\\\lps_08c\") | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2089 (b/w1 \"gsprint\" (\"-all\" \"-twoup\") \"-printer \" \"b/w-pr-name\") |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2090 (b/w2 \"gsprint\" (\"-all\" \"-twoup\") nil \"-printer \\\\\\\\printers\\\\lps_06a\") |
49646 | 2091 (LPT1 \"\" nil \"\" \"LPT1:\") |
2092 (PRN \"\" nil \"\" \"PRN\") | |
2093 (standard \"redpr.exe\" nil \"\" \"\") | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2094 ) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2095 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2096 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2097 gsprint: |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2098 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2099 You can use gsprint instead of ghostscript to print monochrome PostScript files |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2100 in Windows. The gsprint utility documentation says that it is more efficient |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2101 than ghostscript to print monochrome PostScript. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2102 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2103 To print non-monochrome PostScript file, the efficiency of ghostscript is |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2104 similar to gsprint. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2105 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2106 Also the gsprint utility comes together with gsview distribution. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2107 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2108 As an example of gsprint declaration: |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2109 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2110 (setq pr-ps-printer-alist |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2111 '((A \"gsprint\" (\"-all\" \"-twoup\") \"-printer \" \"lps_015\") |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2112 (B \"gsprint\" (\"-all\" \"-twoup\") nil \"-printer lps_015\") |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2113 ;; some other printer declaration |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2114 )) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2115 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2116 The example above declares that printer A prints all pages (-all) and two pages |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2117 per sheet (-twoup). The printer B declaration does the same as the printer A |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2118 declaration, the only difference is the printer name selection. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2119 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2120 There are other command line options like: |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2121 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2122 -mono Render in monochrome as 1bit/pixel (only black and white). |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2123 -grey Render in greyscale as 8bits/pixel. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2124 -color Render in color as 24bits/pixel. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2125 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2126 The default is `-mono'. So, printer A and B in the example above are using |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2127 implicitly the `-mono' option. Note that in `-mono' no gray tone or color is |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2128 printed, this includes the zebra stripes, that is, in `-mono' the zebra stripes |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2129 are not printed. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2130 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2131 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2132 Useful links: |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2133 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2134 * GSPRINT - Ghostscript print to Windows printer |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2135 `http://www.cs.wisc.edu/~ghost/gsview/gsprint.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2136 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2137 * Introduction to Ghostscript |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2138 `http://www.cs.wisc.edu/~ghost/doc/intro.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2139 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2140 * How to use Ghostscript |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2141 `http://www.cs.wisc.edu/~ghost/doc/cvs/Use.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2142 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2143 * Information about the print command (print.exe) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2144 `http://www.computerhope.com/printhlp.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2145 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2146 * RedMon - Redirection Port Monitor (redpr.exe) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2147 `http://www.cs.wisc.edu/~ghost/redmon/index.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2148 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2149 * Redirection Port Monitor (redpr.exe on-line help) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2150 `http://www.cs.wisc.edu/~ghost/redmon/en/redmon.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2151 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2152 * UNIX man pages: lpr (or type `man lpr') |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2153 `http://bama.ua.edu/cgi-bin/man-cgi?lpr' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2154 `http://www.mediacollege.com/cgi-bin/man/page.cgi?section=all&topic=lpr' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2155 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2156 * UNIX man pages: lp (or type `man lp') |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2157 `http://bama.ua.edu/cgi-bin/man-cgi?lp' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2158 `http://www.mediacollege.com/cgi-bin/man/page.cgi?section=all&topic=lp' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2159 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2160 * GNU utilities for Win32 (cp.exe) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2161 `http://unxutils.sourceforge.net/' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2162 " |
49646 | 2163 :type '(repeat |
2164 (list | |
2165 :tag "PostScript Printer" | |
2166 (symbol :tag "Printer Symbol Name") | |
2167 (string :tag "Printer Command") | |
2168 (repeat :tag "Printer Switches" | |
2169 (sexp :tag "Switch" :value "")) | |
2170 (choice :menu-tag "Printer Name Switch" | |
2171 :tag "Printer Name Switch" | |
2172 (const :tag "None" nil) | |
2173 string) | |
2174 (choice :menu-tag "Printer Name" | |
2175 :tag "Printer Name" | |
2176 (const :tag "None" nil) | |
2177 string) | |
2178 (repeat | |
2179 :tag "Default Value List" | |
2180 :inline t | |
2181 (cons | |
2182 :tag "" | |
2183 (choice | |
2184 :menu-tag "Variable" | |
2185 :tag "Variable" | |
2186 (const :tag "Landscape" ps-landscape-mode) | |
2187 (const :tag "Print Header" ps-print-header) | |
2188 (const :tag "Print Header Frame" ps-print-header-frame) | |
2189 (const :tag "Line Number" ps-line-number) | |
2190 (const :tag "Zebra Stripes" ps-zebra-stripes) | |
2191 (const :tag "Duplex" ps-spool-duplex) | |
2192 (const :tag "Tumble" ps-spool-tumble) | |
2193 (const :tag "Upside-Down" ps-print-upside-down) | |
2194 (const :tag "PS File Landscape" pr-file-landscape) | |
2195 (const :tag "PS File Duplex" pr-file-duplex) | |
2196 (const :tag "PS File Tumble" pr-file-tumble) | |
2197 (const :tag "Auto Region" pr-auto-region) | |
2198 (const :tag "Auto Mode" pr-auto-mode) | |
2199 (const :tag "Ghostscript Device" pr-gs-device) | |
2200 (const :tag "Ghostscript Resolution" pr-gs-resolution) | |
2201 (const :tag "inherits-from:" inherits-from:) | |
2202 (variable :tag "Other")) | |
2203 (sexp :tag "Value"))) | |
2204 )) | |
2205 :set 'pr-alist-custom-set | |
2206 :group 'printing) | |
2207 | |
2208 | |
2209 (defcustom pr-temp-dir | |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
2210 (pr-dosify-file-name |
49646 | 2211 (if (boundp 'temporary-file-directory) |
2212 (symbol-value 'temporary-file-directory) | |
2213 ;; hacked from `temporary-file-directory' variable in files.el | |
2214 (file-name-as-directory | |
2215 (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") | |
2216 (cond (ps-windows-system "c:/temp") | |
2217 ((memq system-type '(vax-vms axp-vms)) "SYS$SCRATCH:") | |
2218 (t "/tmp") | |
2219 ))))) | |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2220 "*Specify a directory for temporary files during printing. |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2221 |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2222 See also `pr-ps-temp-file' and `pr-file-modes'." |
49646 | 2223 :type '(directory :tag "Temporary Directory") |
2224 :group 'printing) | |
2225 | |
2226 | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
2227 (defcustom pr-ps-temp-file "prspool-" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
2228 "*Specify PostScript temporary file name prefix. |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2229 |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2230 See also `pr-temp-dir' and `pr-file-modes'." |
49646 | 2231 :type '(file :tag "PostScript Temporary File Name") |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2232 :group 'printing) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2233 |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2234 |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2235 ;; It uses 0600 as default instead of (default-file-modes). |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2236 ;; So, by default, only the session owner have permission to deal with files |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2237 ;; generated by `printing'. |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2238 (defcustom pr-file-modes ?\600 |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2239 "*Specify the file permission bits for newly created files. |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2240 |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2241 It should be an integer; only the low 9 bits are used. |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2242 |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2243 See also `pr-temp-dir' and `pr-ps-temp-file'." |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
2244 :type '(integer :tag "File Permission Bits") |
49646 | 2245 :group 'printing) |
2246 | |
2247 | |
2248 (defcustom pr-gv-command | |
2249 (if ps-windows-system | |
2250 "gsview32.exe" | |
2251 "gv") | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
2252 "*Specify path and name of the gsview/gv utility. |
49646 | 2253 |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2254 See also `pr-path-alist'. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2255 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2256 Useful links: |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2257 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2258 * GNU gv manual |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2259 `http://www.gnu.org/software/gv/manual/gv.html' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2260 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2261 * GSview Help |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2262 `http://www.cs.wisc.edu/~ghost/gsview/gsviewen.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2263 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2264 * GSview Help - Common Problems |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2265 `http://www.cs.wisc.edu/~ghost/gsview/gsviewen.htm#Common_Problems' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2266 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2267 * GSview Readme (compilation & installation) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2268 `http://www.cs.wisc.edu/~ghost/gsview/Readme.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2269 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2270 * GSview (main site) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2271 `http://www.cs.wisc.edu/~ghost/gsview/index.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2272 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2273 * Ghostscript, Ghostview and GSview |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2274 `http://www.cs.wisc.edu/~ghost/' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2275 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2276 * Ghostview |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2277 `http://www.cs.wisc.edu/~ghost/gv/index.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2278 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2279 * gv 3.5, June 1997 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2280 `http://www.cs.wisc.edu/~ghost/gv/gv_doc/gv.html' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2281 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2282 * MacGSView (MacOS) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2283 `http://www.cs.wisc.edu/~ghost/macos/index.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2284 " |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
2285 :type '(string :tag "Ghostview Utility") |
49646 | 2286 :group 'printing) |
2287 | |
2288 | |
2289 (defcustom pr-gs-command | |
2290 (if ps-windows-system | |
2291 "gswin32.exe" | |
2292 "gs") | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
2293 "*Specify path and name of the ghostscript utility. |
49646 | 2294 |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2295 See also `pr-path-alist'. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2296 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2297 Useful links: |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2298 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2299 * Ghostscript, Ghostview and GSview |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2300 `http://www.cs.wisc.edu/~ghost/' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2301 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2302 * Introduction to Ghostscript |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2303 `http://www.cs.wisc.edu/~ghost/doc/intro.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2304 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2305 * How to use Ghostscript |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2306 `http://www.cs.wisc.edu/~ghost/doc/cvs/Use.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2307 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2308 * Printer compatibility |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2309 `http://www.cs.wisc.edu/~ghost/doc/printer.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2310 " |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
2311 :type '(string :tag "Ghostscript Utility") |
49646 | 2312 :group 'printing) |
2313 | |
2314 | |
2315 (defcustom pr-gs-switches | |
2316 (if ps-windows-system | |
2317 '("-q -dNOPAUSE -Ic:/gs/gs5.50;c:/gs/gs5.50/fonts") | |
2318 '("-q -dNOPAUSE -I/usr/share/ghostscript/5.10")) | |
2319 "*Specify ghostscript switches. See the documentation on GS for more info. | |
2320 | |
2321 It's a list of strings, where each string is one or more ghostscript switches. | |
2322 | |
2323 A note on the gs switches: | |
2324 | |
2325 -q quiet | |
2326 -dNOPAUSE don't wait for user intervention | |
2327 -Ic:/gs/gs5.50;c:/gs/gs5.50/fonts the directories needed for gs | |
2328 -c quit it's added at the end to terminate gs | |
2329 | |
2330 To see ghostscript documentation for more information: | |
2331 | |
2332 * On GNU or Unix system: | |
2333 - for full documentation, type: man gs | |
2334 - for brief documentation, type: gs -h | |
2335 | |
2336 * On Windows system: | |
2337 - for full documentation, see in a browser the file | |
2338 c:/gstools/gs5.50/index.html, that is, the file index.html which is | |
2339 located in the same directory as gswin32.exe. | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2340 - for brief documentation, type: gswin32.exe -h |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2341 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2342 Useful links: |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2343 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2344 * Introduction to Ghostscript |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2345 `http://www.cs.wisc.edu/~ghost/doc/intro.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2346 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2347 * How to use Ghostscript |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2348 `http://www.cs.wisc.edu/~ghost/doc/cvs/Use.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2349 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2350 * Printer compatibility |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2351 `http://www.cs.wisc.edu/~ghost/doc/printer.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2352 " |
49646 | 2353 :type '(repeat (string :tag "Ghostscript Switch")) |
2354 :group 'printing) | |
2355 | |
2356 | |
2357 (defcustom pr-gs-device | |
2358 (if ps-windows-system | |
2359 "mswinpr2" | |
2360 "uniprint") | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
2361 "*Specify the ghostscript device switch value (-sDEVICE=). |
49646 | 2362 |
2363 A note on the gs switches: | |
2364 | |
2365 -sDEVICE=djet500 the printer - works with HP DeskJet 540 | |
2366 | |
2367 See `pr-gs-switches' for documentation. | |
2368 See also `pr-ps-printer-alist'." | |
2369 :type '(string :tag "Ghostscript Device") | |
2370 :group 'printing) | |
2371 | |
2372 | |
2373 (defcustom pr-gs-resolution 300 | |
2374 "*Specify ghostscript resolution switch value (-r). | |
2375 | |
2376 A note on the gs switches: | |
2377 | |
2378 -r300 resolution 300x300 | |
2379 | |
2380 See `pr-gs-switches' for documentation. | |
2381 See also `pr-ps-printer-alist'." | |
2382 :type '(integer :tag "Ghostscript Resolution") | |
2383 :group 'printing) | |
2384 | |
2385 | |
2386 (defcustom pr-print-using-ghostscript nil | |
2387 "*Non-nil means print using ghostscript. | |
2388 | |
2389 This is useful if you don't have a PostScript printer, so you could use the | |
2390 ghostscript to print a PostScript file. | |
2391 | |
2392 In GNU or Unix system, if ghostscript is set as a PostScript filter, this | |
2393 variable should be nil." | |
2394 :type 'boolean | |
2395 :group 'printing) | |
2396 | |
2397 | |
2398 (defcustom pr-faces-p nil | |
2399 "*Non-nil means print with face attributes." | |
2400 :type 'boolean | |
2401 :group 'printing) | |
2402 | |
2403 | |
2404 (defcustom pr-spool-p nil | |
2405 "*Non-nil means spool printing in a buffer." | |
2406 :type 'boolean | |
2407 :group 'printing) | |
2408 | |
2409 | |
2410 (defcustom pr-file-landscape nil | |
2411 "*Non-nil means print PostScript file in landscape orientation." | |
2412 :type 'boolean | |
2413 :group 'printing) | |
2414 | |
2415 | |
2416 (defcustom pr-file-duplex nil | |
2417 "*Non-nil means print PostScript file in duplex mode." | |
2418 :type 'boolean | |
2419 :group 'printing) | |
2420 | |
2421 | |
2422 (defcustom pr-file-tumble nil | |
2423 "*Non-nil means print PostScript file in tumble mode. | |
2424 | |
2425 If tumble is off, produces a printing suitable for binding on the left or | |
2426 right. | |
2427 If tumble is on, produces a printing suitable for binding at the top or | |
2428 bottom." | |
2429 :type 'boolean | |
2430 :group 'printing) | |
2431 | |
2432 | |
2433 (defcustom pr-auto-region t | |
2434 "*Non-nil means region is automagically detected. | |
2435 | |
2436 Note that this will only work if you're using transient mark mode. | |
2437 | |
2438 When this variable is non-nil, the `*-buffer*' commands will behave like | |
2439 `*-region*' commands, that is, `*-buffer*' commands will print only the region | |
2440 marked instead of all buffer." | |
2441 :type 'boolean | |
2442 :group 'printing) | |
2443 | |
2444 | |
2445 (defcustom pr-auto-mode t | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
2446 "*Non-nil means major-mode specific printing is prefered over normal printing. |
49646 | 2447 |
2448 That is, if current major-mode is declared in `pr-mode-alist', the `*-buffer*' | |
2449 and `*-region*' commands will behave like `*-mode*' commands; otherwise, | |
2450 `*-buffer*' commands will print the current buffer and `*-region*' commands | |
2451 will print the current region." | |
2452 :type 'boolean | |
2453 :group 'printing) | |
2454 | |
2455 | |
2456 (defcustom pr-mode-alist | |
2457 '((mh-folder-mode ; mh summary buffer | |
2458 pr-mh-lpr-1 pr-mh-print-1 | |
2459 2 | |
2460 (ps-article-author ps-article-subject) | |
2461 ("/pagenumberstring load" pr-article-date) | |
2462 nil | |
2463 ) | |
2464 (mh-letter-mode ; mh letter buffer | |
2465 pr-mh-lpr-2 pr-mh-print-2 | |
2466 2 | |
2467 (ps-article-author ps-article-subject) | |
2468 ("/pagenumberstring load" pr-article-date) | |
2469 nil | |
2470 ) | |
2471 (rmail-summary-mode ; rmail summary buffer | |
2472 pr-rmail-lpr pr-rmail-print | |
2473 3 | |
2474 (ps-article-subject ps-article-author buffer-name) | |
2475 nil | |
2476 nil | |
2477 ) | |
2478 (rmail-mode ; rmail buffer | |
2479 pr-rmail-lpr pr-rmail-print | |
2480 3 | |
2481 (ps-article-subject ps-article-author buffer-name) | |
2482 nil | |
2483 nil | |
2484 ) | |
2485 (gnus-summary-mode ; gnus summary buffer | |
2486 pr-gnus-lpr pr-gnus-print | |
2487 3 | |
2488 (ps-article-subject ps-article-author gnus-newsgroup-name) | |
2489 nil | |
2490 nil | |
2491 ) | |
2492 (gnus-article-mode ; gnus article buffer | |
2493 pr-gnus-lpr pr-gnus-print | |
2494 3 | |
2495 (ps-article-subject ps-article-author gnus-newsgroup-name) | |
2496 nil | |
2497 nil | |
2498 ) | |
2499 (Info-mode ; Info buffer | |
2500 pr-mode-lpr pr-mode-print | |
2501 2 | |
2502 (ps-info-node ps-info-file) | |
2503 nil | |
2504 nil | |
2505 ) | |
2506 (vm-mode ; vm mode | |
2507 pr-vm-lpr pr-vm-print | |
2508 3 | |
2509 (ps-article-subject ps-article-author buffer-name) | |
2510 nil | |
2511 nil | |
2512 ) | |
2513 ) | |
2514 "*Specify an alist for a major-mode and printing functions. | |
2515 | |
2516 To customize a major mode printing, just declare the customization in | |
2517 `pr-mode-alist' and invoke some of `*-mode*' commands. An example for major | |
2518 mode usage is when you're using gnus (or mh, or rmail, etc.) and you're in the | |
2519 *Summary* buffer, if you forget to switch to the *Article* buffer before | |
2520 printing, you'll get a nicely formatted list of article subjects shows up at | |
2521 the printer. With major mode printing you don't need to switch from gnus | |
2522 *Summary* buffer first. | |
2523 | |
2524 The elements have the following form: | |
2525 | |
2526 (MAJOR-MODE | |
2527 LPR-PRINT PS-PRINT | |
2528 HEADER-LINES | |
2529 LEFT-HEADER | |
2530 RIGHT-HEADER | |
2531 KILL-LOCAL-VARIABLE | |
2532 DEFAULT...) | |
2533 | |
2534 Where: | |
2535 | |
2536 MAJOR-MODE It's the major mode symbol. | |
2537 | |
2538 LPR-PRINT It's a symbol function for text printing. It's invoked with | |
2539 one argument: | |
2540 (HEADER-LINES LEFT-HEADER RIGHT-HEADER DEFAULT...). | |
2541 | |
2542 Usually LPR-PRINT function prepares the environment or buffer | |
2543 and then call the function `pr-mode-lpr' which it's used to | |
2544 process the buffer and send it to text printer. | |
2545 | |
2546 The `pr-mode-lpr' definition is: | |
2547 | |
2548 (pr-mode-lpr HEADER-LIST &optional FROM TO) | |
2549 | |
2550 Where HEADER-LIST is like the argument passed to LPR-PRINT. | |
2551 FROM and TO are the beginning and end markers, respectively, | |
2552 for a region. If FROM is nil, it's used (point-min); if TO is | |
2553 nil, it's used (point-max). | |
2554 | |
2555 PS-PRINT It's a symbol function for PostScript printing. It's invoked | |
2556 with 3 arguments: n-up printing, file name and the list: | |
2557 (HEADER-LINES LEFT-HEADER RIGHT-HEADER DEFAULT...). | |
2558 | |
2559 Usually PS-PRINT function prepares the environment or buffer | |
2560 and then call the function `pr-mode-print' which it's used to | |
2561 process the buffer and send it to PostScript printer. | |
2562 | |
2563 The `pr-mode-print' definition is: | |
2564 | |
2565 (pr-mode-print N-UP FILENAME HEADER-LIST &optional FROM TO) | |
2566 | |
2567 Where N-UP, FILENAME and HEADER-LIST are like the arguments | |
2568 passed to PS-PRINT. FROM and TO are the beginning and end | |
2569 markers, respectively, for a region. If TO is nil, it's used | |
2570 (point-max). | |
2571 | |
2572 HEADER-LINES It's the number of header lines; if is nil, it uses | |
2573 `ps-header-lines' value. | |
2574 | |
2575 LEFT-HEADER It's the left header part, it's a list of string, variable | |
2576 symbol or function symbol (with no argument); if is nil, it | |
2577 uses `ps-left-header' value. | |
2578 | |
2579 RIGHT-HEADER It's the right header part, it's a list of string, variable | |
2580 symbol or function symbol (with no argument); if is nil, it | |
2581 uses `ps-right-header' value. | |
2582 | |
2583 KILL-LOCAL-VARIABLE | |
2584 Non-nil means to kill all buffer local variable declared in | |
2585 DEFAULT (see below). | |
2586 | |
2587 DEFAULT It's a way to set default values when this entry is selected. | |
2588 It's a cons like: | |
2589 | |
2590 (VARIABLE-SYM . VALUE) | |
2591 | |
80951 | 2592 Which associates VARIABLE-SYM with VALUE. When this entry is |
49646 | 2593 selected, it's executed the following command: |
2594 | |
2595 (set (make-local-variable VARIABLE-SYM) (eval VALUE)) | |
2596 | |
2597 Note that VALUE can be any valid lisp expression. So, don't | |
2598 forget to quote symbols and constant lists. | |
2599 If VARIABLE is the special keyword `inherits-from:', VALUE must | |
2600 be a symbol name setting defined in `pr-setting-database' from | |
2601 which the current setting inherits the context. Take care with | |
2602 circular inheritance. | |
2603 Examples: | |
2604 '(ps-landscape-mode . nil) | |
2605 '(ps-spool-duplex . t) | |
2606 '(pr-gs-device . (my-gs-device t))" | |
2607 :type '(repeat | |
2608 (list | |
2609 :tag "" | |
2610 (symbol :tag "Major Mode") | |
2611 (function :tag "Text Printing Function") | |
2612 (function :tag "PS Printing Function") | |
2613 (choice :menu-tag "Number of Header Lines" | |
2614 :tag "Number of Header Lines" | |
2615 (integer :tag "Number") | |
2616 (const :tag "Default Number" nil)) | |
2617 (repeat :tag "Left Header List" | |
2618 (choice :menu-tag "Left Header" | |
2619 :tag "Left Header" | |
2620 string symbol)) | |
2621 (repeat :tag "Right Header List" | |
2622 (choice :menu-tag "Right Header" | |
2623 :tag "Right Header" | |
2624 string symbol)) | |
2625 (boolean :tag "Kill Local Variable At End") | |
2626 (repeat | |
2627 :tag "Default Value List" | |
2628 :inline t | |
2629 (cons | |
2630 :tag "" | |
2631 (choice | |
2632 :menu-tag "Variable" | |
2633 :tag "Variable" | |
2634 (const :tag "Landscape" ps-landscape-mode) | |
2635 (const :tag "Print Header" ps-print-header) | |
2636 (const :tag "Print Header Frame" ps-print-header-frame) | |
2637 (const :tag "Line Number" ps-line-number) | |
2638 (const :tag "Zebra Stripes" ps-zebra-stripes) | |
2639 (const :tag "Duplex" ps-spool-duplex) | |
2640 (const :tag "Tumble" ps-spool-tumble) | |
2641 (const :tag "Upside-Down" ps-print-upside-down) | |
2642 (const :tag "PS File Landscape" pr-file-landscape) | |
2643 (const :tag "PS File Duplex" pr-file-duplex) | |
2644 (const :tag "PS File Tumble" pr-file-tumble) | |
2645 (const :tag "Auto Region" pr-auto-region) | |
2646 (const :tag "Auto Mode" pr-auto-mode) | |
2647 (const :tag "Ghostscript Device" pr-gs-device) | |
2648 (const :tag "Ghostscript Resolution" pr-gs-resolution) | |
2649 (const :tag "inherits-from:" inherits-from:) | |
2650 (variable :tag "Other")) | |
2651 (sexp :tag "Value"))) | |
2652 )) | |
2653 :group 'printing) | |
2654 | |
2655 | |
2656 (defcustom pr-ps-utility 'mpage | |
2657 "*Specify PostScript utility symbol. | |
2658 | |
2659 This utility symbol should be defined on `pr-ps-utility-alist' (see it for | |
2660 documentation). | |
2661 | |
2662 This variable should be modified by customization engine. If this variable is | |
2663 modified by other means (for example, a lisp function), use `pr-update-menus' | |
2664 function (see it for documentation) to update PostScript utility menu. | |
2665 | |
2666 NOTE: Don't forget to download and install the utilities declared on | |
2667 `pr-ps-utility-alist'." | |
2668 :type '(symbol :tag "PS File Utility") | |
2669 :set 'pr-ps-utility-custom-set | |
2670 :group 'printing) | |
2671 | |
2672 | |
2673 (defcustom pr-ps-utility-alist | |
2674 '((mpage "mpage" nil "-b%s" "-%d" "-l" "-t" "-T" ">" nil) | |
2675 (psnup "psnup" ("-q") "-P%s" "-%d" "-l" nil nil " " nil | |
2676 (inherits-from: . no-duplex)) | |
2677 ) | |
2678 ;; Examples: | |
2679 ;; * On GNU or Unix system: | |
2680 ;; '((mpage "mpage" nil "-b%s" "-%d" "-l" "-t" "-T" ">" nil) | |
2681 ;; (psnup "psnup" ("-q") "-P%s" "-%d" "-l" nil nil " " nil | |
2682 ;; (pr-file-duplex . nil) (pr-file-tumble . nil)) | |
2683 ;; ) | |
2684 ;; * On Windows system: | |
2685 ;; '((psnup "c:/psutils/psnup" ("-q") "-P%s" "-%d" "-l" nil nil " " nil | |
2686 ;; (pr-file-duplex . nil) (pr-file-tumble . nil)) | |
2687 ;; ) | |
2688 "*Specify an alist for PostScript utility processing (PS utility database). | |
2689 | |
2690 The alist element has the form: | |
2691 | |
2692 (SYMBOL UTILITY MUST-SWITCHES PAPERSIZE N-UP LANDSCAPE DUPLEX TUMBLE OUTPUT | |
2693 SWITCHES DEFAULT...) | |
2694 | |
2695 Where: | |
2696 | |
2697 SYMBOL It's a symbol to identify a PostScript utility. It's for | |
2698 `pr-ps-utility' variable setting and for menu selection. | |
2699 Examples: | |
2700 'mpage | |
2701 'psnup | |
2702 | |
2703 UTILITY Name of utility for processing a PostScript file. | |
2704 See also `pr-path-alist'. | |
2705 Examples: | |
2706 . for GNU or Unix system: | |
2707 \"mpage\" | |
2708 \"psnup -q\" | |
2709 | |
2710 . for Windows system: | |
2711 \"c:/psutils/psnup -q\" | |
2712 | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
2713 MUST-SWITCHES List of sexp's to pass as options to the PostScript utility |
49646 | 2714 program. These options are necessary to process the utility |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
2715 program and must be placed before any other switches. |
49646 | 2716 Example: |
2717 . for psnup: | |
2718 '(\"-q\") | |
2719 | |
2720 PAPERSIZE It's a format string to specify paper size switch. | |
2721 Example: | |
2722 . for mpage | |
2723 \"-b%s\" | |
2724 | |
2725 N-UP It's a format string to specify n-up switch. | |
2726 Example: | |
2727 . for psnup | |
2728 \"-%d\" | |
2729 | |
2730 LANDSCAPE It's a string to specify landscape switch. If the utility | |
2731 doesn't have landscape switch, set to nil. | |
2732 Example: | |
2733 . for psnup | |
2734 \"-l\" | |
2735 | |
2736 DUPLEX It's a string to specify duplex switch. If the utility doesn't | |
2737 have duplex switch, set to nil. | |
2738 Example: | |
2739 . for psnup | |
2740 nil | |
2741 | |
2742 TUMBLE It's a string to specify tumble switch. If the utility doesn't | |
2743 have tumble switch, set to nil. | |
2744 Example: | |
2745 . for psnup | |
2746 nil | |
2747 | |
2748 OUTPUT It's a string to specify how to generate an output file. Some | |
2749 utilities accept an output file option, but some others need | |
2750 output redirection or some other way to specify an output file. | |
2751 Example: | |
2752 . for psnup | |
2753 \" \" ; psnup ... input output | |
2754 | |
2755 . for mpage | |
2756 \">\" ; mpage ... input > output | |
2757 | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
2758 SWITCHES List of sexp's to pass as extra options to the PostScript utility |
49646 | 2759 program. |
2760 Example: | |
2761 . for psnup | |
2762 '(\"-q\") | |
2763 nil | |
2764 | |
2765 DEFAULT It's a way to set default values when this entry is selected. | |
2766 It's a cons like: | |
2767 | |
2768 (VARIABLE . VALUE) | |
2769 | |
80951 | 2770 Which associates VARIABLE with VALUE. When this entry is |
49646 | 2771 selected, it's executed the following command: |
2772 | |
2773 (set VARIABLE (eval VALUE)) | |
2774 | |
2775 Note that VALUE can be any valid lisp expression. So, don't | |
2776 forget to quote symbols and constant lists. | |
2777 If VARIABLE is the special keyword `inherits-from:', VALUE must | |
2778 be a symbol name setting defined in `pr-setting-database' from | |
2779 which the current setting inherits the context. Take care with | |
2780 circular inheritance. | |
2781 Examples: | |
2782 '(pr-file-landscape . nil) | |
2783 '(pr-file-duplex . t) | |
2784 '(pr-gs-device . (my-gs-device t)) | |
2785 | |
2786 This variable should be modified by customization engine. If this variable is | |
2787 modified by other means (for example, a lisp function), use `pr-update-menus' | |
2788 function (see it for documentation) to update PostScript utility menu. | |
2789 | |
2790 NOTE: Don't forget to download and install the utilities declared on | |
2791 `pr-ps-utility-alist'. | |
2792 | |
2793 Examples: | |
2794 | |
2795 * On GNU or Unix system: | |
2796 | |
2797 '((mpage \"mpage\" nil \"-b%s\" \"-%d\" \"-l\" \"-t\" \"-T\" \">\" nil) | |
2798 (psnup \"psnup\" (\"-q\") \"-P%s\" \"-%d\" \"-l\" nil nil \" \" nil | |
2799 (pr-file-duplex . nil) (pr-file-tumble . nil)) | |
2800 ) | |
2801 | |
2802 * On Windows system: | |
2803 | |
2804 '((psnup \"c:/psutils/psnup\" (\"-q\") \"-P%s\" \"-%d\" \"-l\" nil nil \" \" | |
2805 nil (pr-file-duplex . nil) (pr-file-tumble . nil)) | |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2806 ) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2807 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2808 Useful links: |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2809 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2810 * mpage download (GNU or Unix) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2811 `http://www.mesa.nl/pub/mpage/' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2812 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2813 * mpage documentation (GNU or Unix - or type `man mpage') |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2814 `http://www.cs.umd.edu/faq/guides/manual_unix/node48.html' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2815 `http://www.rt.com/man/mpage.1.html' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2816 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2817 * psnup (Windows, GNU or Unix) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2818 `http://www.knackered.org/angus/psutils/' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2819 `http://gershwin.ens.fr/vdaniel/Doc-Locale/Outils-Gnu-Linux/PsUtils/' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2820 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2821 * psnup (PsUtils for Windows) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2822 `http://gnuwin32.sourceforge.net/packages/psutils.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2823 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2824 * psnup documentation (GNU or Unix - or type `man psnup') |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2825 `http://linux.about.com/library/cmd/blcmdl1_psnup.htm' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2826 `http://amath.colorado.edu/computing/software/man/psnup.html' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2827 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2828 * GNU Enscript (Windows, GNU or Unix) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2829 `http://people.ssh.com/mtr/genscript/' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2830 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2831 * GNU Enscript documentation (Windows, GNU or Unix) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2832 `http://people.ssh.com/mtr/genscript/enscript.man.html' |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2833 (on GNU or Unix, type `man enscript') |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
2834 " |
49646 | 2835 :type '(repeat |
2836 (list :tag "PS File Utility" | |
2837 (symbol :tag "Utility Symbol") | |
2838 (string :tag "Utility Name") | |
2839 (repeat :tag "Must Utility Switches" | |
2840 (sexp :tag "Switch" :value "")) | |
2841 (choice :menu-tag "Paper Size" | |
2842 :tag "Paper Size" | |
2843 (const :tag "No Paper Size" nil) | |
2844 (string :tag "Paper Size Format")) | |
2845 (choice :menu-tag "N-Up" | |
2846 :tag "N-Up" | |
2847 (const :tag "No N-Up" nil) | |
2848 (string :tag "N-Up Format")) | |
2849 (choice :menu-tag "Landscape" | |
2850 :tag "Landscape" | |
2851 (const :tag "No Landscape" nil) | |
2852 (string :tag "Landscape Switch")) | |
2853 (choice :menu-tag "Duplex" | |
2854 :tag "Duplex" | |
2855 (const :tag "No Duplex" nil) | |
2856 (string :tag "Duplex Switch")) | |
2857 (choice :menu-tag "Tumble" | |
2858 :tag "Tumble" | |
2859 (const :tag "No Tumble" nil) | |
2860 (string :tag "Tumble Switch")) | |
2861 (string :tag "Output Separator") | |
2862 (repeat :tag "Utility Switches" | |
2863 (sexp :tag "Switch" :value "")) | |
2864 (repeat | |
2865 :tag "Default Value List" | |
2866 :inline t | |
2867 (cons | |
2868 :tag "" | |
2869 (choice | |
2870 :menu-tag "Variable" | |
2871 :tag "Variable" | |
2872 (const :tag "PS File Landscape" pr-file-landscape) | |
2873 (const :tag "PS File Duplex" pr-file-duplex) | |
2874 (const :tag "PS File Tumble" pr-file-tumble) | |
2875 (const :tag "Ghostscript Device" pr-gs-device) | |
2876 (const :tag "Ghostscript Resolution" pr-gs-resolution) | |
2877 (const :tag "inherits-from:" inherits-from:) | |
2878 (variable :tag "Other")) | |
2879 (sexp :tag "Value"))) | |
2880 )) | |
2881 :set 'pr-alist-custom-set | |
2882 :group 'printing) | |
2883 | |
2884 | |
2885 (defcustom pr-menu-lock t | |
2886 "*Non-nil means menu is locked while selecting toggle options. | |
2887 | |
2888 See also `pr-menu-char-height' and `pr-menu-char-width'." | |
2889 :type 'boolean | |
2890 :group 'printing) | |
2891 | |
2892 | |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
2893 (defcustom pr-menu-char-height (pr-menu-char-height) |
49646 | 2894 "*Specify menu char height in pixels. |
2895 | |
2896 This variable is used to guess which vertical position should be locked the | |
2897 menu, so don't forget to adjust it if menu position is not ok. | |
2898 | |
2899 See also `pr-menu-lock' and `pr-menu-char-width'." | |
2900 :type 'integer | |
2901 :group 'printing) | |
2902 | |
2903 | |
85687
666ace46440f
Pacify byte compiler
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85574
diff
changeset
|
2904 (defcustom pr-menu-char-width (pr-menu-char-width) |
49646 | 2905 "*Specify menu char width in pixels. |
2906 | |
2907 This variable is used to guess which horizontal position should be locked the | |
2908 menu, so don't forget to adjust it if menu position is not ok. | |
2909 | |
2910 See also `pr-menu-lock' and `pr-menu-char-height'." | |
2911 :type 'integer | |
2912 :group 'printing) | |
2913 | |
2914 | |
2915 (defcustom pr-setting-database | |
2916 '((no-duplex ; setting symbol name | |
2917 nil nil nil ; inherits local kill-local | |
2918 (pr-file-duplex . nil) ; settings | |
2919 (pr-file-tumble . nil)) | |
2920 ) | |
2921 "*Specify an alist for settings in general. | |
2922 | |
2923 The elements have the following form: | |
2924 | |
2925 (SYMBOL INHERITS LOCAL KILL-LOCAL SETTING...) | |
2926 | |
2927 Where: | |
2928 | |
2929 SYMBOL It's a symbol to identify the setting group. | |
2930 | |
2931 INHERITS Specify the inheritance for SYMBOL group. It's a symbol name | |
2932 setting from which the current setting inherits the context. | |
2933 If INHERITS is nil, means that there is no inheritance. | |
2934 This is a simple inheritance mechanism. | |
2935 | |
2936 Let's see an example to illustrate the inheritance mechanism: | |
2937 | |
2938 (setq pr-setting-database | |
2939 '((no-duplex ; setting symbol name | |
2940 nil ; inherits | |
2941 nil nil ; local kill-local | |
2942 (pr-file-duplex . nil) ; settings | |
2943 (pr-file-tumble . nil) | |
2944 ) | |
2945 (no-duplex-and-landscape ; setting symbol name | |
2946 no-duplex ; inherits | |
2947 nil nil ; local kill-local | |
2948 (pr-file-landscape . nil) ; settings | |
2949 ))) | |
2950 | |
2951 The example above has two setting groups: no-duplex and | |
2952 no-duplex-and-landscape. When setting no-duplex is activated | |
2953 through `inherits-from:' (see `pr-ps-utility', `pr-mode-alist' | |
2954 and `pr-ps-printer-alist'), the variables pr-file-duplex and | |
2955 pr-file-tumble are both set to nil. | |
2956 | |
2957 Now when setting no-duplex-and-landscape is activated through | |
2958 `inherits-from:', the variable pr-file-landscape is set to nil | |
2959 and also the settings for no-duplex are done, because | |
2960 no-duplex-and-landscape inherits settings from no-duplex. | |
2961 | |
2962 Take care with circular inheritance. It's an error if circular | |
2963 inheritance happens. | |
2964 | |
2965 LOCAL Non-nil means that all settings for SYMBOL group will be | |
2966 declared local buffer. | |
2967 | |
2968 KILL-LOCAL Non-nil means that all settings for SYMBOL group will be | |
2969 killed at end. It has effect only when LOCAL is non-nil. | |
2970 | |
2971 SETTING It's a cons like: | |
2972 | |
2973 (VARIABLE . VALUE) | |
2974 | |
80951 | 2975 Which associates VARIABLE with VALUE. When this entry is |
49646 | 2976 selected, it's executed the following command: |
2977 | |
2978 * If LOCAL is non-nil: | |
2979 (set (make-local-variable VARIABLE) (eval VALUE)) | |
2980 | |
2981 * If LOCAL is nil: | |
2982 (set VARIABLE (eval VALUE)) | |
2983 | |
2984 Note that VALUE can be any valid lisp expression. So, don't | |
2985 forget to quote symbols and constant lists. | |
2986 This setting is ignored if VARIABLE is equal to keyword | |
2987 `inherits-from:'. | |
2988 Examples: | |
2989 '(ps-landscape-mode . nil) | |
2990 '(ps-spool-duplex . t) | |
2991 '(pr-gs-device . (my-gs-device t))" | |
2992 :type '(repeat | |
2993 (list | |
2994 :tag "" | |
2995 (symbol :tag "Setting Name") | |
2996 (choice :menu-tag "Inheritance" | |
2997 :tag "Inheritance" | |
2998 (const :tag "No Inheritance" nil) | |
2999 (symbol :tag "Inherits From")) | |
3000 (boolean :tag "Local Buffer Setting") | |
3001 (boolean :tag "Kill Local Variable At End") | |
3002 (repeat | |
3003 :tag "Setting List" | |
3004 :inline t | |
3005 (cons | |
3006 :tag "" | |
3007 (choice | |
3008 :menu-tag "Variable" | |
3009 :tag "Variable" | |
3010 (const :tag "Landscape" ps-landscape-mode) | |
3011 (const :tag "Print Header" ps-print-header) | |
3012 (const :tag "Print Header Frame" ps-print-header-frame) | |
3013 (const :tag "Line Number" ps-line-number) | |
3014 (const :tag "Zebra Stripes" ps-zebra-stripes) | |
3015 (const :tag "Duplex" ps-spool-duplex) | |
3016 (const :tag "Tumble" ps-spool-tumble) | |
3017 (const :tag "Upside-Down" ps-print-upside-down) | |
3018 (const :tag "PS File Landscape" pr-file-landscape) | |
3019 (const :tag "PS File Duplex" pr-file-duplex) | |
3020 (const :tag "PS File Tumble" pr-file-tumble) | |
3021 (const :tag "Auto Region" pr-auto-region) | |
3022 (const :tag "Auto Mode" pr-auto-mode) | |
3023 (const :tag "Ghostscript Device" pr-gs-device) | |
3024 (const :tag "Ghostscript Resolution" pr-gs-resolution) | |
3025 (variable :tag "Other")) | |
3026 (sexp :tag "Value"))) | |
3027 )) | |
3028 :group 'printing) | |
3029 | |
3030 | |
3031 (defcustom pr-visible-entry-list | |
3032 '(postscript text postscript-options postscript-process printing help) | |
3033 "*Specify a list of Printing menu visible entries. | |
3034 | |
3035 Valid values with the corresponding menu parts are: | |
3036 | |
3037 +------------------------------+ | |
3038 | Printing Interface | | |
3039 +------------------------------+ | |
3040 `postscript' | PostScript Preview >| | |
3041 | PostScript Print >| | |
3042 | PostScript Printer: name >| | |
3043 +------------------------------+ | |
3044 `text' | Printify >| | |
3045 | Print >| | |
3046 | Text Printer: name >| | |
3047 +------------------------------+ | |
3048 `postscript-options' |[ ] Landscape | | |
3049 |[ ] Print Header | | |
3050 |[ ] Print Header Frame | | |
3051 |[ ] Line Number | | |
3052 |[ ] Zebra Stripes | | |
3053 |[ ] Duplex | | |
3054 |[ ] Tumble | | |
3055 |[ ] Upside-Down | | |
3056 | Print All Pages >| | |
3057 +------------------------------+ | |
3058 `postscript-process' |[ ] Spool Buffer | | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3059 |[ ] Print with faces | |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3060 |[ ] Print via Ghostscript | |
49646 | 3061 +------------------------------+ |
3062 `printing' |[ ] Auto Region | | |
3063 |[ ] Auto Mode | | |
3064 |[ ] Menu Lock | | |
3065 +------------------------------+ | |
3066 `help' | Customize >| | |
3067 | Show Settings >| | |
3068 | Help | | |
3069 +------------------------------+ | |
3070 | |
3071 Any other value is ignored." | |
3072 :type '(repeat :tag "Menu Visible Part" | |
3073 (choice :menu-tag "Menu Part" | |
3074 :tag "Menu Part" | |
3075 (const postscript) | |
3076 (const text) | |
3077 (const postscript-options) | |
3078 (const postscript-process) | |
3079 (const printing) | |
3080 (const help))) | |
3081 :group 'printing) | |
3082 | |
3083 | |
3084 (defcustom pr-delete-temp-file t | |
3085 "*Non-nil means delete temporary files. | |
3086 | |
3087 Set `pr-delete-temp-file' to nil, if the following message (or a similar) | |
3088 happens when printing: | |
3089 | |
3090 Error: could not open \"c:\\temp\\prspool.ps\" for reading." | |
3091 :type 'boolean | |
3092 :group 'printing) | |
3093 | |
3094 | |
3095 (defcustom pr-list-directory nil | |
3096 "*Non-nil means list directory when processing a directory. | |
3097 | |
3098 That is, any subdirectories (and the superdirectory) of the directory (given as | |
3099 argument of functions below) are also printed (as dired-mode listings). | |
3100 | |
3101 It's used by `pr-ps-directory-preview', `pr-ps-directory-using-ghostscript', | |
3102 `pr-ps-directory-print', `pr-ps-directory-ps-print', `pr-printify-directory' | |
3103 and `pr-txt-directory'." | |
3104 :type 'boolean | |
3105 :group 'printing) | |
3106 | |
3107 | |
3108 (defcustom pr-buffer-name "*Printing Interface*" | |
3109 "*Specify the name of the buffer interface for printing package. | |
3110 | |
3111 It's used by `pr-interface'." | |
3112 :type 'string | |
3113 :group 'printing) | |
3114 | |
3115 | |
3116 (defcustom pr-buffer-name-ignore | |
3117 (list (regexp-quote pr-buffer-name) ; ignore printing interface buffer | |
3118 "^ .*$") ; ignore invisible buffers | |
3119 "*Specify a regexp list for buffer names to be ignored in interface buffer. | |
3120 | |
3121 NOTE: Case is important for matching, that is, `case-fold-search' is always | |
3122 nil. | |
3123 | |
3124 It's used by `pr-interface'." | |
3125 :type '(repeat (regexp :tag "Buffer Name Regexp")) | |
3126 :group 'printing) | |
3127 | |
3128 | |
3129 (defcustom pr-buffer-verbose t | |
3130 "*Non-nil means to be verbose when editing a field in interface buffer. | |
3131 | |
3132 It's used by `pr-interface'." | |
3133 :type 'boolean | |
3134 :group 'printing) | |
3135 | |
3136 | |
3137 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
3138 ;; Internal Variables | |
3139 | |
3140 | |
3141 (defvar pr-txt-command nil | |
3142 "Name of program for printing a text file. | |
3143 See `pr-txt-printer-alist'.") | |
3144 | |
3145 | |
3146 (defvar pr-txt-switches nil | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3147 "List of sexp's to pass as extra options to the text printer program. |
49646 | 3148 See `pr-txt-printer-alist'.") |
3149 | |
3150 | |
3151 (defvar pr-txt-printer nil | |
3152 "Specify text printer name. | |
3153 See `pr-txt-printer-alist'.") | |
3154 | |
3155 | |
3156 (defvar pr-ps-command nil | |
3157 "Name of program for printing a PostScript file. | |
3158 See `pr-ps-printer-alist'.") | |
3159 | |
3160 | |
3161 (defvar pr-ps-switches nil | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3162 "List of sexp's to pass as extra options to the PostScript printer program. |
49646 | 3163 See `pr-ps-printer-alist'.") |
3164 | |
3165 | |
3166 (defvar pr-ps-printer-switch nil | |
3167 "Specify PostScript printer name switch. | |
3168 See `pr-ps-printer-alist'.") | |
3169 | |
3170 | |
3171 (defvar pr-ps-printer nil | |
3172 "Specify PostScript printer name. | |
3173 See `pr-ps-printer-alist'.") | |
3174 | |
3175 | |
3176 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3177 ;; Macros |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3178 |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3179 |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3180 (defmacro pr-save-file-modes (&rest body) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3181 "Set temporally file modes to `pr-file-modes'." |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3182 `(let ((pr--default-file-modes (default-file-modes))) ; save default |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3183 (set-default-file-modes pr-file-modes) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3184 ,@body |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3185 (set-default-file-modes pr--default-file-modes))) ; restore default |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3186 |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3187 |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
3188 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
49646 | 3189 ;; Keys & Menus |
3190 | |
3191 | |
3192 (defsubst pr-visible-p (key) | |
3193 (memq key pr-visible-entry-list)) | |
3194 | |
3195 | |
3196 (defsubst pr-mode-alist-p () | |
3197 (cdr (assq major-mode pr-mode-alist))) | |
3198 | |
3199 | |
3200 (defsubst pr-auto-mode-p () | |
3201 (and pr-auto-mode (pr-mode-alist-p))) | |
3202 | |
3203 | |
3204 (defsubst pr-using-ghostscript-p () | |
3205 (and pr-print-using-ghostscript (not pr-spool-p))) | |
3206 | |
3207 | |
66951
e21a70dc8958
(easy-menu-intern): Don't define.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
65680
diff
changeset
|
3208 (defalias 'pr-get-symbol |
73027
575850f5bd53
Adjust X-URL
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
68651
diff
changeset
|
3209 (if (fboundp 'easy-menu-intern) ; hacked from easymenu.el |
66951
e21a70dc8958
(easy-menu-intern): Don't define.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
65680
diff
changeset
|
3210 'easy-menu-intern |
e21a70dc8958
(easy-menu-intern): Don't define.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
65680
diff
changeset
|
3211 (lambda (s) (if (stringp s) (intern s) s)))) |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3212 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3213 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3214 (defconst pr-menu-spec |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3215 ;; Menu mapping: |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3216 ;; unfortunately XEmacs doesn't support :active for submenus, |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3217 ;; only for items. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3218 ;; So, it uses :included instead of :active. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3219 ;; Also, XEmacs doesn't support :help tag. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3220 (let ((pr-:active (if (featurep 'xemacs) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3221 :included ; XEmacs |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3222 :active)) ; GNU Emacs |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3223 (pr-:help (if (featurep 'xemacs) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3224 'ignore ; XEmacs |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3225 #'(lambda (text) (list :help text))))) ; GNU Emacs |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3226 `( |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3227 ["Printing Interface" pr-interface |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3228 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3229 pr-:help "Use buffer interface instead of menu interface")] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3230 "--" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3231 ("PostScript Preview" :included (pr-visible-p 'postscript) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3232 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3233 pr-:help "Preview PostScript instead of sending to printer") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3234 ("Directory" ,pr-:active (not pr-spool-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3235 ["1-up" (pr-ps-directory-preview 1 nil nil t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3236 ["2-up" (pr-ps-directory-preview 2 nil nil t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3237 ["4-up" (pr-ps-directory-preview 4 nil nil t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3238 ["Other..." (pr-ps-directory-preview nil nil nil t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3239 :keys "\\[pr-ps-buffer-preview]"]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3240 ("Buffer" ,pr-:active (not pr-spool-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3241 ["1-up" (pr-ps-buffer-preview 1 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3242 ["2-up" (pr-ps-buffer-preview 2 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3243 ["4-up" (pr-ps-buffer-preview 4 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3244 ["Other..." (pr-ps-buffer-preview nil t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3245 :keys "\\[pr-ps-buffer-preview]"]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3246 ("Region" ,pr-:active (and (not pr-spool-p) (ps-mark-active-p)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3247 ["1-up" (pr-ps-region-preview 1 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3248 ["2-up" (pr-ps-region-preview 2 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3249 ["4-up" (pr-ps-region-preview 4 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3250 ["Other..." (pr-ps-region-preview nil t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3251 :keys "\\[pr-ps-region-preview]"]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3252 ("Mode" ,pr-:active (and (not pr-spool-p) (pr-mode-alist-p)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3253 ["1-up" (pr-ps-mode-preview 1 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3254 ["2-up" (pr-ps-mode-preview 2 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3255 ["4-up" (pr-ps-mode-preview 4 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3256 ["Other..." (pr-ps-mode-preview nil t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3257 :keys "\\[pr-ps-mode-preview]"]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3258 ("File" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3259 ["No Preprocessing..." (call-interactively 'pr-ps-file-preview) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3260 :keys "\\[pr-ps-file-preview]" |
58218
63c796a99b3e
adjust pr-menu-spec
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58204
diff
changeset
|
3261 ,@(funcall |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3262 pr-:help "Preview PostScript file")] |
49646 | 3263 "--" |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3264 ["PostScript Utility" pr-update-menus :active pr-ps-utility-alist |
58218
63c796a99b3e
adjust pr-menu-spec
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58204
diff
changeset
|
3265 ,@(funcall |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3266 pr-:help "Select PostScript utility")] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3267 "--" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3268 ["1-up..." (pr-ps-file-up-preview 1 t t) pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3269 ["2-up..." (pr-ps-file-up-preview 2 t t) pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3270 ["4-up..." (pr-ps-file-up-preview 4 t t) pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3271 ["Other..." (pr-ps-file-up-preview nil t t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3272 :keys "\\[pr-ps-file-up-preview]" :active pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3273 "--" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3274 ["Landscape" pr-toggle-file-landscape-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3275 :style toggle :selected pr-file-landscape |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3276 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3277 pr-:help "Toggle landscape for PostScript file") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3278 :active pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3279 ["Duplex" pr-toggle-file-duplex-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3280 :style toggle :selected pr-file-duplex |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3281 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3282 pr-:help "Toggle duplex for PostScript file") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3283 :active pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3284 ["Tumble" pr-toggle-file-tumble-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3285 :style toggle :selected pr-file-tumble |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3286 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3287 pr-:help "Toggle tumble for PostScript file") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3288 :active (and pr-file-duplex pr-ps-utility-alist)]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3289 ["Despool..." (call-interactively 'pr-despool-preview) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3290 :active pr-spool-p :keys "\\[pr-despool-preview]" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3291 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3292 pr-:help "Despool PostScript buffer to printer or file (C-u)")]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3293 ("PostScript Print" :included (pr-visible-p 'postscript) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3294 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3295 pr-:help "Send PostScript to printer or file (C-u)") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3296 ("Directory" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3297 ["1-up" (pr-ps-directory-ps-print 1 nil nil t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3298 ["2-up" (pr-ps-directory-ps-print 2 nil nil t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3299 ["4-up" (pr-ps-directory-ps-print 4 nil nil t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3300 ["Other..." (pr-ps-directory-ps-print nil nil nil t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3301 :keys "\\[pr-ps-buffer-ps-print]"]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3302 ("Buffer" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3303 ["1-up" (pr-ps-buffer-ps-print 1 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3304 ["2-up" (pr-ps-buffer-ps-print 2 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3305 ["4-up" (pr-ps-buffer-ps-print 4 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3306 ["Other..." (pr-ps-buffer-ps-print nil t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3307 :keys "\\[pr-ps-buffer-ps-print]"]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3308 ("Region" ,pr-:active (ps-mark-active-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3309 ["1-up" (pr-ps-region-ps-print 1 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3310 ["2-up" (pr-ps-region-ps-print 2 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3311 ["4-up" (pr-ps-region-ps-print 4 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3312 ["Other..." (pr-ps-region-ps-print nil t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3313 :keys "\\[pr-ps-region-ps-print]"]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3314 ("Mode" ,pr-:active (pr-mode-alist-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3315 ["1-up" (pr-ps-mode-ps-print 1 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3316 ["2-up" (pr-ps-mode-ps-print 2 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3317 ["4-up" (pr-ps-mode-ps-print 4 t) t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3318 ["Other..." (pr-ps-mode-ps-print nil t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3319 :keys "\\[pr-ps-mode-ps-print]"]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3320 ("File" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3321 ["No Preprocessing..." (call-interactively 'pr-ps-file-ps-print) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3322 :keys "\\[pr-ps-file-ps-print]" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3323 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3324 pr-:help "Send PostScript file to printer")] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3325 "--" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3326 ["PostScript Utility" pr-update-menus :active pr-ps-utility-alist |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3327 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3328 pr-:help "Select PostScript utility")] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3329 "--" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3330 ["1-up..." (pr-ps-file-up-ps-print 1 t t) pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3331 ["2-up..." (pr-ps-file-up-ps-print 2 t t) pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3332 ["4-up..." (pr-ps-file-up-ps-print 4 t t) pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3333 ["Other..." (pr-ps-file-up-ps-print nil t t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3334 :keys "\\[pr-ps-file-up-ps-print]" :active pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3335 "--" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3336 ["Landscape" pr-toggle-file-landscape-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3337 :style toggle :selected pr-file-landscape |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3338 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3339 pr-:help "Toggle landscape for PostScript file") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3340 :active pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3341 ["Duplex" pr-toggle-file-duplex-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3342 :style toggle :selected pr-file-duplex |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3343 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3344 pr-:help "Toggle duplex for PostScript file") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3345 :active pr-ps-utility-alist] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3346 ["Tumble" pr-toggle-file-tumble-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3347 :style toggle :selected pr-file-tumble |
58218
63c796a99b3e
adjust pr-menu-spec
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58204
diff
changeset
|
3348 ,@(funcall |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3349 pr-:help "Toggle tumble for PostScript file") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3350 :active (and pr-file-duplex pr-ps-utility-alist)]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3351 ["Despool..." (call-interactively 'pr-despool-ps-print) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3352 :active pr-spool-p :keys "\\[pr-despool-ps-print]" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3353 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3354 pr-:help "Despool PostScript buffer to printer or file (C-u)")]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3355 ["PostScript Printers" pr-update-menus |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3356 :active pr-ps-printer-alist :included (pr-visible-p 'postscript) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3357 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3358 pr-:help "Select PostScript printer")] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3359 "--" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3360 ("Printify" :included (pr-visible-p 'text) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3361 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3362 pr-:help |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3363 "Replace non-printing chars with printable representations.") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3364 ["Directory" pr-printify-directory t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3365 ["Buffer" pr-printify-buffer t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3366 ["Region" pr-printify-region (ps-mark-active-p)]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3367 ("Print" :included (pr-visible-p 'text) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3368 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3369 pr-:help "Send text to printer") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3370 ["Directory" pr-txt-directory t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3371 ["Buffer" pr-txt-buffer t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3372 ["Region" pr-txt-region (ps-mark-active-p)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3373 ["Mode" pr-txt-mode (pr-mode-alist-p)]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3374 ["Text Printers" pr-update-menus |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3375 :active pr-txt-printer-alist :included (pr-visible-p 'text) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3376 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3377 pr-:help "Select text printer")] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3378 "--" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3379 ["Landscape" pr-toggle-landscape-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3380 :style toggle :selected ps-landscape-mode |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3381 :included (pr-visible-p 'postscript-options)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3382 ["Print Header" pr-toggle-header-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3383 :style toggle :selected ps-print-header |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3384 :included (pr-visible-p 'postscript-options)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3385 ["Print Header Frame" pr-toggle-header-frame-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3386 :style toggle :selected ps-print-header-frame :active ps-print-header |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3387 :included (pr-visible-p 'postscript-options)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3388 ["Line Number" pr-toggle-line-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3389 :style toggle :selected ps-line-number |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3390 :included (pr-visible-p 'postscript-options)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3391 ["Zebra Stripes" pr-toggle-zebra-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3392 :style toggle :selected ps-zebra-stripes |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3393 :included (pr-visible-p 'postscript-options)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3394 ["Duplex" pr-toggle-duplex-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3395 :style toggle :selected ps-spool-duplex |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3396 :included (pr-visible-p 'postscript-options)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3397 ["Tumble" pr-toggle-tumble-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3398 :style toggle :selected ps-spool-tumble :active ps-spool-duplex |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3399 :included (pr-visible-p 'postscript-options)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3400 ["Upside-Down" pr-toggle-upside-down-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3401 :style toggle :selected ps-print-upside-down |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3402 :included (pr-visible-p 'postscript-options)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3403 ("Print All Pages" :included (pr-visible-p 'postscript-options) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3404 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3405 pr-:help "Select odd/even pages/sheets to print") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3406 ["All Pages" (pr-even-or-odd-pages nil) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3407 :style radio :selected (eq ps-even-or-odd-pages nil)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3408 ["Even Pages" (pr-even-or-odd-pages 'even-page) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3409 :style radio :selected (eq ps-even-or-odd-pages 'even-page)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3410 ["Odd Pages" (pr-even-or-odd-pages 'odd-page) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3411 :style radio :selected (eq ps-even-or-odd-pages 'odd-page)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3412 ["Even Sheets" (pr-even-or-odd-pages 'even-sheet) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3413 :style radio :selected (eq ps-even-or-odd-pages 'even-sheet)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3414 ["Odd Sheets" (pr-even-or-odd-pages 'odd-sheet) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3415 :style radio :selected (eq ps-even-or-odd-pages 'odd-sheet)]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3416 "--" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3417 ["Spool Buffer" pr-toggle-spool-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3418 :style toggle :selected pr-spool-p |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3419 :included (pr-visible-p 'postscript-process) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3420 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3421 pr-:help "Toggle PostScript spooling")] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3422 ["Print with faces" pr-toggle-faces-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3423 :style toggle :selected pr-faces-p |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3424 :included (pr-visible-p 'postscript-process) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3425 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3426 pr-:help "Toggle PostScript printing with faces")] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3427 ["Print via Ghostscript" pr-toggle-ghostscript-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3428 :style toggle :selected pr-print-using-ghostscript |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3429 :included (pr-visible-p 'postscript-process) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3430 ,@(funcall |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3431 pr-:help "Toggle PostScript generation using ghostscript")] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3432 "--" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3433 ["Auto Region" pr-toggle-region-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3434 :style toggle :selected pr-auto-region |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3435 :included (pr-visible-p 'printing)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3436 ["Auto Mode" pr-toggle-mode-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3437 :style toggle :selected pr-auto-mode |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3438 :included (pr-visible-p 'printing)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3439 ["Menu Lock" pr-toggle-lock-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3440 :style toggle :selected pr-menu-lock |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3441 :included (pr-visible-p 'printing)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3442 "--" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3443 ("Customize" :included (pr-visible-p 'help) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3444 ["printing" pr-customize t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3445 ["ps-print" ps-print-customize t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3446 ["lpr" lpr-customize t]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3447 ("Show Settings" :included (pr-visible-p 'help) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3448 ["printing" pr-show-pr-setup t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3449 ["ps-print" pr-show-ps-setup t] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3450 ["lpr" pr-show-lpr-setup t]) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3451 ["Help" pr-help :active t :included (pr-visible-p 'help)] |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3452 ))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3453 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3454 |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
3455 (defun pr-menu-bind () |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
3456 "Install `printing' menu in the menubar. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
3457 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
3458 On Emacs 20, it replaces the Tools/Print menu by Tools/Printing menu. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
3459 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
3460 On Emacs 21 and 22, it replaces the File/Print* menu entries by File/Print |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
3461 menu. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
3462 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
3463 Calls `pr-update-menus' to adjust menus." |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
3464 (interactive) |
80951 | 3465 (pr-global-menubar pr-menu-spec) |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
3466 (pr-update-menus t)) |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3467 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3468 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3469 ;; Key binding |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3470 (let ((pr-print-key (if (featurep 'xemacs) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3471 'f22 ; XEmacs |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3472 'print))) ; GNU Emacs |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3473 (global-set-key `[,pr-print-key] 'pr-ps-fast-fire) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3474 ;; Well, M-print and S-print are used because in my keyboard S-print works |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3475 ;; and M-print doesn't. But M-print can work in other keyboard. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3476 (global-set-key `[(meta ,pr-print-key)] 'pr-ps-mode-using-ghostscript) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3477 (global-set-key `[(shift ,pr-print-key)] 'pr-ps-mode-using-ghostscript) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3478 ;; Well, C-print and C-M-print are used because in my keyboard C-M-print works |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3479 ;; and C-print doesn't. But C-print can work in other keyboard. |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3480 (global-set-key `[(control ,pr-print-key)] 'pr-txt-fast-fire) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3481 (global-set-key `[(control meta ,pr-print-key)] 'pr-txt-fast-fire)) |
49646 | 3482 |
3483 | |
3484 ;;; You can also use something like: | |
3485 ;;;(global-set-key "\C-ci" 'pr-interface) | |
3486 ;;;(global-set-key "\C-cbp" 'pr-ps-buffer-print) | |
3487 ;;;(global-set-key "\C-cbx" 'pr-ps-buffer-preview) | |
3488 ;;;(global-set-key "\C-cbb" 'pr-ps-buffer-using-ghostscript) | |
3489 ;;;(global-set-key "\C-crp" 'pr-ps-region-print) | |
3490 ;;;(global-set-key "\C-crx" 'pr-ps-region-preview) | |
3491 ;;;(global-set-key "\C-crr" 'pr-ps-region-using-ghostscript) | |
3492 | |
3493 | |
3494 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
3495 ;; Help Message | |
3496 | |
3497 | |
3498 (defconst pr-help-message | |
3499 (concat "printing.el version " pr-version | |
3500 " ps-print.el version " ps-print-version | |
3501 "\n\n | |
3502 Menu Layout | |
3503 ----------- | |
3504 | |
3505 The `printing' menu (Tools/Printing or File/Print) has the following layout: | |
3506 | |
3507 +-----------------------------+ | |
3508 A 0 | Printing Interface | | |
3509 +-----------------------------+ +-A---------+ +-B------+ | |
3510 I 1 | PostScript Preview >|-------|Directory >|-----|1-up | | |
3511 2 | PostScript Print >|---- A |Buffer >|-- B |2-up | | |
3512 3 | PostScript Printer: name >|---- C |Region >|-- B |4-up | | |
3513 +-----------------------------+ |Mode >|-- B |Other...| | |
3514 II 4 | Printify >|-----\\ |File >|--\\ +--------+ | |
3515 5 | Print >|---\\ | |Despool... | | | |
3516 6 | Text Printer: name >|-\\ | | +-----------+ | | |
3517 +-----------------------------+ | | | +---------+ +------------+ | |
54210
602769168263
Replace "As Is..." in PostScript file print/preview by "No Preprocessing...".
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54209
diff
changeset
|
3518 III 7 |[ ]Landscape | | | \\-|Directory| | No Prep... | Ia |
49646 | 3519 8 |[ ]Print Header | | | |Buffer | +------------+ Ib |
3520 9 |[ ]Print Header Frame | | | |Region | | name >|- C | |
3521 10 |[ ]Line Number | | | +---------+ +------------+ | |
3522 11 |[ ]Zebra Stripes | | | +---------+ | 1-up... | Ic | |
3523 12 |[ ]Duplex | | \\---|Directory| | 2-up... | | |
3524 13 |[ ]Tumble | \\--\\ |Buffer | | 4-up... | | |
3525 14 |[ ]Upside-Down | | |Region | | Other... | | |
3526 15 | Print All Pages >|--\\ | |Mode | +------------+ | |
3527 +-----------------------------+ | | +---------+ |[ ]Landscape| Id | |
3528 IV 16 |[ ]Spool Buffer | | | +-C-------+ |[ ]Duplex | Ie | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3529 17 |[ ]Print with faces | | \\--|( )name A| |[ ]Tumble | If |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3530 18 |[ ]Print via Ghostscript | | |( )name B| +------------+ |
49646 | 3531 +-----------------------------+ | |... | |
3532 V 19 |[ ]Auto Region | | |(*)name | | |
3533 20 |[ ]Auto Mode | | |... | | |
3534 21 |[ ]Menu Lock | | +---------+ +--------------+ | |
3535 +-----------------------------+ \\------------------|(*)All Pages | | |
3536 VI 22 | Customize >|--- D +-D------+ |( )Even Pages | | |
3537 23 | Show Settings >|-------|printing| |( )Odd Pages | | |
3538 24 | Help | |ps-print| |( )Even Sheets| | |
3539 +-----------------------------+ |lpr | |( )Odd Sheets | | |
3540 +--------+ +--------------+ | |
3541 | |
3542 See `pr-visible-entry-list' for hiding some parts of the menu. | |
3543 | |
3544 The menu has the following sections: | |
3545 | |
3546 A. Interface: | |
3547 | |
3548 0. You can use a buffer interface instead of menus. It looks like the | |
3549 customization buffer. Basically, it has the same options found in the | |
3550 menu and some extra options, all this on a buffer. | |
3551 | |
3552 I. PostScript printing: | |
3553 | |
3554 1. You can generate a PostScript file (if you type C-u before activating | |
3555 menu) or PostScript temporary file for a directory, a buffer, a region | |
3556 or a major mode, choosing 1-up, 2-up, 4-up or any other n-up printing; | |
3557 after file generation, ghostview is activated using the file generated | |
3558 as argument. This option is disabled if spooling is on (option 16). | |
3559 Also, if you already have a PostScript file you can preview it. | |
3560 Instead of previewing each buffer, region or major mode at once, you | |
3561 can save temporarily the PostScript code generated in a buffer and | |
3562 preview it later. The option `Despool...' despools the PostScript | |
3563 spooling buffer in a temporary file and uses ghostview to preview it. | |
3564 If you type C-u before choosing this option, the PostScript code | |
3565 generated is saved in a file instead of saving in a temporary file. To | |
3566 spool the PostScript code generated you need to turn on the option 16. | |
3567 The option `Despool...' is enabled if spooling is on (option 16). | |
3568 | |
3569 NOTE 1: It's possible to customize a major mode printing, just declare | |
3570 the customization in `pr-mode-alist' and invoke some of | |
3571 `*-mode*' commands or select Mode option in Printing menu. An | |
3572 example for major mode usage is when you're using gnus (or mh, | |
3573 or rmail, etc.) and you're in the *Summary* buffer, if you | |
3574 forget to switch to the *Article* buffer before printing, | |
3575 you'll get a nicely formatted list of article subjects shows | |
3576 up at the printer. With major mode printing you don't need to | |
3577 switch from gnus *Summary* buffer first. | |
3578 | |
3579 NOTE 2: There are the following options for PostScript file processing: | |
54210
602769168263
Replace "As Is..." in PostScript file print/preview by "No Preprocessing...".
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54209
diff
changeset
|
3580 Ia. Print the file *No Preprocessing*, that is, send it |
602769168263
Replace "As Is..." in PostScript file print/preview by "No Preprocessing...".
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54209
diff
changeset
|
3581 directly to PostScript printer. |
49646 | 3582 Ib. PostScript utility processing selection. |
3583 See `pr-ps-utility-alist' and `pr-setting-database' for | |
3584 documentation. | |
3585 Ic. Do n-up processing before printing. | |
3586 Id. Toggle on/off landscape for PostScript file processing. | |
3587 Ie. Toggle on/off duplex for PostScript file processing. | |
3588 If. Toggle on/off tumble for PostScript file processing. | |
3589 | |
3590 NOTE 3: Don't forget to download and install the utilities declared on | |
3591 `pr-ps-utility-alist'. | |
3592 | |
3593 2. Operate the same way as option 1, but it sends directly the PostScript | |
3594 code (or put in a file, if you've typed C-u) or it uses ghostscript to | |
3595 print the PostScript file generated. It depends on option 18, if it's | |
3596 turned on, it uses ghostscript; otherwise, it sends directly to | |
3597 printer. If spooling is on (option 16), the PostScript code is saved | |
3598 temporarily in a buffer instead of printing it or saving it in a file. | |
3599 Also, if you already have a PostScript file you can print it. | |
3600 Instead of printing each buffer, region or major mode at once, you can | |
3601 save temporarily the PostScript code generated in a buffer and print it | |
3602 later. The option `Despool...' despools the PostScript spooling buffer | |
3603 directly on a printer. If you type C-u before choosing this option, | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3604 the PostScript code generated is saved in a file instead of sending it to |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3605 the printer. To spool the PostScript code generated you need to turn on |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3606 option 16. This option is enabled if spooling is on (option 16). |
49646 | 3607 See also the NOTE 1, NOTE 2 and NOTE 3 on option 1. |
3608 | |
3609 3. You can select a new PostScript printer to send PostScript code | |
3610 generated. For selection it's used all PostScript printers defined | |
3611 in `pr-ps-printer-alist' variable (see it for documentation). | |
3612 See also `pr-setting-database'. | |
3613 | |
3614 II. Text printing: | |
3615 | |
3616 4. If you have control characters (character code from \\000 to \\037) in a | |
3617 buffer and you want to print them in a text printer, select this | |
3618 option. All control characters in your buffer or region will be | |
3619 replaced by a printable representation. The printable representations | |
3620 use ^ (for ASCII control characters) or hex. The characters tab, | |
3621 linefeed, space, return and formfeed are not affected. | |
3622 You don't need to select this option if you use any option of section | |
3623 I, the PostScript engine treats control characters properly. | |
3624 | |
3625 5. If you want to print a directory, buffer, region or major mode in a | |
3626 text printer, select this option. See also the NOTE 1 on option 1. | |
3627 | |
3628 6. You can select a new text printer to send text generated. For | |
3629 selection it's used all text printers defined in `pr-txt-printer-alist' | |
3630 variable (see it for documentation). | |
3631 See also `pr-setting-database'. | |
3632 | |
3633 III. PostScript page toggle options: | |
3634 | |
3635 7. If you want a PostScript landscape printing, turn on this option. | |
3636 | |
3637 8. If you want to have a header in each page in your PostScript code, | |
3638 turn on this option. | |
3639 | |
3640 9. If you want to draw a gaudy frame around the header, turn on this | |
3641 option. This option is enabled if print header is on (option 8). | |
3642 | |
3643 10. If you want that the line number is printed in your PostScript code, | |
3644 turn on this option. | |
3645 | |
3646 11. If you want background zebra stripes in your PostScript code, turn on | |
3647 this option. | |
3648 | |
3649 12. If you want a duplex printing and your PostScript printer has this | |
3650 feature, turn on this option. | |
3651 | |
3652 13. If you turned on duplex printing, you can choose if you want to have a | |
3653 printing suitable for binding on the left or right (tumble off), or to | |
3654 have a printing suitable for binding at top or bottom (tumble on). | |
3655 This option is enabled if duplex is on (option 12). | |
3656 | |
3657 14. If you want a PostScript upside-down printing, turn on this option. | |
3658 | |
3659 15. With this option, you can choose if you want to print all pages, odd | |
3660 pages, even pages, odd sheets or even sheets. | |
3661 See also `ps-even-or-odd-pages'. | |
3662 | |
3663 IV. PostScript processing toggle options: | |
3664 | |
3665 16. If you want to spool the PostScript code generated, turn on this | |
3666 option. To spool the PostScript code generated use option 2. You can | |
3667 despool later by choosing option 1 or 2, sub-option `Despool...'. | |
3668 | |
3669 17. If you use colors in your buffers and want to see these colors on your | |
3670 PostScript code generated, turn on this option. If you have a | |
3671 black/white PostScript printer, these colors are displayed in gray | |
3672 scale by PostScript printer interpreter. | |
3673 | |
3674 18. If you don't have a PostScript printer to send PostScript files, turn | |
3675 on this option. When this option is on, the ghostscript is used to | |
3676 print PostScript files. In GNU or Unix system, if ghostscript is set | |
3677 as a PostScript filter, you don't need to turn on this option. | |
3678 | |
3679 V. Printing customization: | |
3680 | |
3681 19. If you want that region is automagically detected, turn on this | |
3682 option. Note that this will only work if you're using transient mark | |
3683 mode. When this option is on, the `*-buffer*' commands will behave | |
3684 like `*-region*' commands, that is, `*-buffer*' commands will print | |
3685 only the region marked instead of all buffer. | |
3686 | |
3687 20. Turn this option on if you want that when current major-mode is | |
3688 declared in `pr-mode-alist', the `*-buffer*' and `*-region*' commands | |
3689 behave like `*-mode*' commands. | |
3690 | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3691 21. If you want that Printing menu stays open while you are setting |
49646 | 3692 toggle options, turn on this option. The variables |
3693 `pr-menu-char-height' and `pr-menu-char-width' are used to guess the | |
3694 menu position, so don't forget to adjust these variables if menu | |
3695 position is not ok. | |
3696 | |
3697 VI. Customization: | |
3698 | |
3699 22. Besides all options in section III, IV and V, you can customize much | |
3700 more PostScript options in `ps-print' option. Or you can customize | |
3701 some `lpr' options for text printing. Or customize `printing' | |
3702 options. | |
3703 | |
3704 23. Show current settings for `printing', `ps-print' or `lpr'. | |
3705 | |
3706 24. Quick help for printing menu layout. | |
3707 ") | |
3708 "Printing help message.") | |
3709 | |
3710 | |
3711 (defconst pr-interface-help-message | |
3712 (concat "printing.el version " pr-version | |
3713 " ps-print.el version " ps-print-version | |
3714 "\n\n | |
3715 The printing interface buffer has the same functionality as the printing menu. | |
3716 The major difference is that the states (like sending PostScript generated to a | |
3717 file, n-up printing, etc.) are set and saved between priting buffer | |
3718 activation. Also, the landscape, duplex and tumble values are the same for | |
3719 PostScript file and directory/buffer/region/mode processing; using menu, there | |
3720 are different value sets for PostScript file and directory/buffer/region/mode | |
3721 processing. | |
3722 | |
3723 The printing interface buffer has the following sections: | |
3724 | |
3725 1. Print: | |
3726 | |
3727 Here you can choose to print/preview a buffer, a directory or a PostScript | |
3728 file: | |
3729 | |
3730 1a. Buffer: | |
3731 | |
3732 * Buffer List: | |
3733 Select a buffer from the current buffer list. | |
3734 | |
3735 * Region: | |
3736 If it's on, this means that the selected buffer has an active region, | |
3737 so you can turn on/off, as you wish. | |
3738 If it's off when a buffer is selected, this means that the selected | |
3739 buffer has no active region, so it'll not be possible to turn it on. | |
3740 If you want to process the region, let this option on. | |
3741 If you want to process the whole buffer, let this option off. | |
3742 | |
3743 * Mode: | |
3744 If it's on, this means that the selected buffer major mode is declared | |
3745 for major mode processing, so you can turn on/off, as you wish. | |
3746 If it's off when a buffer is selected, this means that the selected | |
3747 buffer major mode isn't declared for major mode processing, so it'll | |
3748 not be possible to turn it on. | |
3749 If you want the major mode processing, let this option on. | |
3750 If you don't want the major mode processing, let this option off. | |
3751 | |
3752 NOTE 1: It's possible to customize a major mode printing, just declare | |
3753 the customization in `pr-mode-alist' and invoke some of | |
3754 `*-mode*' commands or select Mode option in Printing menu. An | |
3755 example for major mode usage is when you're using gnus (or mh, | |
3756 or rmail, etc.) and you're in the *Summary* buffer, if you | |
3757 forget to switch to the *Article* buffer before printing, | |
3758 you'll get a nicely formatted list of article subjects shows | |
3759 up at the printer. With major mode printing you don't need to | |
3760 switch from gnus *Summary* buffer first. | |
3761 | |
3762 1b. Directory: | |
3763 | |
3764 * Directory: | |
3765 Specify a valid directory path. | |
3766 | |
3767 * File Regexp: | |
3768 Specify a file name regexp. All file names in the directory that | |
3769 match with regexp will be printed/previewed. An empty file name | |
3770 regexp means to print/preview all files in the directory. | |
3771 | |
3772 * List Directory Entry: | |
3773 If it's turned on, list directory entries besides file entries. | |
3774 | |
3775 1c. PostScript file: | |
3776 | |
3777 * PostScript File: | |
3778 Specify an existent PostScript file to print/preview. | |
3779 | |
3780 * PostScript Utility: | |
3781 Select a PostScript utility. | |
3782 See `pr-ps-utility-alist' and `pr-setting-database' for documentation. | |
3783 | |
3784 NOTE 2: Don't forget to download and install the utilities declared on | |
3785 `pr-ps-utility-alist'. | |
3786 | |
54210
602769168263
Replace "As Is..." in PostScript file print/preview by "No Preprocessing...".
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54209
diff
changeset
|
3787 * No Preprocessing: |
49646 | 3788 If it's turned on, don't use the PostScript utility to preprocess the |
3789 PostScript file before printing/previewing. | |
3790 | |
3791 2. PostScript printer: | |
3792 | |
3793 * PostScript Printer: | |
3794 You can select a new PostScript printer to send PostScript code | |
3795 generated. For selection it's used all PostScript printers defined | |
3796 in `pr-ps-printer-alist' variable (see it for documentation). | |
3797 See also `pr-setting-database'. | |
3798 | |
3799 * Despool: | |
3800 If spooling is on, you can turn it on/off, as you wish. | |
3801 If spooling is off, it'll not be possible to turn it on. | |
3802 If it's turned on, specify to despools the PostScript spooling buffer in | |
3803 a temporary file or in the selected PostScript file when | |
3804 printing/previewing. | |
3805 | |
3806 * Preview: | |
3807 Preview the PostScript generated. | |
3808 | |
3809 * Print: | |
3810 Print the PostScript generated. | |
3811 | |
3812 * Quit: | |
3813 Quit from printing interface buffer. | |
3814 | |
3815 * Send to Printer/Temporary File: | |
3816 If it's turned on, the PostScript generated is sent directly to | |
3817 PostScript printer or, for previewing, to a temporary file. | |
3818 | |
3819 * Send to File: | |
3820 Specify a file name to send the PostScript generated. | |
3821 | |
3822 * N-Up: | |
3823 Specify n-up printing. | |
3824 | |
3825 3. Text printer: | |
3826 | |
3827 * Text Printer: | |
3828 Select a new text printer to send text generated. For selection it's used | |
3829 all text printers defined in `pr-txt-printer-alist' variable (see it for | |
3830 documentation). See also `pr-setting-database'. | |
3831 | |
3832 * Printify: | |
3833 If you have control characters (character code from \\000 to \\037) in a | |
3834 buffer and you want to print them in a text printer, select this | |
3835 option. All control characters in your buffer or region will be | |
3836 replaced by a printable representation. The printable representations | |
3837 use ^ (for ASCII control characters) or hex. The characters tab, | |
3838 linefeed, space, return and formfeed are not affected. | |
3839 You don't need to select this option if you use any option of section | |
3840 I, the PostScript engine treats control characters properly. | |
3841 | |
3842 * Print: | |
3843 To print a directory, buffer, region or major mode in a | |
3844 text printer, select this option. See also the NOTE 1 on section 1. | |
3845 | |
3846 * Quit: | |
3847 Quit from printing interface buffer. | |
3848 | |
3849 4. Settings: | |
3850 | |
3851 There are 3 setting columns: | |
3852 | |
3853 4a. First column (left column): | |
3854 | |
3855 * Landscape: | |
3856 PostScript landscape printing. | |
3857 | |
3858 * Print Header: | |
3859 To have a header in each page in your PostScript code. | |
3860 | |
3861 * Print Header Frame: | |
3862 To draw a gaudy frame around the header. | |
3863 | |
3864 * Line Number: | |
3865 The line number is printed in your PostScript code. | |
3866 | |
3867 * Zebra Stripes: | |
3868 Background zebra stripes in your PostScript code. | |
3869 | |
3870 * Duplex: | |
3871 Duplex printing (if your PostScript printer has this feature). | |
3872 | |
3873 * Tumble: | |
3874 If duplex printing is on, you can choose if you want to have a | |
3875 printing suitable for binding on the left or right (tumble off), or to | |
3876 have a printing suitable for binding at top or bottom (tumble on). | |
3877 | |
3878 * Upside-Down: | |
3879 PostScript upside-down printing. | |
3880 | |
3881 4b. Second column (middle column): | |
3882 | |
3883 * Auto Region: | |
3884 If you want that region is automagically detected, turn on this | |
3885 option. Note that this will only work if you're using transient mark | |
3886 mode. When this option is on, the `*-buffer*' commands will behave | |
3887 like `*-region*' commands, that is, `*-buffer*' commands will print | |
3888 only the region marked instead of all buffer. | |
3889 | |
3890 * Auto Mode: | |
3891 Turn this option on if you want that when current major-mode is | |
3892 declared in `pr-mode-alist', the `*-buffer*' and `*-region*' commands | |
3893 behave like `*-mode*' commands. | |
3894 | |
3895 * Menu Lock: | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3896 If you want that Printing menu stays open while you are setting |
49646 | 3897 toggle options, turn on this option. The variables |
3898 `pr-menu-char-height' and `pr-menu-char-width' are used to guess the | |
3899 menu position, so don't forget to adjust these variables if menu | |
3900 position is not ok. | |
3901 | |
3902 * Spool Buffer: | |
3903 To spool the PostScript code generated. You can despool later by | |
3904 setting Despool option on PostScript printer section. | |
3905 | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3906 * Print with faces: |
49646 | 3907 If you use colors in your buffers and want to see these colors on your |
3908 PostScript code generated, turn on this option. If you have a | |
3909 black/white PostScript printer, these colors are displayed in gray | |
3910 scale by PostScript printer interpreter. | |
3911 | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3912 * Print via Ghostscript: |
49646 | 3913 If you don't have a PostScript printer to send PostScript files, turn |
3914 on this option. When this option is on, the ghostscript is used to | |
3915 print PostScript files. In GNU or Unix system, if ghostscript is set | |
3916 as a PostScript filter, you don't need to turn on this option. | |
3917 | |
3918 * Parity Page Menu: | |
3919 To print all pages, odd pages, even pages, odd sheets or even sheets. | |
3920 See also `ps-even-or-odd-pages'. | |
3921 | |
3922 4c. Third column (right column): | |
3923 | |
3924 * Verbose: | |
3925 That is, to be verbose when editing a field in interface buffer. | |
3926 | |
3927 5. Customize: | |
3928 | |
3929 Besides all options in section 4, you can customize much more PostScript | |
3930 options in `ps-print' option. Or you can customize some `lpr' options for | |
3931 text printing. Or customize `printing' options. | |
3932 | |
3933 6. Show settings: | |
3934 | |
3935 Show current settings for `printing', `ps-print' or `lpr'. | |
3936 | |
3937 7. Help: | |
3938 | |
3939 Quick help for printing interface buffer and printing menu layout. You can | |
3940 also quit the printing interface buffer or kill all printing help buffer. | |
3941 ") | |
3942 "Printing buffer interface help message.") | |
3943 | |
3944 | |
3945 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
3946 ;; Commands | |
3947 | |
3948 | |
3949 ;;;###autoload | |
3950 (defun pr-interface (&optional buffer) | |
3951 "Activate the printing interface buffer. | |
3952 | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3953 If BUFFER is nil, the current buffer is used for printing. |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3954 |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
3955 For more information, type \\[pr-interface-help]." |
49646 | 3956 (interactive) |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3957 (save-excursion |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3958 (set-buffer (or buffer (current-buffer))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3959 (pr-create-interface))) |
49646 | 3960 |
3961 | |
3962 ;;;###autoload | |
3963 (defun pr-ps-directory-preview (n-up dir file-regexp &optional filename) | |
3964 "Preview directory using ghostview. | |
3965 | |
3966 Interactively, the command prompts for N-UP printing number, a directory, a | |
3967 file name regexp for matching and, when you use a prefix argument (C-u), the | |
3968 command prompts the user for a file name, and saves the PostScript image in | |
3969 that file instead of saving it in a temporary file. | |
3970 | |
3971 Noninteractively, if N-UP is nil, prompts for N-UP printing number. If DIR is | |
3972 nil, prompts for DIRectory. If FILE-REGEXP is nil, prompts for | |
3973 FILE(name)-REGEXP. The argument FILENAME is treated as follows: if it's nil, | |
3974 save the image in a temporary file. If FILENAME is a string, save the | |
3975 PostScript image in a file with that name. If FILENAME is t, prompts for a | |
3976 file name. | |
3977 | |
3978 See also documentation for `pr-list-directory'." | |
3979 (interactive (pr-interactive-ps-dir-args (pr-prompt "PS preview dir"))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3980 (pr-set-ps-dir-args 'n-up 'dir 'file-regexp 'filename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3981 (pr-prompt "PS preview dir")) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3982 (setq filename (pr-ps-file filename)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3983 (pr-ps-file-list n-up dir file-regexp filename) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3984 (or pr-spool-p |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
3985 (pr-ps-file-preview filename))) |
49646 | 3986 |
3987 | |
3988 ;;;###autoload | |
3989 (defun pr-ps-directory-using-ghostscript (n-up dir file-regexp &optional filename) | |
3990 "Print directory using PostScript through ghostscript. | |
3991 | |
3992 Interactively, the command prompts for N-UP printing number, a directory, a | |
3993 file name regexp for matching and, when you use a prefix argument (C-u), the | |
3994 command prompts the user for a file name, and saves the PostScript image in | |
3995 that file instead of saving it in a temporary file. | |
3996 | |
3997 Noninteractively, if N-UP is nil, prompts for N-UP printing number. If DIR is | |
3998 nil, prompts for DIRectory. If FILE-REGEXP is nil, prompts for | |
3999 FILE(name)-REGEXP. The argument FILENAME is treated as follows: if it's nil, | |
4000 save the image in a temporary file. If FILENAME is a string, save the | |
4001 PostScript image in a file with that name. If FILENAME is t, prompts for a | |
4002 file name. | |
4003 | |
4004 See also documentation for `pr-list-directory'." | |
4005 (interactive (pr-interactive-ps-dir-args (pr-prompt "PS print dir GS"))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4006 (pr-set-ps-dir-args 'n-up 'dir 'file-regexp 'filename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4007 (pr-prompt "PS print dir GS")) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4008 (let ((file (pr-ps-file filename))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4009 (pr-ps-file-list n-up dir file-regexp file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4010 (pr-ps-file-using-ghostscript file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4011 (or filename (pr-delete-file file)))) |
49646 | 4012 |
4013 | |
4014 ;;;###autoload | |
4015 (defun pr-ps-directory-print (n-up dir file-regexp &optional filename) | |
4016 "Print directory using PostScript printer. | |
4017 | |
4018 Interactively, the command prompts for N-UP printing number, a directory, a | |
4019 file name regexp for matching and, when you use a prefix argument (C-u), the | |
4020 command prompts the user for a file name, and saves the PostScript image in | |
4021 that file instead of saving it in a temporary file. | |
4022 | |
4023 Noninteractively, if N-UP is nil, prompts for N-UP printing number. If DIR is | |
4024 nil, prompts for DIRectory. If FILE-REGEXP is nil, prompts for | |
4025 FILE(name)-REGEXP. The argument FILENAME is treated as follows: if it's nil, | |
4026 save the image in a temporary file. If FILENAME is a string, save the | |
4027 PostScript image in a file with that name. If FILENAME is t, prompts for a | |
4028 file name. | |
4029 | |
4030 See also documentation for `pr-list-directory'." | |
4031 (interactive (pr-interactive-ps-dir-args (pr-prompt "PS print dir"))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4032 (pr-set-ps-dir-args 'n-up 'dir 'file-regexp 'filename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4033 (pr-prompt "PS print dir")) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4034 (let ((file (pr-ps-file filename))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4035 (pr-ps-file-list n-up dir file-regexp file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4036 (pr-ps-file-print file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4037 (or filename (pr-delete-file file)))) |
49646 | 4038 |
4039 | |
4040 ;;;###autoload | |
4041 (defun pr-ps-directory-ps-print (n-up dir file-regexp &optional filename) | |
4042 "Print directory using PostScript printer or through ghostscript. | |
4043 | |
4044 It depends on `pr-print-using-ghostscript'. | |
4045 | |
4046 Interactively, the command prompts for N-UP printing number, a directory, a | |
4047 file name regexp for matching and, when you use a prefix argument (C-u), the | |
4048 command prompts the user for a file name, and saves the PostScript image in | |
4049 that file instead of saving it in a temporary file. | |
4050 | |
4051 Noninteractively, if N-UP is nil, prompts for N-UP printing number. If DIR is | |
4052 nil, prompts for DIRectory. If FILE-REGEXP is nil, prompts for | |
4053 FILE(name)-REGEXP. The argument FILENAME is treated as follows: if it's nil, | |
4054 save the image in a temporary file. If FILENAME is a string, save the | |
4055 PostScript image in a file with that name. If FILENAME is t, prompts for a | |
4056 file name. | |
4057 | |
4058 See also documentation for `pr-list-directory'." | |
4059 (interactive (pr-interactive-ps-dir-args | |
4060 (pr-prompt (pr-prompt-gs "PS print dir")))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4061 (pr-set-ps-dir-args 'n-up 'dir 'file-regexp 'filename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4062 (pr-prompt (pr-prompt-gs "PS print dir"))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4063 (if (pr-using-ghostscript-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4064 (pr-ps-directory-using-ghostscript n-up dir file-regexp filename) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4065 (pr-ps-directory-print n-up dir file-regexp filename))) |
49646 | 4066 |
4067 | |
4068 ;;;###autoload | |
4069 (defun pr-ps-buffer-preview (n-up &optional filename) | |
4070 "Preview buffer using ghostview. | |
4071 | |
4072 Interactively, the command prompts for N-UP printing number and, when you use a | |
4073 prefix argument (C-u), the command prompts the user for a file name, and saves | |
4074 the PostScript image in that file instead of saving it in a temporary file. | |
4075 | |
4076 Noninteractively, if N-UP is nil, prompts for N-UP printing number. The | |
4077 argument FILENAME is treated as follows: if it's nil, save the image in a | |
4078 temporary file. If FILENAME is a string, save the PostScript image in a file | |
4079 with that name. If FILENAME is t, prompts for a file name." | |
4080 (interactive (pr-interactive-n-up-file (pr-prompt "PS preview"))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4081 (if (pr-auto-mode-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4082 (pr-ps-mode-preview n-up filename) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4083 (pr-ps-preview (pr-region-active-symbol) n-up filename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4084 (pr-region-active-string "PS preview")))) |
49646 | 4085 |
4086 | |
4087 ;;;###autoload | |
4088 (defun pr-ps-buffer-using-ghostscript (n-up &optional filename) | |
4089 "Print buffer using PostScript through ghostscript. | |
4090 | |
4091 Interactively, the command prompts for N-UP printing number and, when you use a | |
4092 prefix argument (C-u), the command prompts the user for a file name, and saves | |
4093 the PostScript image in that file instead of sending it to the printer. | |
4094 | |
4095 Noninteractively, if N-UP is nil, prompts for N-UP printing number. The | |
4096 argument FILENAME is treated as follows: if it's nil, send the image to the | |
4097 printer. If FILENAME is a string, save the PostScript image in a file with | |
4098 that name. If FILENAME is t, prompts for a file name." | |
4099 (interactive (pr-interactive-n-up-file (pr-prompt "PS print GS"))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4100 (if (pr-auto-mode-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4101 (pr-ps-mode-using-ghostscript n-up filename) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4102 (pr-ps-using-ghostscript (pr-region-active-symbol) n-up filename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4103 (pr-region-active-string "PS print GS")))) |
49646 | 4104 |
4105 | |
4106 ;;;###autoload | |
4107 (defun pr-ps-buffer-print (n-up &optional filename) | |
4108 "Print buffer using PostScript printer. | |
4109 | |
4110 Interactively, the command prompts for N-UP printing number and, when you use a | |
4111 prefix argument (C-u), the command prompts the user for a file name, and saves | |
4112 the PostScript image in that file instead of sending it to the printer. | |
4113 | |
4114 Noninteractively, if N-UP is nil, prompts for N-UP printing number. The | |
4115 argument FILENAME is treated as follows: if it's nil, send the image to the | |
4116 printer. If FILENAME is a string, save the PostScript image in a file with | |
4117 that name. If FILENAME is t, prompts for a file name." | |
4118 (interactive (pr-interactive-n-up-file (pr-prompt "PS print"))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4119 (if (pr-auto-mode-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4120 (pr-ps-mode-print n-up filename) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4121 (pr-ps-print (pr-region-active-symbol) n-up filename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4122 (pr-region-active-string "PS print")))) |
49646 | 4123 |
4124 | |
4125 ;;;###autoload | |
4126 (defun pr-ps-buffer-ps-print (n-up &optional filename) | |
4127 "Print buffer using PostScript printer or through ghostscript. | |
4128 | |
4129 It depends on `pr-print-using-ghostscript'. | |
4130 | |
4131 Interactively, the command prompts for N-UP printing number and, when you use a | |
4132 prefix argument (C-u), the command prompts the user for a file name, and saves | |
4133 the PostScript image in that file instead of sending it to the printer. | |
4134 | |
4135 Noninteractively, if N-UP is nil, prompts for N-UP printing number. The | |
4136 argument FILENAME is treated as follows: if it's nil, send the image to the | |
4137 printer. If FILENAME is a string, save the PostScript image in a file with | |
4138 that name. If FILENAME is t, prompts for a file name." | |
4139 (interactive (pr-interactive-n-up-file | |
4140 (pr-prompt (pr-prompt-gs "PS print")))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4141 (cond ((pr-auto-mode-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4142 (pr-ps-mode-ps-print n-up filename)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4143 ((pr-using-ghostscript-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4144 (pr-ps-using-ghostscript (pr-region-active-symbol) n-up filename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4145 (pr-region-active-string "PS print GS"))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4146 (t |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4147 (pr-ps-print (pr-region-active-symbol) n-up filename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4148 (pr-region-active-string "PS print"))))) |
49646 | 4149 |
4150 | |
4151 ;;;###autoload | |
4152 (defun pr-ps-region-preview (n-up &optional filename) | |
4153 "Preview region using ghostview. | |
4154 | |
4155 See also `pr-ps-buffer-preview'." | |
4156 (interactive (pr-interactive-n-up-file (pr-prompt-region "PS preview"))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4157 (if (pr-auto-mode-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4158 (let ((pr-auto-region t)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4159 (pr-ps-mode-preview n-up filename)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4160 (pr-ps-preview 'region n-up filename "PS preview region"))) |
49646 | 4161 |
4162 | |
4163 ;;;###autoload | |
4164 (defun pr-ps-region-using-ghostscript (n-up &optional filename) | |
4165 "Print region using PostScript through ghostscript. | |
4166 | |
4167 See also `pr-ps-buffer-using-ghostscript'." | |
4168 (interactive (pr-interactive-n-up-file (pr-prompt-region "PS print GS"))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4169 (if (pr-auto-mode-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4170 (let ((pr-auto-region t)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4171 (pr-ps-mode-using-ghostscript n-up filename)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4172 (pr-ps-using-ghostscript 'region n-up filename "PS print GS region"))) |
49646 | 4173 |
4174 | |
4175 ;;;###autoload | |
4176 (defun pr-ps-region-print (n-up &optional filename) | |
4177 "Print region using PostScript printer. | |
4178 | |
4179 See also `pr-ps-buffer-print'." | |
4180 (interactive (pr-interactive-n-up-file (pr-prompt-region "PS print"))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4181 (if (pr-auto-mode-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4182 (let ((pr-auto-region t)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4183 (pr-ps-mode-print n-up filename)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4184 (pr-ps-print 'region n-up filename "PS print region"))) |
49646 | 4185 |
4186 | |
4187 ;;;###autoload | |
4188 (defun pr-ps-region-ps-print (n-up &optional filename) | |
4189 "Print region using PostScript printer or through ghostscript. | |
4190 | |
4191 See also `pr-ps-buffer-ps-print'." | |
4192 (interactive (pr-interactive-n-up-file | |
4193 (pr-prompt-region (pr-prompt-gs "PS print")))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4194 (cond ((pr-auto-mode-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4195 (let ((pr-auto-region t)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4196 (pr-ps-mode-ps-print n-up filename))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4197 ((pr-using-ghostscript-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4198 (pr-ps-using-ghostscript 'region n-up filename "PS print GS region")) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4199 (t |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4200 (pr-ps-print 'region n-up filename "PS print region")))) |
49646 | 4201 |
4202 | |
4203 ;;;###autoload | |
4204 (defun pr-ps-mode-preview (n-up &optional filename) | |
4205 "Preview major mode using ghostview. | |
4206 | |
4207 See also `pr-ps-buffer-preview'." | |
4208 (interactive (pr-interactive-n-up-file "PS preview mode")) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4209 (pr-set-n-up-and-filename 'n-up 'filename "PS preview mode") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4210 (let ((file (pr-ps-file filename))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4211 (and (pr-ps-mode n-up file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4212 (not pr-spool-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4213 (pr-ps-file-preview file)))) |
49646 | 4214 |
4215 | |
4216 ;;;###autoload | |
4217 (defun pr-ps-mode-using-ghostscript (n-up &optional filename) | |
4218 "Print major mode using PostScript through ghostscript. | |
4219 | |
4220 See also `pr-ps-buffer-using-ghostscript'." | |
4221 (interactive (pr-interactive-n-up-file "PS print GS mode")) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4222 (pr-set-n-up-and-filename 'n-up 'filename "PS print GS mode") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4223 (let ((file (pr-ps-file filename))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4224 (when (and (pr-ps-mode n-up file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4225 (not pr-spool-p)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4226 (pr-ps-file-using-ghostscript file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4227 (or filename (pr-delete-file file))))) |
49646 | 4228 |
4229 | |
4230 ;;;###autoload | |
4231 (defun pr-ps-mode-print (n-up &optional filename) | |
4232 "Print major mode using PostScript printer. | |
4233 | |
4234 See also `pr-ps-buffer-print'." | |
4235 (interactive (pr-interactive-n-up-file "PS print mode")) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4236 (pr-set-n-up-and-filename 'n-up 'filename "PS print mode") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4237 (pr-ps-mode n-up filename)) |
49646 | 4238 |
4239 | |
4240 ;;;###autoload | |
4241 (defun pr-ps-mode-ps-print (n-up &optional filename) | |
4242 "Print major mode using PostScript or through ghostscript. | |
4243 | |
4244 See also `pr-ps-buffer-ps-print'." | |
4245 (interactive (pr-interactive-n-up-file (pr-prompt-gs "PS print mode"))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4246 (if (pr-using-ghostscript-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4247 (pr-ps-mode-using-ghostscript n-up filename) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4248 (pr-ps-mode-print n-up filename))) |
49646 | 4249 |
4250 | |
4251 ;;;###autoload | |
4252 (defun pr-printify-directory (&optional dir file-regexp) | |
4253 "Replace nonprinting characters in directory with printable representations. | |
4254 The printable representations use ^ (for ASCII control characters) or hex. | |
4255 The characters tab, linefeed, space, return and formfeed are not affected. | |
4256 | |
4257 Interactively, the command prompts for a directory and a file name regexp for | |
4258 matching. | |
4259 | |
4260 Noninteractively, if DIR is nil, prompts for DIRectory. If FILE-REGEXP is nil, | |
4261 prompts for FILE(name)-REGEXP. | |
4262 | |
4263 See also documentation for `pr-list-directory'." | |
4264 (interactive (pr-interactive-dir-args "Printify dir")) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4265 (pr-set-dir-args 'dir 'file-regexp "Printify dir") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4266 (pr-file-list dir file-regexp 'pr-printify-buffer)) |
49646 | 4267 |
4268 | |
4269 ;;;###autoload | |
4270 (defun pr-printify-buffer () | |
4271 "Replace nonprinting characters in buffer with printable representations. | |
4272 The printable representations use ^ (for ASCII control characters) or hex. | |
4273 The characters tab, linefeed, space, return and formfeed are not affected." | |
4274 (interactive "*") | |
4275 (if (pr-region-active-p) | |
4276 (pr-printify-region) | |
4277 (printify-region (point-min) (point-max)))) | |
4278 | |
4279 | |
4280 ;;;###autoload | |
4281 (defun pr-printify-region () | |
4282 "Replace nonprinting characters in region with printable representations. | |
4283 The printable representations use ^ (for ASCII control characters) or hex. | |
4284 The characters tab, linefeed, space, return and formfeed are not affected." | |
4285 (interactive "*") | |
4286 (printify-region (point) (mark))) | |
4287 | |
4288 | |
4289 ;;;###autoload | |
4290 (defun pr-txt-directory (&optional dir file-regexp) | |
4291 "Print directory using text printer. | |
4292 | |
4293 Interactively, the command prompts for a directory and a file name regexp for | |
4294 matching. | |
4295 | |
4296 Noninteractively, if DIR is nil, prompts for DIRectory. If FILE-REGEXP is nil, | |
4297 prompts for FILE(name)-REGEXP. | |
4298 | |
4299 See also documentation for `pr-list-directory'." | |
4300 (interactive (pr-interactive-dir-args "Print dir")) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4301 (pr-set-dir-args 'dir 'file-regexp "Print dir") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4302 (pr-file-list dir file-regexp 'pr-txt-buffer)) |
49646 | 4303 |
4304 | |
4305 ;;;###autoload | |
4306 (defun pr-txt-buffer () | |
4307 "Print buffer using text printer." | |
4308 (interactive) | |
4309 (cond ((pr-auto-mode-p) | |
4310 (pr-txt-mode)) | |
4311 ((pr-region-active-p) | |
4312 (pr-txt-region)) | |
4313 (t | |
4314 (pr-txt-print (point-min) (point-max))))) | |
4315 | |
4316 | |
4317 ;;;###autoload | |
4318 (defun pr-txt-region () | |
4319 "Print region using text printer." | |
4320 (interactive) | |
4321 (if (pr-auto-mode-p) | |
4322 (let ((pr-auto-region t)) | |
4323 (pr-txt-mode)) | |
4324 (pr-txt-print (point) (mark)))) | |
4325 | |
4326 | |
4327 ;;;###autoload | |
4328 (defun pr-txt-mode () | |
4329 "Print major mode using text printer." | |
4330 (interactive) | |
4331 (let ((args (pr-mode-alist-p))) | |
4332 (if args | |
4333 (funcall (car args) (nthcdr 2 args)) | |
4334 (ding) | |
4335 (message "`%s' major mode not declared." major-mode)))) | |
4336 | |
4337 | |
4338 ;;;###autoload | |
4339 (defun pr-despool-preview (&optional filename) | |
4340 "Preview spooled PostScript. | |
4341 | |
4342 Interactively, when you use a prefix argument (C-u), the command prompts the | |
4343 user for a file name, and saves the spooled PostScript image in that file | |
4344 instead of saving it in a temporary file. | |
4345 | |
4346 Noninteractively, the argument FILENAME is treated as follows: if it is nil, | |
4347 save the image in a temporary file. If FILENAME is a string, save the | |
4348 PostScript image in a file with that name." | |
4349 (interactive (list (ps-print-preprint current-prefix-arg))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4350 (let ((file (pr-ps-file filename))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4351 (when (stringp file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4352 (pr-despool-print file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4353 (pr-ps-file-preview file)))) |
49646 | 4354 |
4355 | |
4356 ;;;###autoload | |
4357 (defun pr-despool-using-ghostscript (&optional filename) | |
4358 "Print spooled PostScript using ghostscript. | |
4359 | |
4360 Interactively, when you use a prefix argument (C-u), the command prompts the | |
4361 user for a file name, and saves the spooled PostScript image in that file | |
4362 instead of sending it to the printer. | |
4363 | |
4364 Noninteractively, the argument FILENAME is treated as follows: if it is nil, | |
4365 send the image to the printer. If FILENAME is a string, save the PostScript | |
4366 image in a file with that name." | |
4367 (interactive (list (ps-print-preprint current-prefix-arg))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4368 (let ((file (pr-ps-file filename))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4369 (when (stringp file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4370 (pr-despool-print file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4371 (pr-ps-file-using-ghostscript file) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4372 (or filename (pr-delete-file file))))) |
49646 | 4373 |
4374 | |
4375 ;;;###autoload | |
4376 (defun pr-despool-print (&optional filename) | |
4377 "Send the spooled PostScript to the printer. | |
4378 | |
4379 Interactively, when you use a prefix argument (C-u), the command prompts the | |
4380 user for a file name, and saves the spooled PostScript image in that file | |
4381 instead of sending it to the printer. | |
4382 | |
4383 Noninteractively, the argument FILENAME is treated as follows: if it is nil, | |
4384 send the image to the printer. If FILENAME is a string, save the PostScript | |
4385 image in a file with that name." | |
4386 (interactive (list (ps-print-preprint current-prefix-arg))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4387 (pr-save-file-modes |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4388 (let ((ps-lpr-command (pr-command pr-ps-command)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4389 (ps-lpr-switches pr-ps-switches) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4390 (ps-printer-name-option pr-ps-printer-switch) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4391 (ps-printer-name pr-ps-printer)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4392 (ps-despool filename)))) |
49646 | 4393 |
4394 | |
4395 ;;;###autoload | |
4396 (defun pr-despool-ps-print (&optional filename) | |
4397 "Send the spooled PostScript to the printer or use ghostscript to print it. | |
4398 | |
4399 Interactively, when you use a prefix argument (C-u), the command prompts the | |
4400 user for a file name, and saves the spooled PostScript image in that file | |
4401 instead of sending it to the printer. | |
4402 | |
4403 Noninteractively, the argument FILENAME is treated as follows: if it is nil, | |
4404 send the image to the printer. If FILENAME is a string, save the PostScript | |
4405 image in a file with that name." | |
4406 (interactive (list (ps-print-preprint current-prefix-arg))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4407 (if pr-print-using-ghostscript |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4408 (pr-despool-using-ghostscript filename) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4409 (pr-despool-print filename))) |
49646 | 4410 |
4411 | |
4412 ;;;###autoload | |
4413 (defun pr-ps-file-preview (filename) | |
4414 "Preview PostScript file FILENAME." | |
4415 (interactive (list (pr-ps-infile-preprint "Preview "))) | |
4416 (and (stringp filename) (file-exists-p filename) | |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4417 (pr-call-process pr-gv-command filename))) |
49646 | 4418 |
4419 | |
4420 ;;;###autoload | |
4421 (defun pr-ps-file-up-preview (n-up ifilename &optional ofilename) | |
4422 "Preview PostScript file FILENAME." | |
4423 (interactive (pr-interactive-n-up-inout "PS preview")) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4424 (let ((outfile (pr-ps-utility-args 'n-up 'ifilename 'ofilename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4425 "PS preview "))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4426 (pr-ps-utility-process n-up ifilename outfile) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4427 (pr-ps-file-preview outfile))) |
49646 | 4428 |
4429 | |
4430 ;;;###autoload | |
4431 (defun pr-ps-file-using-ghostscript (filename) | |
4432 "Print PostScript file FILENAME using ghostscript." | |
4433 (interactive (list (pr-ps-infile-preprint "Print preview "))) | |
4434 (and (stringp filename) (file-exists-p filename) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4435 (let* ((file (pr-expand-file-name filename)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4436 (tempfile (pr-dosify-file-name (make-temp-file file)))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4437 ;; gs use |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4438 (pr-call-process pr-gs-command |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4439 (format "-sDEVICE=%s" pr-gs-device) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4440 (format "-r%d" pr-gs-resolution) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4441 (pr-switches-string pr-gs-switches "pr-gs-switches") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4442 (format "-sOutputFile=\"%s\"" tempfile) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4443 file |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4444 "-c quit") |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4445 ;; printing |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4446 (pr-ps-file-print tempfile) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4447 ;; deleting |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4448 (pr-delete-file tempfile)))) |
49646 | 4449 |
4450 | |
4451 ;;;###autoload | |
4452 (defun pr-ps-file-print (filename) | |
4453 "Print PostScript file FILENAME." | |
4454 (interactive (list (pr-ps-infile-preprint "Print "))) | |
4455 (and (stringp filename) (file-exists-p filename) | |
4456 ;; printing | |
4457 (let ((file (pr-expand-file-name filename))) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
4458 (if (string= pr-ps-command "") |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
4459 ;; default action |
49646 | 4460 (let ((ps-spool-buffer (get-buffer-create ps-spool-buffer-name))) |
4461 (save-excursion | |
4462 (set-buffer ps-spool-buffer) | |
4463 (erase-buffer) | |
4464 (insert-file-contents-literally file)) | |
4465 (pr-despool-print)) | |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
4466 ;; use `pr-ps-command' to print |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4467 (apply 'pr-call-process |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4468 pr-ps-command |
58241
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
4469 (pr-switches-string pr-ps-switches "pr-ps-switches") |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4470 (if (string-match "cp" pr-ps-command) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4471 ;; for "cp" (cmd in out) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4472 (list file |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4473 (concat pr-ps-printer-switch pr-ps-printer)) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4474 ;; else, for others (cmd out in) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4475 (list (concat pr-ps-printer-switch pr-ps-printer) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4476 file))))))) |
49646 | 4477 |
4478 | |
4479 ;;;###autoload | |
4480 (defun pr-ps-file-ps-print (filename) | |
4481 "Send PostScript file FILENAME to printer or use ghostscript to print it." | |
4482 (interactive (list (pr-ps-infile-preprint | |
4483 (if pr-print-using-ghostscript | |
4484 "Print preview " | |
4485 "Print ")))) | |
4486 (if pr-print-using-ghostscript | |
4487 (pr-ps-file-using-ghostscript filename) | |
4488 (pr-ps-file-print filename))) | |
4489 | |
4490 | |
4491 ;;;###autoload | |
4492 (defun pr-ps-file-up-ps-print (n-up ifilename &optional ofilename) | |
4493 "Process a PostScript file IFILENAME and send it to printer. | |
4494 | |
4495 Interactively, the command prompts for N-UP printing number, for an input | |
4496 PostScript file IFILENAME and, when you use a prefix argument (C-u), the | |
4497 command prompts the user for an output PostScript file name OFILENAME, and | |
4498 saves the PostScript image in that file instead of sending it to the printer. | |
4499 | |
4500 Noninteractively, if N-UP is nil, prompts for N-UP printing number. The | |
4501 argument IFILENAME is treated as follows: if it's t, prompts for an input | |
4502 PostScript file name; otherwise, it *must* be a string that it's an input | |
4503 PostScript file name. The argument OFILENAME is treated as follows: if it's | |
4504 nil, send the image to the printer. If OFILENAME is a string, save the | |
4505 PostScript image in a file with that name. If OFILENAME is t, prompts for a | |
4506 file name." | |
4507 (interactive (pr-interactive-n-up-inout | |
4508 (if pr-print-using-ghostscript | |
4509 "PS print GS" | |
4510 "PS print"))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4511 (let ((outfile (pr-ps-utility-args 'n-up 'ifilename 'ofilename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4512 (if pr-print-using-ghostscript |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4513 "PS print GS " |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4514 "PS print ")))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4515 (pr-ps-utility-process n-up ifilename outfile) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4516 (unless ofilename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4517 (pr-ps-file-ps-print outfile) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4518 (pr-delete-file outfile)))) |
49646 | 4519 |
4520 | |
4521 ;;;###autoload | |
4522 (defun pr-toggle-file-duplex () | |
4523 "Toggle duplex for PostScript file." | |
4524 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4525 (pr-toggle-file-duplex-menu t)) |
49646 | 4526 |
4527 | |
4528 ;;;###autoload | |
4529 (defun pr-toggle-file-tumble () | |
4530 "Toggle tumble for PostScript file. | |
4531 | |
4532 If tumble is off, produces a printing suitable for binding on the left or | |
4533 right. | |
4534 If tumble is on, produces a printing suitable for binding at the top or | |
4535 bottom." | |
4536 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4537 (pr-toggle-file-tumble-menu t)) |
49646 | 4538 |
4539 | |
4540 ;;;###autoload | |
4541 (defun pr-toggle-file-landscape () | |
4542 "Toggle landscape for PostScript file." | |
4543 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4544 (pr-toggle-file-landscape-menu t)) |
49646 | 4545 |
4546 | |
4547 ;;;###autoload | |
4548 (defun pr-toggle-ghostscript () | |
4549 "Toggle printing using ghostscript." | |
4550 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4551 (pr-toggle-ghostscript-menu t)) |
49646 | 4552 |
4553 | |
4554 ;;;###autoload | |
4555 (defun pr-toggle-faces () | |
4556 "Toggle printing with faces." | |
4557 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4558 (pr-toggle-faces-menu t)) |
49646 | 4559 |
4560 | |
4561 ;;;###autoload | |
4562 (defun pr-toggle-spool () | |
4563 "Toggle spooling." | |
4564 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4565 (pr-toggle-spool-menu t)) |
49646 | 4566 |
4567 | |
4568 ;;;###autoload | |
4569 (defun pr-toggle-duplex () | |
4570 "Toggle duplex." | |
4571 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4572 (pr-toggle-duplex-menu t)) |
49646 | 4573 |
4574 | |
4575 ;;;###autoload | |
4576 (defun pr-toggle-tumble () | |
4577 "Toggle tumble. | |
4578 | |
4579 If tumble is off, produces a printing suitable for binding on the left or | |
4580 right. | |
4581 If tumble is on, produces a printing suitable for binding at the top or | |
4582 bottom." | |
4583 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4584 (pr-toggle-tumble-menu t)) |
49646 | 4585 |
4586 | |
4587 ;;;###autoload | |
4588 (defun pr-toggle-landscape () | |
4589 "Toggle landscape." | |
4590 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4591 (pr-toggle-landscape-menu t)) |
49646 | 4592 |
4593 | |
4594 ;;;###autoload | |
4595 (defun pr-toggle-upside-down () | |
4596 "Toggle upside-down." | |
4597 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4598 (pr-toggle-upside-down-menu t)) |
49646 | 4599 |
4600 | |
4601 ;;;###autoload | |
4602 (defun pr-toggle-line () | |
4603 "Toggle line number." | |
4604 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4605 (pr-toggle-line-menu t)) |
49646 | 4606 |
4607 | |
4608 ;;;###autoload | |
4609 (defun pr-toggle-zebra () | |
4610 "Toggle zebra stripes." | |
4611 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4612 (pr-toggle-zebra-menu t)) |
49646 | 4613 |
4614 | |
4615 ;;;###autoload | |
4616 (defun pr-toggle-header () | |
4617 "Toggle printing header." | |
4618 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4619 (pr-toggle-header-menu t)) |
49646 | 4620 |
4621 | |
4622 ;;;###autoload | |
4623 (defun pr-toggle-header-frame () | |
4624 "Toggle printing header frame." | |
4625 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4626 (pr-toggle-header-frame-menu t)) |
49646 | 4627 |
4628 | |
4629 ;;;###autoload | |
4630 (defun pr-toggle-lock () | |
4631 "Toggle menu lock." | |
4632 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4633 (pr-toggle-lock-menu t)) |
49646 | 4634 |
4635 | |
4636 ;;;###autoload | |
4637 (defun pr-toggle-region () | |
4638 "Toggle auto region." | |
4639 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4640 (pr-toggle-region-menu t)) |
49646 | 4641 |
4642 | |
4643 ;;;###autoload | |
4644 (defun pr-toggle-mode () | |
4645 "Toggle auto mode." | |
4646 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4647 (pr-toggle-mode-menu t)) |
49646 | 4648 |
4649 | |
4650 ;;;###autoload | |
4651 (defun pr-customize (&rest ignore) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
4652 "Customization of the `printing' group." |
49646 | 4653 (interactive) |
4654 (customize-group 'printing)) | |
4655 | |
4656 | |
4657 ;;;###autoload | |
4658 (defun lpr-customize (&rest ignore) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
4659 "Customization of the `lpr' group." |
49646 | 4660 (interactive) |
4661 (customize-group 'lpr)) | |
4662 | |
4663 | |
4664 ;;;###autoload | |
4665 (defun pr-help (&rest ignore) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
4666 "Help for the printing package." |
49646 | 4667 (interactive) |
4668 (pr-show-setup pr-help-message "*Printing Help*")) | |
4669 | |
4670 | |
4671 ;;;###autoload | |
4672 (defun pr-ps-name () | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
4673 "Interactively select a PostScript printer." |
49646 | 4674 (interactive) |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4675 (pr-menu-set-ps-title |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4676 (pr-complete-alist "PostScript printer" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4677 pr-ps-printer-alist pr-ps-name))) |
49646 | 4678 |
4679 | |
4680 ;;;###autoload | |
4681 (defun pr-txt-name () | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
4682 "Interactively select a text printer." |
49646 | 4683 (interactive) |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4684 (pr-menu-set-txt-title |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4685 (pr-complete-alist "Text printer" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4686 pr-txt-printer-alist pr-txt-name))) |
49646 | 4687 |
4688 | |
4689 ;;;###autoload | |
4690 (defun pr-ps-utility () | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
4691 "Interactively select a PostScript utility." |
49646 | 4692 (interactive) |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4693 (pr-menu-set-utility-title |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4694 (pr-complete-alist "Postscript utility" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4695 pr-ps-utility-alist pr-ps-utility))) |
49646 | 4696 |
4697 | |
4698 ;;;###autoload | |
4699 (defun pr-show-ps-setup (&rest ignore) | |
4700 "Show current ps-print settings." | |
4701 (interactive) | |
4702 (pr-show-setup (ps-setup) "*PS Setup*")) | |
4703 | |
4704 | |
4705 ;;;###autoload | |
4706 (defun pr-show-pr-setup (&rest ignore) | |
4707 "Show current printing settings." | |
4708 (interactive) | |
4709 (pr-show-setup (pr-setup) "*PR Setup*")) | |
4710 | |
4711 | |
4712 ;;;###autoload | |
4713 (defun pr-show-lpr-setup (&rest ignore) | |
4714 "Show current lpr settings." | |
4715 (interactive) | |
4716 (pr-show-setup (lpr-setup) "*LPR Setup*")) | |
4717 | |
4718 | |
4719 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
4720 ;; Fast Commands | |
4721 | |
4722 | |
4723 ;;;###autoload | |
4724 (defun pr-ps-fast-fire (n-up &optional select) | |
4725 "Fast fire function for PostScript printing. | |
4726 | |
4727 If a region is active, the region will be printed instead of the whole buffer. | |
4728 Also if the current major-mode is defined in `pr-mode-alist', the settings in | |
4729 `pr-mode-alist' will be used, that is, the current buffer or region will be | |
4730 printed using `pr-ps-mode-ps-print'. | |
4731 | |
4732 | |
4733 Interactively, you have the following situations: | |
4734 | |
4735 M-x pr-ps-fast-fire RET | |
4736 The command prompts the user for a N-UP value and printing will | |
4737 immediatelly be done using the current active printer. | |
4738 | |
4739 C-u M-x pr-ps-fast-fire RET | |
4740 C-u 0 M-x pr-ps-fast-fire RET | |
4741 The command prompts the user for a N-UP value and also for a current | |
4742 PostScript printer, then printing will immediatelly be done using the new | |
4743 current active printer. | |
4744 | |
4745 C-u 1 M-x pr-ps-fast-fire RET | |
4746 The command prompts the user for a N-UP value and also for a file name, | |
4747 and saves the PostScript image in that file instead of sending it to the | |
4748 printer. | |
4749 | |
4750 C-u 2 M-x pr-ps-fast-fire RET | |
4751 The command prompts the user for a N-UP value, then for a current | |
4752 PostScript printer and, finally, for a file name. Then change the active | |
77718
1142d0b0c510
(pr-ps-fast-fire): Fix typos in docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
75712
diff
changeset
|
4753 printer to that chosen by user and saves the PostScript image in |
49646 | 4754 that file instead of sending it to the printer. |
4755 | |
4756 | |
4757 Noninteractively, the argument N-UP should be a positive integer greater than | |
4758 zero and the argument SELECT is treated as follows: | |
4759 | |
4760 If it's nil, send the image to the printer. | |
4761 | |
4762 If it's a list or an integer lesser or equal to zero, the command prompts | |
4763 the user for a current PostScript printer, then printing will immediatelly | |
4764 be done using the new current active printer. | |
4765 | |
4766 If it's an integer equal to 1, the command prompts the user for a file name | |
4767 and saves the PostScript image in that file instead of sending it to the | |
4768 printer. | |
4769 | |
4770 If it's an integer greater or equal to 2, the command prompts the user for a | |
4771 current PostScript printer and for a file name. Then change the active | |
77718
1142d0b0c510
(pr-ps-fast-fire): Fix typos in docstring.
Juanma Barranquero <lekktu@gmail.com>
parents:
75712
diff
changeset
|
4772 printer to that chosen by user and saves the PostScript image in that file |
49646 | 4773 instead of sending it to the printer. |
4774 | |
4775 If it's a symbol which it's defined in `pr-ps-printer-alist', it's the new | |
4776 active printer and printing will immediatelly be done using the new active | |
4777 printer. | |
4778 | |
4779 Otherwise, send the image to the printer. | |
4780 | |
4781 | |
4782 Note that this command always behaves as if `pr-auto-region' and `pr-auto-mode' | |
4783 are both set to t." | |
4784 (interactive (list (pr-interactive-n-up (pr-prompt-gs "PS print fast")) | |
4785 current-prefix-arg)) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4786 (let ((pr-auto-region t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4787 (pr-auto-mode t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4788 filename) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4789 (cond ((null select)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4790 ((listp select) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4791 (pr-ps-name)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4792 ((and (symbolp select) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4793 (assq select pr-ps-printer-alist)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4794 (pr-menu-set-ps-title select)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4795 ((integerp select) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4796 (and (/= select 1) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4797 (pr-ps-name)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4798 (and (>= select 1) (not pr-spool-p) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4799 (setq filename (pr-ps-outfile-preprint |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4800 (if pr-print-using-ghostscript |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4801 "Fast GS " |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4802 "Fast ")))))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4803 (pr-ps-buffer-ps-print |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4804 (if (integerp n-up) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4805 (min (max n-up 1) 100) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4806 (error "n-up must be an integer greater than zero")) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4807 filename))) |
49646 | 4808 |
4809 | |
4810 ;;;###autoload | |
4811 (defun pr-txt-fast-fire (&optional select-printer) | |
4812 "Fast fire function for text printing. | |
4813 | |
4814 If a region is active, the region will be printed instead of the whole buffer. | |
4815 Also if the current major-mode is defined in `pr-mode-alist', the settings in | |
4816 `pr-mode-alist' will be used, that is, the current buffer or region will be | |
4817 printed using `pr-txt-mode'. | |
4818 | |
4819 Interactively, when you use a prefix argument (C-u), the command prompts the | |
4820 user for a new active text printer. | |
4821 | |
4822 Noninteractively, the argument SELECT-PRINTER is treated as follows: | |
4823 | |
4824 If it's nil, the printing is sent to the current active text printer. | |
4825 | |
4826 If it's a symbol which it's defined in `pr-txt-printer-alist', it's the new | |
4827 active printer and printing will immediatelly be done using the new active | |
4828 printer. | |
4829 | |
4830 If it's non-nil, the command prompts the user for a new active text printer. | |
4831 | |
4832 Note that this command always behaves as if `pr-auto-region' and `pr-auto-mode' | |
4833 are both set to t." | |
4834 (interactive (list current-prefix-arg)) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4835 (cond ((null select-printer)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4836 ((and (symbolp select-printer) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4837 (assq select-printer pr-txt-printer-alist)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4838 (pr-menu-set-txt-title select-printer)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4839 (t |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4840 (pr-txt-name))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4841 (let ((pr-auto-region t) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4842 (pr-auto-mode t)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
4843 (pr-txt-buffer))) |
49646 | 4844 |
4845 | |
4846 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
4847 ;; Utilities | |
4848 | |
4849 | |
4850 (defun pr-setup () | |
4851 "Return the current `printing' setup. | |
4852 | |
4853 This is *not* an interactive command. | |
4854 One way to see `printing' setup is to switch to a *Scratch* buffer and type: | |
4855 | |
4856 M-: (insert (pr-setup)) RET | |
4857 | |
4858 Or choose the menu option Printing/Show Settings/printing." | |
4859 (let (ps-prefix-quote) | |
4860 (mapconcat | |
4861 #'ps-print-quote | |
4862 (list | |
4863 (concat "\n;;; printing.el version " pr-version "\n") | |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4864 ";; internal vars" |
58408
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4865 (ps-comment-string "emacs-version " emacs-version) |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4866 (ps-comment-string "pr-txt-command " pr-txt-command) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4867 (ps-comment-string "pr-txt-switches " |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4868 (pr-switches-string pr-txt-switches "pr-txt-switches")) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4869 (ps-comment-string "pr-txt-printer " pr-txt-printer) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4870 (ps-comment-string "pr-ps-command " pr-ps-command) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4871 (ps-comment-string "pr-ps-switches " |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4872 (pr-switches-string pr-ps-switches "pr-ps-switches")) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4873 (ps-comment-string "pr-ps-printer-switch" pr-ps-printer-switch) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4874 (ps-comment-string "pr-ps-printer " pr-ps-printer) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4875 (ps-comment-string "pr-cygwin-system " pr-cygwin-system) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4876 (ps-comment-string "ps-windows-system " ps-windows-system) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4877 (ps-comment-string "ps-lp-system " ps-lp-system) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4878 nil |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4879 '(14 . pr-path-style) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
4880 '(14 . pr-path-alist) |
49646 | 4881 nil |
4882 '(21 . pr-txt-name) | |
4883 '(21 . pr-txt-printer-alist) | |
4884 nil | |
4885 '(20 . pr-ps-name) | |
4886 '(20 . pr-ps-printer-alist) | |
4887 nil | |
4888 '(20 . pr-temp-dir) | |
4889 '(20 . pr-ps-temp-file) | |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
4890 '(20 . pr-file-modes) |
49646 | 4891 '(20 . pr-delete-temp-file) |
4892 '(20 . pr-list-directory) | |
4893 nil | |
4894 '(17 . pr-gv-command) | |
4895 '(17 . pr-gs-command) | |
4896 '(17 . pr-gs-switches) | |
4897 '(17 . pr-gs-device) | |
4898 '(17 . pr-gs-resolution) | |
4899 nil | |
4900 '(27 . pr-print-using-ghostscript) | |
4901 '(27 . pr-faces-p) | |
4902 '(27 . pr-spool-p) | |
4903 '(27 . pr-file-landscape) | |
4904 '(27 . pr-file-duplex) | |
4905 '(27 . pr-file-tumble) | |
4906 '(27 . pr-auto-region) | |
4907 '(27 . pr-auto-mode) | |
4908 nil | |
4909 '(20 . pr-ps-utility) | |
4910 '(20 . pr-ps-utility-alist) | |
4911 nil | |
4912 '(14 . pr-mode-alist) | |
4913 nil | |
4914 '(20 . pr-menu-lock) | |
4915 '(20 . pr-menu-char-height) | |
4916 '(20 . pr-menu-char-width) | |
4917 nil | |
4918 '(20 . pr-setting-database) | |
4919 nil | |
4920 '(22 . pr-visible-entry-list) | |
4921 nil | |
4922 '(22 . pr-buffer-verbose) | |
4923 '(22 . pr-buffer-name) | |
4924 '(22 . pr-buffer-name-ignore) | |
4925 ")\n\n;;; printing.el - end of settings\n") | |
4926 "\n"))) | |
4927 | |
4928 | |
4929 (defun lpr-setup () | |
4930 "Return the current `lpr' setup. | |
4931 | |
4932 This is *not* an interactive command. | |
4933 One way to see `lpr' setup is to switch to a *Scratch* buffer and type: | |
4934 | |
4935 M-: (insert (lpr-setup)) RET | |
4936 | |
4937 Or choose the menu option Printing/Show Settings/lpr." | |
4938 (let (ps-prefix-quote) | |
4939 (mapconcat | |
4940 #'ps-print-quote | |
58408
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4941 (list |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4942 "\n;;; lpr.el settings\n" |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4943 (ps-comment-string "emacs-version" emacs-version) |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4944 nil |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4945 '(25 . printer-name) |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4946 '(25 . lpr-switches) |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4947 '(25 . lpr-add-switches) |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4948 '(25 . lpr-command) |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4949 '(25 . lpr-headers-switches) |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4950 '(25 . print-region-function) |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4951 '(25 . lpr-page-header-program) |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4952 '(25 . lpr-page-header-switches) |
6b5846d74ff0
pr-setup & lpr-setup
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58306
diff
changeset
|
4953 ")\n\n;;; lpr.el - end of settings\n") |
49646 | 4954 "\n"))) |
4955 | |
4956 | |
4957 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
4958 ;; mh-e (adapted from mh-e-init.el -- Tom Vogels <tov@ece.cmu.edu>) | |
4959 | |
4960 | |
4961 (defalias 'pr-mh-get-msg-num 'mh-get-msg-num) | |
4962 (defalias 'pr-mh-show 'mh-show) | |
4963 (defalias 'pr-mh-start-of-uncleaned-message 'mh-start-of-uncleaned-message) | |
4964 (defvar mh-show-buffer nil) | |
4965 | |
4966 | |
4967 (defun pr-article-date () | |
4968 "Find the date of an article or mail message in current buffer. | |
4969 Return only the dayname, if present, weekday, month, and year." | |
4970 (save-excursion | |
4971 (goto-char (point-min)) | |
4972 (if (re-search-forward | |
4973 "^Date:[ \t]+\\(\\([A-Za-z]+, \\)?[0-9]+ [A-Za-z]+ [0-9]+\\)" nil t) | |
4974 (buffer-substring (match-beginning 1) (match-end 1)) | |
4975 (format-time-string "%Y/%m/%d")))) | |
4976 | |
4977 | |
4978 (defun pr-mh-current-message () | |
4979 "Go to mh-inbox current message." | |
4980 (let ((msg (or (pr-mh-get-msg-num nil) 0))) | |
4981 (pr-mh-show) | |
4982 (set-buffer mh-show-buffer) | |
4983 (goto-char (point-min)) | |
4984 (pr-mh-start-of-uncleaned-message) | |
4985 (message "Printing message %d" msg))) | |
4986 | |
4987 | |
4988 (defun pr-mh-print-1 (n-up filename header-list) | |
4989 "Print mh-inbox current message in PostScript." | |
4990 (save-excursion | |
4991 (save-window-excursion | |
4992 (pr-mh-current-message) | |
4993 (pr-mode-print n-up filename header-list (point))))) | |
4994 | |
4995 | |
4996 (defun pr-mh-lpr-1 (header-list) | |
4997 "Print mh-inbox current message in text printer." | |
4998 (save-excursion | |
4999 (save-window-excursion | |
5000 (pr-mh-current-message) | |
5001 (pr-mode-lpr header-list (point))))) | |
5002 | |
5003 | |
5004 (defalias 'pr-mh-print-2 'pr-mode-print) | |
5005 | |
5006 | |
5007 (defalias 'pr-mh-lpr-2 'pr-mode-lpr) | |
5008 | |
5009 | |
5010 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
5011 ;; rmail (hacked from ps-print.el) | |
5012 | |
5013 | |
5014 (defun pr-rmail-lpr (header-list) | |
5015 "Print RMAIL current message in text printer." | |
5016 (pr-lpr-message-from-summary header-list | |
5017 'rmail-buffer 'rmail-summary-buffer)) | |
5018 | |
5019 | |
5020 (defun pr-rmail-print (n-up filename header-list) | |
5021 "Print RMAIL current message in PostScript." | |
5022 (pr-ps-message-from-summary n-up filename header-list | |
5023 'rmail-buffer 'rmail-summary-buffer)) | |
5024 | |
5025 | |
5026 (defun pr-ps-message-from-summary (n-up filename header-list | |
5027 summary-buffer summary-default) | |
5028 "Print current message in PostScript." | |
5029 (let ((buf (or (and (boundp summary-buffer) | |
5030 (symbol-value summary-buffer)) | |
5031 (symbol-value summary-default)))) | |
5032 (and (get-buffer buf) | |
5033 (save-excursion | |
5034 (set-buffer buf) | |
5035 (pr-mode-print n-up filename header-list))))) | |
5036 | |
5037 | |
5038 (defun pr-lpr-message-from-summary (header-list summary-buffer summary-default) | |
5039 "Print current message in text printer." | |
5040 (let ((buf (or (and (boundp summary-buffer) | |
5041 (symbol-value summary-buffer)) | |
5042 (symbol-value summary-default)))) | |
5043 (and (get-buffer buf) | |
5044 (save-excursion | |
5045 (set-buffer buf) | |
5046 (pr-mode-lpr header-list))))) | |
5047 | |
5048 | |
5049 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
5050 ;; gnus (hacked from ps-print.el) | |
5051 | |
5052 | |
5053 (defvar pr-gnus-article "*Article*") | |
5054 | |
5055 | |
5056 (defun pr-gnus-print (n-up filename header-list) | |
5057 "Print *Article* current message in PostScript." | |
5058 (pr-ps-message-from-summary n-up filename header-list | |
5059 'gnus-article-buffer 'pr-gnus-article)) | |
5060 | |
5061 | |
5062 (defun pr-gnus-lpr (header-list) | |
5063 "Print *Article* current message in text printer." | |
5064 (pr-lpr-message-from-summary header-list | |
5065 'gnus-article-buffer 'pr-gnus-article)) | |
5066 | |
5067 | |
5068 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
5069 ;; vm (hacked from ps-print.el) | |
5070 | |
5071 | |
5072 (defvar pr-vm-summary "") | |
5073 | |
5074 | |
5075 (defun pr-vm-print (n-up filename header-list) | |
5076 "Print current vm message in PostScript." | |
5077 (pr-ps-message-from-summary n-up filename header-list | |
5078 'vm-mail-buffer 'pr-vm-summary)) | |
5079 | |
5080 | |
5081 (defun pr-vm-lpr (header-list) | |
5082 "Print current vm message in text printer." | |
5083 (pr-lpr-message-from-summary header-list | |
5084 'vm-mail-buffer 'pr-vm-summary)) | |
5085 | |
5086 | |
5087 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
5088 ;; Mode Functions | |
5089 | |
5090 | |
5091 (defun pr-ps-mode (n-up filename) | |
5092 "If current major mode is declared, print it in PostScript." | |
5093 (let ((args (pr-mode-alist-p))) | |
5094 (if args | |
5095 (let ((fun (cdr args))) | |
5096 (funcall (car fun) n-up filename (cdr fun)) | |
5097 t) | |
5098 (ding) | |
5099 (message "`%s' major mode not declared." major-mode) | |
5100 nil))) | |
5101 | |
5102 | |
5103 (defmacro pr-local-variable (header-list &rest body) | |
5104 `(save-excursion | |
5105 (let ((ps-header-lines (or (nth 0 ,header-list) ps-header-lines)) | |
5106 (ps-left-header (or (nth 1 ,header-list) ps-left-header)) | |
5107 (ps-right-header (or (nth 2 ,header-list) ps-right-header)) | |
5108 ps-razzle-dazzle) | |
5109 (let ((local-var-list (pr-eval-local-alist (nthcdr 4 ,header-list)))) | |
5110 ,@body | |
5111 (and (nth 3 ,header-list) | |
5112 (pr-kill-local-variable local-var-list)))))) | |
5113 | |
5114 | |
5115 (defun pr-mode-print (n-up filename header-list &optional from to) | |
5116 "Print current major mode in PostScript." | |
5117 (pr-local-variable | |
5118 header-list | |
5119 (let ((file (pr-ps-file filename)) | |
5120 (start (cond (from) | |
5121 ((pr-region-active-p) (region-beginning)) | |
5122 (t nil) | |
5123 ))) | |
5124 (pr-text2ps (pr-region-active-symbol start) n-up file start | |
5125 (cond (to) | |
5126 ((pr-region-active-p) (region-end)) | |
5127 (from (point-max)) | |
5128 )) | |
5129 (unless (or pr-spool-p filename) | |
5130 (pr-ps-file-print file) | |
5131 (pr-delete-file file))))) | |
5132 | |
5133 | |
5134 (defun pr-mode-lpr (header-list &optional from to) | |
5135 "Print current major mode in text printer." | |
5136 (pr-local-variable | |
5137 header-list | |
5138 (pr-txt-print (cond (from) | |
5139 ((pr-region-active-p) (region-beginning)) | |
5140 (t (point-min))) | |
5141 (cond (to) | |
5142 ((pr-region-active-p) (region-end)) | |
5143 (t (point-max)))))) | |
5144 | |
5145 | |
5146 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
5147 ;; Menu Lock | |
5148 | |
5149 | |
5150 (defconst pr-menu-entry-alist | |
5151 '((postscript . 3) | |
5152 (text . 3) | |
5153 (postscript-options . 9) | |
5154 (postscript-process . 3) | |
5155 (printing . 3) | |
5156 (help . 3) | |
5157 ) | |
5158 "Alist that associates menu part with number of items per part. | |
5159 | |
5160 It's used by `pr-menu-index'. | |
5161 | |
5162 Each element has the form: | |
5163 | |
5164 (MENU-PART . NUMBER-OF-ITEMS) | |
5165 | |
5166 See `pr-visible-entry-alist'.") | |
5167 | |
5168 | |
5169 (defun pr-menu-index (entry index) | |
5170 (let ((base-list | |
5171 (cond ((eq entry 'text) | |
5172 '(postscript)) | |
5173 ((eq entry 'postscript-options) | |
5174 '(postscript text)) | |
5175 ((eq entry 'postscript-process) | |
5176 '(postscript text postscript-options)) | |
5177 ((eq entry 'printing) | |
5178 '(postscript text postscript-options postscript-process)) | |
5179 (t | |
5180 nil) | |
5181 )) | |
5182 key) | |
5183 (while base-list | |
5184 (setq key (car base-list) | |
5185 base-list (cdr base-list)) | |
5186 (and (pr-visible-p key) | |
5187 (setq index (+ index | |
5188 (cdr (assq key pr-menu-entry-alist))))))) | |
5189 (+ index 2)) | |
5190 | |
5191 | |
5192 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
5193 ;; Printer & Utility Selection | |
5194 | |
5195 | |
5196 (defun pr-update-var (var-sym alist) | |
5197 (or (assq (symbol-value var-sym) alist) | |
5198 (set var-sym (car (car alist))))) | |
5199 | |
5200 | |
5201 (defun pr-update-menus (&optional force) | |
5202 "Update utility, PostScript and text printer menus. | |
5203 | |
5204 If FORCE is non-nil, update menus doesn't matter if `pr-ps-printer-alist', | |
5205 `pr-txt-printer-alist' or `pr-ps-utility-alist' were modified or not; | |
78492
7c8949dbfa0d
Replace `iff' in doc-strings and comments.
Glenn Morris <rgm@gnu.org>
parents:
78433
diff
changeset
|
5206 otherwise, update PostScript printer menu if `pr-ps-printer-menu-modified' is |
7c8949dbfa0d
Replace `iff' in doc-strings and comments.
Glenn Morris <rgm@gnu.org>
parents:
78433
diff
changeset
|
5207 non-nil, update text printer menu if `pr-txt-printer-menu-modified' is |
7c8949dbfa0d
Replace `iff' in doc-strings and comments.
Glenn Morris <rgm@gnu.org>
parents:
78433
diff
changeset
|
5208 non-nil, and update PostScript File menus if `pr-ps-utility-menu-modified' is |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5209 non-nil. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5210 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5211 If menu binding was not done, calls `pr-menu-bind'." |
54621
14d929e67a70
Modify interactive declaration.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54333
diff
changeset
|
5212 (interactive "P") |
63328
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5213 (if pr-menu-print-item ; since v6.8.4 |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5214 ;; There was no menu binding yet, so do it now! |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5215 ;; This is a hack to be compatible with old versions of printing. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5216 ;; So, user does not need to change printing calling in init files. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5217 (pr-menu-bind) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5218 ;; Here menu binding is ok. |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5219 (pr-update-var 'pr-ps-name pr-ps-printer-alist) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5220 (pr-update-var 'pr-txt-name pr-txt-printer-alist) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5221 (pr-update-var 'pr-ps-utility pr-ps-utility-alist) |
af5c15bf9ea0
printing v6.8.4
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
63059
diff
changeset
|
5222 (pr-do-update-menus force))) |
49646 | 5223 |
5224 | |
5225 (defun pr-menu-create (name alist var-sym fun entry index) | |
5226 (cons name | |
5227 (mapcar | |
5228 #'(lambda (elt) | |
5229 (let ((sym (car elt))) | |
5230 (vector | |
5231 (symbol-name sym) | |
5232 (list fun (list 'quote sym) nil (list 'quote entry) index) | |
5233 :style 'radio | |
5234 :selected (list 'eq var-sym (list 'quote sym))))) | |
5235 alist))) | |
5236 | |
5237 | |
5238 (defun pr-ps-set-utility (value) | |
5239 (let ((item (cdr (assq value pr-ps-utility-alist)))) | |
5240 (or item | |
5241 (error | |
56578
a36e2d80b510
(toplevel, pr-ps-fast-fire, pr-ps-set-utility)
John Paul Wallington <jpw@pobox.com>
parents:
56493
diff
changeset
|
5242 "Invalid PostScript utility name `%s' for variable `pr-ps-utility'" |
49646 | 5243 value)) |
5244 (setq pr-ps-utility value) | |
5245 (pr-eval-alist (nthcdr 9 item))) | |
5246 (pr-update-mode-line)) | |
5247 | |
5248 | |
5249 (defun pr-ps-set-printer (value) | |
5250 (let ((ps (cdr (assq value pr-ps-printer-alist)))) | |
5251 (or ps | |
5252 (error | |
56578
a36e2d80b510
(toplevel, pr-ps-fast-fire, pr-ps-set-utility)
John Paul Wallington <jpw@pobox.com>
parents:
56493
diff
changeset
|
5253 "Invalid PostScript printer name `%s' for variable `pr-ps-name'" |
49646 | 5254 value)) |
5255 (setq pr-ps-name value | |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
5256 pr-ps-command (pr-dosify-file-name (nth 0 ps)) |
49646 | 5257 pr-ps-switches (nth 1 ps) |
5258 pr-ps-printer-switch (nth 2 ps) | |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5259 pr-ps-printer (nth 3 ps)) |
49646 | 5260 (or (stringp pr-ps-command) |
5261 (setq pr-ps-command | |
5262 (cond (ps-windows-system "print") | |
5263 (ps-lp-system "lp") | |
5264 (t "lpr") | |
5265 ))) | |
5266 (or (stringp pr-ps-printer-switch) | |
5267 (setq pr-ps-printer-switch | |
5268 (cond (ps-windows-system "/D:") | |
5269 (ps-lp-system "-d") | |
5270 (t "-P") | |
5271 ))) | |
5272 (pr-eval-alist (nthcdr 4 ps))) | |
5273 (pr-update-mode-line)) | |
5274 | |
5275 | |
5276 (defun pr-txt-set-printer (value) | |
5277 (let ((txt (cdr (assq value pr-txt-printer-alist)))) | |
5278 (or txt | |
56578
a36e2d80b510
(toplevel, pr-ps-fast-fire, pr-ps-set-utility)
John Paul Wallington <jpw@pobox.com>
parents:
56493
diff
changeset
|
5279 (error "Invalid text printer name `%s' for variable `pr-txt-name'" |
49646 | 5280 value)) |
5281 (setq pr-txt-name value | |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
5282 pr-txt-command (pr-dosify-file-name (nth 0 txt)) |
49646 | 5283 pr-txt-switches (nth 1 txt) |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5284 pr-txt-printer (nth 2 txt))) |
49646 | 5285 (or (stringp pr-txt-command) |
5286 (setq pr-txt-command | |
5287 (cond (ps-windows-system "print") | |
5288 (ps-lp-system "lp") | |
5289 (t "lpr") | |
5290 ))) | |
5291 (pr-update-mode-line)) | |
5292 | |
5293 | |
5294 (defun pr-eval-alist (alist) | |
5295 (mapcar #'(lambda (option) | |
5296 (let ((var-sym (car option)) | |
5297 (value (cdr option))) | |
5298 (if (eq var-sym 'inherits-from:) | |
5299 (pr-eval-setting-alist value 'global) | |
5300 (set var-sym (eval value))))) | |
5301 alist)) | |
5302 | |
5303 | |
5304 (defun pr-eval-local-alist (alist) | |
5305 (let (local-list) | |
84876
0755bdd211b9
(pr-eval-local-alist, pr-eval-setting-alist): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
82295
diff
changeset
|
5306 (mapc #'(lambda (option) |
0755bdd211b9
(pr-eval-local-alist, pr-eval-setting-alist): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
82295
diff
changeset
|
5307 (let ((var-sym (car option)) |
0755bdd211b9
(pr-eval-local-alist, pr-eval-setting-alist): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
82295
diff
changeset
|
5308 (value (cdr option))) |
0755bdd211b9
(pr-eval-local-alist, pr-eval-setting-alist): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
82295
diff
changeset
|
5309 (setq local-list |
0755bdd211b9
(pr-eval-local-alist, pr-eval-setting-alist): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
82295
diff
changeset
|
5310 (if (eq var-sym 'inherits-from:) |
0755bdd211b9
(pr-eval-local-alist, pr-eval-setting-alist): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
82295
diff
changeset
|
5311 (nconc (pr-eval-setting-alist value) local-list) |
0755bdd211b9
(pr-eval-local-alist, pr-eval-setting-alist): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
82295
diff
changeset
|
5312 (set (make-local-variable var-sym) (eval value)) |
0755bdd211b9
(pr-eval-local-alist, pr-eval-setting-alist): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
82295
diff
changeset
|
5313 (cons var-sym local-list))))) |
0755bdd211b9
(pr-eval-local-alist, pr-eval-setting-alist): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
82295
diff
changeset
|
5314 alist) |
49646 | 5315 local-list)) |
5316 | |
5317 | |
5318 (defun pr-eval-setting-alist (key &optional global old) | |
5319 (let ((setting (cdr (assq key pr-setting-database)))) | |
5320 (and setting | |
5321 (let ((inherits (nth 0 setting)) | |
5322 (local (nth 1 setting)) | |
5323 (kill (nth 2 setting)) | |
5324 local-list) | |
5325 (and local global | |
5326 (progn | |
5327 (ding) | |
5328 (message "There are local buffer settings for `%S'." key) | |
5329 (setq global nil))) | |
5330 (and inherits | |
5331 (if (memq inherits old) | |
56578
a36e2d80b510
(toplevel, pr-ps-fast-fire, pr-ps-set-utility)
John Paul Wallington <jpw@pobox.com>
parents:
56493
diff
changeset
|
5332 (error "Circular inheritance for `%S'" inherits) |
49646 | 5333 (setq local-list |
5334 (pr-eval-setting-alist inherits global | |
5335 (cons inherits old))))) | |
84876
0755bdd211b9
(pr-eval-local-alist, pr-eval-setting-alist): Use `mapc' rather than `mapcar'.
Juanma Barranquero <lekktu@gmail.com>
parents:
82295
diff
changeset
|
5336 (mapc |
49646 | 5337 (cond ((not local) ; global settings |
5338 #'(lambda (option) | |
5339 (let ((var-sym (car option))) | |
5340 (or (eq var-sym 'inherits-from:) | |
5341 (set var-sym (eval (cdr option))))))) | |
5342 (kill ; local settings with killing | |
5343 #'(lambda (option) | |
5344 (let ((var-sym (car option))) | |
5345 (unless (eq var-sym 'inherits-from:) | |
5346 (setq local-list (cons var-sym local-list)) | |
5347 (set (make-local-variable var-sym) | |
5348 (eval (cdr option))))))) | |
5349 (t ; local settings without killing | |
5350 #'(lambda (option) | |
5351 (let ((var-sym (car option))) | |
5352 (or (eq var-sym 'inherits-from:) | |
5353 (set (make-local-variable var-sym) | |
5354 (eval (cdr option)))))))) | |
5355 (nthcdr 3 setting)) | |
5356 local-list)))) | |
5357 | |
5358 | |
5359 (defun pr-kill-local-variable (local-var-list) | |
5360 (mapcar 'kill-local-variable local-var-list)) | |
5361 | |
5362 | |
5363 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
5364 ;; Internal Functions (II) | |
5365 | |
5366 | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5367 (defun pr-toggle (var-sym mess entry index horizontal state |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5368 &optional path no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5369 (set var-sym (not (symbol-value var-sym))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5370 (message "%s is %s" mess (if (symbol-value var-sym) "on" "off")) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5371 (or no-menu |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5372 (pr-menu-lock entry index horizontal state path))) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5373 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5374 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5375 (defun pr-toggle-file-duplex-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5376 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5377 (pr-toggle 'pr-file-duplex "PS file duplex" nil 7 5 nil |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5378 '("PostScript Print" "File") no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5379 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5380 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5381 (defun pr-toggle-file-tumble-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5382 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5383 (pr-toggle 'pr-file-tumble "PS file tumble" nil 8 5 nil |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5384 '("PostScript Print" "File") no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5385 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5386 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5387 (defun pr-toggle-file-landscape-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5388 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5389 (pr-toggle 'pr-file-landscape "PS file landscape" nil 6 5 nil |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5390 '("PostScript Print" "File") no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5391 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5392 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5393 (defun pr-toggle-ghostscript-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5394 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5395 (pr-toggle 'pr-print-using-ghostscript "Printing using ghostscript" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5396 'postscript-process 2 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5397 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5398 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5399 (defun pr-toggle-faces-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5400 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5401 (pr-toggle 'pr-faces-p "Printing with faces" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5402 'postscript-process 1 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5403 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5404 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5405 (defun pr-toggle-spool-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5406 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5407 (pr-toggle 'pr-spool-p "Spooling printing" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5408 'postscript-process 0 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5409 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5410 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5411 (defun pr-toggle-duplex-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5412 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5413 (pr-toggle 'ps-spool-duplex "Printing duplex" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5414 'postscript-options 5 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5415 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5416 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5417 (defun pr-toggle-tumble-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5418 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5419 (pr-toggle 'ps-spool-tumble "Tumble" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5420 'postscript-options 6 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5421 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5422 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5423 (defun pr-toggle-landscape-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5424 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5425 (pr-toggle 'ps-landscape-mode "Landscape" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5426 'postscript-options 0 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5427 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5428 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5429 (defun pr-toggle-upside-down-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5430 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5431 (pr-toggle 'ps-print-upside-down "Upside-Down" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5432 'postscript-options 7 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5433 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5434 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5435 (defun pr-toggle-line-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5436 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5437 (pr-toggle 'ps-line-number "Line number" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5438 'postscript-options 3 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5439 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5440 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5441 (defun pr-toggle-zebra-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5442 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5443 (pr-toggle 'ps-zebra-stripes "Zebra stripe" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5444 'postscript-options 4 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5445 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5446 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5447 (defun pr-toggle-header-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5448 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5449 (pr-toggle 'ps-print-header "Print header" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5450 'postscript-options 1 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5451 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5452 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5453 (defun pr-toggle-header-frame-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5454 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5455 (pr-toggle 'ps-print-header-frame "Print header frame" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5456 'postscript-options 2 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5457 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5458 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5459 (defun pr-toggle-lock-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5460 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5461 (pr-toggle 'pr-menu-lock "Menu lock" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5462 'printing 2 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5463 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5464 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5465 (defun pr-toggle-region-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5466 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5467 (pr-toggle 'pr-auto-region "Auto region" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5468 'printing 0 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5469 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5470 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5471 (defun pr-toggle-mode-menu (&optional no-menu) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5472 (interactive) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5473 (pr-toggle 'pr-auto-mode "Auto mode" |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5474 'printing 1 12 'toggle nil no-menu)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5475 |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5476 |
49646 | 5477 (defun pr-prompt (str) |
5478 (if (pr-auto-mode-p) | |
5479 (concat str " mode") | |
5480 (pr-region-active-string str))) | |
5481 | |
5482 | |
5483 (defun pr-prompt-region (str) | |
5484 (concat str (if (pr-auto-mode-p) | |
5485 " mode" | |
5486 " region"))) | |
5487 | |
5488 | |
5489 (defun pr-prompt-gs (str) | |
5490 (if (pr-using-ghostscript-p) | |
5491 (concat str " GS") | |
5492 str)) | |
5493 | |
5494 | |
5495 (defun pr-region-active-symbol (&optional region-p) | |
5496 (if (or region-p (pr-region-active-p)) | |
5497 'region | |
5498 'buffer)) | |
5499 | |
5500 | |
5501 (defun pr-region-active-string (prefix) | |
5502 (concat prefix | |
5503 (if (pr-region-active-p) | |
5504 " region" | |
5505 " buffer"))) | |
5506 | |
5507 | |
5508 (defun pr-show-setup (settings buffer-name) | |
5509 (with-output-to-temp-buffer buffer-name | |
5510 (princ settings) | |
5511 (print-help-return-message))) | |
5512 | |
5513 | |
5514 (defun pr-complete-alist (prompt alist default) | |
5515 (let ((collection (mapcar #'(lambda (elt) | |
5516 (setq elt (car elt)) | |
5517 (cons (symbol-name elt) elt)) | |
5518 alist))) | |
5519 (cdr (assoc (completing-read (concat prompt ": ") | |
5520 collection nil t | |
5521 (symbol-name default) nil | |
5522 (symbol-name default)) | |
5523 collection)))) | |
5524 | |
5525 | |
5526 (defun pr-delete-file (file) | |
57241
e53d659f0afd
Check if file exists before deleting it.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
57187
diff
changeset
|
5527 (and pr-delete-temp-file (file-exists-p file) |
e53d659f0afd
Check if file exists before deleting it.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
57187
diff
changeset
|
5528 (delete-file file))) |
49646 | 5529 |
5530 | |
5531 (defun pr-expand-file-name (filename) | |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
5532 (pr-dosify-file-name (expand-file-name filename))) |
49646 | 5533 |
5534 | |
5535 (defun pr-ps-outfile-preprint (&optional mess) | |
5536 (let* ((prompt (format "%soutput PostScript file name: " (or mess ""))) | |
5537 (res (read-file-name prompt default-directory "" nil))) | |
5538 (while (cond ((not (file-writable-p res)) | |
5539 (ding) | |
5540 (setq prompt "is unwritable")) | |
5541 ((file-directory-p res) | |
5542 (ding) | |
5543 (setq prompt "is a directory")) | |
5544 ((file-exists-p res) | |
5545 (ding) | |
5546 (setq prompt "exists") | |
5547 (not (y-or-n-p (format "File `%s' exists; overwrite? " | |
5548 res)))) | |
5549 (t nil)) | |
5550 (setq res (read-file-name | |
5551 (format "File %s; PostScript file: " prompt) | |
5552 (file-name-directory res) nil nil | |
5553 (file-name-nondirectory res)))) | |
5554 (pr-expand-file-name res))) | |
5555 | |
5556 | |
5557 (defun pr-ps-infile-preprint (&optional mess) | |
5558 (let* ((prompt (format "%sinput PostScript file name: " (or mess ""))) | |
5559 (res (read-file-name prompt default-directory "" nil))) | |
5560 (while (cond ((not (file-exists-p res)) | |
5561 (ding) | |
5562 (setq prompt "doesn't exist")) | |
5563 ((not (file-readable-p res)) | |
5564 (ding) | |
5565 (setq prompt "is unreadable")) | |
5566 ((file-directory-p res) | |
5567 (ding) | |
5568 (setq prompt "is a directory")) | |
5569 (t nil)) | |
5570 (setq res (read-file-name | |
5571 (format "File %s; PostScript file: " prompt) | |
5572 (file-name-directory res) nil nil | |
5573 (file-name-nondirectory res)))) | |
5574 (pr-expand-file-name res))) | |
5575 | |
5576 | |
5577 (defun pr-ps-utility-args (n-up-sym infile-sym outfile-sym prompt) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5578 ;; check arguments for PostScript file processing. |
49646 | 5579 ;; n-up |
5580 (or (symbol-value n-up-sym) | |
5581 (set n-up-sym (pr-interactive-n-up prompt))) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5582 ;; input file |
49646 | 5583 (and (eq (symbol-value infile-sym) t) |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5584 (set infile-sym (pr-ps-infile-preprint prompt))) |
49646 | 5585 (or (symbol-value infile-sym) |
5586 (error "%s: input PostScript file name is missing" prompt)) | |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
5587 (set infile-sym (pr-dosify-file-name (symbol-value infile-sym))) |
49646 | 5588 ;; output file |
5589 (and (eq (symbol-value outfile-sym) t) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5590 (set outfile-sym (and current-prefix-arg |
49646 | 5591 (pr-ps-outfile-preprint prompt)))) |
5592 (and (symbol-value outfile-sym) | |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
5593 (set outfile-sym (pr-dosify-file-name (symbol-value outfile-sym)))) |
49646 | 5594 (pr-ps-file (symbol-value outfile-sym))) |
5595 | |
5596 | |
5597 (defun pr-ps-utility-process (n-up infile outfile) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5598 ;; activate utility to process a PostScript file. |
49646 | 5599 (let (item) |
5600 (and (stringp infile) (file-exists-p infile) | |
5601 (setq item (cdr (assq pr-ps-utility pr-ps-utility-alist))) | |
56390
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5602 (pr-call-process (nth 0 item) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5603 (pr-switches-string (nth 1 item) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5604 "pr-ps-utility-alist entry") |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5605 (pr-switches-string (nth 8 item) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5606 "pr-ps-utility-alist entry") |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5607 (and (nth 2 item) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5608 (format (nth 2 item) ps-paper-type)) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5609 (format (nth 3 item) n-up) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5610 (and pr-file-landscape (nth 4 item)) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5611 (and pr-file-duplex (nth 5 item)) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5612 (and pr-file-tumble (nth 6 item)) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5613 (pr-expand-file-name infile) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5614 (nth 7 item) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5615 (pr-expand-file-name outfile))))) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5616 |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5617 |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5618 (defun pr-remove-nil-from-list (lst) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5619 (while (and lst (null (car lst))) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5620 (setq lst (cdr lst))) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5621 (let ((b lst) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5622 (l (cdr lst))) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5623 (while l |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5624 (if (car l) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5625 (setq b l |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5626 l (cdr l)) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5627 (setq l (cdr l)) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5628 (setcdr b l)))) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5629 lst) |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5630 |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5631 |
e97dd6ea9f71
It uses call-process instead shell-command
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54738
diff
changeset
|
5632 (defun pr-call-process (command &rest args) |
58241
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5633 (let ((buffer (get-buffer-create "*Printing Command Output*")) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5634 (cmd (pr-command command)) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5635 status) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5636 (setq args (pr-remove-nil-from-list args)) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5637 ;; *Printing Command Output* == show command & args |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5638 (save-excursion |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5639 (set-buffer buffer) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5640 (goto-char (point-max)) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5641 (insert (format "%s %S\n" cmd args))) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5642 ;; *Printing Command Output* == show any return message from command |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5643 (pr-save-file-modes |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5644 (setq status |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5645 (condition-case data |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5646 (apply 'call-process cmd nil buffer nil args) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5647 ((quit error) |
58241
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5648 (error-message-string data))))) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5649 ;; *Printing Command Output* == show exit status |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5650 (save-excursion |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5651 (set-buffer buffer) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5652 (goto-char (point-max)) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5653 (insert (format "Exit status: %s\n\n" status))) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5654 ;; message if error status |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5655 (if (or (stringp status) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5656 (and (integerp status) (/= status 0))) |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5657 (message |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5658 "Printing error status: %s (see *Printing Command Output* buffer)" |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5659 status)))) |
49646 | 5660 |
5661 | |
5662 (defun pr-txt-print (from to) | |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
5663 (let ((lpr-command (pr-standard-file-name (pr-command pr-txt-command))) |
49646 | 5664 (lpr-switches (pr-switches pr-txt-switches "pr-txt-switches")) |
5665 (printer-name pr-txt-printer)) | |
5666 (lpr-region from to))) | |
5667 | |
5668 | |
5669 (defun pr-switches-string (switches mess) | |
58241
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5670 ;; If SWITCHES is nil, return nil. |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5671 ;; Otherwise, return the list of string in a string. |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5672 (and switches |
4aa6d60fc66c
Fix typos & pr-switches-string
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58218
diff
changeset
|
5673 (mapconcat 'identity (pr-switches switches mess) " "))) |
49646 | 5674 |
5675 | |
5676 (defun pr-switches (switches mess) | |
5677 (or (listp switches) | |
56578
a36e2d80b510
(toplevel, pr-ps-fast-fire, pr-ps-set-utility)
John Paul Wallington <jpw@pobox.com>
parents:
56493
diff
changeset
|
5678 (error "%S should have a list of strings" mess)) |
49646 | 5679 (ps-flatten-list ; dynamic evaluation |
5680 (mapcar 'ps-eval-switch switches))) | |
5681 | |
5682 | |
5683 (defun pr-ps-preview (kind n-up filename mess) | |
5684 (pr-set-n-up-and-filename 'n-up 'filename mess) | |
5685 (let ((file (pr-ps-file filename))) | |
5686 (pr-text2ps kind n-up file) | |
5687 (or pr-spool-p (pr-ps-file-preview file)))) | |
5688 | |
5689 | |
5690 (defun pr-ps-using-ghostscript (kind n-up filename mess) | |
5691 (pr-set-n-up-and-filename 'n-up 'filename mess) | |
5692 (let ((file (pr-ps-file filename))) | |
5693 (pr-text2ps kind n-up file) | |
5694 (unless (or pr-spool-p filename) | |
5695 (pr-ps-file-using-ghostscript file) | |
5696 (pr-delete-file file)))) | |
5697 | |
5698 | |
5699 (defun pr-ps-print (kind n-up filename mess) | |
5700 (pr-set-n-up-and-filename 'n-up 'filename mess) | |
5701 (let ((file (pr-ps-file filename))) | |
5702 (pr-text2ps kind n-up file) | |
5703 (unless (or pr-spool-p filename) | |
5704 (pr-ps-file-print file) | |
5705 (pr-delete-file file)))) | |
5706 | |
5707 | |
5708 (defun pr-ps-file (&optional filename) | |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
5709 (pr-dosify-file-name (or filename |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5710 (make-temp-file |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5711 (convert-standard-filename |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5712 (expand-file-name pr-ps-temp-file pr-temp-dir)) |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5713 nil ".ps")))) |
49646 | 5714 |
5715 | |
5716 (defun pr-interactive-n-up (mess) | |
5717 (or (stringp mess) (setq mess "*")) | |
5718 (save-match-data | |
65680
ed770a0a7846
2005-09-24 Emilio C. Lopes <eclig@gmx.net>
Romain Francoise <romain@orebokech.com>
parents:
65582
diff
changeset
|
5719 (let* ((fmt-prompt "%s[%s] N-up printing (default 1): ") |
49646 | 5720 (prompt "") |
87206
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
5721 (str (pr-read-string (format fmt-prompt prompt mess) "1" nil "1")) |
49646 | 5722 int) |
5723 (while (if (string-match "^\\s *[0-9]+$" str) | |
62887
3d8c6d031cf0
(pr-interactive-n-up): Use string-to-number.
Richard M. Stallman <rms@gnu.org>
parents:
58408
diff
changeset
|
5724 (setq int (string-to-number str) |
49646 | 5725 prompt (cond ((< int 1) "Integer below 1; ") |
5726 ((> int 100) "Integer above 100; ") | |
5727 (t nil))) | |
5728 (setq prompt "Invalid integer syntax; ")) | |
5729 (ding) | |
5730 (setq str | |
87206
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
5731 (pr-read-string (format fmt-prompt prompt mess) str nil "1"))) |
49646 | 5732 int))) |
5733 | |
5734 | |
5735 (defun pr-interactive-dir (mess) | |
5736 (let* ((dir-name (file-name-directory (or (buffer-file-name) | |
5737 default-directory))) | |
5738 (fmt-prompt (concat "%s[" mess "] Directory to print: ")) | |
5739 (dir (read-file-name (format fmt-prompt "") | |
5740 "" dir-name nil dir-name)) | |
5741 prompt) | |
5742 (while (cond ((not (file-directory-p dir)) | |
5743 (ding) | |
5744 (setq prompt "It's not a directory! ")) | |
5745 ((not (file-readable-p dir)) | |
5746 (ding) | |
5747 (setq prompt "Directory is unreadable! ")) | |
5748 (t nil)) | |
5749 (setq dir-name (file-name-directory dir) | |
5750 dir (read-file-name (format fmt-prompt prompt) | |
5751 "" dir-name nil dir-name))) | |
5752 (file-name-as-directory dir))) | |
5753 | |
5754 | |
5755 (defun pr-interactive-regexp (mess) | |
87206
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
5756 (pr-read-string (format "[%s] File regexp to print: " mess) "" nil "")) |
49646 | 5757 |
5758 | |
5759 (defun pr-interactive-dir-args (mess) | |
5760 (list | |
5761 ;; get directory argument | |
5762 (pr-interactive-dir mess) | |
5763 ;; get file name regexp | |
5764 (pr-interactive-regexp mess))) | |
5765 | |
5766 | |
5767 (defun pr-interactive-ps-dir-args (mess) | |
5768 (list | |
5769 ;; get n-up argument | |
5770 (pr-interactive-n-up mess) | |
5771 ;; get directory argument | |
5772 (pr-interactive-dir mess) | |
5773 ;; get file name regexp | |
5774 (pr-interactive-regexp mess) | |
5775 ;; get output file name | |
5776 (and (not pr-spool-p) | |
5777 (ps-print-preprint current-prefix-arg)))) | |
5778 | |
5779 | |
5780 (defun pr-interactive-n-up-file (mess) | |
5781 (list | |
5782 ;; get n-up argument | |
5783 (pr-interactive-n-up mess) | |
5784 ;; get output file name | |
5785 (and (not pr-spool-p) | |
5786 (ps-print-preprint current-prefix-arg)))) | |
5787 | |
5788 | |
5789 (defun pr-interactive-n-up-inout (mess) | |
5790 (list | |
5791 ;; get n-up argument | |
5792 (pr-interactive-n-up mess) | |
5793 ;; get input file name | |
5794 (pr-ps-infile-preprint (concat mess " ")) | |
5795 ;; get output file name | |
5796 (ps-print-preprint current-prefix-arg))) | |
5797 | |
5798 | |
5799 (defun pr-set-outfilename (filename-sym) | |
5800 (and (not pr-spool-p) | |
5801 (eq (symbol-value filename-sym) t) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
5802 (set filename-sym (and current-prefix-arg |
49646 | 5803 (ps-print-preprint current-prefix-arg)))) |
5804 (and (symbol-value filename-sym) | |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
5805 (set filename-sym (pr-dosify-file-name (symbol-value filename-sym))))) |
49646 | 5806 |
5807 | |
5808 (defun pr-set-n-up-and-filename (n-up-sym filename-sym mess) | |
5809 ;; n-up | |
5810 (or (symbol-value n-up-sym) | |
5811 (set n-up-sym (pr-interactive-n-up mess))) | |
5812 ;; output file | |
5813 (pr-set-outfilename filename-sym)) | |
5814 | |
5815 | |
5816 (defun pr-set-dir-args (dir-sym regexp-sym mess) | |
5817 ;; directory | |
5818 (or (symbol-value dir-sym) | |
5819 (set dir-sym (pr-interactive-dir mess))) | |
5820 ;; file name regexp | |
5821 (or (symbol-value regexp-sym) | |
5822 (set regexp-sym (pr-interactive-regexp mess)))) | |
5823 | |
5824 | |
5825 (defun pr-set-ps-dir-args (n-up-sym dir-sym regexp-sym filename-sym mess) | |
5826 ;; n-up | |
5827 (or (symbol-value n-up-sym) | |
5828 (set n-up-sym (pr-interactive-n-up mess))) | |
5829 ;; directory & file name regexp | |
5830 (pr-set-dir-args dir-sym regexp-sym mess) | |
5831 ;; output file | |
5832 (pr-set-outfilename filename-sym)) | |
5833 | |
5834 | |
5835 (defun pr-find-buffer-visiting (file) | |
5836 (if (not (file-directory-p file)) | |
5837 (find-buffer-visiting (if ps-windows-system | |
5838 (downcase file) | |
5839 file)) | |
5840 (let ((truename (file-truename file)) | |
5841 (blist (buffer-list)) | |
5842 found) | |
5843 (while (and (not found) blist) | |
5844 (save-excursion | |
5845 (set-buffer (car blist)) | |
5846 (and (eq major-mode 'dired-mode) | |
5847 (save-excursion | |
5848 (goto-char (point-min)) | |
5849 (string= (buffer-substring-no-properties | |
5850 (+ (point-min) 2) | |
5851 (progn | |
5852 (end-of-line) | |
5853 (1- (point)))) | |
5854 truename)) | |
5855 (setq found (car blist)))) | |
5856 (setq blist (cdr blist))) | |
5857 found))) | |
5858 | |
5859 | |
5860 (defun pr-file-list (dir file-regexp fun) | |
5861 (mapcar #'(lambda (file) | |
5862 (and (or pr-list-directory | |
5863 (not (file-directory-p file))) | |
5864 (let ((buffer (pr-find-buffer-visiting file)) | |
5865 pop-up-windows | |
5866 pop-up-frames) | |
5867 (and (or buffer | |
5868 (file-readable-p file)) | |
5869 (save-excursion | |
5870 (set-buffer (or buffer | |
5871 (find-file-noselect file))) | |
5872 (funcall fun) | |
5873 (or buffer | |
5874 (kill-buffer (current-buffer)))))))) | |
5875 (directory-files dir t file-regexp))) | |
5876 | |
5877 | |
5878 (defun pr-delete-file-if-exists (filename) | |
5879 (and (not pr-spool-p) (stringp filename) (file-exists-p filename) | |
5880 (delete-file filename))) | |
5881 | |
5882 | |
5883 (defun pr-ps-file-list (n-up dir file-regexp filename) | |
5884 (pr-delete-file-if-exists (setq filename (pr-expand-file-name filename))) | |
5885 (let ((pr-spool-p t)) | |
5886 (pr-file-list dir file-regexp | |
5887 #'(lambda () | |
5888 (if (pr-auto-mode-p) | |
5889 (pr-ps-mode n-up filename) | |
5890 (pr-text2ps 'buffer n-up filename))))) | |
5891 (or pr-spool-p | |
5892 (pr-despool-print filename))) | |
5893 | |
5894 | |
5895 (defun pr-text2ps (kind n-up filename &optional from to) | |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5896 (pr-save-file-modes |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5897 (let ((ps-n-up-printing n-up) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5898 (ps-spool-config (and (eq ps-spool-config 'setpagedevice) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5899 'setpagedevice))) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5900 (pr-delete-file-if-exists filename) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5901 (cond (pr-faces-p |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5902 (cond (pr-spool-p |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5903 ;; pr-faces-p and pr-spool-p |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5904 ;; here FILENAME arg is ignored |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5905 (cond ((eq kind 'buffer) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5906 (ps-spool-buffer-with-faces)) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5907 ((eq kind 'region) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5908 (ps-spool-region-with-faces (or from (point)) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5909 (or to (mark)))) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5910 )) |
49646 | 5911 ;; pr-faces-p and not pr-spool-p |
58204
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5912 ((eq kind 'buffer) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5913 (ps-print-buffer-with-faces filename)) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5914 ((eq kind 'region) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5915 (ps-print-region-with-faces (or from (point)) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5916 (or to (mark)) filename)) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5917 )) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5918 (pr-spool-p |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5919 ;; not pr-faces-p and pr-spool-p |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5920 ;; here FILENAME arg is ignored |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5921 (cond ((eq kind 'buffer) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5922 (ps-spool-buffer)) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5923 ((eq kind 'region) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5924 (ps-spool-region (or from (point)) (or to (mark)))) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5925 )) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5926 ;; not pr-faces-p and not pr-spool-p |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5927 ((eq kind 'buffer) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5928 (ps-print-buffer filename)) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5929 ((eq kind 'region) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5930 (ps-print-region (or from (point)) (or to (mark)) filename)) |
687bb63efa9d
interactive-p & file permission bits
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58164
diff
changeset
|
5931 )))) |
49646 | 5932 |
5933 | |
5934 (defun pr-command (command) | |
5935 "Return absolute file name specification for COMMAND. | |
5936 | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5937 If COMMAND is an empty string, return it. |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5938 |
49646 | 5939 If COMMAND is already an absolute file name specification, return it. |
5940 Else it uses `pr-path-alist' to find COMMAND, if find it then return it; | |
5941 otherwise, gives an error. | |
5942 | |
5943 When using `pr-path-alist' to find COMMAND, the entries `cygwin', `windows' and | |
5944 `unix' are used (see `pr-path-alist' for documentation). | |
5945 | |
5946 If Emacs is running on Windows 95/98/NT/2000, tries to find COMMAND, | |
5947 COMMAND.exe, COMMAND.bat and COMMAND.com in this order." | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5948 (if (string= command "") |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5949 command |
56405
10b68aa88abe
Doc fix. Change name of some funs.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
56390
diff
changeset
|
5950 (pr-dosify-file-name |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5951 (or (pr-find-command command) |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5952 (pr-path-command (cond (pr-cygwin-system 'cygwin) |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5953 (ps-windows-system 'windows) |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5954 (t 'unix)) |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5955 (file-name-nondirectory command) |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5956 nil) |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5957 (error "Command not found: %s" |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
5958 (file-name-nondirectory command)))))) |
49646 | 5959 |
5960 | |
5961 (defun pr-path-command (symbol command sym-list) | |
5962 (let ((lpath (cdr (assq symbol pr-path-alist))) | |
5963 cmd) | |
5964 ;; PATH expansion | |
5965 (and (eq symbol 'PATH) (null lpath) | |
5966 (setq lpath (parse-colon-path (getenv "PATH")))) | |
5967 (while (and lpath | |
5968 (not | |
5969 (setq cmd | |
5970 (let ((path (car lpath))) | |
5971 (cond | |
5972 ;; symbol expansion | |
5973 ((symbolp path) | |
5974 (and (not (memq path sym-list)) | |
5975 (pr-path-command path command | |
5976 (cons path sym-list)))) | |
5977 ;; normal path | |
5978 ((stringp path) | |
5979 (pr-find-command | |
5980 (expand-file-name | |
5981 (substitute-in-file-name | |
5982 (concat (file-name-as-directory path) | |
5983 command))))) | |
5984 ))))) | |
5985 (setq lpath (cdr lpath))) | |
5986 cmd)) | |
5987 | |
5988 | |
5989 (defun pr-find-command (cmd) | |
5990 (if ps-windows-system | |
5991 ;; windows system | |
5992 (let ((ext (cons (file-name-extension cmd t) | |
5993 (list ".exe" ".bat" ".com"))) | |
5994 found) | |
5995 (setq cmd (file-name-sans-extension cmd)) | |
5996 (while (and ext | |
5997 (setq found (concat cmd (car ext))) | |
5998 (not (and (file-regular-p found) | |
5999 (file-executable-p found)))) | |
6000 (setq ext (cdr ext) | |
6001 found nil)) | |
6002 found) | |
6003 ;; non-windows systems | |
6004 (and (file-regular-p cmd) | |
6005 (file-executable-p cmd) | |
6006 cmd))) | |
6007 | |
6008 | |
6009 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
87207 | 6010 ;; Printing Interface (inspired by ps-print-interface.el) |
49646 | 6011 |
6012 | |
82253
e100ad942371
Evaluate require only during compilation
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
82140
diff
changeset
|
6013 (eval-when-compile |
e100ad942371
Evaluate require only during compilation
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
82140
diff
changeset
|
6014 (require 'cus-edit) |
e100ad942371
Evaluate require only during compilation
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
82140
diff
changeset
|
6015 (require 'wid-edit) |
e100ad942371
Evaluate require only during compilation
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
82140
diff
changeset
|
6016 (require 'widget)) |
49646 | 6017 |
6018 | |
6019 (defvar pr-i-window-configuration nil) | |
6020 | |
6021 (defvar pr-i-buffer nil) | |
6022 (defvar pr-i-region nil) | |
6023 (defvar pr-i-mode nil) | |
6024 (defvar pr-i-despool nil) | |
6025 (defvar pr-i-ps-as-is t) | |
6026 (defvar pr-i-n-up 1) | |
6027 (defvar pr-i-directory "./") | |
6028 (defvar pr-i-regexp "") | |
6029 (defvar pr-i-ps-file "") | |
6030 (defvar pr-i-out-file "") | |
6031 (defvar pr-i-answer-yes nil) | |
6032 (defvar pr-i-process 'buffer) | |
6033 (defvar pr-i-ps-send 'printer) | |
6034 | |
6035 | |
6036 (defvar pr-interface-map nil | |
6037 "Keymap for pr-interface.") | |
6038 | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
6039 (unless pr-interface-map |
87206
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
6040 (let ((map (make-sparse-keymap))) |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
6041 (cond ((featurep 'xemacs) ; XEmacs |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
6042 (pr-set-keymap-parents map (list widget-keymap)) |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
6043 (pr-set-keymap-name map 'pr-interface-map)) |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
6044 (t ; GNU Emacs |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
6045 (pr-set-keymap-parents map widget-keymap))) |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
6046 (define-key map "q" 'pr-interface-quit) |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
6047 (define-key map "?" 'pr-interface-help) |
44a37723f2a9
Fix pr-interface-map initialization
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
85859
diff
changeset
|
6048 (setq pr-interface-map map))) |
49646 | 6049 |
6050 | |
6051 (defmacro pr-interface-save (&rest body) | |
6052 `(save-excursion | |
6053 (set-buffer pr-i-buffer) | |
6054 ,@body)) | |
6055 | |
6056 | |
6057 (defun pr-create-interface () | |
6058 "Create the front end for printing package." | |
6059 (setq pr-i-buffer (buffer-name (current-buffer)) | |
6060 pr-i-region (ps-mark-active-p) | |
6061 pr-i-mode (pr-mode-alist-p) | |
6062 pr-i-window-configuration (current-window-configuration)) | |
6063 | |
6064 (put 'pr-i-process 'pr-widget-list nil) | |
6065 (put 'pr-i-ps-send 'pr-widget-list nil) | |
6066 | |
6067 (delete-other-windows) | |
6068 (kill-buffer (get-buffer-create pr-buffer-name)) | |
6069 (switch-to-buffer (get-buffer-create pr-buffer-name)) | |
6070 | |
6071 ;; header | |
6072 (let ((versions (concat "printing v" pr-version | |
6073 " ps-print v" ps-print-version))) | |
73827
985f3831f360
Fix Print submenu creation
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
73770
diff
changeset
|
6074 ;; to keep compatibility with Emacs 20 & 21: |
985f3831f360
Fix Print submenu creation
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
73770
diff
changeset
|
6075 ;; DO NOT REPLACE `?\ ' BY `?\s' |
985f3831f360
Fix Print submenu creation
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
73770
diff
changeset
|
6076 (widget-insert (make-string (- 79 (length versions)) ?\ ) versions)) |
49646 | 6077 (pr-insert-italic "\nCurrent Directory : " 1) |
6078 (pr-insert-italic default-directory) | |
6079 | |
6080 (pr-insert-section-1) ; 1. Print | |
6081 (pr-insert-section-2) ; 2. PostScript Printer | |
6082 (pr-insert-section-3) ; 3. Text Printer | |
6083 | |
6084 ;; separator | |
6085 (widget-insert "\n\n " (make-string 77 ?-)) | |
6086 | |
6087 (pr-insert-section-4) ; 4. Settings | |
6088 (pr-insert-section-5) ; 5. Customize | |
6089 (pr-insert-section-6) ; 6. Show Settings | |
6090 (pr-insert-section-7) ; 7. Help | |
6091 | |
6092 (use-local-map pr-interface-map) | |
6093 (widget-setup) | |
6094 (goto-char (point-min)) | |
6095 | |
6096 (and pr-i-region ; let region activated | |
6097 (pr-keep-region-active))) | |
6098 | |
6099 | |
6100 (defun pr-insert-section-1 () | |
6101 ;; 1. Print: | |
6102 (pr-insert-italic "\nPrint :" 1) | |
6103 | |
6104 ;; 1a. Buffer: | |
6105 ;; 1a. Buffer: Buffer List | |
6106 (pr-insert-radio-button 'pr-i-process 'buffer) | |
6107 (pr-insert-menu "Buffer List" 'pr-i-buffer | |
6108 (let ((blist (buffer-list)) | |
6109 case-fold-search choices) | |
6110 (while blist | |
6111 (let ((name (buffer-name (car blist))) | |
6112 (ignore pr-buffer-name-ignore) | |
6113 found) | |
6114 (setq blist (cdr blist)) | |
6115 (while (and ignore (not found)) | |
6116 (setq found (string-match (car ignore) name) | |
6117 ignore (cdr ignore))) | |
6118 (or found | |
6119 (setq choices | |
6120 (cons (list 'quote | |
6121 (list 'choice-item | |
6122 :format "%[%t%]" | |
6123 name)) | |
6124 choices))))) | |
6125 (nreverse choices)) | |
6126 " Buffer : " nil | |
6127 '(progn | |
6128 (pr-interface-save | |
6129 (setq pr-i-region (ps-mark-active-p) | |
6130 pr-i-mode (pr-mode-alist-p))) | |
6131 (pr-update-checkbox 'pr-i-region) | |
6132 (pr-update-checkbox 'pr-i-mode))) | |
6133 ;; 1a. Buffer: Region | |
6134 (put 'pr-i-region 'pr-widget | |
6135 (pr-insert-checkbox | |
6136 "\n " | |
6137 'pr-i-region | |
6138 #'(lambda (widget &rest ignore) | |
6139 (let ((region-p (pr-interface-save | |
6140 (ps-mark-active-p)))) | |
6141 (cond ((null (widget-value widget)) ; widget is nil | |
6142 (setq pr-i-region nil)) | |
6143 (region-p ; widget is true and there is a region | |
6144 (setq pr-i-region t) | |
6145 (widget-value-set widget t) | |
6146 (widget-setup)) ; MUST be called after widget-value-set | |
6147 (t ; widget is true and there is no region | |
6148 (ding) | |
6149 (message "There is no region active") | |
6150 (setq pr-i-region nil) | |
6151 (widget-value-set widget nil) | |
6152 (widget-setup))))) ; MUST be called after widget-value-set | |
6153 " Region")) | |
6154 ;; 1a. Buffer: Mode | |
6155 (put 'pr-i-mode 'pr-widget | |
6156 (pr-insert-checkbox | |
6157 " " | |
6158 'pr-i-mode | |
6159 #'(lambda (widget &rest ignore) | |
6160 (let ((mode-p (pr-interface-save | |
6161 (pr-mode-alist-p)))) | |
6162 (cond | |
6163 ((null (widget-value widget)) ; widget is nil | |
6164 (setq pr-i-mode nil)) | |
6165 (mode-p ; widget is true and there is a `mode' | |
6166 (setq pr-i-mode t) | |
6167 (widget-value-set widget t) | |
6168 (widget-setup)) ; MUST be called after widget-value-set | |
6169 (t ; widget is true and there is no `mode' | |
6170 (ding) | |
6171 (message | |
6172 "This buffer isn't in a mode that printing treats specially.") | |
6173 (setq pr-i-mode nil) | |
6174 (widget-value-set widget nil) | |
6175 (widget-setup))))) ; MUST be called after widget-value-set | |
6176 " Mode\n")) | |
6177 | |
6178 ;; 1b. Directory: | |
6179 (pr-insert-radio-button 'pr-i-process 'directory) | |
6180 (widget-create | |
6181 'directory | |
6182 :size 58 | |
6183 :format " Directory : %v" | |
6184 :notify 'pr-interface-directory | |
6185 :action (lambda (widget &optional event) | |
6186 (if (pr-interface-directory widget) | |
6187 (pr-widget-field-action widget event) | |
6188 (ding) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6189 (message "Please specify a readable directory"))) |
49646 | 6190 pr-i-directory) |
6191 ;; 1b. Directory: File Regexp | |
6192 (widget-create 'regexp | |
6193 :size 58 | |
6194 :format "\n File Regexp : %v\n" | |
6195 :notify (lambda (widget &rest ignore) | |
6196 (setq pr-i-regexp (widget-value widget))) | |
6197 pr-i-regexp) | |
6198 ;; 1b. Directory: List Directory Entry | |
6199 (widget-insert " ") | |
6200 (pr-insert-toggle 'pr-list-directory " List Directory Entry\n") | |
6201 | |
6202 ;; 1c. PostScript File: | |
6203 (pr-insert-radio-button 'pr-i-process 'file) | |
6204 (widget-create | |
6205 'file | |
6206 :size 51 | |
6207 :format " PostScript File : %v" | |
6208 :notify 'pr-interface-infile | |
6209 :action (lambda (widget &rest event) | |
6210 (if (pr-interface-infile widget) | |
6211 (pr-widget-field-action widget event) | |
6212 (ding) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6213 (message "Please specify a readable PostScript file"))) |
49646 | 6214 pr-i-ps-file) |
6215 ;; 1c. PostScript File: PostScript Utility | |
6216 (pr-insert-menu "PostScript Utility" 'pr-ps-utility | |
6217 (pr-choice-alist pr-ps-utility-alist) | |
6218 "\n PostScript Utility : " | |
6219 " ") | |
54210
602769168263
Replace "As Is..." in PostScript file print/preview by "No Preprocessing...".
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54209
diff
changeset
|
6220 ;; 1c. PostScript File: No Preprocessing |
602769168263
Replace "As Is..." in PostScript file print/preview by "No Preprocessing...".
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54209
diff
changeset
|
6221 (pr-insert-toggle 'pr-i-ps-as-is " No Preprocessing")) |
49646 | 6222 |
6223 | |
6224 (defun pr-insert-section-2 () | |
6225 ;; 2. PostScript Printer: | |
6226 ;; 2. PostScript Printer: PostScript Printer List | |
6227 (pr-insert-italic "\n\nPostScript Printer : " 2 20) | |
6228 (pr-insert-menu "PostScript Printer" 'pr-ps-name | |
6229 (pr-choice-alist pr-ps-printer-alist)) | |
6230 ;; 2. PostScript Printer: Despool | |
6231 (put 'pr-i-despool 'pr-widget | |
6232 (pr-insert-checkbox | |
6233 " " | |
6234 'pr-i-despool | |
6235 #'(lambda (widget &rest ignore) | |
6236 (if pr-spool-p | |
6237 (setq pr-i-despool (not pr-i-despool)) | |
6238 (ding) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6239 (message "Can despool only when spooling is actually selected") |
49646 | 6240 (setq pr-i-despool nil)) |
6241 (widget-value-set widget pr-i-despool) | |
6242 (widget-setup)) ; MUST be called after widget-value-set | |
6243 " Despool ")) | |
6244 ;; 2. PostScript Printer: Preview Print Quit | |
6245 (pr-insert-button 'pr-interface-preview "Preview" " ") | |
6246 (pr-insert-button 'pr-interface-ps-print "Print" " ") | |
6247 (pr-insert-button 'pr-interface-quit "Quit") | |
6248 ;; 2. PostScript Printer: Send to Printer/Temporary File | |
6249 (pr-insert-radio-button 'pr-i-ps-send 'printer) | |
6250 (widget-insert " Send to Printer/Temporary File") | |
6251 ;; 2. PostScript Printer: Send to File | |
6252 (pr-insert-radio-button 'pr-i-ps-send 'file) | |
6253 (widget-create | |
6254 'file | |
6255 :size 57 | |
6256 :format " Send to File : %v" | |
6257 :notify 'pr-interface-outfile | |
6258 :action (lambda (widget &rest event) | |
6259 (if (and (pr-interface-outfile widget) | |
6260 (or (not (file-exists-p pr-i-out-file)) | |
6261 (setq pr-i-answer-yes | |
6262 (y-or-n-p "File exists; overwrite? ")))) | |
6263 (pr-widget-field-action widget event) | |
6264 (ding) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6265 (message "Please specify a writable PostScript file"))) |
49646 | 6266 pr-i-out-file) |
6267 ;; 2. PostScript Printer: N-Up | |
6268 (widget-create | |
6269 'integer | |
6270 :size 3 | |
6271 :format "\n N-Up : %v" | |
6272 :notify (lambda (widget &rest ignore) | |
6273 (let ((value (if (string= (widget-apply widget :value-get) "") | |
6274 0 | |
6275 (widget-value widget)))) | |
6276 (if (and (integerp value) | |
6277 (<= 1 value) (<= value 100)) | |
6278 (progn | |
6279 (message " ") | |
6280 (setq pr-i-n-up value)) | |
6281 (ding) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6282 (message "Please specify an integer between 1 and 100")))) |
49646 | 6283 pr-i-n-up)) |
6284 | |
6285 | |
6286 (defun pr-insert-section-3 () | |
6287 ;; 3. Text Printer: | |
6288 (pr-insert-italic "\n\nText Printer : " 2 14) | |
6289 (pr-insert-menu "Text Printer" 'pr-txt-name | |
6290 (pr-choice-alist pr-txt-printer-alist) | |
6291 nil " ") | |
6292 (pr-insert-button 'pr-interface-printify "Printify" " ") | |
6293 (pr-insert-button 'pr-interface-txt-print "Print" " ") | |
6294 (pr-insert-button 'pr-interface-quit "Quit")) | |
6295 | |
6296 | |
6297 (defun pr-insert-section-4 () | |
6298 ;; 4. Settings: | |
6299 ;; 4. Settings: Landscape Auto Region Verbose | |
6300 (pr-insert-checkbox "\n\n " 'ps-landscape-mode | |
6301 #'(lambda (&rest ignore) | |
6302 (setq ps-landscape-mode (not ps-landscape-mode) | |
6303 pr-file-landscape ps-landscape-mode)) | |
6304 " Landscape ") | |
6305 (pr-insert-toggle 'pr-auto-region " Auto Region ") | |
6306 (pr-insert-toggle 'pr-buffer-verbose " Verbose\n ") | |
6307 | |
6308 ;; 4. Settings: Print Header Auto Mode | |
6309 (pr-insert-toggle 'ps-print-header " Print Header ") | |
6310 (pr-insert-toggle 'pr-auto-mode " Auto Mode\n ") | |
6311 | |
6312 ;; 4. Settings: Print Header Frame Menu Lock | |
6313 (pr-insert-toggle 'ps-print-header-frame " Print Header Frame ") | |
6314 (pr-insert-toggle 'pr-menu-lock " Menu Lock\n ") | |
6315 | |
6316 ;; 4. Settings: Line Number | |
6317 (pr-insert-toggle 'ps-line-number " Line Number\n ") | |
6318 | |
6319 ;; 4. Settings: Zebra Stripes Spool Buffer | |
6320 (pr-insert-toggle 'ps-zebra-stripes " Zebra Stripes") | |
6321 (pr-insert-checkbox " " | |
6322 'pr-spool-p | |
6323 #'(lambda (&rest ignore) | |
6324 (setq pr-spool-p (not pr-spool-p)) | |
6325 (unless pr-spool-p | |
6326 (setq pr-i-despool nil) | |
6327 (pr-update-checkbox 'pr-i-despool))) | |
6328 " Spool Buffer") | |
6329 | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6330 ;; 4. Settings: Duplex Print with faces |
49646 | 6331 (pr-insert-checkbox "\n " |
6332 'ps-spool-duplex | |
6333 #'(lambda (&rest ignore) | |
6334 (setq ps-spool-duplex (not ps-spool-duplex) | |
6335 pr-file-duplex ps-spool-duplex)) | |
6336 " Duplex ") | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6337 (pr-insert-toggle 'pr-faces-p " Print with faces") |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6338 |
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6339 ;; 4. Settings: Tumble Print via Ghostscript |
49646 | 6340 (pr-insert-checkbox "\n " |
6341 'ps-spool-tumble | |
6342 #'(lambda (&rest ignore) | |
6343 (setq ps-spool-tumble (not ps-spool-tumble) | |
6344 pr-file-tumble ps-spool-tumble)) | |
6345 " Tumble ") | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6346 (pr-insert-toggle 'pr-print-using-ghostscript " Print via Ghostscript\n ") |
49646 | 6347 |
6348 ;; 4. Settings: Upside-Down Page Parity | |
54209
c312c950b64d
Adjust buffer interface.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54146
diff
changeset
|
6349 (pr-insert-toggle 'ps-print-upside-down " Upside-Down") |
c312c950b64d
Adjust buffer interface.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
54146
diff
changeset
|
6350 (pr-insert-italic "\n\nSelect Pages : " 2 14) |
49646 | 6351 (pr-insert-menu "Page Parity" 'ps-even-or-odd-pages |
6352 (mapcar #'(lambda (alist) | |
6353 (list 'quote | |
6354 (list 'choice-item | |
6355 :format "%[%t%]" | |
6356 :tag (cdr alist) | |
6357 :value (car alist)))) | |
6358 pr-even-or-odd-alist))) | |
6359 | |
6360 | |
6361 (defun pr-insert-section-5 () | |
6362 ;; 5. Customize: | |
6363 (pr-insert-italic "\n\nCustomize : " 2 11) | |
6364 (pr-insert-button 'pr-customize "printing" " ") | |
6365 (pr-insert-button #'(lambda (&rest ignore) (ps-print-customize)) | |
6366 "ps-print" " ") | |
6367 (pr-insert-button 'lpr-customize "lpr")) | |
6368 | |
6369 | |
6370 (defun pr-insert-section-6 () | |
6371 ;; 6. Show Settings: | |
6372 (pr-insert-italic "\nShow Settings : " 1 14) | |
6373 (pr-insert-button 'pr-show-pr-setup "printing" " ") | |
6374 (pr-insert-button 'pr-show-ps-setup "ps-print" " ") | |
6375 (pr-insert-button 'pr-show-lpr-setup "lpr")) | |
6376 | |
6377 | |
6378 (defun pr-insert-section-7 () | |
6379 ;; 7. Help: | |
6380 (pr-insert-italic "\nHelp : " 1 5) | |
6381 (pr-insert-button 'pr-interface-help "Interface Help" " ") | |
6382 (pr-insert-button 'pr-help "Menu Help" " ") | |
6383 (pr-insert-button 'pr-interface-quit "Quit" "\n ") | |
6384 (pr-insert-button 'pr-kill-help "Kill All Printing Help Buffer")) | |
6385 | |
6386 | |
6387 (defun pr-kill-help (&rest ignore) | |
6388 "Kill all printing help buffer." | |
6389 (interactive) | |
6390 (let ((help '("*Printing Interface Help*" "*Printing Help*" | |
6391 "*LPR Setup*" "*PR Setup*" "*PS Setup*"))) | |
6392 (while help | |
6393 (let ((buffer (get-buffer (car help)))) | |
6394 (setq help (cdr help)) | |
6395 (when buffer | |
6396 (delete-windows-on buffer) | |
6397 (kill-buffer buffer))))) | |
6398 (recenter (- (window-height) 2))) | |
6399 | |
6400 | |
6401 (defun pr-interface-quit (&rest ignore) | |
6402 "Kill the printing buffer interface and quit." | |
6403 (interactive) | |
6404 (kill-buffer pr-buffer-name) | |
6405 (set-window-configuration pr-i-window-configuration)) | |
6406 | |
6407 | |
6408 (defun pr-interface-help (&rest ignore) | |
6409 "printing buffer interface help." | |
6410 (interactive) | |
6411 (pr-show-setup pr-interface-help-message "*Printing Interface Help*")) | |
6412 | |
6413 | |
6414 (defun pr-interface-txt-print (&rest ignore) | |
6415 "Print using lpr package." | |
6416 (interactive) | |
6417 (condition-case data | |
6418 (cond | |
6419 ((eq pr-i-process 'directory) | |
6420 (pr-i-directory) | |
6421 (pr-interface-save | |
6422 (pr-txt-directory pr-i-directory pr-i-regexp))) | |
6423 ((eq pr-i-process 'buffer) | |
6424 (pr-interface-save | |
6425 (cond (pr-i-region | |
6426 (let ((pr-auto-mode pr-i-mode)) | |
6427 (pr-txt-region))) | |
6428 (pr-i-mode | |
6429 (let (pr-auto-region) | |
6430 (pr-txt-mode))) | |
6431 (t | |
6432 (let (pr-auto-mode pr-auto-region) | |
6433 (pr-txt-buffer))) | |
6434 ))) | |
6435 ((eq pr-i-process 'file) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6436 (error "Please specify a text file")) |
49646 | 6437 (t |
6438 (error "Internal error: `pr-i-process' = %S" pr-i-process)) | |
6439 ) | |
6440 ;; handlers | |
6441 ((quit error) | |
6442 (ding) | |
65582
4d1085b02d64
Message format spec fixes (1)
Deepak Goel <deego@gnufans.org>
parents:
64762
diff
changeset
|
6443 (message "%s" (error-message-string data))))) |
49646 | 6444 |
6445 | |
6446 (defun pr-interface-printify (&rest ignore) | |
6447 "Printify a buffer." | |
6448 (interactive) | |
6449 (condition-case data | |
6450 (cond | |
6451 ((eq pr-i-process 'directory) | |
6452 (pr-i-directory) | |
6453 (pr-interface-save | |
6454 (pr-printify-directory pr-i-directory pr-i-regexp))) | |
6455 ((eq pr-i-process 'buffer) | |
6456 (pr-interface-save | |
6457 (if pr-i-region | |
6458 (pr-printify-region) | |
6459 (pr-printify-buffer)))) | |
6460 ((eq pr-i-process 'file) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6461 (error "Cannot printify a PostScript file")) |
49646 | 6462 (t |
6463 (error "Internal error: `pr-i-process' = %S" pr-i-process)) | |
6464 ) | |
6465 ;; handlers | |
6466 ((quit error) | |
6467 (ding) | |
65582
4d1085b02d64
Message format spec fixes (1)
Deepak Goel <deego@gnufans.org>
parents:
64762
diff
changeset
|
6468 (message "%s" (error-message-string data))))) |
49646 | 6469 |
6470 | |
6471 (defun pr-interface-ps-print (&rest ignore) | |
6472 "Print using ps-print package." | |
6473 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
6474 (pr-interface-ps 'pr-despool-ps-print 'pr-ps-directory-ps-print |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
6475 'pr-ps-file-ps-print 'pr-ps-file-up-ps-print |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
6476 'pr-ps-region-ps-print 'pr-ps-mode-ps-print |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
6477 'pr-ps-buffer-ps-print)) |
49646 | 6478 |
6479 | |
6480 (defun pr-interface-preview (&rest ignore) | |
6481 "Preview a PostScript file." | |
6482 (interactive) | |
58306
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
6483 (pr-interface-ps 'pr-despool-preview 'pr-ps-directory-preview |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
6484 'pr-ps-file-preview 'pr-ps-file-up-preview |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
6485 'pr-ps-region-preview 'pr-ps-mode-preview |
561c3f4a39fe
interactive-p & eval-and-compile
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
58241
diff
changeset
|
6486 'pr-ps-buffer-preview)) |
49646 | 6487 |
6488 | |
6489 (defun pr-interface-ps (ps-despool ps-directory ps-file ps-file-up ps-region | |
6490 ps-mode ps-buffer) | |
6491 (condition-case data | |
6492 (let ((outfile (or (and (eq pr-i-process 'file) pr-i-ps-as-is) | |
6493 (pr-i-ps-send)))) | |
6494 (cond | |
6495 ((and pr-i-despool pr-spool-p) | |
6496 (pr-interface-save | |
6497 (funcall ps-despool outfile)) | |
6498 (setq pr-i-despool nil) | |
6499 (pr-update-checkbox 'pr-i-despool)) | |
6500 ((eq pr-i-process 'directory) | |
6501 (pr-i-directory) | |
6502 (pr-interface-save | |
6503 (funcall ps-directory | |
6504 pr-i-n-up pr-i-directory pr-i-regexp outfile))) | |
6505 ((eq pr-i-process 'file) | |
6506 (cond ((or (file-directory-p pr-i-ps-file) | |
6507 (not (file-readable-p pr-i-ps-file))) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6508 (error "Please specify a readable PostScript file")) |
49646 | 6509 (pr-i-ps-as-is |
6510 (pr-interface-save | |
6511 (funcall ps-file pr-i-ps-file))) | |
6512 (t | |
6513 (pr-interface-save | |
6514 (funcall ps-file-up pr-i-n-up pr-i-ps-file outfile))) | |
6515 )) | |
6516 ((eq pr-i-process 'buffer) | |
6517 (pr-interface-save | |
6518 (cond (pr-i-region | |
6519 (let ((pr-auto-mode pr-i-mode)) | |
6520 (funcall ps-region pr-i-n-up outfile))) | |
6521 (pr-i-mode | |
6522 (let (pr-auto-region) | |
6523 (funcall ps-mode pr-i-n-up outfile))) | |
6524 (t | |
6525 (let (pr-auto-mode pr-auto-region) | |
6526 (funcall ps-buffer pr-i-n-up outfile))) | |
6527 ))) | |
6528 (t | |
6529 (error "Internal error: `pr-i-process' = %S" pr-i-process)) | |
6530 )) | |
6531 ;; handlers | |
6532 ((quit error) | |
6533 (ding) | |
65582
4d1085b02d64
Message format spec fixes (1)
Deepak Goel <deego@gnufans.org>
parents:
64762
diff
changeset
|
6534 (message "%s" (error-message-string data))))) |
49646 | 6535 |
6536 | |
6537 (defun pr-i-ps-send () | |
6538 (cond ((eq pr-i-ps-send 'printer) | |
6539 nil) | |
6540 ((not (eq pr-i-ps-send 'file)) | |
6541 (error "Internal error: `pr-i-ps-send' = %S" pr-i-ps-send)) | |
6542 ((or (file-directory-p pr-i-out-file) | |
6543 (not (file-writable-p pr-i-out-file))) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6544 (error "Please specify a writable PostScript file")) |
49646 | 6545 ((or (not (file-exists-p pr-i-out-file)) |
6546 pr-i-answer-yes | |
6547 (setq pr-i-answer-yes | |
6548 (y-or-n-p (format "File `%s' exists; overwrite? " | |
6549 pr-i-out-file)))) | |
6550 pr-i-out-file) | |
6551 (t | |
6552 (error "File already exists")))) | |
6553 | |
6554 | |
6555 (defun pr-i-directory () | |
6556 (or (and (file-directory-p pr-i-directory) | |
6557 (file-readable-p pr-i-directory)) | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6558 (error "Please specify be a readable directory"))) |
49646 | 6559 |
6560 | |
6561 (defun pr-interface-directory (widget &rest ignore) | |
6562 (and pr-buffer-verbose | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6563 (message "You can use M-TAB or ESC TAB for file completion")) |
49646 | 6564 (let ((dir (widget-value widget))) |
6565 (and (file-directory-p dir) | |
6566 (file-readable-p dir) | |
6567 (setq pr-i-directory dir)))) | |
6568 | |
6569 | |
6570 (defun pr-interface-infile (widget &rest ignore) | |
6571 (and pr-buffer-verbose | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6572 (message "You can use M-TAB or ESC TAB for file completion")) |
49646 | 6573 (let ((file (widget-value widget))) |
6574 (and (not (file-directory-p file)) | |
6575 (file-readable-p file) | |
6576 (setq pr-i-ps-file file)))) | |
6577 | |
6578 | |
6579 (defun pr-interface-outfile (widget &rest ignore) | |
6580 (setq pr-i-answer-yes nil) | |
6581 (and pr-buffer-verbose | |
54146
2a5eca2838d1
A lot of doc fix.
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
52401
diff
changeset
|
6582 (message "You can use M-TAB or ESC TAB for file completion")) |
49646 | 6583 (let ((file (widget-value widget))) |
6584 (and (not (file-directory-p file)) | |
6585 (file-writable-p file) | |
6586 (setq pr-i-out-file file)))) | |
6587 | |
6588 | |
6589 (defun pr-widget-field-action (widget event) | |
6590 (and (get-buffer "*Completions*") ; clean frame window | |
6591 (delete-windows-on "*Completions*")) | |
6592 (message " ") ; clean echo area | |
6593 (widget-field-action widget event)) | |
6594 | |
6595 | |
6596 (defun pr-insert-italic (str &optional from to) | |
6597 (let ((len (length str))) | |
6598 (put-text-property (if from (max from 0) 0) | |
6599 (if to (max to len) len) | |
6600 'face 'italic str) | |
6601 (widget-insert str))) | |
6602 | |
6603 | |
6604 (defun pr-insert-checkbox (before var-sym fun label) | |
6605 (widget-insert before) | |
6606 (prog1 | |
6607 (widget-create 'checkbox | |
6608 :notify fun | |
6609 (symbol-value var-sym)) | |
6610 (widget-insert label))) | |
6611 | |
6612 | |
6613 (defun pr-insert-toggle (var-sym label) | |
6614 (widget-create 'checkbox | |
6615 :notify `(lambda (&rest ignore) | |
6616 (setq ,var-sym (not ,var-sym))) | |
6617 (symbol-value var-sym)) | |
6618 (widget-insert label)) | |
6619 | |
6620 | |
6621 (defun pr-insert-button (fun label &optional separator) | |
6622 (widget-create 'push-button | |
6623 :notify fun | |
6624 label) | |
6625 (and separator | |
6626 (widget-insert separator))) | |
6627 | |
6628 | |
6629 (defun pr-insert-menu (tag var-sym choices &optional before after &rest body) | |
6630 (and before (widget-insert before)) | |
6631 (eval `(widget-create 'menu-choice | |
6632 :tag ,tag | |
6633 :format "%v" | |
6634 :inline t | |
6635 :value ,var-sym | |
6636 :notify (lambda (widget &rest ignore) | |
6637 (setq ,var-sym (widget-value widget)) | |
6638 ,@body) | |
6639 :void '(choice-item :format "%[%t%]" | |
6640 :tag "Can not display value!") | |
6641 ,@choices)) | |
6642 (and after (widget-insert after))) | |
6643 | |
6644 | |
6645 (defun pr-insert-radio-button (var-sym sym) | |
6646 (widget-insert "\n") | |
6647 (let ((wid-list (get var-sym 'pr-widget-list)) | |
6648 (wid (eval `(widget-create | |
6649 'radio-button | |
6650 :format " %[%v%]" | |
6651 :value (eq ,var-sym (quote ,sym)) | |
6652 :notify (lambda (&rest ignore) | |
6653 (setq ,var-sym (quote ,sym)) | |
6654 (pr-update-radio-button (quote ,var-sym))))))) | |
6655 (put var-sym 'pr-widget-list (cons (cons wid sym) wid-list)))) | |
6656 | |
6657 | |
6658 (defun pr-update-radio-button (var-sym) | |
6659 (let ((wid-list (get var-sym 'pr-widget-list))) | |
6660 (while wid-list | |
6661 (let ((wid (car (car wid-list))) | |
6662 (value (cdr (car wid-list)))) | |
6663 (setq wid-list (cdr wid-list)) | |
6664 (widget-value-set wid (eq (symbol-value var-sym) value)))) | |
6665 (widget-setup))) | |
6666 | |
6667 | |
6668 (defun pr-update-checkbox (var-sym) | |
6669 (let ((wid (get var-sym 'pr-widget))) | |
6670 (when wid | |
6671 (widget-value-set wid (symbol-value var-sym)) | |
6672 (widget-setup)))) | |
6673 | |
6674 | |
6675 (defun pr-choice-alist (alist) | |
6676 (let ((max (apply 'max (mapcar #'(lambda (alist) | |
6677 (length (symbol-name (car alist)))) | |
6678 alist)))) | |
6679 (mapcar #'(lambda (alist) | |
6680 (let* ((sym (car alist)) | |
6681 (name (symbol-name sym))) | |
6682 (list | |
6683 'quote | |
6684 (list | |
6685 'choice-item | |
6686 :format "%[%t%]" | |
6687 :tag (concat name | |
6688 (make-string (- max (length name)) ?_)) | |
6689 :value sym)))) | |
6690 alist))) | |
6691 | |
6692 | |
6693 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
6694 | |
6695 | |
6696 (provide 'printing) | |
6697 | |
6698 | |
58138
a93efc8bd56c
(pr-get-symbol): Don't downcase.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
57241
diff
changeset
|
6699 ;; arch-tag: 9ce9ac3f-0f60-4370-900b-1943215d9d18 |
49646 | 6700 ;;; printing.el ends here |