1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
The Debian packaging of emacs-openwith is maintained in git, using the
merging workflow described in dgit-maint-merge(7). There isn't a
patch queue that can be represented as a quilt series.
A detailed breakdown of the changes is available from their
canonical representation - git commits in the packaging repository.
For example, to see the changes made by the Debian maintainer in
the first upload of upstream version 1.2.3, you could use:
% git clone https://git.dgit.debian.org/emacs-openwith
% cd emacs-openwith
% git log --oneline 1.2.3..debian/1.2.3-1 -- . ':!debian'
(If you have dgit, use `dgit clone emacs-openwith`, rather than plain
`git clone`.)
A single combined diff, containing all the changes, follows.
--- emacs-openwith-0.8g.orig/openwith.el
+++ emacs-openwith-0.8g/openwith.el
@@ -69,6 +69,18 @@ where the symbol 'file' is replaced by t
:group 'openwith
:type 'boolean)
+(defun openwith-open (command arglist)
+ "Run external command COMMAND, in such a way that it is
+ disowned from the parent Emacs process. If Emacs dies, the
+ process spawned here lives on. ARGLIST is a list of strings,
+ each an argument to COMMAND."
+ (let ((shell-file-name "/bin/sh"))
+ (start-process-shell-command
+ "openwith-process" nil
+ (concat "exec nohup " command " "
+ (mapconcat 'shell-quote-argument arglist " ")
+ " >/dev/null"))))
+
(defun openwith-file-handler (operation &rest args)
"Open file with external program, if an association is configured."
(when (and openwith-mode (not (buffer-modified-p)) (zerop (buffer-size)))
@@ -86,7 +98,7 @@ where the symbol 'file' is replaced by t
(when (or (not openwith-confirm-invocation)
(y-or-n-p (format "%s %s? " (cadr oa)
(mapconcat #'identity params " "))))
- (apply #'start-process "openwith-process" nil (cadr oa) params)
+ (openwith-open (cadr oa) params)
(kill-buffer nil)
;; inhibit actions that would follow the regular
;; insertion of file contents
|