mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-16 17:24:23 +00:00
* lisp/net/eudc-bob.el (eudc-bob-pipe-object-to-external-program): Simplify
Use `with-temp-buffer`.
This commit is contained in:
parent
4bb2f39591
commit
8255eb526f
1 changed files with 12 additions and 18 deletions
|
|
@ -230,26 +230,20 @@ display a button."
|
|||
(coding-system-for-write 'binary)) ;Inhibit EOL conversion.
|
||||
(write-region data nil filename)))
|
||||
|
||||
(defun eudc-bob-pipe-object-to-external-program ()
|
||||
(defun eudc-bob-pipe-object-to-external-program (program)
|
||||
"Pipe the object data of the button at point to an external program."
|
||||
(interactive)
|
||||
(interactive (list (completing-read "Viewer: " eudc-external-viewers)))
|
||||
(let ((data (eudc-bob-get-overlay-prop 'object-data))
|
||||
(buffer (generate-new-buffer "*eudc-tmp*"))
|
||||
program
|
||||
viewer)
|
||||
(condition-case nil
|
||||
(save-excursion
|
||||
(set-buffer-file-coding-system 'binary)
|
||||
(set-buffer buffer)
|
||||
(insert data)
|
||||
(setq program (completing-read "Viewer: " eudc-external-viewers))
|
||||
(if (setq viewer (assoc program eudc-external-viewers))
|
||||
(call-process-region (point-min) (point-max)
|
||||
(car (cdr viewer))
|
||||
(cdr (cdr viewer)))
|
||||
(call-process-region (point-min) (point-max) program)))
|
||||
(error
|
||||
(kill-buffer buffer)))))
|
||||
(viewer (assoc program eudc-external-viewers)))
|
||||
(with-temp-buffer
|
||||
(set-buffer-multibyte nil)
|
||||
(insert data)
|
||||
(let ((coding-system-for-write 'binary)) ;Inhibit EOL conversion
|
||||
(if viewer
|
||||
(call-process-region (point-min) (point-max)
|
||||
(car (cdr viewer))
|
||||
(cdr (cdr viewer)))
|
||||
(call-process-region (point-min) (point-max) program))))))
|
||||
|
||||
(defun eudc-bob-menu ()
|
||||
"Retrieve the menu attached to a binary object."
|
||||
|
|
|
|||
Loading…
Reference in a new issue