2001-12-16 Simon Josefsson <jas@extundo.com>
authorSimon Josefsson <jas@extundo.com>
Sun, 16 Dec 2001 18:10:48 +0000 (18:10 +0000)
committerSimon Josefsson <jas@extundo.com>
Sun, 16 Dec 2001 18:10:48 +0000 (18:10 +0000)
Inspired by code by Bernhard Walle <Bernhard.Walle@gmx.de>.

* gnus-sum.el (gnus-summary-muttprint-program): New variable.
(gnus-summary-save-map): Add muttprint.
(gnus-summary-make-menu-bar): Ditto.
(gnus-summary-muttprint): New function.

* gnus-art.el (gnus-summary-pipe-to-muttprint): New function.

lisp/ChangeLog
lisp/gnus-art.el
lisp/gnus-sum.el

index 961ef36..4e724f1 100644 (file)
@@ -1,3 +1,13 @@
+2001-12-16  Simon Josefsson  <jas@extundo.com>
+       Inspired by code by Bernhard Walle <Bernhard.Walle@gmx.de>.
+
+       * gnus-sum.el (gnus-summary-muttprint-program): New variable.
+       (gnus-summary-save-map): Add muttprint.
+       (gnus-summary-make-menu-bar): Ditto.
+       (gnus-summary-muttprint): New function.
+
+       * gnus-art.el (gnus-summary-pipe-to-muttprint): New function.
+
 2001-12-14 11:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
 
        * uudecode.el (uudecode-decode-region-internal): Speedup by using
index 1d74553..1b3cf01 100644 (file)
@@ -2763,6 +2763,13 @@ The directory to save in defaults to `gnus-article-save-directory'."
       (shell-command-on-region (point-min) (point-max) command nil)))
   (setq gnus-last-shell-command command))
 
+(defun gnus-summary-pipe-to-muttprint (&optional command)
+  "Pipe this article to muttprint."
+  (setq command (read-string
+                "Print using command: " gnus-summary-muttprint-program
+                nil gnus-summary-muttprint-program))
+  (gnus-summary-save-in-pipe command))
+
 ;;; Article file names when saving.
 
 (defun gnus-capitalize-newsgroup (newsgroup)
index 3cc25b5..88e7462 100644 (file)
@@ -998,6 +998,11 @@ that were fetched.  Say, for nnultimate groups."
   :group 'gnus-summary
   :type '(choice boolean regexp))
 
+(defcustom gnus-summary-muttprint-program "muttprint"
+  "Command (and optional arguments) used to run Muttprint."
+  :group 'gnus-summary
+  :type 'string)
+
 ;;; Internal variables
 
 (defvar gnus-summary-display-cache nil)
@@ -1801,6 +1806,7 @@ increase the score of each group you read."
     "h" gnus-summary-save-article-folder
     "v" gnus-summary-save-article-vm
     "p" gnus-summary-pipe-output
+    "P" gnus-summary-muttprint
     "s" gnus-soup-add-article)
 
   (gnus-define-keys (gnus-summary-mime-map "K" gnus-summary-mode-map)
@@ -1929,6 +1935,7 @@ increase the score of each group you read."
              ["Save body in file" gnus-summary-save-article-body-file t]
              ["Pipe through a filter" gnus-summary-pipe-output t]
              ["Add to SOUP packet" gnus-soup-add-article t]
+             ["Print with Muttprint" gnus-summary-muttprint t]
              ["Print" gnus-summary-print-article t])
             ("Backend"
              ["Respool article..." gnus-summary-respool-article t]
@@ -9946,6 +9953,17 @@ save those articles instead."
   (let ((gnus-default-article-saver 'gnus-summary-save-body-in-file))
     (gnus-summary-save-article arg)))
 
+(defun gnus-summary-muttprint (&optional arg)
+  "Print the current article using Muttprint.
+If N is a positive number, save the N next articles.
+If N is a negative number, save the N previous articles.
+If N is nil and any articles have been marked with the process mark,
+save those articles instead."
+  (interactive "P")
+  (require 'gnus-art)
+  (let ((gnus-default-article-saver 'gnus-summary-pipe-to-muttprint))
+    (gnus-summary-save-article arg t)))
+
 (defun gnus-summary-pipe-message (program)
   "Pipe the current article through PROGRAM."
   (interactive "sProgram: ")