* bug#30862: 25.3; Need variant of `make-process' that uses file name handlers
@ 2018-03-19 19:46 Philipp
2018-03-21 12:50 ` Michael Albinus
0 siblings, 1 reply; 6+ messages in thread
From: Philipp @ 2018-03-19 19:46 UTC (permalink / raw)
To: 30862
Most fundamental process-related functions (call-process, start-process)
have variants that take file name handlers into account, except
make-process. Since make-process is more powerful than start-process,
it should also have a variant that honors file name handlers. For
example, it could accept another keyword argument ‘:file-handlers’
which, if non-nil, would invoke file name handlers based on
‘default-directory’.
In GNU Emacs 25.3.1 (x86_64-apple-darwin16.7.0, NS appkit-1504.83 Version 10.12.6 (Build 16G29))
of 2017-09-15 built on p
Windowing system distributor 'Apple', version 10.3.1561
Configured using:
'configure --disable-dependency-tracking --disable-silent-rules
--enable-locallisppath=/usr/local/share/emacs/site-lisp
--infodir=/usr/local/Cellar/emacs/25.3/share/info/emacs
--prefix=/usr/local/Cellar/emacs/25.3 --without-x --with-xml2
--without-dbus --without-gnutls --without-imagemagick --with-modules
--with-ns --disable-ns-self-contained'
Configured features:
JPEG NOTIFY ACL LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES
Important settings:
value of $LANG: de_DE.UTF-8
locale-coding-system: utf-8-unix
Major mode: C/l
Minor modes in effect:
global-git-commit-mode: t
async-bytecomp-package-mode: t
shell-dirtrack-mode: t
diff-auto-refine-mode: t
global-company-mode: t
global-flycheck-mode: t
flyspell-mode: t
yas-global-mode: t
TeX-PDF-mode: t
TeX-source-correlate-mode: t
save-place-mode: t
xterm-mouse-mode: t
which-function-mode: t
show-paren-mode: t
server-mode: t
ido-ubiquitous-mode: t
global-hl-line-mode: t
global-auto-revert-mode: t
electric-pair-mode: t
display-battery-mode: t
desktop-save-mode: t
auto-insert-mode: t
tooltip-mode: t
global-eldoc-mode: t
electric-quote-mode: t
electric-layout-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
global-prettify-symbols-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
size-indication-mode: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t
abbrev-mode: t
Recent messages:
Git finished [2 times]
[C-t] show common commands, [?] describe events, [C-h i] show manual
Composing main Info directory...done
Mark saved where search started
Type C-x 1 to delete the help window.
[2 times]
scroll-down-command: Beginning of buffer
Load-path shadows:
/Users/p/.emacs.d/elpa/25.3/s-20171102.227/s hides /usr/local/share/emacs/site-lisp/s-emacs/s
/usr/local/share/emacs/site-lisp/seq/seq hides /usr/local/Cellar/emacs/25.3/share/emacs/25.3/lisp/emacs-lisp/seq
/usr/local/share/emacs/site-lisp/let-alist/let-alist hides /usr/local/Cellar/emacs/25.3/share/emacs/25.3/lisp/emacs-lisp/let-alist
/usr/local/Cellar/emacs/25.3/share/emacs/25.3/lisp/emacs-lisp/cl-lib hides /usr/local/share/emacs/site-lisp/cl-lib/cl-lib
Features:
(shadow mail-extr emacsbug sendmail info pcmpl-unix pcmpl-gnu dired-aux
rect wdired pp bug-reference magit-version magit-obsolete magit-blame
magit-stash magit-bisect magit-remote magit-commit magit-sequence
magit-notes magit-worktree magit-branch magit-files magit-refs
magit-status magit magit-repos magit-apply magit-wip magit-log
magit-diff smerge-mode magit-core magit-autorevert magit-process
magit-margin magit-mode magit-git magit-section magit-popup git-commit
magit-utils log-edit message rfc822 mml mml-sec epg mm-decode mm-bodies
mm-encode mailabbrev gmm-utils mailheader pcvs-util with-editor
async-bytecomp async jka-compr url-http tls url-auth mail-parse rfc2231
rfc2047 rfc2045 ietf-drums url-gw make-mode cap-words superword subword
debug pulse misearch multi-isearch add-log eieio-opt speedbar sb-image
ezimage dframe sh-script executable python tramp-sh tramp tramp-compat
tramp-loaddefs trampver format-spec lua-mode plain-tex tex-mode shell
pcomplete view nxml-uchnm rng-xsd xsd-regexp rng-cmpct rng-nxml
rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util
rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph
nxml-enc xmltok conf-mode dired company-oddmuse company-keywords
company-etags company-gtags company-dabbrev-code company-dabbrev
company-files company-capf company-cmake company-xcode company-clang
company-semantic company-eclim company-template company-css company-nxml
company-bbdb tex-buf latex tex-ispell tex-style tex-info texinfo vc-git
diff-mode term disp-table ehelp closure-template-html-mode derived
sgml-mode apropos align markdown-mode color go-mode url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-domsuf
url-util mailcap find-file company flycheck json map find-func
haskell-mode haskell-cabal haskell-utils haskell-font-lock
haskell-indentation haskell-string haskell-sort-imports haskell-lexeme
haskell-align-imports haskell-compat haskell-complete-module
haskell-ghc-support noutline outline flymake etags xref project dabbrev
haskell-customize easy-mmode paredit edmacro kmacro flyspell ispell
whitespace yasnippet golint protobuf-mode cc-langs cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
clang-format xml phst ffap thingatpt url-parse auth-source eieio
eieio-core password-cache url-vars subr-x gnutls font-latex tex crm
advice tex-site auto-loads ruby-mode smie yaml-mode rx browse-url misc f
dash saveplace solarized-theme solarized-definitions cl-macs xt-mouse
which-func imenu paren server ido-completing-read+ cl-seq memoize s
cus-edit minibuf-eldef ido grep compile comint ansi-color ring gnus
gnus-ems nnheader gnus-util mail-utils mm-util help-fns mail-prsvr
wid-edit hl-line autorevert filenotify elec-pair battery desktop
frameset autoinsert cus-start cus-load sort finder-inf package
epg-config seq seq-25 byte-opt bytecomp byte-compile cl-extra help-mode
easymenu cconv cl gv cl-loaddefs pcase cl-lib time-date mule-util
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel ns-win ucs-normalize term/common-win tool-bar dnd fontset image
regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese charscript case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote kqueue cocoa ns multi-tty
make-network-process emacs)
Memory information:
((conses 16 970150 139179)
(symbols 48 53138 0)
(miscs 40 18356 7061)
(strings 32 193524 21151)
(string-bytes 1 6335115)
(vectors 16 82337)
(vector-slots 8 1995260 121894)
(floats 8 734 754)
(intervals 56 64528 2311)
(buffers 976 150))
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#30862: 25.3; Need variant of `make-process' that uses file name handlers
2018-03-19 19:46 bug#30862: 25.3; Need variant of `make-process' that uses file name handlers Philipp
@ 2018-03-21 12:50 ` Michael Albinus
2018-12-16 23:10 ` Philipp Stephani
0 siblings, 1 reply; 6+ messages in thread
From: Michael Albinus @ 2018-03-21 12:50 UTC (permalink / raw)
To: Philipp; +Cc: 30862
Philipp <p.stephani2@gmail.com> writes:
Hi Philipp,
> Most fundamental process-related functions (call-process, start-process)
> have variants that take file name handlers into account, except
> make-process. Since make-process is more powerful than start-process,
> it should also have a variant that honors file name handlers. For
> example, it could accept another keyword argument ‘:file-handlers’
> which, if non-nil, would invoke file name handlers based on
> ‘default-directory’.
I don't believe we need an extra keyword. It could be handled like
start-file-process and process-file: if default-directory matches an
entry in file-name-handler-list, the respective handler is called;
otherwise the native implementation is applied.
It is up to the file name handler to decide, whether a fallback to the
native implementation shall be applied.
This is different to the behavior of call-process and start-process;
callees of make-process must be aware that a process on a remote host
could be started.
Best regards, Michael.
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#30862: 25.3; Need variant of `make-process' that uses file name handlers
2018-03-21 12:50 ` Michael Albinus
@ 2018-12-16 23:10 ` Philipp Stephani
2018-12-17 8:44 ` Michael Albinus
0 siblings, 1 reply; 6+ messages in thread
From: Philipp Stephani @ 2018-12-16 23:10 UTC (permalink / raw)
To: Michael Albinus; +Cc: 30862
Am Mi., 21. März 2018 um 13:50 Uhr schrieb Michael Albinus
<michael.albinus@gmx.de>:
>
> Philipp <p.stephani2@gmail.com> writes:
>
> Hi Philipp,
>
> > Most fundamental process-related functions (call-process, start-process)
> > have variants that take file name handlers into account, except
> > make-process. Since make-process is more powerful than start-process,
> > it should also have a variant that honors file name handlers. For
> > example, it could accept another keyword argument ‘:file-handlers’
> > which, if non-nil, would invoke file name handlers based on
> > ‘default-directory’.
>
> I don't believe we need an extra keyword. It could be handled like
> start-file-process and process-file: if default-directory matches an
> entry in file-name-handler-list, the respective handler is called;
> otherwise the native implementation is applied.
>
> It is up to the file name handler to decide, whether a fallback to the
> native implementation shall be applied.
>
> This is different to the behavior of call-process and start-process;
> callees of make-process must be aware that a process on a remote host
> could be started.
I don't see why call-process and make-process should behave
differently in this regard. For call-process and start-process the
caller has to explicitly opt in into applying file name handlers (by
calling different functions); presumably because people consider it
too dangerous to accidentally start random processes on remote
machines. Why should make-process be different?
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#30862: 25.3; Need variant of `make-process' that uses file name handlers
2018-12-16 23:10 ` Philipp Stephani
@ 2018-12-17 8:44 ` Michael Albinus
2018-12-17 16:05 ` Eli Zaretskii
0 siblings, 1 reply; 6+ messages in thread
From: Michael Albinus @ 2018-12-17 8:44 UTC (permalink / raw)
To: Philipp Stephani; +Cc: 30862
Philipp Stephani <p.stephani2@gmail.com> writes:
Hi Philipp,
> I don't see why call-process and make-process should behave
> differently in this regard. For call-process and start-process the
> caller has to explicitly opt in into applying file name handlers (by
> calling different functions); presumably because people consider it
> too dangerous to accidentally start random processes on remote
> machines. Why should make-process be different?
In general, file name handlers are invoked silently, w/o the need to
adapt the using packages. `call-process' and `start-process' are
exceptions, because sometimes it isn't desired to invoke a file name
handler, even if `default-directory' is remote. Therefore, the new
functions.
`make-process' fits into this category. Whether a new function to be
applied, or an additional argument, doesn't make a difference. The
latter was not possible for `call-process' and `start-process'.
We have now your patch (thanks!), let's continue this way.
Best regards, Michael.
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#30862: 25.3; Need variant of `make-process' that uses file name handlers
2018-12-17 8:44 ` Michael Albinus
@ 2018-12-17 16:05 ` Eli Zaretskii
2018-12-17 17:18 ` Michael Albinus
0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2018-12-17 16:05 UTC (permalink / raw)
To: Michael Albinus; +Cc: 30862, p.stephani2
> From: Michael Albinus <michael.albinus@gmx.de>
> Date: Mon, 17 Dec 2018 09:44:23 +0100
> Cc: 30862@debbugs.gnu.org
>
> We have now your patch (thanks!), let's continue this way.
Does this mean you are no longer opposed to adding this feature? Your
original response sounded like you had some fundamental disagreement
with this proposal.
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#30862: 25.3; Need variant of `make-process' that uses file name handlers
2018-12-17 16:05 ` Eli Zaretskii
@ 2018-12-17 17:18 ` Michael Albinus
0 siblings, 0 replies; 6+ messages in thread
From: Michael Albinus @ 2018-12-17 17:18 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 30862, p.stephani2
Eli Zaretskii <eliz@gnu.org> writes:
Hi Eli,
> Does this mean you are no longer opposed to adding this feature? Your
> original response sounded like you had some fundamental disagreement
> with this proposal.
There was never a "fundamental disagreement" making
`make-network-peocess' file name handler aware. I was not sure whether
we need a new keyword, but since all other people seem to prefer this, I
don't oppose.
See also my answer to Stefan in bug#28691 from October 2017.
Best regards, Michael.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-12-17 17:18 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-19 19:46 bug#30862: 25.3; Need variant of `make-process' that uses file name handlers Philipp
2018-03-21 12:50 ` Michael Albinus
2018-12-16 23:10 ` Philipp Stephani
2018-12-17 8:44 ` Michael Albinus
2018-12-17 16:05 ` Eli Zaretskii
2018-12-17 17:18 ` Michael Albinus
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.