Subject: 23.1; Add optional cmd arguments to mm pipe
From: Julien Danjou <[email-masked]>
To: [email-masked]
Date: Wed, 17 Feb 2010 18:03:41 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Please write in English if possible, because the Emacs maintainers

usually do not have translators to read other languages for them.

Your bug report will be posted to the [email-masked] mailing list,
and to the gnu.emacs.bug news group.

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:

Attached is a patch to add optional command argument to mime part piping functions.

# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: [email-masked]
# target_branch: http://bzr.savannah.gnu.org/r/emacs/trunk/
# testament_sha1: c69df82004749958febdc3c978f83c8274857efa
# timestamp: 2010-02-17 17:37:22 +0100
# base_revision_id: [email-masked]
# 
# Begin patch
=== modified file 'lisp/gnus/gnus-art.el'
--- lisp/gnus/gnus-art.el	2010-01-13 08:35:10 +0000
+++ lisp/gnus/gnus-art.el	2010-02-17 16:34:50 +0000
@@ -4974,13 +4974,14 @@
     (when data
       (mm-save-part data))))
 
-(defun gnus-mime-pipe-part ()
-  "Pipe the MIME part under point to a process."
+(defun gnus-mime-pipe-part (&optional cmd)
+  "Pipe the MIME part under point to a process.
+Use CMD as the process."
   (interactive)
   (gnus-article-check-buffer)
   (let ((data (get-text-property (point) 'gnus-data)))
     (when data
-      (mm-pipe-part data))))
+      (mm-pipe-part data cmd))))
 
 (defun gnus-mime-view-part ()
   "Interactively choose a viewing method for the MIME part under point."

=== modified file 'lisp/gnus/mm-decode.el'
--- lisp/gnus/mm-decode.el	2010-01-13 08:35:10 +0000
+++ lisp/gnus/mm-decode.el	2010-02-17 16:34:12 +0000
@@ -1292,12 +1292,13 @@
 	  (mm-write-region (point-min) (point-max) file nil nil nil 'binary t)
 	(set-default-file-modes current-file-modes)))))
 
-(defun mm-pipe-part (handle)
-  "Pipe HANDLE to a process."
+(defun mm-pipe-part (handle &optional cmd)
+  "Pipe HANDLE to a process.
+Use CMD as the process."
   (let* ((name (mail-content-type-get (mm-handle-type handle) 'name))
-	 (command
-	  (gnus-read-shell-command
-           "Shell command on MIME part: " mm-last-shell-command)))
+	 (command (or cmd
+		      (gnus-read-shell-command
+		       "Shell command on MIME part: " mm-last-shell-command))))
     (mm-with-unibyte-buffer
       (mm-insert-part handle)
       (mm-add-meta-html-tag handle)

# Begin bundle

It's useful to pipe mime part in Gnus to subprocess without entering it
manually.

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/usr/share/emacs/23.1/etc/DEBUG for instructions.

In GNU Emacs 23.1.1 (x86_64-pc-linux-gnu, GTK+ Version 2.18.6)
 of 2010-02-17 on cigue, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.10704000
configured using `configure  '--build=x86_64-linux-gnu' '--host=x86_64-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs23:/etc/emacs:/usr/local/share/emacs/23.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.1/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.1/leim' '--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars' 'build_alias=x86_64-linux-gnu' 'host_alias=x86_64-linux-gnu' 'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS=''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: fr_FR.UTF-8
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: nil
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Group

Minor modes in effect:
  gnus-undo-mode: t
  iswitchb-mode: t
  show-paren-mode: t
  global-hl-line-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-s a w e s o m e <return> <return> <kp-2> <kp-0> <kp-enter> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <return> <down> <return> 
<down> <down> <down> <down> <down> <up> <return> <S-down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> M-x j d : g n u <tab> <return> q ; <return> 
<return> d <return> <return> <return> <return> <return> 
n n ; <return> <return> n n <help-echo> <down-mouse-1> 
<mouse-movement> <mouse-1> M-x r e p o r <tab> <re
turn>

Recent messages:
Retrieving newsgroup: nnimap+Naquadah:lists.freedesktop.xdg...
Opening nnimap server on Naquadah...done
nnimap: Updating info for nnimap+Naquadah:lists.freedesktop.xdg...done
Fetching headers for nnimap+Naquadah:lists.freedesktop.xdg...done
Generating summary...done
Unknown symbol: ,
Exiting summary buffer and applying spam rules
nnimap: Setting marks in lists.freedesktop.xdg...done
No more unread newsgroups
Auto-saving...

-- 
Julien Danjou
// ᐰ <[email-masked]>   http://julien.danjou.info