;;; lpr.el --- print Emacs buffer on line printer
-;; Copyright (C) 1985, 1988, 1992, 1994, 2001, 2003
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1988, 1992, 1994, 2001, 2002, 2003,
+;; 2004, 2005, 2006 Free Software Foundation, Inc.
;; Maintainer: FSF
;; Keywords: unix
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
(defgroup lpr nil
- "Print Emacs buffer on line printer"
+ "Print Emacs buffer on line printer."
:group 'wp)
;; Berkeley systems support -F, and GNU pr supports both -f and -F,
;; So it looks like -F is a better default.
-(defcustom lpr-page-header-switches '("-F")
+(defcustom lpr-page-header-switches '("-h %s" "-F")
"*List of strings to use as options for the page-header-generating program.
+If `%s' appears in one of the strings, it is substituted by the page title.
The variable `lpr-page-header-program' specifies the program to use."
:type '(repeat string)
:group 'lpr)
(let ((new-coords (print-region-new-buffer start end)))
(apply 'call-process-region (car new-coords) (cdr new-coords)
lpr-page-header-program t t nil
- (nconc (list "-h" title)
- lpr-page-header-switches)))
+ (mapcar (lambda (e) (format e title))
+ lpr-page-header-switches)))
(setq start (point-min)
end (point-max))))
(apply (or print-region-function 'call-process-region)
(while (re-search-forward "[\^@-\^h\^k\^n-\^_\177-\377]" nil t)
(setq c (preceding-char))
(delete-backward-char 1)
- (insert (if (< c ?\ )
+ (insert (if (< c ?\s)
(format "\\^%c" (+ c ?@))
(format "\\%02x" c))))))))