HASHIMOTO Taiichi
taiic****@users*****
2006年 1月 19日 (木) 17:02:52 JST
Index: inline_patch/ChangeLog diff -u inline_patch/ChangeLog:1.16 inline_patch/ChangeLog:1.17 --- inline_patch/ChangeLog:1.16 Mon Dec 26 15:49:38 2005 +++ inline_patch/ChangeLog Thu Jan 19 17:02:52 2006 @@ -1,3 +1,9 @@ +2006-01-19 HASHIMOTO Taiichi <taiic****@cl*****> + + * macterm.c: kEventWindowActivated CxgÉ TSM ðÄN®³¹éD + * mac-im.el: default-frame-alist Å cursor-color ÌÝèð³µÈ + ¢D + 2005-12-26 HASHIMOTO Taiichi <taiic****@cl*****> * macim.c: ϼÌÏX Index: inline_patch/emacs-inline.patch diff -u inline_patch/emacs-inline.patch:1.19 inline_patch/emacs-inline.patch:1.20 --- inline_patch/emacs-inline.patch:1.19 Mon Dec 26 15:49:38 2005 +++ inline_patch/emacs-inline.patch Thu Jan 19 17:02:52 2006 @@ -1,6 +1,6 @@ -diff -p -N -r ../emacs-20051222-0/lisp/loadup.el lisp/loadup.el -*** ../emacs-20051222-0/lisp/loadup.el Thu Dec 22 16:52:57 2005 ---- lisp/loadup.el Thu Dec 22 16:59:48 2005 +diff -p -N -r ../emacs-20060118-0/lisp/loadup.el lisp/loadup.el +*** ../emacs-20060118-0/lisp/loadup.el Thu Jan 19 16:03:42 2006 +--- lisp/loadup.el Thu Jan 19 16:06:58 2006 *************** *** 205,210 **** --- 205,213 ---- @@ -13,12 +13,12 @@ (message "%s" (garbage-collect)) (load "vc-hooks") -diff -p -N -r ../emacs-20051222-0/lisp/term/mac-im.el lisp/term/mac-im.el -*** ../emacs-20051222-0/lisp/term/mac-im.el Thu Jan 1 09:00:00 1970 ---- lisp/term/mac-im.el Thu Dec 22 16:59:48 2005 +diff -p -N -r ../emacs-20060118-0/lisp/term/mac-im.el lisp/term/mac-im.el +*** ../emacs-20060118-0/lisp/term/mac-im.el Thu Jan 1 09:00:00 1970 +--- lisp/term/mac-im.el Thu Jan 19 16:06:58 2006 *************** *** 0 **** ---- 1,334 ---- +--- 1,336 ---- + ;; mac-im.el --- Input Method for Mac OS X -*-coding: iso-2022-7bit;-*- + + ;; Copyright (C) 2005 HASHIMOTO Taiichi <taiic****@mac*****> @@ -300,9 +300,11 @@ + (defun mac-setup-inline-input-method () + (interactive) + -+ (let* ((param (frame-parameters)) -+ (color (cdr (assq 'cursor-color param))) -+ (type (cdr (assq 'cursor-type (frame-parameters))))) ++ (let* ((params (frame-parameters)) ++ (color (or (cdr (assq 'cursor-color default-frame-alist)) ++ (cdr (assq 'cursor-color params)))) ++ (type (or (cdr (assq 'cursor-type default-frame-alist)) ++ (cdr (assq 'cursor-type params))))) + (mac-set-input-method-parameter 0 'cursor-color color) + (mac-set-input-method-parameter 0 'cursor-type type) + (mac-set-inline-input-method t) @@ -353,9 +355,9 @@ + (setq l (cdr l))) + (cons m k))) + (t (cons nil nil))))) -diff -p -N -r ../emacs-20051222-0/src/Makefile.in src/Makefile.in -*** ../emacs-20051222-0/src/Makefile.in Thu Dec 22 16:53:02 2005 ---- src/Makefile.in Thu Dec 22 16:59:48 2005 +diff -p -N -r ../emacs-20060118-0/src/Makefile.in src/Makefile.in +*** ../emacs-20060118-0/src/Makefile.in Thu Jan 19 16:03:48 2006 +--- src/Makefile.in Thu Jan 19 16:06:58 2006 *************** CYGWIN_OBJ = sheap.o *** 568,574 **** @@ -391,8 +393,8 @@ w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o *************** macterm.o: blockinput.h atimer.h systime -*** 1253,1258 **** ---- 1253,1262 ---- +*** 1272,1277 **** +--- 1272,1281 ---- frame.h charset.h ccl.h dispextern.h fontset.h termhooks.h termopts.h \ termchar.h gnu.h disptab.h buffer.h window.h keyboard.h $(INTERVAL_SRC) \ process.h coding.h $(config_h) @@ -403,12 +405,12 @@ macselect.o: blockinput.h macterm.h macgui.h frame.h keymap.h $(config_h) ${emacsapp}Contents/Resources/English.lproj: -diff -p -N -r ../emacs-20051222-0/src/keyboard.c src/keyboard.c -*** ../emacs-20051222-0/src/keyboard.c Thu Dec 22 16:53:02 2005 ---- src/keyboard.c Thu Dec 22 16:59:48 2005 +diff -p -N -r ../emacs-20060118-0/src/keyboard.c src/keyboard.c +*** ../emacs-20060118-0/src/keyboard.c Thu Jan 19 16:03:47 2006 +--- src/keyboard.c Thu Jan 19 16:06:58 2006 *************** Lisp_Object Qmouse_click; -*** 525,530 **** ---- 525,534 ---- +*** 528,533 **** +--- 528,537 ---- #if defined (WINDOWSNT) || defined (MAC_OS) Lisp_Object Qlanguage_change; #endif @@ -420,8 +422,8 @@ Lisp_Object Qsave_session; #ifdef MAC_OS *************** kbd_buffer_get_event (kbp, used_mouse_me -*** 4045,4050 **** ---- 4049,4070 ---- +*** 4049,4054 **** +--- 4053,4074 ---- kbd_fetch_ptr = event + 1; } #endif @@ -445,8 +447,8 @@ { obj = Fcons (Qsave_session, Qnil); *************** syms_of_keyboard () -*** 10884,10889 **** ---- 10904,10915 ---- +*** 10888,10893 **** +--- 10908,10919 ---- Qlanguage_change = intern ("language-change"); staticpro (&Qlanguage_change); #endif @@ -459,12 +461,12 @@ Qdrag_n_drop = intern ("drag-n-drop"); staticpro (&Qdrag_n_drop); -diff -p -N -r ../emacs-20051222-0/src/macim.c src/macim.c -*** ../emacs-20051222-0/src/macim.c Thu Jan 1 09:00:00 1970 ---- src/macim.c Thu Dec 22 16:59:48 2005 +diff -p -N -r ../emacs-20060118-0/src/macim.c src/macim.c +*** ../emacs-20060118-0/src/macim.c Thu Jan 1 09:00:00 1970 +--- src/macim.c Thu Jan 19 16:06:58 2006 *************** *** 0 **** ---- 1,427 ---- +--- 1,429 ---- + /* Implementation of Inline Input Method for MacOS X. + Copyright (C) 2004, 2005 Taiichi Hashimoto <taiic****@mac*****>. + @@ -678,8 +680,8 @@ + input_method = Fsymbol_value (Qcurrent_input_method); + + if (last_key_script != current_key_script -+ || ((current_key_script && NILP (input_method)) -+ || (!current_key_script && !NILP (input_method)))) ++ || (current_key_script && NILP (input_method)) ++ || (!current_key_script && !NILP (input_method))) + { + struct input_event event; + @@ -779,7 +781,9 @@ + typeChar, + NULL, src_nbytes, + NULL, src); -+ argv[argc++] = make_string_from_bytes (src, src_nbytes, src_nbytes); ++ argv[argc++] = make_string_from_bytes (src, ++ src_nbytes, ++ src_nbytes); + + /* get fixed string length (bytes) from TSM */ + GetEventParameter (event, kEventParamTextInputSendFixLen, @@ -892,12 +896,38 @@ + + #endif + -diff -p -N -r ../emacs-20051222-0/src/macterm.c src/macterm.c -*** ../emacs-20051222-0/src/macterm.c Thu Dec 22 16:53:02 2005 ---- src/macterm.c Thu Dec 22 17:15:38 2005 +diff -p -N -r ../emacs-20060118-0/src/macterm.c src/macterm.c +*** ../emacs-20060118-0/src/macterm.c Thu Jan 19 16:03:48 2006 +--- src/macterm.c Thu Jan 19 16:06:58 2006 +*************** mac_handle_window_event (next_handler, e +*** 8948,8954 **** +--- 8948,8959 ---- + mac_handle_visibility_change (mac_window_to_frame (wp)); + return noErr; + ++ case kEventWindowActivated: ++ mac_reset_tsm_document (); + break; ++ case kEventWindowDeactivated: ++ break; ++ + } + + return eventNotHandledErr; +*************** install_window_handler (window) +*** 9072,9077 **** +--- 9077,9084 ---- + {kEventClassWindow, kEventWindowShown}, + {kEventClassWindow, kEventWindowHidden}, + {kEventClassWindow, kEventWindowExpanded}, ++ {kEventClassWindow, kEventWindowActivated}, ++ {kEventClassWindow, kEventWindowDeactivated}, + {kEventClassWindow, kEventWindowCollapsed}}; + EventTypeSpec specs_mouse[] = {{kEventClassMouse, kEventMouseWheelMoved}}; + static EventHandlerUPP handle_window_eventUPP = NULL; *************** XTread_socket (sd, expected, hold_quit) -*** 9985,9990 **** ---- 9985,9991 ---- +*** 10048,10053 **** +--- 10055,10061 ---- int keycode = (er.message & keyCodeMask) >> 8; int xkeysym; @@ -906,8 +936,8 @@ /* When using Carbon Events, we need to pass raw keyboard events to the TSM ourselves. If TSM handles it, it *************** XTread_socket (sd, expected, hold_quit) -*** 10001,10006 **** ---- 10002,10008 ---- +*** 10064,10069 **** +--- 10072,10078 ---- != eventNotHandledErr) break; #endif @@ -916,8 +946,8 @@ #if 0 if (dpyinfo->x_focus_frame == NULL) *************** XTread_socket (sd, expected, hold_quit) -*** 10067,10072 **** ---- 10069,10096 ---- +*** 10130,10135 **** +--- 10139,10166 ---- er.message & charCodeMask); inev.kind = ASCII_KEYSTROKE_EVENT; } @@ -947,8 +977,8 @@ #if USE_CARBON_EVENTS *************** XTread_socket (sd, expected, hold_quit) -*** 10124,10129 **** ---- 10148,10154 ---- +*** 10187,10192 **** +--- 10218,10224 ---- count++; } @@ -957,8 +987,8 @@ /* If the focus was just given to an autoraising frame, *************** mac_initialize () -*** 10639,10644 **** ---- 10664,10671 ---- +*** 10702,10707 **** +--- 10734,10741 ---- init_service_handler (); init_quit_char_handler (); @@ -967,9 +997,9 @@ #endif /* MAC_OSX */ init_command_handler (); -diff -p -N -r ../emacs-20051222-0/src/termhooks.h src/termhooks.h -*** ../emacs-20051222-0/src/termhooks.h Thu Dec 22 16:53:02 2005 ---- src/termhooks.h Thu Dec 22 16:59:48 2005 +diff -p -N -r ../emacs-20060118-0/src/termhooks.h src/termhooks.h +*** ../emacs-20060118-0/src/termhooks.h Thu Jan 19 16:03:48 2006 +--- src/termhooks.h Thu Jan 19 16:06:59 2006 *************** enum event_kind *** 260,265 **** --- 260,271 ----