Commit d346bf7e authored by Stefan Monnier's avatar Stefan Monnier
Browse files

* gnus-util.el (gnus-read-shell-command): New function.

* mm-decode.el (mm-pipe-part):
* gnus-art.el (gnus-summary-save-in-pipe): Use it.
parent c006c0c8
2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
* gnus-util.el (gnus-read-shell-command): New function.
* mm-decode.el (mm-pipe-part):
* gnus-art.el (gnus-summary-save-in-pipe): Use it.
2008-06-05 Katsumi Yamaoka <yamaoka@jpl.org>
* message.el (message-disassociate-draft): Revert 2008-03-18 change.
......
......@@ -3944,7 +3944,7 @@ The directory to save in defaults to `gnus-article-save-directory'."
gnus-last-shell-command)
((stringp command)
command)
(t (read-string
(t (gnus-read-shell-command
(format
"Shell command on %s: "
(if (and gnus-number-of-articles-to-be-saved
......
......@@ -62,7 +62,7 @@
(eval-and-compile
(cond
;; Prefer `replace-regexp-in-string' (present in Emacs, XEmacs 21.5,
;; SXEmacs 22.1.4) over `replace-in-string'. The later leads to inf-loops
;; SXEmacs 22.1.4) over `replace-in-string'. The lalter leads to inf-loops
;; on empty matches:
;; (replace-in-string "foo" "/*$" "/")
;; (replace-in-string "xe" "\\(x\\)?" "")
......@@ -957,10 +957,10 @@ If there's no subdirectory, delete DIRECTORY as well."
(overlays-at pos)))))))
;;; Protected and atomic operations. dmoore@ucsd.edu 21.11.1996
;;; The primary idea here is to try to protect internal datastructures
;;; from becoming corrupted when the user hits C-g, or if a hook or
;;; similar blows up. Often in Gnus multiple tables/lists need to be
;;; updated at the same time, or information can be lost.
;; The primary idea here is to try to protect internal datastructures
;; from becoming corrupted when the user hits C-g, or if a hook or
;; similar blows up. Often in Gnus multiple tables/lists need to be
;; updated at the same time, or information can be lost.
(defvar gnus-atomic-be-safe t
"If t, certain operations will be protected from interruption by C-g.")
......@@ -979,7 +979,7 @@ variables and then do only the assignment atomically."
(put 'gnus-atomic-progn 'lisp-indent-function 0)
(defmacro gnus-atomic-progn-assign (protect &rest forms)
"Evaluate FORMS, but insure that the variables listed in PROTECT
"Evaluate FORMS, but ensure that the variables listed in PROTECT
are not changed if anything in FORMS signals an error or otherwise
non-locally exits. The variables listed in PROTECT are updated atomically.
It is safe to use gnus-atomic-progn-assign with long computations.
......@@ -1798,6 +1798,9 @@ is allowed once again. (Immediately, if `inhibit-quit' is nil.)"
;; that intends to handle the quit signal next time.
(eval '(ignore nil))))))
(defalias 'gnus-read-shell-command
(if (fboundp 'read-shell-command) 'read-shell-command 'read-string))
(provide 'gnus-util)
;; arch-tag: f94991af-d32b-4c97-8c26-ca12a934de49
......
......@@ -1295,7 +1295,8 @@ text/\\(\\sw+\\)\\(?:\;\\s-*charset=\\(.+?\\)\\)?[\"'][^>]*>" nil t)
"Pipe HANDLE to a process."
(let* ((name (mail-content-type-get (mm-handle-type handle) 'name))
(command
(read-string "Shell command on MIME part: " mm-last-shell-command)))
(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)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment