|
From: | Adrian Robert |
Subject: | Re: Pretest next week |
Date: | Thu, 22 Jan 2009 16:23:40 +0200 |
On Jan 22, 2009, at 3:49 PM, Chong Yidong wrote:
YAMAMOTO Mitsuharu <address@hidden> writes:Still the Cocoa/GNUstep port doesn't handle C-g properly. I think this issue should be addressed before the pretest because it is expected to require nontrivial changes in its event handling part.Adrian, could you comment? Thanks.
Sure. I don't think "nontrivial changes" would be required. As I outlined earlier (http://thread.gmane.org/gmane.emacs.devel/105688/ focus=105694):
1) Complete removal of all Feval() calls in bad places as discussed earlier on this list. A quick check reveals four places, relating to: emacs termination, deadkey input handling, toolbar toggle, and preferences-help.
- Mostly straightforward (but taking some time) by using custom 'nonascii-keystroke' events, except for the case of input-method handling when in isearch mode, where passing such an event breaks out of the isearch entry; I could use some help on this.
2) Go through the code comparing nsterm and macterm input handling to make sure all ctrl-g related processing is similar
- I did this at one point, but it should be re-checked if problems remain after (1) and (3).
3) Make sure some kind of interrupt mechanism is in place to pick up ctrl-g events when emacs core is busy processing and does not itself make passes through the NS code event loop (colored spinning disk shown in gui).
- I did some experimentation for (3) using a signal handler a while ago but something didn't seem to work, and some investigation is needed. I don't think major changes to the port event-handling would be needed since the issue is interrupts during emacs core processing, not inside the Cocoa processing. It should just come down to getting whichever interrupt mechanism worked in the Carbon port on OS X during emacs-core processing to be active in the Cocoa port. I would welcome help on this.
Recently I've been spending the time I've had for the port on fixing the bugs reported by users (http://emacsbugs.donarmstrong.com/cgi-bin/ pkgreport.cgi?package=ns), so I haven't made any progress on these yet.
[Prev in Thread] | Current Thread | [Next in Thread] |