[!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.
[TARGET_API_MAC_CARBON] (Qutf_8): Remove extern.
[TARGET_API_MAC_CARBON] (cfstring_create_with_string): New function.
[TARGET_API_MAC_CARBON] (Fmac_get_preference): Use it.
(HASHKEY_MAX_NID): New macro.
(xrm_q_get_resource_1): Rename from xrm_q_get_resource. Add extra
argument.
(xrm_q_get_resource): Call xrm_q_get_resource_1 with extra argument.
(xrm_create_database, xrm_q_put_resource)
(xrm_merge_string_database, xrm_q_get_resource_1)
(xrm_q_get_resource): Change resource database representation so that
it may not use multiple hash tables for a single database.
[TARGET_API_MAC_CARBON] (xrm_cfproperty_list_to_value): YAILOM.
[!MAC_OSX] (select) [TARGET_API_MAC_CARBON]: Use ReceiveNextEvent.
(posix_pathname_to_fsspec, fsspec_to_posix_pathname): New functions.
(mac_clear_font_name_table): Move extern to macterm.h.