X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/ca06f160f428224a98cbd6e3ea0dac89b99119ef..3d80c99f3817bf5eccd6acc6a79498a4fde979a4:/src/ChangeLog diff --git a/src/ChangeLog b/src/ChangeLog index 538a8d235d..1b90ae8b97 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,671 @@ +2012-09-24 Stefan Monnier + + * xdisp.c (Qautomatic_redisplay): New constant. + (redisplay_internal): Record itself in backtrace_list. + (syms_of_xdisp): Define Qautomatic_redisplay. + + * profiler.c: Remove filtering functionality. + (is_in_trace, Qgc): Remove vars. + (make_log, record_backtrace, Fsample_profiler_log): + Rewrite, using Elisp hash-tables. + (approximate_median, evict_lower_half): New functions. + (cpu_log): Rename from sample_log. + (cpu_gc_count): New var. + (Fsample_profiler_reset, Fmemory_profiler_reset): Remove. + (sigprof_handler): Add count to cpu_gc_count during GC, detected via + backtrace_list. + (block_sigprof, unblock_sigprof): Remove. + (gc_probe, mark_profiler): Remove functions. + (syms_of_profiler): Staticpro cpu_log and memory_log. + + * lisp.h (SXHASH_COMBINE): Move back to... + * fns.c (SXHASH_COMBINE): ...here. + + * alloc.c (Fgarbage_collect): Record itself in backtrace_list. + Don't set is_in_trace any more. Don't call mark_profiler. + Only call gc_probe for the memory profiler. + (syms_of_alloc): Define Qautomatic_gc. + +2012-09-15 Tomohiro Matsuyama + + * alloc.c (emacs_blocked_malloc): Remove redundant MALLOC_PROBE. + +2012-08-21 Paul Eggert + + * alloc.c: Use bool for booleans. + (gc_in_progress, abort_on_gc) + (setjmp_tested_p) [!GC_SAVE_REGISTERS_ON_STACK && !GC_SETJMP_WORKS]: + (dont_register_blocks) [GC_MALLOC_CHECK]: + (suppress_checking) [ENABLE_CHECKING]: Now bool, not int. + (check_string_bytes, make_specified_string, memory_full) + (live_string_p, live_cons_p, live_symbol_p, live_float_p) + (live_misc_p, live_vector_p, live_buffer_p, mark_maybe_object) + (mark_stack, valid_pointer_p, make_pure_string) + (Fgarbage_collect, survives_gc_p, gc_sweep): + Use bool for booleans, instead of int. + (test_setjmp) [!GC_SAVE_REGISTERS_ON_STACK && !GC_SETJMP_WORKS]: + Remove unused local. + * alloc.c (PURE_POINTER_P): + * lisp.h (STRING_MULTIBYTE): Document that it returns a boolean. + * editfns.c (Fformat): + * fileio.c (Fexpand_file_name, Fsubstitute_in_file_name) + (Fdo_auto_save): + * fns.c (sweep_weak_table): + * lisp.h (suppress_checking, push_message, survives_gc_p) + (make_pure_string, gc_in_progress, abort_on_gc): + * lread.c (readchar, read1): + * print.c (Fprin1_to_string): + * xdisp.c (push_message): + Use bool for booleans affected directly or indirectly by + alloc.c's changes. + + Make recently-introduced setters macros. + * fontset.c (set_fontset_id, set_fontset_name, set_fontset_ascii) + (set_fontset_base, set_fontset_frame, set_fontset_nofont_face) + (set_fontset_default, set_fontset_fallback): Rename from their + upper-case counterparts, and make them functions rather than macros. + This is more consistent with the other recently-introduced setters. + These don't need to be inline, since they're local. + +2012-08-21 Jan Djärv + + * nsterm.m (fd_handler:): Alloc and release a NSAutoreleasePool in + the loop (Bug#12247). + +2012-08-21 Paul Eggert + + * lisp.h (vcopy): Use memcpy rather than our own loop. + This fixes a performance regression introduced by the recent + addition of vcopy. This means 'vcopy' will need to be modified + for a copying collector, but that's OK. Also, tighten the + checking in the assertion. + +2012-08-21 Eli Zaretskii + + * w32uniscribe.c (uniscribe_shape): Fix producing gstring + components for RTL text (Bug#11860). Adjust X-OFFSET of each + non-base glyph for the width of the base character, according to + what x_draw_composite_glyph_string_foreground expects. Generate + WADJUST value according to composition_gstring_width's + expectations, to produce correct width of the composed character. + Reverse the sign of the DU offset produced by ScriptPlace. + +2012-08-21 Paul Eggert + + * dbusbind.c (xd_remove_watch): Do not assume C99 comments. + +2012-08-21 Dmitry Antipov + + Avoid direct writes to contents member of struct Lisp_Vector. + * lisp.h (vcopy): New function to copy data into vector. + * dispnew.c (Fframe_or_buffer_changed_p): Use AREF and ASET. + * fns.c (Ffillarray): Use ASET. + * keyboard.c (timer_check_2): Use AREF and ASET. + (append_tool_bar_item, Frecent_keys): Use vcopy. + * lread.c (read_vector): Use ASET. + * msdos.c (Frecent_doskeys): Use vcopy. + * xface.c (Finternal_copy_lisp_face): Use vcopy. + (Finternal_merge_in_global_face): Use ASET and vcopy. + * xfont.c (xfont_list_pattern): Likewise. + +2012-08-21 Martin Rudalics + + * window.c (Fwindow_point): For the selected window always return + the position of its buffer's point. + (Fset_window_point): For the selected window always go in its + buffer to the specified position. + +2012-08-21 Dmitry Antipov + + Setter macros for fontsets. + * fontset.c (SET_FONTSET_ID, SET_FONTSET_NAME, SET_FONTSET_ASCII) + (SET_FONTSET_BASE, SET_FONTSET_FRAME, SET_FONTSET_NOFONT_FACE) + (SET_FONTSET_DEFAULT, SET_FONTSET_FALLBACK): New macros. + Adjust users. + +2012-08-20 Glenn Morris + + * Makefile.in (emacs$(EXEEXT), bootstrap-emacs$(EXEEXT)): + Don't assume that `ln -f' works. + +2012-08-20 Eli Zaretskii + + * .gdbinit: Use "set $dummy = ..." to avoid warnings from GDB 7.5 + and later about non-assignments with no effect. See discussion at + http://sourceware.org/ml/gdb-patches/2012-08/msg00518.html for + details. + +2012-08-20 Dmitry Antipov + + Inline setter functions for Lisp_Objects slots of struct specbinding. + * eval.c (set_specpdl_symbol, set_specpdl_old_value): New functions. + Adjust users. + +2012-08-20 Martin Rudalics + + * window.c (select_window): Always make selected window's buffer + current. + +2012-08-20 Dmitry Antipov + + Use AREF and ASET for docstrings of category tables. + * category.h (CATEGORY_DOCSTRING): Use AREF. + (SET_CATEGORY_DOCSTRING): Use ASET. + * category.c (Fdefine_category): Use SET_CATEGORY_DOCSTRING. + +2012-08-20 Dmitry Antipov + + Inline setter functions for hash table members. + * lisp.h (set_hash_key, set_hash_value, set_hash_next) + (set_hash_hash, set_hash_index): Rename with _slot suffix. + (set_hash_key_and_value, set_hash_index, set_hash_next) + (set_hash_hash): New functions. + * charset.c, fns.c: Adjust users. + +2012-08-20 Dmitry Antipov + + Inline getter and setter functions for per-buffer values. + * buffer.h (per_buffer_default, set_per_buffer_default) + (per_buffer_value, set_per_buffer_value): New functions. + (PER_BUFFER_VALUE, PER_BUFFER_DEFAULT): Remove. + * buffer.c, data.c: Adjust users. + +2012-08-20 Juanma Barranquero + + * makefile.w32-in ($(BLD)/vm-limit.$(O)): Update dependencies. + +2012-08-19 Paul Eggert + + Rely on + to declare 'environ', + as gnulib does this if the system doesn't. + * callproc.c, editfns.c, process.c (environ) [!USE_CRT_DLL]: + Remove declaration. MS-Windows declares it on stdlib.h which is + included by conf_post.h. + * emacs.c (environ) [DOUG_LEA_MALLOC]: + * vm-limit.c (environ) [ORDINARY_LINK]: Remove decl. + * vm-limit.c: Include , for 'environ'. + + * unexaix.c, unexcoff.c: Include "mem-limits.h". + (start_of_data): Remove decl; mem-limits.h provides it. + + * xdisp.c (handle_invisible_prop): Make it a bit faster + and avoid a gcc -Wmaybe-uninitialized diagnostic. + +2012-08-19 Chong Yidong + + * xdisp.c (handle_invisible_prop): Fix ellipses at overlay string + ends (Bug#3874). + +2012-08-19 Andreas Schwab + + * .gdbinit: Use call instead of set when calling a function in the + inferior. + + * data.c (set_internal): Don't use set_blv_found. + (Fkill_local_variable): Likewise. + +2012-08-18 Alp Aker + + * nsfont.m (ns_ascii_average_width): Ensure the string + ascii_printable is initialized with a null-terminated character + array. Otherwise, it can contain undesired extra characters. + +2012-08-18 Paul Eggert + + port new setting code to Sun C 5.8 2005/10/13 + * chartab.c, lisp.h (char_table_set, char_table_set_range): + Return void, not Lisp_Object. Otherwise, the compiler + complains about (A?B:C) where B is void and C is Lisp_Object + when compiling CHAR_TABLE_SET, due to the recent change to + the API of sub_char_table_set_contents. + +2012-08-18 Chong Yidong + + * xdisp.c (handle_invisible_prop): Obey TEXT_PROP_MEANS_INVISIBLE + for the string case (Bug#3874). + +2012-08-18 Paul Eggert + + * buffer.h (BSET): Remove (Bug#12215). + Replace all uses with calls to new setter functions. + (bset_bidi_paragraph_direction, bset_case_canon_table) + (bset_case_eqv_table, bset_directory, bset_display_count) + (bset_display_time, bset_downcase_table) + (bset_enable_multibyte_characters, bset_filename, bset_keymap) + (bset_last_selected_window, bset_local_var_alist) + (bset_mark_active, bset_point_before_scroll, bset_read_only) + (bset_truncate_lines, bset_undo_list, bset_upcase_table) + (bset_width_table): + * buffer.c (bset_abbrev_mode, bset_abbrev_table) + (bset_auto_fill_function, bset_auto_save_file_format) + (bset_auto_save_file_name, bset_backed_up, bset_begv_marker) + (bset_bidi_display_reordering, bset_buffer_file_coding_system) + (bset_cache_long_line_scans, bset_case_fold_search) + (bset_ctl_arrow, bset_cursor_in_non_selected_windows) + (bset_cursor_type, bset_display_table, bset_extra_line_spacing) + (bset_file_format, bset_file_truename, bset_fringe_cursor_alist) + (bset_fringe_indicator_alist, bset_fringes_outside_margins) + (bset_header_line_format, bset_indicate_buffer_boundaries) + (bset_indicate_empty_lines, bset_invisibility_spec) + (bset_left_fringe_width, bset_major_mode, bset_mark) + (bset_minor_modes, bset_mode_line_format, bset_mode_name) + (bset_name, bset_overwrite_mode, bset_pt_marker) + (bset_right_fringe_width, bset_save_length) + (bset_scroll_bar_width, bset_scroll_down_aggressively) + (bset_scroll_up_aggressively, bset_selective_display) + (bset_selective_display_ellipses, bset_vertical_scroll_bar_type) + (bset_word_wrap, bset_zv_marker): + * category.c (bset_category_table): + * syntax.c (bset_syntax_table): + New setter functions. + + * process.h (PSET): Remove (Bug#12215). + Replace all uses with calls to new setter functions. + Use INLINE_HEADER_BEGIN, INLINE_HEADER_END. + (PROCESS_INLINE): New macro. + (pset_childp): New setter function. + (pset_gnutls_cred_type) [HAVE_GNUTLS]: New setter function. + * process.c (PROCESS_INLINE): + Define to EXTERN_INLINE, so that the corresponding functions + are compiled into code. + (pset_buffer, pset_command, pset_decode_coding_system) + (pset_decoding_buf, pset_encode_coding_system) + (pset_encoding_buf, pset_filter, pset_log, pset_mark, pset_name) + (pset_plist, pset_sentinel, pset_status, pset_tty_name) + (pset_type, pset_write_queue): New setter functions. + + * window.h (WSET): Remove (Bug#12215). + Replace all uses with calls to new setter functions. + Use INLINE_HEADER_BEGIN, INLINE_HEADER_END. + (WINDOW_INLINE): New macro. + (wset_buffer, wset_frame, wset_left_col, wset_next, wset_prev) + (wset_redisplay_end_trigger, wset_top_line, wset_total_cols) + (wset_total_lines, wset_vertical_scroll_bar) + (wset_window_end_pos, wset_window_end_valid) + (wset_window_end_vpos): New setter functions. + * window.c (WINDOW_INLINE): + Define to EXTERN_INLINE, so that the corresponding functions + are compiled into code. + (wset_combination_limit, wset_dedicated, wset_display_table) + (wset_hchild, wset_left_fringe_width, wset_left_margin_cols) + (wset_new_normal, wset_new_total, wset_next_buffers) + (wset_normal_cols, wset_normal_lines, wset_parent, wset_pointm) + (wset_prev_buffers, wset_right_fringe_width) + (wset_right_margin_cols, wset_scroll_bar_width, wset_start) + (wset_temslot, wset_vchild, wset_vertical_scroll_bar_type) + (wset_window_parameters): + * xdisp.c (wset_base_line_number, wset_base_line_pos) + (wset_column_number_displayed, wset_region_showing): + New setter functions. + + * termhooks.h (TSET): Remove (Bug#12215). + Replace all uses with calls to new setter functions. + Use INLINE_HEADER_BEGIN, INLINE_HEADER_END. + (TERMHOOKS_INLINE): New macro. + (tset_charset_list, tset_selection_alist): New setter functions. + * terminal.c (TERMHOOKS_INLINE): + Define to EXTERN_INLINE, so that the corresponding functions + are compiled into code. + (tset_param_alist): New setter function. + +2012-08-17 Paul Eggert + + * keyboard.h (KSET): Remove (Bug#12215). + Replace all uses with calls to new setter functions. + Use INLINE_HEADER_BEGIN, INLINE_HEADER_END. + (KEYBOARD_INLINE): New macro. + (kset_default_minibuffer_frame, kset_defining_kbd_macro) + (kset_input_decode_map, kset_last_command, kset_last_kbd_macro) + (kset_prefix_arg, kset_system_key_alist, kset_window_system): + New setter functions. + * keyboard.c (KEYBOARD_INLINE): + Define to EXTERN_INLINE, so that the corresponding functions + are compiled into code. + (kset_echo_string, kset_kbd_queue) + (kset_keyboard_translate_table, kset_last_prefix_arg) + (kset_last_repeatable_command, kset_local_function_key_map) + (kset_overriding_terminal_local_map, kset_real_last_command) + (kset_system_key_syms): New setter functions. + + * frame.h (FSET): Remove (Bug#12215). + Replace all uses with calls to new setter functions. + Use INLINE_HEADER_BEGIN, INLINE_HEADER_END. + (FRAME_INLINE): New macro. + (fset_buffer_list, fset_buried_buffer_list, fset_condemned_scroll_bars) + (fset_current_tool_bar_string, fset_desired_tool_bar_string) + (fset_face_alist, fset_focus_frame, fset_icon_name, fset_menu_bar_items) + (fset_menu_bar_vector, fset_menu_bar_window, fset_name) + (fset_param_alist, fset_root_window, fset_scroll_bars) + (fset_selected_window, fset_title, fset_tool_bar_items) + (fset_tool_bar_position, fset_tool_bar_window): New functions. + * frame.c (FRAME_INLINE): + Define to EXTERN_INLINE, so that the corresponding functions + are compiled into code. + (fset_buffer_predicate, fset_minibuffer_window): New setter functions. + + A few more naming-convention fixes for getters and setters. + * buffer.c (set_buffer_overlays_before): Move here from buffer.h, + and rename from buffer_overlays_set_before. + (set_buffer_overlays_after): Move here from buffer.h, and rename + from buffer_overlays_set_after. + * buffer.h (buffer_intervals): Rename from buffer_get_intervals. + All uses changed. + (set_buffer_intervals): Rename from buffer_set_intervals. + * intervals.c (set_interval_object): Move here from intervals.h, + and rename from interval_set_object. + (set_interval_left): Move here from intervals.h, and rename from + interval_set_left. + (set_interval_right): Move here from intervals.h, and rename from + interval_set_right. + (copy_interval_parent): Move here from intervals.h, and rename from + interval_copy_parent. + * intervals.h (set_interval_parent): Rename from interval_set_parent. + (set_interval_plist): Rename from interval_set_plist. + Return void, not Lisp_Object, since no caller uses the result. + * lisp.h (string_intervals): Rename from string_get_intervals. + (set_string_intervals): Rename from string_set_intervals. + + * lisp.h (set_char_table_extras): Rename from char_table_set_extras. + (set_char_table_contents): Rename from char_table_set_contents. + (set_sub_char_table_contents): Rename from sub_char_table_set_contents. + All uses changed. See the end of + . + + * lisp.h (CSET): Remove (Bug#12215). + (set_char_table_ascii, set_char_table_defalt, set_char_table_parent) + (set_char_table_purpose): New functions, + replacing CSET. All uses changed. For example, replace + "CSET (XCHAR_TABLE (char_table), parent, parent);" with + "set_char_table_parent (char_table, parent);". + The old version was confusing because it used the same name + 'parent' for two different things. + +2012-08-17 Dmitry Antipov + + Functions to get and set Lisp_Object fields of buffer-local variables. + * lisp.h (blv_found, set_blv_found, blv_value, set_blv_value) + (set_blv_where, set_blv_defcell, set_blv_valcell): New functions. + (BLV_FOUND, SET_BLV_FOUND, BLV_VALUE, SET_BLV_VALUE): Remove. + * data.c, eval.c, frame.c: Adjust users. + +2012-08-17 Chong Yidong + + * xfaces.c (merge_face_vectors): If the target font specfies a + font spec, make the font's attributes take precedence over + directly-specified attributes. + (merge_face_ref): Recognize :font. + +2012-08-17 Dmitry Antipov + + Do not use memcpy for copying intervals. + * intervals.c (reproduce_interval): New function. + (reproduce_tree, reproduce_tree_obj): Use it. + (reproduce_tree_obj): Remove prototype. + +2012-08-17 Paul Eggert + + * lisp.h (duration_to_sec_usec): Remove unused decl. + +2012-08-17 Alp Aker + + * nsfont.m (ns_ascii_average_width): Send initWithFormat selector + to an allocated instance of NSString, not to the class itself. + +2012-08-17 Juanma Barranquero + + * makefile.w32-in (C_CTYPE_H): New macro. + (LISP_H, $(BLD)/ccl.$(O), $(BLD)/doc.$(O), $(BLD)/w32console.$(O)): + ($(BLD)/fontset.$(O), $(BLD)/frame.$(O), $(BLD)/composite.$(O)): + ($(BLD)/sysdep.$(O), $(BLD)/w32uniscribe.$(O)): Update dependencies. + +2012-08-16 Paul Eggert + + Use ASCII tests for character types. + * category.c, dispnew.c, doprnt.c, editfns.c, syntax.c, term.c: + * xfns.c, xterm.c: + Don't include ; was not needed. + * charset.c, doc.c, fileio.c, font.c, frame.c, gtkutil.c, image.c: + * sysdep.c, xfaces.c: + Include instead of . + * nsterm.m: Include . + * charset.c (read_hex): + * doc.c (Fsnarf_documentation): + * fileio.c (IS_DRIVE) [WINDOWSNT]: + (DRIVE_LETTER) [DOS_NT]: + (Ffile_name_directory, Fexpand_file_name) + (Fsubstitute_in_file_name): + * font.c (font_parse_xlfd, font_parse_fcname): + * frame.c (x_set_font_backend): + * gtkutil.c (xg_get_font): + * image.c (xbm_scan, xpm_scan, pbm_scan_number): + * nsimage.m (hexchar): + * nsterm.m (ns_xlfd_to_fontname): + * sysdep.c (system_process_attributes): + * xfaces.c (hash_string_case_insensitive): + Use C-locale tests instead of locale-specific tests for character + types, since we want the ASCII interpretation here, not the + interpretation suitable for whatever happens to be the current locale. + +2012-08-16 Martin Rudalics + + Consistently check windows for validity/liveness + (Bug#11984, Bug#12025, Bug#12026). + * lisp.h (CHECK_VALID_WINDOW): New macro. + * window.c (decode_window): Rename to decode_live_window. + (decode_valid_window, Fwindow_valid_p): New functions. + (Fwindow_frame, Fframe_root_window, Fwindow_minibuffer_p) + (Fframe_first_window, Fframe_selected_window, Fwindow_parent) + (Fwindow_top_child, Fwindow_left_child, Fwindow_next_sibling) + (Fwindow_prev_sibling, Fwindow_combination_limit) + (Fset_window_combination_limit, Fwindow_use_time) + (Fwindow_total_height, Fwindow_total_width, Fwindow_new_total) + (Fwindow_normal_size, Fwindow_new_normal, Fwindow_left_column) + (Fwindow_top_line, Fwindow_body_height, Fwindow_body_width) + (Fwindow_hscroll, Fset_window_hscroll) + (Fwindow_redisplay_end_trigger) + (Fset_window_redisplay_end_trigger, Fwindow_edges) + (Fwindow_pixel_edges, Fwindow_absolute_pixel_edges) + (Fwindow_inside_edges, Fwindow_inside_pixel_edges) + (Fcoordinates_in_window_p, Fwindow_point, Fwindow_start) + (Fwindow_end, Fset_window_point, Fset_window_start) + (Fpos_visible_in_window_p, Fwindow_line_height) + (Fwindow_dedicated_p, Fset_window_dedicated_p) + (Fwindow_prev_buffers, Fset_window_prev_buffers) + (Fwindow_next_buffers, Fwindow_parameters, Fwindow_parameter) + (Fset_window_parameter, Fwindow_display_table) + (Fset_window_display_table, Fdelete_other_windows_internal) + (Fset_window_buffer, Fset_window_new_total) + (Fset_window_new_normal, Fdelete_window_internal) + (Fwindow_text_height, Fset_window_margins, Fwindow_margins) + (Fset_window_fringes, Fwindow_fringes, Fset_window_scroll_bars) + (Fwindow_scroll_bars): Check whether argument window is a valid or + live window. Update doc-strings. + (syms_of_window): New symbol Qwindow_valid_p. + * keyboard.c (Fposn_at_x_y): Check whether argument + frame_or_window denotes a valid window. + +2012-08-16 Dmitry Antipov + + Fix previous char table change. + * lisp.h (CHAR_TABLE_SET): Use sub_char_table_set_contents. + * chartab.c (optimize_sub_char_table): Likewise. + +2012-08-16 Chong Yidong + + * gtkutil.c (xg_get_font): Demand an Xft font (Bug#3228). + + * xfont.c (xfont_open): + * xftfont.c (xftfont_open): Set the font's max_width field. + + * nsfont.m (nsfont_open): Similar to the Xft backend, set + min_width to space_width and average_width to the average over + printable ASCII characters. + (ns_char_width): Code cleanup. + (ns_ascii_average_width): New utility function. + + * font.h (struct font): Update comments. + +2012-08-16 Dmitry Antipov + + Simple interface to set Lisp_Object fields of character tables. + * lisp.h (CSET): New macro. + (char_table_set_extras, char_table_set_contents) + (sub_char_table_set_contents): New function. + * casetab.c, category.c, chartab.c, fns.c, fontset.c, search.c: + * syntax.c: Adjust users. + +2012-08-16 Stefan Monnier + + * eval.c (eval_sub): Bind lexical-binding. + * lread.c (Qlexical_binding): Make non-static. + +2012-08-15 Jan Djärv + + * nsmenu.m (popupSession): Remove. + (pop_down_menu): Remove endModalSession. + (timeout_handler:): New method. + (runDialogAt:): Get next timeout. Start a NSTimer with that timeout. + Call runModalForWindow. Check timer_fired when it returns. + If not set, cancel timer and break out of loop. + Otherwise loop again, with a new timeout. + + * nsterm.m: Include fcntl.h if present. + (fd_entry, t_readfds, inNsSelect): Remove. + (select_writefds, select_valid, select_timeout, selfds) + (select_mutex, apploopnr): Add. + (EV_TRAILER): Call kbd_buffer_store_event_hold only if q_event_ptr. + Otherwise call kbd_buffer_store_event. + (ns_send_appdefined): Remove release of fd_entry. + (ns_read_socket): Always send appdefined. Remove inNsSelect check. + Increment and decrement apploopnr. + (ns_select): If no file descriptors, just do a NSTimer. + Otherwise copy read/write masks and start select thread (fd_handler). + Start main loop and wait for application defined event. + Inform select thread to stop selecting after main loop is exited. + (ns_term_init): Create selfds pipe and set non-blocking. + Initialize select_mutex. Start the select thread (fd_handler). + (fd_handler:): Loop forever, wait for info from the main thread + to either start or stop selecting. When select returns, send + and appdefined event. + (sendScrollEventAtLoc:fromEvent:): Check if q_event_ptr is set. + If not call kbd_buffer_store_event. + + * nsterm.h (EmacsApp): fd_handler takes id argument. + (EmacsDialogPanel): Add timer_fired and timeout_handler. + + * gtkutil.c (xg_mark_data): Use FRAME_X_P. + +2012-08-15 Eli Zaretskii + + * region-cache.c (move_cache_gap): Update gap_len using the actual + growth of the boundaries array. Do not change cache_len. + (Bug#12196) + +2012-08-15 Dmitry Antipov + + Generalize and cleanup font subsystem checks. + * font.h (FONT_DEBUG, font_assert): Remove. + * font.c, fontset.c, w32font.c, xfont.c, xftfont.c: + Change font_assert to eassert. Use eassert where appropriate. + +2012-08-15 Dmitry Antipov + + * gtkutil.c (xg_get_font): Use pango_units_to_double. + +2012-08-15 Chong Yidong + + * gtkutil.c (xg_get_font): Rename from xg_get_font_name. + When using the new font chooser, use gtk_font_chooser_get_font_desc to + extract the font descriptor instead of just the font name. + In that case, return a font spec instead of a string. + (x_last_font_name): Move to this file from xfns.c. + + * xfns.c (Fx_select_font): The return value can also be a font + spec. Move x_last_font_name management to gtkutil.c. + + * xfaces.c: Make font weight and style symbols non-static. + +2012-08-15 Stefan Monnier + + * minibuf.c (read_minibuf): Ignore caller's inhibit-read-only + (bug#12117). + +2012-08-14 Stefan Monnier + + * alloc.c (Fgarbage_collect): Use plural form consistently. + +2012-08-14 Eli Zaretskii + + * keyboard.c (command_loop_1): Reset ignore_mouse_drag_p flag each + iteration through the command loop. Fixes a problem whereby mouse + movements are ignored until the first mouse click. + +2012-08-14 Paul Eggert + + Use bool, not int, for Lisp booleans. + This is more natural, and on my platform (GCC 4.7.1 x86-64) it + makes Emacs a bit smaller and presumably a bit faster. + * lisp.h: Include . + (struct Lisp_Boolfwd, defvar_bool): + * lread.c (defvar_bool): Use bool, not int, for Lisp booleans. + * regex.c [!emacs]: Include . + (false, true): Remove; does this for us now. + +2012-08-14 Chong Yidong + + * character.c (Fcharacterp): Doc fix (Bug#12076). + + * data.c (Findirect_variable): Doc fix (Bug#11040). + + * chartab.c (Fmap_char_table): Doc fix (Bug#12061). + + * editfns.c (Fformat): Doc fix (Bug#12059). + (Fsave_current_buffer): Doc fix (Bug#11542). + +2012-08-14 Barry OReilly (tiny change) + + * keyboard.c (access_keymap_keyremap): Accept anonymous functions + (bug#12022). + +2012-08-14 Martin Rudalics + + * frame.c (make_frame_without_minibuffer, make_minibuffer_frame) + (delete_frame, Fmake_frame_invisible, Ficonify_frame): + * minibuf.c (choose_minibuf_frame, read_minibuf): + * w32fns.c (x_create_tip_frame): + * xfns.c (x_create_tip_frame): Call set_window_buffer instead of + Fset_window_buffer (Bug#11984, Bug#12025, Bug#12026). + +2012-08-14 Paul Eggert + + * intervals.c (offset_intervals): Remove obsolete comment. + +2012-08-14 Andreas Schwab + + * gtkutil.c (find_rtl_image, update_frame_tool_bar): Use NILP. + +2012-08-14 Gergely Risko + + * coding.c (decode_coding): Record buffer modification before + disabling undo_list (Bug#11773). + +2012-08-14 Dmitry Antipov + + Revert and cleanup some recent overlay changes. + * buffer.h (enum overlay_type): Remove. + (buffer_get_overlays, buffer_set_overlays): Likewise. + (buffer_set_overlays_before, buffer_set_overlays_after): + New function. Adjust users. + (unchain_both): Add eassert. + +2012-08-14 Dmitry Antipov + + * gtkutil.c (update_frame_tool_bar): Use EQ where appropriate. + +2012-08-14 Paul Eggert + + * gtkutil.c (xg_mark_data): Don't assume C99. + 2012-08-13 Jan Djärv * gtkutil.c (xg_frame_tb_info): New struct. @@ -3191,6 +3859,7 @@ has at least microseconds now. All uses removed. (update_frame, update_single_window, update_window, update_frame_1) (Fsleep_for, sit_for): Port to higher-resolution time stamps. + (duration_to_sec_usec): Remove; no longer needed. * editfns.c (time_overflow): Now extern. (Fcurrent_time, Fget_internal_run_time, make_time, lisp_time_argument)