emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

macosx(carbon): slow keyboard responsiveness bug fix


From: William Xu
Subject: macosx(carbon): slow keyboard responsiveness bug fix
Date: Mon, 19 Nov 2007 19:38:44 +0900
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.50 (darwin)

Latest cvs trunk works on macosx again, finally ! 

This bug is introduced in: 

,----[ src/macterm.c ]
| Revision 1.237 - (view) (download) (as text) (annotate) - [select for diffs]
| Thu Oct 25 02:38:38 2007 UTC (3 weeks, 4 days ago) by monnier
| Branch: MAIN
| CVS Tags: lexbind-base
| Changes since 1.236: +20 -0 lines
| Diff to previous 1.236
| 
| Make `window-system' into a keyboard-local variable (rather than
| frame-local as done originally by multi-tty).
| 
| * startup.el (window-system): Remove.  Don't make it frame-local.
| 
| * keyboard.h (struct kboard): Add Vwindow_system.
| * keyboard.c (init_kboard): Set a default for Vwindow_system.
| (mark_kboards): Mark Vwindow_system.
| 
| * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
| (init_display): Don't set the obsolete `window-system' frame-param.
| 
| * xterm.c (x_term_init):
| * w32term.c (w32_create_terminal):
| * term.c (init_tty): Set Vwindow_system.
| * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
| multi-tty merge maybe?), copied from w32term.c.  Set Vwindow_system.
| 
| * xfns.c (Fx_create_frame, x_create_tip_frame):
| * w32fns.c (Fx_create_frame, x_create_tip_frame):
| * macfns.c (Fx_create_frame):
| Don't set the obsolete `window-system' frame-param.
| 
| * frame.h (Qwindow_system): Remove.
| * frame.c (Qwindow_system): Remove.  In `syms_of_frame' as well.
| (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
`----

After window-system is changed from frame-local to terminal-local
variable, since macosx doesn't support MULTI_KBOARD, it looks like the
window-system misses a chance to be properly set.(leaving it as t by
default) I doubt other platforms that not yet support MULTI_KBOARD could
have a similar problem.

Index: src/macterm.c
===================================================================
RCS file: /sources/emacs/emacs/src/macterm.c,v
retrieving revision 1.238
diff -u -r1.238 macterm.c
--- src/macterm.c       1 Nov 2007 03:46:14 -0000       1.238
+++ src/macterm.c       19 Nov 2007 10:28:13 -0000
@@ -12772,7 +12772,7 @@
 mac_create_terminal (struct mac_display_info *dpyinfo)
 {
   struct terminal *terminal;
-  
+
   terminal = create_terminal ();
 
   terminal->type = output_mac;
@@ -12838,6 +12838,9 @@
   if (current_kboard == initial_kboard)
     current_kboard = terminal->kboard;
   terminal->kboard->reference_count++;
+#else
+  KBOARD *kbp = &the_only_kboard;
+  kbp->Vwindow_system = intern ("mac");
 #endif
 
   return terminal;

-- 
William

http://williamxu.net9.org





reply via email to

[Prev in Thread] Current Thread [Next in Thread]