(ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
Remove macros.
[MAC_OSX] (socket_callback): Do nothing.
[MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
ReceiveNextEvent.
[MAC_OSX] (sys_select): Likewise. Don't set context as argument to
socket_callback.
(mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
[!MAC_OSX] (select): Try detect_input_pending before ReceiveNextEvent
in the same BLOCK_INPUT block, in case that some input has already
been read asynchronously. Pretend to be interrupted by a signal
if some input is available.
[MAC_OSX] (select_and_poll_event, sys_select): Likewise.
(SELECT_POLLING_PERIOD_USEC) [SELECT_USE_CFSOCKET]: Change to 100000.
Now used for ReceiveNextEvent timeout instead of select timeout.
(EVENT_CLASS_SOCK) [SELECT_USE_CFSOCKET]: Remove macro.
[SELECT_USE_CFSOCKET] (socket_callback): Add non-blocking connect
support. Quit event loop.
[MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]: Add non-blocking
connect support. Reuse previously allocated CFRunLoopSource.
(Fmac_process_hi_command) [TARGET_API_MAC_CARBON]: New function.
(syms_of_mac) [TARGET_API_MAC_CARBON]: Defsubr it.
(syms_of_mac): Intern and staticpro its elements.
(mac_aelist_to_lisp): Also convert Apple event attributes.
(mac_ae_put_lisp): New function.
(create_apple_event_from_event_ref) [MAC_OSX]: Use typeUTF8Text.
`const AEDesc *'.
[TARGET_API_MAC_CARBON] (create_apple_event): New function.
[TARGET_API_MAC_CARBON] (create_apple_event_from_event_ref): Use it.
Use xrealloc instead of repeated xmalloc/xfree.
[TARGET_API_MAC_CARBON] (create_apple_event_from_drag_ref): New
function.
prototypes. Make static.
(mac_aedesc_to_lisp): Initialize err to noErr.
(mac_coerce_file_name_ptr, mac_coerce_file_name_desc)
(init_coercion_handler): New functions.
(Fmac_coerce_ae_data): Use coercion of Apple event data for
translation from/to file names.
(syms_of_mac): Initialize it.
(mac_aelist_to_lisp, mac_aedesc_to_lisp): New functions.
[TARGET_API_MAC_CARBON] (create_apple_event_from_event_ref): New
function.
(Fmac_coerce_ae_data): New defun.
(syms_of_mac): Defsubr it.
[TARGET_API_MAC_CARBON] (cfstring_to_lisp_nodecode): New function
created from cfstring_to_lisp.
[TARGET_API_MAC_CARBON] (cfstring_to_lisp): Use it.
(xrm_get_preference_database) [TARGET_API_MAC_CARBON]: Likewise.
(Fdo_applescript, Fmac_file_name_to_posix)
(Fmac_file_name_to_posix): Doc fixes.
[TARGET_API_MAC_CARBON] (Fmac_get_preference)
(Fmac_code_convert_string): Likewise.
[MAC_OSX] (init_mac_osx_environment): Fall back on terminal mode
if the executable is not contained in a bundle.
[!MAC_OSX] (fchmod, fchown): New functions.
(mac_get_code_from_arg): Don't accept Lisp integer as argument.
Use SBYTES and EndianU32_BtoN.
(mac_get_object_from_code): Return 4 byte string even if argument
is 0. Use make_unibyte_string and EndianU32_NtoB.
(Fmac_get_file_creator, Fmac_get_file_type, Fmac_set_file_creator)
(Fmac_set_file_type): Fix documents and argument declarations.
Don't specify kFSCatInfoNodeFlags. Support Mac OS Classic.
[!MAC_OSX] (target_ticks): Remove variable.
[!MAC_OSX] (check_alarm, pause, index): Remove functions.
[!MAC_OSX && __MRC__] (sys_strftime): Likewise.
[!MAC_OSX] (select): If fd 0 is not set in rfds and some input
event occurs before timeout, behave as if the function were
interrupted.
[!MAC_OSX] (sigblock, sigsetmask, alarm): Simulate SIGALRM
handling using Time Manager routines.
[!MAC_OSX] (mac_atimer_task, mac_atimer_qlink, signal_mask): New
variables.
[!MAC_OSX] (mac_atimer_handler, set_mac_atimer, remove_mac_atimer)
(setitimer): New functions.