(xg_get_file_name): Block and unblock __SIGRTMIN if defined.
* alloc.c: If HAVE_GTK_AND_PTHREAD, include pthread.h,
new variables main_thread and alloc_mutex,
define (UN)BLOCK_INPUT_ALLOC to use alloc_mutex to protect
emacs_blocked_* calls and only do (UN)BLOCK_INPUT in the main thread.
If not HAVE_GTK_AND_PTHREAD, (UN)BLOCK_INPUT_ALLOC is the same as
(UN)BLOCK_INPUT.
(emacs_blocked_free, emacs_blocked_malloc)
(emacs_blocked_realloc): Use (UN)BLOCK_INPUT_ALLOC.
(uninterrupt_malloc): Initialize main_thread and alloc_mutex.
(reset_malloc_hooks): New function.
* lisp.h: Declare reset_malloc_hooks.
* emacs.c (Fdump_emacs): Call reset_malloc_hooks.
* keyboard.c: Conditionally include pthread.h
(handle_async_inpu, input_available_signalt): If not in the main
thread, block signal, send signal to main thread and return.
* image.c (image_load_quartz2d): Use
cfstring_create_with_utf8_cstring
* macmenu.c (add_menu_item): Use
cfstring_create_with_utf8_cstring
* macfns.c (x_set_name, x_set_title): Use
cfstring_create_with_utf8_cstring
(Fx_file_dialog): Use cfstring_create_with_utf8_cstring and use
constant CFRefs instead of creating them each time for labels.
* mac.c (cfstring_create_with_utf8_cstring): Added to prevent
crashes with invalid characters.
(isearch-mode-map): No special definition for space.
(isearch-whitespace-chars): Command deleted.
(isearch-forward-regexp): Doc fix.
(isearch-quote-char): When a space is not inside brackets,
use `[ ]' instead of just space.
(isearch-lazy-highlight-search): Bind search-spaces-regexp.
(XMALLOC_PUT_SIZE, XMALLOC_GET_SIZE): New macros to handle
sizeof(size_t) != 4.
(overrun_check_malloc, overrun_check_realloc, overrun_check_free):
Use them. Also clear header and trailer of freed memory.
(GC_STRING_OVERRUN_COOKIE_SIZE): Rename from GC_STRING_EXTRA.
(string_overrun_cookie): Rename from string_overrun_pattern.
(GC_STRING_EXTRA): Define from GC_STRING_OVERRUN_COOKIE_SIZE.
variables.
(encode_terminal_code): Argument changed. Encode all
characters at once, and return a pointer to the result of
encoding.
(write_glyphs): Decide coding here. Adjusted for the above
change.
(insert_glyphs): Likewise.
(term_init): Initialize encode_terminal_bufsize to 0.
(syms_of_coding): Initialize and staticpro it.
(set_conversion_work_buffer): New function.
(run_pre_post_conversion_on_str): Use it.
(run_pre_write_conversin_on_c_str): New function.
* s/darwin.h (NO_SOCK_SIGIO): Define NO_SOCK_SIGIO on carbon
* Makefile.in (mac.o): Depend on blockinput.h and atimer.h.
(macfns.o): Don't depend on ccl.h.
* macfns.c (mac_frame_parm_handlers): Set handlers for
Qleft_fringe and Qright_fringe.
* macterm.c (mac_fill_rectangle_to_pixmap)
(mac_draw_rectangle_to_pixmap, mac_copy_area_to_pixmap)
(mac_copy_area_with_mask_to_pixmap, x_draw_image_foreground_1):
Put in #if 0.
(mac_scroll_area) [TARGET_API_MAC_CARBON]: Use ScrollWindowRect.
(x_flush) [TARGET_API_MAC_CARBON]: Don't traverse frames.
(XFlush) [TARGET_API_MAC_CARBON]: Define to an empty replacement.
(x_draw_glyph_string_background, x_draw_glyph_string_foreground)
[!MAC_OS8]: Added ifdef'd out code for os8. Don't use
XDrawImageString. Always draw background and foreground separately.
(x_draw_image_foreground): Use clipping instead of computing the
intersection rectangle.
(x_draw_image_glyph_string): Don't draw an image with mask to a
pixmap.
(x_redisplay_interface): Set flush_display_optional member to 0.
(XTread_socket): Correctly reset the TEConverter
object.
set it when it->method is set to next_element_from_display_vector.
(setup_for_ellipsis): Add LEN argument. Callers changed.
Set it->saved_face_id.
(get_next_display_element): Use loop instead of recursion.
Set it->saved_face_id. Combine duplicate code for ctr chars.
(next_element_from_display_vector): Do not set it->saved_face_id.
(next_element_from_ellipsis): Use setup_for_ellipsis.