diff options
| author | Karoly Lorentey | 2007-01-01 17:38:32 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2007-01-01 17:38:32 +0000 |
| commit | 65e86587ab836aaa86b12ce30b219bcb4fcbaa06 (patch) | |
| tree | 7e13feee7387635f52df3613cf1bba4414781aab /src/mac.c | |
| parent | 8c778e28bcf16b4baef6400a124ec2403941e940 (diff) | |
| parent | 1fc8c92b50100da709c94a0faa47deed5603634f (diff) | |
| download | emacs-65e86587ab836aaa86b12ce30b219bcb4fcbaa06.tar.gz emacs-65e86587ab836aaa86b12ce30b219bcb4fcbaa06.zip | |
Merged from emacs@sv.gnu.org.
Patches applied:
* emacs@sv.gnu.org/emacs--devo--0--patch-536
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-537
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-538
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-539
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-540
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-541
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-542
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-543
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-544
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-545
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-546
Update from erc--emacs--22
* emacs@sv.gnu.org/emacs--devo--0--patch-547
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-548
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-549
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-550
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-551
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-552
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-553
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-554
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-555
erc-iswitchb: Temporarily enable iswitchb mode
* emacs@sv.gnu.org/emacs--devo--0--patch-556
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-557
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-558
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-559
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-560
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-561
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-562
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-563
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-564
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-565
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-566
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-567
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-568
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-569
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-570
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-571
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-572
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-573
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-574
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-575
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-576
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-577
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-578
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-579
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-580
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-581
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-582
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-583
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-584
Fix admin/quick-install-emacs to work with recent versions of autoconf
* emacs@sv.gnu.org/gnus--rel--5.10--patch-171
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-172
Merge from emacs--devo--0
* emacs@sv.gnu.org/gnus--rel--5.10--patch-173
Merge from emacs--devo--0
* emacs@sv.gnu.org/gnus--rel--5.10--patch-174
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-175
Update from CVS: lisp/legacy-gnus-agent.el: Add Copyright notice.
* emacs@sv.gnu.org/gnus--rel--5.10--patch-176
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-177
Merge from emacs--devo--0
* emacs@sv.gnu.org/gnus--rel--5.10--patch-178
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-179
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-180
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-181
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-182
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-183
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-184
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-185
Merge from emacs--devo--0
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-590
Diffstat (limited to 'src/mac.c')
| -rw-r--r-- | src/mac.c | 29 |
1 files changed, 27 insertions, 2 deletions
| @@ -79,6 +79,15 @@ static ComponentInstance as_scripting_component; | |||
| 79 | /* The single script context used for all script executions. */ | 79 | /* The single script context used for all script executions. */ |
| 80 | static OSAID as_script_context; | 80 | static OSAID as_script_context; |
| 81 | 81 | ||
| 82 | #if TARGET_API_MAC_CARBON | ||
| 83 | static int wakeup_from_rne_enabled_p = 0; | ||
| 84 | #define ENABLE_WAKEUP_FROM_RNE (wakeup_from_rne_enabled_p = 1) | ||
| 85 | #define DISABLE_WAKEUP_FROM_RNE (wakeup_from_rne_enabled_p = 0) | ||
| 86 | #else | ||
| 87 | #define ENABLE_WAKEUP_FROM_RNE 0 | ||
| 88 | #define DISABLE_WAKEUP_FROM_RNE 0 | ||
| 89 | #endif | ||
| 90 | |||
| 82 | #ifndef MAC_OSX | 91 | #ifndef MAC_OSX |
| 83 | static OSErr posix_pathname_to_fsspec P_ ((const char *, FSSpec *)); | 92 | static OSErr posix_pathname_to_fsspec P_ ((const char *, FSSpec *)); |
| 84 | static OSErr fsspec_to_posix_pathname P_ ((const FSSpec *, char *, int)); | 93 | static OSErr fsspec_to_posix_pathname P_ ((const FSSpec *, char *, int)); |
| @@ -2431,6 +2440,7 @@ select (nfds, rfds, wfds, efds, timeout) | |||
| 2431 | BLOCK_INPUT block, in case that some input has already been read | 2440 | BLOCK_INPUT block, in case that some input has already been read |
| 2432 | asynchronously. */ | 2441 | asynchronously. */ |
| 2433 | BLOCK_INPUT; | 2442 | BLOCK_INPUT; |
| 2443 | ENABLE_WAKEUP_FROM_RNE; | ||
| 2434 | if (!detect_input_pending ()) | 2444 | if (!detect_input_pending ()) |
| 2435 | { | 2445 | { |
| 2436 | #if TARGET_API_MAC_CARBON | 2446 | #if TARGET_API_MAC_CARBON |
| @@ -2461,6 +2471,7 @@ select (nfds, rfds, wfds, efds, timeout) | |||
| 2461 | } | 2471 | } |
| 2462 | #endif /* not TARGET_API_MAC_CARBON */ | 2472 | #endif /* not TARGET_API_MAC_CARBON */ |
| 2463 | } | 2473 | } |
| 2474 | DISABLE_WAKEUP_FROM_RNE; | ||
| 2464 | UNBLOCK_INPUT; | 2475 | UNBLOCK_INPUT; |
| 2465 | 2476 | ||
| 2466 | if (err == noErr) | 2477 | if (err == noErr) |
| @@ -4841,8 +4852,8 @@ DEFUN ("mac-code-convert-string", Fmac_code_convert_string, Smac_code_convert_st | |||
| 4841 | doc: /* Convert STRING from SOURCE encoding to TARGET encoding. | 4852 | doc: /* Convert STRING from SOURCE encoding to TARGET encoding. |
| 4842 | The conversion is performed using the converter provided by the system. | 4853 | The conversion is performed using the converter provided by the system. |
| 4843 | Each encoding is specified by either a coding system symbol, a mime | 4854 | Each encoding is specified by either a coding system symbol, a mime |
| 4844 | charset string, or an integer as a CFStringEncoding value. Nil for | 4855 | charset string, or an integer as a CFStringEncoding value. An encoding |
| 4845 | encoding means UTF-16 in native byte order, no byte order mark. | 4856 | of nil means UTF-16 in native byte order, no byte order mark. |
| 4846 | On Mac OS X 10.2 and later, you can do Unicode Normalization by | 4857 | On Mac OS X 10.2 and later, you can do Unicode Normalization by |
| 4847 | specifying the optional argument NORMALIZATION-FORM with a symbol NFD, | 4858 | specifying the optional argument NORMALIZATION-FORM with a symbol NFD, |
| 4848 | NFKD, NFC, NFKC, HFS+D, or HFS+C. | 4859 | NFKD, NFC, NFKC, HFS+D, or HFS+C. |
| @@ -5023,6 +5034,7 @@ select_and_poll_event (nfds, rfds, wfds, efds, timeout) | |||
| 5023 | BLOCK_INPUT block, in case that some input has already been read | 5034 | BLOCK_INPUT block, in case that some input has already been read |
| 5024 | asynchronously. */ | 5035 | asynchronously. */ |
| 5025 | BLOCK_INPUT; | 5036 | BLOCK_INPUT; |
| 5037 | ENABLE_WAKEUP_FROM_RNE; | ||
| 5026 | if (!detect_input_pending ()) | 5038 | if (!detect_input_pending ()) |
| 5027 | { | 5039 | { |
| 5028 | EMACS_TIME select_timeout; | 5040 | EMACS_TIME select_timeout; |
| @@ -5045,6 +5057,7 @@ select_and_poll_event (nfds, rfds, wfds, efds, timeout) | |||
| 5045 | kEventLeaveInQueue, NULL); | 5057 | kEventLeaveInQueue, NULL); |
| 5046 | } | 5058 | } |
| 5047 | } | 5059 | } |
| 5060 | DISABLE_WAKEUP_FROM_RNE; | ||
| 5048 | UNBLOCK_INPUT; | 5061 | UNBLOCK_INPUT; |
| 5049 | 5062 | ||
| 5050 | if (r != 0) | 5063 | if (r != 0) |
| @@ -5124,6 +5137,7 @@ sys_select (nfds, rfds, wfds, efds, timeout) | |||
| 5124 | BLOCK_INPUT block, in case that some input has already been | 5137 | BLOCK_INPUT block, in case that some input has already been |
| 5125 | read asynchronously. */ | 5138 | read asynchronously. */ |
| 5126 | BLOCK_INPUT; | 5139 | BLOCK_INPUT; |
| 5140 | ENABLE_WAKEUP_FROM_RNE; | ||
| 5127 | if (!detect_input_pending ()) | 5141 | if (!detect_input_pending ()) |
| 5128 | { | 5142 | { |
| 5129 | int minfd, fd; | 5143 | int minfd, fd; |
| @@ -5184,6 +5198,7 @@ sys_select (nfds, rfds, wfds, efds, timeout) | |||
| 5184 | CFRunLoopRemoveSource (runloop, source, kCFRunLoopDefaultMode); | 5198 | CFRunLoopRemoveSource (runloop, source, kCFRunLoopDefaultMode); |
| 5185 | } | 5199 | } |
| 5186 | } | 5200 | } |
| 5201 | DISABLE_WAKEUP_FROM_RNE; | ||
| 5187 | UNBLOCK_INPUT; | 5202 | UNBLOCK_INPUT; |
| 5188 | 5203 | ||
| 5189 | if (err == noErr || err == eventLoopQuitErr) | 5204 | if (err == noErr || err == eventLoopQuitErr) |
| @@ -5385,6 +5400,16 @@ init_mac_osx_environment () | |||
| 5385 | } | 5400 | } |
| 5386 | #endif /* MAC_OSX */ | 5401 | #endif /* MAC_OSX */ |
| 5387 | 5402 | ||
| 5403 | #if TARGET_API_MAC_CARBON | ||
| 5404 | void | ||
| 5405 | mac_wakeup_from_rne () | ||
| 5406 | { | ||
| 5407 | if (wakeup_from_rne_enabled_p) | ||
| 5408 | /* Post a harmless event so as to wake up from | ||
| 5409 | ReceiveNextEvent. */ | ||
| 5410 | mac_post_mouse_moved_event (); | ||
| 5411 | } | ||
| 5412 | #endif | ||
| 5388 | 5413 | ||
| 5389 | void | 5414 | void |
| 5390 | syms_of_mac () | 5415 | syms_of_mac () |