Mercurial > emacs
annotate lisp/lpr.el @ 61263:56619c3aaf99
(fancy-splash-text): Shorten default text of
"Emacs Tutorial" line. Also, if the current language env
indicates an available tutorial file other than TUTORIAL,
extract its title and append it to the line in parentheses.
(fancy-splash-insert): If arg is a thunk, funcall it.
author | Thien-Thi Nguyen <ttn@gnuvola.org> |
---|---|
date | Mon, 04 Apr 2005 07:41:58 +0000 |
parents | 695cf19ef79e |
children | d2af21b7c1a4 375f2633d815 |
rev | line source |
---|---|
38412
253f761ad37b
Some fixes to follow coding conventions in files maintained by FSF.
Pavel Janík <Pavel@Janik.cz>
parents:
36420
diff
changeset
|
1 ;;; lpr.el --- print Emacs buffer on line printer |
659
505130d1ddf8
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
617
diff
changeset
|
2 |
52098
6e131215906b
printify-region fix
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
49597
diff
changeset
|
3 ;; Copyright (C) 1985, 1988, 1992, 1994, 2001, 2003 |
6e131215906b
printify-region fix
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
49597
diff
changeset
|
4 ;; Free Software Foundation, Inc. |
846
20674ae6bf52
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
811
diff
changeset
|
5 |
38412
253f761ad37b
Some fixes to follow coding conventions in files maintained by FSF.
Pavel Janík <Pavel@Janik.cz>
parents:
36420
diff
changeset
|
6 ;; Maintainer: FSF |
253f761ad37b
Some fixes to follow coding conventions in files maintained by FSF.
Pavel Janík <Pavel@Janik.cz>
parents:
36420
diff
changeset
|
7 ;; Keywords: unix |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
659
diff
changeset
|
8 |
155 | 9 ;; This file is part of GNU Emacs. |
10 | |
11 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
12 ;; it under the terms of the GNU General Public License as published by | |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
659
diff
changeset
|
13 ;; the Free Software Foundation; either version 2, or (at your option) |
155 | 14 ;; any later version. |
15 | |
16 ;; GNU Emacs is distributed in the hope that it will be useful, | |
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
19 ;; GNU General Public License for more details. | |
20 | |
21 ;; You should have received a copy of the GNU General Public License | |
14169 | 22 ;; along with GNU Emacs; see the file COPYING. If not, write to the |
23 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
24 ;; Boston, MA 02111-1307, USA. | |
155 | 25 |
2307
10e417efb12a
Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
1671
diff
changeset
|
26 ;;; Commentary: |
10e417efb12a
Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
1671
diff
changeset
|
27 |
35743
4db4ab2d1dd4
(lpr-windows-system, lpr-lp-system): Add autoload cookies.
Gerd Moellmann <gerd@gnu.org>
parents:
35724
diff
changeset
|
28 ;; Commands to send the region or a buffer to your printer. Entry points |
45461 | 29 ;; are `lpr-buffer', `print-buffer', `lpr-region', or `print-region'; option |
22679
08902da4c832
(printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
21569
diff
changeset
|
30 ;; variables include `printer-name', `lpr-switches' and `lpr-command'. |
2307
10e417efb12a
Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
1671
diff
changeset
|
31 |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
659
diff
changeset
|
32 ;;; Code: |
155 | 33 |
35743
4db4ab2d1dd4
(lpr-windows-system, lpr-lp-system): Add autoload cookies.
Gerd Moellmann <gerd@gnu.org>
parents:
35724
diff
changeset
|
34 ;;;###autoload |
35724
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
35 (defvar lpr-windows-system |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
36 (memq system-type '(emx win32 w32 mswindows ms-dos windows-nt))) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
37 |
35743
4db4ab2d1dd4
(lpr-windows-system, lpr-lp-system): Add autoload cookies.
Gerd Moellmann <gerd@gnu.org>
parents:
35724
diff
changeset
|
38 ;;;###autoload |
35724
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
39 (defvar lpr-lp-system |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
40 (memq system-type '(usg-unix-v dgux hpux irix))) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
41 |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
42 |
17414
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
43 (defgroup lpr nil |
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
44 "Print Emacs buffer on line printer" |
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
45 :group 'wp) |
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
46 |
35724
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
47 |
22679
08902da4c832
(printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
21569
diff
changeset
|
48 ;;;###autoload |
08902da4c832
(printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
21569
diff
changeset
|
49 (defcustom printer-name |
35724
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
50 (and lpr-windows-system "PRN") |
22679
08902da4c832
(printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
21569
diff
changeset
|
51 "*The name of a local printer to which data is sent for printing. |
08902da4c832
(printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
21569
diff
changeset
|
52 \(Note that PostScript files are sent to `ps-printer-name', which see.\) |
08902da4c832
(printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
21569
diff
changeset
|
53 |
08902da4c832
(printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
21569
diff
changeset
|
54 On Unix-like systems, a string value should be a name understood by |
24091
1874c3236349
(printer-name): Update docstring about usage on MS-DOS
Andrew Innes <andrewi@gnu.org>
parents:
23264
diff
changeset
|
55 lpr's -P option; otherwise the value should be nil. |
22679
08902da4c832
(printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
21569
diff
changeset
|
56 |
24091
1874c3236349
(printer-name): Update docstring about usage on MS-DOS
Andrew Innes <andrewi@gnu.org>
parents:
23264
diff
changeset
|
57 On MS-DOS and MS-Windows systems, a string value is taken as the name of |
1874c3236349
(printer-name): Update docstring about usage on MS-DOS
Andrew Innes <andrewi@gnu.org>
parents:
23264
diff
changeset
|
58 a printer device or port, provided `lpr-command' is set to \"\". |
1874c3236349
(printer-name): Update docstring about usage on MS-DOS
Andrew Innes <andrewi@gnu.org>
parents:
23264
diff
changeset
|
59 Typical non-default settings would be \"LPT1\" to \"LPT3\" for parallel |
1874c3236349
(printer-name): Update docstring about usage on MS-DOS
Andrew Innes <andrewi@gnu.org>
parents:
23264
diff
changeset
|
60 printers, or \"COM1\" to \"COM4\" or \"AUX\" for serial printers, or |
1874c3236349
(printer-name): Update docstring about usage on MS-DOS
Andrew Innes <andrewi@gnu.org>
parents:
23264
diff
changeset
|
61 \"//hostname/printer\" for a shared network printer. You can also set |
1874c3236349
(printer-name): Update docstring about usage on MS-DOS
Andrew Innes <andrewi@gnu.org>
parents:
23264
diff
changeset
|
62 it to the name of a file, in which case the output gets appended to that |
1874c3236349
(printer-name): Update docstring about usage on MS-DOS
Andrew Innes <andrewi@gnu.org>
parents:
23264
diff
changeset
|
63 file. If you want to discard the printed output, set this to \"NUL\"." |
35724
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
64 :type '(choice :menu-tag "Printer Name" |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
65 :tag "Printer Name" |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
66 (const :tag "Default" nil) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
67 ;; could use string but then we lose completion for files. |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
68 (file :tag "Name")) |
22679
08902da4c832
(printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
21569
diff
changeset
|
69 :group 'lpr) |
17414
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
70 |
269 | 71 ;;;###autoload |
35724
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
72 (defcustom lpr-switches nil |
13803
e0bae9f528fe
(lpr-switches, lpr-add-switches): Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents:
11831
diff
changeset
|
73 "*List of strings to pass as extra options for the printer program. |
22679
08902da4c832
(printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
21569
diff
changeset
|
74 It is recommended to set `printer-name' instead of including an explicit |
08902da4c832
(printer-name): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
21569
diff
changeset
|
75 switch on this list. |
17414
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
76 See `lpr-command'." |
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
77 :type '(repeat (string :tag "Argument")) |
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
78 :group 'lpr) |
5267
f7ea27a729b8
(lpr-headers-switches): Treat hpux like usg-unix-v.
Richard M. Stallman <rms@gnu.org>
parents:
5004
diff
changeset
|
79 |
36420
213d5ac23246
(lpr-add-switches): Default to t on gnu/linux.
Richard M. Stallman <rms@gnu.org>
parents:
36419
diff
changeset
|
80 (defcustom lpr-add-switches (memq system-type '(berkeley-unix gnu/linux)) |
213d5ac23246
(lpr-add-switches): Default to t on gnu/linux.
Richard M. Stallman <rms@gnu.org>
parents:
36419
diff
changeset
|
81 "*Non-nil means construct `-T' and `-J' options for the printer program. |
13803
e0bae9f528fe
(lpr-switches, lpr-add-switches): Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents:
11831
diff
changeset
|
82 These are made assuming that the program is `lpr'; |
e0bae9f528fe
(lpr-switches, lpr-add-switches): Doc fixes.
Karl Heuer <kwzh@gnu.org>
parents:
11831
diff
changeset
|
83 if you are using some other incompatible printer program, |
17414
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
84 this variable should be nil." |
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
85 :type 'boolean |
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
86 :group 'lpr) |
155 | 87 |
35724
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
88 (defcustom lpr-printer-switch |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
89 (if lpr-lp-system |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
90 "-d " |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
91 "-P") |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
92 "*Printer switch, that is, something like \"-P\", \"-d \", \"/D:\", etc. |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
93 This switch is used in conjunction with `printer-name'." |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
94 :type '(choice :menu-tag "Printer Name Switch" |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
95 :tag "Printer Name Switch" |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
96 (const :tag "None" nil) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
97 (string :tag "Printer Switch")) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
98 :group 'lpr) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
99 |
1068 | 100 ;;;###autoload |
17414
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
101 (defcustom lpr-command |
24091
1874c3236349
(printer-name): Update docstring about usage on MS-DOS
Andrew Innes <andrewi@gnu.org>
parents:
23264
diff
changeset
|
102 (cond |
35724
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
103 (lpr-windows-system |
24091
1874c3236349
(printer-name): Update docstring about usage on MS-DOS
Andrew Innes <andrewi@gnu.org>
parents:
23264
diff
changeset
|
104 "") |
35724
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
105 (lpr-lp-system |
24091
1874c3236349
(printer-name): Update docstring about usage on MS-DOS
Andrew Innes <andrewi@gnu.org>
parents:
23264
diff
changeset
|
106 "lp") |
1874c3236349
(printer-name): Update docstring about usage on MS-DOS
Andrew Innes <andrewi@gnu.org>
parents:
23264
diff
changeset
|
107 (t |
1874c3236349
(printer-name): Update docstring about usage on MS-DOS
Andrew Innes <andrewi@gnu.org>
parents:
23264
diff
changeset
|
108 "lpr")) |
1874c3236349
(printer-name): Update docstring about usage on MS-DOS
Andrew Innes <andrewi@gnu.org>
parents:
23264
diff
changeset
|
109 "*Name of program for printing a file. |
1874c3236349
(printer-name): Update docstring about usage on MS-DOS
Andrew Innes <andrewi@gnu.org>
parents:
23264
diff
changeset
|
110 |
1874c3236349
(printer-name): Update docstring about usage on MS-DOS
Andrew Innes <andrewi@gnu.org>
parents:
23264
diff
changeset
|
111 On MS-DOS and MS-Windows systems, if the value is an empty string then |
1874c3236349
(printer-name): Update docstring about usage on MS-DOS
Andrew Innes <andrewi@gnu.org>
parents:
23264
diff
changeset
|
112 Emacs will write directly to the printer port named by `printer-name'. |
1874c3236349
(printer-name): Update docstring about usage on MS-DOS
Andrew Innes <andrewi@gnu.org>
parents:
23264
diff
changeset
|
113 The programs `print' and `nprint' (the standard print programs on |
1874c3236349
(printer-name): Update docstring about usage on MS-DOS
Andrew Innes <andrewi@gnu.org>
parents:
23264
diff
changeset
|
114 Windows NT and Novell Netware respectively) are handled specially, using |
1874c3236349
(printer-name): Update docstring about usage on MS-DOS
Andrew Innes <andrewi@gnu.org>
parents:
23264
diff
changeset
|
115 `printer-name' as the destination for output; any other program is |
1874c3236349
(printer-name): Update docstring about usage on MS-DOS
Andrew Innes <andrewi@gnu.org>
parents:
23264
diff
changeset
|
116 treated like `lpr' except that an explicit filename is given as the last |
1874c3236349
(printer-name): Update docstring about usage on MS-DOS
Andrew Innes <andrewi@gnu.org>
parents:
23264
diff
changeset
|
117 argument." |
17414
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
118 :type 'string |
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
119 :group 'lpr) |
155 | 120 |
10637
6e25c10f6fe8
(lpr-headers-switches): Default is nil.
Richard M. Stallman <rms@gnu.org>
parents:
10054
diff
changeset
|
121 ;; Default is nil, because that enables us to use pr -f |
6e25c10f6fe8
(lpr-headers-switches): Default is nil.
Richard M. Stallman <rms@gnu.org>
parents:
10054
diff
changeset
|
122 ;; which is more reliable than pr with no args, which is what lpr -p does. |
17414
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
123 (defcustom lpr-headers-switches nil |
13894
eeee95f4d989
(lpr-page-header-switches, lpr-headers-switches): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
13803
diff
changeset
|
124 "*List of strings of options to request page headings in the printer program. |
10637
6e25c10f6fe8
(lpr-headers-switches): Default is nil.
Richard M. Stallman <rms@gnu.org>
parents:
10054
diff
changeset
|
125 If nil, we run `lpr-page-header-program' to make page headings |
17414
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
126 and print the result." |
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
127 :type '(repeat (string :tag "Argument")) |
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
128 :group 'lpr) |
5267
f7ea27a729b8
(lpr-headers-switches): Treat hpux like usg-unix-v.
Richard M. Stallman <rms@gnu.org>
parents:
5004
diff
changeset
|
129 |
17414
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
130 (defcustom print-region-function nil |
155 | 131 "Function to call to print the region on a printer. |
17414
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
132 See definition of `print-region-1' for calling conventions." |
35969
db288677db54
(print-region-function): Fix :type.
Dave Love <fx@gnu.org>
parents:
35743
diff
changeset
|
133 :type '(choice (const nil) function) |
17414
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
134 :group 'lpr) |
155 | 135 |
17414
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
136 (defcustom lpr-page-header-program "pr" |
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
137 "*Name of program for adding page headers to a file." |
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
138 :type 'string |
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
139 :group 'lpr) |
9187
8cf9181c119e
(print-region-1): Use them instead of just pr.
Richard M. Stallman <rms@gnu.org>
parents:
8598
diff
changeset
|
140 |
17813
2e13bced7aff
(lpr-page-header-switches): Use -F, not -f.
Richard M. Stallman <rms@gnu.org>
parents:
17695
diff
changeset
|
141 ;; Berkeley systems support -F, and GNU pr supports both -f and -F, |
2e13bced7aff
(lpr-page-header-switches): Use -F, not -f.
Richard M. Stallman <rms@gnu.org>
parents:
17695
diff
changeset
|
142 ;; So it looks like -F is a better default. |
36419
50998d3dd0bb
(lpr-page-header-switches, print-region-1): Undo 2000-07-06 change.
Richard M. Stallman <rms@gnu.org>
parents:
35969
diff
changeset
|
143 (defcustom lpr-page-header-switches '("-F") |
13894
eeee95f4d989
(lpr-page-header-switches, lpr-headers-switches): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
13803
diff
changeset
|
144 "*List of strings to use as options for the page-header-generating program. |
17414
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
145 The variable `lpr-page-header-program' specifies the program to use." |
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
146 :type '(repeat string) |
f967f12c8ec8
Add defgroup's; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
14188
diff
changeset
|
147 :group 'lpr) |
9187
8cf9181c119e
(print-region-1): Use them instead of just pr.
Richard M. Stallman <rms@gnu.org>
parents:
8598
diff
changeset
|
148 |
256 | 149 ;;;###autoload |
155 | 150 (defun lpr-buffer () |
27007
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
151 "Print buffer contents without pagination or page headers. |
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
152 See the variables `lpr-switches' and `lpr-command' |
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
153 for customization of the printer command." |
155 | 154 (interactive) |
155 (print-region-1 (point-min) (point-max) lpr-switches nil)) | |
156 | |
256 | 157 ;;;###autoload |
155 | 158 (defun print-buffer () |
26219
af8d23cd7220
(print-buffer): Doc-string fix.
Gerd Moellmann <gerd@gnu.org>
parents:
24091
diff
changeset
|
159 "Paginate and print buffer contents. |
27007
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
160 |
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
161 The variable `lpr-headers-switches' controls how to paginate. |
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
162 If it is nil (the default), we run the `pr' program (or whatever program |
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
163 `lpr-page-header-program' specifies) to paginate. |
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
164 `lpr-page-header-switches' specifies the switches for that program. |
26219
af8d23cd7220
(print-buffer): Doc-string fix.
Gerd Moellmann <gerd@gnu.org>
parents:
24091
diff
changeset
|
165 |
27007
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
166 Otherwise, the switches in `lpr-headers-switches' are used |
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
167 in the print command itself; we expect them to request pagination. |
49597
e88404e8f2cf
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45461
diff
changeset
|
168 |
27007
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
169 See the variables `lpr-switches' and `lpr-command' |
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
170 for further customization of the printer command." |
155 | 171 (interactive) |
172 (print-region-1 (point-min) (point-max) lpr-switches t)) | |
173 | |
256 | 174 ;;;###autoload |
155 | 175 (defun lpr-region (start end) |
27007
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
176 "Print region contents without pagination or page headers. |
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
177 See the variables `lpr-switches' and `lpr-command' |
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
178 for customization of the printer command." |
155 | 179 (interactive "r") |
180 (print-region-1 start end lpr-switches nil)) | |
181 | |
256 | 182 ;;;###autoload |
155 | 183 (defun print-region (start end) |
27007
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
184 "Paginate and print the region contents. |
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
185 |
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
186 The variable `lpr-headers-switches' controls how to paginate. |
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
187 If it is nil (the default), we run the `pr' program (or whatever program |
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
188 `lpr-page-header-program' specifies) to paginate. |
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
189 `lpr-page-header-switches' specifies the switches for that program. |
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
190 |
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
191 Otherwise, the switches in `lpr-headers-switches' are used |
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
192 in the print command itself; we expect them to request pagination. |
49597
e88404e8f2cf
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
45461
diff
changeset
|
193 |
27007
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
194 See the variables `lpr-switches' and `lpr-command' |
2d337fafb392
(lpr-buffer, print-buffer, lpr-region, print-region): Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents:
26219
diff
changeset
|
195 for further customization of the printer command." |
155 | 196 (interactive "r") |
197 (print-region-1 start end lpr-switches t)) | |
198 | |
199 (defun print-region-1 (start end switches page-headers) | |
8113
6a12a2845ccc
(print-region-1): Essentially undo previous change.
Richard M. Stallman <rms@gnu.org>
parents:
8021
diff
changeset
|
200 ;; On some MIPS system, having a space in the job name |
6a12a2845ccc
(print-region-1): Essentially undo previous change.
Richard M. Stallman <rms@gnu.org>
parents:
8021
diff
changeset
|
201 ;; crashes the printer demon. But using dashes looks ugly |
6a12a2845ccc
(print-region-1): Essentially undo previous change.
Richard M. Stallman <rms@gnu.org>
parents:
8021
diff
changeset
|
202 ;; and it seems to annoying to do for that MIPS system. |
35724
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
203 (let ((name (concat (buffer-name) " Emacs buffer")) |
8020
23deb92071c6
(print-region-1): Don't include a space in the job name.
Richard M. Stallman <rms@gnu.org>
parents:
7300
diff
changeset
|
204 (title (concat (buffer-name) " Emacs buffer")) |
21569
c1f86e273a38
(print-region-1): Stop using binary-process-{in,out}put,
Eli Zaretskii <eliz@gnu.org>
parents:
20278
diff
changeset
|
205 ;; Make pipes use the same coding system as |
c1f86e273a38
(print-region-1): Stop using binary-process-{in,out}put,
Eli Zaretskii <eliz@gnu.org>
parents:
20278
diff
changeset
|
206 ;; writing the buffer to a file would. |
35724
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
207 (coding-system-for-write (or coding-system-for-write |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
208 buffer-file-coding-system)) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
209 (coding-system-for-read (or coding-system-for-read |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
210 buffer-file-coding-system)) |
10708
8a15461d4f64
(print-region-1): Include print options in echo area msgs.
Richard M. Stallman <rms@gnu.org>
parents:
10700
diff
changeset
|
211 (width tab-width) |
35724
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
212 nswitches |
10708
8a15461d4f64
(print-region-1): Include print options in echo area msgs.
Richard M. Stallman <rms@gnu.org>
parents:
10700
diff
changeset
|
213 switch-string) |
155 | 214 (save-excursion |
35724
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
215 (and page-headers lpr-headers-switches |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
216 ;; It's possible to use an lpr option to get page headers. |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
217 (setq switches (append (if (stringp lpr-headers-switches) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
218 (list lpr-headers-switches) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
219 lpr-headers-switches) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
220 switches))) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
221 (setq nswitches (lpr-flatten-list |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
222 (mapcar 'lpr-eval-switch ; Dynamic evaluation |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
223 switches)) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
224 switch-string (if switches |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
225 (concat " with options " |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
226 (mapconcat 'identity switches " ")) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
227 "")) |
10708
8a15461d4f64
(print-region-1): Include print options in echo area msgs.
Richard M. Stallman <rms@gnu.org>
parents:
10700
diff
changeset
|
228 (message "Spooling%s..." switch-string) |
155 | 229 (if (/= tab-width 8) |
10700
f6f235bc26ba
(print-region-new-buffer): Return new start and end.
Richard M. Stallman <rms@gnu.org>
parents:
10670
diff
changeset
|
230 (let ((new-coords (print-region-new-buffer start end))) |
35724
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
231 (setq start (car new-coords) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
232 end (cdr new-coords) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
233 tab-width width) |
4446
ff1f9d7addd9
(print-region-1): Make END a marker so untabify relocates it.
Richard M. Stallman <rms@gnu.org>
parents:
2382
diff
changeset
|
234 (save-excursion |
ff1f9d7addd9
(print-region-1): Make END a marker so untabify relocates it.
Richard M. Stallman <rms@gnu.org>
parents:
2382
diff
changeset
|
235 (goto-char end) |
ff1f9d7addd9
(print-region-1): Make END a marker so untabify relocates it.
Richard M. Stallman <rms@gnu.org>
parents:
2382
diff
changeset
|
236 (setq end (point-marker))) |
155 | 237 (untabify (point-min) (point-max)))) |
238 (if page-headers | |
5267
f7ea27a729b8
(lpr-headers-switches): Treat hpux like usg-unix-v.
Richard M. Stallman <rms@gnu.org>
parents:
5004
diff
changeset
|
239 (if lpr-headers-switches |
10708
8a15461d4f64
(print-region-1): Include print options in echo area msgs.
Richard M. Stallman <rms@gnu.org>
parents:
10700
diff
changeset
|
240 ;; We handled this above by modifying SWITCHES. |
8a15461d4f64
(print-region-1): Include print options in echo area msgs.
Richard M. Stallman <rms@gnu.org>
parents:
10700
diff
changeset
|
241 nil |
10637
6e25c10f6fe8
(lpr-headers-switches): Default is nil.
Richard M. Stallman <rms@gnu.org>
parents:
10054
diff
changeset
|
242 ;; Run a separate program to get page headers. |
10700
f6f235bc26ba
(print-region-new-buffer): Return new start and end.
Richard M. Stallman <rms@gnu.org>
parents:
10670
diff
changeset
|
243 (let ((new-coords (print-region-new-buffer start end))) |
35724
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
244 (apply 'call-process-region (car new-coords) (cdr new-coords) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
245 lpr-page-header-program t t nil |
36419
50998d3dd0bb
(lpr-page-header-switches, print-region-1): Undo 2000-07-06 change.
Richard M. Stallman <rms@gnu.org>
parents:
35969
diff
changeset
|
246 (nconc (list "-h" title) |
50998d3dd0bb
(lpr-page-header-switches, print-region-1): Undo 2000-07-06 change.
Richard M. Stallman <rms@gnu.org>
parents:
35969
diff
changeset
|
247 lpr-page-header-switches))) |
35724
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
248 (setq start (point-min) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
249 end (point-max)))) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
250 (apply (or print-region-function 'call-process-region) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
251 (nconc (list start end lpr-command |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
252 nil nil nil) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
253 (and lpr-add-switches |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
254 (list "-J" name)) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
255 ;; These belong in pr if we are using that. |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
256 (and lpr-add-switches lpr-headers-switches |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
257 (list "-T" title)) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
258 (and (stringp printer-name) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
259 (list (concat lpr-printer-switch |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
260 printer-name))) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
261 nswitches)) |
4446
ff1f9d7addd9
(print-region-1): Make END a marker so untabify relocates it.
Richard M. Stallman <rms@gnu.org>
parents:
2382
diff
changeset
|
262 (if (markerp end) |
ff1f9d7addd9
(print-region-1): Make END a marker so untabify relocates it.
Richard M. Stallman <rms@gnu.org>
parents:
2382
diff
changeset
|
263 (set-marker end nil)) |
10708
8a15461d4f64
(print-region-1): Include print options in echo area msgs.
Richard M. Stallman <rms@gnu.org>
parents:
10700
diff
changeset
|
264 (message "Spooling%s...done" switch-string)))) |
155 | 265 |
266 ;; This function copies the text between start and end | |
10700
f6f235bc26ba
(print-region-new-buffer): Return new start and end.
Richard M. Stallman <rms@gnu.org>
parents:
10670
diff
changeset
|
267 ;; into a new buffer, makes that buffer current. |
f6f235bc26ba
(print-region-new-buffer): Return new start and end.
Richard M. Stallman <rms@gnu.org>
parents:
10670
diff
changeset
|
268 ;; It returns the new range to print from the new current buffer |
f6f235bc26ba
(print-region-new-buffer): Return new start and end.
Richard M. Stallman <rms@gnu.org>
parents:
10670
diff
changeset
|
269 ;; as (START . END). |
f6f235bc26ba
(print-region-new-buffer): Return new start and end.
Richard M. Stallman <rms@gnu.org>
parents:
10670
diff
changeset
|
270 |
5267
f7ea27a729b8
(lpr-headers-switches): Treat hpux like usg-unix-v.
Richard M. Stallman <rms@gnu.org>
parents:
5004
diff
changeset
|
271 (defun print-region-new-buffer (ostart oend) |
10700
f6f235bc26ba
(print-region-new-buffer): Return new start and end.
Richard M. Stallman <rms@gnu.org>
parents:
10670
diff
changeset
|
272 (if (string= (buffer-name) " *spool temp*") |
f6f235bc26ba
(print-region-new-buffer): Return new start and end.
Richard M. Stallman <rms@gnu.org>
parents:
10670
diff
changeset
|
273 (cons ostart oend) |
f6f235bc26ba
(print-region-new-buffer): Return new start and end.
Richard M. Stallman <rms@gnu.org>
parents:
10670
diff
changeset
|
274 (let ((oldbuf (current-buffer))) |
f6f235bc26ba
(print-region-new-buffer): Return new start and end.
Richard M. Stallman <rms@gnu.org>
parents:
10670
diff
changeset
|
275 (set-buffer (get-buffer-create " *spool temp*")) |
35724
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
276 (widen) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
277 (erase-buffer) |
10700
f6f235bc26ba
(print-region-new-buffer): Return new start and end.
Richard M. Stallman <rms@gnu.org>
parents:
10670
diff
changeset
|
278 (insert-buffer-substring oldbuf ostart oend) |
f6f235bc26ba
(print-region-new-buffer): Return new start and end.
Richard M. Stallman <rms@gnu.org>
parents:
10670
diff
changeset
|
279 (cons (point-min) (point-max))))) |
659
505130d1ddf8
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
617
diff
changeset
|
280 |
2382
030b76db285a
(printify-buffer) Added, debugged from Roland McGrath's printify-buffer code
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
281 (defun printify-region (begin end) |
17695
5788aa5f0fd0
(printify-region): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents:
17414
diff
changeset
|
282 "Replace nonprinting characters in region with printable representations. |
5788aa5f0fd0
(printify-region): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents:
17414
diff
changeset
|
283 The printable representations use ^ (for ASCII control characters) or hex. |
5788aa5f0fd0
(printify-region): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents:
17414
diff
changeset
|
284 The characters tab, linefeed, space, return and formfeed are not affected." |
2382
030b76db285a
(printify-buffer) Added, debugged from Roland McGrath's printify-buffer code
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
285 (interactive "r") |
030b76db285a
(printify-buffer) Added, debugged from Roland McGrath's printify-buffer code
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
286 (save-excursion |
52098
6e131215906b
printify-region fix
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
49597
diff
changeset
|
287 (save-restriction |
6e131215906b
printify-region fix
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
49597
diff
changeset
|
288 (narrow-to-region begin end) |
6e131215906b
printify-region fix
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
49597
diff
changeset
|
289 (goto-char (point-min)) |
6e131215906b
printify-region fix
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
49597
diff
changeset
|
290 (let (c) |
6e131215906b
printify-region fix
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
49597
diff
changeset
|
291 (while (re-search-forward "[\^@-\^h\^k\^n-\^_\177-\377]" nil t) |
6e131215906b
printify-region fix
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
49597
diff
changeset
|
292 (setq c (preceding-char)) |
6e131215906b
printify-region fix
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
49597
diff
changeset
|
293 (delete-backward-char 1) |
6e131215906b
printify-region fix
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
49597
diff
changeset
|
294 (insert (if (< c ?\ ) |
6e131215906b
printify-region fix
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
49597
diff
changeset
|
295 (format "\\^%c" (+ c ?@)) |
6e131215906b
printify-region fix
Vinicius Jose Latorre <viniciusjl@ig.com.br>
parents:
49597
diff
changeset
|
296 (format "\\%02x" c)))))))) |
35724
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
297 |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
298 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
299 ;; Functions hacked from `ps-print' package. |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
300 |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
301 ;; Dynamic evaluation |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
302 (defun lpr-eval-switch (arg) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
303 (cond ((stringp arg) arg) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
304 ((functionp arg) (apply arg nil)) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
305 ((symbolp arg) (symbol-value arg)) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
306 ((consp arg) (apply (car arg) (cdr arg))) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
307 (t nil))) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
308 |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
309 ;; `lpr-flatten-list' is defined here (copied from "message.el" and |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
310 ;; enhanced to handle dotted pairs as well) until we can get some |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
311 ;; sensible autoloads, or `flatten-list' gets put somewhere decent. |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
312 |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
313 ;; (lpr-flatten-list '((a . b) c (d . e) (f g h) i . j)) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
314 ;; => (a b c d e f g h i j) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
315 |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
316 (defun lpr-flatten-list (&rest list) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
317 (lpr-flatten-list-1 list)) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
318 |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
319 (defun lpr-flatten-list-1 (list) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
320 (cond |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
321 ((null list) (list)) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
322 ((consp list) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
323 (append (lpr-flatten-list-1 (car list)) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
324 (lpr-flatten-list-1 (cdr list)))) |
f2e26e453776
XEmacs compatibility and doc fixes from Vinicius Jose Latorre
Eli Zaretskii <eliz@gnu.org>
parents:
30101
diff
changeset
|
325 (t (list list)))) |
2382
030b76db285a
(printify-buffer) Added, debugged from Roland McGrath's printify-buffer code
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2307
diff
changeset
|
326 |
11831 | 327 (provide 'lpr) |
328 | |
52401 | 329 ;;; arch-tag: 21c3f821-ebec-4ca9-ac67-a81e4b75c62a |
659
505130d1ddf8
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
617
diff
changeset
|
330 ;;; lpr.el ends here |