unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Thomas Fitzsimmons <fitzsim@fitzsim.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 33050@debbugs.gnu.org, Filipp Gunbin <fgunbin@fastmail.fm>,
	alan@idiocy.org
Subject: bug#33050: 27.0.50; [macOS] Problem with process input with process-connection-type nil
Date: Thu, 25 Oct 2018 21:41:34 -0400	[thread overview]
Message-ID: <m34ld9fprl.fsf@fitzsim.org> (raw)
In-Reply-To: <83a7n2q6jb.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 25 Oct 2018 20:29:12 +0300")

Hi Eli,

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Filipp Gunbin <fgunbin@fastmail.fm>
>> Cc: fitzsim@fitzsim.org,  33050@debbugs.gnu.org, alan@idiocy.org
>> Date: Thu, 25 Oct 2018 20:10:06 +0300
>> 
>> > I'm probably missing something: why are you still trying to find a
>> > solution, when one was already found?  What's wrong with setting
>> > process-connection-type non-nil in this case, at least for Darwin?
>> 
>> Yes, setting p-c-t to t worked from the start, but it's just a
>> workaround - there's still problem with p-c-t nil.
>> 
>> I'm currently running with this patch, which is based on Alan's fix in
>> callproc.c (call_process() had the same problem on Darwin).
>
> I don't understand why: using nil process-connection-type for programs
> that prompt the user is a bug anyway.

I'm interested to know why you think this is a bug (or even not
preferable) in the specific case of ldap.el.  When ldap.el calls
ldapsearch, ldapsearch doesn't prompt the user for the password
directly.  ldap.el (having pre-read the password into Elisp by various
means) runs the command, and, in response to its prompt, sends it the
password.

I re-read the Elisp "Asynchronous Processes" node; when I was deciding
how to set process-connection-type, I think I was following the
_underlined_ part in:

   [...] If available, ptys are usually preferable for processes visible
   to the user, as in Shell mode, because they allow for job control
   (‘C-c’, ‘C-z’, etc.) between the process and its children, and
   because interactive programs treat ptys as terminal devices, whereas
   pipes don’t support these features.  However, _for subprocesses used
   by Lisp programs for internal purposes, it is often better to use a
   pipe_, because pipes are more efficient, and because they are immune
   to stray character injections that ptys introduce for large (around
   500 byte) messages.  Also, the total number of ptys is limited on
   many systems and it is good not to waste them.

Given that ldapsearch can operate over a pipe (i.e., doesn't need
terminal features, seems to be unaffected by buffering), and is used for
internal purposes (i.e., is not visible to the user) isn't pipe mode
preferable for the reasons given there?

ldapsearch works for me on GNU/Linux either way, and I don't mind
changing process-connection-type to t on the release branch to work
around the Darwin behaviour.  But if ldap.el's current setting of
process-connection-type really is a flat out bug then the Elisp manual
might need clarification or stronger language about when not to set it
to "pipe mode".

Thanks,
Thomas





  parent reply	other threads:[~2018-10-26  1:41 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-15 19:03 bug#33050: 27.0.50; [macOS] Problem with process input with process-connection-type nil Filipp Gunbin
2018-10-20 10:09 ` Eli Zaretskii
2018-10-22 15:35   ` Filipp Gunbin
2018-10-23  1:53     ` Thomas Fitzsimmons
2018-10-23 22:41       ` Filipp Gunbin
2018-10-24  1:55         ` Thomas Fitzsimmons
2018-10-24 13:13           ` Filipp Gunbin
2018-10-24 14:05           ` Filipp Gunbin
2018-10-24 16:20             ` Thomas Fitzsimmons
2018-10-24 19:33               ` Filipp Gunbin
2018-10-24 19:46               ` Filipp Gunbin
2018-10-24 22:07                 ` Thomas Fitzsimmons
2018-10-25 15:51                   ` Filipp Gunbin
2018-10-25 16:24                     ` Eli Zaretskii
2018-10-25 17:10                       ` Filipp Gunbin
2018-10-25 17:29                         ` Eli Zaretskii
2018-10-25 18:10                           ` Filipp Gunbin
2018-10-25 18:20                             ` Eli Zaretskii
2018-10-25 19:36                               ` Filipp Gunbin
2018-10-25 19:40                                 ` Eli Zaretskii
2018-10-25 20:47                                   ` Filipp Gunbin
2018-10-26  6:29                                     ` Eli Zaretskii
2018-10-26  1:41                           ` Thomas Fitzsimmons [this message]
2018-10-26  7:00                             ` Eli Zaretskii
2018-10-26 15:41                               ` Thomas Fitzsimmons
2018-10-26 17:20                                 ` Eli Zaretskii
2018-10-27 10:20                                   ` Eli Zaretskii
2018-10-27 13:42                                     ` Thomas Fitzsimmons
2018-10-27 14:53                                       ` Eli Zaretskii
2018-10-27 16:53                                         ` Thomas Fitzsimmons
2018-10-27 18:49                                           ` Eli Zaretskii
2018-10-26 23:12                                 ` Filipp Gunbin
2018-10-27  2:09                                   ` Thomas Fitzsimmons
2018-10-27 14:52                                     ` Filipp Gunbin
2018-10-30  0:49                                       ` Thomas Fitzsimmons
2018-10-30 19:11                                         ` Filipp Gunbin
2018-11-28 23:09                                     ` Filipp Gunbin
2018-11-29  7:21                                       ` Eli Zaretskii
2018-11-29  8:46                                         ` Filipp Gunbin
2018-11-29  9:19                                           ` Eli Zaretskii
2018-11-29  9:51                                             ` Filipp Gunbin
2018-11-29 10:41                                               ` Eli Zaretskii
2018-11-29 14:09                                                 ` Filipp Gunbin
2018-12-03 14:17                                                   ` Thomas Fitzsimmons
2018-12-04 12:37                                                     ` Filipp Gunbin
2018-12-22 15:05                                                       ` Thomas Fitzsimmons
2018-10-27  6:59                                   ` Eli Zaretskii
2018-10-27 14:37                                     ` Filipp Gunbin
2018-10-27 20:28                             ` Charles A. Roelli
2018-10-28 16:00                               ` Eli Zaretskii
2018-10-28 19:53                                 ` Charles A. Roelli
2018-10-25 16:41                     ` Filipp Gunbin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m34ld9fprl.fsf@fitzsim.org \
    --to=fitzsim@fitzsim.org \
    --cc=33050@debbugs.gnu.org \
    --cc=alan@idiocy.org \
    --cc=eliz@gnu.org \
    --cc=fgunbin@fastmail.fm \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).