home *** CD-ROM | disk | FTP | other *** search
-
- It's just some hacks I put together. Not very good:
-
- (defvar enscript::printer (or (getenv "PRINTER") "" ))
- (defvar enscript::switches "-h2rG")
-
- (defun enscript-buffer (printer)
- (interactive (list
- (read-string "Printer? " enscript::printer)))
- (setq enscript::printer printer)
- (enscript-region (point-min) (point-max) enscript::switches printer))
-
- (defun enscript-header (printer header)
- (interactive (list
- (read-string "Printer? " enscript::printer)
- (read-string "Header? " (buffer-name))
- ))
- (enscript-region (point-min) (point-max)
- (concat enscript::switches "-b\"" header "\"")
- printer))
-
- (defun enscript-region (start end switches printer)
- (interactive)
- (let(
- (name (concat (buffer-name) "-Emacs-Buffer"))
- (width tab-width)
- (filename (make-temp-name "/tmp/"))
- )
- (save-excursion
- (message "Spooling...")
- (if (/= tab-width 8)
- (let ((oldbuf (current-buffer)))
- (set-buffer (get-buffer-create " *spool temp*"))
- (widen) (erase-buffer)
- (insert-buffer-substring oldbuf start end)
- (setq tab-width width)
- (untabify (point-min) (point-max))
- (setq start (point-min) end (point-max))))
- (write-region start end filename)
- (apply 'call-process
- (nconc (list "enscript" nil nil nil)
- (list (concat "-b\'" name "\'")
- (concat "-P" printer)
- switches
- filename))))
- (delete-file filename)
- (message "Spooling...done")))
-
-
-