| 1 |
|
|---|
| 2 |
|
|---|
| 3 |
|
|---|
| 4 |
|
|---|
| 5 |
|
|---|
| 6 |
(defun wrap-function-to-control-ime-patch |
|---|
| 7 |
(function interactive-p interactive-arg &optional suffix) |
|---|
| 8 |
"Wrap FUNCTION, and IME control is enabled when FUNCTION is called. \n\ |
|---|
| 9 |
An original function is saved to FUNCTION-SUFFIX when suffix is string. \n\ |
|---|
| 10 |
If SUFFIX is nil, \"-original\" is added. \n\ |
|---|
| 11 |
------patch-----------------------------------------------------------\n\ |
|---|
| 12 |
RÍæí©çȢ̟ªAfep-force-offðfep-get-modeªnilÉÈéÜÅ\n\ |
|---|
| 13 |
messageÅ^C~OðÆèȪçJèԳȢÆAŸßÝœ¢BÈOà\n\ |
|---|
| 14 |
ÈÉ©œæ€ÈßÉ Áœ±ÆªEEE\n\ |
|---|
| 15 |
àÆÌwrap-function-to-control-imeðϊĵ܀ÌÍ¿åÁÆSz\n\ |
|---|
| 16 |
ÈÌÅAÊÖÆµÄAy-or-n-pÉÌÝKpµœB" |
|---|
| 17 |
|
|---|
| 18 |
(let ((original-function |
|---|
| 19 |
(intern (concat (symbol-name function) |
|---|
| 20 |
(if suffix suffix "-original"))))) |
|---|
| 21 |
(cond ((not (fboundp original-function)) |
|---|
| 22 |
(fset original-function |
|---|
| 23 |
(symbol-function function)) |
|---|
| 24 |
(fset function |
|---|
| 25 |
(list |
|---|
| 26 |
'lambda '(&rest arguments) |
|---|
| 27 |
(if interactive-p |
|---|
| 28 |
(list 'interactive interactive-arg)) |
|---|
| 29 |
(` (cond ((fep-get-mode) |
|---|
| 30 |
(progn |
|---|
| 31 |
|
|---|
| 32 |
|
|---|
| 33 |
(while (fep-get-mode) |
|---|
| 34 |
(fep-force-off) |
|---|
| 35 |
|
|---|
| 36 |
|
|---|
| 37 |
|
|---|
| 38 |
|
|---|
| 39 |
|
|---|
| 40 |
|
|---|
| 41 |
|
|---|
| 42 |
|
|---|
| 43 |
(message " ") |
|---|
| 44 |
|
|---|
| 45 |
|
|---|
| 46 |
|
|---|
| 47 |
|
|---|
| 48 |
) |
|---|
| 49 |
) |
|---|
| 50 |
|
|---|
| 51 |
(unwind-protect |
|---|
| 52 |
(apply '(, original-function) arguments) |
|---|
| 53 |
(if mw32-ime-state |
|---|
| 54 |
(fep-force-on)))) |
|---|
| 55 |
(t |
|---|
| 56 |
(apply '(, original-function) |
|---|
| 57 |
arguments)))))))))) |
|---|
| 58 |
|
|---|
| 59 |
|
|---|