unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Duncan Burke <duncankburke@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 22743@debbugs.gnu.org
Subject: bug#22743: 25.0.91: set-quit-char does not work if emacs lacks a controlling tty
Date: Sat, 20 Feb 2016 22:37:56 +1100	[thread overview]
Message-ID: <56C85014.4010002@gmail.com> (raw)
In-Reply-To: <83mvqvpvnm.fsf@gnu.org>

On 20/02/16 20:40, Eli Zaretskii wrote:
 > I don't think this patch will work reliably, because the parts of code
 > you changed are not the whole picture.  C-g is supported implicitly
 > and explicitly in many more places.  Grep the Lisp sources for C-g to
 > see that.

I think it should be possible to rebind C-g. If it cannot be rebound, then
that is an exceptional wart which significantly compromises emacs'
configurability.

It is extremely common for lisp code, whether in emacs or an external 
package,
to make assumptions about default bindings. C-g is far from unique in this
respect and while it would be nice if emacs had a way of globally changing
these assumptions, this is an understood cost when one deviates 
significantly
from emacs defaults. I accept that changing something fundamental like this
requires scouring through lisp source and finding all the places this
assumption is made. Anything in lisp can be patched or configured at 
runtime,
so I am not particularly concerned about such issues.

This patch is required because in this specific instance an assumption 
is made
in the C code about the user's intended purpose of C-g, which has an 
effect in
a graphical frame (demonstrated by my example), but that cannot be 
configured
through lisp from a graphical frame.

 > That's documented in the doc string of set-quit-char, so this is by
 > design.  On a TTY, C-g triggers a signal, and Emacs uses a system API
 > to change the character which does that.  But on GUI frames, this is
 > not possible.

If this is the intended behaviour of set-quit-char, then how is one supposed
to set quit_char from a graphical frame? quit_char is demonstrably not
TTY-specific, so it should be configurable and I cannot see a better place
than set-quit-char.

 > FWIW, my NSHO is that we should deprecate set-quit-char and remove it
 > in a future Emacs version.  It is no longer reasonable to have a
 > feature that only works on text terminals.

Do you mean that quit_char should be removed entirely from the C code? 
Perhaps
that would be best, I do not know enough to have an informed
optinion. However, as long as quit_char exists I have a demonstrated need to
be able to configure it at runtime.





  reply	other threads:[~2016-02-20 11:37 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-20  5:31 bug#22743: 25.0.91: set-quit-char does not work if emacs lacks a controlling tty Duncan Burke
2016-02-20  8:04 ` John Wiegley
2016-02-20 11:48   ` Duncan Burke
2016-02-20  9:40 ` Eli Zaretskii
2016-02-20 11:37   ` Duncan Burke [this message]
2016-02-20 20:36   ` Glenn Morris
2016-02-20 20:44     ` Eli Zaretskii
2016-02-20 20:49       ` Glenn Morris
2016-02-20 21:04         ` Eli Zaretskii

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=56C85014.4010002@gmail.com \
    --to=duncankburke@gmail.com \
    --cc=22743@debbugs.gnu.org \
    --cc=eliz@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 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).