all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: storm@cua.dk (Kim F. Storm)
To: Chong Yidong <cyd@stupidchicken.com>
Cc: rms@gnu.org, emacs-devel@gnu.org
Subject: Re: Fix needed for communication with gpg-agent
Date: Tue, 20 Feb 2007 16:11:40 +0100	[thread overview]
Message-ID: <m3hctgyic3.fsf@kfs-l.imdomain.dk> (raw)
In-Reply-To: <87irdzs6pp.fsf@stupidchicken.com> (Chong Yidong's message of "Sun\, 18 Feb 2007 12\:42\:26 -0500")

Chong Yidong <cyd@stupidchicken.com> writes:

> Richard Stallman <rms@gnu.org> writes:
>
>> Would someone please implement this code, needed for correct
>> redisplay after running pinentry?  Then please ack.
>>
>> ...
>>
>> Without X, Pinentry falls back to a curses implementation (there is
>> also a curses only version of Pinentry).  This works pretty reliable
>> but poses one problem: The screen needs a redraw as there is no
>> portable way to save and restore the old screen content.  What can be
>> done is to redraw the screen every time after calling a crypto
>> operation which uses gpg or gpgsm.  This is of course not optimal as
>> in most cases the passphrase has been cached and an expensive redraw
>> is not required.
>
> I don't see any reasonable way to do this.

So why does Werner say that "this works pretty reliable" ...?

>
> Roughly speaking, when Emacs is run in a console (i.e. as a curses
> program), it monopolizes terminal input and output.  I don't know of
> any way to call the curses version of pinentry, have it temporarily
> "take over" the terminal, and return control to Emacs once it's done.

Well, if Emacs just "sleeps" while it waits for gpg to finish, then we
can assume that pinentry has finished using the screen as well.

accept-process-output has a just-this-one argument which causes emacs
to wait without reading the keyboard (it will still run timers though).

Maybe we use that to wait for gpg + pinentry already?  I guess Emacs
cannot really continue without getting the result from gpg.

.. and if we waited for more than a few seconds for gpg to complete,
we can (safely) assume that the user was involved, and redraw the
screen.  (so no need to implement the "protocol".)

Of course, we only need to do any of this if "no X".

-- 
Kim F. Storm <storm@cua.dk> http://www.cua.dk

  parent reply	other threads:[~2007-02-20 15:11 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-17 20:57 Fix needed for communication with gpg-agent Richard Stallman
2007-02-18 17:42 ` Chong Yidong
2007-02-19 23:35   ` Miles Bader
2007-02-20  1:59     ` Chong Yidong
2007-02-22 17:31       ` Chong Yidong
2007-02-22 17:44         ` Chong Yidong
2007-02-22 18:04         ` Werner Koch
2007-02-22 18:40           ` Chong Yidong
2007-02-22 22:00             ` Sascha Wilde
2007-02-22 22:47               ` Chong Yidong
2007-02-23 20:01                 ` Sascha Wilde
2007-02-24  8:28                   ` Richard Stallman
2007-02-23 22:09               ` Richard Stallman
2007-02-23 23:41                 ` Sascha Wilde
2007-02-25  4:06                   ` Richard Stallman
2007-02-25 19:32                     ` Chong Yidong
2007-02-25 19:50                       ` Andreas Schwab
2007-02-25 20:22                         ` David Kastrup
2007-02-26  3:27                       ` Richard Stallman
2007-02-26 10:27                         ` Werner Koch
2007-02-27  7:38                           ` Richard Stallman
2007-02-27  8:53                             ` Werner Koch
2007-02-28  2:37                               ` Richard Stallman
2007-02-23  8:53             ` Werner Koch
2007-02-23 10:27               ` Sascha Wilde
2007-02-23 16:23               ` Chong Yidong
2007-02-23 16:47                 ` Werner Koch
2007-02-23 19:37                   ` Chong Yidong
2007-02-23 20:10                     ` Sascha Wilde
2007-02-23 22:10                     ` Richard Stallman
2007-02-23 22:09                   ` Richard Stallman
2007-02-23 23:03                     ` Chong Yidong
2007-02-23 17:13           ` Andreas Schwab
2007-02-23 18:30             ` Kim F. Storm
2007-02-23 18:07           ` Stefan Monnier
2007-02-24 14:08             ` Miles Bader
2007-02-23 19:35         ` Richard Stallman
2007-02-20 13:43     ` Richard Stallman
2007-02-20 15:35       ` Chong Yidong
2007-02-21  8:37         ` Richard Stallman
2007-02-21 12:04           ` Chong Yidong
2007-02-22 17:21             ` Richard Stallman
2007-02-20 15:11   ` Kim F. Storm [this message]
2007-02-20 15:45     ` Chong Yidong
2007-02-21  8:37     ` Richard Stallman
2007-02-21 13:11       ` Chong Yidong
2007-02-22  7:19         ` Richard Stallman
     [not found]   ` <E1HJCsN-000541-DO@fencepost.gnu.org>
2007-02-21 22:41     ` Sascha Wilde
2007-02-21 23:15       ` Kim F. Storm
2007-02-22  0:14         ` Chong Yidong
2007-02-22  8:04           ` Werner Koch
2007-02-22 12:09           ` Kim F. Storm
2007-02-22  8:13         ` Werner Koch
2007-02-23 10:22           ` Richard Stallman
2007-02-23 13:20             ` Werner Koch
2007-02-23 16:40               ` Chong Yidong
2007-02-23 22:09               ` Richard Stallman
2007-02-23 19:36           ` Richard Stallman
2007-02-23 23:25             ` Chong Yidong
2007-02-23 23:58               ` Kim F. Storm
2007-02-24  0:19                 ` Chong Yidong
2007-02-24  0:57                   ` Kim F. Storm
2007-02-24  9:58                     ` Sascha Wilde

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

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

  git send-email \
    --in-reply-to=m3hctgyic3.fsf@kfs-l.imdomain.dk \
    --to=storm@cua.dk \
    --cc=cyd@stupidchicken.com \
    --cc=emacs-devel@gnu.org \
    --cc=rms@gnu.org \
    /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 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.