From 3338398778900f0b66a2f20b947e31861384fe04 Mon Sep 17 00:00:00 2001 From: Juanma Barranquero Date: Wed, 6 Apr 2011 14:18:10 +0200 Subject: Update and split ChangeLogs. --- src/ChangeLog.11 | 31401 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 31401 insertions(+) create mode 100644 src/ChangeLog.11 (limited to 'src/ChangeLog.11') diff --git a/src/ChangeLog.11 b/src/ChangeLog.11 new file mode 100644 index 00000000000..703b084743c --- /dev/null +++ b/src/ChangeLog.11 @@ -0,0 +1,31401 @@ +2011-03-07 Chong Yidong + + * Version 23.3 released. + +2011-03-07 Ben Key + + * w32fns.c (FILE_NAME_COMBO_BOX, FILE_NAME_LIST): Define. + (file_dialog_callback): Fix locating the window handle of the File Name + text field. After disabling it, set focus on the list control. + (Fx_file_dialog): If only_dir_p is non-nil, set the text of the File + Name text field to "Current Directory" if it does not already have + another value. (Bug#8181) + +2011-03-07 Adrian Robert + + * nsterm.m (ns_draw_window_cursor): Fix handling of "cursor_width" + parameter for hbar cursors. Based on a patch by Ben Key + . + +2011-03-06 Chong Yidong + + * xdisp.c (redisplay_window): Revert incorrect logic in 2011-03-06 + change. + +2011-03-06 Paul Eggert + + current_column: Now returns EMACS_INT, fixing some iftc + that was introduced in the 2002-06-02 change "temporarily"; see + . + * bytecode.c (Fbyte_code): Don't cast current_column () to int. + * cmds.c (internal_self_insert): Likewise. + * indent.c (Fcurrent_column): Likewise. + * keymap.c (describe_command): Likewise. + * minibuf.c (read_minibuf): Likewise. + * indent.c (Fcurrent_indentation): Don't cast position_indentation () + to int. + * xdisp.c (redisplay_internal, redisplay_window, decode_mode_spec): + Likewise. + * cmds.c (internal_self_insert): Declare locals to be EMACS_INT, + not int or double, if they might contain a column number. + * indent.c (current_column, Findent_to, indented_beyond_p): + (compute_motion, vmotion): Likewise. + * keymap.c (describe_command): Likewise. + * xdisp.c (pint2str): Likewise. + * indent.c (last_known_column): Now EMACS_INT, not int. + * minibuf.c (minibuf_prompt_width): Likewise. + * indent.c (current_column, current_column_1, position_indentation): + Return EMACS_INT, not double. + * lisp.h (current_column): Likewise. + * indent.c (indented_beyond_p): Last arg is now EMACS_INT, not double. + All callers changed. + * lisp.h (indented_beyond_p): Likewise. + + * minibuf.c (minibuf_prompt, minibuf_prompt_width): Move here + from xdisp.c, and make static, since these are used only here. + * window.h, xdisp.c (minibuf_prompt, minibuf_prompt_width): + Remove decls. + + * cmds.c (internal_self_insert): Reindent to match Emacs style. + * xdisp.c (redisplay_window): Likewise. + + * xdisp.c: Rename or move local decls to avoid shadowing. + (init_iterator, handle_fontified_prop, handle_single_display_spec): + (message_dolog, message_with_string, redisplay_internal): + (redisplay_window, try_window_reusing_current_matrix, try_window_id): + (compute_line_metrics, highlight_trailing_whitespace, cursor_row_p): + (display_line, display_string, rows_from_pos_range): + (mouse_face_from_buffer_pos, note_mouse_highlight, expose_frame): + Rename or move local decls. + * xdisp.c (BUILD_GLYPHLESS_GLYPH_STRING): Omit unused local var. + (produce_glyphless_glyph): Make a pointer "const" + since it might point to immutable storage. + (update_window_cursor): Now static, since it's not used elsewhere. + (SKIP_GLYPHS): Remove unused macro. + +2011-03-06 Michael Shields (tiny change) + + * window.c (Fnext_window): Doc fix. (Bug#5567) + +2011-03-05 Chong Yidong + + * nsterm.m (ns_draw_window_cursor): Fix typo in 2011-02-23 commit. + +2011-03-02 Ken Brown + + * sheap.c (STATIC_HEAP_SIZE): Increase to 13MB. + +2011-03-02 Paul Eggert + + Work around some portability problems with symlinks. + + * fileio.c (Fmake_symbolic_link): Treat ENOSYS specially, and + generate a special message for it. Suggested by Eli Zaretskii in + . + (Frename_file, Fmake_symbolic_link, Ffile_symlink_p): + Simplify the code by assuming that the readlink and symlink calls + exist, even if they always fail on this host. + (Ffile_readable_p): Likewise, for fifos. + * config.in: Regenerate. + +2011-02-27 Chong Yidong + + * frame.c (store_frame_param): Don't store value directly in + buffer_list and buried_buffer_list; copy the list and remove dead + buffers (Bug#7898). + +2011-02-27 Eli Zaretskii + + * msdos.c (readlink) [DJGPP < 2.04]: New stub function. + + * msdos.h (readlink) [DJGPP < 2.04]: Declare prototype. + + * w32.c (symlink, readlink): New stub functions. + +2011-02-27 Paul Eggert + + * scroll.c (CHECK_BOUNDS): #define only if GLYPH_DEBUG. + This avoids a gcc warning in some configurations. + + * frame.c (x_set_screen_gamma): Rename local to avoid shadowing. + + * frame.h: Avoid gcc -Wmissing-prototypes diagnostics. + (set_menu_bar_lines, x_get_resource_string): New decls. + * msdos.c (set_menu_bar_lines): Omit decl. + + * dispextern.h (struct glyph): Make u.img_id int, not unsigned. + It's always given int values and used as an int. This suppresses + a gcc "comparison of unsigned expression >= 0" warning in some + configurations. + + * dispnew.c: Rename locals to avoid shadowing. + (update_text_area, scrolling_window, update_frame_1): Rename locals. + +2011-02-26 Paul Eggert + + * dispnew.c: Fix problems uncovered by gcc -Wstrict-prototypes. + (copy_glyph_row_contents): Remove; not used. + (frame_row_to_window, check_current_matrix_flags): + (window_change_signal): Now static, since they're not used elsewhere. + (check_current_matrix_flags): Surround with "#if 0", since its + only use is in a comment. Maybe both the comment and the "#if 0" + stuff should be removed? + + * dispnew.c: Fix problem uncovered by gcc -Wunused-variable. + (adjust_frame_glyphs_for_window_redisplay): Make 'w' local to the + contexts that actually need it. + +2011-02-26 Eli Zaretskii + + * s/msdos.h (HAVE_LSTAT): Define for DJGPP >= 2.04. + (lstat): Define for DJGPP < 2.04. + +2011-02-25 Paul Eggert + + * dired.c (Ffile_attributes): Increase size of modes from 10 to 12 + as per recent filemodestring API change. Reported by Jonas Öster in + . + +2011-02-23 Ben Key + + * nsterm.m (ns_draw_window_cursor): Obey the cursor_width argument + directly, for bar cursors. + +2011-02-23 Chong Yidong + + * xdisp.c (set_frame_cursor_types): Don't write an undefined value + into the frame's cursor_width. + +2011-02-23 Stefan Monnier + + * print.c (print_object): Never print old-style backquotes. + Obey escapeflag for hash tables as well. + +2011-02-23 Kenichi Handa + + * font.c (font_open_entity): Be sure to set scaled_pixel_size. + (font_find_for_lface): Check if attrs[LFACE_HEIGHT_INDEX] is integer. + +2011-02-22 Paul Eggert + + * dired.c (Ffile_attributes): Simplify and avoid #ifdef. + +2011-02-22 Wolfgang Jenkner (tiny change) + + * lread.c (openp): Correct Boolean typo in last commit. + +2011-02-22 Adrian Robert + + * nsterm.m (EmacsView-keyDown:): Don't pass shift-only-modified + key to Emacs, treat as unmodified (go to input manager processing). + +2011-02-22 Paul Eggert + + Assume S_ISLNK etc. work, since gnulib supports this. + * config.in: Regenerate. + * dired.c (lstat): Remove. + (file_name_completion): Assume S_ISDIR works. + (file_name_completion_stat): Assume S_ISLNK works. + Do not bother calling stat unless lstat says it's a symlink. + * fileio.c (S_ISLNK, S_ISFIFO, S_ISREG, lstat): Remove. + (Fcopy_file): Assume S_ISREG and S_ISLNK work. + (check_writable, Ffile_writable_p, Fset_file_times): + Assume S_ISDIR works. + (Ffile_readable_p): Use S_IFIFO, not S_ISFIFO, to guess whether + fifos exist. + (Ffile_regular_p, Finsert_file_contents): Assume S_ISREG works. + * filelock.c (S_ISLNK): Remove. + * lread.c (openp): Assume S_ISDIR works. + * xrdb.c (S_ISDIR): Remove. + +2011-02-21 Eli Zaretskii + + * makefile.w32-in ($(BLD)/filemode.$(O)): Move recipe to + lib/makefile.w32-in. + ($(BLD)/dired.$(O)): Depend on $(EMACS_ROOT)/lib/filemode.h. + (GLOBAL_SOURCES): Remove filemode.c. + (OBJ1): Remove $(BLD)/filemode.$(O). + +2011-02-21 Paul Eggert + + Import filemode module from gnulib. + * Makefile.in (base_obj): Remove filemode.o, as it's now in ../lib. + * deps.mk (dired.o): Depend on ../lib/filemode.h, too. + (filemode.o): Remove; this is now in ../lib. + * dired.c: Include . + (filemodestring): Remove now-redundant decl. + * config.in: Regenerate. + +2011-02-20 Eli Zaretskii + + * makefile.w32-in ($(BLD)/fns.$(O)): Depend on + $(EMACS_ROOT)/lib/md5.h and on stamp_BLD. + +2011-02-20 Christoph Scholtes + + * makefile.w32-in: Remove md5.$(O). + ($(BLD)/md5.$(O)): Remove prerequisites, moved to + lib/makefile.w32-in. + +2011-02-20 Paul Eggert + + Import crypto/md5 and stdint modules from gnulib. + * Makefile.in (base_obj): Remove md5.o, since this file + is in lib now. + * config.in: Regenerate. + * md5.h, md5.h: Move to ../lib. + * deps.mk (md5.o): Remove. + (fns.o): Depend on ../lib/md5.h, not md5.h. + +2011-02-19 Eli Zaretskii + + * termcap.c (tputs): Don't declare baud_rate. + + * s/msdos.h (strtold): Define to _strtold. + +2011-02-18 Stefan Monnier + + * process.c (Fstart_process, Fmake_serial_process) + (Fmake_network_process, server_accept_connection): + Use empty_unibyte_string. + + * alloc.c (make_unibyte_string): Don't SET_UNIBYTE redundantly. + + * lread.c (Qdir_ok): New constant. + (syms_of_lread): Initialize it. + (openp): Don't ignore directories if the predicate returns dir-ok. + +2011-02-18 Eli Zaretskii + + * xdisp.c (display_line): Fix the change made for bug#7939. + + * terminal.c (create_terminal): Use default-keyboard-coding-system + and default-terminal-coding-system to initialize coding systems of + the new terminal. (Bug#7840) + +2011-02-18 Stefan Monnier + + * lisp.h (BYTE_MARK_STACK): New macro. + (mark_byte_stack): Only declare if BYTE_MARK_STACK is set. + + * bytecode.c (BYTE_MAINTAIN_TOP): New macros. + (struct byte_stack): Only define `top' and `bottom' if used. + (mark_byte_stack): Only define if used. + (BEFORE_POTENTIAL_GC, AFTER_POTENTIAL_GC): Nullify if BYTE_MAINTAIN_TOP + is not set. + (Fbyte_code): Don't set `bottom' unless BYTE_MAINTAIN_TOP is set. + + * term.c (OUTPUT_IF): Use OUTPUT. + + * alloc.c (Fgarbage_collect): When using stack scanning, don't + redundantly scan byte-code stacks, catchlist, and handlerlist. + +2011-02-17 Jan Djärv + + * nsfns.m (Fx_create_frame, ns_set_name_as_filename) + (Fns_read_file_name): Replace B_ with BVAR. + + * nsterm.m (ns_term_init): Use KVAR. + +2011-02-16 Eli Zaretskii + + * msdos.c (internal_terminal_init): Use KVAR. + + * w32fns.c (Fx_create_frame): Use KVAR. + + * w32term.c (w32_create_terminal): Use KVAR. + + * s/ms-w32.h (MODE_LINE_BINARY_TEXT): Remove. + (getloadavg): Declare prototype which was removed from lisp.h. + + * xdisp.c (decode_mode_spec): Don't use MODE_LINE_BINARY_TEXT. + + * fileio.c (Finsert_file_contents, Fwrite_region): + Remove references to buffer_file_type. + (syms_of_fileio): Don't intern and staticpro + find-buffer-file-type. + + * callproc.c (syms_of_callproc): Remove references to + buffer_file_type. + + * buffer.c (reset_buffer_local_variables): Don't set + buffer_file_type. + (init_buffer_once): Likewise. + (syms_of_buffer): Don't define buffer-file-type. + + * buffer.h (struct buffer): Remove buffer_file_type. + +2011-02-16 Tom Tromey + + * callint.c (Fcall_interactively): Update for change to field names. + * doc.c (Fsubstitute_command_keys): Update for change to field names. + * cmds.c (Fself_insert_command): Update for change to field names. + * keymap.c (Fcurrent_active_maps, Fkey_binding) + (Fdescribe_buffer_bindings): Update for change to field names. + * macros.c (Fstart_kbd_macro, end_kbd_macro, Fend_kbd_macro) + (store_kbd_macro_char, Fcall_last_kbd_macro, Fexecute_kbd_macro): + Update for change to field names. + * keyboard.c (echo_char, echo_dash, echo_now, cancel_echoing) + (echo_length, echo_truncate, cmd_error, command_loop_1) + (read_char, kbd_buffer_store_event_hold, make_lispy_event) + (menu_bar_items, tool_bar_items, read_char_minibuf_menu_prompt) + (read_key_sequence, Fcommand_execute, Fexecute_extended_command) + (Fdiscard_input, init_kboard, init_keyboard, mark_kboards): + Update for change to field names. + * xfns.c (Fx_create_frame): Update for change to field names. + * xterm.c (x_connection_closed, x_term_init): Update for change to + field names. + * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN, init_tty): + Update for change to field names. + * window.c (window_scroll_pixel_based, window_scroll_line_based): + Update for change to field names. + * frame.c (make_frame_without_minibuffer, Fhandle_switch_frame) + (delete_frame): Update for change to field names. + * lisp.h (DEFVAR_KBOARD): Update for change to field names. + * keyboard.h (struct kboard): Rename all Lisp_Object fields. + (KBOARD_INTERNAL_FIELD, KVAR): New macros. + +2011-02-16 Tom Tromey + + * lisp.h (DEFVAR_BUFFER_DEFAULTS): Use BVAR. + +2011-02-16 Tom Tromey + + * xfns.c (x_create_tip_frame, Fx_show_tip): Replace B_ with BVAR. + * xfaces.c (compute_char_face): Replace B_ with BVAR. + * xdisp.c (pos_visible_p, init_iterator, reseat_1) + (message_dolog, update_echo_area, ensure_echo_area_buffers) + (with_echo_area_buffer, setup_echo_area_for_printing) + (set_message_1, update_menu_bar, update_tool_bar) + (text_outside_line_unchanged_p, redisplay_internal) + (try_scrolling, try_cursor_movement, redisplay_window) + (try_window_reusing_current_matrix, row_containing_pos) + (try_window_id, get_overlay_arrow_glyph_row, display_line) + (Fcurrent_bidi_paragraph_direction, display_mode_lines) + (decode_mode_spec_coding, decode_mode_spec, display_count_lines) + (get_window_cursor_type, note_mouse_highlight): Replace B_ with + BVAR. + * window.c (window_display_table, unshow_buffer, window_loop) + (window_min_size_2, set_window_buffer, Fset_window_buffer) + (select_window, Fforce_window_update, temp_output_buffer_show) + (Fset_window_configuration, save_window_save): Replace B_ with + BVAR. + * w32fns.c (x_create_tip_frame, Fx_show_tip, Fw32_shell_execute): + Replace B_ with BVAR. + * undo.c (record_point, record_insert, record_delete) + (record_marker_adjustment, record_first_change) + (record_property_change, Fundo_boundary, truncate_undo_list) + (Fprimitive_undo): Replace B_ with BVAR. + * syntax.h (Vstandard_syntax_table, CURRENT_SYNTAX_TABLE) + (SETUP_BUFFER_SYNTAX_TABLE): Replace B_ with BVAR. + * syntax.c (update_syntax_table, dec_bytepos, Fsyntax_table) + (Fset_syntax_table, Fmodify_syntax_entry, skip_chars) + (skip_syntaxes, scan_lists): Replace B_ with BVAR. + * search.c (compile_pattern_1, compile_pattern, looking_at_1) + (string_match_1, fast_looking_at, newline_cache_on_off) + (search_command, search_buffer, simple_search, boyer_moore) + (Freplace_match): Replace B_ with BVAR. + * process.c (get_process, list_processes_1, Fstart_process) + (Fmake_serial_process, Fmake_network_process) + (read_process_output, send_process, exec_sentinel) + (status_notify, setup_process_coding_systems): Replace B_ with + BVAR. + * print.c (PRINTDECLARE, PRINTPREPARE, PRINTFINISH, printchar) + (strout, print_string, temp_output_buffer_setup, print_object): + Replace B_ with BVAR. + * msdos.c (IT_frame_up_to_date): Replace B_ with BVAR. + * minibuf.c (read_minibuf, get_minibuffer, Fread_buffer): + Replace B_ with BVAR. + * marker.c (Fmarker_buffer, Fset_marker, set_marker_restricted) + (set_marker_both, set_marker_restricted_both, unchain_marker): + Replace B_ with BVAR. + * lread.c (readchar, unreadchar, openp, readevalloop) + (Feval_buffer, Feval_region): Replace B_ with BVAR. + * lisp.h (DOWNCASE_TABLE, UPCASE_TABLE): Replace B_ with BVAR. + * keymap.c (Flocal_key_binding, Fuse_local_map) + (Fcurrent_local_map, push_key_description) + (Fdescribe_buffer_bindings): Replace B_ with BVAR. + * keyboard.c (command_loop_1, read_char_minibuf_menu_prompt) + (read_key_sequence): Replace B_ with BVAR. + * intervals.h (TEXT_PROP_MEANS_INVISIBLE): Replace B_ with BVAR. + * intervals.c (set_point_both, get_local_map): Replace B_ with + BVAR. + * insdel.c (check_markers, insert_char, insert_1_both) + (insert_from_string_1, insert_from_gap, insert_from_buffer_1) + (adjust_after_replace, replace_range, del_range_2) + (modify_region, prepare_to_modify_buffer) + (Fcombine_after_change_execute): Replace B_ with BVAR. + * indent.c (buffer_display_table, recompute_width_table) + (width_run_cache_on_off, current_column, scan_for_column) + (Findent_to, position_indentation, compute_motion, vmotion): + Replace B_ with BVAR. + * fringe.c (get_logical_cursor_bitmap) + (get_logical_fringe_bitmap, update_window_fringes): Replace B_ + with BVAR. + * frame.c (make_frame_visible_1): Replace B_ with BVAR. + * font.c (font_at): Replace B_ with BVAR. + * fns.c (Fbase64_encode_region, Fbase64_decode_region, Fmd5): + Replace B_ with BVAR. + * filelock.c (unlock_all_files, Flock_buffer, Funlock_buffer) + (unlock_buffer): Replace B_ with BVAR. + * fileio.c (Fexpand_file_name, Ffile_directory_p) + (Ffile_regular_p, Ffile_selinux_context) + (Fset_file_selinux_context, Ffile_modes, Fset_file_modes) + (Fset_file_times, Ffile_newer_than_file_p, decide_coding_unwind) + (Finsert_file_contents, choose_write_coding_system) + (Fwrite_region, build_annotations, Fverify_visited_file_modtime) + (Fset_visited_file_modtime, auto_save_error, auto_save_1) + (Fdo_auto_save, Fset_buffer_auto_saved): Replace B_ with BVAR. + * editfns.c (region_limit, Fmark_marker, save_excursion_save) + (save_excursion_restore, Fprevious_char, Fchar_before) + (general_insert_function, Finsert_char, Finsert_byte) + (make_buffer_string_both, Finsert_buffer_substring) + (Fcompare_buffer_substrings, subst_char_in_region_unwind) + (subst_char_in_region_unwind_1, Fsubst_char_in_region) + (Ftranslate_region_internal, save_restriction_restore) + (Fchar_equal): Replace B_ with BVAR. + * dispnew.c (Fframe_or_buffer_changed_p): Replace B_ with BVAR. + * dispextern.h (WINDOW_WANTS_MODELINE_P) + (WINDOW_WANTS_HEADER_LINE_P): Replace B_ with BVAR. + * dired.c (directory_files_internal): Replace B_ with BVAR. + * data.c (swap_in_symval_forwarding, set_internal) + (Fmake_local_variable, Fkill_local_variable, Flocal_variable_p): + Replace B_ with BVAR. + * composite.c (fill_gstring_header) + (composition_compute_stop_pos, composition_adjust_point) + (Ffind_composition_internal): Replace B_ with BVAR. + * coding.c (decode_coding, encode_coding) + (make_conversion_work_buffer, decode_coding_gap) + (decode_coding_object, encode_coding_object) + (Fdetect_coding_region, Ffind_coding_systems_region_internal) + (Funencodable_char_position, Fcheck_coding_systems_region): + Replace B_ with BVAR. + * cmds.c (Fself_insert_command, internal_self_insert): Replace B_ + with BVAR. + * charset.c (Ffind_charset_region): Replace B_ with BVAR. + * character.h (FETCH_CHAR_ADVANCE, INC_BOTH, DEC_BOTH) + (ASCII_CHAR_WIDTH): Replace B_ with BVAR. + * character.c (chars_in_text, Fget_byte): Replace B_ with BVAR. + * category.h (Vstandard_category_table): Replace B_ with BVAR. + * category.c (check_category_table, Fcategory_table) + (Fset_category_table, char_category_set): Replace B_ with BVAR. + * casetab.c (Fcurrent_case_table, set_case_table): Replace B_ with + BVAR. + * casefiddle.c (casify_object, casify_region): Replace B_ with + BVAR. + * callproc.c (Fcall_process, Fcall_process_region): Replace B_ + with BVAR. + * callint.c (check_mark, Fcall_interactively): Replace B_ with + BVAR. + * bytecode.c (Fbyte_code): Replace B_ with BVAR. + * buffer.h (FETCH_CHAR, FETCH_CHAR_AS_MULTIBYTE, BVAR): Replace B_ + with BVAR. + * buffer.c (Fbuffer_live_p, Fget_file_buffer) + (get_truename_buffer, Fget_buffer_create) + (clone_per_buffer_values, Fmake_indirect_buffer, reset_buffer) + (reset_buffer_local_variables, Fbuffer_name, Fbuffer_file_name) + (Fbuffer_local_value, buffer_lisp_local_variables) + (Fset_buffer_modified_p, Frestore_buffer_modified_p) + (Frename_buffer, Fother_buffer, Fbuffer_enable_undo) + (Fkill_buffer, Fset_buffer_major_mode, set_buffer_internal_1) + (set_buffer_temp, Fset_buffer, set_buffer_if_live) + (Fbarf_if_buffer_read_only, Fbury_buffer, Ferase_buffer) + (Fbuffer_swap_text, swapfield_, Fbuffer_swap_text) + (Fset_buffer_multibyte, swap_out_buffer_local_variables) + (record_overlay_string, overlay_strings, init_buffer_once) + (init_buffer, syms_of_buffer): Replace B_ with BVAR. + +2011-02-16 Eli Zaretskii + + * xdisp.c (redisplay_internal): Resynchronize `w' if the selected + window is changed inside calls to do_pending_window_change. + (Bug#8020) + +2011-02-16 Paul Eggert + + Remove no-longer needed getloadavg symbols. + * m/alpha.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Remove. + * m/amdx86-64.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Remove. + * m/ia64.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Remove. + * m/ibms390.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Remove. + * m/macppc.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Remove. + * m/sparc.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Remove. + * m/template.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Remove. + * m/vax.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Remove. + * s/aix4-2.h (KERNEL_FILE, LDAV_SYMBOL): Remove. + * s/bsd-common.h (KERNEL_FILE, LDAV_SYMBOL): Remove #undef. + * s/hpux10-20.h (KERNEL_FILE, LOAD_AVE_TYPE, LOAD_AVE_CVT): + (LDAV_SYMBOL): Remove. + * s/unixware.h (LOAD_AVE_TYPE, LOAD_AVE_CVT, FSCALE): Remove. + * s/usg5-4-common.h (KERNEL_FILE, LDAV_SYMBOL): Remove. + + Import getloadavg module from gnulib. + * deps.mk (getloadavg.o): Remove; gnulib now does this. + * lisp.h (getloadavg) [!defined HAVE_GETLOADAVG]: Remove; gnulib + now does this. + * src/s/freebsd.h (HAVE_GETLOADAVG): Remove; gnulib now does this. + * src/s/netbsd.h (HAVE_GETLOADAVG): Likewise. + * config.in: Regenerate. + +2011-02-15 Eli Zaretskii + + * nsfns.m (ns_set_name_as_filename, Fns_read_file_name): Use B_. + +2011-02-14 Michael Welsh Duggan + + * print.c (float_to_string): Ensure that a decimal point is + printed if using dtoastr (Bug#8033). + +2011-02-14 Eli Zaretskii + + * msdos.c (IT_frame_up_to_date): + * s/msdos.h (MODE_LINE_BINARY_TEXT): Use B_ for the MS-DOS build. + + * dired.c (directory_files_internal): + * fileio.c (Finsert_file_contents): + * insdel.c (prepare_to_modify_buffer): + * xdisp.c (pos_visible_p): + * s/ms-w32.h (MODE_LINE_BINARY_TEXT): + * w32fns.c (Fw32_shell_execute, Fx_show_tip, x_create_tip_frame): + Use B_ for the MS-Windows build. + +2011-02-14 Jan Djärv + + * xrdb.c (x_load_resources): For LUCID and XFT, don't put a + resource that specifies helvetica for menus and dialogs. + + * xmenu.c (apply_systemfont_to_dialog): Apply to *dialog.font. + (apply_systemfont_to_menu): Set resources *menubar*font and + *popup*font. Remove defflt. + (set_frame_menubar, create_and_show_popup_menu): + Call apply_systemfont_to_menu before lw_create_widget. + +2011-02-14 Tom Tromey + + * buffer.c (init_buffer_once, syms_of_buffer): Use B_ in DOS_NT case. + + * keyboard.h: Remove obsolete comment. + +2011-02-14 Tom Tromey + + * composite.c (fill_gstring_header) + (composition_compute_stop_pos, composition_adjust_point) + (Ffind_composition_internal): Use B_. + * intervals.c (set_point_both, get_local_map): Use B_. + * callproc.c (Fcall_process, Fcall_process_region): Use B_. + * process.c (get_process, list_processes_1, Fstart_process) + (Fmake_serial_process, Fmake_network_process) + (read_process_output, send_process, exec_sentinel) + (status_notify, setup_process_coding_systems): Use B_. + * bytecode.c (Fbyte_code): Use B_. + * syntax.c (update_syntax_table, dec_bytepos, Fsyntax_table) + (Fset_syntax_table, Fmodify_syntax_entry, skip_chars) + (skip_syntaxes, scan_lists): Use B_. + * lread.c (readchar, unreadchar, openp, readevalloop) + (Feval_buffer, Feval_region): Use B_. + * print.c (printchar, strout, print_string, PRINTDECLARE) + (PRINTPREPARE, PRINTFINISH, temp_output_buffer_setup) + (print_object): Use B_. + * font.c (font_at): Use B_. + * fns.c (Fbase64_encode_region, Fbase64_decode_region, Fmd5): + Use B_. + * callint.c (check_mark, Fcall_interactively): Use B_. + * editfns.c (region_limit, Fmark_marker, save_excursion_save) + (save_excursion_restore, Fprevious_char, Fchar_before) + (general_insert_function, Finsert_char, Finsert_byte) + (make_buffer_string_both, Finsert_buffer_substring) + (Fcompare_buffer_substrings, subst_char_in_region_unwind) + (subst_char_in_region_unwind_1, Fsubst_char_in_region) + (Ftranslate_region_internal, save_restriction_restore) + (Fchar_equal): Use B_. + * data.c (swap_in_symval_forwarding, set_internal) + (Fmake_local_variable, Fkill_local_variable, Flocal_variable_p): + Use B_. + * undo.c (record_point, record_insert, record_delete) + (record_marker_adjustment, record_first_change) + (record_property_change, Fundo_boundary, truncate_undo_list) + (Fprimitive_undo): Use B_. + * search.c (compile_pattern_1, compile_pattern, looking_at_1) + (string_match_1, fast_looking_at, newline_cache_on_off) + (search_command, search_buffer, simple_search, boyer_moore) + (Freplace_match): Use B_. + * indent.c (buffer_display_table, recompute_width_table) + (width_run_cache_on_off, current_column, scan_for_column) + (Findent_to, position_indentation, compute_motion, vmotion): + Use B_. + * casefiddle.c (casify_object, casify_region): Use B_. + * casetab.c (Fcurrent_case_table, set_case_table): Use B_. + * cmds.c (Fself_insert_command, internal_self_insert): Use B_. + * fileio.c (Fexpand_file_name, Ffile_directory_p) + (Ffile_regular_p, Ffile_selinux_context) + (Fset_file_selinux_context, Ffile_modes, Fset_file_modes) + (Fset_file_times, Ffile_newer_than_file_p, decide_coding_unwind) + (Finsert_file_contents, choose_write_coding_system) + (Fwrite_region, build_annotations, Fverify_visited_file_modtime) + (Fset_visited_file_modtime, auto_save_error, auto_save_1) + (Fdo_auto_save, Fset_buffer_auto_saved): Use B_. + * minibuf.c (read_minibuf, get_minibuffer, Fread_buffer): Use B_. + * marker.c (Fmarker_buffer, Fset_marker, set_marker_restricted) + (set_marker_both, set_marker_restricted_both, unchain_marker): + Use B_. + * insdel.c (check_markers, insert_char, insert_1_both) + (insert_from_string_1, insert_from_gap, insert_from_buffer_1) + (adjust_after_replace, replace_range, del_range_2) + (modify_region, prepare_to_modify_buffer) + (Fcombine_after_change_execute): Use B_. + * filelock.c (unlock_all_files, Flock_buffer, Funlock_buffer) + (unlock_buffer): Use B_. + * keymap.c (Flocal_key_binding, Fuse_local_map) + (Fcurrent_local_map, push_key_description) + (Fdescribe_buffer_bindings): Use B_. + * keyboard.c (command_loop_1, read_char_minibuf_menu_prompt) + (read_key_sequence): Use B_. + * fringe.c (get_logical_cursor_bitmap) + (get_logical_fringe_bitmap, update_window_fringes): Use B_. + * xfns.c (x_create_tip_frame, Fx_show_tip): Use B_. + * xfaces.c (compute_char_face): Use B_. + * character.c (chars_in_text, Fget_byte): Use B_. + * category.c (check_category_table, Fcategory_table) + (Fset_category_table, char_category_set): Use B_. + * coding.c (decode_coding, encode_coding) + (make_conversion_work_buffer, decode_coding_gap) + (decode_coding_object, encode_coding_object) + (Fdetect_coding_region, Ffind_coding_systems_region_internal) + (Funencodable_char_position, Fcheck_coding_systems_region): + Use B_. + * charset.c (Ffind_charset_region): Use B_. + * window.c (window_display_table, unshow_buffer, window_loop) + (window_min_size_2, set_window_buffer, Fset_window_buffer) + (select_window, Fforce_window_update, temp_output_buffer_show) + (Fset_window_configuration, save_window_save): Use B_. + * xdisp.c (pos_visible_p, init_iterator, reseat_1) + (message_dolog, update_echo_area, ensure_echo_area_buffers) + (with_echo_area_buffer, setup_echo_area_for_printing) + (set_message_1, update_menu_bar, update_tool_bar) + (text_outside_line_unchanged_p, redisplay_internal) + (try_scrolling, try_cursor_movement, redisplay_window) + (try_window_reusing_current_matrix, row_containing_pos) + (try_window_id, get_overlay_arrow_glyph_row, display_line) + (Fcurrent_bidi_paragraph_direction, display_mode_lines) + (decode_mode_spec_coding, decode_mode_spec, display_count_lines) + (get_window_cursor_type, note_mouse_highlight): Use B_. + * frame.c (make_frame_visible_1): Use B_. + * dispnew.c (Fframe_or_buffer_changed_p): Use B_. + * dispextern.h (WINDOW_WANTS_HEADER_LINE_P) + (WINDOW_WANTS_MODELINE_P): Use B_. + * syntax.h (Vstandard_syntax_table): Update. + (CURRENT_SYNTAX_TABLE, SETUP_BUFFER_SYNTAX_TABLE): Use B_. + * intervals.h (TEXT_PROP_MEANS_INVISIBLE): Update. + (TEXT_PROP_MEANS_INVISIBLE): Use B_. + * character.h (FETCH_CHAR_ADVANCE): Update. + (INC_BOTH, ASCII_CHAR_WIDTH, DEC_BOTH): Use B_. + * category.h (Vstandard_category_table): Update. + * lisp.h (DEFVAR_BUFFER_DEFAULTS): Update for change to field + names. + (DOWNCASE_TABLE, UPCASE_TABLE): Use B_. + * buffer.c (swapfield_): New macro. + (Fbuffer_swap_text): Use swapfield_ where appropriate. + (Fbuffer_live_p, Fget_file_buffer, get_truename_buffer) + (Fget_buffer_create, clone_per_buffer_values) + (Fmake_indirect_buffer, reset_buffer) + (reset_buffer_local_variables, Fbuffer_name, Fbuffer_file_name) + (Fbuffer_local_value, buffer_lisp_local_variables) + (Fset_buffer_modified_p, Frestore_buffer_modified_p) + (Frename_buffer, Fother_buffer, Fbuffer_enable_undo) + (Fkill_buffer, Fset_buffer_major_mode, set_buffer_internal_1) + (set_buffer_temp, Fset_buffer, set_buffer_if_live) + (Fbarf_if_buffer_read_only, Fbury_buffer, Ferase_buffer) + (Fbuffer_swap_text, Fset_buffer_multibyte) + (swap_out_buffer_local_variables, record_overlay_string) + (overlay_strings, init_buffer_once, init_buffer, syms_of_buffer): + Use B_. + * buffer.h (struct buffer): Rename all Lisp_Object fields. + (BUFFER_INTERNAL_FIELD, B_): New macro. + (FETCH_CHAR, FETCH_CHAR_AS_MULTIBYTE): Use B_. + +2011-02-14 Jan Djärv + + * gtkutil.c (xg_tool_bar_menu_proxy): Handle case when tool bar label + is null. + +2011-02-13 Jan Djärv + + * callproc.c (Fcall_process): + * process.c (create_process): Replace Gtk with GConf in SIGPIPE + comment. + +2011-02-12 Martin Rudalics + + * window.c (select_window): Check inhibit_point_swap argument when + deciding whether to return immediately. + +2011-02-12 Jan Djärv + + * nsterm.m (setFrame, initFrame): Make sure pixel_height doesn't become + zero (Bug#7348). + +2011-02-12 Chong Yidong + + * config.in (TERMINFO): New definition. + + * s/netbsd.h: Use it to choose between terminfo and termcap + (Bug#7642). + +2011-02-12 Paul Eggert + + * md5.c (md5_process_bytes): Use sizeof, not __alignof__. + The difference doesn't matter here, in practice, and sizeof is + more portable to non-GCC compilers. Also, this makes the code + match the already-existing comment. + +2011-02-12 Andreas Schwab + + * process.c (create_process): Reset SIGPIPE handler in the child. + * callproc.c (Fcall_process): Likewise. (Bug#5238) + +2011-02-12 Eli Zaretskii + + * xdisp.c : New variable. + (move_it_in_display_line_to): Record in this_line_min_pos the + smallest position iterated across. + (display_line): Use this_line_min_pos to record the smallest + position in the line even if it is not displayed due to + hscrolling. (Bug#7939) + +2011-02-12 Paul Eggert + + Port to Sun C 5.11, which has __attribute__ ((__aligned (N))). + * md5.h (ATTRIBUTE_ALIGNED): New macro. + (struct md5_ctx): Use it. + + Port to Solaris 10, which doesn't support FC_HINT_STYLE. + * xftfont.c (FC_HINT_STYLE): #define to "hintstyle" if not + defined. + * xsettings.c (parse_settings, apply_xft_settings): Don't assume + FC_HINT_STYLE is supported. + +2011-02-11 Jan Djärv + + * xterm.c (x_set_frame_alpha): Access data before it is free:d. + Make sure we don't do x_catch_errors twice. + +2011-02-10 Glenn Morris + + * Makefile.in (really-lwlib): Depend on globals.h, for parallel builds. + +2011-02-09 Eli Zaretskii + + * makefile.w32-in (GLOBAL_SOURCES, SOME_MACHINE_OBJECTS, obj): + New macros. + (globals.h, gl-stamp): New targets. + (clean): Clean gl-stamp and globals.h. + +2011-02-09 Andreas Schwab + + * Makefile.in (gl-stamp): Create globals.h here. + (globals.h): Don't do it here. + (mostlyclean): Clean globals.h and gl-stamp. + +2011-02-09 Paul Eggert + + * Makefile.in ($(otherobj)): Depend on globals.h. + Otherwise 'make -j10' failed on my host, because the build lacked + necessary dependencies, e.g., vm-limit.o depends on globals.h. + +2011-02-08 Tom Tromey + + * Makefile.in (NS_OBJC_OBJ): New variable. + (base_obj): Rename from 'obj'. + (obj): New variable. + (globals.h, gl-stamp, $(obj)): New targets. + (GLOBAL_SOURCES): New variable. + * globals.h: Remove. + * nsselect.m (Vselection_alist): Define. Reverts part of + 2011-01-19T22:11:33Z!jan.h.d@swipnet.se. + * buffer.c: Don't use "no_cell" for name of kill-buffer-hook's + variable. + * xselect.c (Vselection_alist): Define. Reverts part of 2011-01-19T23:32:42Z!eggert@cs.ucla.edu. + +2011-02-08 Kenichi Handa + + * font.c (Ffont_get): Do not cache :otf value. + +2011-02-07 Paul Eggert + + conform to C89 pointer rules + + * dired.c (scmp, file_name_completion): + Change types between char * and unsigned char *, to satisfy C89 + rules about pointer type compatibility. + * casefiddle.c (casify_object, casify_region): Likewise. + * search.c (Freplace_match, Fregexp_quote): Likewise. + * alloc.c (make_string, make_specified_string, make_pure_string): + Likewise. + * data.c (Fstring_to_number): Likewise. + * print.c (float_to_string, PRINTFINISH, printchar, strout): + (print_object): Likewise. + * editfns.c (init_editfns, Fchar_to_string, Fbyte_to_string): + (Fuser_full_name, Fsubst_char_in_region, Ftranslate_region_internal): + (Fformat): Likewise. + * callint.c (Fcall_interactively): Likewise. + * fns.c (string_make_multibyte, string_to_multibyte): + (string_make_unibyte, Fstring_as_unibyte, Fstring_to_unibyte): + (Fbase64_encode_region, base64_encode_1, Fbase64_decode_region, Fmd5): + Likewise. + * lread.c (read1, hash_string): Likewise. + * process.c (read_process_output, send_process, Fprocess_send_region): + Likewise. + * callproc.c (Fcall_process): Likewise. + * doprnt.c (doprnt): Likewise. + * indent.c (compute_motion): Likewise. + * xfont.c (xfont_decode_coding_xlfd): Likewise. + * ralloc.c (resize_bloc): Likewise. + * image.c (tiff_load): Likewise. + * xml.c (make_dom, parse_region): Likewise. + * character.c (strwidth): Make its argument const char *, not const + unsigned char *, since more callers prefer it that way. All callers + changed. + +2011-02-06 Paul Eggert + + * xterm.c (x_alloc_nearest_color_1): Avoid unportable int assumption. + Emacs assumes two's complement elsewhere, but the assumption is + easy to remove here, and this suppresses a warning with Sun C 5.8. + + conform to C89 pointer rules + + * xterm.c (x_draw_fringe_bitmap, handle_one_xevent, x_bitmap_icon): + (same_x_server, x_term_init): + Change types between char * and unsigned char *, to satisfy C89 + rules about pointer type compatibility. + * doc.c (get_doc_string, Fsnarf_documentation): + (Fsubstitute_command_keys): Likewise. + * xfns.c (Fx_open_connection, Fx_window_property): Likewise. + * bitmaps/gray.xbm (gray_bits): Likewise. + * image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load): Likewise. + * keyboard.c (echo_char, MULTI_LETTER_MOD, tty_read_avail_input): + Likewise. + * keymap.c (Ftext_char_description): Likewise. + * minibuf.c (Fread_buffer): Likewise. + * fileio.c (IS_DRIVE) [defined WINDOWSNT]: + (DRIVE_LETTER) [defined DOS_NT]: + (report_file_error, Ffile_name_directory, Ffile_name_nondirectory): + (make_temp_name, Fexpand_file_name, file_name_absolute_p): + (search_embedded_absfilename, Fsubstitute_in_file_name): + (barf_or_query_if_file_exists, Fmake_directory_internal): + (Fdelete_directory_internal, Ffile_name_absolute_p, read_non_regular): + (Finsert_file_contents, Fwrite_region): + Likewise. + * insdel.c (insert, insert_and_inherit, insert_before_markers): + (insert_before_markers_and_inherit, insert_1, insert_1_both): + Likewise. This changes these functions' signatures, which is + more convenient since most callers use char *. All remaining + callers changed. + * editfns.c (general_insert_function): Change signature to + match changes to insert functions' signatures. + * keymap.c (map_keymap_char_table_item, map_keymap_internal): + Use explicit cast when converting between void * and function pointer + types, as C89 requires this. + +2011-02-05 Paul Eggert + + don't ignore chdir failure + * sysdep.c (sys_subshell) [!defined DOS_NT]: Diagnose chdir + failure and exit. + (sys_subshell) [defined DOS_NT]: Mark with a FIXME the two + remaining unchecked chdir calls in this function; some DOS/NT + expert needs to fix them. + * emacs.c (main): Mark with a FIXME the unchecked chdir calls + in this function; some NextStep expert needs to fix them. + +2011-02-05 Glenn Morris + + * xfaces.c (Finternal_set_lisp_face_attribute): + Try to clarify some error messages. (Bug#2659) + +2011-02-05 Stefan Monnier + + * editfns.c (save_restriction_restore): Don't forget to invalidate the + current_column cache (bug#7946). + +2011-02-05 Kenichi Handa + + * ftfont.c (ftfont_open): Use FC_DUAL only when it is defined. + + * xftfont.c (xftfont_open): Likewise. + +2011-02-05 Andreas Schwab + + * window.c (Fselect_window): Add missing return value. + +2011-02-05 Paul Eggert + + xstrcasecmp: conform to C89 pointer rules + * xfaces.c (xstrcasecmp): Change args from const unsigned char * + to const char *, since they're usually low-level C strings, and + this stays compatible with C89 pointer rules. All callers changed. + + * charset.c: Conform to C89 pointer rules. + (define_charset_internal): Switch between char * and unsigned char *. + + * xmenu.c: Conform to C89 const rules. + (xmenu_show, xdialog_show): Declare local var as char *, not + const char *, to stay compatible with C89 const rules. + + * xdisp.c: Conform to C89 pointer rules. + (store_mode_line_noprop, display_string, reseat_to_string): + (c_string_pos, number_of_chars, message_dolog): + (message_log_check_duplicate, set_message_1, store_mode_line_noprop): + (display_mode_element, display_string): + Switch between char * and unsigned char * to stay compatible wth + C89 pointer rules. + + * regex.c: Conform to C89 pointer rules. + (re_wctype): Add cast, as C89 does not allow assigning between + char * and unsigned char *. + (regex_compile): Likewise. + + sync from gnulib to remove HAVE_STDBOOL_H + * config.in: Regenerate. + +2011-02-04 Eli Zaretskii + + * makefile.w32-in (LISP_H, PROCESS_H): New variables. + Replace all uses of lisp.h with $(LISP_H), and all uses of + process.h with $(PROCESS_H). + ($(BLD)/editfns.$(O)): Depend on ../lib/strftime.h. + ($(BLD)/print.$(O)): Depend on ../lib/ftoastr.h and ../lib/intprops.h. + + * deps.mk: Update for recent changes: gnutls support, gnulib + imports, addition of globals.h. + + * makefile.w32-in ($(BLD)/sysdep.$(O)): Depend on + ../lib/ignore-value.h. + +2011-02-03 Paul Eggert + + allow C code to suppress warnings about ignored return values + + We need to go through the code and for each such warning, either + fix the code to pay attention to the returned value, or tell GCC + that we really do want to ignore the returned value. Here is one + example of how to do the latter. + * sysdep.c: Include . + (sys_subshell): Suppress an undesirable warning about not checking + the returned value of 'write', as there's nothing useful one can + do with that returned value. + +2011-02-03 Jan Djärv + + * xterm.c (x_connection_closed): Remove all calls that calls + XSync (Bug#7949). + +2011-02-01 Eli Zaretskii + + * image.c (tiff_load): Avoid compiler warning in 2nd arg to + TIFFClientOpen. + +2011-02-01 Jan Djärv + + * xsmfns.c (ice_connection_closed): Call delete_read_fd. + (x_session_check_input): Change args and return type so it can be used + as argument to add_read_fd. Make static. Remove call to select. + Call kbd_buffer_store_event for emacs_event. + (smc_save_yourself_CB): Also store initial argv to SmRestartCommand. + (ice_conn_watch_CB): Call add_read_fd. + + * xterm.c (XTread_socket): Remove HAVE_X_SM block with call to + x_session_check_input. + (x_session_initialized): Remove definition. + (x_initialize): Remove setting of x_session_initialized. + + * xterm.h (x_session_check_input): Remove declaration. + +2011-02-01 Paul Eggert + + format-time-string now supports subsecond time stamp resolution + * editfns.c (emacs_nmemftime): Rename from emacs_memftimeu, + for consistency with its new argument and with gnulib nstrftime. + All callers changed. New argument NS. + (Fformat_time_string): Check that the time argument's microseconds + component, if any, is in range; this avoids integer overflow and + also nstrftime needs this. Document %N. + +2011-01-31 Andreas Schwab + + * image.c (DEF_IMGLIB_FN): Add parameter rettype, use it instead + of int. All uses adjusted. + (PNG_JMPBUF, png_load, jpeg_load, tiff_load, gif_load) + (svg_load_image): Remove casts. + +2011-01-31 Chong Yidong + + * image.c (fn_png_longjmp, fn_png_set_longjmp_fn): New png + function definitions for compiling with libpng-1.5. + (PNG_LONGJMP, PNG_JMPBUF): New macros for libpng-1.5. + (my_png_error, png_load): Use them. Suggested by Thomas Klausner + (Bug#7908). + +2011-01-31 Eli Zaretskii + + * s/ms-w32.h (HAVE_STRFTIME): Don't define. + + * makefile.w32-in (OBJ2): Remove strftime.$(O). + ($(BLD)/strftime.$(O)): Remove prerequisites. + +2011-01-31 Paul Eggert + + src/emacs.c now gets version number from configure.in + * emacs.c (emacs_version): Set to VERSION so that it + is determined automatically from ../configure.in. + +2011-01-31 Jim Meyering + + * charset.c (load_charset_map): Don't deref NULL on failed malloc. + Use xmalloc rather than malloc. + +2011-01-30 Paul Eggert + + strftime: import from gnulib + * Makefile.in (obj): Remove strftime.o, as gnulib now does this for us. + * deps.mk (strftime.o): Remove. + * editfns.c: Include , supplied by gnulib. + (emacs_strftimeu): Remove decl. + (emacs_memftimeu): Use nstrftime (the gnulib name) rather than + emacs_strftimeu. + * config.in: Regenerate. + * strftime.c: Remove; we now use strftime from gnulib. + + Use SSDATA when the context wants char *. + * alloc.c, buffer.c, bytecode.c, callproc.c, dired.c: + * dispnew.c, doc.c, editfns.c, emacs.c, fileio.c, filelock.c: + * fns.c, font.c, frame.c, image.c, indent.c, keyboard.c: + * lread.c, minibuf.c, print.c, process.c, search.c, widget.c: + * xdisp.c, xfaces.c, xfns.c, xml.c, xselect.c, xterm.c: + Use SSDATA (not SDATA) when the context of the expression wants + char * (not unsigned char *). + +2011-01-30 Jan Djärv + + * .gdbinit: Read global lisp variables as globals.f_V*. + +2011-01-30 Andreas Schwab + + * font.c (PROP_MATCH): Remove parameter N and use strlen instead. + All uses changed. + (PROP_SAVE): Likewise. + +2011-01-29 Chong Yidong + + * keyboard.c (make_lispy_position): Fix typo in last change + (Bug#7935). + +2011-01-29 Eli Zaretskii + + * s/ms-w32.h (HAVE_MKTIME): Remove. + + * makefile.w32-in (LOCAL_FLAGS): Add -I../lib. + (GNULIB): New variable. + (LIBS): Add $(GNULIB). + $(TEMACS): Depend on $(GNULIB). + : Fix font-lock disrupted by a lone `"'. + +2011-01-29 Jan Djärv + + * nsselect.m (ns_string_from_pasteboard): Get length of string + and use make_string instead of build_string (Bug#7934). + (ns_string_to_pasteboard_internal): Use initWithBytesNoCopy + instead of stringWithUTF8String (Bug#7934). + +2011-01-29 Anders Lindgren (tiny change) + + * nsfont.m (nsfont_open): Ensure that fonts with inexact + descenders would not become one pixel too tall (Bug#7887). + +2011-01-28 Chong Yidong + + * keyboard.c (make_lispy_position): For clicks on right fringe or + margin, compute text position using the X coordinate relative to + the left of the text area (Bug#7839). + +2011-01-28 Kenichi Handa + + * ftfont.c (ftfont_spec_pattern): Check each extra property + value. + +2011-01-28 Stefan Monnier + + * xdisp.c (safe_eval_handler): Distinguish symbols and strings. + +2011-01-27 Chong Yidong + + * font.c (font_parse_fcname): Undefine a temporary macro. + +2011-01-26 Stefan Monnier + + Let the debugger continue to the normal handler (bug#7825). + * eval.c (maybe_call_debugger): Declare before new use. + (find_handler_clause): Don't call debugger any more. + Ignore Vstack_trace_on_error. + Use XCAR/XCDR. + (syms_of_eval): Remove Vstack_trace_on_error. + (Fsignal): Only modify handlerlist when we know we need to do it. + Call the debugger when necessary. + * globals.h (Vstack_trace_on_error): Remove. + +2011-01-26 Chong Yidong + + * font.c (font_parse_fcname): Rewrite GTK font name parser. + +2011-01-25 Stefan Monnier + + * xdisp.c (handle_fontified_prop): Be careful with font-lock changing + the buffer's point-max (bug#7876). + +2011-01-25 Chong Yidong + + * lisp.h (XPNTR): Obey DATA_SEG_BITS in all non-USE_LSB_TAG cases. + Remove unused case (Bug#6811). + +2011-01-23 Jan Djärv + + * nsterm.m (x_set_offset): Set dont_constrain to 0 so the call to + setFrameTopLeftPoint is constrained. + +2011-01-23 Paul Eggert + + Check return values of some library calls. + * emacs.c (main): Check dup result. + * frame.c: Include , for INT_MIN and INT_MAX. + (frame_name_fnn_p): Check strtol result. + + * image.c (x_create_bitmap_from_xpm_data): Add cast to fix type clash + when calling XpmCreatePixmapFromData. + + Promote SSDATA macro from gtkutil.c and xsmfns.c to lisp.h. + * lisp.h (SSDATA): New macro. + All uses of (char *) SDATA (x) replaced with SSDATA (x), + and all uses of (unsigned char *) SDATA (x) replaced with SDATA (x). + * gtkutil.c (SSDATA): Remove, as lisp.h now defines this. + * xsmfns.c (SSDATA): Likewise. + +2011-01-22 Martin Rudalics + + * window.c (select_window): New function. + (Fselect_window): Call it. + (inhibit_point_swap): Variable deleted. + (Fset_window_configuration): Call select_window directly. + +2011-01-22 Jan Djärv + + * nsterm.m (constrainFrameRect): Only constrain the first time called. + +2011-01-21 Jan Djärv + + * nsterm.m (x_set_offset, windowDidMove): When calculating y, use first + screen, not the window screen. + (x_set_window_size): Remove constraints. + Calculate origin.y only if zooming is 0 and without referring to a + screen. + (windowWillResize): Don't modify frameSize. + (windowDidBecomeKey, mouseDown): Set dont_constrain to 1. + (initFrameFromEmacs): Initialize ns_userRect. + (windowShouldZoom): Set zooming to one. Remove all other code. + (windowWillUseStandardFrame): Move static ns_userRect to EmacsView. + Zero it after restore. + (constrainFrameRect): New method for EmacsWindow. + (mouseDragged): Always post NSWindowDidResizeNotification after call to + windowWillResize. + + * nsterm.h (ns_output): Add dont_constrain and zooming. + (EmacsView): Add ns_userRect. + + * nsterm.m (keyDown): If ns_right_alternate_modifier is Qleft, check + if ns_alternate_modifier is none. + +2011-01-20 Jan Djärv + + * unexmacosx.c: Add comment about include order. + +2011-01-20 Glenn Morris + + * minibuf.c (syms_of_minibuf) : + Give it a doc string. + * globals.h: Add Vread_expression_history. + + * macros.c (syms_of_macros) : + Give it a doc string. + * globals.h: Add Vkbd_macro_termination_hook. + +2011-01-20 Chong Yidong + + * fns.c (Fyes_or_no_p): Revert 2011-01-07 change, removing ARGS. + +2011-01-19 Paul Eggert + + Fix X11 compilation failure. + * globals.h (struct emacs_globals): Document f_Vselection_alist. + * xselect.c (Vselection_alist): Remove declaration, moving its + documentation to globals.h. This fixes a compilation failure + induced by the earlier change to globals.h today. + +2011-01-19 Jan Djärv + + * unexmacosx.c: Include config.h before unistd.h (Bug#7859). + + * nsterm.m (ns_input_file, ns_input_font, ns_input_fontsize) + (ns_input_line, ns_input_color, ns_input_text, ns_working_text) + (ns_input_spi_name, ns_input_spi_arg) + (ns_alternate_modifier, ns_right_alternate_modifier) + (ns_command_modifier, ns_right_command_modifier, ns_control_modifier) + (ns_right_control_modifier, ns_function_modifier) + (ns_antialias_text, ns_confirm_quit): Move to globals.h. + (Vx_toolkit_scroll_bars, x_use_underline_position_properties) + (x_underline_at_descent_line): Remove declaration. + (syms_of_nsterm): Remove & from DEFVAR_LISP and DEFVAR_BOOL. + + * nsselect.m (Vns_sent_selection_hooks, Vns_lost_selection_hooks) + (Vselection_alist, Vselection_converter_alist): Move to globals.h. + (syms_of_nsselect): Remove & from DEFVAR_LISP. + + * nsmenu.m (Voverriding_local_map, Voverriding_local_map_menu_flag): + Remove declaration. + + * nsfont.m (Vns_reg_to_script, ns_antialias_text): Move to + globals.h. + (syms_of_nsfont): Remove & from DEFVAR_LISP. + + * nsfns.m (Vmenu_bar_mode, Vtool_bar_mode): Remove declaration. + (Vns_icon_type_alist, Vns_version_string): Move to globals.h. + (syms_of_nsfns): Remove & from DEFVAR_LISP calls. + + * globals.h (struct emacs_globals): Add f_ns_input_file, + f_ns_input_font, f_ns_input_fontsize, f_ns_input_line, + f_ns_input_color, f_ns_input_text, f_ns_working_text, + f_ns_input_spi_name, f_ns_input_spi_arg, f_ns_alternate_modifier, + f_ns_right_alternate_modifier, f_ns_command_modifier, + f_ns_right_command_modifier, f_ns_control_modifier, + f_ns_right_control_modifier, f_ns_function_modifier, + f_ns_antialias_text, f_ns_confirm_quit, f_Vns_icon_type_alist, + f_Vns_version_string, f_Vns_sent_selection_hooks, + f_Vns_lost_selection_hooks, f_Vselection_alist, f_Vns_reg_to_script + and corresponding defines. + +2011-01-19 Sam Steingold + + * w32.c (check_windows_init_file): Remove declarations of + Vwindow_system, Vload_path, Qfile_exists_p to fix compilation. + * w32fns.c: Fix an error introduced by the previous patch. + +2011-01-19 Tom Tromey + + * window.c: Fix error introduced by previous patch. + +2011-01-18 Tom Tromey + + * globals.h: New file. + * xterm.h (Vx_pixel_size_width_font_regexp): Remove declaration. + * window.h (Vinitial_window_system, Vminibuf_scroll_window) + (Vwindow_system_version): Remove declaration. + * w32term.h (Vw32_enable_palette) + (Vx_pixel_size_width_font_regexp): Remove declaration. + * w32menu.c (Voverriding_local_map) + (Voverriding_local_map_menu_flag): Remove declaration. + * w32inevt.c (Vw32_alt_is_meta, Vw32_apps_modifier) + (Vw32_capslock_is_shiftlock, Vw32_enable_caps_lock) + (Vw32_enable_num_lock, Vw32_lwindow_modifier) + (Vw32_pass_lwindow_to_system, Vw32_pass_rwindow_to_system) + (Vw32_phantom_key_code, Vw32_recognize_altgr) + (Vw32_rwindow_modifier, Vw32_scroll_lock_modifier) + (w32_use_full_screen_buffer): Remove declaration. + * w32.c (Vsystem_configuration, Vw32_downcase_file_names) + (Vw32_generate_fake_inodes, Vw32_get_true_file_attributes) + (w32_num_mouse_buttons, w32_pipe_read_delay): Remove declaration. + * termopts.h (Vtruncate_partial_width_windows, inverse_video) + (no_redraw_on_reenter, visible_bell): Remove declaration. + * sysdep.c (Vsystem_name): Remove declaration. + * syntax.h (parse_sexp_lookup_properties): Remove declaration. + * menu.h (Vmenu_updating_frame): Remove declaration. + * macros.h (Vexecuting_kbd_macro, executing_kbd_macro_index): + Remove declaration. + * lisp.h (Vafter_init_time, Vafter_load_alist) + (Vauto_save_list_file_name, Vbefore_init_time, Vcommand_history) + (Vcompletion_regexp_list, Vcurrent_load_list) + (Vcurrent_prefix_arg, Vdata_directory, Vdebug_on_error) + (Vdoc_directory, Vdoc_file_name, Vdynamic_library_alist) + (Vexec_directory, Vexec_path, Vexec_suffixes) + (Vface_font_rescale_alist, Vface_ignored_fonts, Vfeatures) + (Vhelp_form, Vhistory_length, Vinhibit_field_text_motion) + (Vinhibit_quit, Vinhibit_read_only, Vinhibit_redisplay) + (Vinstallation_directory, Vinvocation_directory) + (Vinvocation_name, Vload_file_rep_suffixes, Vload_history) + (Vload_suffixes, Vmark_even_if_inactive, Vmemory_full) + (Vmessage_log_max, Vobarray, Vprint_length, Vprint_level) + (Vpurify_flag, Vquit_flag, Vsaved_region_selection) + (Vscalable_fonts_allowed, Vselect_active_regions) + (Vshell_file_name, Vstandard_input, Vstandard_output) + (Vsystem_name, Vtemporary_file_directory, Vthrow_on_input) + (Vtop_level, Vtty_erase_char, Vundo_outer_limit) + (Vuser_login_name, Vwindow_scroll_functions) + (Vwindow_system_version, Vx_no_window_manager) + (Vx_resource_class, Vx_resource_name, baud_rate) + (completion_ignore_case, debug_on_next_call, gc_cons_threshold) + (history_delete_duplicates, inhibit_x_resources) + (last_nonmenu_event, load_in_progress, max_specpdl_size) + (minibuffer_auto_raise, print_escape_newlines, scroll_margin) + (use_dialog_box, use_file_dialog): Remove declaration. + Include globals.h. + * keymap.h (Voverriding_local_map) + (Voverriding_local_map_menu_flag, meta_prefix_char): + Remove declaration. + * keyboard.h (Vdouble_click_time, Vfunction_key_map) + (Vinput_method_function, Vkey_translation_map) + (Vlucid_menu_bar_dirty_flag, Vthis_original_command) + (do_mouse_tracking, extra_keyboard_modifiers) + (num_nonmacro_input_events): Remove declaration. + * intervals.h (Vchar_property_alias_alist) + (Vdefault_text_properties, Vinhibit_point_motion_hooks) + (Vtext_property_default_nonsticky): Remove declaration. + * gtkutil.h (x_gtk_file_dialog_help_text) + (x_gtk_show_hidden_files, x_gtk_use_old_file_dialog) + (x_gtk_whole_detached_tool_bar): Remove declaration. + * frame.h (Vdefault_frame_alist, Vframe_alpha_lower_limit) + (Vmenu_bar_mode, Vmouse_highlight, Vterminal_frame) + (Vtool_bar_mode, Vx_resource_class, Vx_resource_name) + (focus_follows_mouse): Remove declaration. + * fontset.h (Valternate_fontname_alist, Vfontset_alias_alist) + (Vignore_relative_composition, Votf_script_alist) + (Vuse_default_ascent, Vvertical_centering_font_regexp): + Remove declaration. + * font.h (Vfont_log): Remove declaration. + * dosfns.h (Vdos_display_scancodes, Vdos_version) + (Vdos_windows_version, dos_codepage, dos_country_code) + (dos_decimal_point, dos_hyper_key, dos_keyboard_layout) + (dos_keypad_mode, dos_super_key, dos_timezone_offset): + Remove declaration. + * disptab.h (Vglyph_table, Vstandard_display_table): + Remove declaration. + * dispextern.h (Vface_remapping_alist, Vglyphless_char_display) + (Vmouse_autoselect_window, Voverflow_newline_into_fringe) + (Vshow_trailing_whitespace, Vtool_bar_button_margin) + (Vtool_bar_style, cursor_in_echo_area, display_hourglass_p) + (inverse_video, mode_line_in_non_selected_windows) + (tool_bar_button_relief, tool_bar_max_label_size) + (underline_minimum_offset) + (unibyte_display_via_language_environment, x_stretch_cursor_p): + Remove declaration. + * composite.h (Vauto_composition_function) + (Vcomposition_function_table): Remove declaration. + * commands.h (Vexecuting_kbd_macro) + (Vminibuffer_local_completion_map) + (Vminibuffer_local_filename_completion_map) + (Vminibuffer_local_filename_must_match_map) + (Vminibuffer_local_map, Vminibuffer_local_must_match_map) + (Vminibuffer_local_ns_map, Vthis_command) + (Vunread_command_events, cursor_in_echo_area) + (last_command_event, last_nonmenu_event, unread_command_char): + Remove declaration. + * coding.h (Vcoding_system_for_read, Vcoding_system_for_write) + (Vdefault_file_name_coding_system) + (Vdefault_process_coding_system, Vfile_name_coding_system) + (Vlast_coding_system_used, Vlocale_coding_system) + (Vselect_safe_coding_system_function) + (Vtranslation_table_for_input, coding_system_require_warning) + (eol_mnemonic_dos, eol_mnemonic_mac, eol_mnemonic_undecided) + (eol_mnemonic_unix, inherit_process_coding_system): + Remove declaration. + * charset.h (Vcharset_list, Vcurrent_iso639_language): + Remove declaration. + * character.h (Vauto_fill_chars, Vchar_direction_table) + (Vchar_script_table, Vchar_width_table, Vprintable_chars) + (Vscript_representative_chars, Vtranslation_table_vector) + (Vunicode_category_table): Remove declaration. + * ccl.h (Vfont_ccl_encoder_alist): Remove declaration. + * buffer.h (Vafter_change_functions, Vbefore_change_functions) + (Vdeactivate_mark, Vfirst_change_hook, Vtransient_mark_mode) + (inhibit_modification_hooks): Remove declaration. + * xterm.c (syms_of_xterm): Update. + (Vx_alt_keysym, Vx_hyper_keysym, Vx_keysym_table) + (Vx_meta_keysym, Vx_super_keysym, Vx_toolkit_scroll_bars) + (x_mouse_click_focus_ignore_position) + (x_underline_at_descent_line) + (x_use_underline_position_properties): Remove. + * xsmfns.c (syms_of_xsmfns): Update. + (Vx_session_id, Vx_session_previous_id): Remove. + * xsettings.c (syms_of_xsettings): Update. + (Vxft_settings, use_system_font): Remove. + * xselect.c (syms_of_xselect): Update. + (Vselection_converter_alist, Vx_lost_selection_functions) + (Vx_sent_selection_functions, x_selection_timeout): Remove. + * xfns.c (syms_of_xfns): Update. + (Vgtk_version_string, Vmotif_version_string) + (Vx_cursor_fore_pixel, Vx_hourglass_pointer_shape) + (Vx_max_tooltip_size, Vx_mode_pointer_shape) + (Vx_no_window_manager, Vx_nontext_pointer_shape) + (Vx_pixel_size_width_font_regexp, Vx_pointer_shape) + (Vx_sensitive_text_pointer_shape) + (Vx_window_horizontal_drag_shape, x_gtk_file_dialog_help_text) + (x_gtk_show_hidden_files, x_gtk_use_old_file_dialog) + (x_gtk_use_system_tooltips, x_gtk_whole_detached_tool_bar): + Remove. + * xfaces.c (syms_of_xfaces): Update. + (Vface_default_stipple, Vface_font_rescale_alist) + (Vface_ignored_fonts, Vface_new_frame_defaults) + (Vface_remapping_alist, Vfont_list_limit) + (Vscalable_fonts_allowed, Vtty_defined_color_alist): Remove. + * xdisp.c (syms_of_xdisp): Update. + (Vauto_resize_tool_bars, Vblink_cursor_alist) + (Vdisplay_pixels_per_inch, Vfontification_functions) + (Vframe_title_format, Vglobal_mode_string) + (Vglyphless_char_display, Vhourglass_delay, Vhscroll_step) + (Vicon_title_format, Vinhibit_redisplay) + (Vline_number_display_limit, Vline_prefix) + (Vmax_mini_window_height, Vmenu_bar_update_hook) + (Vmenu_updating_frame, Vmessage_log_max) + (Vmouse_autoselect_window, Vnobreak_char_display) + (Voverlay_arrow_position, Voverlay_arrow_string) + (Voverlay_arrow_variable_list, Vredisplay_end_trigger_functions) + (Vresize_mini_windows, Vshow_trailing_whitespace) + (Vtool_bar_border, Vtool_bar_button_margin, Vtool_bar_style) + (Vtruncate_partial_width_windows, Vvoid_text_area_pointer) + (Vwindow_scroll_functions, Vwindow_size_change_functions) + (Vwindow_text_change_functions, Vwrap_prefix) + (auto_raise_tool_bar_buttons_p, automatic_hscrolling_p) + (debug_end_pos, display_hourglass_p, emacs_scroll_step) + (highlight_nonselected_windows, hscroll_margin) + (inhibit_eval_during_redisplay, inhibit_free_realized_faces) + (inhibit_menubar_update, inhibit_try_cursor_movement) + (inhibit_try_window_id, inhibit_try_window_reusing) + (line_number_display_limit_width) + (make_cursor_line_fully_visible_p, message_truncate_lines) + (mode_line_inverse_video, multiple_frames, overline_margin) + (scroll_conservatively, scroll_margin, tool_bar_button_relief) + (tool_bar_max_label_size, underline_minimum_offset) + (unibyte_display_via_language_environment, x_stretch_cursor_p): + Remove. + * window.c (syms_of_window): Update. + (Vminibuf_scroll_window, Vother_window_scroll_buffer) + (Vrecenter_redisplay, Vscroll_preserve_screen_position) + (Vtemp_buffer_show_function, Vwindow_configuration_change_hook) + (Vwindow_point_insertion_type, auto_window_vscroll_p) + (mode_line_in_non_selected_windows, next_screen_context_lines) + (window_min_height, window_min_width): Remove. + (scroll_margin): Remove declaration. + * w32term.c (syms_of_w32term): Update. + (Vw32_capslock_is_shiftlock, Vw32_grab_focus_on_raise) + (Vw32_recognize_altgr, Vw32_swap_mouse_buttons) + (Vx_toolkit_scroll_bars, w32_num_mouse_buttons) + (w32_use_visible_system_caret, x_underline_at_descent_line) + (x_use_underline_position_properties): Remove. + (Vcommand_line_args, Vsystem_name, extra_keyboard_modifiers): + Remove declaration. + * w32select.c (syms_of_w32select): Update. + (Vnext_selection_coding_system, Vselection_coding_system): Remove. + * w32proc.c (syms_of_ntproc): Update. + (Vw32_downcase_file_names, Vw32_generate_fake_inodes) + (Vw32_get_true_file_attributes, Vw32_quote_process_args) + (Vw32_start_process_inherit_error_mode) + (Vw32_start_process_share_console) + (Vw32_start_process_show_window, w32_pipe_read_delay): Remove. + (Vsystem_name): Remove declaration. + * w32font.c (syms_of_w32font): Update. + (Vw32_charset_info_alist): Remove. + * w32fns.c (globals_of_w32fns, syms_of_w32fns): Update. + (Vw32_alt_is_meta, Vw32_apps_modifier, Vw32_bdf_filename_alist) + (Vw32_color_map, Vw32_enable_caps_lock, Vw32_enable_num_lock) + (Vw32_enable_palette, Vw32_lwindow_modifier) + (Vw32_pass_alt_to_system, Vw32_pass_lwindow_to_system) + (Vw32_pass_rwindow_to_system, Vw32_phantom_key_code) + (Vw32_rwindow_modifier, Vw32_scroll_lock_modifier) + (Vx_cursor_fore_pixel, Vx_hourglass_pointer_shape) + (Vx_max_tooltip_size, Vx_mode_pointer_shape) + (Vx_no_window_manager, Vx_nontext_pointer_shape) + (Vx_pixel_size_width_font_regexp, Vx_pointer_shape) + (Vx_sensitive_text_pointer_shape) + (Vx_window_horizontal_drag_shape, w32_ansi_code_page) + (w32_enable_synthesized_fonts, w32_mouse_button_tolerance) + (w32_mouse_move_interval) + (w32_pass_extra_mouse_buttons_to_system) + (w32_pass_multimedia_buttons_to_system, w32_quit_key) + (w32_strict_fontnames, w32_strict_painting): Remove. + (Vhourglass_delay, Vmenu_bar_mode, Vtool_bar_mode) + (Vw32_recognize_altgr, Vwindow_system_version) + (w32_num_mouse_buttons, w32_use_visible_system_caret): + Remove declaration. + * w32console.c (syms_of_ntterm): Update. + (w32_use_full_screen_buffer): Remove. + (Vtty_defined_color_alist): Remove declaration. + * w16select.c (syms_of_win16select): Update. + (Vnext_selection_coding_system, Vselection_coding_system): Remove. + * undo.c (syms_of_undo): Update. + (Vundo_outer_limit, Vundo_outer_limit_function) + (undo_inhibit_record_point, undo_limit, undo_strong_limit): + Remove. + * textprop.c (syms_of_textprop): Update. + (Vchar_property_alias_alist, Vdefault_text_properties) + (Vinhibit_point_motion_hooks, Vtext_property_default_nonsticky): + Remove. + * terminal.c (syms_of_terminal): Update. + (Vdelete_terminal_functions, Vring_bell_function): Remove. + * term.c (syms_of_term): Update. + (Vresume_tty_functions, Vsuspend_tty_functions) + (no_redraw_on_reenter, system_uses_terminfo, visible_cursor): + Remove. + * syntax.c (syms_of_syntax): Update. + (Vfind_word_boundary_function_table, multibyte_syntax_as_symbol) + (open_paren_in_column_0_is_defun_start) + (parse_sexp_ignore_comments, parse_sexp_lookup_properties) + (words_include_escapes): Remove. + * search.c (syms_of_search): Update. + (Vinhibit_changing_match_data, Vsearch_spaces_regexp): Remove. + * process.c (syms_of_process): Update. + (Vprocess_adaptive_read_buffering, Vprocess_connection_type) + (delete_exited_processes): Remove. + * print.c (syms_of_print): Update. + (Vfloat_output_format, Vprint_charset_text_property) + (Vprint_circle, Vprint_continuous_numbering, Vprint_gensym) + (Vprint_length, Vprint_level, Vprint_number_table) + (Vstandard_output, print_escape_multibyte) + (print_escape_newlines, print_escape_nonascii, print_quoted): + Remove. + * msdos.c (syms_of_msdos): Update. + (Vdos_unsupported_char_glyph): Remove. + (unibyte_display_via_language_environment): Remove declaration. + * minibuf.c (syms_of_minibuf): Update. + (Vcompletion_regexp_list, Vhistory_add_new_input) + (Vhistory_length, Vminibuffer_completing_file_name) + (Vminibuffer_completion_confirm) + (Vminibuffer_completion_predicate, Vminibuffer_completion_table) + (Vminibuffer_exit_hook, Vminibuffer_help_form) + (Vminibuffer_history_position, Vminibuffer_history_variable) + (Vminibuffer_prompt_properties, Vminibuffer_setup_hook) + (Vread_buffer_function, Vread_expression_map) + (completion_ignore_case, enable_recursive_minibuffers) + (history_delete_duplicates, minibuffer_allow_text_properties) + (minibuffer_auto_raise, read_buffer_completion_ignore_case): + Remove. + * marker.c (syms_of_marker): Update. + (byte_debug_flag): Remove. + * macros.c (syms_of_macros): Update. + (Vexecuting_kbd_macro, executing_kbd_macro_index): Remove. + * lread.c (syms_of_lread): Update. + (Vafter_load_alist, Vbyte_boolean_vars) + (Vbytecomp_version_regexp, Vcurrent_load_list) + (Veval_buffer_list, Vload_file_name, Vload_file_rep_suffixes) + (Vload_history, Vload_path, Vload_read_function) + (Vload_source_file_function, Vload_suffixes, Vobarray) + (Vold_style_backquotes, Vpreloaded_file_list, Vread_circle) + (Vread_symbol_positions_list, Vread_with_symbol_positions) + (Vsource_directory, Vstandard_input, Vuser_init_file, Vvalues) + (force_load_messages, load_convert_to_unibyte) + (load_dangerous_libraries, load_force_doc_strings) + (load_in_progress): Remove. + * keymap.c (syms_of_keymap): Update. + (Vdefine_key_rebound_commands, Vemulation_mode_map_alists) + (Vminibuffer_local_completion_map) + (Vminibuffer_local_filename_completion_map) + (Vminibuffer_local_filename_must_match_map) + (Vminibuffer_local_map, Vminibuffer_local_must_match_map) + (Vminibuffer_local_ns_map, Vminor_mode_map_alist) + (Vminor_mode_overriding_map_alist, Vwhere_is_preferred_modifier): + Remove. + * keyboard.c (syms_of_keyboard): Update. + (Vauto_save_timeout, Vcommand_error_function) + (Vcommand_hook_internal, Vdeactivate_mark) + (Vdeferred_action_function, Vdeferred_action_list) + (Vdisable_point_adjustment, Vdouble_click_time) + (Vecho_keystrokes, Venable_disabled_menus_and_buttons) + (Vfunction_key_map, Vglobal_disable_point_adjustment) + (Vhelp_char, Vhelp_event_list, Vhelp_form) + (Vinput_method_function, Vinput_method_previous_message) + (Vkey_translation_map, Vlast_event_frame) + (Vlucid_menu_bar_dirty_flag, Vmenu_bar_final_items) + (Vminibuffer_message_timeout, Voverriding_local_map) + (Voverriding_local_map_menu_flag, Vpost_command_hook) + (Vpre_command_hook, Vprefix_help_command) + (Vsaved_region_selection, Vselect_active_regions) + (Vshow_help_function, Vspecial_event_map, Vsuggest_key_bindings) + (Vthis_command, Vthis_command_keys_shift_translated) + (Vthis_original_command, Vthrow_on_input, Vtimer_idle_list) + (Vtimer_list, Vtool_bar_separator_image_expression, Vtop_level) + (Vtty_erase_char, Vunread_command_events) + (Vunread_input_method_events, Vunread_post_input_method_events) + (auto_save_interval, cannot_suspend, do_mouse_tracking) + (double_click_fuzz, extra_keyboard_modifiers) + (inhibit_local_menu_bar_menus, last_command_event) + (last_input_event, last_nonmenu_event, menu_prompt_more_char) + (menu_prompting, meta_prefix_char, num_input_keys) + (num_nonmacro_input_events, polling_period, unread_command_char): + Remove. + * insdel.c (syms_of_insdel): Update. + (Vcombine_after_change_calls, check_markers_debug_flag): Remove. + * indent.c (syms_of_indent): Update. + (indent_tabs_mode): Remove. + * image.c (syms_of_image): Update. + (Vimage_cache_eviction_delay, Vimage_types) + (Vimagemagick_render_type, Vmax_image_size, Vx_bitmap_file_path) + (cross_disabled_images): Remove. + * fringe.c (syms_of_fringe): Update. + (Vfringe_bitmaps, Voverflow_newline_into_fringe): Remove. + * frame.c (syms_of_frame): Update. + (Vdefault_frame_alist, Vdefault_frame_scroll_bars) + (Vdelete_frame_functions, Vframe_alpha_lower_limit) + (Vmake_pointer_invisible, Vmenu_bar_mode, Vmouse_highlight) + (Vmouse_position_function, Vterminal_frame, Vtool_bar_mode) + (Vx_resource_class, Vx_resource_name, focus_follows_mouse): + Remove. + * fontset.c (syms_of_fontset): Update. + (Valternate_fontname_alist, Vfont_encoding_charset_alist) + (Vfontset_alias_alist, Vignore_relative_composition) + (Votf_script_alist, Vuse_default_ascent) + (Vvertical_centering_font_regexp): Remove. + * font.c (syms_of_font): Update. + (Vfont_encoding_alist, Vfont_log, Vfont_slant_table) + (Vfont_weight_table, Vfont_width_table): Remove. + * fns.c (syms_of_fns): Update. + (Vfeatures, use_dialog_box, use_file_dialog): Remove. + * filelock.c (syms_of_filelock): Update. + (Vtemporary_file_directory): Remove. + * fileio.c (syms_of_fileio): Update. + (Vafter_insert_file_functions, Vauto_save_include_big_deletions) + (Vauto_save_list_file_name, Vauto_save_visited_file_name) + (Vdefault_file_name_coding_system, Vfile_name_coding_system) + (Vfile_name_handler_alist, Vinhibit_file_name_handlers) + (Vinhibit_file_name_operation, Vset_auto_coding_function) + (Vwrite_region_annotate_functions) + (Vwrite_region_annotations_so_far) + (Vwrite_region_post_annotation_function) + (delete_by_moving_to_trash, write_region_inhibit_fsync): Remove. + (Vw32_get_true_file_attributes): Remove declaration. + * eval.c (syms_of_eval): Update. + (Vdebug_ignored_errors, Vdebug_on_error, Vdebug_on_signal) + (Vdebugger, Vinhibit_quit, Vmacro_declaration_function) + (Vquit_flag, Vsignal_hook_function, Vstack_trace_on_error) + (debug_on_next_call, debug_on_quit, debugger_may_continue) + (max_lisp_eval_depth, max_specpdl_size): Remove. + * emacs.c (syms_of_emacs): Update. + (Vafter_init_time, Vbefore_init_time, Vcommand_line_args) + (Vdynamic_library_alist, Vemacs_copyright, Vemacs_version) + (Vinstallation_directory, Vinvocation_directory) + (Vinvocation_name, Vkill_emacs_hook, Vpath_separator) + (Vprevious_system_messages_locale, Vprevious_system_time_locale) + (Vsystem_configuration, Vsystem_configuration_options) + (Vsystem_messages_locale, Vsystem_time_locale, Vsystem_type) + (inhibit_x_resources, noninteractive1): Remove. + * editfns.c (syms_of_editfns): Update. + (Vbuffer_access_fontified_property) + (Vbuffer_access_fontify_functions, Vinhibit_field_text_motion) + (Voperating_system_release, Vsystem_name, Vuser_full_name) + (Vuser_login_name, Vuser_real_login_name): Remove. + * dosfns.c (syms_of_dosfns): Update. + (Vdos_display_scancodes, Vdos_version, Vdos_windows_version) + (dos_codepage, dos_country_code, dos_decimal_point) + (dos_hyper_key, dos_keyboard_layout, dos_keypad_mode) + (dos_super_key, dos_timezone_offset): Remove. + * doc.c (syms_of_doc): Update. + (Vbuild_files, Vdoc_file_name): Remove. + * dispnew.c (syms_of_display): Update. + (Vglyph_table, Vinitial_window_system) + (Vredisplay_preemption_period, Vstandard_display_table) + (Vwindow_system_version, baud_rate, cursor_in_echo_area) + (inverse_video, redisplay_dont_pause, visible_bell): Remove. + * dired.c (syms_of_dired): Update. + (Vcompletion_ignored_extensions): Remove. + (Vw32_get_true_file_attributes): Remove declaration. + * dbusbind.c (syms_of_dbusbind): Update. + (Vdbus_debug, Vdbus_registered_buses) + (Vdbus_registered_objects_table): Remove. + * data.c (syms_of_data): Update. + (Vmost_negative_fixnum, Vmost_positive_fixnum): Remove. + * composite.c (syms_of_composite): Update. + (Vauto_composition_function, Vauto_composition_mode) + (Vcompose_chars_after_function, Vcomposition_function_table): + Remove. + * coding.c (syms_of_coding): Update. + (Vcharset_revision_table, Vcoding_category_list) + (Vcoding_system_alist, Vcoding_system_for_read) + (Vcoding_system_for_write, Vcoding_system_list) + (Vdefault_process_coding_system, Venable_character_translation) + (Vfile_coding_system_alist, Vlast_code_conversion_error) + (Vlast_coding_system_used, Vlatin_extra_code_table) + (Vlocale_coding_system, Vnetwork_coding_system_alist) + (Vprocess_coding_system_alist) + (Vselect_safe_coding_system_function) + (Vstandard_translation_table_for_decode) + (Vstandard_translation_table_for_encode) + (Vtranslation_table_for_input, coding_system_require_warning) + (eol_mnemonic_dos, eol_mnemonic_mac, eol_mnemonic_undecided) + (eol_mnemonic_unix, inherit_process_coding_system) + (inhibit_eol_conversion, inhibit_iso_escape_detection) + (inhibit_null_byte_detection): Remove. + * cmds.c (syms_of_cmds): Update. + (Vpost_self_insert_hook): Remove. + * charset.c (syms_of_charset): Update. + (Vcharset_list, Vcharset_map_path, Vcurrent_iso639_language) + (inhibit_load_charset_map): Remove. + * character.c (syms_of_character): Update. + (Vauto_fill_chars, Vchar_direction_table, Vchar_script_table) + (Vchar_width_table, Vprintable_chars) + (Vscript_representative_chars, Vtranslation_table_vector) + (Vunicode_category_table): Remove. + * ccl.c (syms_of_ccl): Update. + (Vcode_conversion_map_vector, Vfont_ccl_encoder_alist) + (Vtranslation_hash_table_vector): Remove. + * category.c (syms_of_category): Update. + (Vword_combining_categories, Vword_separating_categories): Remove. + * callproc.c (syms_of_callproc): Update. + (Vconfigure_info_directory, Vdata_directory, Vdoc_directory) + (Vexec_directory, Vexec_path, Vexec_suffixes) + (Vinitial_environment, Vprocess_environment) + (Vshared_game_score_directory, Vshell_file_name): Remove. + * callint.c (syms_of_callint): Update. + (Vcommand_debug_status, Vcommand_history, Vcurrent_prefix_arg) + (Vmark_even_if_inactive, Vmouse_leave_buffer_hook): Remove. + * bytecode.c (syms_of_bytecode): Update. + (Vbyte_code_meter, byte_metering_on): Remove. + * buffer.c (syms_of_buffer): Update. + (Vafter_change_functions, Vbefore_change_functions) + (Vchange_major_mode_hook, Vfirst_change_hook) + (Vinhibit_read_only, Vkill_buffer_query_functions) + (Vtransient_mark_mode, inhibit_modification_hooks): Remove. + * alloc.c (syms_of_alloc): Update. + (Vgc_cons_percentage, Vgc_elapsed, Vmemory_full) + (Vmemory_signal_data, Vpost_gc_hook, Vpurify_flag) + (cons_cells_consed, floats_consed, garbage_collection_messages) + (gc_cons_threshold, gcs_done, intervals_consed) + (misc_objects_consed, pure_bytes_used, string_chars_consed) + (strings_consed, symbols_consed, vector_cells_consed): Remove. + + * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL) + (DEFVAR_INT): Assume global is in `globals'. + * alloc.c (globals): Define. + +2011-01-18 Tom Tromey + + * image.c (Vimagemagick_render_type): Remove redundant + definition. + +2011-01-18 Tom Tromey + + * xdisp.c (emacs_scroll_step): Rename from scroll_step. + (try_scrolling): Rename argument to 'arg_scroll_conservatively'. + (redisplay_window): Update. + (syms_of_xdisp): Update. + +2011-01-18 Tom Tromey + + * gtkutil.h (x_gtk_use_old_file_dialog, x_gtk_show_hidden_files) + (x_gtk_file_dialog_help_text, x_gtk_whole_detached_tool_bar): + Declare. + * gtkutil.c (xg_uses_old_file_dialog): + (xg_get_file_with_chooser): + (xg_tool_bar_detach_callback): Don't redeclare globals. + +2011-01-18 Tom Tromey + + * lisp.h (DEFVAR_BUFFER_DEFAULTS): New macro. + * buffer.c (syms_of_buffer): Use DEFVAR_BUFFER_DEFAULTS. + +2011-01-18 Paul Eggert + + * lisp.h (DECL_ALIGN): Define if HAVE_ATTRIBUTE_ALIGNED, not if + defined __GNUC__. ../configure now checks for this GCC feature, + which is now also supported by IBM and Oracle compilers. + (USE_LSB_TAG) [defined DECL_ALIGN]: Also define if defined __sun, + since Solaris malloc returns mult-of-8. + +2011-01-18 Stefan Monnier + + * image.c (syms_of_image): Don't access XSYMBOL's internals directly. + +2011-01-17 Paul Eggert + + Give a name FLOAT_TO_STRING_BUFSIZE to the constant 350. + * lisp.h (FLOAT_TO_STRING_BUFSIZE): New macro. + * data.c (Fnumber_to_string): Use it. + * print.c (float_to_string, print_object): Likewise. + + Include unilaterally. + * alloc.c, atimer.c, buffer.c, callproc.c, dired.c, dispnew.c, doc.c: + * doprnt.c, editfns.c, emacs.c, fileio.c, filelock.c, fns.c: + * getloadavg.c, getpagesize.h, gmalloc.c, image.c, keyboard.c: + * lread.c, process.c, process.h, ralloc.c, regex.c, sysdep.c: + * systty.h, term.c, termcap.c, xfns.c, xrdb.c, xselect.c, xsmfns.c: + * xterm.c: + Include without worrying about HAVE_UNISTD_H, since + unistd.h is always present now, possibly supplied by gnulib. + + * mktime.c: Remove; moving to ../lib. + + Use gnulib's mktime module. + * deps.mk (mktime.o): Remove rule. + + Use gnulib's ftoastr module. + * print.c: Include ftoastr.h. + (FLT_RADIX, DBL_MANT_DIG, DBL_DIG, DBL_MIN, DOUBLE_DIGITS_BOUND): + Remove; no longer needed. + (float_to_string): Use dtoastr rather than rolling our own code, + which had an off-by-one bug on non-IEEE hosts. + + Automate syncing from gnulib. + * Makefile.in (lib): New macro. + (ALL_CFLAGS): Add -I$(lib) -I$(srcdir)/../lib. + ($(lib)/libgnu.a): New rule. + (temacs$(EXEEXT)): Also link $(lib)/libgnu.a. + + * xfns.c (x_real_positions): Fix signedness of local var 'ign'. + XGetGeometry wants unsigned int *, not int *, for its last 4 args, + so change the type of 'ign' to unsigned int from int. + + * regex.c (analyse_first): Remove unreachable 'continue' statement. + + * xterm.h (struct x_display_info): Remove stray semicolon. + The extra semicolon didn't conform to the C standard. + Problem reported by Sun cc. + + * lisp.h: Redo flags and XSET slightly to avoid overflow diagnostics. + These changes make compilation easier to follow with Sun cc. + (ARRAY_MARK_FLAG): Make it signed, so that it can be assigned to + EMACS_INT values without provoking overflow diagnostics. + (PSEUDOVECTOR_FLAG): Likewise, for consistency. + (XSET) [! USE_LSB_TAG]: Use unsigned left shift to avoid overflow + diagnostic with signed left shift. + + * fileio.c (make_temp_name): Remove unreachable code. + + * fontset.c (free_realized_fontset): Mark unreachable code with if (0). + Previously it was marked by preceding it with "return;", but + Sun cc complains about this. + + * coding.c (decode_coding_emacs_mule): Remove unreachable code. + This is a typo left over from 2009-03-06T07:51:52Z!handa@m17n.org, + which fixed Bug#2370. Caught by Sun cc. + +2011-01-15 Martin Rudalics + + * window.c (inhibit_point_swap): New variable. + (Fselect_window): If inhibit_point_swap is nonzero, avoid swapping + point this time. + (Fset_window_configuration): Set inhibit_point_swap to 1 instead + of setting selected_window to nil (Bug#7728). + +2011-01-11 Tassilo Horn + + * image.c (imagemagick_load_image, Finit_image_library): + Free intermediate image after creating a MagickWand from it. + Terminate MagickWand environment after image loading. + +2011-01-10 Michael Albinus + + * dbusbind.c (Fdbus_register_service): Raise an error in case of + unexpected return values. + (Fdbus_register_method): Remove connection initialization. + +2011-01-10 Jan Moringen + + * dbusbind.c (QCdbus_request_name_allow_replacement): New symbol; + used by Fdbus_register_service. + (QCdbus_request_name_replace_existing): Likewise. + (QCdbus_request_name_do_not_queue): Likewise. + (QCdbus_request_name_reply_primary_owner): Likewise. + (QCdbus_request_name_reply_in_queue): Likewise. + (QCdbus_request_name_reply_exists): Likewise. + (QCdbus_request_name_reply_already_owner): Likewise. + (Fdbus_register_service): New function. + (Fdbus_register_method): Use Fdbus_register_service to do the name + registration. + (syms_of_dbusbind): Add symbols dbus-register-service, + :allow-replacement, :replace-existing, :do-not-queue, + :primary-owner, :existing, :in-queue and :already-owner. + +2011-01-09 Chong Yidong + + * gtkutil.c (update_frame_tool_bar): Don't advance tool-bar index + when removing extra buttons. + +2011-01-08 Chong Yidong + + * fns.c (Fyes_or_no_p): Doc fix. + +2011-01-08 Andreas Schwab + + * fns.c (Fyes_or_no_p): Add usage. + +2011-01-08 Glenn Morris + + * makefile.w32-in ($(EMACS)): + * Makefile.in (emacs$(EXEEXT)): -batch implies -q. + + * xdisp.c (syms_of_xdisp) : Move from here... + * emacs.c (syms_of_emacs) : ...to here. + +2011-01-07 Andreas Schwab + + * image.c (imagemagick_load_image): Fix some resource leaks and + error handling. + +2011-01-07 Chong Yidong + + * fns.c (Fyes_or_no_p): Accept format string args. + +2011-01-07 Glenn Morris + + * emacs.c (no_site_lisp): New int. + (USAGE1): Add --no-site-lisp, mention -Q uses it. + (main): Set no_site_lisp. + (standard_args): Add --no-site-lisp. + * lisp.h (no_site_lisp): New int. + * lread.c (init_lread): If no_site_lisp, don't re-add site-lisp + directories to Vload_path. + +2011-01-05 Andreas Schwab + + * alloc.c (mark_stack): Use __builtin_unwind_init if available. + +2011-01-04 Jan Moringen + + * dbusbind.c (Fdbus_register_method): Add optional parameter + dont_register_service. Updated docstring accordingly. + +2011-01-04 Glenn Morris + + * emacs.c (emacs_copyright): Update short copyright year to 2011. + +2011-01-03 Eli Zaretskii + + * image.c (png_jmpbuf): Remove definition. + (my_png_error, png_load): Don't use png_jmpbuf. + +2011-01-02 Eli Zaretskii + + * keyboard.c (Vselect_active_regions): Doc fix. (Bug#7702) + +2011-01-02 Eli Zaretskii + + * image.c : New variable. + (syms_of_image): Intern and staticpro it. Set its value to the + version of PNG library we were compiled with. + (my_png_error, png_load): Avoid GCC warnings about direct access + to png_ptr->jmpbuf. (Bug#7716) + (png_jmpbuf): New macro. + (my_png_error, png_load): Use it instead of #ifdef'ing according + to PNG_LIBPNG_VER_MAJOR and PNG_LIBPNG_VER_MINOR. + +2011-01-02 Stefan Monnier + + * .gdbinit (xgetptr): Fix the union+lsb case. + (xbacktrace): Fix the union case. + +2011-01-02 Stefan Monnier + + * window.c (Fmove_to_window_line): Avoid abort when called in a buffer + different from selected-window's. + +2011-01-02 Eli Zaretskii + + * keyboard.c (parse_menu_item): Prepend " " to the key sequence + equivalent of a menu item when the key sequence is given by the + `:keys' attribute. (Bug#7662) + + * xdisp.c (Fformat_mode_line): Doc fix: no need to state that only + the basic faces are supported. + +2011-01-02 Jan Djärv + + * xterm.c (x_check_fullscreen): Fix pixel/character mixup. + +2011-01-02 Eli Zaretskii + + * xdisp.c (Fformat_mode_line): Fix last change. + +2011-01-02 Chong Yidong + + * xdisp.c (Fformat_mode_line): Restrict the FACE argument to basic + faces (Bug#7587). + +2011-01-02 Eli Zaretskii + + * fileio.c (Fexpand_file_name): One more doc fix. + +2011-01-01 Chong Yidong + + * gtkutil.c (xg_get_tool_bar_widgets): Use NULL for a missing + image or label in the container. + (xg_make_tool_item): Replace VERT_ONLY arg with HORIZ, TEXT_IMAGE. + (xg_show_toolbar_item): Function deleted. + (xg_tool_item_stale_p): New function. + (update_frame_tool_bar): Calculate tool-bar style once per call. + Instead of hiding text labels, omit them. Don't use + xg_show_toolbar_item; create new GtkToolItems from scratch if + necessary, instead of trying to re-use them. This avoids an + annoying animation when changing tool-bars. + +2010-12-31 Jan Djärv + + * nsfns.m (ns_set_name_as_filename): Always use buffer name for + title and buffer filename only for RepresentedFilename. + Handle bad UTF-8 in buffer name (Bug#7517). + +2010-12-30 Jan Djärv + + * coding.h (ENCODE_UTF_8): Remove "Used by ..." comment. + + * nsfns.m (ns_set_name_iconic): Remove. + (ns_set_name_internal): New function (Bug#7517). + (Vicon_title_format): Extern declare. + (ns_set_name): Call ns_set_name_internal. + (x_explicitly_set_name): Remove call to ns_set_name_iconic. + (x_implicitly_set_name): Ditto. + (x_set_title): Remove commet about EXPLICIT. Call ns_set_name_internal. + (ns_set_name_as_filename): Encode name with ENCODE_UTF_8 (Bug#7517). + +2010-12-29 Štěpán Němec (tiny change) + + * window.c (syms_of_window): Add missing defsubr for + window-use-time. + +2010-12-28 Andreas Schwab + + * xterm.h (x_alloc_lighter_color_for_widget): Restore declaration. + * xterm.c (x_alloc_lighter_color_for_widget): Restore. + +2010-12-27 Andreas Schwab + + * buffer.c: Remove unused declarations. + * buffer.h: Likewise. + * charset.h: Likewise. + * composite.h: Likewise. + * dispextern.h: Likewise. + * dispnew.c: Likewise. + * font.h: Likewise. + * fontset.c: Likewise. + * fontset.h: Likewise. + * intervals.h: Likewise. + * keymap.h: Likewise. + * lisp.h: Likewise. + * syntax.c: Likewise. + * syntax.h: Likewise. + * termhooks.h: Likewise. + * window.h: Likewise. + * xsettings.h: Likewise. + * xterm.c: Likewise. + * xterm.h: Likewise. + + * chartab.c (sub_char_table_ref): Make static. + * dispnew.c (line_hash_code, required_matrix_height) + (required_matrix_width): Likewise. + * eval.c (interactive_p, apply_lambda): Likewise. + * fns.c (string_make_multibyte, copy_hash_table, hash_clear): + Likewise. + * font.c (QCadstyle, QCregistry, font_make_spec) + (font_parse_fcname, font_encode_char, font_at): Likewise. + * frame.c (x_frame_get_arg): Likewise. + * keymap.c (get_keyelt): Likewise. + * lread.c (read_filtered_event): Likewise. + * print.c (write_string_1): Likewise. + * window.c (delete_window, window_height, window_width) + (foreach_window): Likewise. + * xrdb.c (x_get_customization_string, x_get_resource): Likewise. + * xterm.c (x_scroll_bar_clear, xembed_set_info) + (xembed_send_message): Likewise. + + * eval.c (run_hook_list_with_args): Delete. + * font.c (font_unparse_gtkname, font_update_lface): Likewise. + * terminal.c (get_terminal_param): Likewise. + * xterm.c (x_alloc_lighter_color_for_widget): Likewise. + + * scroll.c: Fix comment. + + * dispnew.c (add_window_display_history) + (add_frame_display_history, glyph_row_slice_p) + (find_glyph_row_slice, flush_stdout) + (check_matrix_pointer_lossage, matrix_row) + (check_matrix_invariants, check_window_matrix_pointers) + (check_matrix_pointers, window_to_frame_vpos) + (window_to_frame_hpos): Prototize. + * textprop.c (erase_properties): Likewise. + +2010-12-22 Stefan Monnier + + * print.c (PRINT_NUMBER_OBJECT, PRINT_NUMBER_STATUS): Remove. + (print_preprocess): Fix handling of uninterned symbols in last change. + + * print.c (print, print_preprocess, print_object): Use a hash table + rather than a linear table for Vprint_number_table. + +2010-12-20 Chong Yidong + + * frame.c (focus_follows_mouse): Default to 0 (Bug#7269). + +2010-12-20 Chong Yidong + + * keyboard.c (Vtool_bar_separator_image_expression): New variable. + (parse_tool_bar_item): Use it to obtain image separators for + displays not using native tool-bar separators. + + * xdisp.c (build_desired_tool_bar_string): Don't handle separators + specially, since this is now done in parse_tool_bar_item. + +2010-12-19 Stefan Monnier + + Minor clean up to silence some gcc warnings. + * window.c (Fset_window_buffer): + * xterm.c (x_set_frame_alpha): Restructure code to silence + compiler warning. + (handle_one_xevent): Remove unused var `p'. + (do_ewmh_fullscreen): Remove unused var `lval'. + (xembed_set_info): Remove unused var `atom'. + * textprop.c (Fremove_list_of_text_properties): Add braces to silence + compiler warning. + * fontset.c (fontset_id_valid_p, dump_fontset): + * ftfont.c (ftfont_drive_otf): Modernize k&r declaration. + * eval.c (Feval, Ffuncall): Avoid unneeded gotos. + * dispnew.c (update_frame, update_frame_1): Compile the `do_pause' + label only when it's used. + * image.c (x_create_bitmap_from_xpm_data): + * dispextern.h (x_create_bitmap_from_xpm_data): Use const char** like + its callers. + * coding.c (detect_coding_utf_16): Remove unused vars `src_base' and + `consumed_chars'. + (DECODE_EMACS_MULE_21_COMPOSITION): Remove unused var `charbuf_base'. + (decode_coding_emacs_mule): Remove unused label `retry'. + (detect_eol): Add parens to silence compiler warning. + * alloc.c (bytes_used_when_reconsidered): Move to the #ifdef where + it's used to silence the compiler. + (make_number): Modernize k&r declaration. + (mark_char_table): Add parens to silence compiler warning. + +2010-12-17 Chong Yidong + + * keyboard.c (parse_tool_bar_item): Allow menu separators in + tool-bar maps. + (menu_separator_name_p): New function, from gtkutil.c. + (separator_names): Move from gtkutil.c. + + * keyboard.h (menu_separator_name_p): Add prototype. + + * gtkutil.c (XG_BIN_CHILD): New macro. + (xg_get_menu_item_label, xg_update_menubar) + (xg_update_menu_item, xg_tool_bar_menu_proxy) + (xg_show_toolbar_item, update_frame_tool_bar): Use it. + (separator_names, xg_separator_p): Move to keyboard.c. + (create_menus, xg_update_submenu, update_frame_tool_bar): + Use menu_separator_name_p. + + * nsmenu.m (name_is_separator): Function deleted. + (addItemWithWidgetValue): Use menu_separator_name_p. + + * w32menu.c (name_is_separator): Function deleted. + (add_menu_item): Use menu_separator_name_p. + +2010-12-16 Jan Djärv + + * nsterm.m (ns_draw_window_cursor): If the cursor color is the + same as the background, use the face forground as cursor. + +2010-12-13 Eli Zaretskii + + * fileio.c (Fexpand_file_name): Doc fix. (Bug#7617) + +2010-12-13 Eli Zaretskii + + * xdisp.c (string_pos_nchars_ahead, c_string_pos) + (face_before_or_after_it_pos, next_element_from_string) + (next_element_from_c_string, produce_stretch_glyph): Remove unused + calculations of maximum string length before calling + string_char_and_length and STRING_CHAR_AND_LENGTH. + (string_char_and_length): Update commentary: MAXLEN is no longer + needed. + +2010-12-13 Jan Djärv + + * keyboard.c (kbd_buffer_get_event): Construct SAVE_SESSION_EVENT + as (Qsave_session arg). + + * xsmfns.c (smc_interact_CB): Set arg to Qnil. + (smc_die_CB): Make an event with arg Qt. + (Fhandle_save_session): If event has Qt as argument, + call Fkill_emacs (Bug#7552). + +2010-12-13 Chong Yidong + + * buffer.c (transient-mark-mode): Doc fix (Bug#7465). + +2010-12-13 Jan Djärv + + * xsmfns.c (smc_die_CB): Call Fkill_emacs (Bug#7552). + +2010-12-13 Chong Yidong + + * dispextern.h (struct it): New member overlay_strings_charpos. + + * xdisp.c (next_overlay_string, load_overlay_strings): Record the + charpos where we computed n_overlay_strings. + (next_overlay_string): Load overlay strings at recorded position, + which may not be the same as the iterator's charpos (Bug#7016). + +2010-12-13 Chong Yidong + + * xdisp.c (try_scrolling): Avoid infloop if the first line is + obscured due to a vscroll (Bug#7537). + +2010-12-13 Jan Djärv + + * nsterm.h (FRAME_NS_TOOLBAR_HEIGHT): Rename to FRAME_TOOLBAR_HEIGHT. + + * nsterm.m (x_set_window_size, windowWillResize, initFrameFromEmacs): + Use FRAME_TOOLBAR_HEIGHT. + (x_set_offset): Handle XNegative and YNegative in + f->size_hint_flags (Bug#7510). + +2010-12-11 Eli Zaretskii + + * w32fns.c (Fx_show_tip): Call try_window with last argument + TRY_WINDOW_IGNORE_FONTS_CHANGE. Delete the TODO ifdef: problem + solved. Round up the tip height to an integral multiple of the + frame's line height. Add FRAME_COLUMN_WIDTH to the tip width. + (Bug#7398) + +2010-12-08 Glenn Morris + + * fileio.c (Fverify_visited_file_modtime): Default to current buffer. + +2010-12-06 Lars Magne Ingebrigtsen + + * xml.c (parse_region): Ignore blank HTML nodes. + (make_dom): Return CDATA sections (like ) as + text nodes. + +2010-12-06 Stefan Monnier + + * lread.c (read1): Allow newstyle unquote outside of backquote. + Disallow old-style backquotes inside new-style backquotes. + Don't count unquotes to figure out when we're "syntactically inside + but semantically outside of a backquote" any more. + Extend the restriction no-unescaped-commas-and-backquotes-in-symbols + to all contexts. + +2010-12-05 Chong Yidong + + * process.c: Remove checks for HAVE_SYS_IOCTL_H (Bug#7484). + +2010-12-04 Andreas Schwab + + * Makefile.in (M_FILE): Substitute @M_FILE@ instead of @machfile@. + (S_FILE): Substitute @S_FILE@ instead of @opsysfile@. + * m/arm.h, m/sh3.h, m/xtensa.h: Remove files. + +2010-12-03 Andreas Schwab + + * lisp.h (union Lisp_Object): Explicitly declare signedness of + bit-field. + (XINT): Remove variant for EXPLICIT_SIGN_EXTEND. + * m/alpha.h (EXPLICIT_SIGN_EXTEND): Don't define. + * m/amdx86-64.h (EXPLICIT_SIGN_EXTEND): Likewise. + * m/ia64.h (EXPLICIT_SIGN_EXTEND): Likewise. + * m/ibms390.h (EXPLICIT_SIGN_EXTEND): Likewise. + * m/ibms390x.h (EXPLICIT_SIGN_EXTEND): Likewise. + * m/iris4d.h (EXPLICIT_SIGN_EXTEND): Likewise. + * m/m68k.h (EXPLICIT_SIGN_EXTEND): Likewise. + * m/sparc.h (EXPLICIT_SIGN_EXTEND): Likewise. + * m/template.h (EXPLICIT_SIGN_EXTEND): Likewise. + * m/hp800.h: Remove file. + * m/mips.h: Remove file. + +2010-12-03 Jan Djärv + + * nsterm.m (ns_dumpglyphs_image): If drawing cursor, fill background + with cursor color and draw a rectangle around the image (Bug#7412). + +2010-12-03 Andreas Schwab + + * frame.c (x_set_font): Remove unused variable. + +2010-12-02 Jan Djärv + + * nsmenu.m (update_frame_tool_bar): Remove NSLog on invalid image. + + * nsterm.m (ns_draw_glyph_string): Switch fore- and background if + drawing text under filled box cursor (Bug#7479). + +2010-11-27 Kenichi Handa + + * charset.c (emacs_mule_charset): Make it an array of charset ID; + i.e. integer. + (Fdefine_charset_internal): Adjust for the above change. + (init_charset_once): Likewise. + + * charset.h (emacs_mule_charset): Adjust the prototype. + Delete duplicated extern. + + * coding.c (emacs_mule_char): Adjust for the change of + emacs_mule_charset. + + * lread.c (read_emacs_mule_char): Adjust for the change of + emacs_mule_charset. + +2010-11-27 Eli Zaretskii + + * w32.c (_PROCESS_MEMORY_COUNTERS_EX): Don't define with versions + of w32api >= 3.15. (Bug#6989) (Bug#7452) + +2010-11-27 YAMAMOTO Mitsuharu + + * alloc.c (mark_terminals): Ensure that the image cache is marked + even if the terminal object was marked earlier (Bug#6301). + +2010-11-21 Chong Yidong + + * editfns.c (Fbyte_to_string): Signal an error arg is not a byte. + +2010-11-27 Jan Djärv + + * gtkutil.c (menubar_map_cb): New function (Bug#7425). + (xg_update_frame_menubar): Connect signal map to menubar_map_cb. + Use 23 as menubar height if 0. (Bug#7425). + +2010-11-26 Eli Zaretskii + + * xdisp.c (set_message_1): Force paragraph direction in echo area + be left-to-right. + + * keyboard.c (make_lispy_position): Put a meaningful value in yret + when the click is on the header or mode line. + +2010-11-25 Eli Zaretskii + + * xdisp.c (set_cursor_from_row): Don't forget to consider the + `cursor' property of the first character in overlay strings. + (Bug#7474) (Bug#7481) + +2010-11-24 Jan Djärv + + * nsterm.m (NSLeftControlKeyMask, NSLeftCommandKeyMask) + (NSLeftAlternateKeyMask): New defines. + (keyDown): Parse left and right keys separately (Bug#7458). + Compare Left key masks exactly (Bug#7458). + +2010-11-23 Eli Zaretskii + + * intervals.c (temp_set_point_both): Define before calling, to + avoid GCC warnings. + +2010-11-23 Dan Nicolaescu + + * nsmenu.m: Use #include instead of "config.h". + + * term.c (Qglyphless_char,last_glyphless_glyph_frame) + (last_glyphless_glyph_face_id, last_glyphless_glyph_merged_face_id): + Move declarations ... + * lisp.h (Qglyphless_char,last_glyphless_glyph_frame) + (last_glyphless_glyph_face_id, last_glyphless_glyph_merged_face_id): + ... here. + + * emacs.c (gdb_use_union, gdb_valbits,gdb_gctypebits) + (gdb_data_seg_bits, gdb_array_mark_flag, PVEC_FLAG) + (gdb_pvec_type): + * print.c (print_output_debug_flag): + * lisp.h (debug_print): Mark as EXTERNALLY_VISIBLE. + (safe_debug_print): New declaration. + + * xterm.c: + * systty.h: + * sound.c: Include unconditionally. + +2010-11-22 YAMAMOTO Mitsuharu + + * alloc.c (mark_maybe_object): Return early if given a Lisp + integer (Bug#6301). + +2010-11-21 Ken Brown + + * sheap.c (STATIC_HEAP_SIZE): Revert previous change. + +2010-11-21 Jan Djärv + + * nsterm.m (ns_right_command_modifier, ns_right_control_modifier): + Define (Bug#7458). + (NSRightCommandKeyMask, NSRightControlKeyMask): Define (Bug#7458). + (EV_MODIFIERS): Check for NSRightCommandKeyMask and + NSRightControlKeyMask also (Bug#7458). + (keyDown): Ditto (Bug#7458). + (syms_of_nsterm): Defvar ns-right-command-modifier and + ns-right-control-modifier (Bug#7458). + +2010-11-21 Dan Nicolaescu + + * sysdep.c (sys_subshell): Remove SET_EMACS_PRIORITY. + * emacs.c (emacs_priority, syms_of_emacs): Remove emacs_priority. + + * intervals.h (temp_set_point, temp_set_point_both): + * buffer.h (offset_intervals, copy_intervals): Remove INLINE. + +2010-11-20 Ken Brown + + * sheap.c (STATIC_HEAP_SIZE): Increase to 13MB. + +2010-11-20 Eli Zaretskii + + * term.c (produce_glyphless_glyph): Use \uNNNN, \UNNNNNN, or + \xNNNNNN for hex-code display of glyphless characters. + +2010-11-20 Jan Djärv + + * gtkutil.c (xg_make_tool_item): Take vert_only as argument. + Set important to ! vert_only. + (xg_show_toolbar_item): Don't show label horizontally if + tool item isn't important. + (update_frame_tool_bar): Get TOOL_BAR_ITEM_VERT_ONLY and pass it to + xg_make_tool_item, or update important on existing tool item. + + * keyboard.c (QCvert_only): New variable. + (parse_tool_bar_item): Check for QCvert_only. + (syms_of_keyboard): Initialize QCvert_only. + + * dispextern.h (tool_bar_item_idx): Add TOOL_BAR_ITEM_VERT_ONLY. + +2010-11-20 Eli Zaretskii + + * msdos.c (dos_rawgetc): Use gen_help_event, instead of doing the + same in-line. + +2010-11-20 Andreas Schwab + + * xfaces.c (lookup_face): Make static. + * dispnew.c (copy_row_except_pointers): Likewise. + * syntax.c (dec_bytepos): Likewise. + (inc_bytepos): Remove. + * dispextern.h (lookup_face): Remove declaration. + +2010-11-19 Eli Zaretskii + + * xdisp.c (set_cursor_from_row): Display cursor after all the + glyphs that come from an overlay. Don't overstep the last glyph + when skipping glyphs from an overlay. (Bug#6687) + +2010-11-18 Dan Nicolaescu + + * alloc.c (refill_memory_reserve): Move declaration ... + * lisp.h (refill_memory_reserve): ... here. + + * strftime.c (_strftime_copytm): Add declaration. + + * callproc.c (syms_of_callproc): Use intern_c_string. + + Move declarations from .c files to .h files. + * process.c (timers_run): + * minibuf.c (quit_char): + * lread.c (read_emacs_mule_char): + * keyboard.c (minibuf_level, message_enable_multibyte) + (pending_malloc_warning): + * insdel.c (Vselect_active_regions, Vsaved_region_selection) + (Qonly): Remove declarations. + * lisp.h (pending_malloc_warning, Vsaved_region_selection) + (Vselect_active_regions): + * keyboard.h (timers_run): Add declarations. + + * strftime.c (my_strftime_gmtime_r, my_strftime_localtime_r) + (tm_diff): Convert definitions to standard C. + (extra_args_spec_iso): Remove, unused. + +2010-11-18 Jan Djärv + + * xsettings.c (init_gconf): Check HAVE_G_TYPE_INIT. + + * config.in (HAVE_G_TYPE_INIT): New symbol. + +2010-11-18 Eli Zaretskii + + * lread.c (Fload): Mention `load-in-progress' and + `load-file-name'. (Bug#7346) + + * keyboard.c (kbd_buffer_nr_stored): Define only ifdef subprocesses. + (kbd_buffer_store_event_hold, kbd_buffer_get_event) + (tty_read_avail_input): Call kbd_buffer_nr_stored only ifdef + subprocesses. Use buffer_free only ifdef subprocesses. + + * process.c (init_process) [subprocesses]: Init kbd_is_on_hold in + the subprocesses version, not in the non-subprocesses one. + + * Makefile.in: Don't use ## comment, it breaks the MSDOS build. + +2010-11-17 Eli Zaretskii + + * xdisp.c (set_cursor_from_row): Fix cursor positioning in empty + lines on text-mode terminals. (bug#7417) + +2010-11-17 Stefan Monnier + + * xterm.c (get_current_wm_state): Rename from get_current_vm_state. + (do_ewmh_fullscreen, x_handle_net_wm_state): Update callers. + +2010-11-17 Kenichi Handa + + * coding.c (Fset_terminal_coding_system_internal): Fix previous + change (set charset-ID list instead of charset-symbol list). + +2010-11-16 Chong Yidong + + * keyboard.c (make_lispy_position): For text area clicks, record Y + pixel position relative to the text area, excluding header line. + Also change X and Y to Lisp_Objects, not pointers; don't return + coordinate values via pointers. Pass ON_TEXT_AREA coordinate to + buffer_posn_from_coords counting from the start of the text area. + (Fposn_at_x_y, make_lispy_event): Callers changed. + + * window.c (coordinates_in_window): Change X and Y to ints rather + than pointers; don't return coordinates via pointers. + (struct check_window_data): Change X and Y from pointers to ints. + (window_from_coordinates): Remove args WX and WY; don't return + coordinates via pointers. + (Fcoordinates_in_window_p, window_from_coordinates): + (check_window_containing, Fwindow_at): Callers changed. + (window_relative_x_coord): New function. + + * window.h (window_from_coordinates, window_relative_x_coord): + Update prototypes. + + * dispnew.c (buffer_posn_from_coords): Assume that X counts from + the start of the text area. + + * xdisp.c (remember_mouse_glyph): Change window_from_coordinates + call. Use window_relative_x_coord. + (note_mouse_highlight): Change window_from_coordinates call. + + * w32term.c (w32_read_socket): + * msdos.c (dos_rawgetc): + * xterm.c (handle_one_xevent): Likewise. + +2010-11-16 Dan Nicolaescu + + * strftime.c (LOCALE_PARAM_DECL): Update for standard C. + (LOCALE_PARAM, LOCALE_PARAM_PROTO): Remove, unused. + (memcpy_lowcase, so_week_days, extra_args_spec, emacs_strftimeu): + Convert definitions to standard C. + * regex.c: Do not include , config.h does it. + Include unistd.h. + (xrealloc, init_syntax_once, re_match, regcomp, regexec) + (regerror, regfree): Convert definitions to standard C. + * mktime.c (my_mktime_localtime_r, ydhms_tm_diff, ranged_convert) + (__mktime_internal): Convert definitions to standard C. + +2010-11-15 Dan Nicolaescu + + * w32proc.c: + * w32inevt.c: + * w32heap.c: + * w32.c: Remove config.h include guards. + + * callproc.c (child_setup): Reorder code to simplify #ifdefs. + No code changes. + + * process.c: Include unconditionally, + keyboard.c already does it. + + * keyboard.c (pending_malloc_warning): Add const to match + definition in alloc.c. + (Fset_input_interrupt_mode): Simplify #ifdefs. + +2010-11-15 Dan Nicolaescu + + Clean up systty.h macros. + * systty.h (EMACS_GET_TTY_PGRP, EMACS_SET_TTY_PGRP, EMACS_GET_TTY) + (EMACS_SET_TTY): Remove unneeded abstraction, instead inline the + definition in all uses. + (EMACS_TTY_TABS_OK): Remove, it has a single user. + * sysdep.c (discard_tty_input, child_setup_tty) + (init_sys_modes, tabs_safe_p, reset_sys_modes): + * emacs.c (shut_down_emacs): + * callproc.c (child_setup): + * term.c (dissociate_if_controlling_tty): Inline removed macros. + + * data.c (sign_extend_temp, sign_extend_lisp_int): Remove, unused. + +2010-11-14 Chong Yidong + + * w32fns.c (Fx_create_frame): + * nsfns.m (Fx_create_frame): Don't check for the cursorColor + resource here; it's now done at startup. + +2010-11-14 Jan Djärv + + * xterm.c (set_wm_state): Add Qnil to final cons. + + * xselect.c (x_send_client_event): Remove unused variables cons and + size. + +2010-11-14 YAMAMOTO Mitsuharu + + * keyboard.c (modify_event_symbol): Add const to array elements of + arg NAME_TABLE. + (lispy_accent_keys, lispy_function_keys, lispy_multimedia_keys) + (lispy_kana_keys, iso_lispy_function_keys, lispy_wheel_names) + (lispy_wheel_names, lispy_drag_n_drop_names, modifier_names): + Add const to array elements. + (scroll_bar_parts): Make static. Fix position of const. + + * w32fns.c (lispy_function_keys): Add const to extern. + + * w32inevt.c (lispy_function_keys): Likewise. + +2010-11-14 Chong Yidong + + * xfns.c (Fx_create_frame): Don't check for the cursorColor + resource here; it's now done at startup. + +2010-11-13 Dan Nicolaescu + + * xmenu.c: Make it clear that ../lwlib/lwlib.h is only needed for Motif. + + Fix compilation on Solaris. + * sysdep.c: Do not #include . + (tputs): Add declaration, similar to what cm.c does. (Bug#7178) + + * s/ms-w32.h (HAVE_TERMIOS_H): Do not undef, not used anymore. + +2010-11-13 Jan Djärv + + * xterm.c (set_wm_state): Don't put Atom in cons, call + make_fixnum_or_float on them first. + (x_term_init): Initialize Xatom_net_supporting_wm_check and + Xatom_net_supported correctly. + + * xselect.c (x_send_client_event): Move CHECK_STRING ... + (Fx_send_client_event): to here. + +2010-11-13 Martin Rudalics + + * window.c (Fwindow_use_time): New function. + +2010-11-13 Eli Zaretskii + + * xdisp.c (set_cursor_from_row): Fix cursor positioning on + zero-width characters. + + * .gdbinit (pgx): Adapt to latest changes in `struct glyph'. + + * w32term.c (x_draw_glyphless_glyph_string_foreground): Draw the + box before drawing the glyphs inside it. + + * xdisp.c (syms_of_xdisp) : Doc fix. + + * dispextern.h (enum glyphless_display_method): + Rename GLYPHLESS_DISPLAY_HEXA_CODE to GLYPHLESS_DISPLAY_HEX_CODE. + All users changed. + + * term.c (append_glyphless_glyph, produce_glyphless_glyph): + Fix comments. + (produce_glyphless_glyph): Enclose "U+nnnn" and "empty box" + whitespace in "[]", to simulate a box. Don't use uninitialized + variable `width'. + +2010-11-11 Julien Danjou + + * xsettings.c (init_xsettings): Use already fetch atoms. + + * xsmfns.c (create_client_leader_window): Use SM_CLIENT_ID atom + from dpyinfo. + + * xselect.c (Fx_send_client_event): Split and create + x_send_client_event. + + * lisp.h: Do not EXFUN Fx_send_client_event. + + * xterm.c (x_set_frame_alpha): Use _NET_WM_WINDOW_OPACITY atom + from dpyinfo. + (wm_supports): Use atoms from dpyinfo. + (do_ewmh_fullscreen): Use atoms from dpyinfo. + (x_ewmh_activate_frame): Use atoms from dpyinfo. + (xembed_set_info): Use atoms from dpyinfo. + (x_term_init): Fetch _XEMBED_INFO, _NET_SUPPORTED, + _NET_SUPPORTING_WM_CHECK, _NET_WM_WINDOW_OPACITY and + _NET_ACTIVE_WINDOW, XSETTINGS atoms. + Get all atoms in one round-trip. + (set_wm_state): Use x_send_client_event rather than + Fx_send_client_event, using Atom directly. + (x_ewmh_activate_frame): Ditto. + (x_set_sticky): Pass atoms to set_wm_state. + (do_ewmh_fullscreen): Ditto. + + * xterm.h (x_display_info): Add Xatom_net_supported, + Xatom_net_supporting_wm_check, Xatom_net_active_window, + Xatom_net_wm_window_opacity, Xatom_XEMBED_INFO, SM_CLIENT_ID. + + * xfns.c (Fx_show_tip): Fix typo in docstring. + +2010-11-11 Stefan Monnier + + * cmds.c (Fself_insert_command): Don't call XFASTINT without checking + it's not negative. + +2010-11-10 YAMAMOTO Mitsuharu + + * font.c (font_filter_properties): Add const to array elements of + properties args. + + * font.h (font_filter_properties): Likewise. + + * ftfont.c (ftfont_booleans, ftfont_non_booleans): Add const to array + elements. + + * w32font.c (w32font_booleans, w32font_non_booleans): Likewise. + +2010-11-10 Michael Albinus + + * dbusbind.c (QCdbus_type_unix_fd): New Lisp object. + (XD_BASIC_DBUS_TYPE, xd_symbol_to_dbus_type, xd_signature) + (xd_append_arg, xd_retrieve_arg): Support DBUS_TYPE_UNIX_FD. + (Fdbus_call_method): Add DBUS_TYPE_UNIX_FD type mapping to doc string. + (syms_of_dbusbind): Initialize QCdbus_type_unix_fd). + +2010-11-10 Glenn Morris + + * emacs.c (syms_of_emacs) : Doc fix. + +2010-11-09 Eli Zaretskii + + * xfns.c (x_real_positions): Fix declaration-after-statement problem. + +2010-11-09 Chong Yidong + + * image.c (free_image): Don't garbage the frame here, since this + function can be called while redisplaying (Bug#7210). + (uncache_image): Garbage the frame here (Bug#6426). + +2010-11-09 Jan Djärv + + * xfns.c (x_real_positions): Only use _NET_FRAME_EXTENTS if our + parent is the root window. Check this after traversing window tree. + + * xterm.c (x_term_init): Initialize Xatom_net_frame_extents. + + * xterm.h (struct x_display_info): Xatom_net_frame_extents is new. + + * xfns.c (x_real_positions): Try to get _NET_FRAME_EXTENTS first + before traversing window tree (Bug#5721). + +2010-11-07 Jan Djärv + + * xfns.c (set_machine_and_pid_properties): Let X set WM_CLIENT_MACHINE. + + * xdisp.c (note_mode_line_or_margin_highlight): + Initialize Cursor to No_Cursor for HAVE_WINDOW_SYSTEM also. + +2010-11-06 Eli Zaretskii + + * xfns.c (Fx_show_tip): If any of the tool-tip text lines is R2L, + adjust width of tool-tip frame to the width of text, excluding the + stretch glyph at the beginning of R2L glyph rows. + + * w32fns.c (Fx_show_tip): Likewise. + +2010-11-06 Jan Djärv + + * nsfont.m: Include termchar for new mouse-highlight. + (nsfont_draw): Use MOUSE_HL_INFO. + +2010-11-05 Eli Zaretskii + + Unify mouse-highlight code for all GUI and TTY sessions. + + * term.c: Remove static mouse_face_* variables. All users + changed. + (term_show_mouse_face, term_clear_mouse_face) + (fast_find_position, term_mouse_highlight): Functions deleted. + (tty_draw_row_with_mouse_face): New function. + (term_mouse_movement): Call note_mouse_highlight instead of + term_mouse_highlight. + + * nsterm.m (ns_update_window_begin, ns_update_window_end) + (ns_update_end, x_destroy_window, ns_frame_up_to_date) + (ns_dumpglyphs_box_or_relief, ns_maybe_dumpglyphs_background) + (ns_dumpglyphs_image, ns_dumpglyphs_stretch) + (ns_initialize_display_info, keyDown, mouseMoved, mouseExited): + Replace Display_Info with Mouse_HLInfo everywhere where + mouse_face_* members were accessed for mouse highlight purposes. + + * xterm.c (x_update_window_begin, x_update_window_end) + (x_update_end, XTframe_up_to_date, x_set_mouse_face_gc) + (handle_one_xevent, x_free_frame_resources, x_term_init): + Replace Display_Info with Mouse_HLInfo everywhere where mouse_face_* + members were accessed for mouse highlight purposes. + + * w32term.c (x_update_window_begin, x_update_window_end) + (x_update_end, w32_read_socket, x_free_frame_resources) + (w32_initialize_display_info): Replace Display_Info with + Mouse_HLInfo everywhere where mouse_face_* members were accessed + for mouse highlight purposes. + + * xdisp.c (show_mouse_face, note_mode_line_or_margin_highlight) + (note_mouse_highlight) [HAVE_WINDOW_SYSTEM]: Don't run GUI code + unless the frame is on a window-system. + (get_tool_bar_item, handle_tool_bar_click) + (note_tool_bar_highlight, draw_glyphs, erase_phys_cursor) + (show_mouse_face, clear_mouse_face, coords_in_mouse_face_p) + (note_mode_line_or_margin_highlight, note_mouse_highlight) + (x_clear_window_mouse_face, cancel_mouse_face, expose_frame): + Replace Display_Info with Mouse_HLInfo everywhere where + mouse_face_* members were accessed for mouse highlight purposes. + (coords_in_mouse_face_p): Move prototype out of the + HAVE_WINDOW_SYSTEM conditional. + (x_y_to_hpos_vpos, frame_to_window_pixel_xy): Move out of the + HAVE_WINDOW_SYSTEM block. + (try_window_id) [HAVE_GPM || MSDOS]: + Call x_clear_window_mouse_face. + (draw_row_with_mouse_face): Implementation for HAVE_WINDOW_SYSTEM + systems. Call tty_draw_row_with_mouse_face for TTY systems. + (show_mouse_face): Call draw_row_with_mouse_face, instead of + calling draw_glyphs directly. + (show_mouse_face, clear_mouse_face, coords_in_mouse_face_p) + (cursor_in_mouse_face_p, rows_from_pos_range) + (mouse_face_from_buffer_pos, mouse_face_from_string_pos) + (note_mode_line_or_margin_highlight, note_mouse_highlight) + (x_clear_window_mouse_face, cancel_mouse_face): Move out of the + HAVE_WINDOW_SYSTEM block. Ifdef away window-system specific + fragments. + (note_mouse_highlight): Call popup_activated for MSDOS as well. + Clear mouse highlight if pointer is over glyphs whose OBJECT is an + integer. + (mouse_face_from_buffer_pos): Add parentheses around && within ||. + (x_consider_frame_title, tool_bar_lines_needed): + Move prototypes to HAVE_WINDOW_SYSTEM-only part. + (get_window_cursor_type): Move inside a HAVE_WINDOW_SYSTEM-only + part. Remove "#ifdef HAVE_WINDOW_SYSTEM" from body of function. + (null_glyph_slice): Move declaration into HAVE_WINDOW_SYSTEM-only + part. + + * dispnew.c (mirror_make_current): Set Y coordinate of the + mode-line and header-line rows. + (init_display): Setup initial frame's output_data for text + terminal frames. + + * xmenu.c (popup_activated): Don't define on MSDOS, which now has + its own definition on msdos.c. + + * msdos.c (show_mouse_face, clear_mouse_face) + (fast_find_position, IT_note_mode_line_highlight) + (IT_note_mouse_highlight): Functions deleted. + (IT_frame_up_to_date, dos_rawgetc): Call note_mouse_highlight + instead of IT_note_mouse_highlight. + (draw_row_with_mouse_face, popup_activated): New functions. + (dos_set_window_size, draw_row_with_mouse_face, IT_update_begin) + (IT_update_end, IT_frame_up_to_date, internal_terminal_init) + (dos_rawgetc): Replace Display_Info with Mouse_HLInfo everywhere + where mouse_face_* members were accessed for mouse highlight + purposes. + + * msdos.h (initialize_msdos_display): Add prototype. + + * frame.h (MOUSE_HL_INFO): New macro. + + * lisp.h (Mouse_HLInfo): New data type. + + * xterm.h (struct x_display_info): + * w32term.h (struct w32_display_info): + * nsterm.h (struct ns_display_info): + * termchar.h (struct tty_display_info): Use it instead of + mouse_face_* members. + + * dispextern.h (show_mouse_face, clear_mouse_face): Update type of + 1st argument. + (frame_to_window_pixel_xy, note_mouse_highlight) + (x_clear_window_mouse_face, cancel_mouse_face, clear_mouse_face) + (show_mouse_face, cursor_in_mouse_face_p): Move prototypes out of + HAVE_WINDOW_SYSTEM conditional. + (draw_row_with_mouse_face): Declare prototype. + (tty_draw_row_with_mouse_face): Declare prototype. + +2010-11-05 Eli Zaretskii + + * term.c (append_glyphless_glyph, produce_glyphless_glyph): + Remove unused variables. + +2010-11-05 Adrian Robert + + * nsterm.m (EmacsView-mouseExited:): Correct error in conditional + logic pointed out by Eli Zaretskii. + +2010-11-04 Lars Magne Ingebrigtsen + + * coding.c (coding-category-list): Refer to set-coding-system-priority + instead of the obsolete set-coding-priority in the doc string. + +2010-11-04 Adrian Robert + + * nsfont.m (nsfont_draw): Correct previous patch to return + correct value. + * nsimage.m (EmacsImage-setXBMColor:): Correct previous patch: + don't change the method signature, change the return. + +2010-11-04 Ismail Donmez (tiny change) + + * nsfont.m (nsfont_draw) + * nsimage.m (EmacsImage-setXBMColor:) + * nsterm.m (EmacsView-performDragOperation:): Correct empty return. + +2010-11-03 Julien Danjou + + * image.c (gif_load): Add support for transparency and specified + :background. + +2010-11-01 Kenichi Handa + + * dispextern.h (lookup_glyphless_char_display): Extern it. + + * termhooks.h (struct terminal): New member charset_list. + + * coding.c (Fset_terminal_coding_system_internal): Set the + `charset_list' member of struct terminal. + + * term.c (produce_glyphs): Handle the case it->what == IT_GLYPHLESS. + (append_glyphless_glyph, produce_glyphless_glyph): New functions. + + * xdisp.c (lookup_glyphless_char_display): Make it non-static. + (lookup_glyphless_char_display): Set it->what at the end. + (last_glyphless_glyph_frame, last_glyphless_glyph_face_id) + (last_glyphless_glyph_merged_face_id): Make them non-static. + + * w32term.c (x_draw_glyphless_glyph_string_foreground): + Fix the arg with_background for font->driver->draw. + +2010-11-01 Kenichi Handa + + * w32gui.h (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): + Surround chp by parentheses. + +2010-11-01 Kenichi Handa + + Implement various display methods for glyphless characters. + + * xdisp.c (Qglyphless_char, Vglyphless_char_display) + (Qglyphless_char_display, Qhexa_code, Qempty_box, Qthin_space) + (Qzero_width): New variables. + (THIN_SPACE_WIDTH): New macro. + (lookup_glyphless_char_display): New function. + (last_glyphless_glyph_frame, last_glyphless_glyph_face_id) + (last_glyphless_glyph_merged_face_id): New variables. + (get_next_display_element): Check glyphless characters. + (redisplay_internal): Initialize last_glyphless_glyph_frame and + last_glyphless_glyph_face_id. + (fill_glyphless_glyph_string): New function. + (BUILD_GLYPHLESS_GLYPH_STRING): New macro. + (BUILD_GLYPH_STRINGS): Handle the case GLYPHLESS_GLYPH. + (append_glyphless_glyph, produce_glyphless_glyph): New functions. + (x_produce_glyphs): If a suitable font is not found, produce a + glyphless glyph. Handle the case it->what == IT_GLYPHLESS. + (syms_of_xdisp): Intern and staticpro Qglyphless_char, + Qglyphless_char_display, Qhexa_code, Qempty_box, Qthin_space, and + Qzero_width. + (Vglyphless_char_display): Declare it as a Lisp variable. + + * dispextern.h (enum glyph_type): Add GLYPHLESS_GLYPH. + (struct glyph): Change the size of the member "type" to 3. + Add glyphless to the union slice and u. + (enum display_element_type): Add IT_GLYPHLESS. + (enum glyphless_display_method): New enum. + (struct it): New member glyphless_method. + (Vglyphless_char_display): Extern it. + + * xterm.c (x_draw_glyphless_glyph_string_foreground): New function. + (x_draw_glyph_string): Handle the case GLYPHLESS_GLYPH. + + * w32term.c (x_draw_glyphless_glyph_string_foreground): New function. + (x_draw_glyph_string): Handle the case GLYPHLESS_GLYPH. + + * nsterm.m (ns_draw_glyph_string): Handle the case + GLYPHLESS_GLYPH (the detail is not yet implemented). + +2010-10-31 Glenn Morris + + * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Fix merge, maybe. + + * frame.c (syms_of_frame) : + Default to nil if !HAVE_WINDOW_SYSTEM. (Bug#7299) + +2010-10-31 Chong Yidong + + * xterm.c (x_connection_closed): Print informative error message + when aborting on GTK. This requires using shut_down_emacs + directly instead of Fkill_emacs. + +2010-10-29 Eli Zaretskii + + * emacs.c (main): Call syms_of_filelock unconditionally. + + * filelock.c (syms_of_filelock): Move out of #ifdef CLASH_DETECTION + clause, but keep part of it conditioned on CLASH_DETECTION. + +2010-10-29 Glenn Morris + + * nsfns.m (Fx-display-save-under, Fx-open-connection) + (Fxw-color-defined-p, Fxw-display-color-p, Fx-show-tip): + * w32fns.c (Fxw_color_defined_p, Fx_open_connection): + * xfns.c (Fxw_color_defined_p, Fx_open_connection): + Sync docs between X, W32, NS. + + * buffer.c (syms_of_buffer) : + * frame.c (syms_of_frame) : Move doc here from Lisp. + +2010-10-26 Juanma Barranquero + + * eval.c (init_eval_once): Set max_lisp_eval_depth to 600; + otherwise, bootstrapping on Windows fails to compile macroexp.el. + +2010-10-26 Eli Zaretskii + + * cmds.c (internal_self_insert): Don't insert if argument N is + zero or negative. (Bug#7281) + +2010-10-26 Jan Djärv + + * gtkutil.c (qttip_cb): Set title to empty for ATK (Bug#7278). + +2010-10-25 Glenn Morris + + * Makefile.in (SOME_MACHINE_LISP): Remove easymenu.elc. + +2010-10-24 Glenn Morris + + * w32fns.c (Fx_synchronize, Fx_change_window_property) + (Fx_window_property, Fx_file_dialog): + * xfns.c (Fx_synchronize, Fx_change_window_property) + (Fx_window_property, Fx_file_dialog): Sync docs between w32 and X. + +2010-10-24 Chong Yidong + + * xterm.c (x_connection_closed): Kill Emacs unconditionally. + +2010-10-24 Eli Zaretskii + + * frame.c (Fframep, Fwindow_system): Deprecate use as a predicate. + + * dispnew.c (syms_of_display) : + Deprecate use as a boolean flag. + +2010-10-24 Jim Meyering + + * emacs.c (argmatch): Don't treat "--" as "--chdir". + +2010-10-24 Glenn Morris + + * w16select.c (syms_of_win16select) : + : + * w32select.c (syms_of_w32select) : + : + Sync docs with select.el. + + * xfaces.c (syms_of_xfaces) : Sync doc with + Lisp version. + + * w32term.c (syms_of_w32term) : + Sync doc with the xterm.c version. + + * w32term.c (syms_of_w32term) : + * xterm.c (syms_of_xterm) : Sync docs. + +2010-10-23 Glenn Morris + + * buffer.c (syms_of_buffer) : + * frame.c (syms_of_frame) : + * xdisp.c (syms_of_xdisp) : + : Sync docs with Lisp. + +2010-10-23 Eli Zaretskii + + Implement mouse highlight for bidi-reordered lines. + + * xdisp.c (fast_find_string_pos): #ifdef away, not used anymore. + (mouse_face_from_string_pos): New function, replaces + fast_find_string_pos. + (note_mouse_highlight): Call it instead of fast_find_string_pos. + (note_mode_line_or_margin_highlight): Support bidi-reordered + strings and R2L glyph rows. Fix comments. + (note_mouse_highlight): When bidi reordering is turned on in a + buffer, call next-single-property-change and + previous-single-property-change with last argument nil. + Clear mouse highlight when mouse pointer is in a R2L row on the stretch + glyph that stands for no text beyond the line end. + (row_containing_pos): Don't return too early when CHARPOS is in a + bidi-reordered continued line. Return immediately when the first + hit is found in a line that is not continued, or when an exact + match for CHARPOS is found. + (rows_from_pos_range): New function. + (mouse_face_from_buffer_pos): Use it instead of calling + row_containing_pos for START_CHARPOS and END_CHARPOS. Rewrite the + function to support mouse highlight in bidi-reordered lines and + not to assume that START_CHARPOS is always in mouse_face_beg_row. + If necessary, swap mouse_face_beg_row and mouse_face_end_row so + that the former is always above the latter or identical to it. + (show_mouse_face): Support drawing highlighted R2L lines. + (coords_in_mouse_face_p): New function, bidi-aware. + (cursor_in_mouse_face_p, note_mouse_highlight, erase_phys_cursor): + Call it instead of comparing with mouse-face members of dpyinfo. + (note_mode_line_or_margin_highlight): Fix confusingly swapped + usage of hpos and vpos. + +2010-10-22 Jan Djärv + + * xrdb.c: Include keyboard.h for MOTIF. + + * xmenu.c: Revert 2010-07-27 change: lwlib.h is needed for + MOTIF (Bug#7263). + + * xfns.c: Include Xm/TextF and Xm/List. + (file_dialog_cb, file_dialog_unmap_cb, clean_up_file_dialog): + Make ANSI prototypes. + +2010-10-22 Glenn Morris + + * Makefile.in (SOME_MACHINE_LISP): Add w32-vars. + Remove ccl and duplicate mouse. + +2010-10-21 Chong Yidong + + * insdel.c (prepare_to_modify_buffer): Don't set + saved-region-selection if modification hooks are disabled. + +2010-10-19 Chong Yidong + + * cmds.c (Fdelete_char): Doc fix. + +2010-10-19 Ken Brown + + * s/cygwin.h (SIGNALS_VIA_CHARACTERS): New define (bug#7225). + +2010-10-19 Kenichi Handa + + Fix incorrect font metrics when the same font is opened with + different pixelsizes. + + * xftfont.c: Include composite.h. + (xftfont_shape): New function. + (syms_of_xftfont): Set xftfont_driver.shape. + +2010-10-18 Julien Danjou + + * frame.c (Fframe_pointer_visible_p): + Add `frame-pointer-visible-p' to get the pointer visibility. + +2010-10-18 Lars Magne Ingebrigtsen + + * gnutls.c (emacs_gnutls_read): Return 0 if we get a + non-"EAGAIN"-like error to signal to Emacs that the socket should + be closed. + +2010-10-15 Eli Zaretskii + + * unexcoff.c (make_hdr): Fix prototype according to changes in + 2010-10-03T13:59:56Z!dann@ics.uci.edu. + + * image.c (tiff_load): Cast 3rd argument to avoid compiler warning. + +2010-10-15 Tassilo Horn + + * Makefile.in (really-oldXMenu): Fix typo in variable name that + made building the X menu fail. + (really-oldXMenu): Fix my previous fix. + +2010-10-14 Damyan Pepper + + Fix handling of font properties on Windows (bug#6303). + * font.c (font_filter_properties): New function, refactored from + ftfont_filter_properties. + * font.h (font_filter_properties): Declare. + * ftfont.c (ftfont_filter_properties): Use font_filter_properties. + * w32font.c (w32font_booleans, w32font_non_booleans): New variables. + (w32font_filter_properties): New function. + (w32font_driver): Add w32font_filter_properties. + +2010-10-14 Juanma Barranquero + + * font.c (Ffont_variation_glyphs): + * ccl.c (Fccl_execute_on_string): Fix typo in docstring. + +2010-10-14 Juanma Barranquero + + * w32fns.c (w32_wnd_proc, file_dialog_callback): + * w32font.c (w32_generic_family): + * w32inevt.c (key_event): + * w32menu.c (fill_in_menu): + * w32proc.c (reader_thread, w32_executable_type, compare_env) + (merge_and_sort_env, int_from_hex, enum_locale_fn, enum_codepage_fn): + * w32term.c (w32_read_socket): Make static. + +2010-10-13 Juanma Barranquero + + * image.c (DEF_IMGLIB_FN): Add argument to adapt to strict + prototypes; all callers changed. + +2010-10-13 Juanma Barranquero + + * makefile.w32-in (TLIB2): Rename from TLIBW32. + (OBJ2): New macro. + (WIN32OBJ, FONTOBJ): Remove. + (OBJ1): Redistribute object files with OBJ2. + (LIBS, $(TEMACS)): Use TLIB2. + (make-buildobj-CMD, make-buildobj-SH): Use OBJ2. + ($(TLIB2), TAGS, TAGS-LISP, TAGS-gmake): Depend on OBJ2. + +2010-10-13 Juanma Barranquero + + * emacs.c (Vdynamic_library_alist) + (syms_of_emacs) : Move from image.c and rename. + Doc fix. + + * lisp.h (Vdynamic_library_alist): Declare extern. + + * image.c (Vimage_library_alist) + (syms_of_image) : Move to emacs.c and rename. + (lookup_image_type): Use Vdynamic_library_alist. + (Finit_image_library): Doc fix. + +2010-10-12 Dan Nicolaescu + + * Makefile.in (lispsource, libsrc, etc, oldxmenudir, lwlibdir) + (lispdir): Remove trailing /, update all uses. + +2010-10-12 Jan Djärv + + * nsterm.m (Qleft): Declare. + (ns_right_alternate_modifier): New variable. + (NSRightAlternateKeyMask): New define. + (EV_MODIFIERS): Parse NSRightAlternateKeyMask if + ns_right_alternate_modifier isn't Qleft. + (keyDown): If ns_right_alternate_modifier isn't Qleft, use it + as emacs modifier for NSRightAlternateKeyMask. + (syms_of_nsterm): DEFVAR_LISP ns-right-alternate-modifier. + +2010-10-10 Lars Magne Ingebrigtsen + + * gnutls.c (emacs_gnutls_write): If we're trying to write before + gnutls is ready, return EAGAIN as the errno. + +2010-10-10 Dan Nicolaescu + + * vm-limit.c: + * unexhp9k800.c: + * unexelf.c: + * unexaix.c: + * termcap.c: Remove #ifdef emacs / #ifndef emacs code, unused. + + * Makefile.in (temacs): Use $(ALL_CFLAGS) on the link line. + (PROFILING_LDFLAGS): Remove, not needed anymore. + + * Makefile.in: Use $(...) everywhere instead of ${...}. + (CRT_DIR): Move near potential user. + (START_FILE): Move near CRT_DIR, it might use it. + + * sysdep.c (LPASS8): Remove, unused. + (emacs_ospeed): Change from being a global to a local in the only + user: init_baud_rate. + +2010-10-09 Lars Magne Ingebrigtsen + + * gnutls.c (syms_of_gnutls): All the bootprops are keywords. + (emacs_gnutls_write): Remove the debuggin fsync call. + (emacs_gnutls_read): Return -1 if we got an error from + gnutls_read. This allows us to actually read lots of data from + the GnuTLS stream. + (emacs_gnutls_write): Check for GNUTLS_E_AGAIN and not EINTR. + According to the documentation, this is correct, and it seems to + make things work. + +2010-10-09 Chong Yidong + + * xterm.c (x_draw_relief_rect): Clear corner pixels. + +2010-10-08 Michael Albinus + + * keyboard.c: Revert last change; it was not intended to be + synchronized with the trunk. + +2010-10-08 Kenichi Handa + + * coding.c (complement_process_encoding_system): Fix previous change. + +2010-10-08 Michael Albinus + + * dbusbind.c (syms_of_dbusbind): Move putenv call ... + (Fdbus_init_bus): ... here. (Bug#7113) + +2010-10-08 Glenn Morris + + * buffer.c (before-change-functions, after-change-functions): + Three-year overdue doc fix following 2007-08-13 change. + +2010-10-08 Kenichi Handa + + * coding.c (coding_inherit_eol_type): If parent doesn't specify + eol-format, inherit from the system's default. + (complement_process_encoding_system): Make a new coding system + inherit the original eol-format. + +2010-10-08 Kenichi Handa + + * coding.c (complement_process_encoding_system): New function. + + * coding.h (complement_process_encoding_system): Extern it. + + * callproc.c (Fcall_process): Complement the coding system for + encoding arguments. + (Fcall_process_region): Complement the coding system for encoding + the input to the process. + + * process.c (Fstart_process): Complement the coding system for + encoding arguments. + (send_process): Complement the coding system for encoding what + sent to the process. + +2010-10-08 Kenichi Handa + + * xfont.c (xfont_open): Fix setting of font->average_width from + :avgwidth property (Bug#7123). + +2010-10-08 Michael Albinus + + * dbusbind.c (syms_of_dbusbind): Use putenv instead of setenv, it + is more portable. + + * keyboard.c (gobble_input): Move call of xd_read_queued_messages ... + (kbd_buffer_get_event): ... here. This is needed for cygwin, which + has not defined SIGIO. + +2010-10-08 Chong Yidong + + * xterm.c (x_draw_relief_rect): If box width is larger than 1, + draw the outermost line using the black relief, for legibility. + Omit drawing the four corner pixels. + +2010-10-04 Chong Yidong + + * keyboard.c (echo_prompt): Function moved into read_key_sequence. + (read_key_sequence): Inline echo_prompt. + (echo_dash): Add a dash only if key is continued (Bug#7137). + +2010-10-04 Dan Nicolaescu + + Remove O_RDONLY, O_WRONLY definitions, not needed. + * unexcoff.c: + * lread.c: + * fileio.c: + * doc.c: + * callproc.c: + * alloc.c: + * termcap.c: Remove O_RDONLY O_WRONLY definitions. + +2010-10-03 Teodor Zlatanov + + * gnutls.h (GNUTLS_LOG2): Convenience macro. + + * gnutls.c: Add property list symbol holders. + (emacs_gnutls_handshake): Clarify how sockets are passed to + GnuTLS. + (gnutls_log_function2): Convenience function using GNUTLS_LOG2. + (Fgnutls_boot): Get all parameters from a plist. Require trustfiles + and keyfiles to be a list of file names. Default to "NORMAL" for + the priority string. Improve logging. + +2010-10-03 Glenn Morris + + * fileio.c (Vdirectory_sep_char): Remove. + +2010-10-03 Dan Nicolaescu + + * termhooks.h: Remove #ifdef CONSP. + + * xterm.c (NO_INLINE, noinline): Move definitions to ../configure.in. + + Include unconditionally. + * termcap.c: + * sysdep.c: + * lread.c: + * keyboard.c: + * filelock.c: + * fileio.c: + * doc.c: + * callproc.c: + * alloc.c: Remove include guards for , process.c already + does it. + + * process.c: Do not include , syswait.h does it. + + * sysdep.c (flush_pending_output): Remove code, does not do + anything on any platform. + + Remove unused code. + * sysdep.c (select_alarm, sys_select, read_input_waiting): + Remove select emulation, all systems support select. + (set_exclusive_use): Remove, the only user is in an #if 0 block. + * process.c (create_process): Remove #if 0 code. + + Remove unused arguments for unexec. + The third one is never used, and the last two are always passed as zero. + * emacs.c (unexec): Add declaration. + (Fdump_emacs): Only pass the first two arguments to unexec. + Simplify #ifdef. + * unexw32.c (unexec): + * unexsol.c (unexec): + * unexhp9k800.c (unexec): + * unexcw.c (unexec): Remove the last 3 arguments, unused. + * unexelf.c (unexec): Remove the last 3 arguments, unused. + (find_section): Use const. + * unexmacosx.c (unexec): Remove the last 3 arguments, unused. + (unexec_error): Declare it NO_RETURN. + * unexcoff.c (make_hdr): Assume bss_start is always zero, remove + it as an argument, remove data_start and entry_address arguments, unused. + (unexec): Remove bss_start, data_start and + entry_address arguments. + * unexaix.c (make_hdr): Assume bss_start is always zero, remove + it as an argument, remove data_start and entry_address arguments, unused. + (unexec): Remove bss_start, data_start and + entry_address arguments. + +2010-10-03 Juanma Barranquero + + * makefile.w32-in (TAGS, TAGS-LISP, TAGS-gmake): Add $(FONTOBJ). + + * gnutls.c (emacs_gnutls_handshake, gnutls_make_error) + (gnutls_emacs_global_init, gnutls_emacs_global_deinit): Make static. + (Fgnutls_get_initstage, Fgnutls_deinit, Fgnutls_boot, Fgnutls_bye): + Fix typos in docstrings. + (Fgnutls_error_fatalp, Fgnutls_error_string): Doc fixes. + (Fgnutls_errorp): Doc fix; use ERR for the argument name. + +2010-10-03 Chong Yidong + + * keyboard.c (command_loop_1): Make sure the mark is really alive + before using it (Bug#7044). + +2010-10-02 Juanma Barranquero + + * makefile.w32-in (tags): Rename target to full-tags. + +2010-10-02 Eli Zaretskii + + * emacs.c (main): Remove !WINDOWSNT conditional. + (Fkill_emacs): Don't mention exemption on MS-Windows. + +2010-10-02 Glenn Morris + + * character.c (Fchar_bytes): Remove obsolete function. + (syms_of_character): Remove Schar_bytes. + + * emacs.c (fatal_error_signal): Also run Fkill_emacs on SIGINT. + (main) [!WINDOWSNT]: Handle SIGINT with fatal_error_signal + in batch-mode. + (Fkill_emacs): Doc fix. Also run the hook in batch mode. + (kill-emacs-hook): Doc fix. + +2010-10-02 Lars Magne Ingebrigtsen + + * xml.c (Flibxml_parse_xml_region, Flibxml_parse_html_region) + (parse_region): Rework to take regions instead of strings, and + renamed to reflect that these are the libxml functions. + +2010-10-01 Eli Zaretskii + + * term.c (init_tty) [DOS_NT]: Don't call Wcm_clear after setting + screen dimensions in tty->Wcm. + + * xdisp.c (set_cursor_from_row): When the row is truncated and + point is outside the range of displayed characters, position the + cursor inside the scroll margin. (Bug#6349) + +2010-10-01 Dan Nicolaescu + + Do not include stdlib.h and string.h, config.h does it. + * xfont.c: + * w32term.c: + * w32reg.c: + * w32inevt.c: + * w32heap.c: + * w32console.c: + * w16select.c: + * unexsol.c: + * term.c: + * sound.c: + * scroll.c (m): + * gtkutil.c: + * font.c: + * filelock.c: + * fileio.c: + * dosfns.c: + * dbusbind.c: + * bidi.c: + * callproc.c: + * process.c: + * msdos.c: + * charset.c: Do not include stdlib.h and string.h, config.h does it. + + * callproc.c (SIGCHLD): Remove conditional definition, syssignal.h + defines it. + + * process.c: Move #include earlier. + (SIGCHLD): Remove conditional definition, syssignal.h defines it. + (pty_name): Move definition later. + + * nsselect.m (syms_of_nsselect): + * nsmenu.m (syms_of_nsmenu): + * nsfns.m (syms_of_nsfns): + * msdos.c (syms_of_msdos): + + * image.c (syms_of_image): + * charset.c (syms_of_charset): Use intern_c_string instead of intern. + + * point.h: Remove, unused. + +2010-10-01 Eli Zaretskii + + * makefile.w32-in (TAGS, frc, TAGS-LISP, ../nt/TAGS, tags) + (TAGS-gmake, TAGS-nmake, TAGS-LISP-gmake, TAGS-LISP-nmake) + (nt-TAGS-gmake, nt-TAGS-nmake): New targets. + +2010-09-30 Dan Nicolaescu + + * xml.c (parse_string): Use const. + +2010-09-30 Lars Magne Ingebrigtsen + + * eval.c (Fbacktrace): Don't overwrite print-level on exit. + Also only override Vprint_level if it isn't already bound, and increase + the level to 8 to produce more useful backtraces for bug reports. + +2010-09-30 Dan Nicolaescu + + * Makefile.in: ecrt0.c does not exist anymore, do not mention it. + +2010-09-30 Juanma Barranquero + + * w32console.c (vga_stdcolor_name): Remove unused function; + presumed dead after 2007-11-30T13:57:21Z!jasonr@gnu.org. + +2010-09-29 Lars Magne Ingebrigtsen + + * gnutls.c (emacs_gnutls_handshake): Made into internal function. + (Fgnutls_boot): Start the handshake. + (emacs_gnutls_read): Perform the handshake from the reader loop. + (Fgnutls_boot): Remove some debugging messages. + Change indentation throughout to use the Emacs style. + (emacs_gnutls_handshake): Cast the fds to something that's + possibly the expected length. + (emacs_gnutls_write): Return -1 if we try to write before handshake. + + * process.h (Lisp_Process): Add a gnutls_p field to Lisp_Process. + + * process.c (make_process): Set the gnutls_p field to zero by + default. + (read_process_output): Always call the gnutls_read function if the + stream is a gnutls stream. + (send_process): Ditto for writes. + + * gnutls.c (emacs_gnutls_write, emacs_gnutls_read): Refuse to read + or write anything until the state is GNUTLS_STAGE_READY. + (Fgnutls_boot): Mark the stream as being a gnutls stream. + +2010-09-29 Eli Zaretskii + + * xdisp.c (reseat_1): Initialize bidi_it.paragraph_dir to + NEUTRAL_DIR. + (handle_invisible_prop, iterate_out_of_display_property) + (next_element_from_buffer): If bidi_it.first_elt is set, call + bidi_paragraph_init with NO_DEFAULT_P argument non-zero. + (Bug#7128) + + * print.c (print_object): Fix format string and argument types for + printing a Lisp_Misc_Marker. + + * xdisp.c (pos_visible_p, c_string_pos, number_of_chars) + (load_overlay_strings, get_overlay_strings_1) + (get_overlay_strings, forward_to_next_line_start) + (back_to_previous_visible_line_start, reseat, reseat_to_string) + (get_next_display_element, next_element_from_string) + (next_element_from_c_string, next_element_from_buffer) + (move_it_vertically_backward, move_it_by_lines, add_to_log) + (message_dolog, message_log_check_duplicate, message2_nolog) + (message3, message3_nolog, vmessage, set_message, set_message_1) + (hscroll_window_tree, text_outside_line_unchanged_p) + (set_cursor_from_row, set_vertical_scroll_bar, redisplay_window) + (find_last_unchanged_at_beg_row) + (find_first_unchanged_at_end_row, row_containing_pos) + (trailing_whitespace_p, display_mode_element, decode_mode_spec) + (display_count_lines, x_produce_glyphs, note_mouse_highlight): + Use EMACS_INT for buffer and string positions. + + * dispextern.h (struct it) : Declare EMACS_INT. + (row_containing_pos): Adjust prototype. + + * lisp.h (pos_visible_p, message2, message2_nolog, message3) + (message2_nolog, set_message): Adjust prototypes. + +2010-09-28 Stefan Monnier + + * gnutls.c (Fgnutls_boot): Remove unused vars `data' and `srp_cred'. + (Fgnutls_boot): Use SDATA. + (Fgnutls_handshake): Remove unused var `max_log_level'. + +2010-09-27 Michael Albinus + + * dbusbind.c (syms_of_dbusbind): Set $DBUS_FATAL_WARNINGS to "0". + (Bug#7113) + +2010-09-27 Jan Djärv + + * xgselect.c (xg_select): Clear file descriptors not set from + rfds and wfds. + + * process.c (wait_reading_process_output): Add missing FD_CLR + for write_mask (must mirror connect_wait_mask). + +2010-09-27 Teodor Zlatanov + + * gnutls.c (gnutls_log_function): Show level and "gnutls.c" + prefix. + (Fgnutls_boot): Use changed process members. Use log level with a + function parameter to set it. Bring back Emacs-level debugging + messages at log level 1 and 2. + + * process.c (make_process): Initialize gnutls_log_level. + + * process.h: Add gnutls_log_level and rename x509_cred and + anon_cred to have the gnutls_ prefix for consistency. + + * gnutls.h (GNUTLS_LOG): Add convenience macro. + +2010-09-27 Juanma Barranquero + + * w32.c (g_b_init_get_sid_identifier_authority) + (GetSidIdentifierAuthority_Proc, get_sid_identifier_authority): + Remove, not used. + (globals_of_w32): Don't set g_b_init_get_sid_identifier_authority. + (init_winsock): Remove useless assignment. + (open_process_token, get_token_information, lookup_account_sid) + (get_sid_sub_authority, get_sid_sub_authority_count, get_file_security) + (get_security_descriptor_owner, get_security_descriptor_group) + (is_valid_sid, equal_sid, get_length_sid, copy_sid) + (get_native_system_info, get_system_times, init_user_info, crlf_to_lf) + (is_unc_volume, GetCachedVolumeInformation, get_volume_info) + (is_fat_volume, open_unc_volume, read_unc_volume, close_unc_volume) + (unc_volume_file_attributes, convert_from_time_t) + (create_toolhelp32_snapshot, process32_first, process32_next) + (open_thread_token, impersonate_self, revert_to_self) + (get_process_memory_info, get_process_working_set_size) + (global_memory_status, global_memory_status_ex, socket_to_fd) + (shutdown_handler): Make static. + +2010-09-27 Michael Albinus + + * dbusbind.c (dbus_fd_cb, xd_get_dispatch_status) + (xd_pending_messages): Functions removed. + (xd_read_queued_messages): Add parameters fd, *data, for_read in + order to be compatible with add_read_fd. Determine bus from data, + and call xd_read_message just for this bus. + (xd_add_watch): Use xd_read_queued_messages as callback function. + Add data. + + * lisp.h (xd_pending_messages, xd_read_queued_messages): Remove. + +2010-09-27 Lars Magne Ingebrigtsen + + * gnutls.c (gnutls_log_function): Add more debugging. + (emacs_gnutls_read): Don't infloop while reading. + +2010-09-27 Kenichi Handa + + These changes are to remove restriction on the number of glyphs in + one composition. + + * dispextern.h (struct glyph): Change the member "slice" to union. + Remove u.cmp.from and u.cmp.to. Give more bits to u.cmp.id. + (GLYPH_SLICE_EQUAL_P): Adjust for the above change. + + * dispnew.c (buffer_posn_from_coords): Use glyph->slice.img + instead of glyph->slice. + (marginal_area_string): Likewise. + + * term.c (encode_terminal_code): Use glyph->slice.cmp instead of + glyph->u.cmp. + (append_composite_glyph): Likewise. + + * xdisp.c (dump_glyph): Use glyph->slice.cmp instead of + glyph->u.cmp. + (fill_gstring_glyph_string, x_get_glyph_overhangs) + (append_composite_glyph): Likewise. + (fill_image_glyph_string): Use glyph->slice.img instead of + glyph->slice. + (append_glyph, produce_image_glyph, append_stretch_glyph) + (note_mouse_highlight): Likewise. + +2010-09-26 Jan Djärv + + * process.c (add_keyboard_wait_descriptor) + (delete_keyboard_wait_descriptor): Reinstate ifdef subprocesses. + (wait_reading_process_output): Don't pass write_mask to select + if SELECT_CANT_DO_WRITE_MASK is defined. + (SELECT_CANT_DO_WRITE_MASK): Define if SELECT_CANT_DO_WRITE_MASK. + + * process.h (add_read_fd, delete_read_fd, add_write_fd) + (delete_write_fd): Declare. + + * process.c (gpm_wait_mask, max_gpm_desc): Remove. + (write_mask): New variable. + (max_input_desc): Rename from max_keyboard_desc. + (fd_callback_info): New variable. + (add_read_fd, delete_read_fd, add_write_fd, delete_write_fd): + New functions. + (Fmake_network_process): FD_SET write_mask. + (deactivate_process): FD_CLR write_mask. + (wait_reading_process_output): Connecting renamed to Writeok. + check_connect removed. check_write is new. Remove references to gpm. + Use Writeok/check_write unconditionally (i.e. no #ifdef + NON_BLOCKING_CONNECT) instead of Connecting. + Loop over file descriptors and call callbacks in fd_callback_info + if file descriptor is ready for I/O. + (add_gpm_wait_descriptor): Just call add_keyboard_wait_descriptor. + (delete_gpm_wait_descriptor): Just call delete_keyboard_wait_descriptor. + (keyboard_bit_set): Use max_input_desc. + (add_keyboard_wait_descriptor, delete_keyboard_wait_descriptor): + Remove #ifdef subprocesses. Use max_input_desc. + (init_process): Initialize write_mask and fd_callback_info. + + * keyboard.c (readable_events, gobble_input): Remove DBUS code. + + * dbusbind.c: Include process.h. + (dbus_fd_cb, xd_find_watch_fd, xd_toggle_watch) + (xd_read_message_1): New functions. + (xd_add_watch, xd_remove_watch): Call xd_find_watch_fd. + Handle watch for both read and write. + (Fdbus_init_bus): Also register xd_toggle_watch. + (Fdbus_call_method_asynchronously, Fdbus_method_return_internal) + (Fdbus_method_error_internal, Fdbus_send_signal): Remove call + to dbus_connection_flush. + (xd_read_message): Move most of the code to xd_read_message_1. + Call xd_read_message_1 until status is COMPLETE. + +2010-09-26 Dan Nicolaescu + + * term.c: Do not include sys/ioctl.h, not needed. + (init_tty): Reorder code to reduce the number of #ifdefs. + No code changes. + +2010-09-26 Teodor Zlatanov + + * process.h: Set up GnuTLS support. + + * process.c (make_process, Fstart_process) + (read_process_output, send_process): Set up GnuTLS support for + process input/output file descriptors. + + * gnutls.h: The GnuTLS glue for Emacs, macros and enums. + + * gnutls.c: The source code for GnuTLS support in Emacs. + + * emacs.c: Set up GnuTLS support and call syms_of_gnutls. + + * config.in: Set up GnuTLS support. + + * Makefile.in (LIBGNUTLS_LIBS, LIBGNUTLS_CFLAGS, ALL_CFLAGS) + (obj, LIBES): Set up GnuTLS support. + +2010-09-26 Juanma Barranquero + + * w32.c (get_emacs_configuration_options): Fix previous change. + +2010-09-25 Chong Yidong + + * insdel.c (prepare_to_modify_buffer): Ensure the mark marker is + alive before using it (Bug#6977). + +2010-09-25 Lars Magne Ingebrigtsen + + * xdisp.c (face_before_or_after_it_pos): EMACS_INT/int fixup. + + * dispextern.h: EMACS_INT/int fixup. + + * xdisp.c (string_pos_nchars_ahead, init_iterator): EMACS_INT/int + fixup. + + * xrdb.c (magic_file_p): EMACS_INT/int fixup. + +2010-09-25 Eli Zaretskii + + * window.c (Fpos_visible_in_window_p, Fdelete_other_windows) + (Fselect_window, window_scroll_pixel_based) + (window_scroll_line_based, Frecenter, Fset_window_configuration): + Use EMACS_INT for buffer positions. + + * textprop.c (validate_interval_range, interval_of) + (property_change_between_p, Fadd_text_properties) + (set_text_properties_1, Fremove_text_properties) + (Fremove_list_of_text_properties, Ftext_property_any) + (Ftext_property_not_all, copy_text_properties) + (text_property_list, extend_property_ranges) + (verify_interval_modification): Use EMACS_INT for buffer + positions. + + * term.c (fast_find_position, term_mouse_highlight): Use EMACS_INT + for buffer positions. + + * process.c (read_process_output, send_process) + (Fprocess_send_region, status_notify): Use EMACS_INT for buffer + and string positions and size. + + * print.c (print_object, print_string, strout): Use EMACS_INT for + string indices. + + * minibuf.c (string_to_object): Use EMACS_INT for string position + and size. + + * marker.c (verify_bytepos): Use EMACS_INT for buffer positions. + + * lread.c + : Define EMACS_INT. + (readchar, unreadchar, read_internal_start): Use EMACS_INT for + buffer positions and string length. + + * keyboard.c : Declare + EMACS_INT. + (echo_truncate, adjust_point_for_property, read_char) + (gen_help_event, make_lispy_event, modify_event_symbol) + (Fexecute_extended_command, stuff_buffered_input): Use EMACS_INT + for buffer positions and string length. + + * keyboard.h (gen_help_event): Adjust prototype. + + * termhooks.h : Make `code' member EMACS_INT. + + * commands.h : Declare EMACS_INT. + + * xdisp.c : Define as EMACS_INT. + (truncate_echo_area): Accept EMACS_INT argument. + + * dispextern.h : Declare EMACS_INT. + + * lisp.h (truncate_echo_area): Adjust prototype. + + * composite.c (composition_adjust_point): Return EMACS_INT. + + * composite.h (composition_adjust_point): Adjust prototype. + +2010-09-25 Juanma Barranquero + + * process.c (Fmake_network_process): When arg :host is 'local, + use address 127.0.0.1, not name "localhost". (Bug#6781) + +2010-09-24 Eli Zaretskii + + * indent.c (Fcurrent_indentation, indented_beyond_p) + (compute_motion): Use EMACS_INT for buffer position variables. + + * lisp.h (indented_beyond_p): Adjust prototype. + + * buffer.c (overlay_strings): Return EMACS_INT. + + * buffer.h (overlay_strings): Adjust prototype. + + * region-cache.c (pp_cache): Adjust format to arguments. + + * eval.c : Declare EMACS_INT. + (call_debugger): Use EMACS_INT for specpdl_size related variables. + (verror): Use EMACS_INT for size of allocated buffer. + + * keyboard.c (make_lispy_position): Use EMACS_INT for buffer + positions. + + * xdisp.c (redisplay_internal, try_window_id) + (set_cursor_from_row, find_first_unchanged_at_end_row): + Use EMACS_INT for buffer positions. + + * dispextern.h (set_cursor_from_row): Adjust prototype. + + * dispnew.c (increment_matrix_positions) + (increment_row_positions, copy_glyph_row_contents) + (mode_line_string, marginal_area_string): Use EMACS_INT for buffer + positions. + + * dispextern.h (mode_line_string, marginal_area_string) + (increment_matrix_positions, increment_row_positions): + Adjust prototypes. + + * data.c (Faref, Faset): Use EMACS_INT for string length and + positions. + + * cmds.c (internal_self_insert): Use EMACS_INT for the count of + characters to insert. + + * ccl.c (Fccl_execute_on_string): Use EMACS_INT for string + position and size. + + * syntax.c (scan_words, update_syntax_table) + (prev_char_comend_first, back_comment, skip_chars) + (skip_syntaxes, Fforward_comment, Fbackward_prefix_chars): + Use EMACS_INT for buffer and string positions. + + * syntax.h (scan_words, update_syntax_table): Adjust prototypes. + + * casefiddle.c (operate_on_word): Use EMACS_INT for buffer + positions. + +2010-09-24 Lars Magne Ingebrigtsen + + * scroll.c (calculate_scrolling, line_ins_del) + (calculate_direct_scrolling, scroll_cost): Fix EMACS_INT/int + conversion. + + * region-cache.c (move_cache_gap, set_cache_region, pp_cache) + (region_cache_backward, region_cache_forward) + (revalidate_region_cache, set_cache_region): FIX EMACS_INT/int + conversion. + + * xdisp.c (message_dolog): Fix EMACS_INT/int conversion. + + * eval.c (verror): Fix EMACS_INT/int conversion. + + * print.c (PRINTDECLARE, PRINTPREPARE, strout, print_string) + (print_preprocess, print_check_string_charset_prop) + (print_object): Fix EMACS_INT/int conversion. + + * xdisp.c (message_dolog): Fix EMACS_INT/int conversion. + +2010-09-24 Eli Zaretskii + + * callproc.c (Fcall_process): Use EMACS_INT for count of + characters read from the subprocess. + + * bidi.c (struct bidi_paragraph_info): Use EMACS_INT for buffer + positions. + (bidi_cache_search, bidi_cache_find): Use EMACS_INT for buffer + positions. + + * buffer.c (struct sortvec): Use EMACS_INT for buffer positions. + (struct sortstrlist, overlay_str_len): Use EMACS_INT for string + length. + (advance_to_char_boundary, Fset_buffer_multibyte) + (overlays_at, overlays_in, mouse_face_overlay_overlaps) + (overlay_touches_p, record_overlay_string, overlay_strings) + (recenter_overlay_lists, fix_start_end_in_overlays) + (modify_overlay, Fmove_overlay, report_overlay_modification) + (evaporate_overlays): Use EMACS_INT for buffer positions. + + * lisp.h (fix_start_end_in_overlays, overlay_touches_p): + Adjust prototypes. + + * dispextern.h (struct bidi_saved_info): Use EMACS_INT for buffer + positions. + + * fns.c (Fcompare_strings, Fstring_lessp, concat) + (string_make_unibyte, Fstring_as_unibyte, Fsubstring) + (Fsubstring_no_properties, substring_both, Ffillarray) + (Fclear_string, mapcar1, Fmapconcat, Fmapcar, Fmapc) + (Fbase64_encode_region, Fbase64_encode_string, base64_encode_1) + (Fbase64_decode_region, Fbase64_decode_string, base64_decode_1) + (Fmd5): Use EMACS_INT for buffer and string positions and length + variables and arguments. + + * lisp.h (substring_both): Adjust prototype. + +2010-09-24 Juanma Barranquero + + Remove W32 API function pointer unused since 2005-02-15 (revno 2005-02-15T23:19:26Z!jasonr@gnu.org). + * w32fns.c (clipboard_sequence_fn): Don't declare. + (globals_of_w32fns): Don't initialize it. + +2010-09-23 Stefan Monnier + + * syntax.c (back_comment): Detect the case where a 1-char comment + starter is also the 2nd char of a 2-char comment ender. + +2010-09-23 Jan Djärv + + * gtkutil.c (xg_tool_bar_menu_proxy): Set gtk-menu-items to TRUE. + +2010-09-23 Lars Magne Ingebrigtsen + + * eval.c (verror): EMACS_INT/int cleanup. + + * lisp.h (SPECPDL_INDEX): Cast to int, since we're not going to + unwind_protect more than 2GB worth of functions. + + * editfns.c (Finsert_char): EMACS_INT/int cleanup. + + * lisp.h: Have oblookup take EMACS_INT to allow interning big + string and avoid compiler warnings. + (USE_SAFE_ALLOCA): Cast to int to avoid compilation warnings in + all users. + + * lread.c (oblookup): EMACS_INT/int cleanup. + + * cmds.c (Fforward_line, Fdelete_char): EMACS_INT/int cleanup. + +2010-09-23 Eli Zaretskii + + * editfns.c (clip_to_bounds): Return an EMACS_INT value. + + * lisp.h (clip_to_bounds): Adjust prototype. + + * intervals.c (adjust_for_invis_intang): Return EMACS_INT value. + +2010-09-23 Lars Magne Ingebrigtsen + + * lisp.h: doprnt.c EMACS_INT/int cleanup. + + * doprnt.c (doprnt): EMACS_INT/int cleanup. + + * doc.c (Fsnarf_documentation, get_doc_string): EMACS_INT/int + cleanup. + + * lisp.h: Change the definition of all marker.c functions that + take and return buffer stuff to be EMACS_INT instead of int. + + * marker.c (buf_charpos_to_bytepos, CONSIDER, set_marker_both) + (buf_charpos_to_bytepos, bytepos_to_charpos) + (buf_bytepos_to_charpos, Fbuffer_has_markers_at) + (set_marker_restricted, set_marker_both): Convert int to EMACS_INT + for all buffer positions. + +2010-09-23 Chong Yidong + + * intervals.c (traverse_intervals, rotate_right, rotate_left) + (split_interval_right, find_interval, next_interval) + (delete_node, delete_interval, interval_deletion_adjustment) + (adjust_intervals_for_deletion, merge_interval_right) + (merge_interval_left, graft_intervals_into_buffer) + (copy_intervals): Convert EMACS_UINTs to EMACS_INT. + + * intervals.h (traverse_intervals): Update prototype. + +2010-09-23 Eli Zaretskii + + * indent.c (compute_motion): Use EMACS_INT for arguments to + region_cache_forward. + + * region-cache.c (struct boundary, struct region_cache): + Use EMACS_INT for positions. + (find_cache_boundary, move_cache_gap, insert_cache_boundary) + (delete_cache_boundaries, set_cache_region) + (invalidate_region_cache, know_region_cache) + (region_cache_forward, region_cache_backward, pp_cache): + Use EMACS_INT for buffer positions. + + * region-cache.h (know_region_cache, invalidate_region_cache) + (region_cache_forward, region_cache_backward): Adjust prototypes. + + * search.c (string_match_1, fast_c_string_match_ignore_case) + (looking_at_1, scan_buffer, scan_newline) + (find_next_newline_no_quit, find_before_next_newline) + (search_command, trivial_regexp_p, search_buffer, simple_search) + (boyer_moore, wordify, Freplace_match): Use EMACS_INT for buffer + and string positions and length. + + * lisp.h (scan_buffer, scan_newline, find_next_newline_no_quit) + (find_before_next_newline): Adjust prototypes. + + * editfns.c (transpose_markers, update_buffer_properties) + (buildmark, clip_to_bounds, Fgoto_char, overlays_around) + (get_pos_property, Fconstrain_to_field) + (Fline_beginning_position, Fline_end_position, Fprevious_char) + (Fchar_after, Fchar_before, Finsert_char) + (Finsert_buffer_substring, Fcompare_buffer_substrings) + (Fsubst_char_in_region, Fformat, Ftranspose_regions): + Use EMACS_INT for buffer and string position variables. + (Finsert_char): Protect against too large insertions. + + * lisp.h (clip_to_bounds): Adjust prototype. + + * intervals.c (traverse_intervals, rotate_right, rotate_left) + (balance_an_interval, split_interval_right, split_interval_left) + (find_interval, next_interval, update_interval) + (adjust_intervals_for_insertion, delete_node, delete_interval) + (interval_deletion_adjustment, adjust_intervals_for_deletion) + (offset_intervals, merge_interval_right, merge_interval_left) + (graft_intervals_into_buffer, adjust_for_invis_intang) + (move_if_not_intangible, get_local_map, copy_intervals) + (copy_intervals_to_string, compare_string_intervals) + (set_intervals_multibyte_1): Use EMACS_INT for buffer positions + and for interval tree size. + + * intervals.h (traverse_intervals, split_interval_right) + (split_interval_left, find_interval, offset_intervals) + (graft_intervals_into_buffer, copy_intervals) + (copy_intervals_to_string, move_if_not_intangible, get_local_map) + (update_interval): Adjust prototypes. + + * xdisp.c (check_point_in_composition, reconsider_clip_changes): + Use EMACS_INT for buffer position variables and arguments. + + * composite.c (get_composition_id, find_composition) + (run_composition_function, compose_text) + (composition_gstring_width, autocmp_chars) + (composition_update_it, Ffind_composition_internal): Use EMACS_INT + for buffer positions and string length variables and arguments. + + * composite.h (get_composition_id, find_composition, compose_text) + (composition_gstring_width): Adjust prototypes. + + * editfns.c (Fformat): Use EMACS_INT for string size variables. + + * xdisp.c (store_mode_line_noprop, display_mode_element): + Use EMACS_INT for string positions. + + * intervals.c (get_property_and_range): Use EMACS_INT for buffer + position arguments. + + * intervals.h (get_property_and_range): Adjust prototype. + + * character.c (parse_str_as_multibyte, str_as_multibyte) + (parse_str_to_multibyte, str_to_multibyte, str_as_unibyte) + (string_count_byte8, string_escape_byte8, c_string_width) + (strwidth, lisp_string_width, multibyte_chars_in_text): + Use EMACS_INT for string length variables and arguments. + + * character.h (parse_str_as_multibyte, str_as_multibyte) + (parse_str_to_multibyte, str_to_multibyte, str_as_unibyte) + (c_string_width, strwidth, lisp_string_width): + Adjust prototypes. + + * font.c (font_intern_prop): Use EMACS_INT for string length + variables. + + * font.c (font_intern_prop): Use EMACS_INT for string length + variables. + + * fns.c (Fstring_as_multibyte): Use EMACS_INT for string length + variables. + + * alloc.c : Declare as EMACS_INT, not int. + (Fmake_string): Protect against too large strings. + (live_string_p, live_cons_p, live_symbol_p, live_float_p) + (live_misc_p): Use ptrdiff_t instead of int for pointer + differences. + (string_bytes, check_sblock, check_string_free_list) + (allocate_string_data, compact_small_strings, Fmake_string) + (Fmake_bool_vector, make_string, make_unibyte_string) + (make_multibyte_string, make_string_from_bytes) + (make_specified_string_string, Fmake_list, Fmake_vector): + Use EMACS_INT for string length variables and arguments. + (find_string_data_in_pure, make_pure_string, make_pure_c_string) + (Fpurecopy): Use EMACS_INT for string size. + (mark_vectorlike, mark_char_table, mark_object): Use EMACS_UINT + for vector size. + + * lisp.h (make_string, make_unibyte_string, make_multibyte_string) + (make_string_from_bytes, make_specified_string_string) + (make_pure_string, string_bytes, check_point_in_composition): + Adjust prototypes. + +2010-09-22 Eli Zaretskii + + * editfns.c (Fsubst_char_in_region, Ftranslate_region_internal) + (check_translation): Use EMACS_INT for buffer positions and + length. + + * undo.c (record_marker_adjustment, record_delete) + (record_change, record_point, record_insert) + (record_property_change, Fprimitive_undo): Use EMACS_INT for + buffer positions. + + * lisp.h (record_marker_adjustment, record_delete) + (record_change, record_point, record_insert) + (record_property_change, Fprimitive_undo): Adjust prototypes. + +2010-09-22 Juanma Barranquero + Eli Zaretskii + + * w32.c (get_emacs_configuration_options): Fix buffer overrun. + +2010-09-22 Eli Zaretskii + + * minibuf.c (Fminibuffer_contents) + (Fminibuffer_contents_no_properties) + (Fminibuffer_completion_contents): Use EMACS_INT for minibuffer + positions. + + * keyboard.c (command_loop_1): Use EMACS_INT to compare point with + mark. + + * alloc.c (make_uninit_string, make_uninit_multibyte_string) + (allocate_string_data): Accept EMACS_INT for string length. + + * editfns.c (Ffield_string, Ffield_string_no_properties) + (make_buffer_string, make_buffer_string_both, Fbuffer_substring) + (Fbuffer_substring_no_properties, find_field, Fdelete_field) + (Ffield_string, Ffield_string_no_properties, Ffield_beginning) + (Ffield_end): Use EMACS_INT for buffer positions. + + * insdel.c (prepare_to_modify_buffer): Use EMACS_INT to compare + point with mark. + + * lisp.h (allocate_string_data, make_uninit_string) + (make_uninit_multibyte_string, make_buffer_string) + (make_buffer_string_both): Adjust prototypes. + +2010-09-22 Chong Yidong + + * xml.c: Switch to GNU indentation. + (make_dom): Change parse tree format to match xml.el. + (Fxml_parse_html_string_internal): Rename from html-parse-string. + (Fxml_parse_string_internal): Rename from xml-parse-string. + +2010-09-22 Kenichi Handa + + * xdisp.c (compute_stop_pos): Call composition_compute_stop_pos + only if we are not at a composition. + (set_iterator_to_next): Give it->end_charpos to + composition_compute_stop_pos. + (set_iterator_to_next, next_element_from_buffer): Likewise. + + * dispnew.c (buffer_posn_from_coords): Fix position when the + current display element is a grapheme cluster in bidi-reordered + region. + +2010-09-21 Ari Roponen (tiny change) + + * doc.c (Fsnarf_documentation): Use memmove instead of memcpy as + the regions may overlap. + +2010-09-21 Juanma Barranquero + + * makefile.w32-in ($(BLD)/sysdep.$(O)): Update dependencies. + +2010-09-21 Dan Nicolaescu + + * emacs.c: Do not include sys/ioctl.h, not needed. + + * doprnt.c: Do not include stdlib.h, config.h does it. + Move #include before macro definition. + +2010-09-20 Dan Nicolaescu + + * Makefile.in (temacs): Link using $(CC) not $(LD). + (LD_FIRSTFLAG): Define using autoconf. + (LD): Remove. + + Remove HAVE_TERMIOS definitions. + * s/usg5-4-common.h (HAVE_TERMIOS): + * s/template.h (HAVE_TERMIOS): + * s/gnu-linux.h (HAVE_TERMIOS): + * s/darwin.h (HAVE_TERMIOS): + * s/cygwin.h (HAVE_TERMIOS): + * s/bsd-common.h (HAVE_TERMIOS): + * s/aix4-2.h (HAVE_TERMIOS): + * s/hpux10-20.h (HAVE_TERMIOS): Do not define, it is assumed + defined on all non-MS platforms. + (HAVE_PSTAT_GETDYNAMIC): Do not define, autoconf does it. + + * xterm.c (xt_action_hook): Use const. + +2010-09-20 Juanma Barranquero + + Don't make W32 code conditional on HAVE_SOCKETS, it's always defined. + * w32.c: Remove top-level uses of #ifdef HAVE_SOCKETS. + (gethostname) [!HAVE_SOCKETS]: Remove. + (SOCK_REPLACE_HANDLE): Remove macro. + (socket_to_fd, sys_close, _sys_read_ahead, sys_read, sys_write) + (term_ntproc, init_ntproc): Don't conditionalize on HAVE_SOCKETS. + * w32proc.c: Remove top-level uses of #ifdef HAVE_SOCKETS. + (syms_of_ntproc): Don't conditionalize on HAVE_SOCKETS. + +2010-09-18 Eli Zaretskii + + * deps.mk (xml.o): Add dependencies. + + * xdisp.c (Fcurrent_bidi_paragraph_direction): + Call bidi_paragraph_init with NO_DEFAULT_P non-zero. (Bug#7038) + + * bidi.c (bidi_paragraph_init): Accept an additional argument + NO_DEFAULT_P; all callers changed. If NO_DEFAULT_P is non-zero, + search back until a paragraph with a strong directional character + is found, and use that to determine paragraph's base direction. + + * dispextern.h (bidi_paragraph_init): Update prototype. + +2010-09-17 Eli Zaretskii + + * w32.c (_PROCESS_MEMORY_COUNTERS_EX): Don't define with versions + of w32api >= 3.15. (Bug#6989) + +2010-09-17 Lars Magne Ingebrigtsen + + * process.c (wait_reading_process_output): Don't message about + accept-process-output unless the time limit really is zero. + +2010-09-17 Stefan Monnier + + * frame.c (Ftool_bar_pixel_width): YAILOM (Yet another + int/Lisp_Object mixup). + +2010-09-17 Jan Djärv + + * keyboard.c (parse_tool_bar_item): For QClabel, set TOOL_BAR_ITEM_LABEL + not HELP. + +2010-09-17 Stephen Berman + + * frame.c (Ftool_bar_pixel_width): New function to expose tool + bar's pixel width to Lisp (Bug#7048). + +2010-09-14 Juanma Barranquero + + * cmds.c (syms_of_cmds) : Fix typos in docstring. + +2010-09-17 Jan Djärv + + * gtkutil.c (xg_pack_tool_bar): Call gtk_handle_box_set_handle_position + with argument top/left if tool bar is vertical/horizontal (Bug#7051). + +2010-09-17 Kenichi Handa + + * ftfont.c (ftfont_check_otf): Fix previous change. + +2010-09-14 Kenichi Handa + + * ftfont.c (ftfont_check_otf): Fix the case of checking just + existence of GSUB or GPOS. + +2010-09-14 Juanma Barranquero + + * cmds.c (syms_of_cmds) : Fix typos in docstring. + +2010-09-14 Lars Magne Ingebrigtsen + + * xml.c (parse_buffer): Rename to parse_string(), since that's + what it does. + (parse_string): Return nil when the document can't be parsed. + +2010-09-14 Jan Djärv + + * xterm.c (get_current_vm_state): New function. + (do_ewmh_fullscreen): Call get_current_vm_state and compare with + want_fullscreen so set_wm_state calls are few (Bug#7013). + (x_handle_net_wm_state): Move code to get_current_vm_state and + call that function. + +2010-09-14 Courtney Bane (tiny change) + + * term.c (tty_set_terminal_modes): Don't initialize twice (bug#7002). + +2010-09-14 Kenichi Handa + + * coding.c (encode_coding_iso_2022): Don't optimize for ASCII if + we may use designation or locking-shift. + +2010-09-14 Kenichi Handa + + * coding.c (detect_coding_emacs_mule): Fix checking of multibyte + sequence when the source is multibyte. + +2010-09-14 Andreas Schwab + + * xml.c (Fxml_parse_string, Fxml_parse_string): Revert last change. + Don't make first argument optional. Doc fix. + +2010-09-14 Leo (tiny change) + + * xml.c (Fxml_parse_string, Fhtml_parse_string): Fix up the + parameters for the doc string. + +2010-09-12 Lars Magne Ingebrigtsen + + * xml.c (Fhtml_parse_string, Fxml_parse_string): Mention BASE-URL. + +2010-09-12 Stefan Monnier + + * fns.c (Fy_or_n_p): Move to lisp/subr.el. + (syms_of_fns): Don't defsubr Sy_or_n_p. + * lisp.h: Don't declare Fy_or_n_p. + * fileio.c (barf_or_query_if_file_exists): Fy_or_n_p -> y-or-n-p. + +2010-09-09 Lars Magne Ingebrigtsen + + * xml.c (Fxml_parse_buffer): New function to parse XML files. + +2010-09-08 Lars Magne Ingebrigtsen + + * xml.c: New file. + (Fhtml_parse_buffer): New function to interface to the libxml2 + html parsing function. + +2010-09-05 Juanma Barranquero + + * biditype.h: Regenerate. + +2010-09-04 Andreas Schwab + + * nsimage.m (ns_load_image): Check argument types. + + * image.c: Remove all uses of gcpro. + (xpm_load): Check all lisp types. + (pbm_load): Likewise. + (png_load): Likewise. + (jpeg_load): Likewise. + (tiff_load): Likewise. + (gif_load): Likewise. + (imagemagick_load_image): Likewise. + (imagemagick_load): Likewise. + (svg_load): Likewise. + (gs_load): Likewise. + +2010-09-04 Eli Zaretskii + + * w32uniscribe.c (uniscribe_shape): Update commentary. + Don't try to reorder grapheme clusters, since LGSTRING should always + hold them in the logical order. + (uniscribe_encode_char, uniscribe_shape): Force ScriptShape to + return glyph codes in the logical order. + +2010-09-04 Andreas Schwab + + * image.c (imagemagick_image_p): Replace bcopy by memcpy. + (imagemagick_load_image): Fix type mismatch. + (Fimagemagick_types): Likewise. Doc fix. + +2010-09-02 Jan Djärv + + * xterm.h (struct dpyinfo): Remove cut_buffers_initialized. + + * xterm.c (x_term_init): Don't set dpyinfo->cut_buffers_initialized. + + * xselect.c: Remove declaration of cut-buffer objects and functions. + (symbol_to_x_atom): Remove mapping to XA_CUT_BUFFERn. + (x_atom_to_symbol): Remove mapping to QCUT_BUFFERn. + (Fx_get_cut_buffer_internal, Fx_store_cut_buffer_internal) + (Fx_rotate_cut_buffers_internal): Remove. + (syms_of_xselect): Remove defsubr of above. + Remove intern of QCUT_BUFFERn. + +2010-09-01 Stefan Monnier + + * cmds.c (Vblink_paren_function): Remove. + (internal_self_insert): Make it insert N chars at a time. + Don't call blink-paren-function. + (Fself_insert_command): Adjust accordingly. + (syms_of_cmds): Don't declare blink-paren-function. + +2010-08-31 Kenichi Handa + + * dispextern.h (FACE_FOR_CHAR): Use an ASCII face for 8-bit + characters. + + * term.c (encode_terminal_code): Fix the previous change. + (produce_glyphs): Don't set it->char_to_display here. + Don't handle unibyte-display-via-language-environment here. + (produce_special_glyphs): Set temp_it.char_to_display before + calling produce_glyphs. + + * xdisp.c (get_next_display_element): Set it->char_to_display + here. Convert all 8-bit bytes from unibyte buffer/string to 8-bit + characters. + (get_overlay_arrow_glyph_row): Set it.char_to_display too before + calling PRODUCE_GLYPHS. + (append_space_for_newline): Save and store it->char_to_display. + Set it->char_to_display before calling PRODUCE_GLYPHS. + (extend_face_to_end_of_line): Set it->char_to_display before + calling PRODUCE_GLYPHS. + (get_glyph_face_and_encoding): Set the glyph code an 8-bit + character to its byte value. + (get_char_glyph_code): New function. + (produce_stretch_glyph): Set it2.char_to_display too before + calling x_produce_glyphs. + (x_produce_glyphs): Simplify by using the same code for ASCII and + non-ASCII characters. Don't set it->char_to_display here. + Don't handle unibyte-display-via-language-environment here. For a + character of no glyph, use font->space_width instead of FONT_WIDTH. + +2010-08-31 Stefan Monnier + + * keyboard.c (Fwindow_system): Fix compilation for USE_LISP_UNION_TYPE. + +2010-08-31 Chong Yidong + + * keyboard.c (command_loop_1): Don't call x-set-selection on tty. + +2010-08-30 Stefan Monnier + + * marker.c (Fcopy_marker): Make the first arg optional. + +2010-08-30 Kenichi Handa + + * composite.c (composition_update_it): Fix computing of + cmp_it->width. + +2010-08-29 Kenichi Handa + + * term.c (encode_terminal_code): Encode byte chars to the + corresponding bytes. + +2010-08-29 Jan Djärv + + * nsterm.m (ns_draw_window_cursor): Draw BAR_CURSOR correct for R2L. + +2010-08-26 Kenichi Handa + + * xdisp.c (compute_stop_pos): Pay attention to bidi scan direction + on calling composition_compute_stop_pos. + +2010-08-25 Kenichi Handa + + * fontset.c (reorder_font_vector): Prefer a font-spec specifying + :otf. + + * composite.c (composition_compute_stop_pos): Don't break + composition at PT. + (composition_reseat_it): Likewise. Fix calculation of character + position starting a composition. + (Fcomposition_get_gstring): Don't limit the number of components + for automatic composition. + +2010-08-25 Kenichi Handa + + * composite.c (composition_compute_stop_pos): In forward search, + pay attention to the possibility that some character after ENDPOS + will be composed with charactrs before ENDPOS. + +2010-08-24 Chong Yidong + + * keyboard.c (command_loop_1): Don't clobber primary selection + during handle-switch-frame (Bug#6872). + +2010-08-23 Michael Albinus + + * dbusbind.c: Accept UNIX domain sockets as bus address. + (Fdbus_close_bus): New function. + (Vdbus_registered_buses): New variable. + (xd_initialize): Implement string as bus address. + (Fdbus_init_bus): Add bus to Vdbus_registered_buses). + (Fdbus_get_unique_name, Fdbus_call_method) + (Fdbus_call_method_asynchronously, Fdbus_method_return_internal) + (Fdbus_method_error_internal, Fdbus_send_signal) + (Fdbus_register_signal, Fdbus_register_method): Remove bus type + check. This is done in xd_initialize_bus. Adapt doc string, if + necessary. + (xd_pending_messages, xd_read_queued_messages): Loop over buses in + Vdbus_registered_buses. + (Vdbus_registered_objects_table): Create hash. + +2010-08-22 Juri Linkov + + * keyboard.c (Fexecute_extended_command): Move reading a command name + with `completing-read' to a new Elisp function `read-extended-command'. + Call it to read a command to `function' (bug#5364, bug#5214). + +2010-08-22 Chong Yidong + + * emacs.c (main): Remove handling of --unibyte arg (Bug#6886). + +2010-08-22 Andreas Schwab + + * eval.c (Flet, Feval, Fapply, apply_lambda): Use SAFE_ALLOCA_LISP + instead of SAFE_ALLOCA. + +2010-08-22 Chong Yidong + + * eval.c (Flet, Feval, Fapply, apply_lambda): Use SAFE_ALLOCA + (Bug#6214). + +2010-08-22 Jan Djärv + + * doc.c (Fsnarf_documentation): Set skip_file only if p[1] is S. + +2010-08-22 Jan Djärv + + * doc.c (Fsnarf_documentation): Initialize skip_file before + build-files test. + +2010-08-22 Peter O'Gorman (tiny change) + + * s/hpux10-20.h (HAVE_TERMIOS, NO_TERMIO, ORDINARY_LINK): + New definitions. + (HAVE_TERMIO): Remove. + +2010-08-22 Eli Zaretskii + + * deps.mk (sysdep.o, msdos.o): Depend on sysselect.h. + + * sysselect.h [WINDOWSNT]: Don't define the FD_* and select stuff + for w32. + + * s/ms-w32.h (HAVE_SYS_TIMEB_H): Don't #undef HAVE_SYS_SELECT_H, + it's done in nt/config.nt. + + * makefile.w32-in ($(BLD)/sysdep.$(O)): Depend on sysselect.h. + + * unexcoff.c (report_error, make_hdr, write_segment) + (copy_text_and_data, copy_sym, mark_x, adjust_lnnoptrs, unexec): + Convert argument lists and prototypes to ANSI C. + (make_hdr, write_segment): Remove unused variables. + (unexec): Remove commented-out line. Initialize `new' to shut up + compiler warnings. + +2010-08-22 Dan Nicolaescu + + Simplify termio code. + All non-MSDOS non-WINDOWSNT platforms define HAVE_TERMIOS, so + HAVE_TERMIO code is obsolete. + Replace HAVE_TERMIOS conditionals with !DOS_NT. + * systty.h: Do not define HAVE_TCATTR. + Remove HAVE_TERMIO, HAVE_LTCHARS and HAVE_TCHARS code. + Do not define EMACS_HAVE_TTY_PGRP. Only define + EMACS_GET_TTY_PGRP for !DOS_NT. + * sysdep.c: Include sysselect.h unconditionally. Do not include + sys/ioctl.h and termios.h, systty.h does it. + Use HAVE_SYS_UTSNAME_H instead of USG as an include guard. + (init_baud_rate): Remove HAVE_TERMIO code. + (child_setup_tty): Remove HAVE_TERMIO code. + (emacs_get_tty, emacs_set_tty): Remove HAVE_TERMIO, HAVE_TCHARS + and HAVE_LTCHARS code. Use !DOS_NT instead of HAVE_TCATTR. + (new_ltchars, new_tchars): Remove, unused. + (init_sys_modes): Remove HAVE_TERMIO, HAVE_TCHARS and HAVE_LTCHARS + code. Remove special casing for __mips__, it was a no-op. + Remove HAVE_TCATTR conditional, it is implied by HAVE_TERMIOS. + (init_sys_modes): Remove HPUX special case. + * process.c: Include stdlib.h unconditionally. Do not include + fcntl.h, systty.h does it. Remove conditional code for + HAVE_SERIAL, it is always true. + (process_send_signal): Remove HAVE_TERMIOS conditional, it's + always true when SIGNALS_VIA_CHARACTERS is true. + (Fcontinue_process, Fprocess_send_eof): Simplify conditionals: + !WINDOWSNT means HAVE_TERMIOS. + (create_process): Remove HAVE_TERMIOS, it's inside a HAVE_PTYS + conditional, which is true for all HAVE_TERMIOS systems. + * keyboard.c (init_keyboard): Do not use HAVE_TERMIO, use !DOS_NT + instead of HAVE_TERMIOS. + * emacs.c (shut_down_emacs): Use !defined DOS_NT instead of + EMACS_HAVE_TTY_PGRP. + * callproc.c (child_setup): Move EMACS_SET_TTY_PGRP use to the + non-MSDOS, non-WINDOWSNT code, it's only defined for such systems + anyway. + +2010-08-21 Eli Zaretskii + + * dispnew.c (buffer_posn_from_coords): Fix off-by-one error in + mirroring pixel positions. + +2010-08-20 Dan Nicolaescu + + * alloc.c (malloc_sbrk_used, malloc_sbrk_unused): Remove, + write only. + (init_alloc_once): Remove writes to malloc_sbrk_unused, and + malloc_sbrk_used, nothing uses them. + + * puresize.h: Remove code assuming PNTR_COMPARISON_TYPE is not + defined, unconditionally defined in lisp.h. + + * term.c: Do not include , systty.h does it. + + * s/unixware.h (HAVE_TCATTR): + * s/aix4-2.h (HAVE_TCATTR): Remove definitions, not needed. + systty.h defines it when HAVE_TERMIOS is defined. + +2010-08-20 Eli Zaretskii + + * dispnew.c (buffer_posn_from_coords): Fix last change for text + terminals: add one-character offset for R2L lines. + + * emacs.c : Add a comment regarding + msdos/mainmake.v2's dependency on the syntax of this declaration. + +2010-08-20 Eli Zaretskii + + * dispnew.c (buffer_posn_from_coords): Fix calculation of buffer + position for R2L lines by mirroring the pixel position wrt the + text are box. Improve commentary. + +2010-08-20 Andreas Schwab + + * image.c (imagemagick_clear_image): Remove debugging output. + +2010-08-19 Stefan Monnier + + * cmds.c (Vself_insert_face, Vself_insert_face_command): Remove. + (Qpost_self_insert_hook, Vpost_self_insert_hook): New vars. + (internal_self_insert): Run Qpost_self_insert_hook rather than handle + self-insert-face. + (syms_of_cmds): Initialize the new vars. + +2010-08-19 Jason Rumney + + * w32menu.c (set_frame_menubar): Remove call to undefined function. + + * w32fns.c (w32_wnd_proc): Don't check context before initializing. + +2010-08-19 Jan Djärv + + * nsselect.m (nxatoms_of_nsselect): Use "Selection" and "Secondary". + +2010-08-18 Eli Zaretskii + + * xterm.c (x_draw_bar_cursor): + * w32term.c (x_draw_bar_cursor): If the character under cursor is + R2L, draw the bar cursor on its right rather than on its left. + +2010-08-18 Stefan Monnier + + * eval.c (Fdefmacro): Only obey one declaration. + + * casefiddle.c (casify_region): Setup gl_state. + +2010-08-18 Jan Djärv + + * nsterm.m (ns_define_frame_cursor): Call x_update_cursor (Bug#6868). + +2010-08-18 Jan Djärv + + * gtkutil.c (update_frame_tool_bar): Literal strings are const char*. + +2010-08-18 David De La Harpe Golden + + * nsselect.m (QCLIPBOARD, NXPrimaryPboard): Define. + (symbol_to_nsstring): Map QCLIPBOARD => NSGeneralPboard, + QPRIMARY => NXPrimaryPboard. + (ns_string_to_symbol): NSGeneralPboard => QCLIPBOARD, + NXPrimaryPboard => QPRIMARY. + (nxatoms_of_nsselect): NXPrimaryPboard = PrimarySelection, + NXSecondaryPboard = SecondarySelection. + (syms_of_nsselect): Intern QCLIPBOARD (Bug#6677). + +2010-08-18 Joakim Verona + + * image.c: Add support for ImageMagick. When HAVE_IMAGEMAGICK is + defined: + (imagemagick_image_p): New function to test for ImageMagic image. + (imagemagick_load): New function to load ImageMagick image. + (imagemagick_load_image): New function, helper for imagemagick_load. + (imagemagick-types): New function. + (Qimagemagick): New Lisp_object. + (imagemagick-render-type): New variable, decides which renderer to use. + +2010-08-17 Stefan Monnier + + * gtkutil.c (update_frame_tool_bar): Don't assume TOOL_BAR_ITEM_LABEL + is a string. + +2010-08-17 Jan Djärv + + * nsfns.m (ns_frame_parm_handlers): Add a slot for the + x_set_tool_bar_position handler. + +2010-08-17 Eli Zaretskii + + * w32fns.c : Add a slot for the + x_set_tool_bar_position handler, needed to support changes from + 2010-07-29T16:49:59Z!jan.h.d@swipnet.se for positioning the tool bar. (Bug#6796) + +2010-08-16 Jan Djärv + + * nsselect.m: Include keyboard.h for QPRIMARY, remove its + declaration (Bug#6863). + (syms_of_nsselect): Don't intern QPRIMARY. + + * xselect.c: Remove declaration of QPRIMARY (Bug#6864). + + * keyboard.h (QPRIMARY): Declare (Bug#6864). + +2010-08-16 Chong Yidong + + * keyboard.c (command_loop_1): Avoid setting selection twice, + since it's done in deactivate-mark as well. + (Vselect_active_regions): Change default to t. Replace `lazy' + with non-default value `only', meaning only set PRIMARY for + temporarily active regions. + + * insdel.c (prepare_to_modify_buffer): Handle `only' value of + select-active-regions. + +2010-08-15 Jan Djärv + + * keyboard.c (parse_tool_bar_item): Put in a bad label if :label + isn't a string. + +2010-08-15 Andreas Schwab + + * keyboard.c (parse_tool_bar_item): Avoid excessive use of strlen. + +2010-08-15 Jan Djärv + + * keyboard.c (parse_tool_bar_item): malloc buf. + Set TOOL_BAR_ITEM_LABEL to empty string if not set to + new_lbl (Bug#6855). + +2010-08-14 Eli Zaretskii + + * xterm.c (x_draw_stretch_glyph_string): + * w32term.c (x_draw_stretch_glyph_string): In R2L rows, display + the cursor on the right edge of the stretch glyph. + + * xdisp.c (window_box_right_offset, window_box_right): + Fix commentary. + + * xdisp.c (Fcurrent_bidi_paragraph_direction): Fix paragraph + direction when point is inside a run of whitespace characters. + + * bidi.c (bidi_at_paragraph_end): Remove obsolete comment. + +2010-08-14 Jason Rumney + + * keyboard.c (lispy_function_keys): Do not define VK_PACKET (bug#4836) + +2010-08-14 Chong Yidong + + * fns.c (Fmake_hash_table): Doc fix (Bug#6851). + +2010-08-13 Jason Rumney + + * w32menu.c (simple_dialog_show): Use unicode message box if available. + (MessageBoxW_Proc): New function typedef. + (unicode-message-box): New function pointer. + (globals_of_w32menu): Import it from user32.dll. (Bug#5629) + +2010-08-13 Jan Djärv + + * frame.h (Qtool_bar_position): Declare. + + * xfns.c (Fx_create_frame): Call x_default_parameter for + Qtool_bar_position. + +2010-08-13 Eli Zaretskii + + * unexcoff.c: Remove the parts used when "emacs" is not defined. + (report_error, report_error_1): Ditto. + (write_segment): Remove "#if 0" unused code. + (make_hdr): Remove code that was "#ifndef NO_REMAP" before + NO_REMAP was removed (in 2010-07-29T03:25:08Z!dann@ics.uci.edu). + (start_of_text): Remove unused function (was used only if NO_REMAP + was NOT defined). + + * msdos.c (IT_set_face): Fix format string to match argument + types. + (IT_write_glyphs, IT_note_mode_line_highlight) + (IT_set_frame_parameters): Remove unused variables. + (x_set_menu_bar_lines): Declare set_menu_bar_lines. + (IT_set_terminal_modes): Disambiguate expression in if clause. + (Fmsdos_remember_default_colors): Return Qnil. + (IT_set_frame_parameters): Add parens to disambiguate boolean + expression for logging the cursor type to termscript. + (keyboard_layout_list, keypad_translate_map) + (grey_key_translate_map): Add braces in inner initializers. + (dos_rawgetc): Add parens in condition for mouse-3 button-press. + (dos_rawgetc): Remove unused label. + (XMenuActivate): Add braces to remove ambiguous `else'. + (dos_ttraw): Always return a value. + (spawnve): Declare. + (run_msdos_command): Cast 3rd arg of spawnve to "char **". + + * dosfns.h (x_set_title): Declare. + + * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data): + Remove unused variables. + + * dosfns.c (Fint86, Fdos_memget, Fdos_memput): Remove unused + variables. + (init_dosfns): Declare get_lim_data. + (system_process_attributes): Declare Fget_internal_run_time. + + * xmenu.c (xmenu_show) [!USE_X_TOOLKIT && !USE_GTK]: Fix argument + list to be consistent with menu.h. + + * w32menu.c (add_menu_item, name_is_separator): Shut up compiler + warnings due to mixing of "char *" and "const char *". + +2010-08-12 Stefan Monnier + + Introduce a new comment style "c" flag. + * syntax.c (SYNTAX_FLAGS_COMMENT_STYLEB) + (SYNTAX_FLAGS_COMMENT_STYLEC): New macros. + (SYNTAX_FLAGS_COMMENT_STYLE): Use them, add an argument. + (syntax_prefix_flag_p): New function. + (Fstring_to_syntax): Understand new "c" flag. + (Finternal_describe_syntax_value): Recognize new flag; use the + SYNTAX_FLAGS_* macros. + (scan_sexps_forward, Fparse_partial_sexp): Change representation of + comment style to accomodate the new styles. + (back_comment, forw_comment, Fforward_comment, scan_lists) + (scan_sexps_forward): Update code to obey the new comment style flag. + + * syntax.h: Move SYNTAX_FLAGS_FOO() macros to syntax.c. + + * casefiddle.c (casify_region): Use the new syntax_prefix_flag_p. + +2010-08-11 Jan Djärv + + * xfns.c (x_defined_color): If USE_GTK, call xg_check_special_colors + first. + (Fx_hide_tip): Check FRAME_LIVE_P (f) before calling xg_hide_tooltip. + + * gtkutil.h (xg_check_special_colors): Declare. + + * gtkutil.c (xg_check_special_colors, style_changed_cb): New functions. + (xg_create_frame_widgets): Connect theme name changes to + style_changed_cb. + + * xterm.c (emacs_class): New char[] for EMACS_CLASS. + (xim_open_dpy, xim_initialize, xim_close_dpy): Use emacs_class. + (x_term_init): Use char[] display_opt and name_opt instead of + string literal. file is const char*. + + * xsmfns.c (NOSPLASH_OPT): Change to char[]. + (smc_save_yourself_CB): Do xstrdup on all ->type and ->name for + props. Free them at the end. + + * xselect.c (Fx_get_atom_name): Use char empty[] instead of literal "". + + * xrdb.c (get_system_app): Make path const and use char *p for + non-const char. + + * xmenu.c (Fx_popup_dialog): error_name is const char*. + (xmenu_show): error parameter is const char **. pane_string is const + char *. + (button_names): Is const char *. + (xdialog_show): error_name and pane_string is const. + + * process.h (synch_process_death): Is const char*. + + * w32menu.c (w32_menu_show): + * nsmenu.m (ns_menu_show): error parameter is const char **. + + * menu.h (w32_menu_show, ns_menu_show, xmenu_show): error parameter + is const char **. + + * menu.c (Fx_popup_menu): error_name is const. + + * keyboard.h (_widget_value): Add defined USE_GTK. Replace Boolean + with unsigned char and XtPointer with void *. + + * gtkutil.h: Replace widget_value with struct _widget_value. + (enum button_type, struct _widget_value): Remove and use the one from + keyboard.h. + + * gtkutil.c (get_utf8_string): Always return an allocated string. + Parameter is const. + (create_dialog, xg_create_one_menuitem, create_menus) + (xg_item_label_same_p, xg_update_menu_item): Free result from + get_utf8_string. + (xg_separator_p, xg_item_label_same_p): label is const. + + * font.h (font_open_by_name): Make name const. + + * font.c (font_open_by_name): Make name const. + + * floatfns.c (matherr): Use a const char* variable for x->name. + + * emacs.c (main): Pass char[] to putenv instead of literal. + + * callproc.c (synch_process_death): Make const. + (Fcall_process): Make signame const. + + * nsterm.h (parseKeyEquiv, addSubmenuWithTitle) + (addDisplayItemWithImage): Use const char*. + + * nsmenu.m (parseKeyEquiv, addSubmenuWithTitle) + (addDisplayItemWithImage, update_frame_tool_bar): Use const char*. + + * nsfont.m (ns_descriptor_to_entity): Use const char*. + + * keyboard.h (_widget_value): name, value and key are const char*. + + * unexmacosx.c (unexec_error): Use const char *. + +2010-08-09 Dan Nicolaescu + + * font.h (font_parse_xlfd, font_parse_fcname, font_unparse_fcname) + (font_parse_name, font_open_by_name): + * font.c (font_parse_xlfd, font_parse_fcname, font_unparse_fcname) + (font_parse_name, font_open_by_name): Remove const. + +2010-08-09 Andreas Schwab + + Use autoconf determined WORDS_BIGENDIAN instead of hardcoded + definition. + + * m/alpha.h: Don't define/undef WORDS_BIG_ENDIAN. + * m/amdx86-64.h: Likewise. + * m/arm.h: Likewise. + * m/hp800.h: Likewise. + * m/ia64.h: Likewise. + * m/ibmrs6000.h: Likewise. + * m/ibms390.h: Likewise. + * m/intel386.h: Likewise. + * m/iris4d.h: Likewise. + * m/m68k.h: Likewise. + * m/macppc.h: Likewise. + * m/mips.h: Likewise. + * m/sh3.h: Likewise. + * m/sparc.h: Likewise. + * m/template.h: Likewise. + * m/vax.h: Likewise. + * m/xtensa.h: Likewise. + * fringe.c (init_fringe_bitmap): Test WORDS_BIGENDIAN instead of + WORDS_BIG_ENDIAN. + * lisp.h: Likewise. + * md5.c: Likewise. + * sound.c (le2hl, le2hs, be2hl, be2hs): Likewise. + +2010-08-09 Dan Nicolaescu + + Use const char* instead of char*. + Reduce the number of warnings with -Wwrite-strings. + * xrdb.c (get_environ_db, get_system_name): + * unexelf.c (find_section): + * term.c (string_cost, string_cost_one_line, per_line_cost) + (get_named_tty, init_tty): + * sysdep.c (sys_subshell): + * sound.c (sound_perror, sound_warning, vox_open, vox_init) + (alsa_sound_perror, alsa_open, alsa_configure, alsa_init): + * search.c (Freplace_match): + * process.c (Fmake_network_process, send_process, init_process): + * lread.c (Fload, init_lread): + * keymap.c (Fdescribe_buffer_bindings, describe_map_tree): + * keyboard.c (parse_tool_bar_item, struct event_head): + * gtkutil.h (xg_get_font_name): + * gtkutil.c (get_dialog_title, create_dialog, xg_get_font_name) + (make_widget_for_menu_item, make_menu_item, create_menus) + (xg_make_tool_item): + * font.c (parse_matrix, font_parse_name): + * floatfns.c (rounding_driver, float_error_fn_name): + * filelock.c (get_boot_time_1, lock_file_1): + * fileio.c (barf_or_query_if_file_exists, check_writable): + * editfns.c (get_system_name, get_operating_system_release) + (Fencode_time, Fset_time_zone_rule): + * dispextern.h (string_cost, per_line_cost, get_named_tty, init_tty): + * buffer.c (defvar_per_buffer): Use const. + +2010-08-08 Kenichi Handa + + * charset.c: Include . + (struct charset_sort_data): New struct. + (charset_compare): New function. + (Fsort_charsets): New function. + (syms_of_charset): Declare Fsort_charsets as a Lisp function. + + * coding.c (decode_coding_iso_2022): Fix checking of dimension + number in CTEXT extended segment. + +2010-08-08 Juanma Barranquero + + * w32fns.c (syms_of_w32fns) : Fix typo in docstring. + * xfns.c (syms_of_xfns) : Reflow docstring. + +2010-08-08 Juanma Barranquero + + * fns.c (Fsubstring_no_properties, Fnthcdr, Ffeaturep) + (Fhash_table_size): Fix typos in docstrings. + (Fmake_hash_table): Doc fix. + +2010-08-08 Juanma Barranquero + + * minibuf.c (syms_of_minibuf) : + Doc fix (bug#5625). + +2010-08-08 Ken Brown + + * dired.c (DIRENTRY_NONEMPTY) [cygwin]: Use d_ino instead of + the MSDOS definition. + +2010-08-08 Dan Nicolaescu + + Use const char* instead of char*. + * xterm.c (x_create_toolkit_scroll_bar): + * xfont.c (xfont_list_pattern): + * xfns.c (x_default_scroll_bar_color_parameter) + (xic_create_fontsetname, x_default_font_parameter) + (x_screen_planes): + * xdisp.c (c_string_pos, number_of_chars, reseat_to_string) + (store_mode_line_string, decode_mode_spec, display_string): + * menu.c (digest_single_submenu): + * keymap.h (initial_define_key, initial_define_lispy_key): + * keymap.c (initial_define_key, initial_define_lispy_key): + * image.c (image_error, image_keyword): + * gtkutil.h (xg_create_widget, xg_create_scroll_bar): + * gtkutil.c (xg_create_widget, xg_create_scroll_bar): + * ftfont.c (struct fc_charset_table, ftfont_spec_pattern) + (ftfont_list, ftfont_match): + * frame.c (frame_parm_table): + * font.h (font_intern_prop, font_parse_xlfd, font_parse_fcname) + (font_unparse_fcname, font_unparse_fcname, font_open_by_name) + (font_add_log, font_deferred_log): + * font.c (font_intern_prop, font_parse_xlfd, font_parse_fcname) + (font_unparse_fcname, font_unparse_fcname, font_open_by_name) + (font_add_log, font_deferred_log): + * emacs.c (argmatch): + * dispextern.h (struct it): + * coding.c (ENCODE_DESIGNATION): + * charset.c (define_charset_internal): Use const. + + * s/freebsd.h (DECLARE_GETPWUID_WITH_UID_T): Remove, unused. + + * xrdb.c: Remove include guard. + Remove DECLARE_GETPWUID_WITH_UID_T conditional it had no effect. + Remove #if 0 code. Replace malloc->xmalloc, free->xfree, + realloc->xrealloc instead of using #defines. + +2010-08-08 Eli Zaretskii + + * cmds.c (Fforward_line, Fbeginning_of_line, Fend_of_line): + * editfns.c (Fline_beginning_position, Fline_end_position): + State in the doc strings that start and end of line are in the + logical order. + + * xdisp.c (display_line): Move the handling of overlay arrow after + the call to find_row_edges. (Bug#6699) + +2010-08-07 Chong Yidong + + * keyboard.c (command_loop_1): + * insdel.c (prepare_to_modify_buffer): Don't call validate_region. + +2010-08-07 Chong Yidong + + * insdel.c (prepare_to_modify_buffer): Save active region text to + Vsaved_region_selection. + + * xselect.c (QPRIMARY): Move to keyboard.c. + + * keyboard.c (Vselect_active_regions): Move from simple.el. + (Vsaved_region_selection, Qx_set_selection, QPRIMARY, Qlazy): New vars. + (command_loop_1): Set window selection prior to deactivating the mark. + +2010-08-07 Juanma Barranquero + + * alloc.c (lisp_malloc): + * buffer.c (set_buffer_internal, set_buffer_internal_1): + * charset.h (emacs_mule_charset): + * dispextern.h (inhibit_free_realized_faces, redraw_frame) + (redraw_garbaged_frames, scroll_cost, update_frame, scrolling) + (bitch_at_user): + * lisp.h (Fcheck_coding_system, Fget_text_property) + (Qfunction, Qcompletion_ignore_case, QCwidth, QCsize): + Remove duplicate declarations. + +2010-08-06 Dan Nicolaescu + + * process.c: Simplify include logic. + + * keyboard.h (quit_char): Add declaration. + * process.h (QCport, QCspeed, QCprocess, QCbytesize, QCstopbits) + (QCparity, Qodd, Qeven, QCflowcontrol, Qhw, Qsw, QCsummary): + Add declarations. + * sysdep.c: + * w32.c: Remove the above declarations. + + Remove extern declarations in .c files, .h files have them. + * xterm.c: + * xdisp.c: + * msdos.c: + * image.c: + * gtkutil.c: + * fileio.c: + * eval.c: Remove declarations. + + * frame.c (frame_params): Make const. + + * lisp.h (fatal_error_signal, emacs_root_dir): Add declaration. + + * emacs.c (emacs_copyright, emacs_version): Make static. + (Vinitial_window_system, Vauto_save_list_file_name) + (Vinhibit_redisplay): Remove declarations. + (main): Remove HAVE_SHM code, unused. Remove _I386 conditional + for AIX. + + Use const for some arrays and functions. + * xterm.h (xg_set_icon_from_xpm_data): + * xfns.c (xg_set_icon_from_xpm_data): + * term.c (fkeys): + * keyboard.c (lispy_accent_keys, lispy_function_keys) + (lispy_multimedia_keys, lispy_kana_keys, iso_lispy_function_keys) + (lispy_drag_n_drop_names, scroll_bar_parts, modify_event_symbol) + (frame.c frame_parms): + * emacs-icon.h (gnu_xpm_bits): + * callint.c (callint_argfuns): Use const. + +2010-08-06 Jan Djärv + + * sysdep.c: Move include term.h last of includes (Bug#6812). + +2010-08-06 Eli Zaretskii + + * dispnew.c (realloc_glyph_pool): Zero out newly allocated glyphs. + + * msdos.c (IT_display_cursor): Log cursor position on termscript. + + * .gdbinit (pgx): Display the avoid_cursor_p flag. + +2010-08-06 Juanma Barranquero + + * makefile.w32-in ($(BLD)/xdisp.$(O)): Update dependencies. + +2010-08-06 Jan Djärv + + * xterm.h (x_get_focus_frame): Declare. + + * keyboard.h (poll_for_input_1): Unconditionally declare. + + * nsterm.h (x_set_menu_bar_lines): Declare. + + * window.c: Don't include menu.h, it depends on lots of other .h-files. + + * xfaces.c (x_create_gc, x_free_gc): Convert to ANSI C prototypes. + + * window.c: Include menu.h. + + * unexmacosx.c (print_region_list, print_regions) + (build_region_list, find_emacs_zone_regions) + (unexec_regions_merge, read_load_commands, dump_it) + (unexec_init_emacs_zone): Convert to ANSI C prototypes. + + * term.c: Check HAVE_SYS_IOCTL_H. + + * sysdep.c: Check HAVE_TERM_H. + + * process.c: Check HAVE_UTIL_H. Include nsterm.h if HAVE_NS. + + * nsterm.m (ns_init_paths, ns_alloc_autorelease_pool) + (ns_ring_bell, ns_defined_color, hide_hourglass) + (x_display_pixel_height, x_display_pixel_width, syms_of_nsterm): + Convert to ANSI C prototypes. + (x_set_window_size, ns_draw_fringe_bitmap, judge): Move declarations + before code. + + * nsterm.h : Include sysselect.h. + (x_sync, x_get_focus_frame, x_set_mouse_position) + (x_set_mouse_pixel_position, x_make_frame_visible) + (x_make_frame_invisible, x_iconify_frame, x_char_width, x_char_height) + (x_pixel_width, x_pixel_height, x_set_frame_alpha, x_set_tool_bar_lines) + (x_activate_menubar, free_frame_menubar, ns_init_paths, ns_select) + (syms_of_nsterm, syms_of_nsfns, syms_of_nsmenu, syms_of_nsselect): + Declare. + + * nsmenu.m (popup_activated, name_is_separator) + (syms_of_nsmenu): Convert to ANSI C prototypes. + (runMenuAt): Prototypes and move declarations before code. + + * nsimage.m (ns_load_image): Move NSTRACE after declarations. + + * nsfont.m (ns_fallback_entity, syms_of_nsfont): Convert to ANSI C + prototypes. + + * nsfns.m (have_menus_p, ns_display_info_for_name) + (x_set_cursor_type, ns_appkit_version_str) + (ns_appkit_version_int, ns_do_applescript) + (x_set_scroll_bar_default_width, x_sync, compute_tip_xy) + (syms_of_nsfns): Convert to ANSI C prototypes. + + * menu.h (x_set_menu_bar_line): Declare. + (free_menubar_widget_value_tree et.al): Add HAVE_NS for these functions. + + * lisp.h (fmod_float): Declare. + + * image.c (xpm_scan, xpm_make_color_table_v) + (xpm_put_color_table_v, xpm_get_color_table_v) + (xpm_make_color_table_h, xpm_put_color_table_h) + (xpm_get_color_table_h, xpm_str_to_color_key, xpm_load_image) + (xpm_load): Convert to ANSI C prototypes. + + * emacs.c: Include nsterm.h if HAVE_NS. + + * bidi.c (bidi_dump_cached_states): Fix fprintf warning. + +2010-08-06 Dan Nicolaescu + + * process.c: Remove HAVE_SOCKETS #ifdefs inside #ifdef + subprocesses, only MSDOS does not define HAVE_SOCKETS. + (socket_options): Use const char* for name. + +2010-08-06 Juanma Barranquero + + Fix changes in 2010-08-05T23:15:24Z!dann@ics.uci.edu..2010-08-05T23:34:12Z!dann@ics.uci.edu for Windows build. + + * xmenu.c [USE_X_TOOLKIT || USE_GTK]: + Don't declare xmalloc_widget_value and digest_single_submenu. + + * w32font.c (Qlatin): Remove declaration. + + * menu.h (xmalloc_widget_value, digest_single_submenu): Declare. + + * dired.c (compile_pattern): Restore declaration. + +2010-08-05 Dan Nicolaescu + + Remove extern declarations in .c files, .h files have them. + * data.c: + * dired.c: + * editfns.c: + * filelock.c: + * fns.c: + * font.c: + * fontset.c: + * frame.c: + * fringe.c: + * ftfont.c: + * gtkutil.c: + * indent.c: + * keyboard.c: + * keymap.c: + * lread.c: + * menu.c: + * print.c: + * search.c: + * sound.c: + * window.c: + * xdisp.c: + * xfaces.c: + * xfns.c: + * xfont.c: + * xftfont.c: + * xmenu.c: + * xterm.c: Remove declarations. + + Cleanup syssignal.h. + * syssignal.h (sighold, sigrelse, RETSIGTYPE): Remove, unused. + (main_thread): Move down to remove #ifdef. + (SIGMASKTYPE, SIGEMPTYMASK, SIGFULLMASK, sigmask, sigunblock): + Remove conditional definition following unconditional ones. + + * lisp.h: Remove HAVE_SHM code, unused. + (QCmap, QCrehash_size, QCrehash_threshold, QCsize, QCtest) + (QCweakness, Qabove_handle, Qbackquote, Qbar, Qbelow_handle) + (Qborder, Qbottom, Qbox, Qcircular_list, Qcomma, Qcomma_at) + (Qcomma_dot, Qcursor, Qdefault, Qdown, Qend_scroll, Qeq, Qeql) + (Qequal, Qfile_exists_p, Qfont_param, Qfringe, Qfunction) + (Qfunction_documentation, Qhandle, Qhbar, Qheader_line, Qhollow) + (Qidentity, Qleft_margin, Qmenu, Qmenu_bar_update_hook) + (Qmode_line_inactive, Qmouse, Qoverriding_local_map) + (Qoverriding_terminal_local_map, Qratio, Qregion, Qright_margin) + (Qscroll_bar, Qtool_bar, Qtop, Qup, Qvertical_border, Qwhen) + (Qwindow_scroll_functions, Vafter_load_alist) + (Vauto_save_list_file_name, Vface_alternative_font_family_alist) + (Vface_alternative_font_registry_alist, Vface_font_rescale_alist) + (Vface_ignored_fonts, Vinhibit_redisplay, Vminibuffer_list) + (Vprint_length, Vprint_level, Vscalable_fonts_allowed) + (Vshell_file_name, Vsystem_name, Vwindow_scroll_functions) + (Vwindow_system_version, Vx_no_window_manager, initial_argc) + (initial_argv, last_nonmenu_event, load_in_progress) + (noninteractive_need_newline, scroll_margin): Add declarations. + + * keyboard.h (xmalloc_widget_value, digest_single_submenu): + Remove declarations, menu.h has them. + (QCbutton, QCtoggle, QCradio, QClabel, extra_keyboard_modifiers) + (Vinput_method_function, Qinput_method_function) + (Qevent_symbol_element_mask, last_event_timestamp): + * dispextern.h (Voverflow_newline_into_fringe): + * font.h (QCantialias, Qp, syms_of_ftfont, syms_of_xfns) + (syms_of_ftxfont, syms_of_xftfont, syms_of_bdffont) + (syms_of_w32font, syms_of_nsfont): + * fontset.h (find_font_encoding, Qlatin): + * frame.h (Qtooltip, Qrun_hook_with_args, Vmenu_bar_mode) + (Vtool_bar_mode, set_frame_menubar): + * ftfont.h (ftfont_font_format, ftfont_get_fc_charset): + * xterm.h (Qx_gtk_map_stock): + * keymap.h (meta_prefix_char): Add declarations. + + * term.c: Remove dead code. + + Fix emacs -Q -f server-start & emacsclient -t on GNU/Linux. + * term.c (dissociate_if_controlling_tty): Use USG5 instead of + USG. This is equivalent to defined (USG) && !defined (BSD_PGRPS), + which is what was there before BSD_PGRPS was removed. + +2010-08-05 Eli Zaretskii + + * deps.mk (unexcoff.o): Rename unexec.[co] => unexcoff.[co]. + + * unexcoff.c: Renamed from unexec.c. + +2010-08-04 Stefan Monnier + + * sysdep.c (child_setup_tty): Comment-out left-over non-ICANON code. + +2010-08-03 Johan Bockgård + + * data.c (Flocal_variable_p): Handle variable aliases correctly. + (Bug#6744) + +2010-08-02 Jan Djärv + + * xterm.c (x_create_toolkit_scroll_bar): Only set XtNbeNiceToColormap + to TRUE if depth of screen is < 16. + + * gtkutil.c (hierarchy_ch_cb, qttip_cb): Do not define unless + USE_GTK_TOOLTIP. + (xg_prepare_tooltip): Return 0 unless USE_GTK_TOOLTIP. + (xg_show_tooltip, xg_hide_tooltip): Do nothing unless USE_GTK_TOOLTIP. + (xg_create_frame_widgets): Surround tooltip-related code with ifdef + USE_GTK_TOOLTIP. + (xg_free_frame_widgets): Don't delete ttip_* unless USE_GTK_TOOLTIP. + + * xterm.h (USE_GTK_TOOLTIP): New define. + (struct x_output): Put ttip_* inside ifdef USE_GTK_TOOLTIP. + + * sysdep.c (child_setup_tty): Enable ICANON in lflags and set VEOF + to Control-D (Bug#6771). + +2010-08-02 Juanma Barranquero + + * editfns.c (Fregion_beginning, Fregion_end): Doc fixes (bug#6493). + Wording by Drew Adams . + +2010-08-01 Jan Djärv + + * xterm.h (struct x_output): Add ttip_widget, ttip_window and + ttip_lbl. + + * xterm.c (x_clear_frame): Check FRAME_GTK_WIDGET (f) before + calling gtk_widget_queue_draw. + (x_free_frame_resources): Call xg_free_frame_widgets. + + * xfns.c (x_gtk_use_system_tooltips): New variable. + (Fx_show_tip): If USE_GTK and x_gtk_use_system_tooltips, call + new gtkutil tooltip functions to show the tooltip. + (Fx_hide_tip): Call xg_hide_tooltip. + (syms_of_xfns): Defvar x-gtk-use-system-tooltips. + + * gtkutil.h (xg_free_frame_widgets, xg_prepare_tooltip) + (xg_show_tooltip, xg_hide_tooltip): Declare. + + * gtkutil.c (hierarchy_ch_cb, qttip_cb, xg_prepare_tooltip) + (xg_show_tooltip, xg_hide_tooltip, xg_free_frame_widgets): + New functions. + (xg_create_frame_widgets): Set ttip_* to 0. Set a dummy tooltip + text so qttip_cb is called. Connect query-tooltip to qttip_cb. + Remove code that is commented out. + +2010-08-01 Stefan Monnier + + * keymap.c (Fdefine_key, Flookup_key): Say what event is invalid. + +2010-07-31 Chong Yidong + + * xselect.c (x_own_selection): Use list4. + +2010-07-30 Dan Nicolaescu + + * buffer.c (Qwindow): Do not define, already defined in data.c. + (syms_of_buffer): Do not intern and staticpro Qwindow. (Bug#6760) + +2010-07-29 Chad Brown + + Replace tests for SYSV_SYSTEM_DIR with HAVE_DIRENT_H, set via autoconf. + * dired.c, sysdep.c: Test HAVE_DIRENT_H instead of SYSV_SYSTEM_DIR. + * config.in: Undef HAVE_DIRENT_H. + * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/gnu-linux.h, + * s/msdos.h, s/usg5-4.h: Don't define SYSV_SYSTEM_DIR. + +2010-07-29 Dan Nicolaescu + + Rename s/usg5-4.h -> s/usg5-4-common.h. + * s/usg5-4.h: Rename file to ... + * s/usg5-4-common.h: ... this for consistency with what we do for BSD. + * s/unixware.h: + * s/sol2-6.h: + * s/irix6-5.h: Update includes accordingly. + +2010-07-29 Jan Djärv + + * xfns.c (x_set_tool_bar_position): Remove debug fprintf. + + * xterm.h (struct x_output): Add toolbar_top_height, + toolbar_bottom_height, toolbar_left_width, toolbar_right_width. + Remove toolbar_height. + If USE_GTK: Add hbox_widget and toolbar_in_hbox. + (FRAME_TOOLBAR_TOP_HEIGHT, FRAME_TOOLBAR_BOTTOM_HEIGHT) + (FRAME_TOOLBAR_LEFT_WIDTH, FRAME_TOOLBAR_RIGHT_WIDTH): New macros. + (FRAME_TOOLBAR_HEIGHT): Is now TOP_HEIGHT + BOTTOM_HEIGHT. + + * xterm.c (x_set_window_size_1): Add FRAME_TOOLBAR_WIDTH to pixelwidth. + + * xfns.c (x_set_tool_bar_position): New function. + (xic_set_statusarea): Use FRAME_TOOLBAR_TOP_HEIGHT. + (x_frame_parm_handlers): Add x_set_tool_bar_position. + (syms_of_xfns): If USE_GTK, provide move-toolbar. + + * window.c (calc_absolute_offset): Check for FRAME_TOOLBAR_TOP_HEIGHT + and FRAME_TOOLBAR_LEFT_WIDTH. + + * gtkutil.h (xg_change_toolbar_position): Declare. + + * gtkutil.c (FRAME_TOTAL_PIXEL_WIDTH): New macro. + (xg_frame_set_char_size): Add FRAME_TOOLBAR_WIDTH to pixelwidth. + (xg_height_or_width_changed): Use FRAME_TOTAL_PIXEL_WIDTH. + (xg_create_frame_widgets): Create a hobox for placing widgets + vertically. Use gtk_box_pack_start. + (xg_height_or_width_changed): Rename from xg_height_changed. + (x_wm_set_size_hint): Add FRAME_TOOLBAR_WIDTH to base_width. + (xg_update_frame_menubar, free_frame_menubar): Change to + xg_height_or_width_changed. + (xg_tool_bar_detach_callback): Update left/right/top/bottom tool bar + size correctly. Remove hardcoded 4, instead use handlebox size - + toolbar size. + (xg_tool_bar_attach_callback): Update left/right/top/bottom tool bar + size correctly. Use handlebox size + toolbar size as additional size. + (xg_pack_tool_bar): POS is a new parameter. + Set orientation of tool bar based on pos. + Only make handlebox_widget if NULL. + Check if tool bar goes to vbox or hbox depending on pos. + (xg_update_tool_bar_sizes): New function. + (update_frame_tool_bar): Remove old_req, new_req. Do not get tool bar + height, call xg_update_tool_bar_sizes instead. + (free_frame_tool_bar): Remove from hbox or vbox depending on + toolbar_in_hbox, Set all FRAME_TOOLBAR_*_(WIDTH|HEIGHT) to zero. + (xg_change_toolbar_position): New function. + + * frame.h (struct frame): Add tool_bar_position. + (Qbottom): Declare. + + * frame.c (Qtool_bar_position): New variable. + (make_frame): Set tool_bar_position to Qtop. + (frame_parms): Add tool-bar-position. + (x_report_frame_params): Store tool_bar_position. + (x_set_fringe_width): Reset wm size hint after fringe changes. + +2010-07-29 Dan Nicolaescu + + Make lisp_time_argument declaration work on all systems. + * lisp.h (lisp_time_argument): Move declaration ... + * systime.h (lisp_time_argument): ... here + * editfns.c (lisp_time_argument): Remove declaration. (Bug#6751) + +2010-07-29 Jan Djärv + + * vm-limit.c (POINTER): Add typedef for it. + (start_of_data): Change return type from POINTER to char *. + + * frame.h (Qtty_color_mode): Move declaration out of ifdef + HAVE_WINDOW_SYSTEM. + +2010-07-29 Dan Nicolaescu + + * vm-limit.c: Do not include sys/resource.h, mem-limits.h does it. + Remove reference to __osf__, unused. + + * mem-limits.h: Remove duplicated includes. + (NULL): Remove definition, unused. + (POINTER): Remove definition. + (start_of_data): Use char* in prototype, as the function + definition does. + + Remove extern declarations from .c files, and them to .h files. + * keyboard.h (Qhelp_echo, waiting_for_input) + (input_available_clear_time, ignore_mouse_drag_p) + (Vdouble_click_time, real_this_command, Vthis_original_command): + * keymap.h (Qremap, Qmenu_item, Voverriding_local_map) + (Voverriding_local_map_menu_flag): + * lisp.h (Qinteractive_form, use_file_dialog) + (Qcursor_in_echo_area, QCascent, QCmargin, QCrelief, Qcount) + (Qextension_data, QCconversion, QCcolor_symbols, QCheuristic_mask) + (QCindex, QCmatrix, QCcolor_adjustment, QCmask) + (Qrisky_local_variable, map_char_table_for_charset, Vprint_level) + (Qfunction, debug_on_next_call, Qfield) + (Vinhibit_field_text_motion, Vuser_login_name, lisp_time_argument) + (Qpriority, Qwindow, Qevaporate, Qbefore_string, Qafter_string) + (Qfile_directory_p, Qinsert_file_contents) + (Qcompletion_ignore_case, Qcompletion_ignore_case) + (Vcompletion_regexp_list, Vhistory_length, completion_ignore_case) + (history_delete_duplicates, minibuffer_auto_raise, Qonly) + (Qfile_name_handler_alist, Qfront_sticky, Qrear_nonsticky) + (Qminibuffer_prompt) + (Vtemporary_file_directory,char_ins_del_vector, Qface): + * xterm.h (gray_bitmap_width, gray_bitmap_height) + (gray_bitmap_bits, xic_create_fontsetname): + * coding.h (Vtranslation_table_for_input): Add extern declarations. + + * xsmfns.c (Vuser_login_name): + * xrdb.c (Vdouble_click_time): + * xfaces.c (xic_create_fontsetname): + * w32select.c (waiting_for_input): + * print.c (minibuffer_auto_raise): + * msdos.c (Qhelp_echo): + * macros.c (real_this_command): + * keymap.c (Voverriding_local_map): + * xterm.c (poll_for_input_1, gray_bitmap_width) + (gray_bitmap_height, gray_bitmap_bits; + * xmenu.c ( Voverriding_local_map) + (Voverriding_local_map_menu_flag; Qmenu_item; use_dialog_box) + (use_file_dialog, Xt_app_con): + * xdisp.c (minibuffer_auto_raise, Voverriding_local_map) + (Voverriding_local_map_menu_flag, Qmenu_item, Qface, Qinvisible) + (Qwidth, Qinvisible, Qwindow, Qpriority, Qtool_bar_lines) + (Qtool_bar_lines, ignore_mouse_drag_p): + * minibuf.c (Voverriding_local_map, Qfield, Qfront_sticky) + (Qrear_nonsticky, nconc2): + * keyboard.c (current_global_map, minibuf_level, Qmenu_item) + (Vhistory_length, Vtranslation_table_for_input, Qcomposition) + (Qdisplay, Qafter_string, Qbefore_string, Qundefined): + * fileio.c (use_dialog_box, use_file_dialog, Vuser_login_name) + (minibuf_level, minibuffer_auto_raise, lisp_time_argument): + * eval.c (Qinteractive_form, Qrisky_local_variable, Qfunction) + (gc_in_progress): + * doc.c (Voverriding_local_map, Qremap): + * dired.c (completion_ignore_case, Qcompletion_ignore_case) + (Vcompletion_regexp_list): + * coding.c (Qmac, Qinsert_file_contents, Qwrite_region) + (Qcompletion_ignore_case): + * callint.c (Qcursor_in_echo_area, Qfile_directory_p, Qonly) + (Vhistory_length, Vthis_original_command, real_this_command) + (Qface, Qminibuffer_prompt, history_delete_duplicates): + * image.c (Qrisky_local_variable): + * fontset.c (QCname): + * fns.c (minibuffer_auto_raise, QCname): + * dispnew.c (char_ins_del_cost): + * composite.c (font_fill_lglyph_metrics): + * cmds.c (Qface, Vtranslation_table_for_input): + * charset.c (map_char_table_for_charset, Qfile_name_handler_alist): + * ccl.c (charset_unicode): + * callproc.c (Vtemporary_file_directory): + * buffer.c (emacs_strerror): Remove extern declarations. + + * data.c (Qwindow): Make non-static, used from other files too. + * frame.c (validate_x_resource_name): Remove shadow definition for i. + + * unexec.c (make_hdr): Remove references to NO_REMAP, COFF, + SEGMENT_MASK, SECTION_ALIGNMENT, ADJUST_EXEC_HEADER. + * s/usg5-4.h (COFF): + * s/template.h: + * s/msdos.h (COFF, NO_REMAP): + * s/ms-w32.h (NO_REMAP): + * s/hpux10-20.h (NO_REMAP): + * m/sparc.h (SEGMENT_MASK): + * m/m68k.h (NO_REMAP): + * m/intel386.h (SEGMENT_MASK): + * m/arm.h (NO_REMAP): + * m/alpha.h (COFF): + * m/template.h: Remove references to unused defines. + +2010-07-28 Jan Djärv + + * xsettings.c (Ftool_bar_get_system_style): Also check for + Qtext_image_horiz. + + * xdisp.c (Qtext_image_horiz): Define. + (syms_of_xdisp): Initialize Qtext_image_horiz. Add text-image-horiz + to documentation of tool-bar-style. + + * lisp.h (Qtext_image_horiz): Declare. + + * gtkutil.c (xg_make_tool_item, xg_show_toolbar_item): Handle tool bar + style text_image_horiz. + +2010-07-27 Dan Nicolaescu + + * emacs.c (Fkill_emacs): Remove return statement. + + * term.c (Qspace, QCalign_to, QCwidth): Remove declarations. + (encode_terminal_code, produce_composite_glyph): Remove unused variables. + (set_tty_color_mode, term_mouse_highlight, term_get_fkeys): + Remove local extern declarations. + + * xmenu.c: Do not included lwlib.h, not needed. + + * m/iris4d.h (XUINT, XSET): Remove, not needed. + + * process.c: Move definitions earlier to minimize #ifdefs. + + * xterm.h (x_get_customization_string, x_load_resources) + (x_get_resource, x_text_icon, x_text_icon, x_check_errors) + (x_check_errors, x_property_data_to_lisp, defined_color) + (xic_set_xfontset, x_defined_color): Use const. + + * xterm.c (xlwmenu_window_p, xlwmenu_redisplay): Remove declarations. + (x_text_icon, x_check_errors, x_connection_closed): Use const. + + * xselect.c (selection_data_to_lisp_data) + (x_property_data_to_lisp): + * xrdb.c (x_get_string_resource, file_p) + (x_get_customization_string, magic_file_p, search_magic_path) + (get_system_app, get_user_app, x_load_resources, x_get_resource) + (x_get_string_resource): Use const. + + * xfns.c: Include xlwmenu.h when USE_LUCID. + (x_defined_color, xic_set_xfontset): Use const. + (Fx_hide_tip): Remove local extern declaration. + + * xfaces.c (Qmouse_face): Remove declaration. + (face_color_gray_p, tty_defined_color, defined_color) + (face_color_gray_p, face_color_supported_p): Add const. + + * xdisp.c (do_mouse_tracking): Remove declaration. + (add_to_log): Use const. + + * minibuf.c (Qmouse_face): Remove declaration. + + * msdos.c (IT_note_mouse_highlight): Remove local extern declaration. + + * keyboard.h (do_mouse_tracking): Add declaration. + + * image.c (QCwidth, QCheight, QCforeground, QCbackground, QCfile) + (QCdata, QCtype, Qcenter): Remove declarations. + + * frame.c (x_get_resource_string, x_get_string_resource) + (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg) + (x_default_parameter): Use const. + + * font.c (Qnormal, QCtype, QCfamily, QCweight, QCslant, QCwidth) + (QCheight, QCsize, QCname): Remove declarations. + + * emacs.c (main): Remove local extern declaration. + + * editfns.c (region_limit, syms_of_editfns): Remove local extern + declarations. + + * dispnew.c: Remove duplicate #include . + (update_window, update_frame_1, init_display): Remove local extern + declarations. + + * dispextern.h (add_to_log): Remove declaration. + (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg) + (x_frame_get_and_record_arg, x_default_parameter): Add const. + + * dired.c (scmp): Add const. + (directory_files_internal): Remove local extern declaration. + + * data.c (Finteractive_form): Use const. + + * composite.c (syms_of_composite): Remove local extern declarations. + + * charset.c (add_to_log): Remove declaration. + + * character.c (strwidth, parse_str_to_multibyte): Add const. + + * character.h (strwidth, parse_str_to_multibyte): Likewise. + + * buffer.c (Fset_buffer_multibyte): Remove local extern declaration. + + * lisp.h (Fkill_emacs): Mark as NO_RETURN. + (Lisp_Subr): Make doc and intspec constant. + (QCsize, Qspace, Qcenter, QCalign_to, QCdata, QCfile, QCtype) + (Qlocal, Qapply, Qnormal, QCfamily, QCweight, QCslant, QCwidth) + (QCheight, QCsize, QCname, QCwidth, QCforeground) + (QCbackground, add_to_log, stack_base, Vmark_even_if_inactive) + (display_arg): Add declarations. + +2010-07-27 Christoph Scholtes + + * minibuf.c (Fread_buffer): Doc fix (bug#6528). + + * window.c (Fwindow_height): Doc fix (bug#6518). + +2010-07-27 Juanma Barranquero + + * buffer.c (syms_of_buffer) : Doc fix. + +2010-07-26 Dan Nicolaescu + + * keyboard.c (Ftop_level, Fexit_recursive_edit) + (Fabort_recursive_edit): Remove return statements in NO_RETURN + functions. + + * frame.h (Qtty_color_mode): Add declaration. + + * lisp.h (Ftop_level, Fexit_recursive_edit) + (Fabort_recursive_edit): Mark as NO_RETURN. + +2010-07-26 Kenichi Handa + + * font.c (Ffont_shape_gstring): Terminate GSTRING by nil if the + number of glyphs gets smaller than the original length. (Bug#6621) + +2010-07-26 Juanma Barranquero + + * lread.c (unreadpure, mapatoms_1): Make static. + +2010-07-25 Juanma Barranquero + + * terminfo.c (tparam): Fix prototype of tparm. + +2010-07-25 Andreas Schwab + + * emacs.c (main) [PROFILING]: Use __executable_start if defined to + find start of text segment. + * dispnew.c (safe_bcopy): Don't define if HAVE___EXECUTABLE_START + is defined. + + * callproc.c (set_initial_environment): Avoid unbalanced braces. + +2010-07-25 Ken Brown + + * vm-limit.c (check_memory_limits): Fix previous change; + accidentally reverted an earlier change. + +2010-07-25 Ken Brown + + * mem-limits.h (BSD4_2) [cygwin]: Don't define here; instead... + * vm-limit.c: ...add 'defined (CYGWIN)' here (Bug#6715). + +2010-07-25 Juanma Barranquero + + * callproc.c (relocate_fd): Set inside #ifndef WINDOWSNT. + * dired.c (opendir, readdir): Fix prototypes. + * editfns.c (w32_get_internal_run_time): Fix prototypes. + * keyboard.c (input_available_signal): Declare inside #ifdef SIGIO. + * ndir.h (opendir, readdir, seekdir, closedir): Fix prototypes. + (telldir): Remove declaration. + * ralloc.c (real_morecore, __morecore): Fix prototypes. + * sound.c (alsa_sound_perror): Declare inside #ifdef HAVE_ALSA. + * syssignal.h (strsignal): Fix prototype. + * term.c (tparam): Fix prototype. + (term_get_fkeys_address, term_get_fkeys_kboard, term_get_fkeys_1) + (term_get_fkeys): Set inside "#ifndef DOS_NT". + * vm-limit.c (check_memory_limits): Fix prototypes of real_morecore + and __morecore. + * w32gui.h (XParseGeometry): Fix prototype. + * w32heap.h (get_data_start, get_data_end, init_heap): Fix prototypes. + * w32term.c (my_set_focus): Declare inside #if 0. + * w32term.h (x_window_to_frame, x_display_info_for_name, w32_term_init) + (w32_fill_rect, w32_clear_window, init_crit, delete_crit, signal_quit) + (drain_message_queue, get_next_msg, post_msg, parse_button) + (ClipboardSequence_Proc): Fix prototypes. + (wait_for_sync): Remove declaration. + +2010-07-24 Juanma Barranquero + + * w32fns.c (w32_to_x_color): Remove, unused. + +2010-07-24 Andreas Schwab + + * lisp.h: Remove leftover P_. + +2010-07-24 Dan Nicolaescu + + * ecrt0.c, unexalpha.c: Remove files, unused. + +2010-07-24 Andreas Schwab + + * cmds.c (internal_self_insert): Make static. + * lisp.h (internal_self_insert): Remove declaration. + +2010-07-23 Juanma Barranquero + + * alloc.c (free_float): + * font.c [ENABLE_CHECKING] (font_match_xlfd, font_check_xlfd_parse): + * frame.c (delete_frame_handler): + * ralloc.c (reorder_bloc): + * w32menu.c (menubar_id_to_frame, add_left_right_boundary): + Remove unused static functions. + + * menu.c (cleanup_popup_menu): Set inside "#ifdef HAVE_NS"; + it is called only from NS code. + + * w32term.c (my_set_focus): #ifdef away; it is called only from + "#ifdef 0" code. + + * w32fns.c (x_edge_detection): + * xfaces.c (may_use_scalable_font_p): + Remove obsolete static declarations. + +2010-07-20 Juanma Barranquero + + * alloc.c (emacs_blocked_free, emacs_blocked_malloc) + (emacs_blocked_realloc, uninterrupt_malloc): + * fringe.c (w32_reset_fringes): + * image.c (convert_mono_to_color_image, lookup_rgb_color) + (init_color_table, XPutPixel, jpeg_resync_to_restart_wrapper): + * sound.c (be2hs, do_play_sound): + * vm-limit.c (get_lim_data, ret_lim_data): + * w32term.c (x_free_frame_resources): + * xfaces.c (x_create_gc, x_free_gc): + Convert definitions to standard C. + +2010-07-20 Stefan Monnier + + * eval.c (Feval, Ffuncall): Use the new names. + + * lisp.h (struct Lisp_Subr): Rename `am' to aMANY and add aUNEVALLED. + (DEFUN): Add braces around the union initialisation and use ## to + specify the right union alternative and avoid a cast. + +2010-07-18 Juanma Barranquero + + * makefile.w32-in ($(BLD)/keyboard.$(O)): Update dependencies. + +2010-07-17 Chong Yidong + + * frame.c (make_initial_frame): Use set_menu_bar_lines (Bug#6660). + +2010-07-17 Jan Djärv + + * gtkutil.c (xg_event_is_for_menubar): Also check that event window + is related to the menu bar (Bug#6499). + (xg_frame_resized): GTK_IS_MAPPED => gtk_widget_get_mapped, for Gtk 3.0. + +2010-07-16 Jan Djärv + + * xterm.h (x_menubar_window_to_frame): Second parameter is XEvent*. + + * xterm.c (handle_one_xevent): Pass event to x_menubar_window_to_frame. + + * xmenu.c (x_activate_menubar): Revert previous fix for Bug#6499, + i.e. don't put back ButtonRelease (Bug#6608). + + * xfns.c (x_menubar_window_to_frame): Take XEvent as second parameter + instead of Window. Call xg_event_is_for_menubar when + USE_GTK (Bug#6499). + + * gtkutil.h (xg_event_is_for_menubar): Declare. + + * gtkutil.c (xg_event_is_for_menubar): New function (Bug#6499). + +2010-07-16 Eli Zaretskii + + * w32fns.c (x_set_foreground_color): Fix setting the cursor color + when it's the same as the old foreground. (Bug#6609) + +2010-07-16 Jan Djärv + + * xmenu.c (free_frame_menubar): Only call x_set_window_size if + widget is non-null (Bug#6645). + +2010-07-15 Andreas Schwab + + * xterm.c (x_fully_uncatch_errors, x_trace_wire, x_check_font): + Convert old-style definition. + + * xmenu.c (create_and_show_popup_menu, xmenu_show): Fix type of + timestamp argument. + +2010-07-15 Eli Zaretskii + + * fringe.c (update_window_fringes): Restore mistakenly reverted + code from 2010-04-17T12:33:05Z!eliz@gnu.org merged in 2010-04-20T13:31:28Z!eliz@gnu.org. + +2010-07-14 Jan Djärv + + * xterm.c (xm_scroll_callback, x_process_timeouts): K&R => prototype. + (SET_SAVED_KEY_EVENT): Remove (not used). + (SET_SAVED_MENU_EVENT): Rename to SET_SAVED_BUTTON_EVENT and + remove size parameter. + (handle_one_xevent): Check popup_activated () for menu for Xt also. + Remove #ifdef USE_GTK around finish = X_EVENT_DROP. + Remove #ifdef USE_MOTIF code that did SET_SAVED_BUTTON_EVENT for + ButtonRelease. + (x_set_window_size_1): scroll_bar_actual_width is always + SCROLL_BAR_COLS * COLUMN_WIDTH for the purpose of frame sizing. + + * xdisp.c (pending_menu_activation): Remove extern declaration. + (prepare_menu_bars): Remove setting of pending_menu_activation. + + * xmenu.c (pending_menu_activation): Remove. + (x_activate_menubar): Set popup_activated_flag for Xt also. + Remove setting of pending_menu_activation. + (set_frame_menubar): Remove check of pending_menu_activation. + Declare menubar_size before code. Correct spelling in comment. + +2010-07-14 Kenichi Handa + + * font.c (font_open_entity): Cancel previous change. + (Ffont_get): Don't check FONT_ENTITY_INDEX of a font-object. + +2010-07-13 Eli Zaretskii + + Remove subprocesses #ifdefs. + * process.c : Move to the common part. + (Fwaiting_for_user_input_p): Move to the common part; return nil + if async subprocesses aren't supported. + * sysdep.c (wait_for_termination) [!MSDOS]: Don't compile on + MS-DOS. Remove "#ifdef subprocesses". + (sys_subshell, sys_select): Remove "#ifdef subprocesses". + (gettimeofday): Remove "#ifdef subprocesses". + (wait_without_blocking): Remove function. + (flush_pending_output, child_setup_tty): Don't compile on MS-DOS. + Remove "#ifdef subprocesses". + (child_setup_tty): Use WINDOWSNT instead of DOS_NT, since not + compiled on MS-DOS. + * callproc.c (Fcall_process) [!MSDOS]: Don't call + wait_for_termination on MS-DOS. + * emacs.c (shut_down_emacs): Remove "#ifndef subprocesses" from + initialization of inhibit_sentinels. + * keyboard.c (record_asynch_buffer_change): Remove "#ifdef + subprocesses" conditional. + * callproc.c (Fcall_process) [!subprocesses]: Don't call + wait_for_termination, since `buffer' cannot be an integer when + async subprocesses are not supported + * xdisp.c (decode_mode_spec): Use `MSDOS' instead of `subprocesses' + for ifdefing away the call to Fprocess_status. + + * process.c (add_keyboard_wait_descriptor) [!subprocesses]: Ifdef + away the entire body of the function. + +2010-07-13 Dan Nicolaescu + + Remove subprocesses #ifdefs from term.c. + * process.c (add_keyboard_wait_descriptor) + (delete_keyboard_wait_descriptor): Move to common section, do + nothing when subprocesses is not defined. + * term.c (Fsuspend_tty, Fresume_tty, init_tty): + Remove subprocesses #ifdefs. + + Convert maybe_fatal to standard C. + * lisp.h (verror): Declare. + * eval.c (verror): New function containing the code from ... + (error): ... this. Call verror. + * term.c (vfatal): New function containing the code from ... + (fatal): ... this. Call vfatal. + (maybe_fatal): Convert to standard C, use variable number of + arguments. Declare as non-return. + (init_tty): Fix maybe_fatal call. + +2010-07-12 Dan Nicolaescu + + * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose) + (_scroll_bar_note_movement): Convert definitions to standard C. + * xmenu.c (menu_help_callback, pop_down_menu, xmenu_show): + * xfns.c (hack_wm_protocols, x_window, x_window): Likewise. + +2010-07-12 Dan Nicolaescu + + * xterm.c (x_frame_of_widget, x_alloc_nearest_color_for_widget) + (x_alloc_lighter_color_for_widget, cvt_string_to_pixel) + (cvt_pixel_dtor, x_window_to_menu_bar, xt_action_hook) + (xaw_jump_callback, xaw_scroll_callback) + (x_create_toolkit_scroll_bar, x_set_toolkit_scroll_bar_thumb) + (x_wm_set_size_hint, x_activate_timeout_atimer): + Convert definitions to standard C. + * xmenu.c (menubar_id_to_frame, popup_get_selection) + (popup_activate_callback, popup_deactivate_callback) + (menu_highlight_callback, menubar_selection_callback) + (apply_systemfont_to_dialog, apply_systemfont_to_menu) + (free_frame_menubar, popup_selection_callback, as) + (create_and_show_popup_menu, dialog_selection_callback) + (create_and_show_dialog): + * xfns.c (hack_wm_protocols, x_window): + * xfaces.c (x_update_menu_appearance): + * widget.c (get_default_char_pixel_size, pixel_to_char_size) + (char_to_pixel_size, round_size_to_char, get_wm_shell) + (set_frame_size, update_wm_hints, setup_frame_gcs) + (update_various_frame_slots, update_from_various_frame_slots) + (EmacsFrameInitialize, EmacsFrameRealize, EmacsFrameResize) + (EmacsFrameSetValues, EmacsFrameQueryGeometry) + (EmacsFrameSetCharSize, widget_store_internal_border): Likewise. + +2010-07-12 Andreas Schwab + + * dbusbind.c (xd_initialize): Don't compare boolean with a constant. + +2010-07-12 Eli Zaretskii + + * process.c (setup_process_coding_systems): Move to the part + shared by non-subprocesses systems, and make its body empty when + subprocesses is not defined. + (close_process_descs): Move to the part shared by non-subprocesses + systems. + (wait_reading_process_output) [!subprocesses]: Convert arg list to + ANSI C. + +2010-07-12 Andreas Schwab + + * editfns.c (transpose_markers): Convert old-style definition. + * emacs.c (abort, shut_down_emacs, fixup_locale) + (synchronize_system_time_locale) + (synchronize_system_messages_locale, syms_of_emacs): Likewise. + * floatfns.c (extract_float, matherr, init_floatfns) + (syms_of_floatfns): Likewise. + * fns.c (make_hash_table): Likewise. + * ftfont.c (ftfont_get_otf, ftfont_otf_features) + (ftfont_otf_capability, ftfont_get_glyph_id, ftfont_get_metrics) + (ftfont_drive_otf, ftfont_shape_by_flt, ftfont_shape) + (ftfont_variation_glyphs): Likewise. + * gtkutil.c (xg_create_widget, xg_modify_menubar_widgets): Likewise. + * keymap.c (describe_map_tree, describe_map, describe_vector): Likewise. + * lread.c (read_filtered_event): Likewise. + * minibuf.c (read_minibuf_noninteractive, read_minibuf): Likewise. + * process.c (wait_reading_process_output): Likewise. + * scroll.c (do_line_insertion_deletion_costs): Likewise. + * search.c (search_buffer, boyer_moore): Likewise. + * syntax.c (scan_sexps_forward): Likewise. + * xdisp.c (try_scrolling): Likewise. + * xfaces.c (face_at_buffer_position, face_for_overlay_string) + (face_at_string_position): Likewise. + * xfns.c (x_default_scroll_bar_color_parameter): Likewise. + * xselect.c (x_get_window_property, receive_incremental_selection) + (x_get_window_property_as_lisp_data, lisp_data_to_selection_data): + Likewise. + * xterm.c (x_draw_relief_rect, x_draw_box_rect): Likewise. + +2010-07-12 Dan Nicolaescu + + * callproc.c (child_setup): Remove subprocesses conditional. + Remove code dealing with SET_EMACS_PRIORITY, unused. + + * buffer.c (Fset_buffer_multibyte): Remove subprocesses conditional. + * process.c (close_process_descs): Use DOS_NT instead of WINDOWSNT. + + * emacs.c (__do_global_ctors, __do_global_ctors_aux) + (__do_global_dtors, __main): Use void in definition. + (main): Remove code dealing with SET_EMACS_PRIORITY, unused. + Remove SYMS_MACHINE code, unused. Remove SYMS_SYSTEM, inline + the only users from ... + * s/ms-w32.h (SYMS_SYSTEM): ... here and ... + * s/msdos.h (SYMS_SYSTEM): ... here. Remove. + (HAVE_VOLATILE): Remove, unused. + + Convert more function definitions to standard C. + * xdisp.c (window_box_edges, handle_single_display_spec) + (display_string): Convert definition to standard C. + * scroll.c (do_direct_scrolling, scrolling_1): + * dispnew.c (allocate_matrices_for_frame_redisplay) + (mirrored_line_dance): + * coding.c (code_convert_string): + * charset.c (map_charset_chars): + * ccl.c (Fccl_program_p, Fccl_execute, Fccl_execute_on_string) + (Fregister_ccl_program, Fregister_code_conversion_map): + * keyboard.c (kbd_buffer_nr_stored): Likewise. + (head_table): Make static and const. + +2010-07-12 Andreas Schwab + + * Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS) + (PROFILING_LDFLAGS): Set from substitution. + (ALL_CFLAGS): Add C_WARNINGS_SWITCH and PROFILING_CFLAGS, put + CFLAGS last. + +2010-07-12 Kenichi Handa + + * Makefile.in (lisp): Change hebrew.el to hebrew.elc. + (shortlisp): Likewise. + + * font.h (enum font_property_index): New member FONT_ENTITY_INDEX. + + * font.c (font_open_entity): Record ENTITY in FONT_OBJECT's slot + of FONT_ENTITY_INDEX. + (Ffont_get): If KEY is :otf and the font-object doesn't have the + property, get the property value dynamically. + (Ffont_put): Accept font-entity and font-object too. + (Ffont_get_glyhphs): Rename from Fget_font_glyphs. Arguments and + return value changed. + (syms_of_font): Adjust for the above change. + +2010-07-11 Andreas Schwab + + * blockinput.h: Remove obsolete comment. + + * lisp.h: Include . + (OFFSETOF): Don't define. + (VECSIZE): Use offsetof instead of OFFSETOF. + (PSEUDOVECSIZE): Likewise. + * process.c (conv_sockaddr_to_lisp): Likewise. + * alloc.c: Don't include . + * buffer.h (PER_BUFFER_VAR_OFFSET): Use offsetof. + + * process.c: Remove obsolete comment. + +2010-07-11 Chong Yidong + + * xfaces.c (Vface_remapping_alist): Doc fix (Bug#6091). + +2010-07-11 Andreas Schwab + + * callint.c (Fcall_interactively): Use strchr, strrchr instead of + index, rindex. + * doc.c (get_doc_string, Fsnarf_documentation): Likewise. + * editfns.c (Fuser_full_name, Fformat): Likewise. + * emacs.c (argmatch, sort_args, decode_env_path): Likewise. + * fileio.c (Ffile_symlink_p): Likewise. + * filelock.c (current_lock_owner): Likewise. + * font.c (font_parse_name, font_parse_family_registry): Likewise. + * fontset.c (fontset_pattern_regexp): Likewise. + * lread.c (read1): Likewise. + * sysdep.c (init_system_name): Likewise. + * xfns.c (select_visual): Likewise. + * s/hpux10-20.h (index, rindex): Don't define. + * s/ms-w32.h (index): Likewise. + * s/usg5-4.h: Likewise. + + * callproc.c (relocate_fd): Use F_DUPFD if defined. + + * alloc.c (pending_malloc_warning, malloc_warning): Add const. + * callproc.c (relocate_fd, getenv_internal_1, getenv_internal) + (egetenv): Likewise. + * doprnt.c (doprnt): Likewise. + * editfns.c (set_time_zone_rule, format2): Likewise. + * emacs.c (decode_env_path): Likewise. + * eval.c (signal_error, error): Likewise. + * insdel.c (replace_range_2): Likewise. + * keyboard.c (cmd_error_internal): Likewise. + * lread.c (isfloat_string, make_symbol, dir_warning): Likewise. + * print.c (write_string, write_string_1, print_error_message): + Likewise. + * vm-limit.c (warn_function, memory_warnings): Likewise. + * xdisp.c (message1, message1_nolog, message_with_string) + (vmessage, message, message_nolog): Likewise. + * emacs.c: Remove duplicate declaration. + * keyboard.h: Likewise. + * lisp.h: Update prototypes. + + * eval.c: Fix indentation problem. + + * keyboard.c: Include "process.h". + + * eval.c: Remove obsolete noinline declaration. + * fns.c: Likewise. + +2010-07-11 Ken Raeburn + + * doprnt.c (doprnt): Take a va_list argument instead of count and + pointer. + * eval.c (error): Change to a standard-C variadic function. + * xdisp.c (vmessage): Rename from message, made static, and + changed to take a va_list argument. + (message): New variadic wrapper. + (message_nolog): Now a variadic function, calling vmessage. + * lisp.h: Include stdarg.h for va_list. + (doprnt, error, message, message_nolog): Decls updated. + +2010-07-11 Eli Zaretskii + + * process.c (syms_of_process) : Define + even if !subprocesses. + (delete_exited_processes): Ditto. + + * msdos.c (syms_of_msdos) : Remove DEFVAR. + (delete_exited_processes): Don't define. + +2010-07-10 Chong Yidong + + * frame.c (make_frame): Initialize menu_bar_lines and + tool_bar_lines members. + (make_initial_frame, make_terminal_frame): + Initialize menu_bar_lines using value of menu-bar-mode. + + * msdos.c (IT_set_frame_parameters): Don't set menu-bar-lines. + +2010-07-10 Eli Zaretskii + + * process.c: Reshuffle #include's. Condition some of the global + and static variables on `subprocesses'. + (hold_keyboard_input, unhold_keyboard_input, kbd_on_hold_p): + Leave only one implementation. + (Fget_buffer_process, Fprocess_inherit_coding_system_flag) + (kill_buffer_processes, Flist_system_processes) + (Fprocess_attributes, init_process, syms_of_process): Unify the + implementations for with subprocesses and without them. + +2010-07-09 Jan Djärv + + * xmenu.c (set_frame_menubar): Must realize menubar_widget to get the + correct size for Motif. + (free_frame_menubar): Call x_set_window_size to update frame size. + + * xfns.c (x_window): Set borderWidth to 0 for pane and + EmacsFrame. Frame size calculation is wrong otherwise. + +2010-07-09 Michael Albinus + + * dbusbind.c (xd_initialize): Add new argument RAISE_ERROR, which + allows to suppress errors when polling in Emacs' main loop. + (Fdbus_init_bus, Fdbus_get_unique_name, Fdbus_call_method) + (Fdbus_call_method_asynchronously, Fdbus_method_return_internal) + (Fdbus_method_error_internal, Fdbus_send_signal) + (xd_get_dispatch_status, xd_read_message, Fdbus_register_signal) + (Fdbus_register_method): Use it. (Bug#6579) + +2010-07-08 Dan Nicolaescu + + * alloc.c: Convert DEFUNs to standard C. + * buffer.c: + * bytecode.c: + * callint.c: + * callproc.c: + * casefiddle.c: + * casetab.c: + * category.c: + * character.c: + * charset.c: + * chartab.c: + * cmds.c: + * coding.c: + * composite.c: + * data.c: + * dbusbind.c: + * dired.c: + * dispnew.c: + * doc.c: + * dosfns.c: + * editfns.c: + * emacs.c: + * eval.c: + * fileio.c: + * filelock.c: + * floatfns.c: + * fns.c: + * font.c: + * fontset.c: + * frame.c: + * fringe.c: + * image.c: + * indent.c: + * insdel.c: + * keyboard.c: + * keymap.c: + * lread.c: + * macros.c: + * marker.c: + * menu.c: + * minibuf.c: + * msdos.c: + * nsfns.m: + * nsmenu.m: + * nsselect.m: + * print.c: + * process.c: + * search.c: + * sound.c: + * syntax.c: + * term.c: + * terminal.c: + * textprop.c: + * undo.c: + * w16select.c: + * w32console.c: + * w32fns.c: + * w32font.c: + * w32menu.c: + * w32proc.c: + * w32select.c: + * window.c: + * xdisp.c: + * xfaces.c: + * xfns.c: + * xmenu.c: + * xselect.c: + * xsettings.c: + * xsmfns.c: Likewise. + +2010-07-08 Eli Zaretskii + + * process.c (kbd_is_on_hold, hold_keyboard_input) + (unhold_keyboard_input, kbd_on_hold_p) [!subprocesses]: Define. + +2010-07-08 Jan Djärv + + * xmenu.c (set_frame_menubar, create_and_show_popup_menu) + (create_and_show_dialog): Don't call apply_systemfont_to_(menu|dialog) + unless USE_LUCID. + +2010-07-08 Dan Nicolaescu + + * xdisp.c (store_mode_line_noprop_char): Remove K&R alternative + declaration. + + Clean up include guards. + * tparam.c: Remove include guards for config.h, string.h and code + that assumes #ifndef emacs. + * termcap.c: + * unexalpha.c: + * sysdep.c: + * filemode.c: + * filelock.c: + * bidi.c: Likewise. + + Remove prefix-args.c + * prefix-args.c: Remove file. + * autodeps.mk (ALLOBJS): Remove reference to prefix-args. + * Makefile.in (temacs${EXEEXT}): Remove references to + PRE_EDIT_LDFLAGS and POST_EDIT_LDFLAGS. + (mostlyclean): Remove reference to prefix-args. + (prefix-args): Remove. + + Simplify cstart_of_data, start_of_code and related code. + * mem-limits.h: Remove !emacs and _LIBC conditional code. + (start_of_data): Merge into start_of_data function. + * sysdep.c (start_of_text): Remove. Move simplified versions of + it in the only users: unexaix.c and unexec.c. + (read_input_waiting): Remove local declaration of quit_char. + (start, etext): Remove declarations. + (start_of_data): Merge with the version in mem-limits.h and move + to vm-limits.c. + * vm-limit.c (start_of_data): Merged and simplified version of the + code formerly in mem-limits.h and sysdep.c. + * unexec.c (start): New declaration, moved from sysdep.c. + (start_of_text): Simplified version of the code formerly in sysdep.c. + * unexaix.c (start_of_text): Simplified version of the code + formerly in sysdep.c. + * m/alpha.h (HAVE_TEXT_START): Remove. + (TEXT_START): Move ... + * unexalpha.c (TEXT_START): ... here. + * s/hpux10-20.h (TEXT_START): Remove. + * s/darwin.h (TEXT_START): + * m/mips.h (TEXT_START): + * m/macppc.h (HAVE_TEXT_START): + * m/m68k.h (TEXT_START): + * m/iris4d.h (TEXT_START): + * m/intel386.h (TEXT_START): + * m/ibmrs6000.h (TEXT_START): + * m/ia64.h (HAVE_TEXT_START): + * s/msdos.h (TEXT_START): Likewise. + +2010-07-07 Andreas Schwab + + * alloc.c (overrun_check_malloc, overrun_check_realloc) + (overrun_check_free, xstrdup, allocate_string) + (allocate_string_data, compact_small_strings, Fmake_string) + (make_unibyte_string, make_multibyte_string) + (make_string_from_bytes, make_specified_string, make_float) + (Fcons, allocate_terminal, allocate_frame, make_pure_string) + (Fgarbage_collect): Replace bcopy, safe_bcopy, bzero, bcmp by + memcpy, memmove, memset, memcmp. + * atimer.c (start_atimer, set_alarm): Likewise. + * buffer.c (clone_per_buffer_values, report_overlay_modification) + (mmap_realloc, init_buffer_once): Likewise. + * callint.c (Fcall_interactively): Likewise. + * callproc.c (Fcall_process, Fcall_process_region, child_setup) + (getenv_internal_1): Likewise. + * casefiddle.c (casify_object): Likewise. + * ccl.c (ccl_driver): Likewise. + * character.c (str_as_multibyte, str_to_multibyte): Likewise. + * charset.c (load_charset_map_from_file) + (load_charset_map_from_file, load_charset_map_from_vector) + (Fdefine_charset_internal): Likewise. + * cm.c (Wcm_clear): Likewise. + * coding.c (decode_eol, decode_coding_object) + (Fset_coding_system_priority, make_subsidiaries): Likewise. + * data.c (Faset): Likewise. + * dired.c (directory_files_internal, file_name_completion_stat): + Likewise. + * dispnew.c (new_glyph_matrix, adjust_glyph_matrix) + (clear_glyph_row, copy_row_except_pointers) + (copy_glyph_row_contents, new_glyph_pool, realloc_glyph_pool) + (save_current_matrix, restore_current_matrix) + (build_frame_matrix_from_leaf_window, mirrored_line_dance) + (mirror_line_dance, scrolling_window): Likewise. + * doc.c (Fsnarf_documentation, Fsubstitute_command_keys): + Likewise. + * doprnt.c (doprnt): Likewise. + * editfns.c (Fuser_full_name, make_buffer_string_both) + (Fmessage_box, Fformat, Ftranspose_regions): Likewise. + * emacs.c (sort_args): Likewise. + * eval.c (Fapply, Ffuncall): Likewise. + * fileio.c (Ffile_name_directory, make_temp_name) + (Fexpand_file_name, search_embedded_absfilename) + (Fsubstitute_in_file_name, Ffile_symlink_p, Finsert_file_contents) + (auto_save_error): Likewise. + * fns.c (Fstring_equal, Fcopy_sequence, concat) + (string_to_multibyte, Fstring_as_unibyte, Fstring_as_multibyte) + (internal_equal, Fclear_string, larger_vector, copy_hash_table) + (Fmake_hash_table): Likewise. + * fringe.c (Fdefine_fringe_bitmap): Likewise. + * ftfont.c (ftfont_text_extents): Likewise. + * getloadavg.c (getloadavg): Likewise. + * image.c (define_image_type, make_image, make_image_cache) + (x_create_x_image_and_pixmap, xbm_image_p) + (w32_create_pixmap_from_bitmap_data, xbm_load, xpm_lookup_color) + (xpm_image_p, x_create_bitmap_from_xpm_data, xpm_load) + (init_color_table, x_build_heuristic_mask, pbm_image_p, pbm_load) + (png_image_p, png_read_from_memory, png_load, jpeg_image_p) + (tiff_image_p, tiff_read_from_memory, gif_image_p) + (gif_read_from_memory, gif_load, svg_image_p, gs_image_p): + Likewise. + * indent.c (scan_for_column, compute_motion): Likewise. + * insdel.c (gap_left, gap_right, make_gap_smaller, copy_text) + (insert_1_both, insert_from_gap, replace_range_2): Likewise. + * intervals.c (reproduce_tree, reproduce_tree_obj): Likewise. + * keyboard.c (echo_char, save_getcjmp, restore_getcjmp) + (kbd_buffer_store_event_hold, apply_modifiers_uncached) + (store_user_signal_events, menu_bar_items, tool_bar_items) + (process_tool_bar_item, append_tool_bar_item) + (read_char_minibuf_menu_prompt, read_key_sequence) + (Fread_key_sequence, Fread_key_sequence_vector, Frecent_keys): + Likewise. + * keymap.c (current_minor_maps, Fdescribe_buffer_bindings): + Likewise. + * lisp.h (STRING_COPYIN): Likewise. + * lread.c (Fload, read1, oblookup): Likewise. + * msdos.c (Frecent_doskeys): Likewise. + * nsfns.m (Fx_create_frame): Likewise. + * nsfont.m (nsfont_open, nsfont_text_extents, ns_glyph_metrics): + Likewise. + * nsimage.m (EmacsImage-initFromSkipXBM:width:height:) + (EmacsImage-initForXPMWithDepth:width:height:flip:length:): + Likewise. + * nsmenu.m (ns_update_menubar): Likewise. + * nsterm.m (ns_draw_fringe_bitmap, ns_term_init): Likewise. + * print.c (print_unwind, printchar, strout, print_string) + (print_error_message): Likewise. + * process.c (conv_lisp_to_sockaddr, set_socket_option) + (Fmake_network_process, Fnetwork_interface_list) + (Fnetwork_interface_info, read_process_output, Fprocess_send_eof) + (init_process): Likewise. + * ralloc.c (resize_bloc, r_alloc_sbrk, r_alloc_init): Likewise. + * regex.c (init_syntax_once, regex_compile, re_compile_fastmap): + Likewise. + * scroll.c (do_scrolling, do_direct_scrolling) + (scrolling_max_lines_saved): Likewise. + * search.c (search_buffer, wordify, Freplace_match): Likewise. + * sound.c (wav_init, au_init, Fplay_sound_internal): Likewise. + * syntax.c (skip_chars, skip_syntaxes): Likewise. + * sysdep.c (child_setup_tty, sys_subshell, emacs_get_tty) + (emacs_set_tty): Likewise. + * term.c (encode_terminal_code, calculate_costs) + (produce_special_glyphs, create_tty_output, init_tty, delete_tty): + Likewise. + * termcap.c (tgetst1, gobble_line): Likewise. + * termhooks.h (EVENT_INIT): Likewise. + * tparam.c (tparam1): Likewise. + * unexalpha.c (unexec): Likewise. + * unexec.c (write_segment): Likewise. + * unexmacosx.c (unexec_write_zero): Likewise. + * w32fns.c (w32_wnd_proc, Fx_create_frame, x_create_tip_frame) + (Fx_file_dialog, Fsystem_move_file_to_trash): Likewise. + * w32font.c (w32font_list_family, w32font_text_extents) + (w32font_list_internal, w32font_match_internal) + (w32font_open_internal, compute_metrics, Fx_select_font): + Likewise. + * w32menu.c (set_frame_menubar, add_menu_item) + (w32_menu_display_help, w32_free_submenu_strings): Likewise. + * w32term.c (XCreateGC, w32_initialize_display_info): Likewise. + * w32uniscribe.c (uniscribe_list_family): Likewise. + * w32xfns.c (get_next_msg, post_msg, prepend_msg): Likewise. + * window.c (make_window, replace_window, set_window_buffer) + (Fsplit_window): Likewise. + * xdisp.c (init_iterator, RECORD_OVERLAY_STRING, reseat_to_string) + (add_to_log, message3, x_consider_frame_title) + (append_space_for_newline, extend_face_to_end_of_line) + (decode_mode_spec_coding, init_glyph_string): Likewise. + * xfaces.c (x_create_gc, get_lface_attributes_no_remap) + (Finternal_copy_lisp_face, Finternal_merge_in_global_face) + (face_attr_equal_p, make_realized_face, make_face_cache) + (free_realized_faces, lookup_named_face, smaller_face) + (face_with_height, lookup_derived_face) + (x_supports_face_attributes_p, Finternal_set_font_selection_order) + (Finternal_set_font_selection_order, realize_default_face) + (compute_char_face, face_at_buffer_position) + (face_for_overlay_string, face_at_string_position, merge_faces): + Likewise. + * xfns.c (xic_create_fontsetname, Fx_create_frame) + (Fx_window_property, x_create_tip_frame) + (Fx_backspace_delete_keys_p): Likewise. + * xfont.c (xfont_list, xfont_match, xfont_list_family) + (xfont_text_extents): Likewise. + * xmenu.c (set_frame_menubar, xmenu_show): Likewise. + * xrdb.c (magic_file_p, x_get_resource): Likewise. + * xselect.c (x_queue_event, x_get_window_property) + (receive_incremental_selection): Likewise. + * xsmfns.c (x_session_check_input): Likewise. + * xterm.c (x_send_scroll_bar_event, SET_SAVED_MENU_EVENT) + (handle_one_xevent, x_check_errors, xim_initialize, x_term_init): + Likewise. + * character.h (BCOPY_SHORT): Remove. + * config.in: Regenerate. + * dispnew.c (safe_bcopy): Only define as dummy if PROFILING. + * emacs.c (main) [PROFILING]: Don't declare + dump_opcode_frequencies. + * lisp.h (safe_bcopy): Remove declaration. + (memset) [!HAVE_MEMSET]: Declare. + (memcpy) [!HAVE_MEMCPY]: Likewise. + (memmove) [!HAVE_MEMMOVE]: Likewise. + (memcmp) [!HAVE_MEMCMP]: Likewise. + * s/ms-w32.h (bzero, bcopy, bcmp, GAP_USE_BCOPY) + (BCOPY_UPWARD_SAFE, BCOPY_DOWNWARD_SAFE, HAVE_BCOPY, HAVE_BCMP): + Don't define. + (HAVE_MEMCMP, HAVE_MEMCPY, HAVE_MEMMOVE, HAVE_MEMSET): Define. + * s/msdos.h (GAP_USE_BCOPY, BCOPY_UPWARD_SAFE) + (BCOPY_DOWNWARD_SAFE): Don't define. + * sysdep.c (memset) [!HAVE_MEMSET]: Define. + (memcpy) [!HAVE_MEMCPY]: Define. + (memmove) [!HAVE_MEMMOVE]: Define. + (memcmp) [!HAVE_MEMCMP]: Define. + +2010-07-07 Jan Djärv + + * process.c (kbd_is_on_hold): New variable. + (hold_keyboard_input, unhold_keyboard_input, kbd_on_hold_p): + New functions. + (wait_reading_process_output): If kbd_on_hold_p returns non-zero, + select on empty input mask. + (init_process): Initialize kbd_is_on_hold to 0. + + * process.h (hold_keyboard_input, unhold_keyboard_input) + (kbd_on_hold_p): Declare. + + * keyboard.c (input_available_signal): Declare. + (kbd_buffer_nr_stored): New function. + (kbd_buffer_store_event_hold): If kbd_buffer_nr_stored returns + more than KBD_BUFFER_SIZE/2, stop reding input (Bug#6571). + (kbd_buffer_get_event): If input is suspended and kbd_buffer_nr_stored + returns less than KBD_BUFFER_SIZE/4, resume reding input (Bug#6571). + (tty_read_avail_input): If input is on hold, return. + Don't read more that free slots in kbd_buffer (Bug#6571). + +2010-07-07 Eli Zaretskii + + * msdos.h: + * msdos.c: + * dosfns.c: + * w16select.c: Convert function definitions to ANSI C. + + * msdos.h (ctrl_break_func, install_ctrl_break_check): + Remove unused prototypes. + +2010-07-07 Juanma Barranquero + + * coding.c, sysdep.c: Convert some more functions to standard C. + +2010-07-07 Juanma Barranquero + + * coding.c (decode_coding_gap, encode_coding_gap, decode_coding_object) + (encode_coding_object): Use SPECPDL_INDEX. + (syms_of_coding): Use DOS_NT. + +2010-07-07 Dan Nicolaescu + + * intervals.h (interval): Use EMACS_UINT instead of unsigned EMACS_INT. + + Make the function member of Lisp_Subr use standard C prototypes. + * lisp.h (struct Lisp_Subr): Use a union for the function member. + (DECL_ALIGN): Add a cast for the function. + * eval.c (Feval, Ffuncall): Use the proper type for each type + function call. + +2010-07-06 Chong Yidong + + * fringe.c (draw_fringe_bitmap_1): Use lookup_named_face to get + fringe face id, so face-remapping-alist works (Bug#6091). + +2010-07-06 Juanma Barranquero + + * w32.c, w32console.c, w32fns.c, w32font.c, w32heap.c, w32inevt.c + * w32menu.c, w32proc.c, w32reg.c, w32select.c, w32term.c + * w32uniscribe.c, w32xfns.c: Convert function definitions to standard C. + +2010-07-06 Andreas Schwab + + * xterm.c (x_get_keysym_name): Change type of parameter to int. + * lisp.h: Declare x_get_keysym_name. + * keyboard.c (modify_event_symbol): Don't declare + x_get_keysym_name here. + +2010-07-06 Dan Nicolaescu + + * ecrt0.c: Revert conversion to standard C. + +2010-07-05 Dan Nicolaescu + + * vm-limit.c (memory_warnings): + * keyboard.c (modify_event_symbol): + * floatfns.c (rounding_driver, ceiling2, floor2, truncate2) + (round2, emacs_rint): + * process.c (send_process, old_sigpipe): Convert function + definitions and declarations to standard C. + +2010-07-05 Juanma Barranquero + + * buffer.c, cm.c, eval.c, keyboard.c, process.c, term.c, vm-limit.c, + * xdisp.c: Convert function definitions to standard C. + + * cm.c (cmputc): Arg C is now int, not char. + * process.c (Fmake_network_process): Cast sockaddr_in* to sockaddr*. + +2010-07-05 James Cloos + + * xterm.h (Xatom_net_wm_name, Xatom_net_wm_icon_name): New. + + * xterm.c (x_term_init): Intern the _NET_WM_NAME and + _NET_WM_ICON_NAME atoms. + + * xfns.c (x_set_name_internal): Set the EWMH _NET_WM_NAME + and _NET_WM_ICON_NAME properties, too, matching what is + done in the Gtk+ case. + +2010-07-05 Jan Djärv + + * xterm.c (XTring_bell, XTset_terminal_window): Fix wrong prototype. + + * xsmfns.c (SSDATA): New macro. + (smc_save_yourself_CB, x_session_initialize): Use SSDATA for strings + passed to strlen/strcpy/strcat. + (create_client_leader_window): Surround with #ifndef USE_GTK. + Cast 7:th arg to XChangeProperty to (unsigned char *). + + * xsettings.c (something_changedCB, parse_settings) + (apply_xft_settings): Reformat prototype. + (something_changedCB, init_gconf): Remove unused variable i. + (read_settings): Remove unused variable long_len. + + * gtkutil.c (xg_get_pixbuf_from_pix_and_mask) + (xg_get_image_for_pixmap, create_dialog) + (xg_get_file_with_selection, xg_get_file_name, update_cl_data) + (menuitem_highlight_callback, make_menu_item) + (xg_create_one_menuitem, create_menus, xg_update_menu_item) + (xg_create_scroll_bar, xg_update_scrollbar_pos) + (xg_set_toolkit_scroll_bar_thumb, xg_tool_bar_button_cb) + (xg_tool_bar_proxy_help_callback, xg_tool_bar_detach_callback) + (xg_tool_bar_attach_callback, xg_tool_bar_help_callback) + (xg_tool_bar_item_expose_callback): Reformat prototype. + (xg_update_menubar): GList *group => GSList *group. + (xg_modify_menubar_widgets): Initialize witem to 0, check witem != 0 + before use. + (update_frame_tool_bar): 4:th param to xg_get_image_for_pixmap changed + to GTK_IMAGE (wimage). + +2010-07-05 Dan Nicolaescu + + * atimer.c: Use "" instead of <> for local includes for + consistency with the rest of the code. + + * xsmfns.c (smc_save_yourself_CB, smc_error_handler): + * xrdb.c (get_system_name): + * window.c (shrink_windows): + * syntax.c (forw_comment): + * scroll.c (calculate_scrolling, calculate_direct_scrolling) + (ins_del_costs): + * mem-limits.h (start_of_data): + * lread.c (readevalloop): + * gtkutil.c (xg_dialog_response_cb, xg_get_file_with_chooser) + (xg_get_file_with_selection, xg_update_menubar, xg_update_submenu): + * frame.c (x_get_focus_frame): + * floatfns.c (fmod_float): + * fileio.c (choose_write_coding_system): + * emacs.c (fatal_error_signal, init_cmdargs, argmatch) + (malloc_initialize_hook, sort_args, synchronize_locale): + * doprnt.c (doprnt): + * dired.c (compile_pattern): + * data.c (fmod_float): + * chartab.c (map_sub_char_table, map_sub_char_table_for_charset) + (map_char_table_for_charset): + * charset.c (define_charset_internal): + * alloc.c (Fgarbage_collect): Convert declarations or definitions + to standard C. + +2010-07-04 Tetsurou Okazaki (tiny change) + Stefan Monnier + + * lread.c (read1): Fix up last change to not mess up `c'. + +2010-07-04 Juanma Barranquero + + * strftime.c: Revert conversion to standard C (2010-07-04T07:50:25Z!dann@ics.uci.edu). + +2010-07-04 Juanma Barranquero + + Fix prototypes. + + * atimer.c (start_atimer): Use EMACS_TIME, not struct timeval. + * dired.c (file_name_completion_stat): Use DIRENTRY, not struct dirent. + * fileio.c (read_non_regular, read_non_regular_quit): Add Lisp_Object + arg, as required by internal_condition_case_1. + * print.c (strout): Use const char* for arg PTR. + * regex.c (bcmp_translate): Use RE_TRANSLATE_TYPE, not Lisp_Object. + (analyse_first): Fix "const const". + * sysdep.c (set_file_times): Use EMACS_TIME, not struct timeval. + * unexelf.c (round_up, find_section): Use ElfW macro for arguments. + * xgselect.c (xg_select): Use SELECT_TYPE, EMACS_TIME. + +2010-07-04 Dan Nicolaescu + + * alloc.c: Convert function definitions to standard C. + * atimer.c: + * bidi.c: + * bytecode.c: + * callint.c: + * callproc.c: + * casefiddle.c: + * casetab.c: + * category.c: + * ccl.c: + * character.c: + * charset.c: + * chartab.c: + * cmds.c: + * coding.c: + * composite.c: + * data.c: + * dbusbind.c: + * dired.c: + * dispnew.c: + * doc.c: + * doprnt.c: + * ecrt0.c: + * editfns.c: + * fileio.c: + * filelock.c: + * filemode.c: + * fns.c: + * font.c: + * fontset.c: + * frame.c: + * fringe.c: + * ftfont.c: + * ftxfont.c: + * gtkutil.c: + * indent.c: + * insdel.c: + * intervals.c: + * keymap.c: + * lread.c: + * macros.c: + * marker.c: + * md5.c: + * menu.c: + * minibuf.c: + * prefix-args.c: + * print.c: + * ralloc.c: + * regex.c: + * region-cache.c: + * scroll.c: + * search.c: + * sound.c: + * strftime.c: + * syntax.c: + * sysdep.c: + * termcap.c: + * terminal.c: + * terminfo.c: + * textprop.c: + * tparam.c: + * undo.c: + * unexelf.c: + * window.c: + * xfaces.c: + * xfns.c: + * xfont.c: + * xftfont.c: + * xgselect.c: + * xmenu.c: + * xrdb.c: + * xselect.c: + * xsettings.c: + * xsmfns.c: + * xterm.c: Likewise. + +2010-07-03 Eli Zaretskii + + * msdos.c (IT_set_frame_parameters): Fix setting of colors in + frames other than the initial one. Fix reversal of colors when + `reverse' is specified in the frame parameters. + Call update_face_from_frame_parameter instead of + internal-set-lisp-face-attribute. Initialize screen colors from + initial_screen_colors[] when f->default_face_done_p is zero, + instead of depending on being called with default-frame-alist as + the alist argument. + + * xfaces.c (update_face_from_frame_parameter): Move out of + HAVE_WINDOW_SYSTEM portion. Condition window-system only parts + with HAVE_WINDOW_SYSTEM. + + * msdos.c (IT_set_frame_parameters): Set menu-bar-lines according + to menu-bar-mode, if not set in the frame parameters or in + default-frame-alist. + + * w32console.c (sys_tputs): Adjust argument list to prototype in + term.c. + +2010-07-03 Juanma Barranquero + + * lisp.h (memory_warnings): Fix prototype. + + * cm.h (evalcost): Fix prototype. + + * cm.c (evalcost): Fix arg type. + +2010-07-02 Dan Nicolaescu + + * term.c (term_clear_mouse_face, Fidentity): + * syssignal.h (signal_handler_t): + * lisp.h (memory_warnings): + * coding.h (preferred_coding_system): + * cm.h (evalcost): + * blockinput.h (reinvoke_input_signal): Convert to standard C prototypes. + +2010-07-02 Eli Zaretskii + + * dosfns.h (msdos_stdcolor_idx, msdos_stdcolor_name): Remove P_ + from prototypes. + + * msdos.h (load_pixmap): Don't define away. + +2010-07-02 Jan Djärv + + * lisp.h: + * atimer.h: Remove define for P_. + + * alloc.c: Remove __P and P_ from .c and .m files. + * atimer.c: + * buffer.c: + * callint.c: + * category.c: + * charset.c: + * chartab.c: + * cm.c: + * coding.c: + * composite.c: + * data.c: + * dired.c: + * dispnew.c: + * doc.c: + * editfns.c: + * emacs.c: + * eval.c: + * fileio.c: + * filelock.c: + * fns.c: + * font.c: + * fontset.c: + * frame.c: + * ftfont.c: + * ftxfont.c: + * gmalloc.c: + * gtkutil.c: + * image.c: + * indent.c: + * intervals.c: + * keyboard.c: + * keymap.c: + * lread.c: + * marker.c: + * menu.c: + * minibuf.c: + * print.c: + * process.c: + * scroll.c: + * search.c: + * sound.c: + * strftime.c: + * syntax.c: + * sysdep.c: + * term.c: + * terminal.c: + * textprop.c: + * unexalpha.c: + * w32console.c: + * w32fns.c: + * w32font.c: + * w32menu.c: + * w32term.c: + * w32uniscribe.c: + * window.c: + * xdisp.c: + * xfaces.c: + * xfns.c: + * xfont.c: + * xftfont.c: + * xmenu.c: + * xselect.c: + * xterm.c: Likewise. + + Remove P_ and __P macros. + * atimer.h: Remove P_ and __P macros. + * buffer.h: + * category.h: + * ccl.h: + * character.h: + * charset.h: + * cm.h: + * coding.h: + * composite.h: + * dispextern.h: + * disptab.h: + * dosfns.h: + * font.h: + * fontset.h: + * frame.h: + * gtkutil.h: + * indent.h: + * intervals.h: + * keyboard.h: + * keymap.h: + * lisp.h: + * macros.h: + * md5.h: + * menu.h: + * msdos.h: + * nsterm.h: + * puresize.h: + * region-cache.h: + * syntax.h: + * syssignal.h: + * systime.h: + * termhooks.h: + * w32font.h: + * w32term.h: + * widget.h: + * window.h: + * xgselect.h: + * xsettings.h: + * xterm.h: Likewise. + +2010-07-02 Dan Nicolaescu + + * lisp.h: Document that USE_LISP_UNION_TYPE is now enabled using autoconf. + + Cleanup old code. + * dired.c (BSD4_3): Remove all uses, redundant with BSD4_2. + * syssignal.h: Remove code for Lynx, not supported anymore. + * vm-limit.c: Remove unused code the depends on emacs not being + defined and NO_LIM_DATA being defined. + * mem-limits.h: Remove dead code. + +2010-07-01 Jan Djärv + + * window.c (Fwindow_absolute_pixel_edges): Doc fix. + + * window.c (calc_absolute_offset, Fwindow_absolute_pixel_edges) + (Fwindow_inside_absolute_pixel_edges): New functions (bug#5721). + + * nsfns.m (compute_tip_xy): Do not convert coordinates from frame + parameters, they are already absolute. + + * nsterm.m (x_set_window_size, initFrameFromEmacs): + Rename FRAME_NS_TOOLBAR_HEIGHT to FRAME_TOOLBAR_HEIGHT. + + * nsterm.h (FRAME_NS_TOOLBAR_HEIGHT): Rename to FRAME_TOOLBAR_HEIGHT. + + * nsmenu.m (update_frame_tool_bar, free_frame_tool_bar): + Update FRAME_TOOLBAR_HEIGHT. + + * nsmenu.m (free_frame_tool_bar, update_frame_tool_bar): + Add BLOCK/UNBLOCK_INPUT so asserts don't trigger. + +2010-06-30 Chong Yidong + + * frame.c (get_future_frame_param, Fmake_terminal_frame): + Don't check default-frame-alist. + +2010-06-30 Andreas Schwab + + * process.c (create_process): Avoid using invalid file descriptors. + + * callproc.c (child_setup): Avoid closing a file descriptor twice. + +2010-06-30 Jan Djärv + + * xsettings.c (Ffont_get_system_normal_font, Ffont_get_system_font): + Improve documentation. Return font regardless of use_system_font. + (syms_of_xsettings): Improve documentation for font-use-system-font. + +2010-07-10 Chong Yidong + + * xfaces.c (realize_face): Garbage the frame if a face is removed + (Bug#6593). + +2010-07-05 Andreas Schwab + + * keyboard.c: Remove duplicate . + (read_key_sequence): Remove volatile qualifiers. + +2010-07-05 YAMAMOTO Mitsuharu + + * dispextern.h (FRINGE_HEIGHT_BITS): New define. + (struct glyph_row): New members left_fringe_offset and + right_fringe_offset. + + * xterm.c (x_draw_fringe_bitmap): Don't clip bottom aligned bitmap + specially. + * w32term.c (w32_draw_fringe_bitmap): Likewise. + * nsterm.m (ns_draw_fringe_bitmap): Likewise. + + * fringe.c (draw_fringe_bitmap_1): Don't clip bitmap here. + Take account of bitmap offset. + (draw_window_fringes): Take account of window vscroll. + (update_window_fringes): Likewise. Extend top-aligned top indicator + or bottom-aligned bottom indicator to adjacent rows if it doesn't fit + in one row. Don't set redraw_fringe_bitmaps_p outside row comparison. + Set left_fringe_offset and right_fringe_offset (Bug#5634, Bug#6325). + +2010-07-04 Juanma Barranquero + + * w32fns.c (Qtooltip): Declare. + Suggested by Andy Moreton . + +2010-07-03 Jan Djärv + + * xmenu.c (x_activate_menubar): Send Press/Release for Gtk+ to avoid + grab on just Press (Bug#6499). + +2010-07-02 Chong Yidong + + * frame.c (Qtooltip): New var. + (delete_frame): Use it. Fix faulty if statement. Don't update + mode line for tooltip frames. Suggested by Martin Rudalics. + + * xfns.c (x_create_tip_frame): + * w32fns.c (x_create_tip_frame): Use it. + +2010-06-17 Naohiro Aota (tiny change) + + * xftfont.c (xftfont_open): Check font width one by one also when + spacing is dual. + + * ftfont.c (ftfont_open): Ditto. + +2010-06-30 Glenn Morris + + * s/sol2-6.h (INHIBIT_X11R6_XIM): Remove, handled by configure now. + + * Makefile.in (CANNOT_DUMP): Update for configure name change. + + * s/freebsd.h (USE_MMAP_FOR_BUFFERS): + * s/irix6-5.h (USE_MMAP_FOR_BUFFERS): + * s/darwin.h (SYSTEM_MALLOC): + * s/sol2-10.h (SYSTEM_MALLOC): Move to configure. + +2010-06-29 Jan Djärv + + * nsfns.m: extern declare Vmenu_bar_mode, Vtool_bar_mode. + (ns_get_screen): Don't assign integer to f. + (Fx_display_color_cells): Declarations before statements. + +2010-06-28 Jan Djärv + + * xfns.c (x_default_font_parameter): Remove got_from_system + (Bug#6526). + + * xterm.h (gtk_widget_get_window, gtk_widget_get_mapped) + (gtk_adjustment_get_page_size, gtk_adjustment_get_upper): + New defines based on what configure finds. + + * xterm.c (XTflash): Use gtk_widget_get_window. + (xg_scroll_callback): Use gtk_adjustment_get_upper and + gtk_adjustment_get_page_size. + (handle_one_xevent): Use gtk_widget_get_mapped. + (x_term_init): Remove HAVE_GTK_MULTIDISPLAY and associated error + messages. + + * xmenu.c (create_and_show_popup_menu): Call gtk_widget_get_mapped. + + * gtkutil.h: Replace HAVE_GTK_FILE_BOTH with + HAVE_GTK_FILE_SELECTION_NEW. + + * gtkutil.c (xg_display_open, xg_display_close): + Remove HAVE_GTK_MULTIDISPLAY, it is always defined. + (xg_display_open): Return type is void. + (gtk_widget_set_has_window) + (gtk_dialog_get_action_area, gtk_dialog_get_content_area) + (gtk_widget_get_sensitive, gtk_adjustment_set_page_size) + (gtk_adjustment_set_page_increment) + (gtk_adjustment_get_step_increment): #define these if not found + by configure. + (remove_submenu): New define based on Gtk+ version. + (xg_set_cursor, xg_frame_resized, xg_event_is_for_scrollbar): + Use gtk_widget_get_window. + (xg_frame_resized, xg_update_frame_menubar): Use gtk_widget_get_mapped. + (xg_create_frame_widgets): Use gtk_widget_set_has_window. + (create_dialog): Use gtk_dialog_get_action_area and + gtk_dialog_get_content_area. + (xg_uses_old_file_dialog, xg_get_file_name): Remove HAVE_GTK_FILE_BOTH + and HAVE_GTK_FILE_CHOOSER_DIALOG_NEW. File chooser is always + available, so checking for HAVE_GTK_FILE_SELECTION_NEW is enough. + (xg_update_menubar, xg_update_submenu, xg_show_toolbar_item): + Use g_object_ref and g_object_unref. + (xg_update_menu_item, xg_tool_bar_menu_proxy): + Use gtk_widget_get_sensitive. + (xg_update_submenu): Use remove_submenu. + (xg_update_scrollbar_pos): Don't use GtkFixedChild, use child + properties instead to get old x and y position. + (xg_set_toolkit_scroll_bar_thumb): Use gtk_adjustment_get_page_size, + gtk_adjustment_get_step_increment, gtk_adjustment_set_page_size, + gtk_adjustment_set_step_increment and gtk_adjustment_set_page_increment. + (xg_get_tool_bar_widgets): New function. + (xg_tool_bar_menu_proxy, xg_show_toolbar_item) + (update_frame_tool_bar): Call xg_get_tool_bar_widgets. + (toolbar_set_orientation): New #define based on if configure + finds gtk_orientable_set_orientation. + (xg_create_tool_bar): Call toolbar_set_orientation. + (xg_make_tool_item, xg_show_toolbar_item): Call gtk_box_pack_start + instead of gtk_box_pack_start_defaults. + +2010-06-28 Chong Yidong + + * cmds.c (Fdelete_backward_char): Move into Lisp. + +2010-06-27 Dan Nicolaescu + + * s/freebsd.h (BSD4_2): Remove redundant definition. + bsd-common.h defines it already. + +2010-06-27 Chong Yidong + + * xfns.c (Fx_create_frame): Don't consult X resouces when setting + menu-bar-lines and tool-bar-lines. Use menu-bar-mode and + tool-bar-mode, which are now set using these X resources at + startup, to determine the defaults (Bug#2249). + + * w32fns.c (Fx_create_frame): + * nsfns.m (Fx_create_frame): Likewise. + + * frame.c (Vmenu_bar_mode, Vtool_bar_mode): New vars. + +2010-06-24 Juanma Barranquero + + * gtkutil.c (xg_update_scrollbar_pos): + Avoid C99 mid-block variable declaration. + +2010-06-22 Jan Djärv + + * xterm.c (x_scroll_bar_create): Remove call to xg_show_scroll_bar. + + * gtkutil.h (xg_show_scroll_bar): Remove. + + * gtkutil.c (xg_update_scrollbar_pos): Show/hide scroll bar as needed + if height is less than scroll bar min size. + (xg_show_scroll_bar): Remove, show moved to xg_update_scrollbar_pos. + + * xfns.c (x_default_font_parameter): Try to open font from system + before using it (bug#6478). Rename got_from_gconf to got_from_system. + +2010-06-22 Keith Packard (tiny change) + + * font.c (font_parse_fcname): Allow . for sizes like 7.5 (bug#6437). + +2010-06-20 Eli Zaretskii + + * xdisp.c (try_scrolling): When scroll-conservatively is set to + most-positive-fixnum, be extra accurate when scrolling window + start, to avoid missing the cursor line. + +2010-06-19 Eli Zaretskii + + * xdisp.c (try_scrolling): Compute the limit for searching point + in forward scroll from scroll_max, instead of an arbitrary limit + of 10 screen lines. + See http://lists.gnu.org/archive/html/emacs-devel/2010-06/msg00766.html + and + http://lists.gnu.org/archive/html/emacs-devel/2010-06/msg00773.html + for details. + +2010-06-16 Glenn Morris + + * editfns.c (Fbyte_to_string): Pacify compiler. + +2010-06-16 Stefan Monnier + + * lread.c (read1): Phase out old-style backquotes a bit more. + +2010-06-12 Eli Zaretskii + + * makefile.w32-in ($(BLD)/bidi.$(O)): Depend on biditype.h and + bidimirror.h. + + * deps.mk (bidi.o): Depend on biditype.h and bidimirror.h. + + * bidi.c (bidi_initialize): Remove explicit initialization of + bidi_type_table; include biditype.h instead. Don't support + entries whose second codepoint is zero. Initialize bidi_mirror_table. + (bidi_mirror_char): Use bidi_mirror_table. + + * biditype.h: New file. + + * bidimirror.h: New file. + + * window.c (syms_of_window): Doc fix (bug#6409). + +2010-06-12 Romain Francoise + + * Makefile.in (lisp, shortlisp): Use new location of vc-hooks and + ediff-hook. + +2010-06-10 Glenn Morris + + * editfns.c (Fbyte_to_string): Pacify compiler. + + * m/ibms390x.h: Rather than duplicating ibms390.h, just include it. + +2010-06-26 Andreas Schwab + + * alloc.c (Fmake_byte_code): Don't access undefined argument + (Bug#6517). + +2010-06-25 Chong Yidong + + * xdisp.c (next_element_from_image): Ensure that after-strings are + read the next time we hit handle_stop (Bug#1336). + +2010-06-23 Andreas Schwab + + * lread.c (read1): Signal error if #s is not followed by paren. + +2010-06-19 Chong Yidong + + * image.c (free_image): Mark frame as garbaged (Bug#6426). + + * keymap.c (Fdefine_key): Doc fix (Bug#6460). + +2010-06-15 Glenn Morris + + * editfns.c (Fbyte_to_string): Pacify compiler. + +2010-06-09 Stefan Monnier + + * dbusbind.c (xd_append_arg): Don't "make-unibyte" the string. + Check `object's type before accessing its guts. + +2010-06-09 Dan Nicolaescu + + * s/usg5-4.h: Fix previous change. + Suggested by Lawrence Mitchell + +2010-06-08 Andreas Schwab + + * minibuf.c (Fall_completions): Add more checks. + +2010-06-08 Juanma Barranquero + + * minibuf.c (Fall_completions): Check COLLECTION's size (bug#6378). + +2010-06-08 Dan Nicolaescu + + * lread.c (X_OK): Remove, unused. + + * dispnew.c: Remove obsolete comment. + + Remove INCLUDED_FCNTL. + * xterm.c (INCLUDED_FCNTL): + * callproc.c (INCLUDED_FCNTL): + * alloc.c (INCLUDED_FCNTL): + * systty.h (INCLUDED_FCNTL): Remove all uses, not needed anymore. + (emacs_get_tty, emacs_set_tty): Declare unconditionally. + +2010-06-07 Martin Rudalics + + * window.c (Fselect_window): Move `record_buffer' up to the + beginning of this function, so the buffer gets recorded + even if the selected window does not change. + http://lists.gnu.org/archive/html/emacs-devel/2010-06/msg00137.html + +2010-06-07 Juanma Barranquero + + * cmds.c (Fforward_char, Fbackward_char): Fix typos in docstrings. + (Fforward_line, Fbeginning_of_line): Reflow docstrings. + +2010-06-06 Dan Nicolaescu + + Remove BSTRING related code, all platforms define it. + * s/usg5-4.h (BSTRING): Remove definition. + * s/template.h (BSTRING): + * s/msdos.h (BSTRING): + * s/ms-w32.h (BSTRING): + * s/hpux10-20.h (BSTRING): + * s/gnu-linux.h (BSTRING): + * s/darwin.h (BSTRING): + * s/cygwin.h (BSTRING): + * s/bsd-common.h (BSTRING): + * s/aix4-2.h (BSTRING): Likewise. + * sysdep.c: Remove code depending on BSTRING not being defined. + +2010-06-05 Juanma Barranquero + + Remove obsolete macro BASE_LEADING_CODE_P. + * character.h (BASE_LEADING_CODE_P): Remove. + * regex.c [!emacs] (BASE_LEADING_CODE_P): Remove. + * buffer.c (Fset_buffer_multibyte): + * indent.c (scan_for_column, compute_motion): + * insdel.c (count_combining_before, count_combining_after): + Use LEADING_CODE_P instead of BASE_LEADING_CODE_P. + +2010-06-04 Juanma Barranquero + + Turn `directory-sep-char' into a noop. + + * lisp.h [WINDOWSNT] (Vdirectory_sep_char): Don't declare. + (DIRECTORY_SEP): Define unconditionally. + + * s/ms-w32.h (DIRECTORY_SEP): Remove. + + * emacs.c (decode_env_path): Don't check DIRECTORY_SEP, + call dostounix_filename directly. + + * fileio.c (CORRECT_DIR_SEPS): Remove. + (Ffile_name_directory, directory_file_name, Fexpand_file_name) + (Fsubstitute_in_file_name): Use dostounix_filename instead. + (file_name_as_directory): Use dostounix_filename, DIRECTORY_SEP. + (syms_of_fileio) : Move to subr.el. + + * w32proc.c (CORRECT_DIR_SEPS): Remove. + (Fw32_short_file_name, Fw32_long_file_name): Use dostounix_filename. + +2010-06-03 Andreas Schwab + + * process.c (conv_lisp_to_sockaddr): Fix conversion of IPv4 address. + (Bug#6346) + +2010-06-03 Juanma Barranquero + + * ccl.c (Fccl_program_p): Fix typo in docstring. + +2010-06-03 Dan Nicolaescu + + Move UNEXEC definition to autoconf. + * s/usg5-4.h (UNEXEC): Remove, move to configure.in. + * s/sol2-10.h (UNEXEC): + * s/irix6-5.h (UNEXEC): + * s/hpux10-20.h (UNEXEC): + * s/gnu-linux.h (UNEXEC): + * s/darwin.h (UNEXEC): + * s/cygwin.h (UNEXEC): + * s/bsd-common.h (UNEXEC): + * s/aix4-2.h (UNEXEC): + * m/alpha.h (UNEXEC): Likewise. + * Makefile.in (UNEXEC_OBJ): Define using @UNEXEC_OBJ@. + +2010-06-03 Juanma Barranquero + + Remove obsolete pre-unicode2 macros. + * character.h (MULTIBYTE_FORM_LENGTH, PARSE_MULTIBYTE_SEQ): Remove. + * composite.c (composition_reseat_it): + * data.c (Faset): + * fns.c (Ffillarray): + * regex.c (re_search_2): Use BYTES_BY_CHAR_HEAD. + [!emacs] (BYTES_BY_CHAR_HEAD): Define instead of MULTIBYTE_FORM_LENGTH. + +2010-06-03 Juri Linkov + + * buffer.c (Fother_buffer): Add CHECK_FRAME. + (Fswitch_to_buffer): Remove unused variable `err'. + +2010-06-03 Glenn Morris + + * m/template.h (NO_SOCK_SIGIO): Remove, no longer used. + + * m/hp800.h (alloca) [__NetBSD__ && __GNUC__]: No need to define it, + now that AH_BOTTOM does it. + + * m/hp800.h (HAVE_ALLOCA): + * m/ibms390x.h (HAVE_ALLOCA): Do not define, no longer needed. + + * m/ia64.h, s/gnu-linux.h, s/gnu.h, s/netbsd.h, s/usg5-4.h: + Remove NOT_C_CODE tests, it is always true now. + +2010-06-02 Dan Nicolaescu + + Fix config.h includes. + * xsettings.c: + * xgselect.c: + * nsterm.m: + * nsselect.m: + * nsimage.m: + * nsfont.m: + * nsfns.m: + * dbusbind.c: Use #include instead of "config.h" as all + other files do. + + * gmalloc.c: Remove BROKEN_PROTOTYPES reference, unused. + + * s/sol2-6.h: Remove obsolete comments. + + Remove unnecessary alloca.h includes. + * keymap.c: Do not include alloca.h, config.h does that. + * sysdep.c: Likewise. Do not define fwrite, not used. + +2010-06-01 Stefan Monnier + + * sysdep.c (child_setup_tty): Move the non-canonical initialization to + the HAVE_TERMIO where it belongs (bug#6149). + +2010-05-31 Stefan Monnier + + * keymap.c (Fwhere_is_internal): Fix handling of remapping (in thread + of bug#6305). + +2010-05-30 Eli Zaretskii + + * bidi.c (bidi_move_to_visually_next): Make sure the sentinel + state is always cached (bug#6306). + +2010-05-29 Eli Zaretskii + + Fix cursor motion in bidi-reordered continued lines. + * xdisp.c (try_cursor_movement): Backup to non-continuation line + only after finding point's row. Fix the logic. Rewrite the loop + over continuation lines in bidi-reordered buffers. + Return CURSOR_MOVEMENT_MUST_SCROLL upon failure to find a suitable row, + rather than CURSOR_MOVEMENT_CANNOT_BE_USED. + +2010-05-28 Michael Albinus + + * fileio.c (Fdelete_file): Pass TRASH arg to handler call. + +2010-05-28 Kenichi Handa + + * font.c (font_delete_unmatched): Check Vface_ignored_fonts. + Don't sheck SPEC if it is nil. + (font_list_entities): Call font_delete_unmatched if + Vface_ignored_fonts is non-nil. (Bug#6287) + +2010-05-28 Glenn Morris + + * Makefile.in (LIBES): Remove $LOADLIBES, it is never set. + +2010-05-27 Chong Yidong + + * fileio.c (Fdelete_file): Change meaning of optional arg to mean + whether to trash. + (internal_delete_file, Frename_file): Callers changed. + (delete_by_moving_to_trash): Doc fix. + (Fdelete_directory_internal): Don't move to trash. + + * callproc.c (delete_temp_file): + * buffer.c (Fkill_buffer): Callers changed. + + * lisp.h: Update prototype. + +2010-05-27 Chong Yidong + + * xdisp.c (redisplay_window): After redisplay, check if point is + still valid before setting it (Bug#6177). + +2010-05-27 Glenn Morris + + * Makefile.in, autodeps.mk, deps.mk, ns.mk: + Convert comments to Makefile format. + + * Makefile.in (bootstrap-clean): No more Makefile.c. + +2010-05-26 Glenn Morris + + * Makefile.in (YMF_PASS_LDFLAGS): Remove. + (temacs${EXEEXT}): Use PRE_EDIT_LDFLAGS, POST_EDIT_LDFLAGS. + + * Makefile.in (NS_IMPL_GNUSTEP_INC, NS_IMPL_GNUSTEP_TEMACS_LDFLAGS): + Remove. + (TEMACS_LDFLAGS): Do not use NS_IMPL_GNUSTEP_TEMACS_LDFLAGS. + +2010-05-26 Kenichi Handa + + * composite.c (composition_compute_stop_pos): Fix condition for + backward scanning. + +2010-05-25 Glenn Morris + + * Makefile.in (@NS_IMPL_GNUSTEP_INC@, NS_IMPL_GNUSTEP_TEMACS_LDFLAGS): + Move before TEMACS_LDFLAGS. + (TEMACS_LDFLAGS): Use $NS_IMPL_GNUSTEP_TEMACS_LDFLAGS. + (temacs${EXEEXT}): Do not use $NS_IMPL_GNUSTEP_TEMACS_LDFLAGS. + + * Makefile.in (NOT_C_CODE): No longer define. + (config.h): No longer include. + + * Makefile.in (LD_SWITCH_SYSTEM_TEMACS): Move definition after some + variables it may reference. + + * Makefile.in (LD_SWITCH_SYSTEM_EXTRA): Remove. + (TEMACS_LDFLAGS): Remove LD_SWITCH_SYSTEM_EXTRA. + +2010-05-25 Kenichi Handa + + * dispextern.h (struct composition_it): New members rule_idx and + charpos. + + * xdisp.c (set_iterator_to_next): While scanning backward, assume + that the character positions of IT point the last character of the + current grapheme cluster. + (next_element_from_composition): Don't change character positions + of IT. + (append_composite_glyph): Set glyph->charpos to + it->cmp_it.charpos. + + * composite.c (autocmp_chars): Change the first argument to RULE, + and try composition with RULE only. + (composition_compute_stop_pos): Record the index number of the + composition rule in CMP_IT->rule_idx. + (composition_reseat_it): Call autocmp_chars repeatedly until the + correct rule of the composition is found. + (composition_update_it): Set CMP_IT->charpos. Assume the CHARPOS + is at the last character of the current grapheme cluster when + CMP_IT->reversed_p is nonzero. + +2010-05-24 Stefan Monnier + + * editfns.c (Fbyte_to_string): New function. + +2010-05-24 Stefan Monnier + + * process.c (Fmake_network_process): Set :host to nil if it's not used. + Suggested by Masatake YAMATO . + +2010-05-23 Eli Zaretskii + + * dispextern.h (init_iterator): Sync prototype with changed definition. + +2010-05-20 enami tsugutomo + + * s/netbsd.h: If terminfo is found, use it in preference to + termcap. (Bug#6190) [Backport from trunk] + +2010-05-19 Eli Zaretskii + + Redesign and reimplement bidi-aware edge positions of glyph rows. + + * dispextern.h (struct glyph_row): New members minpos and maxpos. + (MATRIX_ROW_START_CHARPOS, MATRIX_ROW_START_BYTEPOS) + (MATRIX_ROW_END_CHARPOS, MATRIX_ROW_END_BYTEPOS): Reference minpos + and maxpos members instead of start.pos and end.pos, respectively. + + * xdisp.c (display_line): Compare IT_CHARPOS with the position in + row->start.pos, rather than with MATRIX_ROW_START_CHARPOS. + (cursor_row_p): Use row->end.pos rather than MATRIX_ROW_END_CHARPOS. + (try_window_reusing_current_matrix, try_window_id): + Use ROW->minpos rather than ROW->start.pos. + (init_from_display_pos, init_iterator): Use EMACS_INT for + character and byte positions. + (find_row_edges): Rename from find_row_end. Accept additional + arguments for minimum and maximum buffer positions seen by + display_line for this row. Don't use iterator to find the + position following the maximum one; instead, increment the + position found by display_line directly. Fix logic; eol_pos + should be tested before the rest. Handle the case of characters + delivered from display vector (bug#6036). Fix tests related to + it->method. Handle the truncated_on_right_p rows. + (RECORD_MAX_MIN_POS): New macro. + (display_line): Use it to record the minimum and maximum buffer + positions for glyphs in the row being assembled. Record the + position of the newline that terminates the line. If word wrap is + in effect, restore minimum and maximum positions seen up to the + wrap point, when iterator returns to it. + (try_window_reusing_current_matrix): Give up if in bidi-reordered + row and cursor not already at point. Restore original pre-bidi + code for unidirectional buffers. + + * dispnew.c (increment_row_positions, check_matrix_invariants): + Increment and check row->start.pos and row->end.pos, in addition + to MATRIX_ROW_START_CHARPOS and MATRIX_ROW_END_CHARPOS. + + * .gdbinit (prowlims): Display row->minpos and row->maxpos. + Display truncated_on_left_p and truncated_on_right_p flags. + Formatting fixes. + (pmtxrows): Display the ordinal number of each row. Don't display + rows beyond the last one. + + * bidi.c (bidi_cache_iterator_state): Don't zero out new_paragraph: + it is not copied by bidi_copy_it. + +2010-05-22 Eli Zaretskii + + * w32.c (sys_write): Break writes into chunks smaller than 32MB. + (Bug#6237) + +2010-05-22 Chong Yidong + + * image.c (Fimage_flush): Rename from image-refresh. + +2010-05-21 Chong Yidong + + * xdisp.c (redisplay_internal): Clear caches even if redisplaying + just one window. + + * image.c (Vimage_cache_eviction_delay): Decrease to 300. + (clear_image_cache): If the number of cached images is unusually + large, decrease the cache eviction delay (Bug#6230). + +2010-05-21 Glenn Morris + + * Makefile.in (${ns_appdir}, ${ns_appbindir}Emacs, ns-app): + Move these rules to ns.mk. + * ns.mk: New file. + + * Makefile.in (../src/$(OLDXMENU), $(OLDXMENU)): Always define rules. + + * Makefile.in (CANNOT_DUMP): New, set by configure. + (emacs${EXEEXT}, bootstrap-emacs${EXEEXT}): Use $CANNOT_DUMP. + +2010-05-20 Juri Linkov + + * fileio.c (Fdelete_file): Change interative spec to use + `read-file-name' like in `find-file-read-args' where the default + value is `default-directory' instead of `buffer-file-name'. + http://lists.gnu.org/archive/html/emacs-devel/2010-05/msg00533.html + +2010-05-20 Kevin Ryde + + * keyboard.c (Vlast_command, Vkeyboard_translate_table) + (Voverriding_terminal_local_map, Vsystem_key_alist) + (Vlocal_function_key_map): Fix manual link in docstring (Bug#6224). + +2010-05-20 Glenn Morris + + * Makefile.in (DEPDIR): New constant. + (DEPFLAGS): Set with configure, not cpp. + (MKDEPDIR): New, set by configure. + (.c.o, .m.o, ecrt0.o): Use $MKDEPDIR. + (clean): Use $DEPDIR. + (deps_frag): Include from configure. + Move static/dynamic dependency stuff to deps.mk/autodeps.mk. + * deps.mk, autodeps.mk: New files, extracted from Makefile.in. + + * bidi.c (bidi_cache_shrink, bidi_cache_iterator_state): + Fix reallocation of the cache. (Bug#6210) + +2010-05-19 Glenn Morris + + * s/msdos.h (ORDINARY_LINK): Move to sed2v2.inp. + + * Makefile.in (LD, YMF_PASS_LDFLAGS): Set with configure, not cpp. + (GNULIB_VAR): Remove. + (LIBES): Use LIB_GCC instead of GNULIB_VAR. + + * m/ibms390x.h (LINKER): + * m/macppc.h (LINKER) [GNU_LINUX]: + * s/aix4-2.h (ORDINARY_LINK): + * s/cygwin.h (LINKER): + * s/darwin.h (ORDINARY_LINK): + * s/gnu.h (ORDINARY_LINK): + * s/netbsd.h (LINKER): + * s/usg5-4.h (ORDINARY_LINK): + Move to configure. + + * s/aix4-2.h (LINKER): Remove; this file sets ORDINARY_LINK. + +2010-05-18 Chong Yidong + + * character.c (Fstring, Funibyte_string): Use SAFE_ALLOCA to + prevent stack overflow if number of arguments is too large + (Bug#6214). + +2010-05-18 Juanma Barranquero + + * charset.c (load_charset_map_from_file): Don't call close after fclose. + +2010-05-18 Glenn Morris + + * s/gnu-linux.h: Combine two conditionals. + + * Makefile.in (otherobj): Include $(VMLIMIT_OBJ) separately from + $(POST_ALLOC_OBJ). + + * Makefile.in (RALLOC_OBJ): New, set by configure. + (rallocobj): Replace with the previous variable. + (otherobj): Use $RALLOC_OBJ. + + * s/gnu.h (REL_ALLOC) [DOUG_LEA_MALLOC]: + * s/gnu-linux.h (REL_ALLOC) [DOUG_LEA_MALLOC]: Move undef to configure. + + * Makefile.in (GMALLOC_OBJ, VMLIMIT_OBJ): New, set by configure. + (gmallocobj, vmlimitobj): Replace with previous two variables. + (otherobj): Use $GMALLOC_OBJ, $VMLIMIT_OBJ. + +2010-05-17 Glenn Morris + + * Makefile.in (OLDXMENU_DEPS): New, set by configure. + (stamp-oldxmenu): Use $OLDXMENU_DEPS. + +2010-05-16 Glenn Morris + + * Makefile.in (${ns_appbindir}Emacs, ns-app): Always define these rules. + + * Makefile.in (clean): Get rid of HAVE_NS conditional. + + * Makefile.in (ns_appdir, ns_appbindir): Now configure adds the + trailing "/". + + * Makefile.in (TEMACS_LDFLAGS2): New, set by configure. + (temacs${EXEEXT}): Combine the NS_IMPL_GNUSTEP case with the default. + + * Makefile.in (GNUSTEP_SYSTEM_LIBRARIES): Remove, unused. + (NS_IMPL_GNUSTEP_TEMACS_LDFLAGS): New, set by configure. + (LD) [NS_IMPL_GNUSTEP]: Set to $(CC) -rdynamic. + (temacs${EXEEXT}): Remove $LOCALCPP, never defined or referenced. + Make most of the NS_IMPL_GNUSTEP case the same as the default case. + + * Makefile.in (temacs${EXEEXT}) [!NS_IMPL_GNUSTEP]: + Remove ${STARTFLAGS}, nothing ever sets it. + +2010-05-16 Dan Nicolaescu + + * m/ia64.h (UNEXEC): Remove, set in s/*.h. + +2010-05-16 Glenn Morris + + * Makefile.in (LIBX_BASE): Always define. + + * Makefile.in (LIBX_OTHER): Move out of cpp section. + + * Makefile.in (LIBXT): Always define. + +2010-05-15 Glenn Morris + + * Makefile.in (OLDXMENU, LIBXMENU, LIBX_OTHER): Always define. + + * Makefile.in (FONT_DRIVERS): Remove, replace with $FONT_OBJ. + (obj, SOME_MACHINE_OBJECTS): Use $FONT_OBJ. + +2010-05-15 Ken Raeburn + + * lisp.h (XFLOAT_DATA): Use "0?x:x" to generate an rvalue. (Bug#5916) + (LISP_MAKE_RVALUE) [!USE_LISP_UNION_TYPE && !__GNUC__]: Likewise. + + * emacs.c (main): Initialize initial-environment and + process-environment before generating from env, not after. + + Handle --version reasonably in CANNOT_DUMP configuration. + * emacs.c (emacs_version, emacs_copyright): New string variables. + (Vemacs_version, Vemacs_copyright): New Lisp_Object variables. + (syms_of_emacs): Defvar them, and initialize them from the C + string variables. + (main): If initialization hasn't been done, print initial version + info from the C strings, instead of starting an interactive session. + +2010-05-15 Eli Zaretskii + + * bidi.c (bidi_paragraph_init): Don't leave alone garbage values + of bidi_it->paragraph_dir. Call bidi_initialize if needed. + (bidi_paragraph_init): Remove redundant assertion that we are at + the beginning of a line after call to bidi_find_paragraph_start. + + * xdisp.c (Fcurrent_bidi_paragraph_direction): New function. + (syms_of_xdisp): Defsubr it. + + * cmds.c (Fforward_char, Fbackward_char): Doc fix. + + * Makefile.in: Fix MSDOS-related comments. + +2010-05-15 Glenn Morris + + * Makefile.in (OLDXMENU_TARGET): New, set by configure. + (really-lwlib, really-oldXMenu): Always define. + ($OLDXMENU): Depend on $OLDXMENU_TARGET. + + * Makefile.in: Simplify cpp conditional. + + * Makefile.in (${ns_appdir}): Simplify using umask. + + * Makefile.in (${ns_appdir}): Remove references to CVS-related files. + +2010-05-14 Stefan Monnier + + * eval.c (specbind): Remove left-over duplicate test. + Disallow let-binding frame-local vars. Add comment. + +2010-05-14 Eli Zaretskii + + Make the cache of bidi iterator states dynamically allocated. + * bidi.c (bidi_cache_shrink): New function. + (bidi_init_it): Call it. + (bidi_cache_iterator_state): Enlarge the cache if needed. + + * bidi.c (bidi_move_to_visually_next): Rename from + bidi_get_next_char_visually. All callers changed. + +2010-05-14 Kenichi Handa + + * dispextern.h (struct composition_it): New member reversed_p. + + * composite.c (composition_compute_stop_pos): Search backward if + ENDPOS < CHARPOS. + (composition_reseat_it): Handle the case that ENDPOS < CHARPOS. + Set CMP_IT->reversed_p. + (composition_update_it): Pay attention to CMP_IT->reversed_p. + + * xdisp.c (set_iterator_to_next): + Call composition_compute_stop_pos with negative ENDPOS if we are + scanning backward. Call composition_compute_stop_pos if scan + direction is changed. + (next_element_from_buffer): Call composition_compute_stop_pos with + negative ENDPOS if we are scanning backward. + (next_element_from_composition): Pay attention to + IT->cmp_it.reversed_p. + +2010-05-14 Kenichi Handa + + * font.c (font_range): Return the range for the font found at first. + +2010-05-14 Glenn Morris + + * Makefile.in (ns_appdir, ns_appbindir, ns_appsrc): Always define. + + * Makefile.in (mktime, X11, register): Move undefs to configure. + + * Makefile.in (MSDOS_OBJ): Default to empty, let msdos scripts set it. + (MSDOS_X_OBJ): New variable. + (MSDOS_SUPPORT_REAL): New constant. + (MSDOS_SUPPORT): Set as a variable, not with cpp. + (obj): Use MSDOS_X_OBJ. + (lisp): Use MSDOS_SUPPORT as a variable. + + * Makefile.in (REAL_MOUSE_SUPPORT): New constant. + (GPM_MOUSE_SUPPORT): Now it's a constant. + (MOUSE_SUPPORT, TOOLTIP_SUPPORT, WINDOW_SUPPORT): Set with configure, + not cpp. + + * Makefile.in (@NS_IMPL_GNUSTEP_INC@): Use in place of #ifdef. + (ns_appresdir): Remove, unused. + + * Makefile.in (SHELL): Move outside cpp section. + + * s/netbsd.h (AMPERSAND_FULL_NAME): Remove (defined in AH_BOTTOM). + +2010-05-13 Glenn Morris + + * Makefile.in (FONT_DRIVERS): Place with other HAVE_X_WINDOWS stuff. + (TOOLTIP_SUPPORT): Place with other HAVE_WINDOW_SYSTEM stuff. + + * Makefile.in (FONT_DRIVERS): If HAVE_X_WINDOWS is defined, + HAVE_WINDOW_SYSTEM must be too. + + * Makefile.in (WINNT_SUPPORT): Remove, nt build does not use this file. + (lisp): Remove WINNT_SUPPORT. + + * Makefile.in (OLDXMENU, LIBXMENU) [!HAVE_MENUS]: + Let configure set these variables (to empty) in this case as well. + + * Makefile.in (LD_SWITCH_X_SITE): Define as a variable, not via cpp. + (LIBX_BASE): Use $LD_SWITCH_X_SITE. + + * Makefile.in (C_SWITCH_X_SYSTEM, C_SWITCH_X_SITE, LIB_STANDARD) + (LIB_MATH, FONTCONFIG_CFLAGS, FONTCONFIG_LIBS, FREETYPE_CFLAGS) + (FREETYPE_LIBS, LIBOTF_CFLAGS, LIBOTF_LIBS, M17N_FLT_CFLAGS) + (M17N_FLT_LIBS, GNU_OBJC_CFLAGS, GNUSTEP_SYSTEM_LIBRARIES, LIBGPM) + (LIBRESOLV, UNEXEC_OBJ): For clarity, define variables to hold + the values output by configure. + (ALL_CFLAGS, obj, LIBES, temacs${EXEEXT}): Use the above variables. + +2010-05-12 Glenn Morris + + * Makefile.in (YMF_PASS_LDFLAGS, LD, LINKER): Simplify the logic. + (LINKER_WAS_SPECIFIED): Remove. + + * Makefile.in (LIB_GCC): Set using configure, not cpp. + (GNULIB_VAR) [!ORDINARY_LINK]: Always set to $LIB_GCC. + * m/arm.h (LIB_GCC) [GNU_LINUX]: + * s/cygwin.h (LIB_GCC): + * s/freebsd.h (LIB_GCC): + * s/gnu-linux.h (LIB_GCC): + * s/msdos.h (LIB_GCC): + * s/netbsd.h (LIB_GCC): + Move to configure. + +2010-05-11 Karel Klíč + + * ftfont.c: Fix incorrect parentheses of #if condition for + definining M17N_FLT_USE_NEW_FEATURE. + +2010-05-11 Glenn Morris + + * Makefile.in (LIBS_SYSTEM) [MSDOS]: Do not reset. + * s/msdos.h (MSDOS_LIBS_SYSTEM): Remove. + +2010-05-10 Eli Zaretskii + + * xdisp.c (init_iterator): Don't turn on bidi reordering in + unibyte buffers. See + http://lists.gnu.org/archive/html/emacs-devel/2010-05/msg00263.html. + +2010-05-10 Glenn Morris + + * Makefile.in (LIBS_SYSTEM): Set using configure, not cpp. + (LIBS_SYSTEM) [MSDOS]: Reset with MSDOS_LIBS_SYSTEM. + (LIBES): Use LIBS_SYSTEM as a variable. + * s/msdos.h (LIBS_SYSTEM): Rename to MSDOS_LIBS_SYSTEM. Always define. + * s/aix4-2.h (LIBS_SYSTEM): + * s/freebsd.h (LIBS_SYSTEM): + * s/hpux10-20.h (LIBS_SYSTEM): + * s/sol2-6.h (LIBS_SYSTEM): + * s/unixware.h (LIBS_SYSTEM): + Move to configure. + + * s/aix4-2.h (MAIL_USE_LOCKF): + * s/bsd-common.h (MAIL_USE_FLOCK): + * s/darwin.h (MAIL_USE_FLOCK): + * s/gnu-linux.h (MAIL_USE_FLOCK): + * s/irix6-5.h (MAIL_USE_FLOCK): + * s/template.h (MAIL_USE_FLOCK): + Move to configure. + +2010-05-08 Chong Yidong + + * Version 23.2 released. + +2010-05-08 Andreas Schwab + + * composite.c (autocmp_chars): Save point as marker before calling + auto-composition-function (Bug#5984). + + * lisp.h (restore_point_unwind): Add prototype. + + * fileio.c (restore_point_unwind): Remove static attribute. + +2010-05-08 Kenichi Handa + + * ftfont.c (M17N_FLT_USE_NEW_FEATURE): Define it if we can use the + new feature of libotf and m17n-flt. + (ftfont_check_otf) [M17N_FLT_USE_NEW_FEATURE]: + Call OTF_check_features even if no specific feature is given. + (PACK_OTF_TAG) [M17N_FLT_USE_NEW_FEATURE]: New macro. + (ftfont_drive_otf) [M17N_FLT_USE_NEW_FEATURE]: Handle the case + that OUT is NULL. Use OTF_drive_gsub_with_log and + OTF_drive_gpos_with_log instead of OTF_drive_gsub and + OTF_drive_gpos. + (ftfont_try_otf) [M17N_FLT_USE_NEW_FEATURE]: New function. + (ftfont_shape_by_flt) [M17N_FLT_USE_NEW_FEATURE]: + Setup mflt_enable_new_feature and mflt_try_otf. + +2010-05-08 Jan Djärv + + * xsettings.c (Ftool_bar_get_system_style): Correct comment. + + * gtkutil.c (xg_pack_tool_bar): Change show_all to show for handle + box and toolbar (Bug #6139). + (xg_create_tool_bar): Remove comment (Bug #6139). + (xg_make_tool_item): Remove gtk_widget_show_all (Bug #6139). + (xg_show_toolbar_item): Add gtk_widget_show for weventbox (Bug #6139). + +2010-05-08 Juanma Barranquero + + * makefile.w32-in ($(BLD)/eval.$(O), $(BLD)/w32fns.$(O)): + Update dependencies. + +2010-05-08 Eli Zaretskii + + * fringe.c (update_window_fringes): Set up truncation bitmaps for + R2L lines. + +2010-05-08 Glenn Morris + + * Makefile.in (THIS_IS_MAKEFILE): Remove, unused. + + * Makefile.in (LIBS_TERMCAP): Set with configure, not cpp. + (TERMCAP_OBJ): New, set by configure, replacing termcapobj. + (termcapobj): Replace with TERMCAP_OBJ. + (otherobj): Use $TERMCAP_OBJ instead of $termcapobj. + (LIBES): Use LIBS_TERMCAP as a variable. + + * s/freebsd.h (osreldate.h): No longer include, since this file + does not use __FreeBSD_version any more. + + * s/aix4-2.h (TERMINFO): + * s/cygwin.h (TERMINFO): + * s/darwin.h (TERMINFO, LIBS_TERMCAP) [HAVE_LIBNCURSES]: + * s/freebsd.h (TERMINFO, LIBS_TERMCAP): + * s/gnu-linux.h (TERMINFO, LIBS_TERMCAP) [HAVE_LIBNCURSES]: + * s/gnu.h (TERMINFO, LIBS_TERMCAP) [HAVE_LIBNCURSES]: + * s/hpux10-20.h (TERMINFO, LIBS_TERMCAP): + * s/irix6-5.h (TERMINFO): + * s/netbsd.h (LIBS_TERMCAP): + * s/openbsd.h (TERMINFO, LIBS_TERMCAP): + * s/sol2-6.h (LIBS_TERMCAP) [!TERMINFO]: + * s/usg5-4.h (TERMINFO): + Move to configure. + +2010-05-07 Stefan Monnier + + * eval.c (unbind_to): Don't unbind a local binding into the global + binding when the local binding disappeared. Inversely, don't unbind + a global binding into a newly created local binding. + * data.c (set_internal): Make its `buf' arg into a `where' arg so we + can specify the frame to use, when applicable. Adjust callers. + +2010-05-07 Vincent Belaïche + Stefan Monnier + + * floatfns.c (Fisnan, Fcopysign, Ffrexp, Fldexp): New functions. + +2010-05-07 Eli Zaretskii + + * w32fns.c: Include w32.h. + (Fw32_shell_execute): Decode the error message before passing it + to `error'. (Bug#6126) + + * msdos.c (dos_set_window_size): + * w16select.c (Fx_selection_exists_p): Use `Fsymbol_value (foo)' + instead of `XSYMBOL (foo)->value'. + +2010-05-07 Eli Zaretskii + + Fix the MS-DOS build, broken by autoconfiscation. + + * Makefile.in: Don't use Make-style comments past the "start of + cpp stuff" line. + (MSDOS_OBJ): Remove xmenu.o (it is now defined by XMENU_OBJ). + + * s/msdos.h (UNEXEC): Don't define (@unexec@ in Makefile.in is + edited directly by msdos/sed1v2.inp). + +2010-05-07 Glenn Morris + + * Makefile.in (LD_SWITCH_SYSTEM): Set with configure, not cpp. + (LD_SWITCH_SYSTEM_EXTRA): New variable, set by configure. + (TEMACS_LDFLAGS): Use $LD_SWITCH_SYSTEM and $LD_SWITCH_SYSTEM_EXTRA, + move out of cpp section. + * s/freebsd.h (LD_SWITCH_SYSTEM): + * s/gnu-linux.h (LD_SWITCH_SYSTEM): + * s/netbsd.h (LD_SWITCH_SYSTEM): + * s/openbsd.h (LD_SWITCH_SYSTEM): Move to configure.in. + +2010-05-07 Dan Nicolaescu + + Define LIB_STANDARD and START_FILES using autoconf. + * s/usg5-4.h (LIB_STANDARD): + * s/netbsd.h (START_FILES): + * s/irix6-5.h (LIB_STANDARD): + * s/hpux10-20.h (LIB_STANDARD, START_FILES): + * s/gnu-linux.h (START_FILES, LIB_STANDARD): + * s/freebsd.h (START_FILES): + * s/darwin.h (START_FILES): + * s/cygwin.h (START_FILES): + * s/aix4-2.h (LIB_STANDARD): + * m/ibmrs6000.h (START_FILES): Remove, move logic to configure.in. + * Makefile.in (STARTFILES): Rename to START_FILES, define using + autoconf, not cpp. + +2010-05-06 Dan Nicolaescu + + Remove NEED_BSDTTY and NEED_UNISTD_H. + * s/hpux10-20.h (NEED_BSDTTY): Remove. + * s/aix4-2.h (NEED_UNISTD_H): Remove. + * systty.h: Simplify conditionals for including , + and . + + * emacs.c (main): Remove NO_DIR_LIBRARY conditional, unused. + + * Makefile.in (STARTFILES): Conditionally define to make the usage clear. + * s/gnu.h (START_FILES): Remove empty definition. + +2010-05-06 Jan Djärv + + * xterm.c (x_draw_image_relief): Move declaration of extra to beginning. + +2010-05-06 Glenn Morris + + * Makefile.in (CPP, LN_S): Remove unused variables. + +2010-05-05 Stefan Monnier + + * syntax.c (Fchar_syntax): Check the arg is a character (bug#6080). + +2010-05-05 Lawrence Mitchell + + * m/sparc.h: Fix typo in earlier change. + +2010-05-04 Stefan Monnier + + Misc tweaks. + * eval.c (Fdefvaralias): Remove unintended nested if. + (internal_condition_case_2, internal_condition_case_n): Use ANSI type. + +2010-05-04 Bernhard Herzog (tiny change) + + * xsmfns.c (smc_save_yourself_CB): strlen(client_id) => strlen(cwd). + +2010-05-04 Dan Nicolaescu + + Remove BSD_PGRPS. + * s/bsd-common.h (BSD_PGRPS): Remove undef. + * s/gnu-linux.h (BSD_PGRPS): Remove. + * term.c (dissociate_if_controlling_tty): + * sysdep.c (narrow_foreground_group, widen_foreground_group) + (init_sys_modes, reset_sys_modes): + * emacs.c (main): + * callproc.c (Fcall_process, child_setup): Remove code depending + on BSD_PGRPS. + + Remove POSIX_SIGNALS. + * s/usg5-4.h (POSIX_SIGNALS): + * s/netbsd.h (POSIX_SIGNALS): + * s/msdos.h (POSIX_SIGNALS): + * s/ms-w32.h (POSIX_SIGNALS): + * s/hpux11.h (POSIX_SIGNALS): + * s/gnu.h (POSIX_SIGNALS): + * s/gnu-linux.h (POSIX_SIGNALS): + * s/freebsd.h (POSIX_SIGNALS): + * s/darwin.h (POSIX_SIGNALS): + * s/cygwin.h (POSIX_SIGNALS): + * s/aix4-2.h (POSIX_SIGNALS): Remove definition. + * s/unixware.h: + * s/sol2-6.h: Remove comments on POSIX_SIGNALS. + * process.c (create_process): + * syssignal.h: + * sysdep.c (wait_for_termination, init_signals): + * process.c (create_process): + * msdos.c: POSIX_SIGNALS is always defined on all platforms, + remove all code that assumes the contrary. + +2010-05-04 Glenn Morris + + * s/gnu-linux.h (LD_SWITCH_SYSTEM): Use LD_SWITCH_X_SITE_AUX as a shell + variable. + * s/netbsd.h (LD_SWITCH_SYSTEM_tmp): Remove. + (LD_SWITCH_SYSTEM): Use $LD_SWITCH_X_SITE_AUX_RPATH. + * s/openbsd.h (LD_SWITCH_SYSTEM_tmp): Remove. + (LD_SWITCH_SYSTEM): Use $LD_SWITCH_X_SITE_AUX_RPATH instead of + LD_SWITCH_SYSTEM_tmp. + * Makefile.in (LD_SWITCH_X_SITE_AUX, LD_SWITCH_X_SITE_AUX_RPATH): + New variables, set by configure. + + * s/aix4-2.h (LD_SWITCH_SYSTEM_TEMACS): Move to configure.in. + * s/darwin.h (HEADERPAD_EXTRA, LIBS_NSGUI): Remove. + (LD_SWITCH_SYSTEM_TEMACS): Move to configure.in. + * Makefile.in (LD_SWITCH_SYSTEM_TEMACS): New variable, set by configure. + (TEMACS_LDFLAGS): Use $LD_SWITCH_SYSTEM_TEMACS. + + * s/aix4-2.h (C_SWITCH_SYSTEM): + * m/alpha.h (C_SWITCH_MACHINE): + Move to configure.in. + * Makefile.in (C_SWITCH_MACHINE, C_SWITCH_SYSTEM): + New variables, set by configure. + (ALL_CFLAGS): Use $C_SWITCH_MACHINE and $C_SWITCH_SYSTEM in place of + $c_switch_machine and $c_switch_system. + +2010-05-04 Dan Nicolaescu + + * s/hpux10-20.h (LIB_STANDARD): New definition. + * Makefile.in (ORDINARY_LINK): Remove setting LIB_STANDARD based + on it, not used anymore. + +2010-05-03 Chong Yidong + + * eval.c (internal_condition_case_n): Rename from + internal_condition_case_2. + (internal_condition_case_2): New function. + + * xdisp.c (safe_call): Use internal_condition_case_n. + + * fileio.c (Fdelete_file, internal_delete_file): New arg FORCE. + (internal_delete_file, Frename_file): Callers changed. + + * buffer.c (Fkill_buffer): + * callproc.c (delete_temp_file): Callers changed (Bug#6070). + + * lisp.h: Update prototypes. + +2010-05-03 Glenn Morris + + * Makefile.in (LIBX_EXTRA, LIBX_BASE): New variables. + (LIBXT_OTHER, LIBX_OTHER): New, set by configure. + (LIBXT): Set with configure, not cpp. + (LIBX): Remove. + (LIBES): Replace $LIBX with $LIBX_BASE and $LIBX_OTHER. + +2010-05-02 Dan Nicolaescu + + * m/amdx86-64.h (START_FILES, LIB_STANDARD): Remove. + The FreeBSD is not needed, the default works, Solaris version is + not needed, and the remaining case is not supported by configure. + +2010-05-02 Jan Djärv + + * xsmfns.c (CHDIR_OPT): New define. + (smc_save_yourself_CB): Add CHDIR_OPT to options to use when + restarting emacs. + + * xterm.c (x_connection_closed): Call Fkill_emacs instead of + shut_down_emacs. + + * emacs.c (USAGE1): Mention --chdir. + (main): Handle --chdir. + (standard_args): Add --chdir. + (fatal_error_signal): Call Fkill_emacs for SIGTERM and SIGHUP (Bug + #5552). + +2010-05-01 Dan Nicolaescu + + Remove LD_SWITCH_MACHINE. + * Makefile.in (LD_SWITCH_MACHINE): Remove definition, unused. + (TEMACS_LDFLAGS): Do not use LD_SWITCH_MACHINE. + + Clean up IRIX code. + * m/iris4d.h (TERMINFO, FIRST_PTY_LETTER): Move definitions ... + * s/irix6-5.h (TERMINFO, FIRST_PTY_LETTER): ... here. + + Clean up AIX code. + * m/ibmrs6000.inp: Remove file, unused. + * m/ibmrs6000.h (IBMR2AIX): Remove, unused. + (LD_SWITCH_MACHINE): Rename to LD_SWITCH_SYSTEM_TEMACS, and move + definition ... + * s/aix4-2.h (LD_SWITCH_SYSTEM_TEMACS): ... here. + + * sysdep.c (child_setup_tty, init_sys_modes): Remove !IBMR2AIX code, + unused. + +2010-05-01 Eli Zaretskii + + Emulate POSIX_SIGNALS on MS-Windows. + + * s/ms-w32.h (POSIX_SIGNALS, struct sigaction, SIG_BLOCK) + (SIG_SETMASK, SIG_UNBLOCK): Define. + + * sysdep.c (sys_signal) [WINDOWSNT]: #ifdef away. + (wait_for_termination) [WINDOWSNT]: Move MS-Windows specific code + from non-POSIX_SIGNALS section to POSIX_SIGNALS section. + + * w32.c (sigemptyset, sigaddset, sigfillset, sigprocmask): + New stubs. + + Miscellaneous fixes of bidi display. + + * xdisp.c (find_row_end): New function, refactored from display_line. + (display_line): Use it. + (extend_face_to_end_of_line): In almost-filled rows, extend only + if the row is R2L and not continued. + (display_line): Fix prepending of truncation glyphs to R2L rows. + Preserve overlay and string info in row->end. + (insert_left_trunc_glyphs): Support addition of left truncation + glyphs to R2L rows. + (set_cursor_from_row): Don't place cursor on the vertical border + glyph between adjacent windows. Fix a crash when a display string + is continued to the next line. Don't return zero if cursor was + found by `cursor' property of a display string. + (try_cursor_movement): Don't assume that row->end == (row+1)->start, + test for that explicitly. + +2010-05-01 Glenn Morris + + * Makefile.in (gmallocobj, rallocobj, vmlimitobj): Initialize to null, + for clarity. + (OTHER_OBJ): Remove. + (PRE_ALLOC_OBJ, POST_ALLOC_OBJ): New, set by configure. + (otherobj): Use PRE_ALLOC_OBJ, POST_ALLOC_OBJ rather than OTHER_OBJ. + +2010-05-01 Karel Klíč + + * fileio.c (Ffile_selinux_context): Context functions may return null. + +2010-04-30 Dan Nicolaescu + + * s/gnu.h (POSIX_SIGNALS, START_FILES): New definitions. + +2010-04-30 Glenn Morris + + * Makefile.in (vmlimitobj) [!SYSTEM_MALLOC]: New variable. (Bug#6065) + (OTHER_OBJ): Define as a separate variable, for clarity. + +2010-04-30 Jan Djärv + + * xsettings.c: Include limits.h and update file comment. + +2010-04-30 Glenn Morris + + * Makefile.in (OLDXMENU, LIBXMENU) [HAVE_MENUS]: + Set with configure, not cpp. + (LIBW): Remove, replace with $TOOLKIT_LIBW. + + * Makefile.in (mallocobj): Remove. + (otherobj): Simplify using @OTHER_OBJ@. + + * Makefile.in (dispnew.o, frame.o, fringe.o, font.o, fontset.o) + (keyboard.o, window.o, xdisp.o, xfaces.o, menu.o): + Don't bother making nsgui.h dependency platform-specific. + + * Makefile.in (nsfns.o): Remove duplicate nsgui.h dependency. + +2010-04-29 Stefan Monnier + + * process.c (read_process_output, exec_sentinel): Don't burp if the + sentinel/filter kills the current buffer (bug#6060). + + Fix wrong-docstring problem introduced with hash-consing. (Bug#6008) + * eval.c (Fautoload): Set doc to a unique number rather than to 0. + Remove unused var `args'. + * lisp.h (XSETCARFASTINT, XSETCDRFASTINT): Remove. + (LOADHIST_ATTACH): Wrap with do...while to avoid surprises for callers. + * doc.c (store_function_docstring): Use XSETCAR. + +2010-04-28 Glenn Morris + + * Makefile.in (BASE_WINDOW_SUPPORT, X_WINDOW_SUPPORT): New variables. + (WINDOW_SUPPORT) [HAVE_WINDOW_SYSTEM]: Use them. + + * Makefile.in (CYGWIN_OBJ): Set with configure, not cpp. + + * Makefile.in (GPM_MOUSE_SUPPORT): New, set by configure. + (MOUSE_SUPPORT) [!HAVE_MOUSE]: Use $GPM_MOUSE_SUPPORT. + + * Makefile.in (FONT_OBJ): New, set by configure. + (FONT_DRIVERS): Use $FONT_OBJ. + + * Makefile.in (LIBXMU): Set with configure, not cpp. + * s/aix4-2.h (LIBXMU): + * s/hpux10-20.h (LIBXMU): + Remove definition, now set in configure. + + * Makefile.in (NS_OBJ, NS_SUPPORT): Set with configure, not cpp. + + * m/amdx86-64.h [i386]: Move this test to configure.in. + +2010-04-27 Glenn Morris + + * Makefile.in (LIBXTR6): Set with configure, not cpp. + * s/unixware.h (NEED_LIBW): Remove definition. + + * Makefile.in (LUCID_LIBW, MOTIF_LIBW): Remove, replacing by... + (TOOLKIT_LIBW): New, set by configure. + (@X_TOOLKIT_TYPE@): No longer define it. + + * Makefile.in (LIBXP): Remove, since included in MOTIF_LIBW. + (MOTIF_LIBW): Set with configure, not cpp. + * s/aix4-2.h (LIB_MOTIF): + * s/gnu-linux.h (LIB_MOTIF): + * s/unixware.h (LIB_MOTIF): Move to configure.in. + +2010-04-27 Dan Nicolaescu + + Reduce CPP usage. + * Makefile.in (LIB_X11_LIB): Remove, inline in the only user. + (obj): Use autoconf for unexec instead of cpp. + (C_SWITCH_SYSTEM, C_SWITCH_MACHINE, C_SWITCH_X_SITE): + Remove definitions and undefs. Inline definitions in the only user. + (ALL_CFLAGS): Substitute C_SWITCH_X_SYSTEM using autoconf. + +2010-04-27 Glenn Morris + + * m/amdx86-64.h (START_FILES, LIB_STANDARD): Change the logic around, + since the defaults (set by the system file) are fine in most cases. + [GNU_LINUX, __OpenBSD__, __NetBSD__, __APPLE__]: Remove sections. + * m/ibms390x.h (START_FILES, LIB_STANDARD): + * m/macppc.h (START_FILES, LIB_STANDARD) [GNU_LINUX]: + * m/sparc.h (START_FILES, LIB_STANDARD) [__linux__]: + Remove definitions, since they are set correctly in s/gnu-linux.h. + * s/freebsd.h (START_FILES, LIB_STANDARD): + * s/gnu-linux.h (START_FILES, LIB_STANDARD): + * s/hpux10-20.h (START_FILES): + * s/netbsd.h (START_FILES, LIB_STANDARD, START_FILES_1, END_FILES_1): + Use $CRT_DIR in place of fixed /usr/lib, /lib directories. + + * Makefile.in (LIBXP, LUCID_LIBW, WIDGET_OBJ): Set via configure. + (MOTIF_LIBW): Use $LIBXP. + (otherobj): Use $WIDGET_OBJ. + +2010-04-26 Dan Nicolaescu + + * Makefile.in (LIBS_MACHINE): Remove, unused. + + Use autoconf instead of cpp for LIB_MATH. + * s/darwin.h (LIB_MATH): Do not define here, move to configure. + * s/cygwin.h (LIB_MATH): Likewise. + * Makefile.in (LIB_MATH): Do not define with cpp. + (LIBES): Use autoconf for LIB_MATH. + +2010-04-26 Kenichi Handa + + * composite.c (Ffind_composition_internal): Fix the return value + for an automatic composition. + +2010-04-25 Dan Nicolaescu + + Remove all NO_ARG_ARRAY uses. + * fns.c (concat2, concat3, nconc2): + * eval.c (apply1, call1, call2, call3, call4, call5, call6) + (call7): Remove NO_ARG_ARRAY usage, assume it's always true. + * m/xtensa.h (NO_ARG_ARRAY): + * m/template.h (NO_ARG_ARRAY): + * m/sparc.h (NO_ARG_ARRAY): + * m/sh3.h (NO_ARG_ARRAY): + * m/mips.h (NO_ARG_ARRAY): + * m/macppc.h (NO_ARG_ARRAY): + * m/iris4d.h (NO_ARG_ARRAY): + * m/intel386.h (NO_ARG_ARRAY): + * m/ibms390x.h (NO_ARG_ARRAY): + * m/ibms390.h (NO_ARG_ARRAY): + * m/ibmrs6000.h (NO_ARG_ARRAY): + * m/ia64.h (NO_ARG_ARRAY): + * m/hp800.h (NO_ARG_ARRAY): + * m/arm.h (NO_ARG_ARRAY): + * m/amdx86-64.h (NO_ARG_ARRAY): + * m/alpha.h (NO_ARG_ARRAY): Remove definition. + +2010-04-25 Eli Zaretskii + + * xdisp.c (display_line): Don't assume 2nd call to + get_next_display_element cannot return zero. (Bug#6030) + (iterate_out_of_display_property): New function, body from pop_it. + (pop_it): Use it. + +2010-04-24 Glenn Morris + + * m/amdx86-64.h (START_FILES, LIB_STANDARD) [__OpenBSD__]: + For clarity, revert to using fixed /usr/lib rather than $CRT_DIR. + (START_FILES, LIB_STANDARD) [__FreeBSD__]: Merge into the generic case, + since CRT_DIR defaults to /usr/lib. Suggested by Dan Nicolaescu. + +2010-04-24 Eli Zaretskii + + * xdisp.c (display_line): Use `reseat' instead of `reseat_1', and + use `get_next_display_element' and `set_iterator_to_next' to + advance to the next character, when looking for the character that + begins the next row. + + * .gdbinit: Add a "set Fmake_symbol" line to force GDB to load the + definition of "struct Lisp_Symbol". + +2010-04-24 Glenn Morris + + * Makefile.in (CRT_DIR): New variable, set by configure. + * m/amdx86-64.h, m/ibms390x.h (START_FILES, LIB_STANDARD): + Use $CRT_DIR rather than HAVE_LIB64_DIR. (Bug#5655) + +2010-04-23 Dan Nicolaescu + + * Makefile.in: Remove C_SWITCH_X_MACHINE, unused. + + * s/cygwin.h (LIBS_DEBUG): Remove, unused. + + Remove redundant flags. + * s/freebsd.h (C_SWITCH_SYSTEM): + * s/hpux10-20.h (C_SWITCH_X_SYSTEM, LD_SWITCH_X_DEFAULT): + * s/netbsd.h (C_SWITCH_SYSTEM): + * s/openbsd.h (LD_SWITCH_X_DEFAULT): Remove, configure takes care + of these. + + Simplify m/intel386.h. + * m/intel386.h (CRT0_DUMMIES): Remove, inline value in the only + user: ecrt0.c. + (SOLARIS2): Remove LOAD_AVE_TYPE, LOAD_AVE_CVT, LIBS_MACHINE, unused. + (USG5_4): Move LOAD_AVE_TYPE, LOAD_AVE_CVT, FSCALE definitions to + the only user: s/unixware.h. + * ecrt0.c: Remove #ifndef static. Inline CRT0_DUMMIES definition + from m/intel386.h. + * s/unixware.h (LOAD_AVE_TYPE, LOAD_AVE_CVT, FSCALE): + Definitions moved here from m/intel386.h. + + * m/mips.h: Remove #if 0 code. + +2010-04-23 Eli Zaretskii + + Fix display of composed characters from L2R scripts in bidi buffers. + * xdisp.c (set_iterator_to_next, next_element_from_composition): + After advancing IT past the composition, resync the bidi iterator + with IT's position. (Bug#5977) + +2010-04-23 Dan Nicolaescu + + * Makefile.in (LD_SWITCH_MACHINE_TEMACS): Remove, unused. + (TEMACS_LDFLAGS): Don't use LD_SWITCH_SYSTEM_TEMACS. + +2010-04-23 Stefan Monnier + + * gtkutil.c: Include xsettings.h for Ftool_bar_get_system_style. + +2010-04-23 Eli Zaretskii + + Support `display' text properties and overlay strings in bidi buffers. + * xdisp.c (pop_it): When the stack is popped after displaying + from a string, bidi-iterate to exit from the text portion covered + by the `display' property or overlay. (Bug#5988, bug#5920) + +2010-04-23 Dan Nicolaescu + + * m/macppc.h (LD_SWITCH_SYSTEM_TEMACS): Remove #undef. + (LD_SWITCH_MACHINE_TEMACS): Remove, configure sets nocombreloc. + + * s/netbsd.h (LD_SWITCH_SYSTEM_TEMACS): Remove, configure sets nocombreloc. + * s/openbsd.h (LD_SWITCH_SYSTEM_TEMACS): Remove. + + Simplify STARTFILES definition. + * s/hpux10-20.h (START_FILES): Explicitly define here instead of + relying on Makefile.in to define it. + * s/cygwin.h (START_FILES): Likewise. + * Makefile.in (STARTFILES): Remove conditional code, not needed anymore. + + Clean up Solaris code. + * s/sol2-6.h (LD_SWITCH_SYSTEM_TEMACS, C_SWITCH_X_SYSTEM) + (LIB_MOTIF): Remove, configure takes care of this. + (NOT_USING_MOTIF): Remove, unused. + * xrdb.c: Remove #if 0-ed #include. + (SYSV): Remove conditional for old SysV. + * sysdep.c (closedir): Remove conditional code for Solaris, + Solaris has closedir. + +2010-04-22 Jan Djärv + + * xsettings.c (read_and_apply_settings): Check if current_font is + NULL before strcmp (Bug#6001). + +2010-04-21 Dan Nicolaescu + + Clean up HP-UX files. + * m/hp800.h (NO_REMAP, VIRT_ADDR_VARIES, DATA_SEG_BITS) + (DATA_START, TEXT_START, LOAD_AVE_TYPE, LOAD_AVE_CVT) + (LDAV_SYMBOL, index, rindex): Move definitions only used in HP-UX ... + * s/hpux10-20.h: ... to the only user, here. + +2010-04-21 Eli Zaretskii + + * bidi.c (bidi_find_paragraph_start, bidi_at_paragraph_end): Don't + use buffer-local values of paragraph-start and paragraph-separate. + : Rename from + fallback_paragraph_start_re and fallback_paragraph_separate_re. + (Bug#5992) + +2010-04-21 Jan Djärv + + * xsettings.c: Qmonospace_font_name, Qtool_bar_style and + current_tool_bar_style are new. + (store_config_changed_event): Rename from store_font_changed_event. + (XSETTINGS_TOOL_BAR_STYLE): New define. + (SEEN_FONT, SEEN_TB_STYLE): New enum values. + (struct xsettings): Add font and tb_style, set xft stuff inside #ifdef + HAVE_XFT. + (something_changedCB): store_font_changed_event is now + store_config_changed_event. + (parse_settings): Rename from parse_xft_settings. + Read non-xft xsettings outside #ifdef HAVE_XFT. + (read_settings): Rename from read_xft_settings. + (apply_xft_settings): Take current settings as parameter. Do not + call read_(xft)_settings. + (read_and_apply_settings): New function. + (xft_settings_event): Do non-xft stuff out of HAVE_XFT. + Call read_and_apply_settings if there are settings to be read. + (init_xsettings): Rename from init_xfd_settings. + Call read_and_apply_settings unconditionally. + (xsettings_initialize): Call init_xsettings. + (Ftool_bar_get_system_style): New function. + (syms_of_xsettings): Define Qmonospace_font_name and + Qtool_bar_style. Initialize current_tool_bar_style to nil. + defsubr Stool_bar_get_system_style. Fprovide on + dynamic-setting. + Move misplaced HAVE_GCONF. + + * xsettings.h (Ftool_bar_get_system_style): Declare. + + * xdisp.c: Vtool_bar_style, tool_bar_max_label_size, + Qtext, Qboth, Qboth_horiz are new. + (syms_of_xdisp): Intern Qtext, Qboth, Qboth_horiz, DEFVAR + Vtool_bar_style, tool_bar_max_label_size. + + * lisp.h: Extern declare Qtext, Qboth, Qboth_horiz. + + * keyboard.c: QClabel is new. + (parse_tool_bar_item): Take out QClabel from tool bar items. + Try to construct a label if ther is no QClabel. + (syms_of_keyboard): Intern :label as QClabel. + + * dispextern.h (tool_bar_item_idx): TOOL_BAR_ITEM_LABEL is new. + (Vtool_bar_style, tool_bar_max_label_size, DEFAULT_TOOL_BAR_LABEL_SIZE): + New. + + * Makefile.in (SOME_MACHINE_LISP): font-setting.el renamed to + dynamic-setting.el. + + * gtkutil.c (xg_tool_bar_menu_proxy): Handle label in tool bar item. + (xg_make_tool_item, xg_show_toolbar_item): New function. + (update_frame_tool_bar): Take label from TOOL_BAR_ITEM_LABEL. + Call xg_make_tool_item to make a tool bar item. + Call xg_show_toolbar_item. Use wtoolbar instead of x->toolbar_widget. + + * xterm.c (x_draw_image_relief): Take Vtool_bar_button_margin + into account for toolbars. + +2010-04-21 Jan Djärv + + * data.c (make_blv): Declarations before code (Bug#5993). + +2010-04-21 Glenn Morris + + * Makefile.in (DBUS_OBJ, GTK_OBJ, XMENU_OBJ, XOBJ): + Define using autoconf, not cpp. + (LIBXSM): New variable, set by autoconf. + (LIBXT): Use $LIBXSM. + +2010-04-21 Dan Nicolaescu + + Remove NOMULTIPLEJOBS, unused. + * s/template.h (NOMULTIPLEJOBS): + * s/msdos.h (NOMULTIPLEJOBS): Remove, unused. + + Simplify LD_SWITCH_SYSTEM_TEMACS usage. + * s/freebsd.h (LD_SWITCH_SYSTEM_TEMACS): + * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Remove, configure + detects -znocombreloc and passes it to the linker + * s/hpux10-20.h (LD_SWITCH_SYSTEM_TEMACS): Remove, empty. + +2010-04-21 Glenn Morris + + * Makefile.in (LIBSELINUX_LIBS): Move out of #ifdef. + +2010-04-21 Karel Klíč + + * Makefile.in (LIBSELINUX_LIBS): New. + (LIBES): Add $LIBSELINUX_LIBS. + * eval.c, lisp.h (call7): New function. + * fileio.c [HAVE_LIBSELINUX]: Include selinux headers. + (Ffile_selinux_context, Fset_file_selinux_context): + New functions. + (Fcopy_file): New parameter preserve-selinux-context. + (Frename_file): Preserve selinux context when renaming by copy-file. + +2010-04-21 Juanma Barranquero + Eli Zaretskii + + Don't depend on cm.c or termcap.c on Windows, use stubs. + * makefile.w32-in (OBJ1): Remove cm.$(O) and termcap.$(O). + ($(BLD)/cm.$(O), $(BLD)/termcap.$(O)): Remove. + * w32console.c (current_tty, cost): New vars; lifted from cm.c. + (evalcost, cmputc, cmcheckmagic, cmcostinit, cmgoto, Wcm_clear) + (sys_tputs, sys_tgetstr): New stubs. + * s/ms-w32.h (chcheckmagic, cmcostinit, cmgoto, cmputc, Wcm_clear) + (tputs, tgetstr): New; define to sys_*. + +2010-04-20 Juanma Barranquero + + * buffer.c (syms_of_buffer) : Doc fix. + +2010-04-20 Stefan Monnier + + * data.c (Fmake_variable_buffer_local, Fmake_local_variable): + Just signal a warning rather than an error when inside a let. + (Fmake_variable_frame_local): Add the same test. + + * font.c (syms_of_font): Make the style table vars read-only. + + * buffer.h (struct buffer): Remove unused var `direction_reversed'. + * buffer.c (init_buffer_once, syms_of_buffer): Remove its initialization. + + * bidi.c (bidi_initialize): Simplify fallback_paragraph_*_re init. + +2010-04-20 Eli Zaretskii + + Fix R2L paragraph display on TTY. + + * xdisp.c (unproduce_glyphs): New function. + (display_line): Use it when produced glyphs are discarded from R2L + glyph rows. + (append_composite_glyph): In R2L rows, prepend the glyph rather + than appending it. + + * term.c (append_composite_glyph): In R2L rows, prepend the glyph + rather than append it. Set up the resolved_level and bidi_type + attributes of the appended glyph. + (produce_special_glyphs): Mirror the backslash continuation + character in R2L lines. + + Implement display of R2L paragraphs in GUI sessions. + + * xdisp.c [HAVE_WINDOW_SYSTEM]: Add prototype for + append_stretch_glyph. + (set_cursor_from_row) : Remove unused variable. + Fix off-by-one error in computing x at end of text in the row. + (append_stretch_glyph): In reversed row, prepend the glyph rather + than append it. Set resolved_level and bidi_type of the glyph. + (extend_face_to_end_of_line): If the row is reversed, prepend a + stretch glyph whose width is such that the rightmost glyph will be + drawn at the right margin of the window. Fix off-by-one error on + TTY frames in testing whether a line needs face extension. + Fix face extension at ZV. If this is the last glyph row, use + DEFAULT_FACE_ID, to avoid painting the rest of the window with the + region face. + (set_cursor_from_row, display_line): + Use MATRIX_ROW_CONTINUATION_LINE_P instead of testing value of + row->continuation_lines_width. + (next_element_from_buffer): Don't call bidi_paragraph_init if we + are at ZV. Fixes a crash when reseated to ZV by + try_window_reusing_current_matrix. + (display_and_set_cursor, erase_phys_cursor): Handle negative HPOS, + which happens with R2L glyph rows. Fixes a crash when inserting a + character at end of an R2L line. + (set_cursor_from_row): Don't be fooled by truncated rows: don't + treat them as having zero-width characters. Improve comments. + Don't reverse pos_before and pos_after for reversed glyph rows. + Set cursor.x to negative value when the cursor might be on the + left fringe. + (IT_OVERFLOW_NEWLINE_INTO_FRINGE): For R2L lines, consider the + left fringe, not the right one. + (notice_overwritten_cursor, draw_phys_cursor_glyph) + (erase_phys_cursor): For reversed cursor_row, support cursor on + the left fringe. + + * fringe.c (update_window_fringes): For R2L rows, swap the bitmaps + of continuation indicators on the fringes. + (draw_fringe_bitmap): For reversed glyph rows, allow cursor on the + left fringe. + + * w32term.c (w32_draw_window_cursor): For reversed glyph rows, + draw cursor on the left fringe. + + * xterm.c (x_draw_window_cursor): For reversed glyph rows, draw + cursor on the left fringe. + + * dispnew.c (update_text_area): Handle reversed desired rows when + the cursor is on the left fringe. + (set_window_cursor_after_update): Limit cursor's hpos by -1 from + below, not by 0, for when the cursor is on the left fringe. + +2010-04-20 Jan Djärv + + * gtkutil.c (xg_event_is_for_scrollbar): Check if grabbed + widget is a scrollbar. + +2010-04-20 Kenichi Handa + + * charset.c (char_charset): Consider Vcharset_non_preferred_head + only when the arg CHARSET_LIST is nil. + +2010-04-20 Stefan Monnier + + Make variable forwarding explicit rather the using special values. + Basically, this makes the structure of buffer-local values and object + forwarding explicit in the type of Lisp_Symbols rather than use + special Lisp_Objects for that. This tends to lead to slightly more + verbose code, but is more C-like, simpler, and makes it easier to make + sure we handled all cases, among other things by letting the compiler + help us check it. + * lisp.h (enum Lisp_Misc_Type, union Lisp_Misc): + Removing forwarding objects. + (enum Lisp_Fwd_Type, enum symbol_redirect, union Lisp_Fwd): New types. + (struct Lisp_Symbol): Make the various forms of variable-forwarding + explicit rather than hiding them inside Lisp_Object "values". + (XFWDTYPE): New macro. + (XINTFWD, XBOOLFWD, XOBJFWD, XKBOARD_OBJFWD): Redefine. + (XBUFFER_LOCAL_VALUE): Remove. + (SYMBOL_VAL, SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD, SET_SYMBOL_VAL) + (SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD): New macros. + (SYMBOL_VALUE, SET_SYMBOL_VALUE): Remove. + (struct Lisp_Intfwd, struct Lisp_Boolfwd, struct Lisp_Objfwd) + (struct Lisp_Buffer_Objfwd, struct Lisp_Kboard_Objfwd): + Remove the Lisp_Misc_* header. + (struct Lisp_Buffer_Local_Value): Redefine. + (BLV_FOUND, SET_BLV_FOUND, BLV_VALUE, SET_BLV_VALUE): New macros. + (struct Lisp_Misc_Any): Add filler to get the right size. + (struct Lisp_Free): Use struct Lisp_Misc_Any rather than struct + Lisp_Intfwd. + (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL, DEFVAR_INT) + (DEFVAR_KBOARD): Allocate a forwarding object. + * data.c (do_blv_forwarding, store_blv_forwarding): New macros. + (let_shadows_global_binding_p): New function. + (union Lisp_Val_Fwd): New type. + (make_blv): New function. + (swap_in_symval_forwarding, indirect_variable, do_symval_forwarding) + (store_symval_forwarding, swap_in_global_binding, Fboundp) + (swap_in_symval_forwarding, find_symbol_value, Fset) + (let_shadows_buffer_binding_p, set_internal, default_value) + (Fset_default, Fmake_variable_buffer_local, Fmake_local_variable) + (Fkill_local_variable, Fmake_variable_frame_local) + (Flocal_variable_p, Flocal_variable_if_set_p) + (Fvariable_binding_locus): + * xdisp.c (select_frame_for_redisplay): + * lread.c (Fintern, Funintern, init_obarray, defvar_int) + (defvar_bool, defvar_lisp_nopro, defvar_lisp, defvar_kboard): + * frame.c (store_frame_param): + * eval.c (Fdefvaralias, Fuser_variable_p, specbind, unbind_to): + * bytecode.c (Fbyte_code) : Adapt to the new symbol + value structure. + * buffer.c (PER_BUFFER_SYMBOL): Move from buffer.h. + (clone_per_buffer_values): Only adjust markers into the current buffer. + (reset_buffer_local_variables): PER_BUFFER_IDX is never -2. + (Fbuffer_local_value, set_buffer_internal_1) + (swap_out_buffer_local_variables): + Adapt to the new symbol value structure. + (DEFVAR_PER_BUFFER): Allocate a Lisp_Buffer_Objfwd object. + (defvar_per_buffer): Take a new arg for the fwd object. + (buffer_lisp_local_variables): Return a proper alist (different fix + for bug#4138). + * alloc.c (Fmake_symbol): Use SET_SYMBOL_VAL. + (Fgarbage_collect): Don't handle buffer_defaults specially. + (mark_object): Handle new symbol value structure rather than the old + special Lisp_Misc_* objects. + (gc_sweep) : Free also the buffer-local-value objects. + * term.c (set_tty_color_mode): + * bidi.c (bidi_initialize): Don't access the ->value field directly. + * buffer.h (PER_BUFFER_VAR_OFFSET): Don't bother with + a buffer_local_flags. + * print.c (print_object): Get rid of impossible forwarding objects. + +2010-04-19 Eli Zaretskii + + * bidi.c (bidi_get_type, bidi_get_category) + (bidi_at_paragraph_end, bidi_resolve_weak, bidi_resolve_neutral) + (bidi_type_of_next_char, bidi_level_of_next_char): + Declare static. Use `INLINE' rather than `inline'. + +2010-04-19 Juanma Barranquero + + * dired.c (Ffile_attributes): Fix typo in docstring. + +2010-04-19 Adrian Robert + + * nsmenu.m (EmacsDialog-runDialogAt:): Declare ret as + NSInteger (Bug#5811). + +2010-04-19 YAMAMOTO Mitsuharu + + * s/darwin.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF) + (PTY_OPEN): New defines. Use openpty (Bug#726, Bug#5819). + +2010-04-19 YAMAMOTO Mitsuharu + + * frame.h (FRAME_LINE_TO_PIXEL_Y): Add missing parenthesis. + +2010-04-19 Chong Yidong + + * xdisp.c (prepare_menu_bars): Don't call ns_set_doc_edited for + terminal frames (Bug#5837). + +2010-04-19 Eli Zaretskii + + * .gdbinit (xsubchartable): New command. + +2010-04-19 Eli Zaretskii + + * xdisp.c (display_line): Don't write beyond the last glyph row in + the desired matrix. Fixes a crash in "emacs -nw" (bug#5972), see + http://lists.gnu.org/archive/html/emacs-devel/2010-04/msg00075.html + and + http://lists.gnu.org/archive/html/emacs-devel/2010-04/msg00213.html + +2010-04-18 Stefan Monnier + + * alloc.c (Fpurecopy): Hash-cons if requested. + (syms_of_alloc): Update purify-flag docstring. + +2010-04-18 Jan Djärv + + * gtkutil.c (xg_set_geometry): Set size in geometry string also. + (x_wm_set_size_hint): Set USER_POS in hint_flags (Bug#5968). + +2010-04-17 Eli Zaretskii + + Fix a crash when an NSM character is inserted at BEGV. + + * bidi.c (bidi_init_it): Fix initialization of bidi_it->prev. + (bidi_resolve_weak): Don't use prev.type_after_w1 if it is + NEUTRAL_B or UNKNOWN_BT. + +2010-04-16 Eli Zaretskii + + * xdisp.c (set_cursor_from_row): Don't consider possibility of + other rows with cursor unless they are different from this row and + this row is part of a continued line. (Bug#5943) + +2010-04-16 Dan Nicolaescu + + * s/freebsd.h: Restore osreldate.h include. + Suggested by Naohiro Aota. + +2010-04-16 Jan Djärv + + * xmenu.c (apply_systemfont_to_menu): *childs was incorrectly used. + +2010-04-16 Ken Brown (tiny change) + + * s/cygwin.h: Avoid linking against static libgcc. + +2010-04-15 Juri Linkov + + * window.c: Add Qscroll_command. + Remove Vscroll_preserve_screen_position_commands. + (window_scroll_pixel_based, window_scroll_line_based): Check the + `scroll-command' property on the last command instead of searching + the last command in Vscroll_preserve_screen_position_commands. + (syms_of_window): Initialize and staticpro `Qscroll_command'. + Put Qscroll_command property on Qscroll_up and Qscroll_down. + (scroll-preserve-screen-position): Doc fix. + (Vscroll_preserve_screen_position_commands): Remove variable. + +2010-04-15 Dan Nicolaescu + + * xdisp.c (message): Do not use NO_ARG_ARRAY. + +2010-04-14 Dan Nicolaescu + + Reduce cpp use in Makefile.in. + * Makefile.in (DBUS_CFLAGS, DBUS_LIBS, GCONF_CFLAGS, GCONF_LIBS) + (LIBSOUND, CFLAGS_SOUND, RSVG_LIBS, RSVG_CFLAGS, INTERVALS_H) + (GETLOADAVG_LIBS, RUN_TEMACS): Move to the autoconf section. + (ORDINARY_LINK): Remove, defined in src/s/gnu.h. + (CRT0_COMPILE): Remove, inline it in the only user. + +2010-04-14 Juri Linkov + + * window.c (keys_of_window): Rebind `C-v' from `scroll-up' to + `scroll-up-command' and `M-v' from `scroll-down' to + `scroll-down-command'. + +2010-04-14 Juri Linkov + + * window.c (Vscroll_preserve_screen_position_commands): New variable + with the default value as the list of Qscroll_down and Qscroll_up. + (window_scroll_pixel_based, window_scroll_line_based): Search the + last command in the list Vscroll_preserve_screen_position_commands + instead of comparing with Qscroll_up and Qscroll_down. + +2010-04-13 Jan Djärv + + * gtkutil.c (xg_set_geometry): Set geometry for PPosition also. + (x_wm_set_size_hint): Dont set position flags, gtk_window_parse_geometry + does that. + + * xfns.c (Fx_create_frame, x_create_tip_frame): Set default border width + to zero. + +2010-04-13 Stefan Monnier + + * term.c (init_tty): Move common text outside of #ifdef TERMINFO. + + Try to solve the problem of spurious EOF chars in long lines of text + sent to interactive subprocesses. + * sysdep.c (child_setup_tty): Do not enable ICANON any more. + (system_process_attributes): Remove unused var `ttotal'. + * process.c (send_process): Don't bother breaking long line with EOF + chars when talking to ttys any more. + (wait_reading_process_output): Output a warning when called in such + a way that it could block without being interruptible. + + Try to detect file modification within the same second. + * buffer.h (struct buffer): New field modtime_size. + * buffer.c (reset_buffer): Initialize it. + * fileio.c (Finsert_file_contents, Fwrite_region): Set it. + (Fverify_visited_file_modtime): Check it. + (Fclear_visited_file_modtime, Fset_visited_file_modtime): Clear it. + (Fset_visited_file_modtime): Set (or clear) it. + +2010-04-12 Stefan Monnier + + * process.c (status_notify): Remove unused var `ro'. + +2010-04-12 Jan Djärv + + * xfns.c (select_visual): Don't call error if XGetVisualInfo returns + more than one visual (Bug#5938). + +2010-04-12 Dan Nicolaescu + + * Makefile.in (C_SWITCH_SYSTEM,C_SWITCH_MACHINE,C_SWITCH_X_SITE): + Undefine. + +2010-04-11 Dan Nicolaescu + + Remove C_SWITCH_SYSTEM_TEMACS. + * s/darwin.h (C_SWITCH_SYSTEM_TEMACS): Remove. + (malloc, realloc, free): Use emacs, not temacs for conditional + definition. + + * Makefile.in (C_SWITCH_SYSTEM_TEMACS): Remove. + (ALL_CFLAGS): Do not use C_SWITCH_SYSTEM_TEMACS. + + Use autoconf, not cpp for some variables. + * Makefile.in (C_SWITCH_SYSTEM, C_SWITCH_MACHINE) + (C_SWITCH_X_SITE): Define using autoconf, not cpp. + (ALL_CFLAGS): Use them as make variables. + (really-lwlib, really-oldXMenu): Do not pass them. + +2010-04-11 Jan Djärv + + * xmenu.c (apply_systemfont_to_dialog): New. + (create_and_show_dialog): Call apply_systemfont_to_dialog if HAVE_XFT. + +2010-04-11 Stefan Monnier + + * process.c (exec_sentinel): Preserve current-buffer. + + * process.c (read_process_output): Move the save-current-buffer to + apply to both the filter and the non-filter branches. + +2010-04-10 Dan Nicolaescu + + * s/msdos.h (UNEXEC): New definition. + +2010-04-10 YAMAMOTO Mitsuharu + + * dispextern.h (TRY_WINDOW_CHECK_MARGINS) + (TRY_WINDOW_IGNORE_FONTS_CHANGE): New defines. + + * xdisp.c (try_window): Change arg from CHECK_MARGINS to FLAGS. + Don't abort with fonts change if TRY_WINDOW_IGNORE_FONTS_CHANGE is + set in FLAGS. Callers with non-zero CHECK_MARGINS changed to use + TRY_WINDOW_CHECK_MARGINS. + + * xfns.c (Fx_show_tip): Undo last change. Call try_window with + TRY_WINDOW_IGNORE_FONTS_CHANGE (Bug#2423). Subtract last glyph's + width only when it is for padding. + +2010-04-09 Jan Djärv + + * xfns.c (Fx_show_tip): Call try_window in a loop until + fonts_changed_p is zero (Bug#2423). + +2010-04-08 Eli Zaretskii + + * xdisp.c (set_cursor_from_row): Don't dereference glyphs beyond + the end of TEXT_AREA. (Bug#5856) + +2010-04-08 Jan Djärv + + * xsettings.c (XSETTINGS_FONT_NAME): Move XSETTINGS_FONT_NAME out of + HAVE_GCONF. + +2010-04-08 Eli Zaretskii + + * bidi.c (bidi_resolve_weak): Use prev.type_after_w1, instead of + prev.orig_type, for resolving type of NSM. (Bug#5858) + +2010-04-08 Jan Djärv + + * xsettings.c (current_font, SYSTEM_FONT, XSETTINGS_FONT_NAME): New. + (parse_xft_settings): Also check for XSETTINGS_FONT_NAME and save that + in current_font. + (init_gconf): Read value of SYSTEM_FONT and save it in current_font. + (Ffont_get_system_normal_font, xsettings_get_system_normal_font): + New functions. + (syms_of_xsettings): Initialize current_font. + defsubr Sfont_get_system_normal_font. + + * xsettings.h (Ffont_get_system_normal_font) + (xsettings_get_system_normal_font): Declare. + + * xfns.c (extern xlwmenu_default_font): Remove. + (Fx_create_frame): Remove setting of xlwmenu_default_font, moved + to xlwmenu.c. + + * menu.c (digest_single_submenu): If USE_LUCID and HAVE_XFT, encode + menu items in UTF-8. + + * xmenu.c: Include xsettings.h and xlwmenu.h if USE_LUCID. + (apply_systemfont_to_menu): New function. + (set_frame_menubar, create_and_show_popup_menu): + Call apply_systemfont_to_menu. + +2010-04-07 Jan Djärv + + * frame.h (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Don't use + FRAME_LINE_TO_PIXEL_Y. + + * xterm.c (x_set_window_size_1): Don't add border_width/height to + pixelwidth/height. + +2010-04-07 Dan Nicolaescu + + Simplify code for HP machines. + * m/hp800.h (LOAD_AVE_TYPE, LOAD_AVE_CVT, NO_REMAP): Do not define + for GNU_LINUX, not needed. + (UNEXEC, NEED_BSDTTY): Move definitions... + * s/hpux10-20.h (UNEXEC, NEED_BSDTTY): ... here. + + * m/iris4d.h (UNEXEC): Move definition ... + * s/irix6-5.h (UNEXEC): ... here. + +2010-04-04 Jan Djärv + + * xfns.c (set_machine_and_pid_properties): New function. + (Fx_create_frame): Call set_machine_and_pid_properties. + +2010-04-03 Eli Zaretskii + + * bidi.c (bidi_resolve_explicit, bidi_level_of_next_char): + Check bidi_it->bytepos against ZV_BYTE instead of bidi_it->ch against + BIDI_EOB. Fixes infloop with vertical cursor motion at ZV. + + * w32fns.c (x_create_tip_frame): Copy `parms' before we modify it + in this function. (Bug#5703) + +2010-04-03 Chong Yidong + + * nsterm.h: Fix last change. + +2010-04-03 Dan Nicolaescu + + * m/intel386.h (NO_REMAP): Move definition ... + * s/msdos.h (NO_REMAP): ... here. + + * m/vax.h (CRT0_DUMMIES): Remove, unused. + + * ecrt0.c: Remove MSDOS, m68k and __sparc__ conditionals, file not + used on those platforms. + +2010-04-02 Dan Nicolaescu + + Remove extern errno declarations. + * xterm.c: + * xrdb.c: + * w32term.c: + * unexec.c: + * unexaix.c: + * sysdep.c: + * process.c: + * lread.c: + * keyboard.c: + * floatfns.c: + * filelock.c: + * fileio.c: + * emacs.c (main): + * ecrt0.c: + * dispnew.c: + * callproc.c: + * buffer.c: Remove errno extern declarations. + * s/netbsd.h (NEED_ERRNO): Remove. + +2010-04-01 Dan Nicolaescu + + Remove all uses of LIBX11_SYSTEM. + * Makefile.in (LIBX11_SYSTEM): Remove. + * s/msdos.h (LIBX11_SYSTEM): Do not define, define LIBS_SYSTEM + instead. + +2010-04-01 Eli Zaretskii + + Remove support for DJGPP v1.x (bug#5813). + + * w16select.c (__dpmi_int): Remove DJGPP v1.x compatibility. + * s/msdos.h: + * unexec.c (make_hdr, copy_text_and_data): + * sysdep.c (wait_for_termination, sys_subshell): + * msdos.c (dos_set_window_size, msdos_set_cursor_shape) + (IT_set_terminal_modes, __write, _rename, gethostname) + (gettimeofday, alarm, fork, kill, dos_ttraw, dos_ttcooked) + (run_msdos_command, abort): Remove DJGPP v1.x code and tests of + the value of __DJGPP__. + (nice, pause, sigsetmask, sigblock): Remove DJGPP v1.x + compatibility code. + * lread.c: + * gmalloc.c (memalign): + * fileio.c (Fcopy_file, check_executable, Ffile_modes): + * emacs.c (main): + * dosfns.c (init_dosfns): + * dired.c (file_name_completion_stat): Remove tests of __DJGPP__. + +2010-04-01 Eli Zaretskii + + * xdisp.c (set_cursor_from_row): Fix cursor positioning when the + string with `cursor' property comes from an `after-string' + overlay. (Bug#5816) + +2010-04-01 Glenn Morris + + * Makefile.in (LIBTIFF, LIBJPEG, LIBPNG, LIBGIF, LIBXPM, XFT_LIBS): + Define as Makefile variables. + (LIBX): Use above variables rather than directly using autoconf. + +2010-03-31 Dan Nicolaescu + + Clean up BSD_SYSTEM use. + * xterm.c: + * process.c: + * emacs.c: Use HAVE_SYS_IOCTL_H instead of BSD_SYSTEM as a guard + for including . + * sysdep.c (wait_without_blocking): Remove BSD_SYSTEM case, this + code is only used for MSDOS. + +2010-03-31 Juri Linkov + + * image.c: Add `Qextension_data'. + (syms_of_image): Initialize and staticpro `Qextension_data'. + (Fimage_metadata): Rename from `Fimage_extension_data'. + (gif_load): Put GIF extension data to the property + `Qextension_data'. + +2010-03-31 Chong Yidong + + * nsfns.m (ns_set_doc_edited): Remove unused arg OLDVAL. + * nsterm.h: Fix prototype. + +2010-03-31 Eli Zaretskii + + * xdisp.c (highlight_trailing_whitespace): Support highlight of + trailing whitespace in right-to-left rows. + +2010-03-31 Stefan Monnier + + Get rid of the direct_output optimizations. + * keyboard.c (nonundocount): Remove extern declaration. + (command_loop_1): Remove brittle optimisation for cheap and + common operations. + * xdisp.c (redisplay_internal): Don't bother checking + redisplay_performed_directly_p any more. + * sysdep.c (init_sys_modes): Don't call direct_output_forward_char + any more. + * dispnew.c (redisplay_performed_directly_p) + (direct_output_for_insert, direct_output_forward_char): + * dispextern.h (redisplay_performed_directly_p) + (direct_output_for_insert, direct_output_forward_char): Remove. + * cmds.c (nonundocount): Make it static. + +2010-03-31 Bernhard Herzog (tiny change) + + * menu.c (Fx_popup_menu): Use last_event_timestamp (Bug#4930). + +2010-03-31 Jan Djärv + + * xdisp.c (note_mouse_highlight): Don't do highlight if pointer is + invisible (Bug#5766). + +2010-03-31 Adrian Robert + + * xdisp.c (x_consider_frame_title, update_window_cursor): + Remove HAVE_NS conditionals. + (prepare_menu_bars) [HAVE_NS]: Call ns_set_doc_edited. + + * nsfns.m (x_implicitly_set_name): If frame-title-format is t, use + filename for the title. + (ns_set_doc_edited): Do nothing if the selected window is a + minibuffer window. + + * nsterm.h: Add prototypes for ns_set_name_as_filename and + ns_set_doc_edited. + + * nsterm.m: Remove unneeded prototype. + +2010-03-31 Glenn Morris + + * Makefile.in (SOME_MACHINE_OBJECTS): Ensure dbus stuff is always + in the DOC file. (Bug#5336) + +2010-03-31 Chong Yidong + + * xdisp.c (pos_visible_p): Revert 2008-01-25 change (Bug#5730). + +2010-03-31 Stefan Monnier + + * window.c (keys_of_window): Remove redundant/overridden bindings. + +2010-03-30 Eli Zaretskii + + * xdisp.c (BUFFER_POS_REACHED_P, move_it_in_display_line_to): + Restore original behavior when the iterator is not bidi_p. + +2010-03-30 Dan Nicolaescu + + * xdisp.c (syms_of_xdisp): Use intern_c_string instead of intern. + +2010-03-30 Eli Zaretskii + + * bidi.c (bidi_cache_iterator_state): Invalidate the cache if we + are outside the range of cached character positions. + +2010-03-30 Juanma Barranquero + + * makefile.w32-in ($(BLD)/bidi.$(O)): Add dependency on w32gui.h. + +2010-03-30 Eli Zaretskii + + Initial support for bidirectional editing. + + * Makefile.in (obj): Include bidi.o. + (bidi.o): New target. + + * makefile.w32-in (OBJ1): Add $(BLD)/bidi.$(O). + ($(BLD)/bidi.$(O)): New target. + + * bidi.c: New file. + + * buffer.h (struct buffer): New members bidi_display_reordering + and bidi_paragraph_direction. + + * buffer.c (init_buffer_once): Initialize bidi_display_reordering + and bidi_paragraph_direction. + (syms_of_buffer): Declare Lisp variables bidi-display-reordering + and bidi-paragraph-direction. + (Fbuffer_swap_text): Swap the values of + bidi_display_reordering and bidi_paragraph_direction. + + * dispextern.h (BIDI_MAXLEVEL, BIDI_AT_BASE_LEVEL): New macros. + (bidi_type_t, bidi_dir_t): New types. + (bidi_saved_info, bidi_stack, bidi_it): New structures. + (struct it): New members bidi_p, bidi_it, paragraph_embedding, + prev_stop, base_level_stop, and eol_pos. + (bidi_init_it, bidi_get_next_char_visually): New prototypes. + (IT_STACK_SIZE): Enlarge to 5. + (struct glyph_row): New member reversed_p. + : Update prototype. + (PRODUCE_GLYPHS): Set the reversed_p flag in the iterator's + glyph_row if bidi_it.paragraph_dir == R2L. + (struct glyph): New members resolved_level and bidi_type. + + * dispnew.c (direct_output_forward_char): Give up if we need bidi + processing or buffer's direction is right-to-left. + (prepare_desired_row): Preserve the reversed_p flag. + (row_equal_p): Compare the reversed_p attributes as well. + + * xdisp.c (init_iterator): Initialize it->bidi_p. + Call bidi_init_it and set it->paragraph_embedding from the current + buffer's value of bidi_paragraph_direction. + (reseat_1): Initialize bidi_it.first_elt. + (set_iterator_to_next, next_element_from_buffer): Use the value of + paragraph_embedding to determine the paragraph direction. + (set_iterator_to_next): Under bidi reordering, call + bidi_get_next_char_visually. Call bidi_paragraph_init if the + new_paragraph flag is set in the bidi iterator. + (next_element_from_buffer): If bidi_it.first_elt is set, + initialize paragraph direction and find the first character to + display in the visual order. If reseated to a middle of a line, + prime the bidi iterator starting at the line's beginning. + Handle the situation where we overstepped stop_charpos due to + non-linearity of the bidi iteration. Likewise for when we back up + beyond the previous stop_charpos. When moving across stop_charpos, + record it in prev_stop. + (display_line): Set row->end and it->start for the next row to the + next character in logical order. Always extend reversed_p rows to + the end of line, even if they end at ZV. Copy the reversed_p flag + to the next glyph row. Keep calling set_cursor_from_row for + bidi-reordered rows even if we already have a possible candidate + for cursor position. Set row_end after all the row's glyphs have + been produced, by looping over the glyphs. Record the position + after EOL in it->eol_pos, and use it to set end_pos of the last + row produced for a continued line. + : New variables. + (syms_of_xdisp): Initialize and staticpro them. + (string_buffer_position_lim): New function. + (string_buffer_position): Most of code moved to + string_buffer_position_lim. Last argument and return value are + now EMACS_INT; all callers changed. + (set_cursor_from_row): Rewritten to support bidirectional text and + reversed glyph rows. + (text_outside_line_unchanged_p, try_window_id): + Disable optimizations if we are reordering bidirectional text and the + paragraph direction can be affected by the change. + (append_glyph, append_composite_glyph) + (produce_image_glyph, append_stretch_glyph): Set the + resolved_level and bidi_type members of each glyph. + (append_glyph): If the glyph row is reversed, prepend the glyph + rather than appending it. + (handle_stop_backwards): New function. + (reseat_1, pop_it, push_it): Set prev_stop and base_level_stop. + (reseat): Call handle_stop_backwards to recompute prev_stop and + base_level_stop for the new position. + (handle_invisible_prop): Under bidi iteration, skip invisible text + using bidi_get_next_char_visually. If we are `reseat'ed, init the + paragraph direction. Update IT->prev_stop after skipping + invisible text. + (move_it_in_display_line_to): New variables prev_method + and prev_pos. Compare for strict equality in + BUFFER_POS_REACHED_P. + (try_cursor_movement): Examine all the candidate rows that occlude + point, to return the best match. If rows are bidi-reordered + and point moved backwards, back up to the row that is not a + continuation line, and start looking for a suitable row from + there. + + * term.c (append_glyph): Reverse glyphs by pre-pending them, + rather than appending, if the glyph_row's reversed_p flag is set. + Set the resolved_level and bidi_type members of each glyph. + + * .gdbinit (pbiditype): New command. + (pgx): Use it to display bidi level and type of the glyph. + (pitx): Display some bidi information about the iterator. + (prowlims, pmtxrows): New commands. + +2010-03-30 Dan Nicolaescu + + Remove all uses of C_DEBUG_SWITCH and LIBS_DEBUG. + * s/usg5-4.h (LIBS_DEBUG): + * s/irix6-5.h (C_DEBUG_SWITCH): + * s/gnu-linux.h (LIBS_DEBUG): + * s/darwin.h (LIBS_DEBUG): + * s/bsd-common.h (LIBS_DEBUG): + * s/aix4-2.h (LIBS_DEBUG, C_DEBUG_SWITCH): + * m/iris4d.h (LIBS_DEBUG): + * m/hp800.h (LIBS_DEBUG): Remove definitions. + + * Makefile.in (LIBES): Remove reference to LIBS_DEBUG. + (LIBS_DEBUG): Remove definition. + +2010-03-27 Chong Yidong + + * process.c (Fmake_network_process): Don't apply Bug#5173 fix for + Windows. + +2010-03-25 YAMAMOTO Mitsuharu + + * process.c (Fmake_network_process): Don't call turn_on_atimers around + `connect' (Bug#5723). + +2010-03-25 Helmut Eller + + * process.c (Fmake_network_process): Call `select' for interrupted + `connect' rather than creating new socket (Bug#5173). + +2010-03-24 Jan Djärv + + * frame.c (x_get_arg): Handle RES_TYPE_BOOLEAN_NUMBER (bug #5736). + + * xfns.c (Fx_create_frame): Make menuBar a RES_TYPE_BOOLEAN_NUMBER. + + * dispextern.h (resource_types): RES_TYPE_BOOLEAN_NUMBER is new. + +2010-03-24 YAMAMOTO Mitsuharu + + * xfns.c (Fx_create_frame) [USE_LUCID]: Add BLOCK_INPUT around + XLoadQueryFont. + +2010-03-24 Kenichi Handa + + * coding.c (decode_coding_ccl): Fix previous change for the + multibyte case. + (encode_coding_ccl): Don't setup ccl program here. Fix for the + case that the output buffer is fullfilled. + (encode_coding): Setup ccl program here. + +2010-03-23 Dan Nicolaescu + + * s/gnu-linux.h (LIBS_SYSTEM): Remove, same as default. + + Simplify LIBS_MACHINE definitions. + * m/hp800.h (LIBS_MACHINE): Remove, same as default. + * m/iris4d.h (LIBS_MACHINE): Likewise. + * m/ibmrs6000.h (LIBS_MACHINE): Rename to LIBS_SYSTEM and move ... + * s/aix4-2.h (LIBS_SYSTEM): ... here. + * s/netbsd.h: Remove commented out code. + +2010-03-22 Dan Nicolaescu + + Remove dead code dealing with POSIX_SIGNALS. + * atimer.c (set_alarm): Remove dead code, all USG systems define + POSIX_SIGNALS. + * data.c (arith_error): Likewise. + * keyboard.c (input_available_signal, handle_user_signal) + (interrupt_signal): Likewise. + * process.c (sigchld_handler): Likewise. + (create_process): Remove if 0 code. Remove HPUX conditional when + !defined (POSIX_SIGNALS), it cannot be true. + * syssignal.h: Remove USG5_4 and USG conditionals when + !POSIX_SIGNALS, they cannot be true. + + * keyboard.c (Fset_input_interrupt_mode): Remove code depending on + NO_SOCK_SIGIO, not used anymore. + +2010-03-21 Dan Nicolaescu + + * m/vax.h (BSD_SYSTEM, BSD4_2): Remove conditionals, we only + support vax on BSDs. + + * m/ibmrs6000.h (ORDINARY_LINK): Move definition ... + * s/aix4-2.h (ORDINARY_LINK): ... here. + +2010-03-21 Andreas Schwab + + * Makefile.in (abs_builddir): Define. + (bootstrap_exe): Use it. + (VPATH): Use $(srcdir) instead of @srcdir@. + +2010-03-20 Stefan Monnier + + * Makefile.in (bootstrap_exe): Use an absolute name. + +2010-03-20 Dan Nicolaescu + + Remove support for old GNU/Linux using libc version 5. + * m/alpha.h (LINUX_SBRK_BUG): Remove definition. + * emacs.c (main): Remove code depending on LINUX_SBRK_BUG. + + Consolidate redundant definitions in s/bsd-common.h. + * s/bsd-common.h (BSD4_2, TABDLY, TAB3, HAVE_TERMIOS, NO_TERMIO) + (LIBS_DEBUG, SYSV_SYSTEM_DIR, UNEXEC, NARROWPROTO, BSD_PGRPS) + (LDAV_SYMBOL, KERNEL_FILE): Define (or undefine) here instead of + doing it in all files that include this one. + * s/gnu.h (BSD4_2, TABDLY, TAB3, HAVE_TERMIOS, NO_TERMIO) + (LIBS_DEBUG, SYSV_SYSTEM_DIR, UNEXEC, NARROWPROTO, BSD_PGRPS) + (LDAV_SYMBOL, KERNEL_FILE): Remove. + * s/freebsd.h (BSD4_2, TABDLY, TAB3, HAVE_TERMIOS, NO_TERMIO) + (LIBS_DEBUG, SYSV_SYSTEM_DIR, UNEXEC, NARROWPROTO, BSD_PGRPS) + (LDAV_SYMBOL, KERNEL_FILE): Remove. + * s/netbsd.h (BSD4_2, TABDLY, TAB3, HAVE_TERMIOS, NO_TERMIO) + (LIBS_DEBUG, SYSV_SYSTEM_DIR, UNEXEC, NARROWPROTO, BSD_PGRPS) + (LDAV_SYMBOL, KERNEL_FILE): Remove. + + Consolidate redundant definitions. + * s/usg5-4.h (sigsetmask, PTY_TTY_NAME_SPRINTF): Do not define, + it's undefined in all files that include this one. + (POSIX_SIGNALS): Define here instead of doing it in all files that + include this one. + * s/irix6-5.h (sigsetmask, PTY_TTY_NAME_SPRINTF): Do not undef. + (POSIX_SIGNALS): Do not define. + * s/sol2-6.h (sigsetmask, PTY_TTY_NAME_SPRINTF): Do not undef. + (POSIX_SIGNALS): Do not define. + * s/unixware.h (sigsetmask, PTY_TTY_NAME_SPRINTF): Do not undef. + (POSIX_SIGNALS): Do not define. + + Remove support for old UNIX System V systems. + * s/unixware.h: Add the contents of s/usg5-4-2.h. + * s/usg5-4-2.h: Remove. + + Remove support for Solaris on PPC and for old versions. + * s/sol2-6.h: Add the contents of s/sol-2.3.h, s/sol-2.4.h, s/sol-2.5.h. + (LD_SWITCH_SYSTEM, USE_MMAP_FOR_BUFFERS): Remove #defines/#undef + that cancel each other. + * s/sol2-3.h: + * s/sol2-4.h: + * s/sol2-5.h: Remove. + * m/ibmrs6000.h: Remove code for USG5_4, this file is only used on AIX. + (NO_REMAP): Remove, unused. + (UNEXEC): Move definition ... + * s/aix4-2.h (UNEXEC): ... here. + + * s/openbsd.h: Remove support for non-ELF and for systems that do + not support shared libraries. + * s/netbsd.h: + * s/freebsd.h: Likewise. + +2010-03-20 Dan Nicolaescu + + Remove non-working support for lynxos 3.0. + * s/lynxos.h: Remove file. + + * unexec.c (unexec, adjust_lnnoptrs): Do not depend on + COFF_BSD_SYMBOLS, nothing defines it anymore. + +2010-03-20 Dan Nicolaescu + + Remove obsolete uses of HAVE_SHM. + * emacs.c (standard_args): + (Fdump_emacs): + (syms_of_emacs): Remove code depending on HAVE_SHM. + + * alloc.c: Remove HAVE_SHM dependent definition. + + * Makefile.in (RUN_TEMACS): Do not depend on HAVE_SHM. + +2010-03-18 Glenn Morris + + * emacs.c (USAGE4): Hard-code bug address. + (REPORT_EMACS_BUG_ADDRESS, REPORT_EMACS_BUG_PRETEST_ADDRESS): Remove. + (bug_reporting_address): Remove. + (main): Don't call bug_reporting_address. + + * Makefile.in (XFT_LIBS, LIBXPM, LIBJPEG, LIBPNG, LIBTIFF, LIBGIF) + (LIBGPM, LIBRESOLV): Set using autoconf rather than cpp. + +2010-03-15 Chong Yidong + + * xfns.c (Fx_create_frame): + * frame.c (Vdefault_frame_scroll_bars): Put non-GTK X scroll-bars + on left. + +2010-03-13 Andreas Politz (tiny change) + + * editfns.c (Fformat): Account for string precision when computing + field width (Bug#5710). + +2010-03-12 Chong Yidong + + * xfns.c (Fx_create_frame): Set default to Qright. + + * frame.c (Vdefault_frame_scroll_bars): Set default to Qright for + all window systems. + +2010-03-12 Eli Zaretskii + + These changes remove termcap.c from the build on Posix platforms. + * Makefile.in (termcapobj): Move termcap.o from here... + (MSDOS_OBJ): ...to here. + (termcapobj) [!LIBS_TERMCAP]: Remove specialized value, as it is + now identical to when LIBS_TERMCAP is defined. + + * term.c: Remove (ifdef'ed away) inclusion of termcap.h. + + * cm.c: Remove (ifdef'ed away) inclusion of termcap.h. + + * config.in: Regenerated. (See top-level ChangeLog.) + +2010-03-10 Chong Yidong + + * Branch for 23.2. + +2010-03-10 Stefan Monnier + + Cleanup setup of gl_state in various parts of the code. + * syntax.h (SETUP_BUFFER_SYNTAX_TABLE): New macro. + (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): + * syntax.c (find_defun_start, Fchar_syntax, Fmatching_paren) + (skip_chars): + * regex.c (regex_compile): Use it. + (re_compile_pattern): Don't set gl_state.current_syntax_table since + it's now set in regex_compile when/if we need it. + +2010-03-05 Stefan Monnier + + Make it possible to C-g in a tight bytecode loop again (bug#5680). + * lisp.h (ELSE_PENDING_SIGNALS): New macro. + (QUIT): Use it to consolidate code and remove redundancy. + * bytecode.c (BYTE_CODE_QUIT): Use it as well. + + * regex.c (regex_compile): Setup gl_state as well. + + * syntax.c (skip_chars): Setup gl_state (bug#3823). + (in_classes): Use CONSP before XCAR/XCDR. + +2010-03-03 Chong Yidong + + * keymap.c (Fwhere_is_internal): Use Fequal to compare + definitions, so that keyboard macros are correctly handled + (Bug#5481). + +2010-03-02 Eli Zaretskii + + * coding.c (decode_coding_emacs_mule): Fixup pointers to buffer + text that could be relocated inside the call to emacs_mule_char. + (emacs_mule_char): Use CODING_DECODE_CHAR instead of DECODE_CHAR. + (CODING_DECODE_CHAR): Add a comment describing its purpose. + +2010-03-02 Kenichi Handa + + * character.c (parse_str_as_multibyte): Fix handling of the + multibyte form of raw-bytes. + (str_as_multibyte): Likewise. + + * buffer.c (Fset_buffer_multibyte): Fix handling of the multibyte + form of raw-bytes. + +2010-02-28 Chong Yidong + + * charset.c (load_charset_map_from_file) + (load_charset_map_from_vector): Zero out allocated + charset_map_entries before using them. + +2010-02-27 Andreas Schwab + + * w32uniscribe.c (uniscribe_check_otf): Fix length check. + +2010-02-27 Chong Yidong + + * font.c (font_parse_fcname): Recognize "Book", "Condensed", + "Medium", and "Semi-Condensed" keywords in GTK names (Bug#5646). + +2010-02-26 Kenichi Handa + + * ftfont.c (ftfont_get_open_type_spec): Fix parsing of otf_spec. + + * xdisp.c (reseat_to_string): Fix previous change. + +2010-02-26 David Reitter + + * nsfont.m (nsfont_draw): ns_antialias_text should be a + Lisp_Object (Bug#4736). + +2010-02-25 Kenichi Handa + + * xdisp.c (reseat_to_string): Fix previous change (bug#5609). + +2010-02-24 Jan Djärv + + * xterm.c (XTflash): Move declarations before statements. + + * gtkutil.c (xg_get_gdk_display): Remove (unused). + (xg_get_pixbuf_from_pix_and_mask, xg_create_frame_widgets) + (xg_toggle_notify_cb, xg_set_toolkit_scroll_bar_thumb) + (xg_create_tool_bar): Remove unused variables. + (x_wm_set_size_hint): Move declarations before statements. + (xg_create_frame_widgets): Remove variable grav. + +2010-02-21 Chong Yidong + + * m/arm.h: Define the LIB_GCC flag to be -lgcc_s (Bug#5518). + +2010-02-18 Stefan Monnier + + * term.c (fatal): Add a final \n if needed (bug#5596). + +2010-02-18 Chong Yidong + + * nsterm.m (ns_ring_bell): Revert last change (Bug#5569). + +2010-02-18 Glenn Morris + + * callint.c (Finteractive): Doc fix. + +2010-02-18 Kazuhiro Ito (tiny change) + + * coding.c (record_conversion_result): + Handle CODING_RESULT_INSUFFICIENT_DST. + (decode_coding_object): Record CODING_RESULT_INSUFFICIENT_MEM on + memory allocation error. + +2010-02-17 Kenichi Handa + + * coding.c (decode_coding_ccl): Don't setup ccl program here. + Fix for the case that the output buffer is fullfilled. + (decode_coding): Setup ccl program here. Keep looping when the + decoder stopped because the output buffer is + fullfilled (bug#5534). + + * ccl.c (ccl_driver): Never reset ic to CCL_HEADER_MAIN. + +2010-02-13 Jan Djärv + + * xterm.c (x_clear_frame_area): Call gtk_widget_queue_draw if USE_GTK, + bug #5571. + (XTflash): Use Gdk-routines if USE_GTK so scroll bars don't get + overdrawn. + +2010-02-10 Jan Djärv + + * xsmfns.c (x_session_initialize): Move initialization of ice_fd and + doing_interact here. + (ice_connection_closed): New function. + (x_session_check_input, smc_die_CB, ice_io_error_handler) + (ice_conn_watch_CB, x_session_close): Call ice_connection_closed. + (x_session_check_input): Call IceCloseConnection if IceProcessMessages + returns I/O error. + (ice_conn_watch_CB): Call add_keyboard_wait_descriptor on ice_fd, + bug #5512. + +2010-02-08 Francis Devereux (tiny change) + + * nsfont.m (nsfont_open): The system's value for the font descent + is negative, so round it down to avoid clipping. + +2010-02-06 Chong Yidong + + * charset.c (load_charset_map_from_file) + (load_charset_map_from_vector): Fix last change to use SAFE_ALLOCA + instead of xmalloc (Bug#5526). Suggested by Vivek Dasmohapatra. + +2010-02-05 Chong Yidong + + * charset.c (load_charset_map_from_file): Allocate large + charset_map_entries structure on the heap rather than the stack. + (Bug#5526). + +2010-01-31 Kenichi Handa + + * font.c (font_parse_xlfd): If FONT is a font-entity and pixel + size in NAME is invalid, return -1 (Bug#5396). + +2010-01-31 Chong Yidong + + * nsterm.m (ns_defined_color): Block input. Suggested by Mike + (Bug#3605). + +2010-01-31 David De La Harpe Golden + + * fileio.c (Frename_file): Correctly rename symlinks to + directories (Bug#5496). + +2010-01-31 Filipe Cabecinhas (tiny change) + + * nsterm.m (ns_ring_bell): Handle visible bell like X. + +2010-01-30 Andreas Schwab + + * character.h (CHAR_PRINTABLE_P): Reparenthesize to avoid warning. + +2010-01-29 Chong Yidong + + * frame.c (DEFAULT_ROWS): Change default to 35. + + * xfns.c (x_default_font_parameter): Change default XFT font to + monospace-10 (Bug#3643). + +2010-01-29 Eli Zaretskii + + * w32inevt.c (key_event): Remove unnecessary comparison of + event->uChar.AsciiChar with 128. + +2010-01-28 Chong Yidong + + * fileio.c (Frename_file): Fix last change (Bug#5487). + + * m/mips.h: Remove DATA_START. Suggested by Dan Nicolaescu. + + * m/alpha.h: Don't define DATA_START on NetBSD (Bug#4629). + +2010-01-28 Jan Djärv + + * xfns.c (Fx_create_frame): Remove window size matching code from + 2010-01-15. + (x_get_current_desktop, x_get_desktop_workarea): Remove. + +2010-01-27 Jason Rumney + + * w32inevt.c (w32_kbd_patch_key): Save the unicode character. + (key_event): Use unicode for characters 128 and higher (Bug#4567). + +2010-01-27 Kenichi Handa + + * regex.c (analyse_first): Fix setting of fastmap for unibyte + pattern string (Bug#4209). + +2010-01-27 David De La Harpe Golden + + * fileio.c (Frename_file): Call copy-directory and + delete-directory for directories, in order to handle cross-device + renaming (Bug#3353). + +2010-01-25 Jan Djärv + + * xfns.c (Fx_create_frame): If frame height is too big, try + sizes 24 and 10. Bug #3643. + +2010-01-24 Stefan Monnier + + Try and fix bug#788, hopefully for real this time. + * keymap.c (shadow_lookup): Add `remap' arg. + (describe_map, describe_vector): Update calls to shadow_lookup. + (Fwhere_is_internal): Fix up handling of `remapped_sequences' and + `remapped' so this flag is applicable to `sequence'. Be careful to + perform remapping during shadow_lookup check of remapped_sequences. + +2010-01-24 Eric Bélanger (tiny change) + + * image.c (png_load): Use png_sig_cmp instead of the obsolete + png_check_sig, which has been removed in libpng 1.4. + +2010-01-23 Giorgos Keramidas (tiny change) + + * filelock.c: Include utmp.h only when HAVE_UTMP_H (FreeBSD 9.x + lacks this header file). + +2010-01-23 YAMAMOTO Mitsuharu + + * xdisp.c (draw_glyphs): Update `start' for left_overwritten case + as in Emacs 22. + +2010-01-22 YAMAMOTO Mitsuharu + + * lisp.h (make_pure_string): String pointer arg now points to const. + + * alloc.c (find_string_data_in_pure, make_pure_string): String pointer + args now point to const. + +2010-01-22 Eli Zaretskii + + * lread.c (Fload): Don't treat files without .elc extension as + byte-compiled if they are ``magic'', i.e. `openp' returned -2 for + them. (bug#5303) + +2010-01-20 Kenichi Handa + + * coding.c (consume_chars): If ! multibyte and the encoder is ccl, + treat the source as actual byte sequence. + +2010-01-19 Alan Mackenzie + + Fix spurious before-change-functions invocation from (insert ?\n). + * textprop.c (set_text_properties): Rename parameter + `signal_after_change_p' to `coherent_change_p', and make the + invocation of `modify_region' conditional on it. + +2010-01-19 Jan Djärv + + * xsettings.c (apply_xft_settings): Save settings in Vxft_settings + for debug purpose. + (syms_of_xsettings): Declare xft-settings. + +2010-01-18 Chong Yidong + + * editfns.c (Fcurrent_time_string): Doc fix (Bug#5408). + +2010-01-16 Stefan Monnier + + * xterm.c (event_handler_gdk): Block input (Bug#5037). + +2010-01-16 Chong Yidong + + * emacs.c (standard_args): Adjust arg priorities to reflect how + they are processed in startup.el. + +2010-01-16 Andreas Schwab + + * Makefile.in (lisp, shortlisp): Update. + +2010-01-16 Stefan Monnier + + * xterm.c (x_term_init): Instead of inhibiting GC while running Lisp + code, link the new kboard into all_kboard before running Lisp code, + and protect the new terminal with GCPRO (Bug#5365). + (x_term_init): Remove unused var `atom'. + (x_delete_display, x_delete_terminal): Remove unused var `i'. + +2010-01-15 Jan Djärv + + * xfns.c (x_get_current_desktop, x_get_desktop_workarea): New functions. + (Fx_create_frame): Call x_get_current_desktop and x_get_desktop_workarea + to find out usable size of the desktop. Don't make frames larger than + this. Bug #3643. + +2010-01-15 Kenichi Handa + + * xdisp.c (CHAR_COMPOSED_P): New arg END_CHARPOS. Callers changed. + +2010-01-15 Chong Yidong + + * nsterm.m (Qnone): Define. + + * nsfns.m (Qnone): Move definition to nsterm.m. + +2010-01-14 Kenichi Handa + + * coding.c (detect_coding_iso_2022): Fix handling of euc-xx coding + systems. + +2010-01-14 Kenichi Handa + + Make auto-composition work on all buffers even if they are + fundamental mode. + + * composite.c (Vauto_composition_mode): New variable. + (composition_compute_stop_pos): Check Vauto_composition_mode + instead of Vauto_composition_function. + (composition_adjust_point, Ffind_composition_internal): Likewise. + (syms_of_composite): Declare Lisp variable + "auto-composition-mode" here. + +2010-01-13 Chong Yidong + + * xterm.c (x_term_init): Avoid garbage-collecting the new terminal + during call to vendor-specific-keysyms (Bug#5365). + +2010-01-13 YAMAMOTO Mitsuharu + + * keyboard.c (input_available_signal) [SYNC_INPUT]: + Call SIGNAL_THREAD_CHECK (Bug#5333). + + * atimer.c (alarm_signal_handler) [!SYNC_INPUT]: + Call SIGNAL_THREAD_CHECK. + +2010-01-13 Stefan Monnier + + Try to fix bug#5314. This is probably not the final word, tho. + * buffer.c (Fset_buffer_modified_p): Try and be careful not to modify + recent-auto-save-p as a side-effect. + * buffer.h (BUF_AUTOSAVE_MODIFF): New macro. + * buffer.c (Fkill_buffer, reset_buffer): + * editfns.c (Fsubst_char_in_region): + * fileio.c (Finsert_file_contents, Fdo_auto_save) + (Fset_buffer_auto_saved, Frecent_auto_save_p): Use it. + +2010-01-13 Kenichi Handa + + Display buffer name, etc. in mode line by composing correctly. + + * xdisp.c (reseat_to_string): Call composition_compute_stop_pos if + STRING is not nil. + (display_mode_element): Adjust for the change of + decode_mode_spec and display_line. + (decode_mode_spec): Change arg MULTIBYTE to STRING. + (display_string): Handle the case that STRING is non-null and + LISP_STRING is not nil. + + * xterm.c (x_draw_composite_glyph_string_foreground): + Pay attention to s->face->overstrike. + + * composite.c (composition_reseat_it): Don't check PT if STRING is + non nil. + +2010-01-12 YAMAMOTO Mitsuharu + + * keyboard.c (read_char): Don't apply previous change when current + buffer is unchanged by command execution. + +2010-01-12 Jan Djärv + + * keyboard.c (read_char): Return after executing from special map. + +2010-01-12 Glenn Morris + + * emacs.c (REPORT_EMACS_BUG_PRETEST_ADDRESS): Set it to + bug-gnu-emacs rather than emacs-pretest-bug. + +2010-01-11 Chong Yidong + + * nsterm.m (syms_of_nsterm): Initialize Qcontrol etc. before + initializing the Lisp variables that depend on them. + +2010-01-11 YAMAMOTO Mitsuharu + + * xfns.c (x_set_menu_bar_lines) [!USE_X_TOOLKIT && !USE_GTK]: + Clear areas that will not be updated after change of menu bar lines. + Clear the menu bar window's current matrix when the window gets empty. + +2010-01-09 Chong Yidong + + * intervals.h, textprop.c (extend_property_ranges): Return value + and args changed. Discard properties that begin at or after the + new end (Bug#5306). + + * editfns.c (Fformat): Caller changed. + + * nsterm.m (ns_set_default_prefs): Delete function. + (syms_of_nsterm): Initialize ns_command_modifier, + ns_control_modifier, ns_function_modifier, ns_antialias_text, and + ns_antialias_threshold here, not in ns_term_init (Bug#4113). + + * xdisp.c (pos_visible_p): Check for invisible text at the correct + position (Bug#4040). + +2010-01-09 Eli Zaretskii + + * editfns.c (Ffloat_time): Doc fix. + +2010-01-09 Jan Djärv + + * xfns.c (Fx_create_frame): Don't create frame larger than display + by default bug#3643. + +2010-01-09 YAMAMOTO Mitsuharu + + * frame.h (FRAME_TOP_MARGIN_HEIGHT): New macro. + (FRAME_LINE_TO_PIXEL_Y, FRAME_PIXEL_Y_TO_LINE): Take account of pseudo + windows above internal border. + + * window.h (WINDOW_MENU_BAR_P, WINDOW_TOOL_BAR_P): New macros. + (WINDOW_TOP_EDGE_Y, WINDOW_BOTTOM_EDGE_Y): Take account of pseudo + windows above internal border. + + * xdisp.c (get_glyph_string_clip_rects, init_glyph_string): Don't treat + tool bar windows specially. + + * xfns.c (x_set_tool_bar_lines): Take account of menu bar height. + + * xterm.c (x_after_update_window_line): Don't treat tool bar windows + specially. + (XTflash): Take account of menu bar height. + + * w32term.c (x_after_update_window_line): Don't treat tool bar windows + specially. + +2010-01-08 Jan Djärv + + * dispnew.c (change_frame_size_1): newwidth == FRAME_COLS (f) must + also be true before we can return early (bug #5339). + +2010-01-06 David Reitter + + * nsfns.m (ns_get_screen): Rewrite, returning NULL for non-NS. + (Fns_display_usable_bounds): Rewrite, computing bounds properly + (Bug#3233). + +2010-01-06 Jan Djärv + + * font.c (font_open_entity): Enable chache and call cached_font_ok + for the driver if defined. + (QCuser_spec): New symbol. + (font_spec_from_name): Save name as user-spec. + (font_load_for_lface): Keep user-spec instead of name. + (font_open_by_name): Save name as user-spec. + (syms_of_font): Initialize QCuser_spec. + (font_clear_prop): Clear name if it exists in font (bug#5157). + + * xftfont.c (xftfont_open): Call xftfont_add_rendering_parameters. + (xftfont_add_rendering_parameters, xftfont_cached_font_ok): New. + (syms_of_xftfont): Initialize xftfont_driver.cached_font_ok. + + * font.h (struct font_driver): Add cached_font_ok. + + * xterm.c (x_clear_frame): Queue draw for scroll bars. + +2010-01-05 Jan Djärv + + * xterm.c (x_new_font): Move code for setting rows/cols before + resizing ... + (x_set_window_size): ... to here. Bug #2568. + + * gtkutil.c (xg_clear_under_internal_border): New function. + (xg_frame_resized, xg_frame_set_char_size): + Call xg_clear_under_internal_border. + (xg_update_scrollbar_pos): Clear under old scroll bar position. + +2010-01-05 Chong Yidong + + * keyboard.c (read_key_sequence): Catch keyboard switch after + making a new tty frame (Bug#5095). + +2010-01-05 Kenichi Handa + + * fontset.c (fontset_find_font): Fix getting the frame pointer. + +2010-01-04 Stefan Monnier + + * dbusbind.c (xd_remove_watch): Avoid trying to convert a void* to + Lisp_Object, preferring to convert a lisp_Object to a void* instead. + (Fdbus_init_bus): Use XHASH to get a scalar value from a Lisp_Object. + +2010-01-03 Michael Albinus + + * dbusbind.c (xd_add_watch): Improve debug message. + (xd_remove_watch): Improve debug message. If DATA is the session + bus, unset D-Bus session environment. + (Fdbus_init_bus): Pass the bus as argument to + dbus_connection_set_watch_functions. (Bug#5283) + +2010-01-01 Chong Yidong + + * nsterm.m (ns_get_color): Fix buffer overflow (Bug#4763). + + * lread.c (syms_of_lread): Make it clearer that these are the + names of loaded files (Bug#5068). + + * eval.c (run_hook_with_args): Handle the case where the global + value has the obsolete single-function form (Bug#5026). + +2009-12-27 Chong Yidong + + * minibuf.c (Fall_completions): Minor optimization. + +2009-12-26 Eli Zaretskii + + * .gdbinit (pgx): Fix display of composite glyphs. + Display cmp.from and cmp.to as well. + (pitx): Fix last change. + +2009-12-25 Kenichi Handa + + * composite.h (composition_adjust_point): Update prototype. + + * composite.c (composition_reseat_it): Don't make a composition + spanning over point. + (CHAR_COMPOSABLE_P): Treat U+200C (ZWNJ) and U+200D (ZWJ) as + composable characters. + (composition_adjust_point): New arg NEW_PT. Callers changed. + + * keyboard.c (command_loop_1): Force redisplay if the last point + was within a composition. + (adjust_point_for_property): Don't adjust point for automatic + composition when called after buffer modification. + +2009-12-19 Eli Zaretskii + + * .gdbinit (pitx): Don't use enum names, use their values. + Remove reference to non-existing value GET_FROM_COMPOSITION. + (pgx): Don't use enum names, use their values. + (pitmethod): New helper command. + (pitx): Use it to display iteration method. + (pgrowit): New command. + + * makefile.w32-in ($(BLD)/cmds.$(O)): Depend on frame.h. + + Update dependencies in Makefile.in. + + * Makefile.in (alloc.o): Depend on termhooks.h. + (atimer.o): Depend on blockinput.h. + (buffer.o): Depend on indent.h, keyboard.h, coding.h, keymap.h, + and frame.h. + (callint.o): Depend on systime.h, coding.h, and composite.h. + (callproc.o): Depend on buffer.h. + (casefiddle.o): Don't depend on charset.h. + (casetab.o): Depend on character.h. + (ccl.o): Depend on composite.h. + (chartab.o): Depend on ccl.h. + (cm.o): Depend on dispextern.h. + (cmds.o): Depend on systime.h, coding.h, frame.h, and composite.h. + (coding.o): Don't depend on $(INTERVALS_H). + (composite.o): Don't depend on dispextern.h explicitly (it's in + $(INTERVALS_H)). Depend on ccl.h. + (data.o): Depend on systime.h, coding.h, composite.h, + dispextern.h, font.h, and ccl.h. + (dired.o): Depend on composite.h. + (dispnew.o): Depend on coding.h. Don't depend explicitly on + composite.h (it's in $(INTERVALS_H)). + (doc.o): Depend on systime.h, coding.h, and composite.h. + (editfns.o): Don't depend explicitly on dispextern.h. + (emacs.o): Depend on frame.h and coding.h. + (eval.o): Depend on coding.h, composite.h, and xterm.h. + (fileio.o): Depend on frame.h and commands.h. Don't depend + explicitly on dispextern.h. + (filelock.o): Don't depend on epaths.h and charset.h. Depend on + composite.h. + (fns.o): Don't depend on termhooks.h. + (font.o): Depend on buffer.h, composite.h, fontset.h, and xterm.h. + (fontset.o): Depend on blockinput.h, atimer.h, systime.h, + coding.h, $(INTERVALS_H), window.h, xterm.h. + (frame.o): Depend on coding.h, composite.h, termhooks.h, and ccl.h. + (fringe.o): Depend on blockinput.h, atimer.h, and systime.h. + (ftfont.o): Depend on blockinput.h, atimer.h, systime.h, coding.h, + fontset.h, ccl.h, and ftfont.h. + (ftxfont.o): Depend on atimer.h, systime.h, fontset.h, and ccl.h. + (gtkutil.o): Depend on dispextern.h and composite.h. + (image.o): Depend on epaths.h, character.h, coding.h, composite.h, + termhooks.h, and ccl.h. + (indent.o): Depend on systime.h, coding.h, and $(INTERVALS_H). + (intervals.o): Depend on systime.h and coding.h. + (keyboard.o): Depend on composite.h and coding.h. + (keymap.o): Depend on coding.h and frame.h. + (lread.o): Depend on systime.h, frame.h, blockinput.h, and atimer.h. + (macros.o): Depend on systime.h, coding.h, and composite.h. + (menu.o): Depend on systime.h, coding.h, composite.h, window.h, + and atimer.h. + (minibuf.o): Depend on systime.h and coding.h. Don't depend on + dispextern.h explicitly. + (print.o): Depend on termhooks.h, coding.h, and ccl.h. + Don't depend explicitly on dispextern.h and composite.h. + (process.o): Depend on character.h, xgselect.h, and sysselect.h. + (regex.o): Don't depend on charset.h. + (scroll.o): Depend on systime.h, coding.h, composite.h, and window.h. + (search.o): Don't depend explicitly on composite.h. + (sound.o): Depend on atimer.h and systime.h. + (syntax.o): Don't depend explicitly on composite.h. + (sysdep.o): Depend on coding.h and composite.h. + (term.o): Depend on xterm.h and buffer.h. + (terminal.o): Depend on dispextern.h, composite.h, and systime.h. + (textprop.o): Don't depend on dispextern.h explicitly. + (undo.o): Depend on dispextern.h. + (window.o): Depend on coding.h and termhooks.h. Don't depend on + dispextern.h and composite.h explicitly. + (xdisp.o): Depend on ccl.h. + (xfaces.o): Depend on coding.h and ccl.h. + (xfns.o): Depend on $(INTERVALS_H) and ccl.h. + (xfont.o): Depend on atimer.h, systime.h, fontset.h, and ccl.h. + (xftfont.o): Depend on atimer.h, systime.h, fontset.h, ccl.h, and + ftfont.h. + (xgselect.o): New dependency. + (xmenu.o): Depend on composite.h, keymap.h, and sysselect.h. + (xselect.o): Depend on keyboard.h, coding.h, and composite.h. + (xsettings.o): Depend on dispextern.h, keyboard.h, systime.h, + coding.h, composite.h, blockinput.h, atimer.h, and termopts.h. + (xsmfns.o): Depend on frame.h and dispextern.h. + (xterm.o): Depend on intervals.h, keymap.h, xgselect.h, and + sysselect.h. + +2009-12-19 Andreas Schwab + + * font.c (Fclear_font_cache): Pass correct cache argument to + font_clear_cache. + +2009-12-16 Andreas Schwab + + * Makefile.in (prefix-args${EXEEXT}): Don't compile prefix-args.c + twice. + +2009-12-15 Chong Yidong + + * xdisp.c (decode_mode_spec): Inhibit garbage collection when + calling file-remote-p. Reported by Jim Meyering. + +2009-12-15 Michael Albinus + + * dbusbind.c (xd_retrieve_arg): Reorder declarations in order to + avoid compiler warnings. (Bug #5217) + +2009-12-14 Kenichi Handa + + * coding.c (decode_coding_iso_2022): Ignore ISO_CODE_SS2_7 (0x19) + in 8-bit encoding. + +2009-12-13 Pat Thoyts (tiny change) + + * xfns.c (x_create_tip_frame): Set the extended window manager hint for + tooltip windows. + +2009-12-13 Jan Djärv + + * xterm.h (struct x_display_info): Add Xatom_net_window_type_tooltip and + Xatom_net_window_type. + + * xterm.c (x_term_init): Initialize Xatom_net_window_type_tooltip and + Xatom_net_window_type. + + * xterm.c (my_log_handler): New function. + (x_term_init): Set my_log_handler as log handler during gtk_init + so we can filter out buggy messages. (Bug #5120). + + * xterm.c (xg_scroll_callback): Parameter list changed, + use parameter GtkScrollType to determine scroll/line/page. + Only allow dragging if a button < 4 is grabbed (bug #5177). + (xg_end_scroll_callback): New function. + (x_create_toolkit_scroll_bar): Pass xg_end_scroll_callback to + xg_create_scroll_bar. + + * gtkutil.c (xg_gtk_scroll_destroy): Remove XG_LAST_SB_DATA handling. + (scroll_end_callback): Remove. + (xg_create_scroll_bar): Add parameter end_callback, bind it to + button-release-event. Replace value-changed event with change-value, + bug #5177. + (xg_event_is_for_scrollbar): Only return true if button is less than 4, + bug #5177. + + * gtkutil.h (XG_LAST_SB_DATA): Remove. + (xg_create_scroll_bar): Add GCallback end_callback. + + * xftfont.c (QClcdfilter): New variable. + (xftfont_open): Parse constant names for RGBA, HINT_STYLE and LCDFILTER. + (syms_of_xftfont): Initialize QClcdfilter. + +2009-12-12 Jan Djärv + + * xsettings.c (struct xsettings): Add member seen. + (parse_xft_settings): Update member seen with what we have read. + Return non-zero if Xft-settings have been parsed, 0 otherwise. + (apply_xft_settings): Only update Xft settings with what member seen + indicates as new. + +2009-12-12 Eli Zaretskii + + * dispextern.h (struct text_pos): Use EMACS_INT. + (struct glyph): Use EMACS_INT for charpos. + (struct it): Use EMACS_INT for stop_charpos, end_charpos, + region_beg_charpos, region_end_charpos, + redisplay_end_trigger_charpos, and also for + iterator_stack_entry.end_charpos and + iterator_stack_entry.stop_charpos. + +2009-12-12 Jan Djärv + + * gtkutil.c (scroll_end_callback): New function (bug #5177). + (xg_create_scroll_bar): Call scroll_end_callback on button release + event (bug #5177). + (xg_event_is_for_scrollbar): != replaced with ==. + +2009-12-12 Kenichi Handa + + * ftfont.c (struct ftfont_info): New member matrix. + (ftfont_open): Setup xftfont_info->matrix. + (MFLTFontFT): New member matrix. + (FLOOR, CEIL, ROUND): New macros. + (ftfont_get_metrics): Handle matrix transformation. + (ftfont_shape_by_flt): New arg matrix. Callers changed. + + * xftfont.c (struct xftfont_info): New member matrix. + (xftfont_open): Setup xftfont_info->matrix. + +2009-12-10 Kenichi Handa + + * xdisp.c (append_space_for_newline): Consider face-remapping. + +2009-12-09 Andreas Schwab + + * xsettings.c: Include "keyboard.h". + + * gtkutil.c (xg_tool_bar_proxy_help_callback): Fix missing return. + + Fix implicit function declarations. + * cmds.c: Include "frame.h". + * frame.c: Include "font.h" also if !HAVE_WINDOW_SYSTEM. + * frame.h: Move declaration of delete_frame outside of + HAVE_WINDOW_SYSTEM. + +2009-12-09 Ken Brown (tiny change) + + * s/cygwin.h (G_SLICE_ALWAYS_MALLOC): New variable. + + * emacs.c (main): Set the G_SLICE environment variable for Cygwin + GTK builds. + +2009-12-07 Andreas Schwab + + * unexelf.c (unexec): Don't search for .data twice. + +2009-12-05 Chong Yidong + + * xdisp.c (push_display_prop): Don't set avoid_cursor_p. Return 0 + if push failed. + (handle_line_prefix): Set avoid_cursor_p here. Check return value + of push_display_prop (Bug#5000). + + * xfaces.c (Fx_family_fonts): Handle 2009-07-14 change to return + value of font_list_entities (Bug#5085). + +2009-12-04 Juanma Barranquero + + Fix `string-to-number' to deal consistently with integers and floats. + * lread.c (isfloat_string): New argument ignore_trailing to accept all + trailing characters, not just whitespace. + (read1): Pass new arg 0 to keep old behavior. + * data.c (Fstring_to_number): Pass 1 to isfloat_string to ignore + trailing chars, as it is already done for integers. Doc fixes. + * lisp.h (isfloat_string): Add new arg to declaration of isfloat_string. + +2009-12-04 Eli Zaretskii + + * dispextern.h (enum prop_idx) : + Delete unused enumeration value. + +2009-12-03 Eli Zaretskii + + * Makefile.in (lisp, shortlisp): Replace indian.el with indian.elc. + +2009-12-03 Daniel Hackney (tiny change) + + * process.c (Fmake_network_process): Fix up the tests for + "connectionless socket", so they DTRT for seqpacket sockets as well. + +2009-12-03 Stefan Monnier + + * process.c (Qseqpacket): New symbol. + (HAVE_SEQPACKET): New macro. + (Fmake_network_process): Accept new :type `seqpacket'. + (init_process): Add `seqpacket' feature when applicable. + (syms_of_process): Initialize Qseqpacket. + +2009-12-01 YAMAMOTO Mitsuharu + + * font.c (font_load_for_lface, font_open_by_name): Don't store name + if entity is Qnil. + +2009-11-30 Stefan Monnier + + * print.c (print_preprocess): Preprocess the key_and_value table of + hashtables, even tho they're "hidden" (bug#5082). + +2009-11-29 Jan Djärv + + * frame.c (frame_make_pointer_invisible) + (frame_make_pointer_visible): Declare f before statements. + +2009-11-28 Eli Zaretskii + + * Makefile.in [!AUTO_DEPEND]: Remove outdated comment about + omitted dependencies on lisp.h. + +2009-11-27 Jan Djärv + + * xftfont.c (xftfont_end_for_frame): Just return if dpyinfo->display + is NULL. + + * xterm.c (x_delete_terminal): Set dpyinfo->display to NULL. + + * frame.c (frame_make_pointer_invisible) + (frame_make_pointer_visible): Just return if there isn't any selected + frame. + + * search.c (simple_search): Remove warning by making *p const. + +2009-11-26 Dan Nicolaescu + + * xdisp.c (power_letter): Remove duplicate const. + +2009-11-25 Jan Djärv + + * term.c (delete_tty): Remove check for last terminal (bug#4970). + + * xsettings.c: Revert changes from 2009-11-23. Just use Xft + defaults (bug #5025). + +2009-11-24 Stefan Monnier + + * insdel.c (adjust_markers_for_delete): Move it in the + right direction! (bug#4803) + +2009-11-24 YAMAMOTO Mitsuharu + + * font.c (font_open_entity): Don't use ASET if font_object is Qnil. + + * xterm.c (x_new_font): Update f->scroll_bar_actual_width. + +2009-11-24 Glenn Morris + + * frame.c (focus-follows-mouse): Mention mouse-autoselect-window. + +2009-11-23 Jan Djärv + + * Makefile.in: Must create deps for ecrt0.o in its rule. + + * xfns.c (Fx_select_font): Try to convert Fontconfig name to Gtk name + because that is what Gtk+ font dialog understands. + + * font.c (font_make_object, Fcopy_font_spec): Use Fcopy_alist instead + of Fcopy_sequence. + (font_open_by_name): Put name given into QCname for font-object returned. + + * frame.c (x_set_font): Save original font name as frame parameter + font-parameter. + + * xsettings.c (set_default_xft_settings): New function. + (init_xfd_settings): Call set_default_xft_settings if no XSETTINGS window + is found. + +2009-11-22 Andreas Schwab + + * search.c (simple_search): Avoid CHAR_TO_BYTE in inner loop when + searching backwards through multibyte buffer. + +2009-11-21 Jan Djärv + + * xterm.c: #include xgselect.h. + (x_initialize): Call xgselect_initialize. + + * xsettings.c (something_changedCB): C++ comments => C comments. + (init_gconf): Do not deal with any GLib file descriptors, xg_select + does that now. + + * gtkutil.c (xg_timer, xg_process_timeouts, xg_start_timer) + (xg_stop_timer, menu_grab_callback_cnt, menu_grab_callback) + (scroll_bar_button_cb): Remove. + (create_menus): C++ comments => C comments. Don't bind grab-notify + event. + (xg_create_scroll_bar): Don't bind button-press-event and + button-release-event. + + * process.c: Include xgselect.h if defined (USE_GTK) || + defined (HAVE_GCONF). + (wait_reading_process_output): Call xg_select for the same condition. + + * xgselect.c (xg_select): New function to better integrate with + GLib/Gtk event handling. Needed if GConf daemon dies/restarts. + + * xgselect.h: New file, declare xg_select, xgselect_initialize. + + * Makefile.in (XOBJ): Add xgselect.o. + +2009-11-21 Andreas Schwab + + * character.h (STRING_CHAR, STRING_CHAR_AND_LENGTH): + Remove ignored second argument. All callers changed. + * regex.c (STRING_CHAR, STRING_CHAR_AND_LENGTH, RE_STRING_CHAR) + (RE_STRING_CHAR_AND_LENGTH): Likewise. + * xdisp.c (string_char_and_length): Likewise. + +2009-11-21 Dan Nicolaescu + + * xterm.c (x_new_font): + * print.c (print_object): + * cmds.c (Fself_insert_command): Move declarations before statements. + +2009-11-20 Ken Brown (tiny change) + + * s/cygwin.h: Remove unneeded linker flags. + +2009-11-20 Jan Djärv + + * xfns.c (x_default_font_parameter): Call xsettings_get_system_font. + + * xsettings.h: Declare xsettings_get_system_font. + + * xsettings.c (xsettings_get_system_font): New function. + (init_gconf): No use initiating gconf unless we have Xft also. + (syms_of_xsettings): Only provide system-font-setting if HAVE_XFT and + HAVE_GCONF. + + * gtkutil.c (xg_modify_menubar_widgets): If menubar is totally empty + add a blank entry so it doesn't collapse into nothing. + +2009-11-19 Stefan Monnier + + * lread.c (Funintern): Comment out last change. + +2009-11-19 Richard Stallman + + * lread.c (Funintern): Error if symbol is t or nil. + +2009-11-19 Stefan Monnier + + * insdel.c (make_gap_larger): Don't make as many assumptions about the + representation of Lisp integers. + Reported by MJ Chan . + +2009-11-17 Andreas Schwab + + * lisp.h: Remove declaration of Ffont_get_system_font. + * xfns.c: Move include of "xsettings.h". + * xsettings.h: Use EXFUN to declare Ffont_get_system_font. + +2009-11-17 Jan Djärv + + * xsettings.c (something_changedCB, Ffont_get_system_font): + Check use_system_font. + (syms_of_xsettings): DEFVAR font-use-system-font. + +2009-11-17 Andreas Schwab + + * xfns.c (x_default_font_parameter): Remove dead assignment. + + * lisp.h (Fbyteorder, init_font, Ffont_get_system_font): Declare. + +2009-11-17 Jan Djärv + + * xftfont.c (xftfont_fix_match): Older versions of fontconfig do + not have FC_LCD_*. #define them if not there. + + * xsettings.c (parse_xft_settings, apply_xft_settings): Ditto. + + * xterm.h (struct x_display_info): Add atoms and Window for xsettings. + + * xterm.c (handle_one_xevent): Call xft_settings_event for + ClientMessage, PropertyNotify and DestroyNotify. + (x_term_init): If we have XFT, get DPI from Xft.dpi. + Call xsettings_initialize. + + * xftfont.c (xftfont_fix_match): New function. + (xftfont_open): Call XftDefaultSubstitute before XftFontMatch. + Call xftfont_fix_match after XftFontMatch. + + * xfont.c (xfont_driver): Initialize all members. + + * xfns.c (x_default_font_parameter): + Try font from Ffont_get_system_font. + Do not get font from x_default_parameter if we got one from + Ffont_get_system_font. + (Fx_select_font): Get the defaut font name from :name of FRAME_FONT(f). + + * w32font.c (w32font_driver): Initialize all members. + + * termhooks.h (enum event_kind): CONFIG_CHANGED_EVENT is new. + + * lisp.h: Declare syms_of_xsettings. + + * keyboard.c (kbd_buffer_get_event, make_lispy_event): + Handle CONFIG_CHANGED_EVENT. + + * ftfont.c (ftfont_filter_properties): New function. + + * frame.c (x_set_font): Remove unused variable lval. + + * font.h (struct font_driver): Add filter_properties. + + * font.c (font_put_extra): Don't return if val is nil, it means + boolean option is off. + (font_parse_fcname): Collect all extra properties in extra_props + and call filter_properties for all drivers with extra_props and + font as parameter. + (font_open_entity): Do not use cache, it does not pick up new + fontconfig settings like hinting. + (font_load_for_lface): If spec had a name in it, store it in entity. + + * emacs.c (main): Call syms_of_xsettings. + + * config.in: HAVE_GCONF is new. + + * Makefile.in (GCONF_CFLAGS, GCONF_LIBS): New variables for HAVE_GCONF. + xsettings.o is new. + +2009-11-17 Kenichi Handa + + * xdisp.c (x_produce_glyphs): Consider face-remapping when falling + back to the default font in case that no suitable font is found. + +2009-11-17 Stefan Monnier + + * menu.c (Fx_popup_menu) [HAVE_NS]: Use generic code for window edge. + Suggested by Chad Brown . + (push_menu_item): Use MENU_ITEMS_ITEM_* names. + +2009-11-16 Jan Djärv + + * xmenu.c (x_menu_wait_for_event): Call XFlush before select. + +2009-11-14 Andreas Schwab + + * Makefile.in: Ignore errors from mkdir when creating deps directory. + +2009-11-14 Jan Djärv + + * gtkutil.c (xg_update_frame_menubar): Do nothing if menubar already + has a parent. + + * Makefile.in: If AUTO_DEPEND is defined, make gcc generate + dependency files in deps/. Include those files into Makefile. + + * config.in: Generated (AUTO_DEPEND). + +2009-11-13 Michael Albinus + + * dbusbind.c (Vdbus_registered_objects_table): Rename from + Vdbus_registered_functions_table, because it contains also + properties. Fix docstring. + (Fdbus_call_method, Fdbus_call_method_asynchronously): Fix docstring. + +2009-11-13 Stefan Monnier + + * alloc.c (mark_object): Don't reprocess marked strings. + Check vector's markbit earlier. Adjust calls to mark_vectorlike. + (mark_vectorlike, mark_char_table): Assume the object is unmarked. + +2009-11-13 Kenichi Handa + + * category.c (word_boundary_p): Adjust for the change of the + semantics of Vword_combining_categories. + (Vword_combining_categories): Describe the slight change of the + semantics. + +2009-11-13 Eli Zaretskii + + * menu.c (Fx_popup_menu): Call Fx_hide_tip only if HAVE_WINDOW_SYSTEM. + + * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Revert last change. + +2009-11-12 Stefan Monnier + + * xdisp.c (syms_of_xdisp): Fix typo in last change. + +2009-11-12 Juanma Barranquero + + * makefile.w32-in: Update dependencies; add dependencies to lisp.h. + +2009-11-11 David Reitter + + * menu.c (Fx_popup_menu): Remove left-over debugging code and rename + variables to fix 2009-11-09 change. + +2009-11-11 Dan Nicolaescu + + * process.c (ifflag_def): Make flag_sym constant. + (Fnetwork_interface_info): Use a constant pointer. + (ifflag_table): + * xfns.c (cursor_bits): + * xdisp.c (power_letter): + * termcap.c (speeds, esctab): + * sysdep.c (baud_convert): + * keyboard.c (lispy_accent_codes, modifier_names): + * image.c (xbm_format, xpm_format, pbm_format, png_format) + (jpeg_format, tiff_format, gif_format, svg_format) + (interlace_start, interlace_increment, gs_format): + * gtkutil.c (separator_names): + * fringe.c (swap_nibble): + * fns.c (base64_value_to_char, base64_char_to_value): + * fileio.c (make_temp_name_tbl): + * coding.c (suffixes): Make constant. + + * frame.c (make_initial_frame): + * buffer.c (init_buffer_once): Use make_pure_c_string instead of + build_string. + * alloc.c (syms_of_alloc): Build Vmemory_signal_data in pure memory. + + * s/freebsd.h: + * s/netbsd.h: Remove code referring to non-existent file: unexsunos4.o. + + * Makefile.in: Add dependencies to lisp.h. Remove dependencies + for non-existent files: unexmips.c, unexnext.c, abbrev.c, malloc.c. + + * xfns.c (syms_of_xfns): Use make_pure_string instead of build_string. + * xterm.c (syms_of_xterm): + * xfaces.c (syms_of_xfaces): + * xdisp.c (syms_of_xdisp): + * lread.c (syms_of_lread): + * keyboard.c (syms_of_keyboard): Use make_pure_c_string instead of + build_string. + + * doc.c (Fsnarf_documentation): Purecopy Vbuild_files. + +2009-11-10 Stefan Monnier + + * fns.c (Fplist_get): Merge the active and the commented out code. + +2009-11-10 Jan Djärv + + * keyboard.h: Declare timer_check. + + * keyboard.c (timer_check_2): New function that does what the old + timer_check did. + (timer_check): Call timer_check_2 until -1 or a non-zero time is + returned, i.e. don't return -1 with timers pending. + + * process.c: Remove extern declaration of timer_check. + + * xmenu.c (x_menu_wait_for_event): Remove code that did a timeout + even if timer_check returned -1. + + * gtkutil.c (xg_dialog_response_cb): Data is now a struct + xg_dialog_data. + (pop_down_dialog): Destroy widget (if any), cancel timer and unref + the event loop. + (xg_maybe_add_timer, xg_dialog_run): New functions (bug #4574). + (xg_get_file_name, xg_get_font_name): Call xg_dialog_run (bug #4574). + Destroy the dialog after xg_dialog_run. + +2009-11-10 Stefan Monnier + + * menu.c (Fx_popup_menu) [HAVE_NS]: Remove unused vars. + +2009-11-10 Jan Djärv + + * xmenu.c (xmenu_show): Must not be static after 2009-11-09 changes. + +2009-11-09 Juanma Barranquero + + * menu.c [HAVE_NTGUI]: Declare current_popup_menu. + +2009-11-09 Stefan Monnier + + * menu.c (Fx_popup_menu): Consolidate versions from xmenu.c, + w32menu.c, and nsmenu.m. + Simplify the obsolete case where position is nil. + (cleanup_popup_menu): New function, moved from nsmenu.m. + (struct skp): Remove slot `notreal'. + (single_keymap_panes, keymap_panes): Remove arg `notreal' and + adjust callers. + (single_menu_item): Adjust call to parse_menu_item. + (syms_of_menu): Defsubr x-popup-menu. + * menu.h (Vmenu_updating_frame): Consolidate declarations from *menu.c. + (keymap_panes): Don't export any more. + (mouse_position_for_popup, w32_menu_show, ns_menu_show) + (xmenu_show): Declare. + * keyboard.c (parse_menu_item): Remove arg `notreal'. + (menu_bar_item, read_char_minibuf_menu_prompt): Adjust callers. + * keyboard.h (parse_menu_item): Update declaration. + * xmenu.c (Fx_popup_menu): Remove. + (syms_of_xmenu): Don't defsubr x-popup-menu. + * w32menu.c (Fx_popup_menu): Remove. + (syms_of_w32menu): Don't defsubr x-popup-menu. + * nsmenu.m (cleanup_popup_menu): Remove. + (ns_menu_show): Rename from ns_popup_menu and remove all the code + moved to menu.c's Fx_popup_menu. + (Fx_popup_menu): Remove. + (syms_of_nsmenu): Don't defsubr x-popup-menu, and don't initialize + menu_items (it's done in menu.c already). + +2009-11-08 Stefan Monnier + + * keyboard.c (parse_menu_item): Handle `notreal' a bit earlier. + Use `tem' less. Make sure KEYEQ holds a string or nil (bug#4879). + +2009-11-08 Chong Yidong + + * xmenu.c (Fx_popup_menu): Extract event timestamp. Pass it to + xmenu_show. Hide any tooltip before opening a menu. + (xmenu_show): New arg. Pass it to create_and_show_popup_menu. + (create_and_show_popup_menu): New arg. Pass it to gtk_menu_popup. + +2009-11-06 Stefan Monnier + + Let integers use up 2 tags to give them one extra bit and thus double + their range. + * lisp.h (USE_2_TAGS_FOR_INTS): New macro. + (LISP_INT_TAG, case_Lisp_Int, LISP_STRING_TAG, LISP_INT_TAG_P): + New macros. + (enum Lisp_Type): Use them. Give explicit values. + (Lisp_Type_Limit): Remove. + (XINT, XUINT, make_number) [!USE_LISP_UNION_TYPE]: + (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM, INTMASK): + Pay attention to USE_2_TAGS_FOR_INTS. + (INTEGERP): Use LISP_INT_TAG_P. + * fns.c (internal_equal): Simplify the default case. + (sxhash): Use case_Lisp_Int. + * data.c (wrong_type_argument): Don't check against Lisp_Type_Limit + any more. + (Ftype_of): Use case_Lisp_Int. + (store_symval_forwarding): Take into account the fact that Ints can + now have more than one tag. + * buffer.c (syms_of_buffer): Use LISP_INT_TAG. + (buffer_slot_type_mismatch): + * xfaces.c (face_attr_equal_p): + * print.c (print_object): + * alloc.c (mark_maybe_object, mark_object, survives_gc_p): + Use case_Lisp_Int. + +2009-11-06 Eli Zaretskii + + * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce by further 30K. + + * alloc.c (make_pure_c_string): Fix last change to avoid compiler + warning. + +2009-11-06 Jan Djärv + + * gtkutil.c (xg_event_is_for_scrollbar): New function (bug#4870). + + * gtkutil.h: Declare xg_event_is_for_scrollbar (bug#4870). + + * xterm.c (handle_one_xevent): Call xg_event_is_for_scrollbar for + ButtonPressRelease and MotionNotify (bug#4870). + +2009-11-06 Dan Nicolaescu + + * keymap.c (syms_of_keymap): Construct exclude_keys in pure memory. + + * xterm.c (syms_of_xterm): + * xselect.c (syms_of_xselect): + * xmenu.c (syms_of_xmenu): + * xfns.c (syms_of_xfns): + * xfaces.c (syms_of_xfaces): + * xdisp.c (syms_of_xdisp): + * window.c (syms_of_window): + * w32fns.c (syms_of_w32fns): + * undo.c (syms_of_undo): + * textprop.c (syms_of_textprop): + * terminal.c (syms_of_terminal): + * syntax.c (syms_of_syntax): + * sound.c (syms_of_sound): + * search.c (syms_of_search): + * print.c (syms_of_print): + * minibuf.c (syms_of_minibuf): + * macros.c (syms_of_macros): + * keymap.c (syms_of_keymap, initial_define_key) + (initial_define_lispy_key): + * keyboard.c (syms_of_keyboard): + * insdel.c (syms_of_insdel): + * image.c (syms_of_image): + * fringe.c (syms_of_fringe): + * frame.c (syms_of_frame): + * fontset.c (syms_of_fontset): + * fns.c (syms_of_fns): + * fns.c (syms_of_fns): + * fileio.c (syms_of_fileio): + * fileio.c (syms_of_fileio): + * eval.c (syms_of_eval): + * doc.c (syms_of_doc): + * dispnew.c (syms_of_display): + * dired.c (syms_of_dired): + * dbusbind.c (syms_of_dbusbind): + * data.c (syms_of_data): + * composite.c (syms_of_composite): + * coding.c (syms_of_coding): + * cmds.c (syms_of_cmds): + * charset.c (define_charset_internal, syms_of_character): + * ccl.c (syms_of_ccl): + * category.c (syms_of_category, init_category_once): + * casetab.c (syms_of_casetab): + * casefiddle.c (syms_of_casefiddle): + * callint.c (syms_of_callint): + * bytecode.c (syms_of_bytecode): + * buffer.c (keys_of_buffer, syms_of_buffer): + * alloc.c (syms_of_alloc): + * process.c (syms_of_process, init_process): + * lread.c (syms_of_lread, init_obarray): + * font.c (build_style_table): + * emacs.c (syms_of_emacs, main): Replace calls to intern with + intern_c_string, calls to make_pure_string with + make_pure_c_string. Use pure_cons instead of Fcons. + + * process.c (socket_options): Make it const. + (set_socket_option, init_process): Use a const pointer. + + * lread.c (intern_c_string): New function. + (defvar_kboard, defvar_lisp, defvar_lisp_nopro, defvar_bool) + (defvar_int): Uset it. Make the name const char*. + + * lisp.h (defvar_kboard, defvar_lisp, defvar_lisp_nopro, defvar_bool) + (defvar_int): Update prototypes. + (DEFUN, EXFUN): Support for prototypes is now required. + (intern_c_string): New prototype. + (struct Lisp_Subr): Make symbol_name constant. + + * font.c (struct table_entry): Remove unused member. Make NAMES + constant. + (weight_table, slant_table, width_table): Make constant. + + * emacs.c (struct standard_args): Make name and longname constant. + + * character.h (DEFSYM): Use intern_c_string. + +2009-11-06 Stefan Monnier + + * alloc.c (make_pure_c_string): New function. + + * eval.c (Fautoload): Purecopy all arguments. + +2009-11-05 Kenichi Handa + + * fileio.c (Finsert_file_contents): Be sure set coding-system of + the buffer in case of replace. + +2009-11-04 Dan Nicolaescu + + * puresize.h (BASE_PURESIZE): Increase to 1620000. + +2009-11-03 Stefan Monnier + + * editfns.c (save_restriction_restore): Update the (pt/begv/vz)_markers + when applicable (bug#4851). + + * lisp.h: Make USE_LSB_TAG work with USE_LISP_UNION_TYPE. + (P_): Support for prototypes is now required. + +2009-10-31 Chong Yidong + + * frame.c (Fmake_frame_invisible, Fframe_visible_p): Doc fix + (Bug#4827). + +2009-10-30 Eli Zaretskii + + * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Redefine to waste less pure space. + +2009-10-30 Dan Nicolaescu + + * puresize.h (BASE_PURESIZE): Increase to 1470000. + + * lread.c (Fload): Purecopy the file name when building + Vpreloaded_file_list. + +2009-10-29 Jason Rumney + + * w32fns.c (syms_of_w32fns): Change default value of + w32-scroll-lock-modifier to nil. (Bug#2827) + +2009-10-26 Juanma Barranquero + + * minibuf.c (Fall_completions): Fix typos in docstring. + +2009-10-26 Andreas Schwab + + * puresize.h (PURESIZE_RATIO): Increase back to 10/6. + +2009-10-26 Juanma Barranquero + + * window.c (grow_mini_window): Comment out "delta >= 0" assertion. + For delta < 0, skip check that only makes sense when the mini-window + is going to be enlarged. (Bug#4534) + +2009-10-25 Chong Yidong + + * keyboard.c (read_char_x_menu_prompt): Don't demand a prompt + string in menu maps (Bug#4471). + +2009-10-24 Chong Yidong + + * nsfns.m (ns_set_name, ns_set_name_as_filename): Don't call + FRAME_NS_VIEW on terminal frames (Bug#4765). + +2009-10-24 Andreas Schwab + + * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_INTnn and + DBUS_TYPE_UINTnn separately to get proper sign extension. + + * dired.c (Ffile_attributes): Simplify now that FIXNUM_OVERFLOW_P + can properly handle unsigned types. + (make_uid, make_gid): Remove. + + * lisp.h (FIXNUM_OVERFLOW_P): Fix last change to handle unsigned + types again. + + * sysdep.c (procfs_ttyname): Fix sprintf format to match argument type. + (system_process_attributes): Likewise. + +2009-10-24 Dan Nicolaescu + + * keymap.c (Fmake_sparse_keymap): Purecopy the name. + + * eval.c (Fautoload): Purecopy the filename. Simplify. + + * category.c (Fdefine_category): Purecopy docstring. + +2009-10-23 Andreas Schwab + + * lisp.h (FIXNUM_OVERFLOW_P): Remove cast to avoid overflow. + + * puresize.h (PURESIZE_RATIO): Decrease to 11/7. + +2009-10-23 Chong Yidong + + * window.c (Fwindow_edges, Fwindow_pixel_edges) + (Fwindow_inside_edges, Fwindow_inside_pixel_edges): Doc fix + (Bug#4775). + +2009-10-23 Stefan Monnier + + * fileio.c (syms_of_fileio): Initialize Vdirectory_sep_char. + (init_fileio_once): + * lisp.h (init_fileio_once): Remove. + * emacs.c (main): Don't call init_fileio_once. + +2009-10-23 Dan Nicolaescu + + * puresize.h (BASE_PURESIZE): Increase to 1430000. + +2009-10-21 Andreas Schwab + + * doprnt.c (doprnt): Fix overflow check. + +2009-10-21 Jan Djärv + + * xterm.c (x_term_init): Remove XSynchronize call done for debugging. + + * xterm.h (x_wait_for_event): Declare it. + + * xterm.c (pending_event_wait): New variable. + (handle_one_xevent): Set pending_event_wait.eventtype to 0 if we + see pending_event_wait.eventtype. + (handle_one_xevent): Don't change gravity when parent changes. + (x_new_font): Call change_frame_size with new rows/columns before we + try to resize the frame. + (x_wait_for_event): New function. + (x_set_window_size_1): Don't change gravity unless change_gravity + is set. + Call XResizeWindow with FRAME_OUTER_WINDOW. If we are visible, + don't change frame size, instead wait for the ConfigureNotify. + (x_set_window_size): Call x_set_window_size_1 for USE_X_TOOLKIT also. + (x_wm_set_size_hint): Remove ifdefs for USE_X_TOOLKIT. + (x_initialize): Initialize pending_event_wait. + + * xmenu.c (set_frame_menubar): Add internal border width to menu bar + size. + + * widget.c (EmacsFrameSetValues): Add comment. + (EmacsFrameSetCharSize): Just call x_set_window_size. + + * gtkutil.c (xg_frame_set_char_size): Flush events and call + x_wait_for_event. + (flush_and_sync): Remove again. + (xg_get_font_name): Suggest monospace if no previous font is known. + +2009-10-20 Stefan Monnier + + * character.c (char_resolve_modifier_mask): Don't resolve meta to the + 8th bit, since that only made sense in the ASCII world (bug#4751). + +2009-10-20 YAMAMOTO Mitsuharu + + * xterm.c (XTread_socket) [!USE_GTK && HAVE_X_I18N]: Don't quit + processing pending events when event is filtered for input method. + (Bug#3681) + +2009-10-20 Juanma Barranquero + + * fns.c: Add #endif accidentally removed in previous change. + +2009-10-19 Dan Nicolaescu + + * fns.c: Remove code for unsupported system: MAC_OS. + * image.c: Likewise. Include setjmp.h. + +2009-10-19 Jan Djärv + + * xterm.c (x_create_toolkit_scroll_bar): Don't allocate color for + pixel -1 (bug #4742). + +2009-10-19 Dan Nicolaescu + + * process.c (create_pty): Remove conditionals for no longer + supported systems: UNIPLUS and RTU. + + * xterm.c: + * xfns.c: Remove always true condition: XtSpecificationRelease >= 5. + + * alloc.c: Do not define struct catchtag. + * eval.c: Move struct catchtag definition ... + * lisp.h: ... here. + + * image.c: Move png.h #include earlier to avoid warnings. + + * xterm.c: + * xsmfns.c: + * xselect.c: + * xrdb.c: + * xmenu.c: + * xftfont.c: + * xfont.c: + * xfns.c: + * xfaces.c: + * xdisp.c: + * window.c: + * widget.c: + * w32xfns.c: + * w32uniscribe.c: + * w32term.c: + * w32select.c: + * w32reg.c: + * w32proc.c: + * w32menu.c: + * w32inevt.c: + * w32heap.c: + * w32font.c: + * w32fns.c: + * w32console.c: + * w32.c: + * w16select.c: + * vm-limit.c: + * unexsol.c: + * unexec.c: + * unexcw.c: + * unexaix.c: + * undo.c: + * tparam.c: + * textprop.c: + * terminfo.c: + * terminal.c: + * termcap.c: + * term.c: + * syntax.c: + * sound.c: + * sheap.c: + * search.c: + * scroll.c: + * region-cache.c: + * regex.c: + * ralloc.c: + * process.c: + * print.c: + * nsterm.m: + * nsselect.m: + * nsmenu.m: + * nsimage.m: + * nsfont.m: + * nsfns.m: + * msdos.c: + * minibuf.c: + * menu.c: + * marker.c: + * macros.c: + * keymap.c: + * keyboard.c: + * intervals.c: + * insdel.c: + * indent.c: + * gtkutil.c: + * ftxfont.c: + * ftfont.c: + * fringe.c: + * frame.c: + * fontset.c: + * font.c: + * fns.c: + * floatfns.c: + * filelock.c: + * fileio.c: + * emacs.c: + * editfns.c: + * dosfns.c: + * doprnt.c: + * doc.c: + * dispnew.c: + * dired.c: + * dbusbind.c: + * data.c: + * composite.c: + * coding.c: + * cmds.c: + * cm.c: + * chartab.c: + * charset.c: + * character.c: + * ccl.c: + * category.c: + * casetab.c: + * casefiddle.c: + * callproc.c: + * callint.c: + * bytecode.c: + * buffer.c: + * atimer.c: Include setjmp.h. (Bug#4643) + +2009-10-18 Stefan Monnier + + Remove leftover table unibyte_to_multibyte_table. + * character.c (unibyte_to_multibyte_table): Remove. + (Funibyte_char_to_multibyte): Use MAKE_CHAR_MULTIBYTE. + * charset.c (init_charset_once): Don't init unibyte_to_multibyte_table. + * character.h (UNIBYTE_TO_CHAR): New macro. + (MAKE_CHAR_MULTIBYTE): Use it. + (unibyte_to_multibyte_table, unibyte_char_to_multibyte): Remove. + * xdisp.c (get_next_display_element): USE ASCII_CHAR_P. + (message_dolog, set_message_1): + * search.c (Freplace_match): + * editfns.c (Fcompare_buffer_substrings): + * fns.c (Fcompare_strings): Use MAKE_CHAR_MULTIBYTE. + (concat): + * insdel.c (copy_text, count_size_as_multibyte): + Use ASCII_CHAR_P and BYTE8_TO_CHAR. + * term.c (produce_glyphs): + * syntax.c (skip_chars): Use BYTE8_TO_CHAR. + * regex.c (RE_CHAR_TO_MULTIBYTE): + * cmds.c (internal_self_insert): + * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use UNIBYTE_TO_CHAR. + + * cmds.c (internal_self_insert): `c' is already in "multibyte" form. + +2009-10-17 Dan Nicolaescu + + * puresize.h (BASE_PURESIZE): Increase to 1310000. + +2009-10-16 Juanma Barranquero + + * buffer.c (Fbuffer_name): Doc fix. (Bug#4728) + +2009-10-15 Adrian Robert + + * nsterm.h (NS_HAVE_NSINTEGER): Back out and augment with CGFloat, + still needed under Tiger. + + * nsterm.m (EmacsView-conversationIdentifier): Arg is long. + + * m/amdx86-64.h: Don't set LIB_STANDARD and START_FILES under + __Apple__. + + * m/intel386.h: Remove DARWIN_OS/_LP64 special case. + +2009-10-15 Kenichi Handa + + * print.c (print_object): Escape a symbol like "2E10" too. + +2009-10-11 Adrian Robert + + Cleanups and changes for 64-bit compile under Snow Leopard. + Based on suggestions by Erik Charlebois. + + * nsfns.m (xw-color-values): Use CGFloat where appropriate. + + * nsfont.m (ns_char_width): Replace deprecated call. + (ns_findfonts, nsfont_list_family): Use long format in printf, and + cast argument. + (nsfont_open): Use ns_char_width() everywhere. + (ns_uni_to_glyphs, NSGlyphStorage): Use NS[U]Integer where appropriate. + + * nsgui.h (NSPoint, NSSize) [!__OBJC__]: Define and use CGFloat. + + * nsimage.m (EmacsImage-setXBMColor:,-getPixelAtX:Y:): Use CGFloat + where appropriate. + + * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Use NSInteger + where appropriate. + (EmacsToolbar-addDisplayItemWithImage:idx:helpText:enabled:): + Use stringWithUTF8String. + (EmacsDialogPanel-initWithContentRect:styleMask:): Fix signature. + + * nsterm.h (EmacsView, EmacsMenu, EmacsToolbar, EmacsTooltip): + Add formal protocol mention to inheritance. + [NS_HAVE_NSINTEGER]: Drop conditional and contents. + + * nsterm.m (ns_color_to_lisp): Use CGFloat where appropriate. + Fix printf format. + (ns_query_color): Use CGFloat where appropriate. + (EmacsView, EmacsScroller): Fix method signatures. + (EmacsScroller-mouseDown:): Use long format in printf, and cast + argument. + + * config.in (NS_HAVE_NSINTEGER): Drop. + + * dbusbind.c (dbus-method-return-internal) + (dbus-method-error-internal): Use long format in printf, and cast + argument. + + * font.c (font_unparse_xlfd, font_unparse_fcname): Use long format + in printf, and cast argument. + + * process.c (list_processes_1): Use long format in printf, and + cast argument. + +2009-10-11 Glenn Morris + + * frame.c (Fframe_pixel_height): Doc fix. (Bug#4535) + +2009-10-08 Jan Djärv + + * gtkutil.c (create_menus): Call gtk_widget_set_size_request for + menu bar with a small width so it doesn't enlarge the frame. + +2009-10-08 Juanma Barranquero + + * fontset.c (Fset_fontset_font): Fix typos in error messages. + +2009-10-06 Glenn Morris + + * Makefile.in (emacs${EXEEXT}): Remove direct dependence on + SOME_MACHINE_LISP (this enters indirectly via DOC). + +2009-10-05 Eli Zaretskii + + * dired.c (Ffile_attributes): Doc fix. (Bug#4638) + +2009-10-04 Eli Zaretskii + + * xdisp.c (syms_of_xdisp) : + Doc fix. + +2009-10-03 Martin Rudalics + + * window.c (Fdelete_window): Check WINDOW argument. (Bug#4618) + +2009-10-02 Michael Albinus + + * lisp.h (Qdelete_directory_internal): Remove, because it is not + used anymore outside fileio.c. + + * w32fns.c (Fsystem_move_file_to_trash): Use delete-directory. + +2009-10-01 Juanma Barranquero + + * lisp.h (Qdelete_directory_internal): + Declare, instead of Qdelete_directory. + + * w32fns.c (Fsystem_move_file_to_trash): Use it. + +2009-10-01 Stefan Monnier + + * eval.c (Fcalled_interactively_p): Add `kind' argument. + +2009-10-01 Michael Albinus + + * fileio.c (Fdelete_directory_internal): Rename from + Fdelete_directory. It is not a command anymore. It has no file + name handler. + +2009-09-28 Stefan Monnier + + * xdisp.c (get_next_display_element): Use an enum in last change. + +2009-09-28 Kenichi Handa + + * xdisp.c (get_next_display_element): Pay attention to + unibyte_display_via_language_environment in handling + Vnobreak_char_display. + +2009-09-27 Adrian Robert + + * nsterm.h (ns_app_name): New extern variable. + + * nsterm.m (ns_app_name): New variable. + (ns_term_init): Set and use it. + (ns_term_shutdown): Use it. + + * nsmenu.m (ns_update_menubar): Use ns_app_name. Sync with xmenu.c. + (EmacsMenu-clear:, ns_popup_dialog): Use ns_app_name. + + * nsfns.m (ns_set_name_iconic, ns_set_name) + (ns_set_name_as_filename, x-create-frame, ns-get-resource) + (ns-set-resource): Use ns_app_name instead of NSProcessInfo call. + + * menu.c (find_and_return_menu_selection) [HAVE_NS]: + Remove double-casting in client_data comparison. + +2009-09-27 YAMAMOTO Mitsuharu + + * keyboard.c (make_lispy_event): Remember last wheel direction. + (syms_of_keyboard) : Compute array size at compile time. + +2009-09-26 Glenn Morris + + * Makefile.in (MSDOS_SUPPORT) [MSDOS]: Remove unneeded '/' in + internal.elc. Add term/pc-win.elc. + (WINDOW_SUPPORT) [HAVE_X_WINDOWS]: Add term/common-win.elc and + term/x-win.elc. + (WINNT_SUPPORT) [WINDOWSNT]: Add term/common-win.elc and + term/w32-win.elc. + (NS_SUPPORT): New. + (lisp): Add NS_SUPPORT. + (SOME_MACHINE_LISP): Add term/w32-win.elc and emacs-lisp/easymenu.elc. + +2009-09-25 David Reitter + + * nsmenu.m (EmacsMenu-clear): Recognize application menu + on Mac OS X 10.6+ (bug#4513). + +2009-09-24 Juanma Barranquero + + * frame.c (xrdb_get_resource): Return nil for empty string resources; + some parts of Emacs code (like font selection) don't grok them. + See http://lists.gnu.org/archive/html/emacs-devel/2009-09/msg00528.html + +2009-09-24 Andreas Schwab + + * coding.c (decode_coding_iso_2022): Fix operator precedence. + +2009-09-24 Juanma Barranquero + + * dired.c (Fdirectory_files): Fix typo in docstring. + +2009-09-23 Adrian Robert + + * nsterm.m (EV_TIMESTAMP, x_set_window_size) + (EmacsApp-application:openFiles:): Remove GNUstep conditionals. + (EmacsScroller-setPosition:portion:whole:): Remove -display call + under GNUstep. + (EmacsView-initFrameFromEmacs:): Set autoresizing mask. + + * nsfont.m (ns_glyph_metrics): Remove GNUstep conditional for + glyph advancement. + +2009-09-22 Adrian Robert + + * nsterm.m (CGContextSetFontRenderingMode): Drop declaration. + (EmacsScroller-mouseDown:): Use SCROLL_BAR_FIRST_DELAY. + + * nsmenu.m (EmacsMenu-menuNeedsUpdate): Ignore if frame has been + deleted (bug #4492). + + * nsfont.m (Vns_reg_to_script): New lisp variable. + (syms_of_nsfont): Declare it. + (ns_registry_to_script): New function. + (ns_get_req_script): Call it. + (ns_findfonts): Don't give up on non-unicode registry. + + * font.c (DEFAULT_ENCODING) [HAVE_NS]: Remove special case. + +2009-09-20 Tom Tromey + + * eval.c (find_handler_clause): Make stack-trace-on-error work in + batch mode (bug#4228). + +2009-09-18 Rob Christie (tiny change) + + * nsmenu.m (EmacsMenu-parseKeyEquiv:): Parse key equivalent more + carefully. (Bug #4339) + +2009-09-18 Chong Yidong + + * syntax.c (Fchar_syntax): Minor doc fix (Bug#4400). + +2009-09-18 Adrian Robert + + * emacs.c (inhibit_x_resources): Update doc string for NS. + (main) [HAVE_NS]: Don't process --no-init-file option. + Remove legacy code for -NXHost. Fix error printf in daemon case. + + * nsterm.h (ns_no_defaults): Remove. + + * nsterm.m (ns_no_defaults): Remove. + (ns_term_init): Switch ns_no_defaults -> inhibit_x_resources. + (ns_use_qd_smoothing): Remove legacy variable. + (EmacsView-windowShouldZoom:): Set frame left_pos, top_pos and + don't update the NSWindow itself. + (EmacsView-windowWillUseStandardFrame:defaultFrame:): + Improve state detection and store user rect ourselves. (Bug #3581) + + * nsfont.m (nsfont_draw) [NS_IMPL_COCOA]: Don't use + ns_use_qd_smoothing. + + * nsfns.m (x_get_string_resource): Ape just-previous changes to other + platform versions. Drop support for emacs-20-style face specs. + (x-close-connection): Drop PSFlush() under OS X. + (x-focus-frame): Activate the app first. (Bug #4180) + +2009-09-17 Juanma Barranquero + + * emacs.c (inhibit_x_resources): New variable. + (main) [HAVE_NS]: Don't process --quick command line option. + (syms_of_emacs) : DEFVAR_BOOL it. + + * lisp.h (inhibit_x_resources): Declare it extern. + + * w32reg.c (x_get_string_resource): + * xrdb.c (x_get_string_resource): Obey inhibit_x_resources. + +2009-09-17 Eli Zaretskii + + * Makefile.in (MSDOS_SUPPORT, SOME_MACHINE_LISP): + Add lisp/term/internal.elc. + +2009-09-17 Stefan Monnier + + * frame.c (x_get_resource_string): Re-add for non-toolkit builds + (bug#4461). + +2009-09-17 Dan Nicolaescu + + * puresize.h (BASE_PURESIZE): Increase to 1290000. + + * Makefile.in (OTHER_FILES): Define using autoconf, not cpp. + (OBJECTS_MACHINE): Remove, unused. + +2009-09-16 Stefan Monnier + + * frame.c (x_get_resource_string): Remove unused. + +2009-09-15 Jan Djärv + + * xterm.c (x_new_font): Call change_frame_size before calling + x_set_window_size, in case frame size won't change. + + * frame.c (x_set_font): Remove dead code. + +2009-09-15 Stefan Monnier + + * lread.c (Fload): Also run do-after-load-evaluation while dumping. + +2009-09-12 Stefan Monnier + + * lread.c (Fload): Don't output a message after loading an obsolete + package any more (done in Lisp now). + +2009-09-12 Chong Yidong + + * fns.c (syms_of_fns): Doc fix (Bug#4227). + +2009-09-12 Stefan Monnier + + * keymap.c (Fwhere_is_internal): Use nconc2. + +2009-09-11 Alan Mackenzie + + * dispnew.c (Fsend_string_to_terminal): Amend doc string to cover + batch mode. + +2009-09-11 Andreas Schwab + + * xdisp.c (display_mode_element): Detect cycles. + +2009-09-11 Stefan Monnier + + * keymap.c (where_is_internal): Don't erroneously return nil right after + filling the cache. + (where_is_internal_1): Fix up typo. + +2009-09-11 Glenn Morris + + * frame.c (Fx_parse_geometry): Unify the X and NS versions so that they + share a common doc-string. + +2009-09-11 Stefan Monnier + + * keymap.c (get_keymap): Return the actual keymap symbol rather than + t for autoloaded keymaps when autoloading is not allowed (bug#4393). + + * keymap.c (QCadvertised_binding): New constant. + (syms_of_keymap): Initialize it. + (Fwhere_is_internal): Try and use bindings from :advertised-binding + if applicable. + +2009-09-10 Stefan Monnier + + * keyboard.c (Qmenu_alias, Vdefine_key_rebound_commands): Remove. + (parse_menu_item): Streamline since bindings are recomputed all the + time anyway. Don't bother checking Vdefine_key_rebound_commands any + more and don't support lmenu's menu-alias any more either. + + * keymap.c (where_is_internal_data): Make noindirect a boolean. + (where_is_internal): Strip it down to only traverse the keymaps. + Move the cache handling from Fwhere_is_internal to here. + (Fwhere_is_internal): Move the handling of remapping and the choice of + the best binding from where_is_internal to here. + Unify the cached/noncached paths, so remapping is also handled + correctly when the cache is used, and so the cache can be used to + speed up remap-handling when applicable. + Give preference to non-remapped bindings. + * doc.c (Fsubstitute_command_keys): Let Fwhere_is_internal's prefer + non-remapped bindings. + * keyboard.c (parse_menu_item): Let Fwhere_is_internal handle + command remapping. + + * xdisp.c (display_mode_element): Move list length limit from 50 to + 5000 (see thread starting with ). + +2009-09-09 Adrian Robert + + * nsfont.m (ns_get_family): Don't force first letter to uppercase. + +2009-09-09 Stefan Monnier + + * xdisp.c (Vtruncate_partial_width_windows): Improve docstring. + (Bug#4334) + + * keymap.c (where_is_internal): Filter out shadowed remappings. + Assume that where_is_internal returns unshadowed bindings to simplify + the code and get rid of the gotos. Use ASIZE. + +2009-09-04 Jan Djärv + + * xterm.c (x_focus_changed): If we get a focusout and pointer + is invisible, make it visible. + + * xterm.h: Remove condition for declaration of + x_*_window_to_frame. + +2009-09-03 Stefan Monnier + + * dispnew.c (Fsend_string_to_terminal): Make it work again on the + initial terminal as well. + +2009-09-02 Jan Djärv + + * xterm.h: Rename x_non_menubar_window_to_frame to + x_menubar_window_to_frame. + + * xterm.c: Remove declarations also in xterm.h. + (XTmouse_position): Do not return valid positions + for clicks in the menubar and the toolbar for Gtk+. + + * xfns.c (x_any_window_to_frame): Assume less about Gtk+ internals, + if the widget for the event has the same top level as a frame, + return the frame. + (x_menubar_window_to_frame): Detect menu bar even with Gtk+ + internal windows, bug #4122. + (x_non_menubar_window_to_frame): Remove. + +2009-09-02 Glenn Morris + + * buffer.c (default-major-mode): Move most of the doc from here... + (major-mode): ... to here. + +2009-08-30 Nick Roberts + + * process.c (wait_reading_process_output): Keep the descriptor + when pty is used by a non-child process, e.g., in I/O buffer of + GDB this allows inferior to be restarted. + +2009-08-29 Eli Zaretskii + + * xdisp.c (redisplay_internal): Remove redundant test and collapse + both branches into one. + +2009-08-29 Stefan Monnier + + * emacs.c (USAGE1): Remove --(no-)multibyte, --(no-)unibyte. + (main): Use enable-multibyte-characters rather than + default-enable-multibyte-characters. Output a warning message when + running a unibyte session. + +2009-08-28 YAMAMOTO Mitsuharu + + * unexmacosx.c (print_load_command_name) [LC_DYLD_INFO]: Add cases + LC_DYLD_INFO and LC_DYLD_INFO_ONLY. + (copy_data_segment): Also copy __program_vars section. + (copy_dyld_info) [LC_DYLD_INFO]: New function. + (dump_it) [LC_DYLD_INFO]: Use it. + + * s/darwin.h [temacs]: Undef HAVE_POSIX_MEMALIGN. + +2009-08-28 Eli Zaretskii + + * makefile.w32-in ($(BLD)/doc.$(O)): Depend on buildobj.h, not on + $(SRC)/buildobj.h. + (buildobj.h): Rename from $(SRC)/buildobj.h. + (make-buildobj-CMD, make-buildobj-SH): Create buildobj.h, not + $(SRC)/buildobj.h. + (clean): Add buildobj.h. + +2009-08-28 Teodor Zlatanov + + * print.c (print_object): Set escapeflag to 1 when printing + hashtable keys and values. + +2009-08-27 Stefan Monnier + + * lread.c (read_integer): Use doubles (and potentially return a float + number) as we do in string-to-number. + (read1): Use strtol to read integers, signal errors on strtol's + overflow and use floats if strtol's output is too large for + Elisp integers. + +2009-08-27 Eli Zaretskii + + * makefile.w32-in ($(SRC)/buildobj.h, make-buildobj-CMD) + (make-buildobj-SH): Fix last change. + (SRC): Move to before where it's first used. + +2009-08-27 Kenichi Handa + + * process.c (send_process): Use encode_coding_object instead of + encode_coding_string to perform eol-conversion even if the string + is unibyte. + + * coding.c (encode_coding_utf_16): Fix checking of a Unicode + character. + + * cmds.c (Fself_insert_command): Avoid unnecessay + unibyte->multibyte conversion. (Bug#4240) (Bug#4037) + +2009-08-26 Dan Nicolaescu + + * callproc.c (Fcall_process): Remove always true #if. + + * lisp.h: Replace #if 0 code for checking with text pointing to + the --enable-checking configure flag. + + * emacs.c (main): Mention the --enable-profiling configure flag + instead of using CFLAGS. + +2009-08-26 Ken Raeburn + + * Makefile.in (buildobj.h): New target. + (doc.o): Depend on it. + (temacs${EXEEXT}): Don't generate buildobj.lst. + (mostlyclean): Delete buildobj.h, not buildobj.lst. + * makefile.w32-in ($(SRC)/buildobj.h): New target. + ($(BLD)/doc.$(O)): Depend on it. + (make-buildobj-CMD, make-buildobj-SH): New targets. (Syntax help + provided by Eli Zaretskii.) + ($(TEMACS)): Don't generate buildobj.lst. + * doc.c: Include buildobj.h. + (buildobj): New static variable. + (Fsnarf_documentation): Use it, instead of opening and reading + buildobj.lst. + +2009-08-25 Michael Albinus + + * dbusbind.c (Fdbus_call_method) + (Fdbus_call_method_asynchronously): Use English numeric format for + timeout values in doc string. + +2009-08-25 Kenichi Handa + + * alloc.c (mark_char_table): New function. + (mark_object): Use mark_char_table for a char-table. + + * lisp.h (CHAR_TABLE_REF_ASCII): New macro. + (CHAR_TABLE_REF): Use it. + +2009-08-23 Ken Raeburn + + * Makefile.in (emacs${EXEEXT}) [CANNOT_DUMP]: Set EMACSLOADPATH + before invoking the newly build emacs to check for load-path + shadowing. + +2009-08-22 Glenn Morris + + * Makefile.in (bootstrap_exe): New variable. + (.el.elc, ${lispsource}loaddefs.el, bootstrap-emacs${EXEEXT}): + Use ${bootstrap_exe}. + +2009-08-22 Eli Zaretskii + + * coding.h (encode_coding_string): Don't encode unibyte strings. + (Bug#4047) + +2009-08-22 Michael Albinus + + * config.in (HAVE_DBUS_WATCH_GET_UNIX_FD): Add. + + * dbusbind.c (XD_WITH_DBUS_WATCH_GET_UNIX_FD): Remove. It was + intended as hotfix only. + (xd_add_watch, xd_remove_watch): Use HAVE_DBUS_WATCH_GET_UNIX_FD. + +2009-08-21 Adrian Robert + + * nsterm.m (ns_get_color): Update documentation properly for last + change, and clean up loose ends in the code left by it. + Fix longstanding bug with 16-bit hex parsing, and add support for + yet another X11 format (rgb:r/g/b) for compatibility. + * nsfns.m (EmacsDialogPanel-runDialogAt): Add declaration of + timer_check() to avoid crash on Leopard/PPC. Bug #2154. + +2009-08-21 Stefan Monnier + + * eval.c (init_eval_once): Bump max_lisp_eval_depth to 500 for js.el. + +2009-08-20 Michael Albinus + + * dbusbind.c (XD_WITH_DBUS_WATCH_GET_UNIX_FD): New macro. + (xd_add_watch, xd_remove_watch): Use it. Print debug messages. + (xd_initialize, xd_pending_messages): Check, whether + $DBUS_SESSION_BUS_ADDRESS is set. + +2009-08-20 YAMAMOTO Mitsuharu + + * nsfns.m (Fxw_color_values): Return 3-element list. Doc fix. + + * nsterm.m (ns_get_color): Remove incompatible color formats again. + +2009-08-20 Glenn Morris + + * emacs.c (system-type): Doc fix. + +2009-08-19 Stefan Monnier + + * keyboard.c (syms_of_keyboard): Default to 5 buttons, which should be + enough for the most common situations. Avoid SET_SYMBOL_VALUE. + +2009-08-18 Michael Albinus + + * dbusbind.c (xd_add_watch, xd_remove_watch, Fdbus_init_bus): + New functions. + (xd_initialize): Revert change from 2009-08-16. + +2009-08-18 Kenichi Handa + + * fontset.c (Ffontset_font): If a nil element is found in a + font-group vector, return nil. + +2009-08-17 Chong Yidong + + * process.c (status_notify): Don't perform redisplay. + (Fdelete_process, list_processes_1, process_send_signal): + Expliticly perform redisplay. + (wait_reading_process_output): Always check process status, but + don't perform redisplay unless DO_DISPLAY is non-zero (Bug#2930). + +2009-08-17 Ken Raeburn + + * lisp.h (XFLOAT_DATA): Produce an rvalue by adding 0 to the value. + (XFLOAT_INIT): New macro for storing a float value. + * alloc.c (make_float, make_pure_float): Use XFLOAT_INIT. + * fns.c (sxhash): Copy out the value of a float in order to + examine its bytes. + * dbusbind.c (xd_append_arg): Likewise. + + * emacs.c (main): Don't call syms_of_data twice. + +2009-08-16 Michael Albinus + + * dbusbind.c (xd_initialize): Add connection file descriptor to + input_wait_mask, in order to let select() detect, whether a new + message has been arrived. + (Fdbus_call_method_asynchronously): Allow nil HANDLER. + +2009-08-15 Michael Albinus + + * dbusbind.c (xd_get_dispatch_status, xd_pending_messages): + New functions. + + * lisp.h (xd_pending_messages): Declare. + + * keyboard.c (readable_events): Call xd_pending_messages. + +2009-08-15 Chong Yidong + + * eval.c (Fcalled_interactively_p, Finteractive_p): Doc fix (Bug#3936). + + * xdisp.c (pop_it): Don't pop into a display vector (Bug#4131). + + * buffer.c (set_buffer_internal_1) + (swap_out_buffer_local_variables): Check for unbound local + variables (Bug#4138). + +2009-08-14 Eli Zaretskii + + * process.c (create_pty): Fix last change. + +2009-08-13 Chong Yidong + + * image.c (xbm_read_bitmap_data): New arg inhibit_image_error. + (xbm_load_image): Caller changed. + (xbm_file_p): Avoid signalling an image_error (Bug#4107). + +2009-08-13 Nick Roberts + + * process.c (create_pty): New function. + (Fstart_process): Use it to allow Emacs to just associate a pty + with the buffer. See associated change in gdb-mi.el. + (list_processes_1): Deal with no program name. + (start_process_unwind): Use pid == -2 to mean no process. + +2009-08-12 Stefan Monnier + + * cmds.c (nonundocount): New global variable. + (keys_of_cmds): Initialize it. + (Fself_insert_command): Use it to combine upto 20 sequential chars + into a single undo entry, just like the Qself_insert_command code in + keyboard.c does. + Call frame_make_pointer_invisible, also like the Qself_insert_command + code in keyboard.c does. + * keyboard.c (command_loop_1): Use the new global nonundocount rather + than its own local replacement for it. + +2009-08-10 Ken Raeburn + + * fns.c (concat): Don't re-set string length to its current value. + + * coding.h (decode_coding_string, encode_coding_string): + Use SBYTES macro. + + * doprnt.c (doprnt_lisp): Delete unused function. + (doprnt): Merge with doprnt1, discarding lispstrings code. + * lisp.h (doprnt_lisp): Don't declare. + +2009-08-07 Juri Linkov + + * puresize.h (BASE_PURESIZE): Increase to 1270000. + +2009-08-07 Dan Nicolaescu + + * print.c (syms_of_print): Undo previous change. + +2009-08-05 Teodor Zlatanov + + * lread.c (read1, syms_of_lread): Read hashtables back from the + readable format. + + * print.c (print_preprocess, print_object): Print hashtables fully + and readably. + (syms_of_print): Provide 'hashtable-print-readable. + +2009-08-02 Adrian Robert + + * nsfont.m (ns_descriptor_to_entity): Handle case when descriptor has + no family set. + (nsfont_open): Handle case when entity has no family. + +2009-07-29 Adrian Robert + + * nsfont.m (ns_findfonts): Fix 2009-07-24 change to return only one + element, not a list, for match case. + +2009-07-28 Kenichi Handa + + * font.c (font_parse_xlfd): Check DPI and AVGWIDTH properties more + rigidly. + + * xfont.c (xfont_list_pattern): Don't ignore the return value of + font_parse_xlfd. Check font properties more rigidly. + +2009-07-27 Dan Nicolaescu + + * s/netbsd.h (SIGNALS_VIA_CHARACTERS): Remove, already defined in + bsd-common.h. + +2009-07-27 Kenichi Handa + + * xfaces.c (face_with_height): Call font_clear_prop. + +2009-07-26 Chong Yidong + + * dispnew.c (init_display): Use Qx, Qw32, and Qns. + + * xterm.c (x_term_init): Use Qx. + + * nsfont.m (nsfont_draw): Revert 2009-07-15 change. + + * nsterm.m (ns_maybe_dumpglyphs_background): Revert 2009-07-15 change. + (ns_get_color): Revert 2009-07-16 change. + +2009-07-25 Eli Zaretskii + + * lread.c (syms_of_lread) : New variable. + (Fload): Use it to force load messages, even if NOMESSAGES is non-nil. + +2009-07-25 Ken Raeburn + + * coding.h (decode_coding_string, encode_coding_string): + Use SCHARS macro. + + * lread.c: Rewrite 2009-07-21 changes. + (load_depth): Delete. + (Qload_in_progress): New variable. + (load_unwind): Don't reference load_depth or load_in_progress. + (Fload): Likewise; specbind Qload_in_progress instead. + (init_lread): Don't initialize load_depth. + (syms_of_lread): Initialize and protect Qload_in_progress. + +2009-07-24 Adrian Robert + + * nsfont.m (ns_findfonts): Correctly return fallback in match case. + +2009-07-23 Yavor Doganov + + * nsfont.m (NSFontDescriptor.h): Explicitly include under GNUstep. + +2009-07-23 Adrian Robert + + * nsterm.m (EmacsView-keyUp:): Only act when running under Tiger. + Bugs 3792, 3720, 2402. + (ns_lookup_indexed_color): Check for bad index. + (ns_index_color): Init unused slot to 0. + (ns_dumpglyphs_box_or_relief): Replace useless xassert with an if(). + Bug 3714, possibly 3082. + +2009-07-22 Jason Rumney + + * w32fns.c (w32_wnd_proc) [WM_IME_STARTCOMPOSITION]: + Position IME window at cursor (Bug#2570). + (w32_wnd_proc) [WM_IME_CHAR]: Release context when finished. + (globals_of_w32fns): Dynamically load functions required above. + + * w32term.c (w32_draw_window_cursor): Send message to reposition + any IME window. + +2009-07-21 Chong Yidong + + * fileio.c: Revert 2009-07-16 changes. + (Vauto_save_include_big_deletions): New variable. + (Fdo_auto_save): Disable auto-save only if + auto-save-include-big-deletions is nil. + +2009-07-21 Chong Yidong + + * xdisp.c (move_it_to): For continued lines ending in a tab, take + the overflowed pixels into account (Bug#3879). + +2009-07-21 Ken Raeburn + + * lread.c (load_depth): New variable. + (Fload, load_unwind, init_lread): Set it to the load recursion + depth; set load_in_progress as a simple boolean based on the + current load_depth. (Bug#3892) + +2009-07-20 Adrian Robert + + * nsfont.m (ns_has_attribute): Remove. + (ns_findfonts, nsfont_open): Use ns_attribute_fvalue() instead. + +2009-07-18 Juri Linkov + + * process.c (Fset_process_query_on_exit_flag): Mention killing + a buffer in docstring. + +2009-07-17 Kenichi Handa + + * casetab.c (shuffle): Fix the logic of setting up the cycle. + +2009-07-16 YAMAMOTO Mitsuharu + + * nsfns.m (Fns_set_alpha): Remove function. + (syms_of_nsfns): Don't defsubr it. + + * nsterm.m (ns_get_color): Remove incompatible color formats. + (ns_color_to_lisp): Generate #rrggbb color format string. + +2009-07-16 Richard Stallman + + * fileio.c (Fwrite_region, Fdo_auto_save): Handle save_length = -2. + (Fset_buffer_auto_saved): Handle save_length = -2. + +2009-07-16 Chong Yidong + + * xterm.c (Qx_gtk_map_stock): New var. + + * gtkutil.c (update_frame_tool_bar): Use Qx_gtk_map_stock instead + of calling intern each time. + +2009-07-15 YAMAMOTO Mitsuharu + + * nsfont.m (nsfont_draw): Remove code for stippling, which actually + does tiling. + + * nsterm.m (ns_maybe_dumpglyphs_background): Likewise. + +2009-07-14 Kenichi Handa + + * font.c (font_vconcat_entity_vectors): New function. + (struct font_sort_data): New member font_driver_preference. + (font_compare): Check font_driver_preference. + (font_sort_entities): The format of the first argument changed. + (font_delete_unmatched): Likewise. + (font_list_entities): The return type changed. + (font_select_entity): The format of the second argument changed. + (font_find_for_lface): Adjuste for the above changes. + Don't suppress the checking of C even if the repertory supports it. + (Flist_fonts): Adjust for the above changes. + + * ftfont.c (ftfont_spec_pattern): New arg langname. Change caller. + (ftfont_list): Adjust for the change of ftfont_spec_pattern. + Reject a font who has adstyle property that is different from a + langname derived from registry property. + (ftfont_match): Adjust for the change of ftfont_spec_pattern. + +2009-07-13 Eli Zaretskii + + * dired.c (directory_files_internal) [WINDOWSNT]: Don't make a + local copy of dirfilename. + +2009-07-13 Kenichi Handa + + * chartab.c (sub_char_table_ref_and_range): Fix the range check + against max_char. + + * cmds.c (internal_self_insert): Check sym by SYMBOLP before + calling XSYMBOL (sym). + +2009-07-11 Eli Zaretskii + + * dired.c (directory_files_internal_w32_unwind) [WINDOWSNT]: + New function. + (directory_files_internal) [WINDOWSNT]: + Bind w32-get-true-file-attributes to either t or nil, depending whether + the filesystem of the directory is fast or slow. + + * w32.c (logon_network_drive): Don't assume PATH is an absolute + file name. + (is_slow_fs): New function. + (stat): Use it to determine whether to issue more system calls to + get accurate file attributes, when w32-get-true-file-attributes is + `local'. + +2009-07-10 Jan Djärv + + * xfns.c (Fx_select_font): Remember last font selected in + x_last_font_name and use that the next time. Also try the frame + parameter font-parameter as default to the font dialog. + +2009-07-10 Kenichi Handa + + * xftfont.c (xftfont_open): Fix typo: FC_RGBA->FC_HINT_STYLE. + +2009-07-09 Eli Zaretskii + + * w32proc.c (syms_of_ntproc) : Doc fix. + + * w32.c (stat): Treat UNC file names as residing on remote + drives. (Bug#3542) + +2009-07-09 Kenichi Handa + + * fontset.c (fontset_find_font): Fix previous change. + +2009-07-08 Michael Albinus + + * dbusbind.c (xd_initialize, Fdbus_call_method, xd_read_message) + (Fdbus_register_signal, Fdbus_register_method): Cleanup memory of + error flag. + +2009-07-08 Kenichi Handa + + * fontset.c (fontset_find_font): Fix the logic of handling + charset_matched. + (font_for_char): Delete unused var. + (generate_ascii_font_name): Delete it. + + * coding.h (JIS_TO_SJIS2): Fix the code range check. + + * coding.c (detect_coding_sjis): Handle shift_jis-2004 correctly. + (encode_coding_sjis): Fix the code range check. + +2009-07-07 Chong Yidong + + * fileio.c (Fsubstitute_in_file_name, Ffile_name_directory) + (Fexpand_file_name): Copy string data properly (Bug#3772). + +2009-07-07 Jan Djärv + + * xterm.c (handle_one_xevent): Only call x_check_fullscreen on the + first MapNotify. + +2009-07-07 Kenichi Handa + + * character.h (unibyte_has_multibyte_table): Delete extern. + (UNIBYTE_CHAR_HAS_MULTIBYTE_P): Delete it. + + * charset.c (Fset_charset_priority): Update charset_unibyte. + (syms_of_charset): Initialize charset_unibyte. + + * character.c (unibyte_has_multibyte_table): Delete it. + (multibyte_char_to_unibyte): Use CHAR_TO_BYTE8 instead of checking + charset_unibyte. + (multibyte_char_to_unibyte_safe): Likewise. + (Funibyte_char_to_multibyte): Don't check charset_unibyte. + + * xdisp.c (get_next_display_element): Decode it->c by charset_unibyte. + (x_produce_glyphs): Likewise. + + * .gdbinit (xcharset): Fix the treating $arg0. + +2009-07-04 Eli Zaretskii + + Emulation of `getloadavg' on MS-Windows. + * w32.c: Include float.h. + (g_b_init_get_native_system_info, g_b_init_get_system_times) + (GetNativeSystemInfo_Proc, GetSystemTimes_Proc): Declare. + (get_native_system_info, get_system_times): New functions. + (buf_next, buf_prev, sample_system_load, getavg): New subroutines. + (getloadavg): Rewrite using GetSystemTimes and GetNativeSystemInfo. + (globals_of_w32): Initialize g_b_init_get_native_system_info, + g_b_init_get_system_times, and num_of_processors. + +2009-07-03 Jason Rumney + + * w32term.c (w32_initialize): Use standard types. + +2009-07-03 Eli Zaretskii + + * dired.c (Ffile_attributes): Decode user and group names by the + locale's encoding. (Bug#3443) + +2009-07-03 Dan Nicolaescu + + * sysdep.c (sys_suspend): Remove USG_JOBCTRL #ifdef, unused. + (mkdir): Remove MKDIR_PROTOTYPE #ifdef, unused. + + * callproc.c (child_setup): Use #else instead of a separate #ifdef. + + * term.c (init_tty): Remove spurious #ifdef. + + * m/mips.h: Mention this file is also used for netbsd. + * m/pmax.h: Remove file. + +2009-07-03 Jan Djärv + + * xterm.h (struct x_display_info): Add invisible_cursor. + (struct x_output): Add current_cursor. + + * xterm.c (XTtoggle_invisible_pointer): New function. + (x_define_frame_cursor): Don't define cursor if invisible or the + same as before. Set current_cursor. + (x_create_terminal): Set toggle_invisible_pointer_hook. + + * xfns.c (make_invisible_cursor): New function. + (x_set_mouse_color): Call make_invisible_cursor. + Set current_cursor. + (x_window): Set current_cursor. + + * termhooks.h (struct terminal): Add toggle_invisible_pointer_hook. + + * keyboard.c (command_loop_1): Call frame_make_pointer_invisible after + inserting a character. + (read_avail_input): Call frame_make_pointer_visible. + + * frame.c (Vmake_pointer_invisible): New variable. + (frame_make_pointer_invisible, frame_make_pointer_visible): + New functions. + (syms_of_frame): DEFVAR make-pointer-invisible, initialize to Qt. + + * frame.h: Declare frame_make_pointer_invisible and + frame_make_pointer_visible. + (struct frame): Add pointer_invisible. + +2009-07-02 Jan Djärv + + * gtkutil.c (xg_frame_set_char_size): Do set width/height if the + frame isn't visible. + (xg_frame_resized): If width/height is -1, get size of window + from X server. + + * xterm.c (handle_one_xevent): Call xg_frame_resized for USE_GTK + for MapNotify. + + * gtkutil.c (xg_frame_set_char_size): Do not set pixel width/height + here or call change_frame_size. Just call flush_and_sync. + (flush_and_sync): Reintroduce. + +2009-07-01 Jan Djärv + + * xterm.h (struct x_display_info): Add Xatom_net_wm_state_sticky. + + * xterm.c (x_handle_net_wm_state): Also look for sticky. + (x_term_init): Initialize Xatom_net_wm_state_sticky. + + * frame.h: Declare Qsticky. + + * w32fns.c (w32_frame_parm_handlers): Set 0 for sticky. + + * nsfns.m (ns_frame_parm_handlers): Ditto. + + * frame.c: Declare Qsticky. + (frame_parms): Add sticky. + + * xfns.c (x_frame_parm_handlers): Let x_set_sticky handle sticky. + + * xterm.h: Declare x_set_sticky. + + * xterm.c (x_set_sticky): New function. + + * gtkutil.c (xg_tool_bar_proxy_help_callback): New function. + (xg_tool_bar_menu_proxy): Attach enter/leave events to + xg_tool_bar_proxy_help_callback. + + * emacs.c (USAGE3, standard_args): Add -mm and --maximized. + + * frame.c: Qmaximized is new. + (x_set_frame_parameters): Do not handle fullscreen specially. + Only set width and height if explicitly set. + (x_set_fullscreen): Handle Qmaximized. + (x_set_font, x_figure_window_size): Do not handle fullscreen specially. + (syms_of_frame): Initialize Qmaximized. + + * frame.h (fullscreen_type): Add FULLSCREEN_MAXIMIZED. + Declare Qfullwidth, Qfullheight, Qfullboth, Qmaximized. + + * xterm.c (handle_one_xevent): Remove call to x_check_fullscreen + for Expose event. Add call to x_check_fullscreen for MapNotify event. + Remove all code w.r.t. fullscreen from ConfigureNotify event. Do not + set gravity to NorthWestGravity when USE_GTK. + (set_wm_state): New function. + (do_ewmh_fullscreen): Use set_wm_state. Also handle FULLSCREEN_MAXIMIZED. + (x_handle_net_wm_state): Handle FULLSCREEN_MAXIMIZED. + (x_check_fullscreen): Simplify so we only handle EMWH type of fullscreen + or the case when no window manager is running. That means remove calls + to x_real_positions and x_fullscreen_adjust. + + * gtkutil.c (flush_and_sync, x_wm_size_hint_off): Remove. + (xg_frame_set_char_size): Remove calls to x_wm_size_hint_off and + flush_and_sync. + (xg_height_changed): New function. + (xg_create_frame_widgets): Remove call to gtk_widget_set_size_request + and gtk_window_set_policy. Set frame gravity after parsing the + geometry string. + (xg_update_frame_menubar, free_frame_menubar) + (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback) + (update_frame_tool_bar, free_frame_tool_bar): Call xg_height_changed. + Remove calls to xg_frame_set_char_size. + +2009-07-01 Kenichi Handa + + * keyboard.c (decode_keyboard_code): New function. + (tty_read_avail_input): Decode the input bytes if necessary. + + * coding.c (setup_coding_system): + Initialize coding->carryover_bytes to 0. + (Fset_keyboard_coding_system_internal): If CODING-SYSTEM is nil, + use Qno_conversion. + +2009-07-01 YAMAMOTO Mitsuharu + + * Makefile.in (SOME_MACHINE_LISP): Add ../lisp/term/common-win.elc. + +2009-06-30 Chong Yidong + + * xftfont.c (xftfont_open): Avoid passing NULL argument to XftLockFace. + +2009-06-30 Jason Rumney + + * w32term.c (w32_initialize): Use GetModuleHandle for library that + is already loaded. + Set user model ID if supported (bug#1849). + +2009-06-29 Jim Meyering + + Remove useless if-before-xfree test. + * nsfont.m (nsfont_close): Remove useless test. + * term.c (delete_tty): Likewise. + * w32.c (system_process_attributes): Likewise. + * w32font.c (w32font_close): Likewise. + * xfaces.c (x_free_gc): Likewise. + * xselect.c (buffer): Likewise. + +2009-06-28 Andreas Schwab + + * process.c (send_process): Keep decoded string in a local + variable and protect it from GC. (Bug#3521) + +2009-06-28 Eli Zaretskii + + * term.c (create_tty_output) [MSDOS]: #ifdef away. + (tty_free_frame_resources) [MSDOS]: Add a DOS-specific version. + +2009-06-28 Chong Yidong + + * xdisp.c (start_display, handle_face_prop) + (move_it_vertically_backward, cursor_row_fully_visible_p) + (redisplay_window, try_window_id, produce_image_glyph): + Delete some #ifdef-ed out code chunks that are now obsolete. + + * xterm.c (x_update_window_begin, x_new_focus_frame) + (x_scroll_bar_handle_click, handle_one_xevent) + (handle_one_xevent, XTread_socket, x_focus_on_frame) + (x_make_frame_visible, x_make_frame_invisible) + (x_wm_set_icon_pixmap, x_initialize): Delete some #ifdef-ed out + code chunks that are now obsolete. + +2009-06-28 Michael Albinus + + * dbusbind.c (XD_SYMBOL_TO_DBUS_TYPE): Convert macro into function + xd_symbol_to_dbus_type. With Solaris 2.11, it was said to compile + for hours, when optimzation is enabled. + (xd_signature, xd_append_arg, xd_retrieve_arg, xd_initialize) + (xd_read_message): Make them static. + +2009-06-27 Chuck Blake (tiny change) + + * term.c (turn_on_face): Allow simultaneously bold and dim + terminal faces (Bug#3530). + +2009-06-27 Chong Yidong + + * frame.c (x_get_arg): Check if dpyinfo is non-NULL. + + * xdisp.c (mouse_face_from_buffer_pos): Fix detection of + truncation glyphs (Bug#3686). + +2009-06-27 Glenn Morris + + * m/pmax.h: Restore file, with only netbsd portions. + +2009-06-26 David Reitter + + * nsterm.m (keydown): Avoid infinite loop. + +2009-06-26 Peter Jolly (tiny change) + + * ftfont.c (get_adstyle_property): Call font_intern_prop with 1 as + the arg FORCE_SYMBOL. + +2009-06-25 Kenichi Handa + + * fontset.c (fontset_find_font): When a usable rfont_def is found + in a fallback font-group, make it the first element of the group. + +2009-06-24 Chong Yidong + + * emacs-icon.h: Always define gnu_xpm_bits on GTK (bug#3671). + +2009-06-24 Kenichi Handa + + * fontset.c (fontset_get_font_group): Return 0 if no font-group is + set for C. + (fontset_font): Record the availability of a font for C both in + the realized fontsets of the current one and the default one. + +2009-06-23 Dan Nicolaescu + + * sysdep.c (child_setup_tty): Remove SIGNALS_VIA_CHARACTERS + conditional, it is always defined on AIX. + +2009-06-23 Miles Bader + + * window.c (Vrecenter_redisplay): New variable. + (syms_of_window): Initialize it. + (Qtty): New extern declaration. + (Frecenter): Only do redisplay if Vrecenter_redisplay requests it. + +2009-06-23 Jim Meyering + + * src/ftfont.c (setup_otf_gstring, ftfont_shape_by_flt): + Use xmalloc and xrealloc (not malloc and realloc), so subsequent heap + pointer dereferences are guaranteed to be valid. + +2009-06-23 Kenichi Handa + + * emacs.c (main): Call init_font (). + + * font.h (Vfont_log): Extern it. + (FONT_ADD_LOG, FONT_DEFERRED_LOG): New macros. + + * font.c (font_sort_entities, font_list_entities) + (font_matching_entity, font_open_entity) + (font_close_object): Change font_add_log to FONT_ADD_LOG. + (Vfont_log): Delete static. + (font_log_env_checked): Delete this variable. + (font_add_log): Don't check font_log_env_checked. + (font_deferred_log): Check Vfont_log. + (init_font): New function. + + * ftfont.c: Change font_add_log to FONT_ADD_LOG. + + * w32font.c: Change font_add_log to FONT_ADD_LOG. + + * w32uniscribe.c: Change font_add_log to FONT_ADD_LOG. + + * xfont.c: Change font_add_log to FONT_ADD_LOG. + + * fontset.c (fontset_font): Call FONT_DEFERRED_LOG. + (face_for_char): Don't call font_deferred_log here. + (font_for_char): Likewise. + +2009-06-22 Chong Yidong + + * w32term.c (x_draw_glyph_string): Use the glyph string's width + rather than its background_width for drawing the overline and + underline (Bug#489). + + * xterm.c (x_draw_glyph_string): Use the glyph string's width + rather than its background_width for drawing the overline and + underline (Bug#489). + (xg_default_icon_file): New variable. + (syms_of_xterm): Initialize it to the Emacs SVG icon file. + (x_bitmap_icon): Under GTK, use xg_default_icon_file. + + * xdisp.c (Qbefore_string, Qafter_string): Add externs. + (load_overlay_strings): Remove externs. + (fast_find_position): Function deleted. + (mouse_face_from_buffer_pos): New function, based on + fast_find_position. Correctly handle before-strings, + display-strings, and after-strings (Bug#1220). + (note_mouse_highlight): Use mouse_face_from_buffer_pos. + +2009-06-21 Chong Yidong + + * xdisp.c (IT_DISPLAYING_WHITESPACE): Define for !HAVE_WINDOW_SYSTEM. + (move_it_in_display_line_to, move_it_in_display_line_to) + (display_line): Remove #ifdef HAVE_WINDOW_SYSTEM. + +2009-06-21 Chong Yidong + + * Branch for 23.1. + +2009-06-21 Jason Rumney + + * w32term.c (keyboard_codepage): New static variable. + (w32_read_socket) [WM_INPUTLANGCHANGE]: Update it. + (w32_read_socket) [WM_CHAR]: Use it to decode character + input (bug#3237). + (w32_initialize): Initialize it. + (codepage_for_locale): New function. + +2009-06-20 Ken Raeburn + + * process.c (status_message): Pass Faset index argument as a lisp + object, so as to work with USE_LISP_UNION_TYPE. + +2009-06-19 YAMAMOTO Mitsuharu + + * coding.c (Ffind_coding_systems_region_internal): + Cache checked characters. + +2009-06-18 Kenichi Handa + + * coding.c (decode_coding_iso_2022): Check MSB of bytes more rigidly. + +2009-06-18 Andreas Schwab + + * xdisp.c (redisplay_internal): Check that the frame is still + live after redisplay of its windows. + (redisplay_windows): Check that the window is still live. + +2009-06-17 Andreas Schwab + + * coding.c (detect_coding_utf_16): Fix previous change. + +2009-06-16 Kenichi Handa + + * coding.c (detect_coding_utf_16): Fix the logic of rejecting + UTF-16 by checking the dispersion of Eth and Oth bytes. + +2009-06-15 Andreas Schwab + + * coding.c (detect_coding_utf_16): Fix typo counting odd bytes. + +2009-06-15 Kenichi Handa + + * process.c (status_message): Fix previous change. Be sure to + decode a localized string. + +2009-06-15 YAMAMOTO Mitsuharu + + * xterm.c (x_delete_terminal): Put previous change in #if 0 and + add comment explaining why. + +2009-06-14 Sidney Markowitz + + * nsmenu.m (EmacsTooltip: setText): Set height of tooltip. + +2009-06-14 Adrian Robert + + * nsfont.m (ns_attribute_value): Remove. + (ns_attribute_fvalue): Incorporate code from ns_attribute_value. + (ns_has_attribute): Shrink the normal range. + (ns_findfonts): Don't worry about requested spec in determining + need for synthItal. + (ns_get_covering_families): Retain scriptToFamilies. + +2009-06-14 Seiji Zenitani + + * xdisp.c [USE_MAC_TOOLBAR]: Remove obsolete definition for Mac Carbon. + +2009-06-11 Kenichi Handa + + * xdisp.c (x_get_glyph_overhangs): Fix calculation of right + overhang for the static composition case. + +2009-06-11 YAMAMOTO Mitsuharu + + * xdisp.c (x_get_glyph_overhangs): Fix calculation of right + overhang for the automatic composition case. + + * xterm.c (x_compute_glyph_string_overhangs): Handle the automatic + composition case. + +2009-06-10 Chong Yidong + + * xdisp.c (get_next_display_element): When handling wrap-prefix + and line-prefix, treat \n as a control character (bug#3502). + +2009-06-10 Kenichi Handa + + * font.c (font_parse_family_registry): Fix for one-char foundry. + (font_sort_entities): Initialize prefer_prop[FONT_AVGWIDTH_INDEX]. + +2009-06-09 Dmitry Dzhus (tiny change) + + * process.c (status_message): Fix handling of multibyte signal + string (Bug#3499). + +2009-06-09 Jim Meyering + + * xfaces.c (Fx_load_color_file): Avoid array bounds error if the + color name is missing. + +2009-06-09 Kenichi Handa + + * charset.c (Fmap_charset_chars): In docstring, state clearly that + FROM-CODE and TO-CODE are codepoints of CHARSET. + +2009-06-08 Adrian Robert + + * nsterm.m (ns_use_system_highlight_color): Drop, unused. + +2009-06-08 Adrian Robert + + Changes to support :script/:lang/:otf in NS font driver. + * nsfont.m (nsfont_escape_name, nsfont_unescape_name) + (nsfont_get_family, nsfont_char_width): Rename to ns_ prefix to + indicate not part of font driver interface, and change callers. + (ns_get_family): Remove pointless null check. + (nsfont_spec_to_traits, nsfont_fmember_to_entity): Replace with + ns_spec_to_descriptor, ns_descriptor_to_entity. + (nsfont_trait_distance, nsfont_make_fontset_for_font): Remove. + (ns_attribute_value, ns_attribute_fvalue, ns_has_attribute) + (ns_spec_to_descriptor, ns_descriptor_to_entity) + (ns_charset_covers, ns_lang_to_script, ns_otf_to_script) + (ns_get_req_script, ns_accumulate_script_ranges) + (ns_script_to_charset, ns_get_covering_families, ns_findfonts): + New functions. + (nsfont_list, nsfont_match): Use ns_findfonts. + (nsfont_open): Use font descriptor instead of traits. + (nsfont_draw): Handle "automatic" (lookup-table) compositions. + (dump_glyphstring): Rename to ns_dump_glyphstring. + + * nsterm.h (dump_glyphstring): Rename to ns_dump_glyphstring. + + * nsfns.m (Fns_popup_font_panel): Use shared font manager. + + * fontset.c (fontset_from_font): Remove NS-specific code. + +2009-06-08 Peter Jones (tiny change) + + * nsterm.m (ns_draw_window_cursor): Respect cursor_type for + nonactive windows. + +2009-06-08 Felix Mueller (tiny change) + + * nsterm.m (ns_init_paths): Append path separator to INFOPATH variable. + +2009-06-08 Wolfgang Lux (tiny change) + + * keyboard.c (kbd_buffer_get_event): Null-check used_mouse_menu. + +2009-06-07 Chong Yidong + + * xdisp.c (move_it_in_display_line_to): On text-only terminals, + account for the overflowing of newlines into the last glyph on the + display line (Bug#3482). + +2009-06-05 David Reitter + + * nsselect.m (Fx_own_selection_internal, Fx_selection_exists_p) + (Fx_selection_owner_p): Rename from Fns_own_selection_internal, + Fns_selection_exists_p, Fns_selection_owner_p. + +2009-06-03 Jason Rumney + + * w32fns.c (x_create_tip_frame): Use the uniscribe font backend if + available. (Bug#3379) + +2009-05-29 Kenichi Handa + + * coding.c (get_translation_table): + Check Venable_character_translation. + +2009-05-26 David Reitter + + * nsterm.m (ns_raise_frame): Only raise frame if visible. + (x_make_frame_visible): Move frame to front rather than calling + ns_raise_frame(). + (keyDown:): Do not swallow events that aren't re-sent if frame + isn't key window. + (drawRect:): Do not set visibility/iconified flags because + drawRect may be called by NSView even if the frame is hidden. + + * nsfns.m (Fx_create_frame): Follow other ports in + determining visibility; default to t. Ensure async_visible is set. + +2009-05-23 Eli Zaretskii + + * dired.c (Ffile_attributes): Doc fix. + +2009-05-22 Chong Yidong + + * m/mips.h [GNU_LINUX]: Don't define DATA_START (Bug#2685). + +2009-05-21 Stefan Monnier + + * xfont.c (xfont_list_pattern): Don't initialize xfont_scripts_cache + and xfont_scratch_props. + (syms_of_xfont): Do it here instead. + (xfont_find_ccl_program): Delete, unused. + (xfont_open): Delete unused var `i'. + +2009-05-21 Kenichi Handa + + * fontset.c (Qlatin): Don't make it static. + + * xfont.c (xfont_chars_supported, xfont_supported_scripts): + New functions. + (xfont_scripts_cache, xfont_scratch_props): New variables. + (Qlatin, Vscalable_fonts_allowed): Extern it. + (xfont_list_pattern): Argument changed. Callers changed. + Check Vscalable_fonts_allowed. Check the support of a script. + (xfont_list): Don't reject a font spec with :script property. + (xfont_has_char): Fix setting of encoding. + (syms_of_xfont): Staticpro and initialize xfont_scripts_cache and + xfont_scratch_props. + +2009-05-19 Kenichi Handa + + * font.c (font_sort_entities): Rename from font_sort_entites. + Callers changed. + +2009-05-18 Kenichi Handa + + * font.c (font_find_for_lface): Copy SPEC's FONT_TYPE too. + +2009-05-19 Stefan Monnier + + * frame.c (do_switch_frame) [NS_IMPL_COCOA]: Don't raise any window. + (delete_frame) [NS_IMPL_COCOA]: Instead, do it here. + +2009-05-19 YAMAMOTO Mitsuharu + + * xterm.c (x_delete_display): Don't call XrmDestroyDatabase here. + (x_delete_terminal): Dissociate resource database from display and + then call XrmDestroyDatabase before closing display. + +2009-05-18 Adrian Robert + + * nsterm.m (ns_read_socket): Remove unused variable. + * frame.c (do_switch_frame): Under NS_IMPL_COCOA section, check + whether selected frame is viable before raising it (based on patch + by David Reitter), and improve commentary. + * nsfont.m (nsfont_make_fontset_for_font): Avoid a compiler warning. + +2009-05-15 Kenichi Handa + + * font.c (Ffont_spec): Check arguments. + +2009-05-14 Chong Yidong + + * xfaces.c (tty_supports_face_attributes_p): Recognize unspecified + weight when testing attributes (Bug#3282). + +2009-05-11 YAMAMOTO Mitsuharu + + * gtkutil.c (xg_frame_set_char_size): Set frame pixel width/height to + what we expect to get in the next ConfigureNotify event. + + * xftfont.c (xftfont_open): Make sure that Xrender extension is added + before Xft one (Bug#1696). + +2009-05-07 David Reitter + + * nsfns.m (Fx_display_planes): Compute bitplanes using + NSBitsPerPixelFromDepth (Bug#3207). + +2009-05-10 Chong Yidong + + * editfns.c (Ftranspose_regions): Doc fix (Bug#3248). + +2009-05-10 Ulrich Mueller + + * s/gnu-linux.h: Make GCPROs and UNGCPRO no-ops also on SuperH. + +2009-05-07 David Reitter + + * nsterm.m (ns_dumpglyphs_stretch, ns_dumpglyphs_image): + Respect mouse face background. + +2009-05-07 David Reitter + + * nsterm.m (note_mouse_movement, ns_frame_up_to_date): + Mouse movement/highlight: bracket drawing operations + in ns_update_begin and ns_update_end. + +2009-05-06 Stefan Monnier + + * nsfns.m (ns_get_screen): Rewrite. + Don't presume selected-frame is of type `ns'. + + * font.c (font_update_drivers): Sanity fallback to avoid disabling + all drivers. + + * nsterm.m (-windowDidResize:): Avoid inf-loop under GNUStep. + +2009-05-06 YAMAMOTO Mitsuharu + + * keyboard.h (add_user_signal): Fix typo in extern. + + * lisp.h (add_user_signal): Remove extern. + + * unexelf.c (unexec): Consider a section to precede the .bss section + if its addresses overlap that of .bss. + (unexec) [NS_IMPL_GNUSTEP]: Copy ObjC-related data from old file + instead of dumping process. + +2009-05-06 Stefan Monnier + + * keyboard.c (syms_of_keyboard): Staticpro pending_funcalls. + +2009-05-04 Stefan Monnier + + * Makefile.in (ctagsfiles1, ctagsfiles2): Include ObjC files in TAGS. + +2009-05-02 Dan Nicolaescu + + * xterm.c (x_handle_net_wm_state): Move declaration of lval before + any statements. + +2009-05-02 Andreas Schwab + + * process.c (read_process_output): Make sure the current buffer is + always restored. + + * coding.c (record_conversion_result): Don't modify + Vlast_code_conversion_error for successful result. + (alloc_destination): Don't clobber conversion result. (Bug#1650) + +2009-05-01 Emanuele Giaquinta (tiny change) + + * charset.c (load_charset): Reformat X==Y==Z to (X==Y)==Z. + (load_charset_map): Remove unnecessary code. + +2009-04-30 David Reitter + + * nsterm.m (convert_ns_to_X_keysym): Define function keys f16 + through f24. + +2009-04-30 Chong Yidong + + * xfaces.c (face_at_buffer_position): New arg base_face_id. + + * xdisp.c (handle_face_prop): Pass base_face_id of iterator to + face_at_buffer_position. + (face_before_or_after_it_pos, get_next_display_element) + (note_mouse_highlight): Update face_at_buffer_position call. + + * term.c (term_mouse_highlight): + * msdos.c (IT_note_mouse_highlight): + * fontset.c (Finternal_char_font): + * font.c (font_at, font_range): Update face_at_buffer_position call. + + * dispextern.h (face_at_buffer_position): Update prototype. + +2009-04-30 Kenichi Handa + + * fontset.c (fontset_find_font): Check if rfont_def is Qnil or not. + +2009-04-29 Andreas Schwab + + * callproc.c (Fcall_process): Fix GC protection. Make sure + current buffer is always restored. + +2009-04-29 YAMAMOTO Mitsuharu + + * atimer.c (init_atimer): Also clear stopped_atimers. + + * keyboard.c (init_keyboard) [POLL_FOR_INPUT]: Reset poll_timer. + + * process.c (create_process): Clean up merger residues of + 2008-07-17 change. + +2009-04-29 Ulrich Mueller + + * lread.c (Vread_circle): New variable. + (read1): Disable recursive read if Vread_circle is nil. + +2009-04-29 Kenichi Handa + + * fontset.h (set_default_ascii_font): Delete extern. + + * fontset.c (set_default_ascii_font): Delete this unused function. + + * frame.c (x_set_font): When ARG is a font-object, check if the + font-object matches with the ASCII font-spec of the frame's + fontset. If not, create a new fontset for the frame. (Bug #3075) + +2009-04-28 Andreas Schwab + + * fns.c (Flocale_info): Protect vector from GC during decoding. + + * process.c (Fstart_process): Protect argv strings from GC during + encoding. + +2009-04-27 Andreas Schwab + + * sysdep.c: Include . + +2009-04-27 David Reitter + + * nsfont.m (nsfont_open): Remove unused variable shrink. + Remove commented-out code. + +2009-04-26 Johan Bockgård + + * keyboard.c (syms_of_keyboard) : Doc fix. + +2009-04-25 Jason Rumney + + * w32font.c (clear_cached_metrics): Remove, unused since 2008-08-02. + +2009-04-25 YAMAMOTO Mitsuharu + + * fringe.c (init_fringe_bitmap) [HAVE_X_WINDOWS && WORDS_BIG_ENDIAN]: + Swap bytes in short integer if fringe bitmap width > 8. + +2009-04-23 Kenichi Handa + + * xfaces.c (Fx_list_fonts): If a font size is specified in + PATTERN, set it in returned scalable fonts. + +2009-04-22 Chong Yidong + + * keyboard.c (Fset_input_meta_mode): Doc fix. + + * dispnew.c (Fsend_string_to_terminal): Doc fix. + + * data.c (Fterminal_local_value, Fset_terminal_local_value): Doc fixes. + + * coding.c (Fterminal_coding_system): Doc fix. + + * xfns.c (Fx_display_grayscale_p, Fx_display_pixel_width) + (Fx_display_pixel_height, Fx_display_planes) + (Fx_display_color_cells, Fx_server_max_request_size) + (Fx_server_vendor, Fx_server_version, Fx_display_screens) + (Fx_display_mm_height, Fx_display_mm_width) + (Fx_display_backing_store, Fx_display_visual_class) + (Fx_display_save_under, Fx_close_connection, Fx_synchronize): + Doc fixes, replacing "terminal id" with "terminal object". + (check_x_display_info): Handle terminal objects instead of + terminal ids. + + * term.c (Ftty_display_color_p, Ftty_display_color_cells) + (Ftty_type, Fcontrolling_tty_p, Ftty_no_underline, Fsuspend_tty) + (Fresume_tty, Vsuspend_tty_functions, Vresume_tty_functions): + Doc fixes, replacing "terminal id" with "terminal object". + +2009-04-21 Kenichi Handa + + * font.c (font_load_for_lface): Cancel previous change (bug#2994). + (font_score): Check AVGWIDTH too. + + * coding.c (decode_coding_utf_16): Reduce charbuf_end for the + worst case. + (decode_coding_sjis, decode_coding_big5, decode_coding_charset) + (decode_coding_emacs_mule, decode_coding_iso_2022): Likewise. + +2009-04-19 Jason Rumney + + The following changes fix Bug#3005 for wide glyphs on each platform, + without reintroducing Bug#1258 for stretch glyphs. + + * xterm.c (x_draw_bar_cursor): Limit cursor width differently for + BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR using + get_phys_cursor_geometry. + + * w32term.c (x_draw_bar_cursor): Limit cursor width differently + for BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR + using get_phys_cursor_geometry. + + * nsterm.m (ns_draw_window_cursor): HBAR_CURSOR width already + correctly calculated. + +2009-04-19 Jan Djärv + + * gtkutil.c (xg_tool_bar_menu_proxy, update_frame_tool_bar): + Use G_CALLBACK instead of GTK_SIGNAL_FUNC which is deprecated. + (xg_initialize): Use g_type_class_ref instead of gtk_type_class which + is deprecated. + +2009-04-18 Andreas Schwab + + * font.c (font_put_frame_data): Use xfree instead of free. + +2009-04-17 Juanma Barranquero + + * w32font.c (Qja, Qko): Remove declarations. + (syms_of_w32font): Don't DEFSYM them. + +2009-04-17 Chong Yidong + + * font.c (Qja, Qko): Move definitions here from ftfont.c. + + * font.h (Qja, Qko): Extern them. + + * ftfont.c (Qja, Qko): Remove declarations. + + * xfont.c (Qja, Qko): Remove declarations. + +2009-04-17 Kenichi Handa + + * editfns.c (Ftranslate_region_internal): Use Fconcat to make a + string from a vector to handle Latin-1 characters correctly. + + * ftfont.c (ftfont_pattern_entity): Return a newly allocated + entity even if the cache hits. + +2009-04-16 Andreas Schwab + + * search.c (boyer_moore): Use zero as marker value for a possible + match instead of depending on overflow behavior. (Bug#2844) + + * search.c: Use EMACS_INT for buffer positions. Add prototypes. + * lisp.h: Adjust prototypes. + +2009-04-16 Chong Yidong + + * keyboard.c (adjust_point_for_property): Disable 2009-02-12 + change (Bug#3003). + +2009-04-16 Kenichi Handa + + * xfont.c (xfont_has_char): Special handling of `ja' and `ko' adstyle. + + * xftfont.c (xftfont_has_char): Special handling of `ja' and `ko' + adstyle. + + * ftfont.c (Qja, Qko): Don't make them static. + (enum ftfont_cache_for): New enum. + (fc_charset_table): Undo the previous change. + (ftfont_get_latin1_charset): Delete it. + (ftfont_pattern_entity): Check cache by ftfont_lookup_cache. + Set FONT_SIZE_INDEX of the entity to 0 for a scalable font. For a + non-scarable font, try to get AVERAGE_WIDTH. + (ftfont_lookup_cache): Argument FOR-FACE is changed to CACHE_FOR. + Change ft_face_cache from a list of a hash-table. Don't check + `ja' and `ko' adstyle here. + (ftfont_get_fc_charset): Call ftfont_lookup_cache with + FTFONT_CACHE_FOR_CHARET. + (ftfont_get_charset): Undo the previous change. + (ftfont_open): Call ftfont_lookup_cache with FTFONT_CACHE_FOR_FACE. + (ftfont_close): Likewise. + (ftfont_has_char): Special handling of `ja' and `ko' adstyle. + + * font.c (font_sort_entites): Change the meaning of the arg + BEST-ONLY. Don't optimize for VEC of lenght 1. + (font_select_entity): Just return the value of font_sort_entites. + + * xfaces.c (merge_face_vectors): Reflect font properties in + to[LFACE_FONT_INDEX] to the other face attributes. Don't call + font_clear_prop if a face attribute doesn't change. + + * charset.h (charset_ksc5601): Extern it. + + * charset.c (charset_ksc5601): New variable. + (Fdefine_charset_internal): Set charset_ksc5601. + (init_charset_once): Initialize charset_ksc5601 to -1. + +2009-04-15 Dan Nicolaescu + + * fileio.c (history_delete_duplicates): Remove unused declaration. + + * callint.c (history_delete_duplicates): New declaration. + (Fcall_interactively): Remove command history duplicates when + history_delete_duplicates is true. + +2009-04-14 Eli Zaretskii + + * buffer.c (syms_of_buffer) : Doc fix. + +2009-04-14 Kenichi Handa + + * font.c (Ffont_info): Fix docstring. Fix the second element of + the returned value (bug#2949). + +2009-04-14 Chong Yidong + + * xdisp.c (Vwrap_prefix, Vline_prefix): Reflow docstrings. + +2009-04-14 Kenichi Handa + + * xfont.c (xfont_has_char): The font has C if C is ASCII and the + encoding charset is ascii_compatible. + + * charset.c (Fdefine_charset_internal): Make charset + ascii-compatible if the method is CHARSET_METHOD_OFFSET, the + code_offset is 0, and covers all ASCII characters. + +2009-04-13 Stefan Monnier + + * nsselect.m (symbol_to_nsstring, clean_local_selection_data) + (ns_string_to_pasteboard_internal): + * nsmenu.m (process_dialog): + * nsimage.m (ns_load_image): Use SDATA and ASET where appropriate. + * nsfont.m (nsfont_open): Use XHASH to make it compile with LISP_UNION. + * lisp.h (Fx_load_color_file): Declare. + +2009-04-13 Kenichi Handa + + * font.c (font_delete_unmatched): Preserve the order of list elements. + (font_select_entity): Suppress the code to optimize for the same + kind of fonts. + (font_load_for_lface): Get a font that supports at least ASCII + characters. + + * ftfont.c (Qja, Qko): New variables. + (fc_charset_table): Delete uniquifier data for iso8859-1. + (ftfont_get_latin1_charset): New function. + (get_adstyle_property): New function. + (ftfont_pattern_entity): Set FONT_ADSTYLE_INDEX of entity for + bitmap fonts. + (ftfont_lookup_cache): Handle the case that KEY is a font-entity. + Delete iso-8859-1 range from the charset of fonts whose adstyle is + `ko' or `ja'. + (ftfont_get_fc_charset): Call ftfont_lookup_cache with ENTITY. + (ftfont_get_charset): For iso8859-1, call ftfont_get_latin1_charset. + (ftfont_list): Don't refuse a font spec with non-nil `adstyle' + property. + (ftfont_open): Call ftfont_lookup_cache with ENTITY. + (syms_of_ftfont): DEFSYM Qja and Qko. + +2009-04-09 Kenichi Handa + + * charset.c (map_charset_chars): For a charset of `superset' + method, fix calculation of code range. + + * font.c (font_put_extra): If VAL is nil, delete the slot for PROP + from the list of extra properties. + (font_clear_prop): Be sure to delete `:name' font property. + +2009-04-08 YAMAMOTO Mitsuharu + + * dispnew.c (redraw_overlapping_rows): Fix detection of + overlapping for topmost and bottommost rows. + + * ftfont.c (ftfont_text_extents): Fix calculation of metrics->descent. + +2009-04-06 Jason Rumney + + * frame.c (x_set_font): Avoid C99 mid-block variable declaration. + +2009-04-06 Kenichi Handa + + * ftxfont.c (ftxfont_draw_backgrond): Fix args to XFillRectangle. + + * xftfont.c (xftfont_open): Fix setting font->underline_thickness. + +2009-04-06 YAMAMOTO Mitsuharu + + * ftfont.c (ftfont_open): Fix checking of the return value of + FT_Load_Char. Fix setting font->underline_thickness. + +2009-04-04 Chong Yidong + + * terminal.c (Fterminal_name, Fdelete_terminal, Fterminal_name) + (Fterminal_parameters, Fterminal_parameter) + (Fset_terminal_parameter): In doc string, refer to terminal + objects rather than terminal ids. + +2009-04-04 Eli Zaretskii + + * dosfns.c (system_process_attributes) [SYSTEM_MALLOC]: Don't call + ret_lim_data. (Bug#2867) + +2009-04-03 Chong Yidong + + * term.c (produce_stretch_glyph): Reduce width of stretch glyphs + so they don't get wider than the window, matching 2006-01-23 + change to the partner function in xdisp.c (Bug#2800). + +2009-04-03 Kenichi Handa + + * print.c (print_object): Make each lowest sub_char_table start a + new line (Bug#2866). + +2009-04-02 Kenichi Handa + + * fontset.c (fontset_font): Record no-font when a fontset + explicitly tells not to try another font-specs. + +2009-03-30 Pierre Poissinger (tiny change) + + * charset.c (map_charset_for_dump): Add missing UNGCPRO. + +2009-03-30 Kenichi Handa + + * fontset.c (fontset_from_font): Specify only registry in a + font-spec for all characters supported by that registry. + + * ftfont.c: Fix previous change. Define ftfont_variation_glyphs + even if HAVE_M17N_FLT is not defined. + +2009-03-29 Sebastian Rose (tiny change) + + * ftfont.c: Conditionalize prototyping and use of + ftfont_variation_glyphs. + +2009-03-28 Stefan Monnier + + * frame.c (delete_frame): Work around compiler bug. + + * editfns.c (general_insert_function): Adjust to insdel.c changes. + * insdel.c (prepare_to_modify_buffer, signal_before_change): + Some more EMACS_INT. + * lisp.h (copy_text, count_size_as_multibyte): Fix last change. + + * xdisp.c (dump_glyph): Fix typo. + + * insdel.c (move_gap, move_gap_both, gap_left, gap_right) + (adjust_markers_gap_motion, adjust_markers_for_delete) + (adjust_markers_for_insert, adjust_point) + (adjust_markers_for_replace, make_gap_larger, make_gap_smaller) + (make_gap, copy_text, count_size_as_multibyte, insert) + (insert_and_inherit, insert_before_markers) + (insert_before_markers_and_inherit, insert_1) + (count_combining_before, count_combining_after, insert_1_both) + (insert_from_string, insert_from_string_before_markers) + (insert_from_string_1, insert_from_gap, insert_from_buffer) + (insert_from_buffer_1, adjust_after_replace) + (adjust_after_replace_noundo, adjust_after_insert, replace_range) + (replace_range_2, del_range, del_range_1, del_range_byte) + (del_range_both, del_range_2, modify_region) + (prepare_to_modify_buffer, signal_before_change) + (signal_after_change, Fcombine_after_change_execute): Use EMACS_INT + for buffer positions and sizes. + * lisp.h: Adjust prototypes accordingly. + + * fileio.c (adjust_markers_for_delete): Move declaration to lisp.h. + (non_regular_inserted, non_regular_nbytes, read_non_regular) + (Finsert_file_contents): Use EMACS_INT for buffer positions. + + * fileio.c (Finsert_file_contents): Don't limit size to INT_MAX/4. + +2009-03-27 Jan Djärv + + * frame.c (x_set_font): If the fullscreen property is non-nil, adjust + lines and columns so we keep the same pixel height and width. + + * xterm.c (handle_one_xevent): Call x_handle_net_wm_state if + the property _NET_WM_STATE has changed. + (x_handle_net_wm_state): New function to update frame parameter + fullscreen. + (x_term_init): Initialize atoms for _NET_WM_STATE. + + * xterm.h (struct x_display_info): Add atoms for _NET_WM_STATE. + +2009-03-27 Kevin Ryde + + * keyboard.c (tty_read_avail_input): Don't treat a -1 return from + Gpm_GetEvent as an error that justifies closing the filedescriptor. + * term.c (close_gpm): Get the filedescriptor as a (new) parameter. + (Fgpm_mouse_stop): Pass that new parameter. + * termhooks.h (close_gpm): Adjust prototype. + +2009-03-26 Stefan Monnier + + * lisp.h (Fx_focus_frame): Declare. + + * callint.c (Fcall_interactively): For '^' just delegate the work to + handle-shift-selection. + (syms_of_callint): Move declaration of shift-select-mode to simple.el. + +2009-03-24 Chong Yidong + + * editfns.c (Ffloat_time): Doc fix (Bug#2768). + + * data.c (Qinteractive_form): New variable. + (Finteractive_form): Use it. + + * eval.c (Fcommandp): Use Qinteractive_form. + +2009-03-24 Jason Rumney + + * fileio.c (Fsubstitute_in_file_name): Always work on a copy. + Calculate total size precisely. Decode environment variables + before substituting. (Bug#38) + +2009-03-24 Kenichi Handa + + * font.c (find_font_encoding): Return Qnil for unsupported + encoding (Bug#2722). + +2009-03-23 Jan Djärv + + * gtkutil.c (xg_display_open): Assign a value to gdpy_def, check + that gdpy is set. + +2009-03-22 Alan Mackenzie + + * callint.c (Finteractive): Clarify the doc string - even + promptless elements need \n separators. + +2009-03-22 Jason Rumney + + * w32term.c (syms_of_w32term): Doc fix for + x-use-underline-position-properties. + +2009-03-21 Eli Zaretskii + + * w32.c (getpwuid): Change argument type to unsigned. + (struct w32_id): Change type of `rid' member to unsigned. + (w32_cached_id, w32_add_to_cache, get_name_and_id): Change type of + argument ID to unsigned. All callers changed. + (getuid, geteuid, getgid, getegid): Change return type to unsigned. + +2009-03-20 Eli Zaretskii + + * editfns.c (Fuser_uid, Fuser_real_uid): If UID as EMACS_INT is + negative, produce a float value. + + * dired.c (make_uid, make_gid): New functions. + (Ffile_attributes): Use them to avoid negative UID and GID. + +2009-03-20 Juanma Barranquero + + * keyboard.c (Fcurrent_idle_time): Reflow docstring. + (syms_of_keyboard) : + Fix typos in docstrings. + +2009-03-19 Kenichi Handa + + * fontset.c (Fset_fontset_font): When a spec of ASCII font is + changed, use font_load_for_lface to get a new font object. + Call free_realized_fontset after handling ASCII font change. + + * frame.c (x_set_font): Handle the case that ARG is a cons. + +2009-03-19 Glenn Morris + + * fileio.c (Fsubstitute_in_file_name): Doc fix. + +2009-03-19 Chong Yidong + + * indent.c (Fvertical_motion): Undo 2005-01-19 change (Bug#2694). + +2009-03-19 Kenichi Handa + + * charset.c (load_charset_map_from_file): When a mapfile can't be + loaded, signal an error. + +2009-03-18 Eli Zaretskii + + * dired.c (Ffile_attributes): Make sure UID and GID are always + positive, even if the value is too large for a positive EMACS_INT. + Doc fix. + + * editfns.c (Fuser_login_name): Support float arguments. Doc fix. + +2009-03-18 YAMAMOTO Mitsuharu + + * xmenu.c (xdialog_show): Move Fredisplay call ... + (Fx_popup_dialog): ... here. + +2009-03-18 Stefan Monnier + + * dired.c (file_name_completion): Disable the first optimization just + installed, since it is not implemented correctly. + +2009-03-17 Stefan Monnier + + * dired.c (file_name_completion): Check completion-ignored-extensions + only if the entry can affect bestmatch. + Stop the search early, as Ftry_completion already does. + +2009-03-17 Chong Yidong + + * minibuf.c (Vminibuffer_completion_confirm): Doc fix. + +2009-03-15 Chong Yidong + + * keyboard.c (parse_menu_item): Don't display remappings as menu + equivalent bindings (Bug#788). + +2009-03-15 Jason Rumney + + * w32term.h (WM_EMACS_PAINT): New message. + * w32term.c (w32_read_socket): Use it instead of WM_PAINT. + * w32fns.c (w32_wnd_proc): Change WM_PAINT to WM_EMACS_PAINT + before passing to lisp thread. (Bug#950) + +2009-03-14 David Reitter + + * nsterm.m (ns_shutdown_properly, -terminate): Remove global state + variable as it was never reset. + (ns_term_init): Remove initialization of Lisp-settable defaults + and ns_expand_space. + (-setPanelFromDefaultValues): Remove ns_expand_space. + (-showPreferencesWindow): Send new KEY_NS_SHOW_PREFS key. + * nsfont.m (nsfont_open): Remove ns_expand_space, assume -0.5 + i.e. no additional spacing, similar to Carbon port. + + * nsterm.h: Define KEY_NS_SHOW_PREFS key. + * nsfns.m (ns-popup-prefs-panel): Remove. + +2009-03-14 Jan Djärv + + * sound.c (alsa_configure): Remove call to deprecated + snd_pcm_sw_params_set_xfer_align. + +2009-03-14 Stephen Berman + + * gtkutil.c (xg_tool_bar_callback): Set focus back to the frame + after clicking in a detached tool bar. + (xg_tool_bar_proxy_callback): Remove call to Fx_focus_frame. + +2009-03-13 Stefan Monnier + + * fontset.c (fontset_from_font, Ffontset_info): YAILOM (Yet another + int/Lisp_Object mixup). + +2009-03-13 Kenichi Handa + + * fontset.c (Ffontset_info, check_fontset_name): New arg frame. + Handle NAME nil and t correctly. Callers changed. + (font_def_arg, add_arg, from_arg, to_arg): Delete them. + (set_fontset_font): Change ARG to a vector. Handle range_list in + ARG correctly. + (Fset_fontset_font): Fix the case that TARGET is both a script + name and charset name. Adjust the arg to set_fontset_font for + the above change. + (fontset_from_font): Fix previous change. + (Ffontset_info): Adjust for the 2008-07-09 change of fontset + entry. If FONTSET is the default fontset, don't set the extra + slot of the returning char-table. + +2009-03-12 Juanma Barranquero + + * nsfns.m (Fx_close_connection): Doc fix. + (Fns_do_applescript): Reflow docstring. + (Fns_hide_others, Fns_hide_emacs, Fns_convert_utf8_nfd_to_nfc) + (Fx_display_pixel_width, Fx_display_pixel_height) + (Fns_display_usable_bounds, Fx_display_planes, Fx_show_tip): + Fix typos in docstrings. + (Fns_set_alpha): Fix typos in error messages. + +2009-03-12 David Reitter + + * termhooks.h [HAVE_NS]: Define NS_NONKEY_EVENT to be used for + non-key system events on NS. Formerly, NON_ASCII_KEYSTROKE_EVENT + were used for such events. + + * nsterm.m (newFrame, openFile, fulfillService, changeFont) + (toggleToolbar, performDragOperation, runHelp): Use it. + + * keyboard.c (parse_menu_item) [HAVE_NS]: Treat new event like + NON_ASCII_KEYSTROKE_EVENT, but set used_mouse_menu. + +2009-03-11 Kenichi Handa + + * font.h (font_open_by_spec): Extern it. + + * font.c (font_open_by_spec): New function. + (font_open_by_name): Use font_open_by_spec. + + * frame.c (x_set_font): When ARG is a font-object, don't alter the + fontset of the frame. + + * fontset.c (Fset_fontset_font): When a font for ASCII is changed, + modify the default font of frames that use this fontset. + (num_auto_fontsets): New variable. + (fontset_from_font): Use num_auto_fontsets to decide a fontset + name. Be sure to set FONTSET_ASCII to the correct font name. + (update_auto_fontset_alist): New function. + +2009-03-11 Juanma Barranquero + + * makefile.w32-in: Update dependencies. + +2009-03-06 Adrian Robert + + * nsfns.m (syms_of_nsfns): Remove Qbuffered. + +2009-03-10 Stefan Monnier + + * buffer.c (Fswitch_to_buffer): Revert part of 2008-10-21's change. + +2009-03-10 Chong Yidong + + * lread.c (Feval_buffer): Doc fix. + +2009-03-09 Kenichi Handa + + * charset.c (Qfile_name_handler_alist): Extern it. + (load_charset_map_from_file): Temporarily bind + `file-name-handler-alist' to nil while calling openp. (Bug#2435) + +2009-03-06 Aaron Ecay (tiny change) + + * nsterm.m (ns_draw_vertical_window_border): Draw 1 pixel wide, + not two, and use NSRectFill instead of NSDrawGroove. (Bug#2352) + +2009-03-06 Adrian Robert + + * nsterm.m: Include for SIGTERM used in ns_term_shutdown. + (x_set_window_size): Change back to calculated method of setting + toolbar height under Cocoa. (Bug#2546) + (EmacsView-windowWillUseStandardFrame:defaultFrame:): New method. + (EmacsView-drawRect:): Completely shortcircuit if ns_in_resize. + + * nsfns.m (ns_appkit_version_int): Fix typo in the version macro. + + * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Don't add + accelerator in parens under GNUstep. + +2009-03-06 Kenichi Handa + + These changes are to detect incorrect composition sequence without + looking ahead the source. (Bug#2370) + + * coding.h: Include "composite.h". + (enum compisition_state): New enum. + (struct compisition_status): New struct. + (struct iso_2022_spec): New member cmp_status. + (struct emacs_mule_spec): New struct. + (struct coding_system): New members ctext_extended_segment_len and + embedded_utf_8. Change the union member + spec.emacs_mule_full_support to spec.emacs_mule. + + * coding.c (CODING_ISO_CMP_STATUS): New macro. + (CODING_ISO_EXTSEGMENT_LEN, CODING_ISO_EMBEDDED_UTF_8): New macros. + (MAX_ANNOTATION_LENGTH): Define to 5. + (ADD_COMPOSITION_DATA): New arg nbytes. + (emacs_mule_char): New arg cmp_status. + (DECODE_EMACS_MULE_COMPOSITION_CHAR): Delete it. + (DECODE_EMACS_MULE_COMPOSITION_RULE_20): New arg c. + (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New arg c. + (DECODE_EMACS_MULE_21_COMPOSITION): Delete the arg c. + (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Likewise. + (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise. + (DECODE_EMACS_MULE_COMPOSITION_START): New macro. + (EMACS_MULE_COMPOSITION_END): New macro. + (emacs_mule_finish_composition): New function. + (EMACS_MULE_MAYBE_FINISH_COMPOSITION): New macro. + (decode_coding_emacs_mule): Avoid long looking ahead while + handling composition. + (DECODE_COMPOSITION_RULE): Argument changed to rule and nbytes. + (ENCODE_COMPOSITION_RULE): New macro. + (finish_composition): New function. + (MAYBE_FINISH_COMPOSITION): Call finish_composition. + (DECODE_COMPOSITION_START): New implementation. + (DECODE_COMPOSITION_END): Likewise. + (STORE_COMPOSITION_RULE): New macro. + (decode_coding_iso_2022): Avoid long looking ahead while handling + composition, CTEXT extended segment, and embedded UTF-8. + (setup_coding_system): For a coding of type iso-2022, reset + CODING_ISO_EXTSEGMENT_LEN (coding) and + CODING_ISO_EMBEDDED_UTF_8 (coding). + (get_translation): Delete arguments last_block, from_nchars, + to_nchars. Callers changed. + (produce_chars): Don't modify charbuf. Adjusted for the change of + get_translation. + (produce_composition): Adjust for the new annotation sequence. + (handle_composition_annotation): Likewise. + (consume_chars): Adjust for the change of get_translation. + +2009-03-05 Adrian Robert + + * nsterm.m (ns_select): Shortcircuit if reentrant call. (Bug#2564) + +2009-03-05 Kenichi Handa + + * font.c (font_select_entity): New function. + (font_find_for_lface): Use font_select_entity to select a font. + + * fontset.c (fontset_find_font): If a font found without + restricting to the characters C doesn't support C, try to find a + font with C restriction. + +2009-03-04 Nikolaj Schumacher + + * nsfont.m (nsfont_draw): Compare ns_antialias_text against lisp value. + +2009-03-04 Jason Rumney + + * w32fns.c (w32_wnd_proc): Only ignore IME messages for the + characters that have already been read. (Bug#2569) + + * image.c (xbm_read_bitmap_data, png_load, svg_load_image): + Log an error message if check_image_size failed. + (xpm_load_image, pbm_load, jpeg_load, tiff_load, gif_load) + (gs_load): Mention max-image-size in size error message. (Bug#2560) + +2009-03-02 Eli Zaretskii + + * callproc.c (Fcall_process): Bind inhibit-modification-hooks to t + when decoding process output. + +2009-03-01 Richard M Stallman + + * m/mips.h (DATA_SEG_BITS, XUINT, XSET): Definitions disabled. + + * emacs.c (gdb_data_seg_bits) [USE_LSB_TAG]: Make it 0. + +2009-02-28 Eli Zaretskii + + * coding.c (decode_coding_utf_8, decode_coding_utf_16) + (decode_coding_emacs_mule, decode_coding_iso_2022) + (encode_coding_iso_2022, decode_coding_sjis, decode_coding_big5) + (decode_coding_raw_text, decode_coding_charset) + (setup_coding_system, decode_eol, decode_coding, consume_chars): + Honor inhibit-eol-conversion. (Bug #2186) + +2009-02-28 Jason Rumney + + * coding.c (detect_coding_charset): If not checking latin extra, + fail on characters between 0x80 and 0xA0. (Bug#2354) + +2009-02-28 Eli Zaretskii + + * coding.c (detect_coding_charset): Fix change from 2008-10-21. + Also, check iso-latin-*, not only iso-8859-*. (Bug#2497) + +2009-02-27 Glenn Morris + + * callint.c (Finteractive): Doc fix. + +2009-02-27 Kenichi Handa + + * lread.c (read_escape): Signal an error for invalid \UXXXXXXXX. + +2009-02-27 Chong Yidong + + * font.c (font_style_to_value): Set value for unknown symbols to + 100 instead of 255. + (weight_table, slant_table, width_table): Treat "unspecified" as + the default value. + +2009-02-26 Juanma Barranquero + + * fileio.c (Fnext_read_file_uses_dialog_p): Fix typo in docstring. + +2009-02-25 Juanma Barranquero + + * lread.c (Fload): Stop checking Vloads_in_progress and signal + error as soon as a recursive load is detected. + +2009-02-24 Adrian Robert + + * nsterm.m (ns_ring_bell): Convert rect to window coordinates + before caching. + +2009-02-24 Kenichi Handa + + * fontset.c (fontset_find_font): Fix the condition for checking + unavailable font. + +2009-02-24 Glenn Morris + + * xfaces.c (Finternal_set_font_selection_order): Remove leading + whitespace that confuses documentation. + +2009-02-23 Miles Bader + + * process.c (Flist_system_processes, Fprocess_attributes) + (syms_of_process): Rename `system-process-attributes' to + `process-attributes'. + +2009-02-22 Andreas Schwab + + * coding.h (struct coding_system): Make safe_charsets a pointer to + unsigned char. + * coding.c (CODING_ISO_REQUEST): Check for safe_charsets content + being 255. + (SAFE_CHARSET_P): Likewise. + (setup_iso_safe_charsets): Properly setup safe_charsets. + (Fdefine_coding_system_internal): Likewise. + (setup_coding_system): Likewise. Remove unneeded casts. + (detect_coding_iso_2022): Compare Viso_2022_charset_list with + CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS. + Remove unneeded casts. + + * insdel.c (del_range_2): Don't modify gap contents when called + from decode_coding_object. (Bug#1809) + +2009-02-21 Chong Yidong + + * data.c (syms_of_data): Define Qfont_spec, Qfont_entity, and + Qfont_object. + (Ftype_of): Recognize font objects. + + * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern. + + * font.c (Qfont_spec, Qfont_entity, Qfont_object): + Definitions moved to data.c. + +2009-02-20 Adrian Robert + + * nsterm.m (x_make_frame_invisible): Unset async_visible, + async_iconified. Based on a patch by Christian Lynbech + . + (EmacsView-windowDidMiniaturize:): Unset async_visible. + +2009-02-20 Glenn Morris + + * syntax.c (Fskip_chars_forward): Fix doc typo. + +2009-02-20 Chong Yidong + + * keymap.c (Fkeymap_parent): Doc fix (Bug#2391). + +2009-02-19 Chong Yidong + + * xfns.c (Fx_create_frame): Give Xft driver a higher priority. + +2009-02-19 Kenichi Handa + + * coding.c (detect_coding): Preserve coding->mode. + Don't overflow coding->carryover. (Bug#2370) + +2009-02-18 Dan Nicolaescu + + * m/ibmrs6000.h (ADDR_CORRECT): Restore, removed by mistake on 2008-07-23. + +2009-02-18 Kenichi Handa + + * font.c (font_check_otf_features): Fix handling of `nil' element. + (Ffont_spec): Describe :lang and :otf in the docstring. + +2009-02-16 Andreas Schwab + + * coding.c (Fcheck_coding_systems_region): Fix test for unibyte + string. + +2009-02-16 Kenichi Handa + + * coding.c (Fcheck_coding_systems_region): Fix typo; Qt -> Qnil. + (Bug#1723) + +2009-02-14 Chong Yidong + + * dispextern.h (struct iterator_stack_entry): New line_wrap member. + + * xdisp.c (push_it, pop_it): Save and restore line_wrap. + (handle_line_prefix): Suppress wrapping of wrap prefixes. + +2009-02-14 Eli Zaretskii + + * msdos.c (MAX_SCREEN_BUF): New macro. + (IT_write_glyphs): Make screen_buf[] always be MAX_SCREEN_BUF-long. + Encode the entire run of glyphs sharing the same face, instead of + doing that one glyph at a time (fixes a bug with displaying + double-size characters). + +2009-02-13 Adrian Robert + + * nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog. + + * nsmenu.m (pop_down_menu): Check popup_activated_flag. + (ns_popup_dialog, EmacsDialogPanel-runDialogAt:): Let + pop_down_menu do the cleanup work as it is always called. (Bug#2154) + + * nsfont.m (nsfont_make_fontset_for_font): For now, don't try to + set fontset font for "mathematical-" sub-scripts. (Bug #2218) + +2009-02-12 Stefan Monnier + + * keyboard.c (adjust_point_for_property): Allow stopping between two + invisible areas. + +2009-02-12 Jason Rumney + + * w32font.c (check_face_name): Check for fake helv. (Bug#2275) + (add_font_entity_to_list): Call check_face_name even when family + is unspecified. + + * w32term.c (x_display_pixel_height, x_display_pixel_width): + Release DC when finished. Use NULL window to refer to desktop. + (w32_term_init): Use NULL window to refer to desktop. (Bug#460) + + * w32font.c (add_font_entity_to_list): Fix check for substituted + raster fonts. (Bug#2219) + +2009-02-12 Kenichi Handa + + * composite.c (MAX_AUTO_COMPOSITION_LOOKBACK): New macro. + (composition_gstring_width): Fix handling of LGLYPH_YOFF. + (autocmp_chars): Use fast_looking_at. Don't compose more + characters than MAX_COMPOSITION_COMPONENTS. + (find_automatic_composition): While looking forward and backward, + check static composition. Fix where to stop looking forward. + (composition_adjust_point): Fix checking of static composition. + (Fcomposition_get_gstring): Pay attention to + MAX_COMPOSITION_COMPONENTS. + + * lisp.h (fast_looking_at): Extern it. + + * search.c (fast_looking_at): New function. + + * term.c (encode_terminal_code): Adjust for the change of + .u.cmp.to. + (append_composite_glyph): Likewise. + + * xdisp.c (fill_gstring_glyph_string): Adjust for the change of + .u.cmp.to. Check if the glyph belongs to the same + composition. + (append_composite_glyph): Adjust for the change of + .u.cmp.to. + +2009-02-11 Juanma Barranquero + + * casetab.c (init_casetab_once): + * coding.c (ALLOC_CONVERSION_WORK_AREA): + * font.c (font_update_lface): + * fontset.c (Fnew_fontset): + * ftfont.c (ftfont_drive_otf): + * xfont.c (xfont_open): + * xftfont.c (xftfont_get_xft_draw): Remove spurious semicolons. + +2009-02-11 Stefan Monnier + + * fileio.c (Fwrite_region): !NILP -> CONSP. + +2009-02-10 Andreas Schwab + + * process.c (send_process): Properly relocate pointer into data + when using encoded data. (Bug#2272) + +2009-02-08 ARISAWA Akihiro + + * coding.c (detect_coding_charset): Fix previous change. + +2009-02-08 Jason Rumney + + * w32fns.c (w32_hide_hourglass): Handle case where frame + disappeared while hourglass was displayed. (Bug #2193) + +2009-02-07 Andreas Schwab + + * unexelf.c (unexec): Fix error message. + +2009-02-07 Adrian Robert + + * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event + when modal window is active. (Bug #2152) + (applicationShouldTerminate:): Remove now-unneeded while loop + around NSRunAlertPanel. + + * nsmenu.m (popupSession): New file-global variable. + (pop_down_menu): End the popupSession before closing dialog. + (ns_popup_dialog): BLOCK_INPUT around dialog presentation. + (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous), + don't query NSApp for events (just sleep instead). + +2009-02-07 Eli Zaretskii + + * coding.c (syms_of_coding) : + Modify doc string to discourage use for character code unification. + +2009-02-07 YAMAMOTO Mitsuharu + + * atimer.c (run_timers): Update pending_atimers. + +2009-02-06 Chong Yidong + + * image.c (svg_load_image): Fix last change. + + * xfns.c (Fx_create_frame): Signal an error if no font is + found (Bug#2147). + +2009-02-05 Juanma Barranquero + + * character.c (syms_of_character) : + Fix typo in docstring. + +2009-02-04 Adrian Robert + + * nsmenu.m (pop_down_menu): New function. + (ns_popup_dialog): Call it on unwind. + (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and + call timer_check() (Bug#2154). + (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if + handling_signal is set. + (EmacsMenu-fillWithWidgetValue:): Set submenu title. + + * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G. + + * s/darwin.h: Same and NO_SOCK_SIGIO as well. + + * nsterm.m (ns_read_socket): Same and don't set handling_signal. + + * keyboard.c (poll_for_input_1, handle_async_input): + Set handling_signal under HAVE_NS. + +2009-02-04 Glenn Morris + + * fileio.c (Fwrite_region): Doc fix (mention annotate-functions). + +2009-02-04 Kenichi Handa + + * Makefile.in (composite.o): Depends on frame.h and termhooks.h. + + * charset.c (Fchar_charset): New optional arg restriction. + + * coding.h (coding_system_charset_list): Extern it. + + * coding.c (coding_system_charset_list): New function. + + * composite.c: Include coding.h and termhooks.h. + (composition_gstring_p): Fix for the terminal case. + (composition_gstring_width): Likewise. + (fill_gstring_body): Likewise. + (autocmp_chars): For terminal, call Fcomposition_get_gstring with + the frame. + (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point + is within a composition. + (Fcomposition_get_gstring): Fix the terminal case. + + * term.c (encode_terminal_code): Fix handling of composition. + (produce_composite_glyph): For static composition, get pixel_width + from struct composition. + +2009-02-02 Andreas Schwab + + * unexelf.c (unexec): Handle unaligned bss offset. + +2009-02-01 Adrian Robert + + * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30 + XT,w32read_socket changes to ns_read_socket. + + * keyboard.c (handle_interrupt): Don't call + quit_throw_to_read_char() under NS. + + * blockinput.h: Remove NS-specific code. + +2009-01-30 Dan Nicolaescu + + * dispnew.c (window_change_signal): Don't try to get the size of a + suspended tty frame. + * term.c (Fresume_tty): Resize if the size has changed while the + tty was suspended. + + * alloc.c (mark_stack): Properly conditionalize previous change. + +2009-01-30 Juanma Barranquero + + * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]: + * w32term.c (w32_read_socket) [SYNC_INPUT]: + Remove; this code is not used on Windows. + +2009-01-30 Eli Zaretskii + + * coding.c (detect_eol, decode_eol): Handle text with DOS-style + EOLs that also has stray ^M characters. + +2009-01-30 Juanma Barranquero + + * atimer.c (run_timers, alarm_signal_handler): + * keyboard.c (pending_signals, handle_async_input, init_keyboard): + * w32inevt.c (w32_console_read_socket): + * w32term.c (w32_read_socket): + * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate. + +2009-01-30 Chong Yidong + + * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP. + Initialize it as a relative filename pattern. + (init_callproc): Don't initialize Vtemp_file_name_pattern here. + (Fcall_process_region): Simplify temp file creation using + temporary-file-directory. + +2009-01-29 Eli Zaretskii + + * msdos.c: Rename pending_signals to msdos_pending_signals. + (sig_suspender, sigprocmask): Adjust. + +2009-01-29 Chong Yidong + + * keyboard.c (pending_signals): New var. + (poll_for_input, input_available_signal, init_keyboard): Set it. + (process_pending_signals): New function. + + * lisp.h (QUIT): Check pending_signals instead of + interrupt_input_pending. Use process_pending_signals. + + * atimer.c (run_timers, alarm_signal_handler): Update pending_signals. + + * process.c (wait_reading_process_output): Use process_pending_signals. + + * sysdep.c (emacs_write): Use process_pending_signals. + + * xterm.c (XTread_socket): Update pending_signals. + + * w32term.c (w32_read_socket): Update pending_signals. + + * w32inevt.c (w32_console_read_socket): Update pending_signals. + +2009-01-29 Kenichi Handa + + * xftfont.c (xftfont_has_char): New function. + (syms_of_xftfont): Register xftfont_has_char in xftfont_driver. + +2009-01-29 Adrian Robert + + * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define + under GNUstep. + (ns_query_color): New declaration. + + * nsterm.m (ns_confirm_quit): New variable. + (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it. + (EmacsApp-applicationShouldTerminate:): Use it. + (EmacsPrefsController): Let user set it. + (ns_query_color): New function. + (ns_defined_color): Use it. + (ns_initialize): Drop. + (ns_term_init): Add two lines from ns_initialize(), and set + input_interrupt_mode to nil. + + * image.c (svg_load_image): Don't right-shift background RGB when + obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color. + +2009-01-28 Kenichi Handa + + * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit. + (fontset_get_font_group): Remember that no font-group is specified + for C. + +2009-01-27 Chong Yidong + + * fns.c (concat): Check for string overflow (bug#1787). + + * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit): + Quadruple undo limits (bug#1501). + +2009-01-27 Kenichi Handa + + * ftfont.c (ftfont_has_char): If the arg FONT is a font-object, + directly use GT_Get_Char_index. + + * xftfont.c (struct xftfont_info): New member `index'. + + * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit. + (Ffontset_font): Adjust for the change of fontset entry. + +2009-01-26 Kenichi Handa + + * fontset.c (fontset_find_font): Fix handling of non-cons return + value of fontset_get_font_group. + (fontset_font): Revert last change. + +2009-01-26 Jason Rumney + + * w32font.c (w32font_list_internal): Return quickly if registry is + unknown. Simplify final return. + (add_font_entity_to_list): Break complex logic down into more + manageable chunks. Move unknown registry check to + w32font_list_internal. + +2009-01-25 Adrian Robert + + Changes to remove Feval calls from GUI under NS. + + * nsterm.h: Move KEY_NS_... definitions here from nsterm.m. + Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT. + Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT. + + * nsterm.m: Move KEY_NS_... definitions to nsterm.h. + (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR. + (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT + instead of NON_ASCII_KEYSTROKE_EVENT. + (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval. + (EmacsApp-applicationShouldTerminate:): Query user. + (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS + instead of Feval. + + * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS. + + * keyboard.c (kbd_buffer_get_event): Check for it. + (keys_of_keyboard): Define lispy keys for + ns-put/unput-working-text. + + * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32 + versions. + (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode. + +2009-01-25 Chong Yidong + + * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of + setting current_buffer directly. (Bug#2044) + +2009-01-24 Chong Yidong + + * fontset.c (fontset_font): If we know there is no font, don't do + any work. (Bug#1952, bug#1990). + + * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802) + +2009-01-23 Adrian Robert + + * emacs.c (main): Do fork+exec under --daemon in Cocoa. + (ns_no_defaults): New declaration. + (main): Use it. + + * nsterm.h (ns_no_defaults): New declaration. + + * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults. + + * nsterm.m (ns_no_defaults): New variable. + (ns_initialize): Don't read defaults when ns_no_defaults. + (EmacsView-readSelectionFromPasteboard:) + (writeSelectionToPasteboard:types:): New stubbed-out methods for + NSServicesRequests protocol. (Bug#1435) + (ns_dumpglyphs_stretch): New function. + (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change + of 2008-11-15 to other terms. (Bug#615) + + * nsimage.m (setPixmapData:): Set to ignore image DPI. + +2009-01-23 Giorgos Keramidas (tiny change) + + * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly + call for Sparc64. + +2009-01-22 Adrian Robert + + * nsfns.m: + * nsgui.h: + * nsmenu.m: + * nsselect.m: + * nsterm.h: + * nsterm.m: Remove '23' comments that indicated code added during + update from emacs-20 -> emacs-23. + +2009-01-22 Adrian Robert + + * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for + ns_alternate_modifier. (Bug#1217) + + * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:): + Display all shortcuts, including those w/o super modifier. + + * nsfns.m (ns-read-file-name): Fix typo in assignment statement. + +2009-01-22 Chong Yidong + + * fileio.c (Vwrite_region_post_annotation_function) + (Vwrite_region_annotation_buffers): New vars. + (build_annotations_unwind): Just reset + Vwrite_region_annotation_buffers. + (Fwrite_region): Initialize Vwrite_region_annotation_buffers. + Call write-region-post-annotation-function. + (build_annotations): Add to Vwrite_region_annotation_buffers if + buffer changes. + +2009-01-21 Adrian Robert + + * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on + Tiger. + * nsfns.m (ns_do_applescript): + Conditionalize typeUTF16ExternalRepresentation on Tiger. + +2009-01-21 Wolfgang Lux (tiny change) + + * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window. + +2009-01-21 Adrian Robert + + * nsmenu.m (NSMENUPROFILE): Change #if style. + + * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues. + + * nsterm.m (x_set_frame_alpha): Add prototype. + (ns_fake_keydown, EmacsView-keyUp:): New variable and function to + handle Ctrl-tab. (Bug#1841) + (ns_get_color): Use unsigned long long for scanned hex string value. + (ns_term_shutdown): Abort on non SIGTERM signals. + (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame. + (EmacsPrefsController-setPanelFromDefaultValues): New function. + (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801) + (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused. + (ns_defined_color): Fix settings of the XColor variable fields: + red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663) + + * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image + DPI. (Bug#1316) + (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color + values in onTiger section. + +2009-01-19 Chong Yidong + + * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts): + Check return value of font_spec_from_name. + (Fx_list_fonts): Doc fix. (Bug#1951) + + * font.c (font_spec_from_name): Return Qnil if font name could not + be parsed. + (font_parse_name): Treat a `?' character as part of an XLFD. + + * fns.c (Fsubstring): Doc fix. + +2009-01-19 Kenichi Handa + + * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList. + (ftfont_list): Likewise. + +2009-01-18 Juanma Barranquero + + * dbusbind.c (Fdbus_register_signal): + * process.c (conv_sockaddr_to_lisp): + * w32fns.c (Fw32_battery_status): Use empty_unibyte_string. + + * callproc.c (Fgetenv_internal): Doc fix. + +2009-01-16 Chong Yidong + + * xfns.c (x_make_gc): Don't allocate stipple member for gc_values; + it is not even used. + +2009-01-16 Glenn Morris + + * font.c (Ffont_variation_glyphs): Silence compiler. + +2009-01-15 Juanma Barranquero + + * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility. + Reported by David Robinow . + +2009-01-15 Kenichi Handa + + * coding.c (detect_coding_system): Fix handling of null_byte_found. + +2009-01-14 Jason Rumney + + * frame.c (x_set_font): Always store a font to the font parameter, + never a fontset. (Bug#1562) + +2009-01-14 Kenichi Handa + + * coding.c (TWO_MORE_BYTES): New macro. + (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE. + +2009-01-13 Chong Yidong + + * font.c (font_clear_prop): If clearing the family, clear the font + width index too. + + * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change. + +2009-01-12 Juanma Barranquero + + * sound.c [WINDOWSNT] (SOUND_WARNING): New macro. + (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci + functions, use sizeof. + +2009-01-12 Martin Rudalics + + * keyboard.c (read_char): Fix case where last_nonmenu_event + returned a bad value with submenus. (Bug#447) + +2009-01-12 Chong Yidong + + * xfaces.c (Finternal_set_lisp_face_attribute): If setting the + family, clear the font width index too. + +2009-01-11 Jason Rumney + + * keyboard.c (cmd_error_internal): Exit when errors occur before + frame creation and not in daemon mode. (Bug#1836) + +2009-01-10 Chong Yidong + + * xdisp.c (pos_visible_p): When iterator stops on the last glyph + of a display vector, backtrack. + (try_window_reusing_current_matrix): Check glyph type before + referencing charpos member. + +2009-01-10 Eli Zaretskii + + Fix Bug #876: + + * coding.c (inhibit_null_byte_detection): New variable. + (detect_coding, detect_coding_system): Don't pay attention to null + bytes if inhibit_null_byte_detection is non-zero. + (syms_of_coding) : Declare and document. + : Doc fix. + +2009-01-09 Jason Rumney + + * w32font.c (add_font_entity_to_list): Don't report unknown + Windows charset as any unrecognized registry. (Bug#1548) + Only report Unicode Plane 2 fonts as unicode-sip. + +2009-01-09 Chong Yidong + + * xfaces.c (Fx_font_family_list): Delete function. + Move compatibility version to faces.el. + + * font.c (Ffont_family_list): Return a list of strings, not symbols. + +2009-01-09 Martin Rudalics + + * frame.c (x_set_frame_parameters): Remember requested value for + fullscreen before it's reset by the parameter handler. + +2009-01-09 Glenn Morris + + * keyboard.c (last_command_char): For clarity, rename to... + (last_command_event): ... and update all users. + (last_input_char): For clarity, rename to... + (last_input_event): ... and update all users. + (last-command-char, last-input-char): Move to subr.el as aliases. + * cmds.c, commands.h: Update for last_command_char rename. + +2009-01-08 Chong Yidong + + * font.c (font_open_for_lface): Handle unspecified height attribute. + +2009-01-08 Jason Rumney + + * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape) + (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape) + (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape): + Don't declare. + (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485) + (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code. + +2009-01-07 Kenichi Handa + + * fileio.c (Finsert_file_contents): In the case of replace, + remember the coding system used for decoding in + coding_system (Bug#1039). + + * coding.c (decode_coding_utf_8): Check byte_after_cr before + breaking the loop. (Bug#870) + (decode_coding_utf_16, decode_coding_emacs_mule) + (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5) + (decode_coding_charset): Likewise. + +2009-01-05 Martin Rudalics + + * frame.c (x_set_frame_parameters): Make sure height (width) get + applied when fullwidth (fullheight) is set. (Bug#1522) + +2009-01-04 Juanma Barranquero + + * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766) + (utc_base): Declare as ULONGLONG, not long double. + (convert_time_raw): Delete. + (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros. + (initialize_utc_base): New function. + (convert_time): Use FILETIME_TO_U64, initialize_utc_base. + (convert_from_time_t): Use initialize_utc_base; compute result with + 64-bit arithmetic. + (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME. + +2009-01-03 Eli Zaretskii + + * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess) + (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime) + (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs) + (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime) + [!subprocesses]: Define. + (syms_of_process) [!subprocesses]: Intern and staticpro them. + (Flist_system_processes, Fsystem_process_attributes) + [!subprocesses]: Call list_system_processes and + system_process_attributes instead of returning Qnil. + + * dosfns.c (system_process_attributes, list_system_processes): + New functions. + + * vm-limit.c (ret_lim_data) [MSDOS]: New function. + + * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]: + Don't use the default (no-op) implementation. + +2009-01-03 Jason Rumney + + * keyboard.c (parse_modifiers_uncached): Wheel events are + clicks (bug#687). + + * w32term.c (x_query_colors, x_query_color): New functions. + + * image.c (x_to_xcolors, png_load): Eliminate W32 specific code. + (svg_load_image): Cast returned pointers from dynamically loaded + functions. Eliminate W32 specific code. + +2009-01-02 Dan Nicolaescu + + * nsfns.m (x_set_foreground_color, x_set_background_color) + (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name) + (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use + x_ prefix instead of ns_. Update references. + (syms_of_nsfns): Add a FIXME comment. + + * nsterm.m (x_set_cursor_type): New prototype. + (setValuesFromPanel): Use it instead of the old ns_ prefixed name. + + * sysdep.c (system_process_attributes): Provide Qtime and Qctime + for Solaris instead of incorrectly providing Qutime and Qcutime. + +2009-01-02 Eli Zaretskii + + * w32.c (process_times): Compute sum of utime and stime. + (system_process_attributes): Add Qtime to the alist. + + * sysdep.c (system_process_attributes): Compute Qtime and Qctime + and add them to the alist. + + * process.c (top level) : New variables. + (syms_of_process): staticpro them. + (Fsystem_process_attributes): Add their documentation to the doc + string. + + * process.h: Declare Qtime and Qctime. + +2009-01-02 Jason Rumney + + * image.c (Qgobject): New symbol. + (syms_of_image): Initialize it. + (init_svg_functions): Load some functions from gobject library. + +2009-01-01 Dan Nicolaescu + + * frame.c (make_terminal_frame): Remove redundant code and useless + block. + +2009-01-01 Andreas Schwab + + * process.c (conv_sockaddr_to_lisp): Add workaround for + getsockname bug on BSD. + +2009-01-01 Chong Yidong + + * xfns.c (x_create_tip_frame): Set border width of the X window. + + * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message. + +2009-01-01 Jason Rumney + + * w32term.c (x_new_font): Return font object, not fontset. (Bug#119) + Don't block input, as per earlier xterm.c changes. + +2008-12-31 Adrian Robert + + * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version. + (ns_appkit_version_int): New function. + (x-server-version): Use ns_appkit_version_int and follow 21+ + convention of returning 3 integers. + +2008-12-30 Kenichi Handa + + * character.h (CHAR_VARIATION_SELECTOR_P): New macro. + (CHAR_SURROGATE_PAIR_P): New macro. + + * font.h (struct font_driver): New member get_variation_glyphs. + + * font.c (font_range): Don't require a font for a variation selector. + (Ffont_variation_glyphs): New function. + (syms_of_font): Defsubr it. + + * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to + ftfont_variation_glyphs. + (setup_otf_gstring): New function. + (ftfont_drive_otf): Use it. + (ftfont_shape_by_flt): Handle variation selector. + (ftfont_variation_glyphs): New function. + +2008-12-30 Martin Rudalics + + * frame.c (Vemacs_iconified): Remove. + +2008-12-30 Jason Rumney + + * frame.c (store_frame_param, x_get_arg): Enable newer code on + WINDOWSNT too, as related changes have already been synced. (Bug#117) + +2008-12-30 Chong Yidong + + * indent.c (Fvertical_motion): Don't advance iterator if we have + reseated to the desired position. + + * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when + checking for pos match. + +2008-12-30 Kenichi Handa + + * insdel.c (copy_text): To convert a non-ASCII char to unibyte, + just get the low 8-bit of the code. + + * font.c (font_intern_prop): Validate str as multibyte. + +2008-12-29 Dan Nicolaescu + + * dispextern.h (struct face): Move lface and hash from the middle + of bitfields. + + * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users. + +2008-12-29 Dan Nicolaescu + + * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h. + (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC + instead of intervals.h. + +2008-12-26 Andreas Schwab + + * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a + cons. + +2008-12-26 Martin Rudalics + + * textprop.c (Qminibuffer_prompt): New variable. + (syms_of_textprop): Initialize it. + * callint.c (Fcall_interactively): For `c', `k', and `K' prompt + in minibuffer-prompt face. (Bug#1662) + +2008-12-25 Jason Rumney + + * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE. + +2008-12-24 Jason Rumney + + * ralloc.c (r_alloc_reset_variable): New function. + + * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal + record of what points where. (Bug#716) + +2008-12-22 Dan Nicolaescu + + * minibuf.c (read_minibuf): Follow the non-interactive case when + running as a daemon, before detaching. + +2008-12-22 Andreas Schwab + + * buffer.c (init_buffer): Use realloc instead of xrealloc. + * gtkutil.c (free_widget_value): Use xfree instead of free. + +2008-12-22 Martin Rudalics + + * frame.c (delete_frame): New function derived from + Fdelete_frame to handle Qnoelisp value for FORCE argument. + Delete last frame iff FORCE equals Qnoelisp. (Bug#1450) + (Fdelete_frame): Call delete_frame. Remove line from doc-string + saying that FORCE non-nil doesn't run `delete-frame-functions'. + * frame.h: Extern delete_frame. + * window.c (window_loop): + * terminal.c (delete_terminal): + * xterm.c (x_connection_closed): + * xfns.c (Fx_hide_tip): + * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame. + +2008-12-21 Jason Rumney + + * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR + when character maps to .notdef character. + +2008-12-21 Stefan Monnier + + * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310. + +2008-12-20 Jason Rumney + + * frame.c (Fmake_terminal_frame): Raise an error when called from + a graphical frame on Windows. (Bug#1325) + +2008-12-20 Jan Djärv + + * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil. + +2008-12-20 Chong Yidong + + * minibuf.c (Fread_buffer): Doc fix. + +2008-12-20 Jason Rumney + + * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the + server name in UNC paths. (Bug#719) + + * coding.c (decode_coding): Clear chars_at_source flag when using + charbuf. (Bug#1035) + +2008-12-19 Daniel Engeler + + * sysdep.c (serial_configure): Fix typo. + +2008-12-19 Dan Nicolaescu + + * sysdep.c: Include alloca.h. + (system_process_attributes): Add implementation for Solaris. + + * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines. + +2008-12-19 Dan Nicolaescu + + Reorganize implementation of Flist_system_processes and + Fsystem_process_attributes. No functional changes. + * process.c: Don't #include pwd.h, grp.h and limits.h. + (Flist_system_processes): Just call list_system_processes. + (Fsystem_process_attributes): Just call system_process_attributes. + (procfs_list_system_processes, time_from_jiffies) + (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR) + (procfs_get_total_memory, procfs_system_process_attributes): Move ... + + * sysdep.c: ... here. Include pwd.h, grp.h and limits.h. + (list_system_processes): Rename from + procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS. + Provide a do nothing implementation. + (system_process_attributes): Rename from + procfs_list_system_processes. + (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR) + (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX. + + * w32.c (list_system_processes): Rename from + w32_list_system_processes. + (system_process_attributes): Rename from + w32_system_process_attributes. + + * s/gnu-linux.h (LISTPROC, PROCATTR): Remove. + + * process.h (w32_list_system_processes) + (w32_system_process_attributes): Remove. + (list_system_processes, system_process_attributes): + New prototypes. + +2008-12-19 Kenichi Handa + + * xfont.c (xfont_decode_coding_xlfd): New function. + (xfont_encode_coding_xlfd): New function. + (xfont_list_pattern): Decode XLFD by iso-8859-1. + (xfont_list): Decode and encode XLFD by iso-8859-1. + (xfont_match): Likewise. + (xfont_list_family): Likewise. + (xfont_open): Likewise. + + * ftfont.c (ftfont_open): Generate a multibyte string if given + names are utf-8. + + * xftfont.c (xftfont_open): Generate a multibyte string if given + names are utf-8. + +2008-12-18 Jan Djärv + + * gtkutil.c (xg_frame_resized): Remove check if rows/columns have + changed. + (xg_tool_bar_proxy_callback): Put focus on the frame after we have + clicked on a detached tool bar button. + +2008-12-18 Dan Nicolaescu + + * emacs.c (main): Print and error and exit when no data is read + from the pipe. + +2008-12-17 Jason Rumney + + * w32font.c (w32font_has_char): Always return -1. + +2008-12-16 Kenichi Handa + + * font.c (font_open_entity): Fix previous change. + +2008-12-16 Dan Nicolaescu + + * process.c: Include . + +2008-12-16 Chetan Pandya (tiny change) + + * font.c (font_update_drivers): Fix mistake in reconstructing the + driver list. + +2008-12-16 Chong Yidong + + * font.c (font_clear_cache): Fix format of font cache data. + +2008-12-15 Chong Yidong + + * xftfont.c (xftfont_open): Free Xft font pattern if + XftFontOpenPattern fails. + + * xterm.c (x_free_frame_resources): Remove extraneous call to + free_frame_faces. + +2008-12-13 Chong Yidong + + * xterm.c (x_delete_display): Move xim_close_dpy call to + x_delete_terminal. + (x_delete_terminal): Call xim_close_dpy. + +2008-12-13 Jason Rumney + + * w32font.c (intern_font_name): New function. + (add_font_name_to_list, w32_enumfont_pattern_entity): Use it. + (w32font_open_internal, Fx_select_font): Decode font name. + (fill_in_logfont, list_all_matching_fonts): Encode font name. + + * w32font.h (intern_font_name): Declare new function. + + * w32uniscribe.c (add_opentype_font_name_to_list): + Use intern_font_name. + +2008-12-13 Chong Yidong + + * frame.c (Fdelete_frame): Call free_font_driver_list. + + * font.c (free_font_driver_list): Implement missing function. + + * w32term.c (w32_term_init): Don't initialize the image cache + here; it will be done in init_frame_faces. + + * xterm.h (struct xim_inst_t): Definition moved from xterm.c. + (struct x_display_info): Remove unused member null_pixel. + New member xim_callback_data. + + * xterm.c (struct xim_inst_t): Definition moved to xterm.h. + (xim_initialize): Save pointer to callback function data. + (xim_close_dpy): Free callback function data. Call XCloseIM, + reverting 2008-11-04 change by David Smith. + (x_term_init): Don't initialize the image cache here; it will be + done in init_frame_faces. Remove ancient "null_pixel" cruft. + (x_delete_display): Free x_dnd_atoms member. + +2008-12-13 Kenichi Handa + + * font.c (font_rescale_ratio): Move from xfaces.c. + Argument type changed. Handle a font-spec too. + (font_score): Check Vface_font_rescale_alist. + (font_open_entity): Likewise. (Bug#1547) + + * xfaces.c (font_rescale_ratio): Move to font.c. + +2008-12-13 Chong Yidong + + * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame. + +2008-12-12 Jason Rumney + + * w32fns.c (x_display_info_for_name, Fx_open_connection): + Set Vwindow_system_version to the real w32 major version. + +2008-12-12 Dan Nicolaescu + + * term.c (init_tty): Move setting the terminal name before the + potential user: maybe_fatal. + +2008-12-11 Chong Yidong + + * term.c (tty_free_frame_resources): Rename from delete_tty_output; + all callers changed. Call free_frame_faces to free the face cache. + +2008-12-11 Jason Rumney + + * w32font.c (fill_in_logfont): Don't assume symbol script means + SYMBOL_CHARSET. (Bug#547) + + * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer + size for surrogates. (Bug#1096, bug#872) + +2008-12-11 Juanma Barranquero + + * w32proc.c (Fw32_get_locale_info): Decode long form of locale name. + +2008-12-11 Juanma Barranquero + + * process.c (Fsystem_process_attributes, syms_of_process): + Fix typo in name of Ssystem_process_attributes. + Reported by Ulrich Mueller . + +2008-12-11 Juanma Barranquero + + * syntax.c (Fmodify_syntax_entry): Doc fix. + +2008-12-10 Juanma Barranquero + + * font.c (Ffont_spec): Move usage to end of docstring. + +2008-12-10 Jason Rumney + + * w32font.c (Qcham): New symbol. + (font_supported_scripts): Add cham, and comments for other new + scripts in bitfield from OpenType spec. + (add_font_entity_to_list): Limit unicode-sip fonts to those that + contain characters beyond the bmp. + +2008-12-10 Kenichi Handa + + * ftfont.c (fc_charset_table): Add "unicode-sip". + (ftfont_spec_pattern): Lookup fc_charset_table for the registry + Qunicode_sip. + +2008-12-10 Juanma Barranquero + + * coding.c (QCdefault_char): Rename from QCdefalut_char. + (Fcoding_system_put): Use QCdefault_char. + (syms_of_coding): Set QCdefault_char, not QCdefalut_char. + +2008-12-09 Chong Yidong + + * xftfont.c (syms_of_xftfont): Fix typo. + + * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer. + +2008-12-08 Dan Nicolaescu + + * emacs.c (main): Close daemon_pipe on exec. + +2008-12-08 Chong Yidong + + * termchar.h (struct tty): New members termcap_term_buffer and + termcap_strings_buffer. + + * term.c (encode_terminal_code): Free any previous memory blocks + before calling xmalloc for encode_terminal_src or encode_terminal_dst. + (maybe_fatal): Buffer argument deleted. Don't free buffer here. + All callers changed. + (init_tty): Store termcap data and string buffers in new struct + tty members termcap_term_buffer and termcap_strings_buffer. + (delete_tty): Free them. + (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst. + +2008-12-07 Seiji Zenitani + + * nsfns.m (ns_set_background_color): Remove code duplication. + It was a substitute for face-transparency on OS X 10.3. + +2008-12-06 Chong Yidong + + * coding.c (make_conversion_work_buffer): Disable buffer + modification hooks in the work buffer. + +2008-12-05 Eli Zaretskii + + * process.c (procfs_system_process_attributes): If `nread' has a + negative value, assign zero to it. + +2008-12-05 Chong Yidong + + * eval.c (Vdebug_on_error): Doc fix. + +2008-12-05 Kenichi Handa + + * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the + second character is a combining character. + +2008-12-05 Eli Zaretskii + + * process.c (procfs_system_process_attributes): Don't use cmd, + cmdsize, and q without initializing them first. + +2008-12-04 Jason Rumney + + * w32font.c (w32font_draw): Initialize orig_clip before getting + it, and delete it when finished. + +2008-12-04 Dan Nicolaescu + + * keyboard.c (kbd_buffer_get_event): Follow the non-interactive + case when running as a daemon before detaching. + +2008-12-03 Juanma Barranquero + + * w32.c (init_environment): Don't unload library shell32.dll. + +2008-12-03 Kenichi Handa + + * font.c (font_at): Set `multibyte' at first. + + * coding.c (decode_coding_charset): Check type of an element of + vector VALIDS. + (encode_coding_emacs_mule): Be sure to set `code'. + + * fontset.c (face_for_char): Handle invalid charset property correctly. + (font_for_char): Likewise. + +2008-12-03 Chong Yidong + + * font.c (Fopen_font): Compute pixel size correctly. + (font_update_lface): Handle fonts with corrupted size specs, + i.e. non-int and non-float. + + * ftfont.c (ftfont_match): Initialize entity variable. + (ftfont_resolve_generic_family): Avoid using uninitialized var. + (ftfont_list_family): Initialize list var earlier. + + * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak. + + * xterm.c (x_draw_glyph_string): Fall back on + underline_minimum_offset for underline position. + +2008-12-03 Dan Nicolaescu + + * keyboard.c (read_char_help_form_unwind): Specify the type for ARG. + + * character.c (c_string_width): Specify the type for LEN. + +2008-12-03 Kenichi Handa + + * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0. + (decode_coding_utf_8): Likewise. + (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil. + (produce_chars): Initialize consumed_chars to 0. + +2008-12-02 Chong Yidong + + * keyboard.c (make_lispy_position): Only use PT if the selected + window is current. + +2008-12-02 Andreas Schwab + + * font.c (font_unparse_fcname): Fix use of uninitialized variable. + + * doprnt.c (doprnt1): Fix size of charbuf. + +2008-12-02 Chong Yidong + + * keyboard.c (timer_check): Revert last change. + +2008-12-02 Juanma Barranquero + + * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo. + +2008-12-01 Juanma Barranquero + + * makefile.w32-in: Update dependencies. + (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h. + +2008-12-01 Andreas Schwab + + * font.c (register_font_driver): Use xmalloc. + (font_put_frame_data): Likewise. + +2008-12-01 Chong Yidong + + * xfaces.c (realize_x_face): Make abort condition clearer. + + * gtkutil.c (update_frame_tool_bar): Initialize variable. + +2008-11-30 Chong Yidong + + * keyboard.c (timer_check): After a timer runs, ensure that the + selected window's buffer is current. + +2008-11-30 Juanma Barranquero + + * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove. + It was accidentally restored by the Unicode merge. + + * w32proc.c (Fw32_get_locale_info): Fix typo in docstring. + +2008-11-29 Juanma Barranquero + + * w32proc.c: Include "coding.h". + (Fw32_short_file_name): Encode filename passed to Windows API. + (Fw32_long_file_name): Encode filename passed to Windows API and + decode back the result. (Bug#1433) + +2008-11-29 Kenichi Handa + + * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or + not before accessing it. + + * charset.c (Fdefine_charset_internal): After calculating + min_char, max_char, and fastmap, copy the charset structure again. + (encode_char): Fix the previous change. + +2008-11-28 Seiji Zenitani + + * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha. + + * nsfns.m (ns_frame_parm_handlers): Set alpha handler. + + * nsterm.m (x_set_frame_alpha): New function. + +2008-11-27 Eli Zaretskii + + * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change. + +2008-11-27 Juanma Barranquero + + * w32font.c (add_font_entity_to_list): Pass the right LOGFONT + pointer to check_face_name. + +2008-11-27 Kenichi Handa + + * category.h (SET_CATEGORY_SET): Call set_category_set. + (set_category_set): Extern it. + + * category.c (hash_get_category_set): New function. + (Fmodify_category_entry): Adjust for the change of + char_table_ref_and_range. Call hash_get_category_set to get a + category set to store in the table. + + * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of + Funify_charset. + + * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED. + (DECODE_CHAR): Check if the decoder vector is ready. + (ENCODE_CHAR): Check if the encoder char-table is ready. + (maybe_unify_char): Extern it. + + * charset.c (Vchar_unified_charset_table): Delete it. + (inhibit_load_charset_map): New variable. + (temp_charset_work): New variable. + (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER) + (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER): + New macros. + (load_charset_map): Meaning of control_flag changed. + If inhibit_load_charset_map is nonzero, setup a table in + temp_charset_work. + (load_charset): New argument control_flag. + (map_charset_for_dump): New function. + (map_charset_chars): If inhibit_load_charset_map is nonzero, use + map_charset_for_dump. + (Fdefine_charset_internal): If the charset method is MAP, load + mapping tables by calling load_charset. + (Funify_charset): Don't load a mapping table but directly set + Vchar_unify_table. + (maybe_unify_char): New function. + (decode_char): Don't handle the deleted method MAP_DEFERRED. + Handle the case of inhibit_load_charset_map being nonzero. + (encode_char): Don't handle the deleted method MAP_DEFERRED. + Handle the case of inhibit_load_charset_map being nonzero. + (Fclear_charset_maps): Just free temp_charset_work. + (syms_of_charset): Make `inhibit-load-charset-map' a Lisp + variable. + + * chartab.c (sub_char_table_ref_and_range): Adjust for the + change of char_table_ref_and_range. + (char_table_ref_and_range): Change the meaning of argument FROM + and TO. Now the caller must provide initial values for *FROM + and *TO. + + * fontset.c (fontset_add): Adjust for the change of + char_table_ref_and_range. + (fontset_get_font_group): Likewise. + (Ffontset_info): Likewise. + + * keymap.c (describe_vector): Adjust for the change of + char_table_ref_and_range. For char-table, put boundary between + non-ASCII and 8-bit characters. + + * print.c (print_object): For bool-vector, delete unnecessary + check of ASCII_BYTE_P. + +2008-11-26 Jason Rumney + + * w32font.c (w32font_open_internal): Don't include external + leading in font height. (Bug#879) + +2008-11-26 Glenn Morris + + * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el + redefinition with ifdef. (Bug#1383) + +2008-11-24 Adrian Robert + + * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044). + +2008-11-24 Wolfgang Lux (tiny change) + + * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged): + New EmacsView methods. + (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants. + Fixes bug #1048,1357,1414. + +2008-11-24 Adrian Robert + + Fix bug #1362. + * image.c (x_clear_image_1): Do not free background under HAVE_NS, it + is not an indexed color. + * nsterm.m (free_indexed_color): Add argument checking. + * nsfns.m: Move config.h to before system includes (advised by Dan N.). + +2008-11-24 Chong Yidong + + * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm): + Document confirm-after-completion value for + minibuffer-completion-confirm. + +2008-11-24 Jason Rumney + + * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler + warning. + +2008-11-23 Jason Rumney + + * w32uniscribe.c (uniscribe_encode_char): Ensure context is + restored before returning. + + * w32font.c (check_face_name): New function. + (add_font_entity_to_list): Use it to filter out common substituted + fonts. (Bug#642) + +2008-11-22 Martin Rudalics + + * buffer.c (Fswitch_to_buffer): Reword and mention new option + confirm-nonexistent-file-or-buffer in doc-string. + +2008-11-21 Stefan Monnier + + * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation. + Fix copy/paste typo. Add checks. + +2008-11-21 Kenichi Handa + + * coding.c (detect_coding_iso_2022): Reject invalid composition + sequence. + (DECODE_COMPOSITION_START): If the current source is the last + block, and the current composition doesn't end, regard this + sequence as invalid. + (decode_coding_iso_2022): Handle invalid composition sequence. + +2008-11-20 Martin Rudalics + + * window.c (coordinates_in_window): Don't return + ON_VERTICAL_BORDER for the rightmost position of a mode/header + line when the window is not the rightmost one. (Bug#1372) + +2008-11-16 Ben North (tiny change) + + * buffer.c (syms_of_buffer): Fix doc-string of cursor-type. + +2008-11-15 Eli Zaretskii + + * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw, + and bright_bg if noninteractive is non-zero. + +2008-11-15 YAMAMOTO Mitsuharu + + * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call + x_draw_glyph_string_background. + + * w32term.c (x_draw_glyph_string): Likewise. + +2008-11-15 Chong Yidong + + * xterm.c (x_draw_glyph_string): Stop drawing the background of + the next glyph string once past the overhang width. + + * nsterm.m (ns_draw_glyph_string): Likewise. + + * w32term.c (x_draw_glyph_string): Likewise. + +2008-11-14 Fabrice Popineau (tiny change) + + * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid + double file close. + +2008-11-14 Martin Rudalics + + * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset + dedicated status of window before attempting to display another + buffer in it. + +2008-11-14 Juanma Barranquero + + * msdos.c (Fmsdos_long_file_names): + (syms_of_msdos) : + * dosfns.c (Fint86): Fix typos in docstrings. + +2008-11-14 Eli Zaretskii + + * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace. + +2008-11-14 Katsumi Yamaoka + + * puresize.h (BASE_PURESIZE): Increase to 1260000. + +2008-11-12 Michal Nazarewicz (tiny change) + + * frame.c (x_set_alpha): Set alpha to -1 if nil given. + + * frame.h: Negative alpha means "don't touch". + + * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative. + + * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative. + +2008-11-12 Dan Nicolaescu + + * hftctl.c: + * chpdef.h: + * acldef.h: Remove files used only for systems no longer supported. + + * Makefile.in: Fix .o alphabetical ordering. + (hftctl.o): Remove dependency, file removed. + (keymap.o, print.o): Depend on charset.h. + +2008-11-10 Kenichi Handa + + * character.c (Fget_byte): Fix and make it faster for unibyte target. + +2008-11-08 Chong Yidong + + * dired.c (file_name_completion): If completion_ignore_case is + enabled, ignore case when checking completion-regexp-list. + +2008-11-08 Eli Zaretskii + + * vm-limit.c (get_lim_data): Fix last change. + +2008-11-08 Kenichi Handa + + * character.c (Fget_byte): New function. + (syms_of_character): Defsubr Fget_byte. + +2008-11-07 Chong Yidong + + * xdisp.c (try_window_reusing_current_matrix): Ensure that window + cursor position is valid after scrolling. + +2008-11-06 Juanma Barranquero + + * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix. + +2008-11-06 Glenn Morris + + * xterm.c (handle_one_xevent): Don't let popup menus cause + mouse-autoselect-window related window switching. (Bug#1261) + +2008-11-04 David Smith (tiny change) + + * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM. + +2008-11-04 Andreas Schwab + + * xfns.c (Fx_wm_set_size_hint): Add missing return value. + +2008-11-03 Chong Yidong + + * xfns.c (Fx_wm_set_size_hint): New function. + +2008-11-03 Martin Rudalics + + * textprop.c (Fprevious_single_char_property_change): Return 0 + when there's no change in a string. (Bug#1301) + +2008-11-02 Martin Rudalics + + * frame.c (do_switch_frame): New argument NORECORD passed to + Fselect_window. + (Fselect_frame): New argument NORECORD passed to + do_switch_frame. + (Fset_frame_selected_window): New argument NORECORD passed to + Fselect_frame. + (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument + in call of do_switch_frame. + (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame): + Handle NORECORD argument in call of Fselect_frame. + * lisp.h (do_switch_frame, Fselect_frame) + (Fset_frame_selected_window): Adjust declarations. + * window.c (select_frame_norecord): New function. + (run_window_configuration_change_hook): Use it and call + Fselect_frame with NORECORD set. + (Fselect_window): Pass NORECORD to Fselect_frame. + (Fset_window_configuration): Handle NORECORD argument in call of + do_switch_frame. + * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of + Fset_frame_selected_window. + * keyboard.c (command_loop_1): Handle NORECORD in call of + Fselect_frame (currently ifdefd). + +2008-11-02 Ulrich Mueller + + * emacs.c (USAGE2): Untabify. + +2008-11-01 Stefan Monnier + + * composite.c (fill_gstring_header): Fix copy/paste typo. + +2008-10-31 Martin Rudalics + + * window.c (Fnext_window, Fprevious_window): Rewrite doc-string. + (Fother_window): Rename argument and rewrite doc-string. + (select_window_norecord): Fix return value. (Bug#1276) + +2008-10-30 Juanma Barranquero + + * w32fns.c (x_create_tip_frame): Prevent default foreground color for + new frames overriding foreground for tooltips. Based on similar patch + from Martin Rudalics . (Bug#1032) + +2008-10-29 Chong Yidong + + * emacs.c (Fdaemon_initialized): Initialize nfd. + +2008-10-29 Martin Rudalics + + * window.c (Fwindow_height, Fdelete_window, set_window_buffer) + (Fwindow_text_height): Clarify doc-strings. + * xdisp.c (syms_of_xdisp): Mention set-window-buffer in + doc-string of window-scroll-functions. + +2008-10-28 Reiner Steib + + * category.c (syms_of_category): Fix typo in docstring. + +2008-10-28 Juanma Barranquero + + * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p) + (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right): + Fix typos in docstrings. + +2008-10-28 Dan Nicolaescu + + * emacs.c (daemon_pipe): Make non-static. + (IS_DAEMON): Move definition ... + * lisp.h (IS_DAEMON): ... here. + (daemon_pipe): Declare. + (is_daemon): Remove. + * dispnew.c (init_display): Use IS_DAEMON. + +2008-10-28 Stefan Monnier + + * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog) + (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively. + + * emacs.c (is_daemon): Remove. + (main): Don't set is_daemon. + (IS_DAEMON): New macro. + (Fdaemonp, Fdaemon_initialized): Use it. + (Fdaemon_initialized): Write a char into the pipe to make sure the + parent exits. + (syms_of_emacs): Explicitly initialize daemon_pipe[1]. + +2008-10-27 Chong Yidong + + * nsterm.m (ns_draw_window_cursor): When hbar cursor is on + over-sized glyph, draw it with the default glyph width. + + * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized + glyph, draw it with the default glyph width. + + * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized + glyph, draw it with the default glyph width. + + * xdisp.c (try_scrolling): When computing the distance from the + scroll margin to PT, try moving some distance past the window + bottom before giving up. + +2008-10-27 Martin Rudalics + + * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p) + (Fset_window_buffer): Explain in doc-string that a window can be + "strongly" dedicated to its buffer. + +2008-10-27 Dan Nicolaescu + + * emacs.c (daemon_name): New variable. + (main): Deal with --daemon=SERVER_NAME. + (Fdaemonp): Return a name if one was passed to --daemon. + +2008-10-26 Romain Francoise + + * emacs.c (daemon_pipe): New variable. + (main): Create a pipe before forking, make the parent exit only after + the child has closed its end of the pipe. Move closing the + descriptors ... + (Fdaemon_initialized): ... here. New function. + +2008-10-26 Stefan Monnier + + * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to + the previous unoptimized table. + + * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate + the distinction between non-nil and non-t value of `dedicated'. + +2008-10-25 Chong Yidong + + * keyboard.c (read_char_minibuf_menu_prompt): Ensure that + read_char_minibuf_menu_text is large enough to hold the menu string. + +2008-10-25 Martin Rudalics + + * window.c (Fget_buffer_window, Fdelete_windows_on) + (Freplace_buffer_in_windows): Make buffer argument optional and + rename to buffer_or_name. + +2008-10-24 Chong Yidong + + * xdisp.c (handle_single_display_spec, handle_display_prop): + Undo 2005-05-16 change. + (handle_stop): Pop iterator if it's loaded with an empty string. + (get_overlay_strings_1): Don't save iterator if it's loaded with + an empty string (bug#1201). + +2008-10-24 Kenichi Handa + + * ftfont.c (ftfont_otf_features): Fix previous change. + (ftfont_otf_capability): Check FeatureList.FeatureCount before + calling ftfont_otf_features. + +2008-10-24 Kenichi Handa + + * font.c (font_match_p): Fix for the case that a vector of + characters is in script-representative-chars. + +2008-10-24 Michael Albinus + + * dbusbind.c (xd_in_read_queued_messages): New variable. + (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error. + (xd_read_queued_messages): Catch Qdbus_error from the macros. + (all): Replace xsignal1, xsignal2, xsignal3 by the respective + macro. (Bug#1186) + +2008-10-23 Ali Bahrami (tiny change) + + * s/sol2-10.h: New file. + +2008-10-23 Juanma Barranquero + + * xdisp.c (fill_glyph_string): Fix typo in source (though the + poor beast has survived 9+ years and the jump from xterm.c!). + +2008-10-23 Martin Rudalics + + * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name. + Reword doc-string. + (Fbury_buffer): In doc-string say what happens to the buffer's window. + +2008-10-23 Juanma Barranquero + + * character.c (syms_of_character) : + : Doc fixes. + +2008-10-23 Noah Friedman + + * coding.c (make_conversion_work_buffer): Check that + Vcode_conversion_reused_workbuf is a live buffer, otherwise call + Fget_buffer_create. + +2008-10-23 Kenichi Handa + + * font.c (font_add_log): Check the values of extra properties. + +2008-10-22 Martin Rudalics + + * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p): + Reword doc-string. + (Fset_window_parameter): Use NILP. + (Fscroll_up, Fscroll_down, Fminibuffer_selected_window) + (Frecenter): Use "selected" instead of "current" window in doc-strings. + +2008-10-22 Juanma Barranquero + + * xdisp.c (next_element_from_buffer): Remove bogus xassert condition. + +2008-10-22 Adrian Robert + + * nsfns.m (ns_appkit_version): New function. + (x-server-version): Use it. + (syms_of_nsfns): Define ns-version-string here, not nsterm.m. + (x-server-vendor): Don't check_ns(). + + * nsterm.m (syms_of_nsterm): Drop ns-version-string. + +2008-10-22 Juanma Barranquero + + * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert. + Copied from 2005-02-03 change to xfns.c by Kim F. Storm. + +2008-10-22 Kenichi Handa + + * syntax.c (scan_words): Call word_boundary_p instead of comparing + scripts. + + * category.c (word_boundary_p): Check scripts instead of charset. + Handle nil value in word-separating-categories and + word-combining-categories. + (syms_of_category): Fix docstrings of word-separating-categories + and word-combining-categories. + +2008-10-21 Eli Zaretskii + + * coding.c (Fencode_coding_region, Fdecode_coding_region) + (Fdecode_coding_string, Fencode_coding_string): Doc fix. + +2008-10-21 Martin Rudalics + + * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1): + Rename arg "buffer" to "buffer_or_name". + (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make + it optional. + (no_switch_window): Remove since the return value is not used. + (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name". + Consider window as dedicated when Fwindow_dedicated_p returns a + non-nil value. + * lisp.h: Remove prototype for no_switch_window. + +2008-10-21 Jan Djärv + + * emacs.c (main): Unconditionally set PER_LINUX32 and exec + temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined. + +2008-10-21 Kenichi Handa + + * coding.c (detect_coding_charset): For iso-8859-* coding systems, + check Vlatin_extra_code_table. + +2008-10-20 Eli Zaretskii + + * fileio.c (Fset_file_modes): Doc fix. + +2008-10-19 Michael Albinus + + * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols + in arrays. + +2008-10-19 Martin Rudalics + + * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p): + Mention kill-buffer in doc-string. + (Fset_window_buffer): Reinsert tem check removed in last commit. + (Fenlarge_window, Fshrink_window): Have argument names and + doc-string follow Elisp manual more closely. + +2008-10-18 Eli Zaretskii + + * fileio.c (Fset_file_modes): Doc fix. + +2008-10-18 Martin Rudalics + + * window.c (Fwindow_width, Fset_window_start) + (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter) + (Fdelete_windows_on, Freplace_buffer_in_windows): + Make doc-strings follow code and Elisp manual more closely. + (Fwindow_dedicated_p): Make window argument optional. + (Fset_window_dedicated_p): Rename argument "arg" to "flag". + (Fset_window_buffer): Respect any non-nil dedicated value for + window. Rename "buffer" argument to "buffer_or_name". + +2008-10-18 Ulrich Mueller + + * m/sh3.h: New file, machine description for SuperH. + +2008-10-17 Martin Rudalics + + * window.c (Fsplit_window): Rename arg horflag to horizontal. + +2008-10-17 Kenichi Handa + + * ftfont.c (ftfont_otf_features): Fix indexing + gsub_gpos->FeatureList.Feature. Check the validity of indices. + +2008-10-16 Magnus Henoch + + * dbusbind.c (Fdbus_call_method): Unbreak usage line. + (Fdbus_call_method_asynchronously): Ditto. + This change makes C-h f display the argument list. + +2008-10-16 Chong Yidong + + * fileio.c (Fexpand_file_name): Doc fix. + + * xfaces.c (Finternal_set_lisp_face_attribute): Make null values + of :foreground and :background equivalent to unspecified (20.x + compatibility). + +2008-10-15 Eli Zaretskii + + * buffer.c (syms_of_buffer): Doc fix. + +2008-10-14 Kenichi Handa + + * font.c (font_clear_prop): When clearing font width, clear the + average width field too. + +2008-10-12 Andreas Schwab + + * ftfont.c (ftfont_shape_by_flt): Make static. + * ftfont.h (ftfont_shape_by_flt): Don't declare. + + * font.c: Don't include . + +2008-10-10 Eli Zaretskii + + * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000. + +2008-10-09 Eli Zaretskii + + * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed + away code. + +2008-10-09 Chong Yidong + + * dispnew.c (update_text_area): Avoid looping due to large glyph + overhangs (bug#1070). + +2008-10-09 Kenichi Handa + + * fontset.c (face_for_char): If face->fontset is negative, just + return ascii_face. + + * font.c (font_delete_unmatched): Fix previous change. + Don't reject an entity if DPI and AVGWIDTH of an entity are 0. + +2008-10-09 Martin Rudalics + + * frame.c (Fraise_frame): On text-only terminals select frame in + order to make it visible. (Bug#1061) + +2008-10-08 Chong Yidong + + * fontset.c (fontset_find_font): Check frame validity. + +2008-10-07 Chong Yidong + + * gtkutil.c (xg_display_open): Reset default display if none exists. + (xg_display_close): Allow Emacs to close all displays (bug#985). + +2008-10-06 Andreas Schwab + + * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively. + +2008-10-06 Chong Yidong + + * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el. + + * lisp.h (Vbefore_init_time, Vafter_init_time): Declare. + + * gtkutil.c (x_wm_set_size_hint): Return immediately if called + during initialization. + +2008-10-04 Eli Zaretskii + + * xdisp.c (redisplay_internal): If frame switched, redisplay the + whole thing on MSDOS frames as well as on a TTY. + + * dispnew.c (update_frame): Flush termscript for MSDOS frames as + well as for TTY. + (Fopen_termscript): Allow opening a termscript on MSDOS frames as + well as on a TTY. + + * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames + as well as for TTY. + + * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'. + + * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for + MSDOS frames as well. + +2008-10-02 Adrian Robert + + * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with + correct arguments. + * menu.c (find_and_return_menu_selection): Add cast. + +2008-10-03 Glenn Morris + + * emacs.c (USAGE1): Add --daemon. + +2008-10-02 Eli Zaretskii + + * process.c (procfs_system_process_attributes): Multiply `pcpu' by + 100, so it's in percents as advertised. + +2008-10-02 Adrian Robert + + * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color) + (ns_output.current_cursor, ns_output.desired_cursor) + (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR) + (FRAME_NEW_CURSOR_COLOR): Remove. + + * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR. + (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs + enumeration (HOLLOW_BOX_CURSOR, etc.). + + * nsterm.m (ns_frame_rehighlight): Remove commented code. + (draw_window_cursor): Simplify code. + (EmacsView-windowDidBecomeKey:,-windowDidResignKey:): + Don't change cursor type. In latter, call rehighlight instead of doing + updates manually. + (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel): + Use core Emacs cursor types. + + * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS. + +2008-10-02 Martin Rudalics + + * process.c (Faccept_process_output): Fix doc-string. + +2008-10-02 Dan Nicolaescu + + * gmalloc.c (__sbrk): Also define for uClibc. + + * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition + for uClibc. + +2008-10-01 Adrian Robert + + * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal + styles. + (nsfont_open): Reenable the cache. + +2008-10-01 Adrian Robert + + * font.c (font_matching_entity): Reflect ATTRS in font selection. + (font_find_for_lface) [HAVE_NS]: Don't ignore case. + +2008-09-30 Stefan Monnier + + * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to + a suspended terminal. + +2008-09-30 Michael Albinus + + * dbusbind.c (xd_signature): Use strcat instead of sprintf. + +2008-09-30 Eli Zaretskii + + * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc. + +2008-09-30 Chong Yidong + + * xdisp.c (move_it_to): Don't advance the iterator if the last tab + in a continued line coincides with a line beginning. + +2008-09-29 Adrian Robert + + * nsfont.m (nsfont_trait_distance): Fix bug. + (nsfont_list): Return a list rather than a vector (syncs with Handa + changes of 2008-05-14). + (nsfont_open): Improve logging. + +2008-09-29 Andreas Schwab + + * keyboard.c (syms_of_keyboard) : Doc fix. + +2008-09-28 Martin Rudalics + + * character.c (Fchar_resolve_modifiers): Rewrite Elisp function + name as char-resolve-modifiers. + Reported by: Markus Triska + +2008-09-28 Dan Nicolaescu + + * dispnew.c (init_display): Return earlier when running as a daemon. + +2008-09-27 Adrian Robert + + * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...). + +2008-09-27 Eli Zaretskii + + * composite.c (Fcomposition_get_gstring) + (Fcompose_region_internal, Fcompose_string_internal) + (Ffind_composition_internal): Doc fix. + (syms_of_composite) : Doc fix. + (syms_of_composite) : Doc fix. + (syms_of_composite) : Doc fix. + +2008-09-25 Chong Yidong + + * search.c (wordify): New argument for lax word-ends. + (Fword_search_forward_lax, Fword_search_backward_lax): New funs. + +2008-09-24 Dan Nicolaescu + + * lisp.h (is_daemon): Declare. + * dispnew.c (init_display): Do not try to initialize the terminal + when running as a daemon. + +2008-09-22 Chong Yidong + + * nsfns.m (compute_tip_xy): Use x_display_pixel_width and + x_display_pixel_height. + +2008-09-22 Martin Rudalics + + * undo.c (record_point): Don't call Fundo_boundary for first + change. (Bug#731) + +2008-09-22 Juanma Barranquero + + * emacs.c (Fdaemonp): Doc fix. + +2008-09-22 Dan Nicolaescu + + * emacs.c (main): Place #ifdef in the proper place. + +2008-09-21 Dan Nicolaescu + + * emacs.c (standard_args): Add --daemon. + (main): Disconnect from the terminal when --daemon is passed. + (is_daemon): New variable. + (Fdaemonp): New function. + (syms_of_emacs): Defsubr it. + +2008-09-20 Chong Yidong + + * xdisp.c (get_next_display_element): Handle string display + correctly when checking for the end of a box run. + +2008-09-20 Glenn Morris + + * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object. + (syms_of_fileio): Add Qdelete_by_moving_to_trash. + (Frename_file): Avoid copying to trash if a rename involves + a delete. (Bug#964). + +2008-09-20 Eli Zaretskii + + * keyboard.c (Fset_quit_char, Fset_input_meta_mode) + (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS + frames as well as termcap frames. + (handle_interrupt): Remove "#ifndef MSDOS" around the call to + get_named_tty. + +2008-09-19 Eli Zaretskii + + * process.c (procfs_system_process_attributes): Fix cmdline in + case /proc/PID/cmdline is empty. + + * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and + x_display_pixel_height. + +2008-09-19 Juanma Barranquero + + * frame.c (x_fullscreen_adjust): Declare var as Display_Info. + + * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height) + (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height. + +2008-09-19 Dan Nicolaescu + + * dispextern.h (struct it): Move line_wrap away from the middle of + bitfields. Move voffset in struct iterator_stack_entry after the + bitfields. Move tab_width near after another short. + +2008-09-18 Dan Nicolaescu + + * frame.h (struct frame): Move alpha from the middle of bitfields. + + * window.h (struct window): Move frozen_window_start_p after the + rest of the bitfields to reduce padding. + +2008-09-18 Chong Yidong + + * xterm.h (x_display_info): Remove `height' and `width' members. + + * nsterm.h (ns_display_info): Remove `height' and `width' members. + + * w32term.h (w32_display_info): Remove `height', `width', + `height_in', and `width_in' members. + + * xterm.c (x_display_pixel_height, x_display_pixel_width): + New functions. + (x_calc_absolute_position): Use them. + (x_term_init): Omit removed `height' and `width' members. + + * w32term.c (x_display_pixel_height, x_display_pixel_width): + New functions. + (w32_read_socket, x_calc_absolute_position): Use them. + (w32_initialize_display_info, w32_term_init): Omit removed members + of w32_display_info. + + * nsterm.m (x_display_pixel_height, x_display_pixel_width): + New functions. + (ns_initialize_display_info): Omit removed members of ns_display_info. + + * xterm.c (x_display_pixel_height, x_display_pixel_width): + New functions. + (x_calc_absolute_position): Use them. + (x_term_init): Omit removed `height' and `width' members. + + * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height) + (compute_tip_xy): + * frame.c (x_fullscreen_adjust): + * xmenu.c (menu_position_func): Use x_display_pixel_height and + x_display_pixel_width. + +2008-09-18 Kenichi Handa + + * composite.c (fill_gstring_header): Don't check FROM and TO here. + (composition_compute_stop_pos): Fix handling of static composition. + (Fcomposition_get_gstring): Check FROM and TO at first. + +2008-09-17 Stefan Monnier + + * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Object + mixup (YAILOM). + +2008-09-17 Chong Yidong + + * indent.c (Fvertical_motion): Use position reported by iterator + instead of PT for determining screen motion (bug#943). + +2008-09-17 Romain Francoise + + * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup. + +2008-09-17 Kenichi Handa + + * ftfont.c (ftfont_shape_by_flt): Downcase family name. + + * composite.c (Fcomposition_get_gstring): Make bigger gstring_work + if necessary. + +2008-09-16 Kenichi Handa + + * coding.c (make_conversion_work_buffer): Avoid calling + Fget_buffer_create if it is not necessary. + +2008-09-15 Martin Rudalics + + * window.c (Fselect_window): Don't update window_select_count and + use_time when norecord is not nil. + +2008-09-14 Kenichi Handa + + * fileio.c (Finsert_file_contents): Delete incorrect decrement of + specpdl_ptr. + +2008-09-12 Kenichi Handa + + * indent.c (scan_for_column): Don't handle automatic composition + if the current buffer is not associated with a window. + + * composite.c (composition_reseat_it): If the current buffer is + not associated with a window, ignore the automatic composition. + (find_automatic_composition): Likewise. + +2008-09-12 Stefan Monnier + + * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop. + (Fgpm_mouse_stop): Use it. + * termhooks.h (close_gpm): Declare. + * keyboard.c (tty_read_avail_input): Forcefully close the gpm + connection if Gpm_GetEvent fails. + + * window.c (set_window_buffer): Always preserve current-buffer. + +2008-09-12 Glenn Morris + + * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909) + +2008-09-11 Glenn Morris + + * charset.c (charset-map-path): Doc fix. + +2008-09-10 Kenichi Handa + + * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1. + + * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment + compose a grapheme cluster with the preceding base glyph. + + * composite.c (composition_compute_stop_pos): Fix previous change. + Reset cmp_it->id to -1 at first. + +2008-09-10 Glenn Morris + + * Makefile.in (character.o, chartab.o): Fix config.h typo. + +2008-09-09 Chong Yidong + + * keyboard.c (read_key_sequence): Reapply translation maps when + switching keyboards. + +2008-09-09 Kenichi Handa + + * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII + characters. + + * composite.c (FORWARD_CHAR): Fix calculation + of (POSITION).pos_byte. + (composition_compute_stop_pos): Limit the search of composition to + at most 500 characters ahead. If we reach the limit or find a + newline, set cmp_it->ch to -2 and return 0. + (composition_reseat_it): Handle the case that cmp_it->ch is -2. + +2008-09-08 Kenichi Handa + + * indent.c (Fvertical_motion): Be sure to set + it_overshoot_expected if it.cmp_it.id is non-negative. + +2008-09-07 Andreas Schwab + + * callproc.c (Fcall_process): Don't hold references to string data + across garbage collection. Move initialisation of new_argv down + to avoid compiler bug. + +2008-09-07 Roland Winkler + + * process.c (Fsystem_process_attributes): Doc fix. + +2008-09-07 Chong Yidong + + * callproc.c (Fcall_process): Canonicalize current directory name. + + * xdisp.c (move_it_to): When moving by vpos, ensure that the + iterator advances to the next line if the current line ends in a + continued tab. + +2008-09-07 Teodor Zlatanov + + * nsfont.m (nsfont_draw): Fix the references to missing gidx data + member to point to cmp_from. + + * xdisp.c: Doc fix for references to gidx data member. + +2008-09-07 Stefan Monnier + + * buffer.c (Fbuffer_swap_text): Reset window->point markers. + +2008-09-07 Kenichi Handa + + * composite.c (FORWARD_CHAR): Check STOP after + incrementing (POSITION).pos. + +2008-09-06 Roland Winkler + + * process.c (Fsystem_process_attributes): Doc fix. + +2008-09-06 Chong Yidong + + * keyboard.c (Ftop_level): Doc fix. + +2008-09-06 Eli Zaretskii + + * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a + minibuffer, don't let lower part of menu invade the echo area. + + * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a + "char *q" to access menu text and advance through it. Revert the + change that displayed ">" instead of ASCII character 0x10. + +2008-09-05 Eli Zaretskii + + * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of + toggle boxes and radio buttons on MS-DOS as well. + +2008-09-05 Kenichi Handa + + * composite.c (autocmp_chars): Check lookback count. + (composition_compute_stop_pos): Set cmp_it->lookback. + (composition_reseat_it): Check lookback count. + (struct position_record): New struct. + (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros. + (find_automatic_composition): New function. + (composition_adjust_point): Use find_automatic_composition. + + * dispextern.h (struct composition_it): New member lookback. + +2008-09-02 Chong Yidong + + * indent.c (Fvertical_motion): Don't call move_it_by_lines again + if moving by a single line. + +2008-09-02 Andreas Schwab + + * xterm.c (x_delete_display): Fix merge error. + + * fileio.c (Fexpand_file_name): Remove unused variables. + +2008-09-02 Eli Zaretskii + + * fileio.c (Fexpand_file_name): Copy argument `name' into local + storage on all platforms, not just on DOS_NT. + +2008-09-02 Jason Rumney + + * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show): + Ensure mouse is not grabbed after menu is finished. + +2008-09-01 Chong Yidong + + * xfaces.c (Finternal_set_alternative_font_family_alist) + (Finternal_set_alternative_font_registry_alist): Properly copy + entire alist structure. + +2008-09-01 Kenichi Handa + + * ftfont.c (ftfont_spec_pattern): Don't create a charset if the + representative chars of the script is a vector. + (ftfont_list): Handle the case where the representative chars of + the script is a vector. + + * character.c (syms_of_character): Docstring of + script-representative-chars fixed. + +2008-08-31 Eli Zaretskii + + * msdos.c (BUILD_CHAR_GLYPH): New macro. + (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct + the menu. Allocate larger buffer for `text', to account for + possible ^C characters. + +2008-08-31 Martin Rudalics + + * xdisp.c (prepare_menu_bars): Don't call + Vwindow_size_change_functions with arg Qt. + +2008-08-31 Stefan Monnier + + * font.h (font_range): + * fileio.c (report_file_error): + * composite.c (composition_update_it): Yet another int/Lisp_Object + mixup (YAILOM). + +2008-08-30 Glenn Morris + + * data.c (Fmake_variable_frame_local): Doc fix. + + * frame.c (Fmodify_frame_parameters): Doc fix. + +2008-08-30 Eli Zaretskii + + * w32.c (init_user_info): Allocate buf[] with xmalloc using the size + needed by GetTokenInformation. + (w32_system_process_attributes): Check return values of all system + APIs. + + * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript + only when the state changes. + (IT_update_begin, IT_update_end): Add termscript trace. + + * w16select.c (Fw16_set_clipboard_data): Don't encode text if + clipboard is unavailable. Set dst to NULL if it doesn't point to + malloc'ed data. + (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid + passing random values to xfree. + + * dispnew.c (init_display): Set `tty's association in frame's + parameters alist to the name of the terminal device, if that is known. + +2008-08-29 Jason Rumney + + * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script. + +2008-08-29 Eli Zaretskii + + * composite.c (fill_gstring_body): Avoid compiler warnings. + + * font.c (font_fill_lglyph_metrics): Use EMACS_INT in + LGLYPH_SET_CODE to avoid compiler warnings. + + * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h. + + * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT. + + * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in + LGLYPH_SET_CODE. + +2008-08-29 Kenichi Handa + + * fileio.c (report_file_error): Don't downcase the first character + of errstring if it is still unibyte. + +2008-08-29 Kenichi Handa + + These changes are to re-implement the automatic composition so + that it doesn't use text properties. + + * Makefile.in (ftfont.o): Depend on composite.h. + (composite.o): Depend dispextern.h, font.h, frame, and window.h. + + * character.h (Vunicode_category_table): Extern it. + + * character.c (Vunicode_category_table): New variable. + (syms_of_character): DEFVAR_LISP Vunicode_category_table. + + * chartab.c (optimize_sub_char_table): Perform more greedy + optimization. + + * composite.h (enum composition_method): + Delete COMPOSITION_WITH_GLYPH_STRING. + (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING. + (Vcomposition_function_table): Extern it. + (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h. + (composition_gstring_put_cache, composition_gstring_from_id) + (composition_gstring_p, composition_gstring_width) + (composition_compute_stop_pos, composition_reseat_it) + (composition_update_it, composition_adjust_point): Extern them. + (Fcomposition_get_gstring): EXFUN it. + + * composite.c: Include window.h, frame.h, dispextern.h, font.h. + (Vcomposition_function_table) + (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING. + (gstring_hash_table, gstring_work, gstring_work_headers): + New variables. + (gstring_lookup_cache, composition_gstring_put_cache) + (composition_gstring_from_id, composition_gstring_p) + (composition_gstring_width, fill_gstring_header) + (fill_gstring_body, autocmp_chars, composition_compute_stop_pos) + (composition_reseat_it, composition_update_it) + (composition_adjust_point, Fcomposition_get_gstring): New functions. + (syms_of_composite): Initialize gstring_hash_table, gstrint_work, + and gstring_work_headers. DEFVAR_LISP composition-function-table. + Defsubr composition_get_gstring. + + * dispextern.h (struct glyph): New union u.cmp. Delete the member + cmp_id. + (struct glyph_string): Delete the member gidx. New members + cmp_id, cmp_from, and cmp_to. + (enum it_method): Delete GET_FROM_COMPOSITION. + (struct composition_it): New struct. + (struct it): New member cmp_it, and iterator_stack_entry.cmp_it. + Delete c, len, cmp_id, cmp_len in u.comp. + + * font.h (enum lgstring_indices): Delete it. + (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h. + (enum lglyph_indices): Likewise. + (font_range): Adjust extern. + (font_fill_lglyph_metrics): Extern it. + + * font.c (QCf): New variable. + (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH. + (font_prepare_composition): Delete this function. + (font_range): Type and arguments changed. + (Ffont_make_gstring, Ffont_fill_gstring): Delete them. + (font_fill_lglyph_metrics): New function. + (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments. + (syms_of_font): DEFSYM QCf. Delete defsubr for + Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text. + Defsubr Sfont_shape_gstring. + + * fontset.h (font_for_char): Extern it. + + * fontset.c (font_for_char): New function. + + * ftfont.c: Include composite.h. + (ftfont_resolve_generic_family): Add langset "en" to pattern. + (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH. + + * indent.c: Include composite.h and dispextern.h. + (check_composition): Delete this function. + (scan_for_column): Handle composition by + composition_compute_stop_pos, composition_reseat_it, and + composition_update_it. + (compute_motion): Likewise. + (Fvertical_motion): Fix checking of composition. + + * keyboard.c (adjust_point_for_property): Check composition by + composition_adjust_point. + + * nsterm.m (ns_draw_glyph_string): Adjust for the change of + struct glyph_string. + + * term.c (encode_terminal_code): Adjust for the change of struct glyph. + (append_composite_glyph): Adjust for the change of struct it and + struct glyph. + (produce_composite_glyph): Likewise. + + * w32term.c (x_draw_composite_glyph_string_foreground): + Adjust for the change of struct glyph_string. + (x_draw_glyph_string): Likewise. + + * w32uniscribe.c (struct uniscribe_font_info): Include composite.h. + (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH. + + * xdisp.c: Include font.h. + (it_props): Delete the entry for Qauto_composed. + (init_iterator): Initialize it->cmp_it.id to -1. + (compute_stop_pos): Call composition_compute_stop_pos. + (face_before_or_after_it_pos): Adjust for the change of struct it. + (handle_auto_composed_prop): Delete it. + (handle_composition_prop): Handle only static composition. + (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION + from xassert. Initialize it->cmp_it.stop_pos. + (push_it): Adjust for the change of struct it. + (pop_it): Likewise. + (get_next_element): Delete next_element_from_composition. + (CHAR_COMPOSED_P): New macro. + (get_next_display_element): For automatic composition, get a face + from the font in the glyph-string. + (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING, + check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case. + (next_element_from_string): Check if the character at the current + position is composed by CHAR_COMPOSED_P. + (next_element_from_buffer): Likewise. + (next_element_from_composition): Adjust for the change of struct it. + Update it->cmp_it. + (dump_glyph): Adjust for the change of struct glyph. + (fill_composite_glyph_string): Adjust for the change of struct + it and struct glyph. Don't handle automatic composition here. + (fill_gstring_glyph_string): New function. + (x_get_glyph_overhangs): Handle automatic composition. + (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph. + (BUILD_GSTRING_GLYPH_STRING): New macro. + (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for + automatic composition. + (append_composite_glyph): Adjust for the change of struct it and + struct glyph. + (x_produce_glyphs): Adjust for the change of struct it. + + * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for + the change of struct glyph_string. + (x_draw_glyph_string): Likewise. + +2008-08-29 Glenn Morris + + * buffer.c (word-wrap): Doc fix. + * xdisp.c (truncate-partial-width-windows): Doc fix. + Increase default to 50. + +2008-08-29 Chong Yidong + + * xdisp.c (update_tool_bar_unwind): New function. + (update_tool_bar): Temporarily set selected frame before building + tool-bar items. + +2008-08-28 Michael Albinus + + * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and + snprintf, respectively. + (xd_append_arg): Convert strings with Fstring_make_unibyte. + +2008-08-28 Chong Yidong + + * Makefile.in: Revert (undocumented) 2008-08-20 change adding + LDFLAGS to GNUstep CC invocation. + +2008-08-27 Chong Yidong + + * indent.c (Fvertical_motion): Revert last change. Handle the + general case where we are moving forward, and PT spans multiple + screen lines. + + * eval.c (find_handler_clause): Temporarily increase + max-lisp-eval-depth while printing the backtrace buffer, to + guarantee that help-mode code can run. + +2008-08-27 Eli Zaretskii + + * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame + colors under -rv. + (IT_set_frame_parameters): Don't swap foreground and background + colors if `(reverse . t)' is present in the frame properties. + (internal_terminal_init): Call init_frame_faces only for the + initial frame. + +2008-08-27 Andreas Schwab + + * dired.c (Ffile_attributes): Avoid compiler warning in bitshift. + +2008-08-27 Andreas Schwab + + * search.c (search_buffer): Set char_base to zero only at the end. + +2008-08-27 Kenichi Handa + + * fileio.c (report_file_error): Fix handling of multibyte error string. + +2008-08-27 Andreas Seltenreich + + * xterm.c (x_term_init): Temporarily hide the partially + initialized terminal while calling vendor-specific-keysyms. + +2008-08-26 Eli Zaretskii + + * msdos.c (internal_terminal_init): Most initializations done only + once, especially initial_screen_colors[] and termscript open. + +2008-08-26 Chong Yidong + + * eval.c (Fcondition_case): Doc fix. + + * widgetprv.h (EmacsFramePart): Change font member to the new font + struct. + + * widget.c: Include character.h and font.h for XSETFONT. + (setup_frame_gcs): Compute X font id from font struct, just once. + +2008-08-26 Eli Zaretskii + + * term.c (get_named_tty): Fix last change. + +2008-08-26 Chong Yidong + + * indent.c (Fvertical_motion): If moving forward starting from a + multi-line string, move the iterator to the last line of that string. + +2008-08-25 Eli Zaretskii + + * frame.c (do_switch_frame): Mark previously displayed frame as + obscured for FRAME_MSDOS_P frames as well. + +2008-08-24 Eli Zaretskii + + * frame.c (make_terminal_frame): Initialize f->terminal, + f->terminal->reference_count, and scroll bars on MS-DOS as well. + Set the top frame to newly created frame. + (Fmake_terminal_frame): Reuse the_only_display_info. + + * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of + estimating available memory. + +2008-08-23 David Reitter + + * nsterm.m (ns_draw_window_cursor): Don't call + NSDisableScreenUpdates and NSEnableScreenUpdates on + non-NS_IMPL_COCOA systems. + +2008-08-23 Andreas Schwab + + * process.c (procfs_system_process_attributes): Fix use of + uninitialized variables. + +2008-08-23 Eli Zaretskii + + * emacs.c (main) [MSDOS]: Call syms_of_xmenu. + + * dispnew.c (init_display): Remove MS-DOS specific conditions for + calling tty-set-up-initial-frame-faces. + + * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show): + Allow MSDOS frames along with X frames. + + * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in + addition to output_termcap. + + * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode. + + * termchar.h (FRAME_TTY): Support output_msdos_raw. + (struct tty_display_info) [MSDOS]: Add fields related to mouse + highlight. + + * process.c [!subprocesses]: Define QCname. + (syms_of_process): Intern and staticpro it. + + * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data): + Adjust for changes in encoding/decoding routines. + Use encode_coding_object and decode_coding_object instead of + encode_coding and decode_coding. + + * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument. + + * dosfns.c: Include frame.h before termhooks.h. + (dos_cleanup): Use CURTTY ()->termscript instead of a global + variable termscript. + + * s/msdos.h (USER_FULL_NAME): Define. + (SYSTEM_PURESIZE_EXTRA): Bump up to 100K. + + * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined. + (Fuser_full_name): Use USER_FULL_NAME instead of a literal + pw->pw_gecos. + + * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with + SELECTED_FRAME as additional (1st) argument. + (tty_read_avail_input): Handle output_msdos_raw in + addition to output_termcap. + + * msdos.c: Include frame.h before termhooks.h. + (mouse_on, mouse_off, mouse_moveto, mouse_init) + (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs) + (show_mouse_face, IT_clear_end_of_line, IT_clear_screen) + (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto) + (IT_set_terminal_modes, IT_reset_terminal_modes) + (IT_set_frame_parameters): Use tty->termscript instead of a global + variable termscript. + (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a + global variable terminal_coding. Don't refer to + Vnonascii_translation_table. + (internal_terminal_init): Set Vwindow_system in current_kboard. + Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system. + Announce date and time of session start, if termscript is open. + Don't zero out the_only_display_info (it is done in + term.c:init_tty). Open termscript only of not already open. + Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse + here instead of dos_ttraw. Don't initialize display if this is an + initial tty. Don't set FRAME_FONT. + (Vwindow_system_version): Bump to 23. + (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse + is available, set up mouse_position_hook. + (dos_ttraw, IT_set_terminal_modes): If called with initial + terminal, do nothing. + (IT_set_frame_parameters): Handle the Qtty_type frame + parameter by calling internal_terminal_init. + (dos_set_window_size, show_mouse_face) + (clear_mouse_face, IT_note_mode_line_highlight) + (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date) + (dos_rawgetc): Use tty_display_info instead of x_display_info. + (initialize_msdos_display): New function. + (IT_cursor_to, IT_clear_to_end, IT_clear_screen) + (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs) + (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes) + (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin): + Accept additional argument: a pointer to a frame. Update all callers. + (request_sigio, unrequest_sigio): Don't define, now defined on + sysdep.c. + (IT_write_glyphs): Rewrite to use encode_terminal_code. + + * term.c [MSDOS]: Include msdos.h. + (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp + conditional to DOS_NT. Allow only one call to this function in a + session. Don't allocate a new struct tty_display_info; instead, + reuse the_only_display_info. Call get_tty_size to get screen + dimensions. Call init_baud_rate to set bad_rate. + (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body. + (Fsuspend_tty) [MSDOS]: Don't close input and output. + (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout. + (get_tty_terminal, get_named_tty, Ftty_type) + (Fcontrolling_tty_p): Handle output_msdos_raw in addition to + output_termcap. + (Fresume_tty, Fsuspend_tty, init_tty, delete_tty): + Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor + only when subprocesses are supported. + + * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of + f->output_data.x. + (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new + terminal devices. + + * msdos.h: Remove definition of struct x_display_info and struct + x_output. + (FRAME_FONT): Use output_data.tty. + (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define. + (struct x_display_info): Rename from display_info. Update all users in + msdos.c. + (struct x_output): Remove background_pixel and foreground_pixel. + (the_only_display_info): Rename from the_only_x_display. + (dos_ttraw): Update prototype. + + * Makefile.in (MSDOS_OBJ): Add xmenu.o. + (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc. + +2008-08-23 Jason Rumney + + * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword. + (fn_TIFFSetDirectory): New library function used. + (init_tiff_functions) [HAVE_NTGUI]: Initialize it. + (tiff_load): Use :index to select among multiple images. Set count + property when multiple images exist. + (gif_format): Use :index, not :image. + +2008-08-23 Chong Yidong + + * xdisp.c (try_scrolling): Check INT_MAX instead of + MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h + to obtain INT_MAX. + +2008-08-21 İsmail Dönmez (tiny change) + + * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+. + +2008-08-21 Christian Faulhammer (tiny change) + + * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate + GNUstep library location. + +2008-08-21 Chong Yidong + + * xfaces.c (x_update_menu_appearance): Check validity of menu font + before using it. + + * puresize.h (BASE_PURESIZE): Increase to 1250000. + +2008-08-20 Adrian Robert + + * nsfns.m (ns-read-file-name): Add casts to avoid warning. + (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly. + * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil. + * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration. + (EmacsApp-cursor_blink_handler): Remove declaration. + * nsterm.m (ns_draw_glyph_string): Update first conditional body to + match 01 Feb 2008 changes in xterm.c. + (ns_read_socket): Add cast to avoid warning. + (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on + GNUstep. + +2008-08-20 Chong Yidong + + * xselect.c (x_get_foreign_selection): Return nil if desired + selection could not be obtained, instead of signalling an error. + +2008-08-20 David Reitter + + * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c. + * nsterm.m: Remove ns-specific code for cursor blinking. + (ns_draw_window_cursor): Clear cursor properly rather than + redrawing the area. Respect width of bar cursors. + These changes enable the use of generic blink-cursor-mode and + generic cursor types in NS and support smooth cursor movements (do + not blink off after command). + * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on + Nextstep, too. + +2008-08-19 Kenichi Handa + + * font.c (Vfont_log_deferred): New variable. + (font_add_log): Check Vfont_log_deferred. + (font_deferred_log): New function. + + * font.h (font_deferred_log): Extern it. + + * fontset.c (reorder_font_vector): Use encoding charset of fonts + for sorting. + (face_for_char): Use deferred log. + +2008-08-18 Kenichi Handa + + * fontset.c (face_for_char): Add font log. + + * font.c (font_add_log): Add the font properties :script, :lang, + and :otf in the log. + +2008-08-17 Chong Yidong + + * xdisp.c: Remove dead code. + (handle_invisible_prop, next_overlay_string): Defer call to + setup_for_ellipsis. + (handle_stop, set_iterator_to_next): Call setup_for_ellipsis. + +2008-08-15 Chong Yidong + + * xfaces.c (lookup_derived_face): Properly handle possible zero + return value of get_lface_attributes. + (merge_faces): Don't tell lookup_derived_face to signal an error + if face is not found. + + * dired.c (Fdirectory_files): Doc fix. + + * process.c (make_process): Initialize kill_without_query struct + member. + +2008-08-15 Eli Zaretskii + + * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]: + Alternative calculation of totphys for Visual Studio 6. + + * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR. + + * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX): + Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX. + All users changed. + (stat): Only root directory passed to GetDriveType. Allow RAM + disk as well as local fixed disk when w32-get-true-file-attributes + is set to `local'. + (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs. + (equal_sid, get_length_sid, copy_sid): New wrapper functions. + (w32_cached_id, w32_add_to_cache): New functions. + (get_name_and_id): Look account names in the cache before calling + lookup_account_sid. + (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid): + New initialization flags. + (globals_of_w32): Initialize them to zero. + (w32_system_process_attributes): Use w32_cached_id and + w32_add_to_cache. + +2008-08-14 Lawrence Mitchell + + * lread.c (Fread_char, Fread_char_exclusive): If no character + event is read before timeout is reached, return nil, rather than + converting to a number. + +2008-08-14 Chong Yidong + + * fns.c (use_dialog_box): Doc fix. + + * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful + on OS X. + +2008-08-13 Chong Yidong + + * frame.c (Qns_parse_geometry): New var. + (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry. + +2008-08-11 Chong Yidong + + * xdisp.c (x_produce_glyphs): Handle the case when font has no + space character in calculating tabs. + +2008-08-11 Dan Nicolaescu + + * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case. + +2008-08-10 Glenn Morris + + * process.c (procfs_system_process_attributes): Use EMACS_INTs to + silence gcc "limited range of data type" warnings in some + make_fixnum_or_float calls. + +2008-08-09 Eli Zaretskii + + * w32.c (w32_system_process_attributes): If the process does not + exist, return nil. + + * w32.c: Include thelp32.h, psapi.h and coding.h. + (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct + declarations. + (CreateToolhelp32Snapshot_Proc, Process32First_Proc) + (Process32Next_Proc): New typedefs. + (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first) + (g_b_init_process32_next, g_b_init_open_thread_token) + (g_b_init_impersonate_self, g_b_init_revert_to_self) + (g_b_init_get_process_memory_info, g_b_init_global_memory_status) + (g_b_init_get_process_working_set_size) + (g_b_init_global_memory_status_ex): New static variables. + (globals_of_w32): Initialize them. + (create_toolhelp32_snapshot, process32_first, process32_next) + (open_thread_token, impersonate_self, revert_to_self) + (get_process_memory_info, get_process_working_set_size) + (global_memory_status, global_memory_status_ex): New wrapper + functions. + (w32_list_system_processes, w32_system_process_attributes) + (enable_privilege, restore_privilege, ltime, process_times): + New functions. + (convert_time_raw): New function. + (convert_time): Remove conversion of FILETIME into time in 100 + nsec units, call convert_time_raw instead. + + * process.h (w32_list_system_processes, w32_system_process_attributes): + Add prototypes. + (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname) + (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime) + (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup) + (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations. + + * process.c (Fsystem_process_attributes): Doc fix. + +2008-08-08 Chong Yidong + + * xdisp.c (move_it_to): When stopping at a charpos, check if that's + a continued multi-char glyph; if so, advance to the actual glyph. + +2008-08-07 Dan Nicolaescu + + * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in. + + * Makefile.in (ALL_OBJC_CFLAGS): New variable. + (.m.o): Use it. + * config.in: Regenerate. + +2008-08-07 Chong Yidong + + * xdisp.c (redisplay_window): Revert last change. + (try_window): Check bottom scroll margin too. + +2008-08-06 Adrian Robert + + * config.in: Regenerate. + + * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs + -list-load-path-shadows'. + (nsgui.h): Reduce number of things depending on it. + +2008-08-06 Chong Yidong + + * xdisp.c (try_scrolling): Use iterator to find the scroll margin, + instead of window-end which does the wrong thing at eob. + (try_cursor_movement): Minor optimization. + (redisplay_window): If scroll margin is defined, don't assume + window doesn't need scrolling. + +2008-08-06 Adrian Robert + + * config.in: Regenerate. + + * Makefile.in: Move nsXXX.m dependencies into big alphabetical list. + (mostlyclean): Don't delete *.d under NS. + + * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER. + +2008-08-06 Kenichi Handa + + * xfont.c (xfont_list_family): Return a list of symbols, not strings. + +2008-08-06 Andreas Schwab + + * config.in: Regenerate. + +2008-08-05 Chong Yidong + + * xdisp.c (redisplay_window): Don't enforce scroll-margin when + forcing a window start. + + * fileio.c (Vauto_save_list_file_name): Move here from file.el. + (auto_save_1): Update modtime when auto-save-list-file-name is on. + +2008-08-04 Adrian Robert + + * emacs.c (main): Under NS, set working dir to HOME when get a "psn" + argument. + +2008-08-05 Juanma Barranquero + + * buffer.c (syms_of_buffer) : + : + : Reflow docstrings. + +2008-08-04 Adrian Robert + Ken Raeburn + + Dock menu customization, based on a patch by Ken Raeburn, plus some + other fixes. + * nsmenu.m (dockMenu): New variable. + (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17. + + * nsterm.h (dockMenu): Declare. + + * nsterm.m (KEY_NS_NEW_FRAME): New definition. + (ns_term_init): Initialize dockMenu. + (EmacsApp -newFrame:, -applicationDockMenu:): New methods. + (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame + left. + + * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA. + +2008-08-04 Chong Yidong + + * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it. + + * config.in: Regenerate. + +2008-08-04 Seiji Zenitani + + * nsfns.m (x-create-frame): Set the frame parameter alpha to nil. + +2008-08-04 Chong Yidong + + * nsterm.h (find_and_call_menu_selection): Fix prototype. + +2008-08-04 Adrian Robert + + * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS. + + * keyboard.h: Comment an #endif. + + * lisp.h (have_menus_p): Adjust comment. + + * menu.c (find_and_return_menu_selection): Fix comparison with + client_data. + + * nsmenu.m (popup_activated_flag): New variable. + (popup_activated): New function. + (menu-or-popup-active-p): New exported lisp definition. + (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items() + when popup done. + (ns_popup_dialog): Set popup_activated_flag. + + * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger + version for GNUstep (handled by conditional typedef in nsterm.m). + (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now + in rgb.txt). + + * process.c (init_process): Use DARWIN_OS, not DARWIN. + + * sysselect.h: Conditionalize init_process undef on DARWIN_OS. + + * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS. + + * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS, + shortcircuit if popup_activated like GTK and X toolkit. + + * m/inter386.h: Change DARWIN to DARWIN_OS. + + * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def. + Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs + closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. + Expand comment on NO_SOCK_SIGIO. + +2008-08-03 Chong Yidong + + * nsterm.m (windowDidResize): Remove stopModal call. + +2008-08-03 Andreas Schwab + + * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define. + (check_memory_limits): Don't handle HAVE_GETRLIMIT here. + +2008-08-02 Chong Yidong + + * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin. + Don't use uninitialized pointer variable when using getrlimit. + +2008-08-02 Jason Rumney + + * w32font.c (compute_metrics): Don't mess with glyph_idx setting here. + +2008-08-02 Eli Zaretskii + + * alloc.c (NSTATICS): Bump to 0x640. + + * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines. + + * lisp.h: Add prototype for directory_files_internal. + + * process.c (Fsystem_processes_list, Fsystem_process_attributes): + New functions. + (syms_of_process): Defsubr them. Add initializations for various + Q* symbols used in procfs_system_process_attributes. + (procfs_list_system_processes, procfs_system_process_attributes) + [HAVE_PROCFS]: New functions. + (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname) + (procfs_get_total_memory): New functions. + +2008-08-01 Juanma Barranquero + + * xfaces.c (Fx_load_color_file): Fix previous change; + it is #ifdef WINDOWSNT, not WINDOWS_NT. + +2008-08-01 Michael Albinus + + * dbusbind.c (xd_read_message): Handle D-Bus error messages. + +2008-08-01 Adrian Robert + + * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard. + +2008-08-01 Chong Yidong + + * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha. + + * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not + define NSApplicationDelegateReplySuccess. + (EmacsView -converstationIdentifier): Use long instead of + NSInteger for GNUstep, since it doesn't have NSInteger. + + * xmenu.c: Revert last change. + + * keyboard.h: Fix last change. + +2008-08-01 Juanma Barranquero + + * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting + on Windows. + +2008-08-01 Adrian Robert + + Warning clearing and clean-up in NS port. + * keyboard.h (xmalloc_widget_value, digest_single_submenu): + Add prototypes. + * nsgui.h (FACE_DEFAULT): Remove, unused. + (XGCValues): Change colors to unsigned long. + * nsterm.h (EmacsApp): Add declaration of all methods implemented in + nsterm.m. + (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class. + (ns_list_fonts): Remove, unused. + (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes. + * nsfns.m (interpret_services_menu): Use NSMenuItem class. + * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc. + (nsfont_draw): Compare face colors to 0, not nil. + * nsmenu.m (struct widget_value): Drop unneeded declaration. + (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:) + (-addSubmenuWithTitle:): Use NSMenuItem class. + (ns_popup_menu): Use NO, not NULL, for enabled setting. + * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0. + (ns_clip_to_row): Make gc arg a BOOL. + (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in + ns_clip_to_row() call. + (ns_draw_glyph_string): Drop face comparison to ~0 (no longer + used). Cast FRAME_FONT assignments. + (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:. + (ns_string_to_lispmod): Change arg to const char. + (ns_term_init): Use NSMenuItem class. + (EmacsApp -openFile:): Move to different section of file. + (EmacsApp -application:openFiles:): Don't return a value, call + -replyToOpenOrPrint:. + (EmacsView -keyDown:): Fix up cast. + (EmacsView -converstationIdentifier): Use NSInteger instead of long. + (EmacsView -menuDown:): Cast tag in call to + find_and_call_menu_selection(). + (ns_list_fonts): Remove, unused. + (ns_font_to_xlfd): Make static. Cast result of UTF8String. + (ns_fontname_to_xlfd): Make static. + * w32menu.c (xmalloc_widget_value, digest_single_submenu): + Remove prototypes (now in keyboard.h). + (next_menubar_widget_id): Remove, unused. + * xmenu.c (xmalloc_widget_value, digest_single_submenu): + Remove prototypes (now in keyboard.h). + * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused. + +2008-08-01 Dan Nicolaescu + + * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o) + (floatfns.o): Depend on syssignal.h. + (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC). + + * systty.h: Fix previous change that removed BSD_TERMIOS. + Add comments to #ifdefs. + +2008-08-01 Adrian Robert + + * w32fns.c (w32-load-color-file): Remove. + (x-open-connection): Use renamed Fx_load_color_file. + * xfaces.c (x-load-color-file): Add. + * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of + Emacs.clr. + (hide_hourglass): BLOCK_INPUT before UNBLOCK. + +2008-07-31 Michael Albinus + + * dbusbind.c (Fdbus_call_method_asynchronously) + (Fdbus_method_error_internal): New defuns. + (xd_read_message): Handle also reply messages. + (Vdbus_registered_functions_table): Extend docstring. + +2008-07-31 Juanma Barranquero + + * keyboard.c (gobble_input): Fix previous change. + +2008-07-31 Dan Nicolaescu + + * bitmaps/README: + * xfns.c: + * termcap.c: + * term.c: + * syswait.h: + * systty.h: + * systime.h: + * syssignal.h: + * sysdep.c: + * process.h: + * process.c: + * print.c: + * ndir.h: + * lread.c: + * keyboard.c: + * getpagesize.h: + * floatfns.c: + * fileio.c: + * emacs.c: + * doc.c: + * dispnew.c: + * dired.c: + * data.c: + * callproc.c: + * buffer.c: + * README: + * Makefile.in: + * s/template.h: + * s/msdos.h: + * m/vax.h: Remove VMS support. + * s/vms.h: + * vlimit.h: + * uaf.h: + * temacs.opt: + * param.h: + * ioctl.h: Remove file. + +2008-07-31 Dan Nicolaescu + + * s/ms-w32.h (MULTI_KBOARD): Remove. + * xterm.c: + * xselect.c: + * xfns.c: + * window.c: + * w32term.c: + * w32fns.c: + * terminal.c: + * termhooks.h: + * term.c: + * sysdep.c: + * keyboard.h: + * keyboard.c: + * frame.h: + * frame.c: + * frame.c: Remove references to MULTI_KBOARD, it is now the default. + * config.in: Regenerate. + +2008-07-30 Jason Rumney + + * w32font.h (struct w32font_info): Use unicode version of textmetrics. + + * w32font.c (w32font_encode_char): Leave as unicode if in range. + (w32font_open_internal): Get unicode version of textmetrics. + Don't enable or disable glyph indices here. + (w32font_open): Disable use of glyph indices. + + * w32uniscribe.c (uniscribe_open): Enable use of glyph indices. + +2008-07-30 Chong Yidong + + * minibuf.c (Vread_buffer_function): Doc fix. + +2008-07-30 John Paul Wallington + + * minibuf.c (read_buffer_completion_ignore_case): New var. + (Fread_buffer): Use it. + +2008-07-30 Dan Nicolaescu + + * systty.h (sensemode): Remove empty #if. Remove reference to + BSD_TERMIOS, unused. + + * sysdep.c: Remove reference to DGUX. + (closedir): Remove reference to BROKEN_CLOSEDIR, unused. + + * config.in: Regenerate. + +2008-07-30 Jason Rumney + + * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size. + +2008-07-29 Jason Rumney + + * w32uniscribe.c (uniscribe_shape): Avoid using context if cache + is populated. + (uniscribe_encode_char): Always use uniscribe. + Avoid using context if cache is populated. + +2008-07-29 Jan Djärv + + * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to + open menu. + + * gtkutil.c (menu_nav_ended): Remove. + (create_menus): Remove signal connect for menu_nav_ended. + +2008-07-28 Chong Yidong + + * xdisp.c (redisplay_window): Check return value of + compute_window_start_on_continuation_line before forcing a window + start. + +2008-07-28 Jason Rumney + + * w32font.c (w32font_text_extents): Use w32_metric_cache consistently. + + * w32term.c (w32_enable_unicode_output, cleartype_active): + Remove obsolete display options. + (x_draw_glyph_string_background): Don't use old cleartype_active + workaround. + (w32_initialize): Remove cleartype_active initialization. + (syms_of_w32term): Remove w32_enable_unicode_output initialization. + +2008-07-28 Andreas Schwab + + * lisp.h (init_weak_hash_tables, syms_of_font) + (xd_read_queued_messages, syms_of_dbusbind): Declare. + (remove_hash_entry): Don't declare. + * eval.c (maybe_call_debugger): Make static and move before use. + * gtkutil.c: Include if HAVE_XFT. + * xdisp.c: Include "gtkutil.h" if USE_GTK. + * xterm.h (x_set_frame_alpha): Declare. + +2008-07-28 Jan Djärv + + * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24. + (create_menus): Connect selection-done to menu_nav_ended. + +2008-07-27 Adrian Robert + + * nsfns.m (x-create-frame): Add copy of parms argument to beginning. + Set Vx_resource_name to a fallback. Replace read of 'buffered' + parameter with read of 'alpha' one. + (Qns_frame_parameter): Remove. + * nsselect.m (selection-coding-system) + (next-selection-coding-system, Vselection_coding_system) + (Vnext_selection_coding_system): Drop. + +2008-07-27 Adrian Robert + + * nsfns.m (do-applescript, do_applescript): Rename to + ns-do-applescript, ns_do_applescript, and move within file. + +2008-07-27 Dan Nicolaescu + + Remove support for Mac Carbon. + * mactoolbox.c: + * macterm.h: + * macterm.c: + * macselect.c: + * macmenu.c: + * macgui.h: + * macfns.c: + * mac.c: Remove file. + * s/darwin.h: + * m/intel386.h: + * xfaces.c: + * xdisp.c: + * window.c: + * tparam.c: + * termhooks.h: + * termcap.c: + * term.c: + * syssignal.h: + * sysselect.h: + * sysdep.c: + * process.c: + * lread.c: + * lisp.h: + * keyboard.c: + * image.c: + * fringe.c: + * frame.h: + * frame.c: + * fontset.c: + * font.h: + * font.c: + * fns.c: + * fileio.c: + * emacs.c: + * dispnew.c: + * dispextern.h: + * config.in: + * atimer.c: + * Makefile.in: Remove code for Carbon. + +2008-07-26 YAMAMOTO Mitsuharu + + * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return. + +2008-07-26 YAMAMOTO Mitsuharu + + * macterm.h (kCGBitmapByteOrder32Host): New define for + non-universal SDKs. + + * image.c (mac_create_cg_image_from_image, image_load_image_io) + [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host. + + * macterm.c (XDrawLine, XCreatePixmapFromBitmapData) + [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host. + +2008-07-26 David Robinow (tiny change) + + * w32inevt.c: Include dispextern.h. + +2008-07-26 Andreas Schwab + + * print.c (print_object): Fix off-by-one in last change. + +2008-07-25 Juanma Barranquero + + * term.c (syms_of_term): Don't initialize default_orig_pair, + default_set_foreground and default_set_background on Windows. + +2008-07-25 Jason Rumney + + * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to + ScriptItemize. Clean up return value checking. Remove unused + variables. + (uniscribe_encode_char): Encode non-BMP characters with uniscribe + shaping engine. + + * w32font.c (w32font_has_char): Handle the case where we can't + determine the script for a character. + +2008-07-25 Chong Yidong + + * term.c (syms_of_term): Initialize default_orig_pair, + default_set_foreground, and default_set_background. + + * getloadavg.c (nl): Rename to name_list to avoid ncurses.h + clash (bug#86). + (getloadavg): Callers changed. + + * image.c (svg_load_image): Fix last change. + (svg_load_image): Use rsvg_handle_get_dimensions to check that + image size is valid. Use g_object_unref instead of deprecated + rsvg_handle_free to free rsvg handle. + (x_from_xcolors): Don't initialize pixmap (silence compiler). + +2008-07-25 Jason Rumney + + * w32font.c (w32font_encode_char): Encode characters outside BMP as + surrogates before looking up glyph index. + (w32font_text_extents): Encode as surrogates if falling back to + functions that need UTF-16 wide chars. + + * w32uniscribe.c (uniscribe_encode_char): Encode characters outside + BMP as surrogates before looking up glyph index. + +2008-07-25 Chong Yidong + + * image.c (svg_load_image): Check for failure in return value of + rsvg_handle_get_pixbuf. Free rsvg handle when done. + +2008-07-25 Jason Rumney + + * w32font.c (Fx_select_font): Reverse sense of second arg. + +2008-07-24 Stefan Monnier + + * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos) + (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions. + + * puresize.h (PURESIZE_CHECKING_RATIO): New macro. + (PURESIZE): Use it. + +2008-07-24 Dan Nicolaescu + + * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs. + * m/alpha.h (TEXT_END): + * m/ibmrs6000.h (TEXT_END): + * m/macppc.h (TEXT_END): + * s/darwin.h (TEXT_END): + * s/msdos.h (TEXT_END): Remove, unused. + * s/gnu-linux.h (BSD_PGRPS): Add a comment. + * s/cygwin.h: Remove comment. + + * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused. + (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES. + * m/intel386.h (DOT_GLOBAL_START): + * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES. + (USG): Remove, file not used on USG platforms. + + * Makefile.in (HAVE_X11): Remove empty #else. + +2008-07-24 Andreas Schwab + + * fileio.c (Finsert_file_contents): Properly adjust undo list + after format conversion. + +2008-07-24 Jan Djärv + + * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG. + (menu_nav_ended): Remove. + (create_menus): Remove signal connect for menu_nav_ended. + (xg_update_menubar): Also take deactivate_cb as parameter, pass it to + create_menus. + (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar. + +2008-07-23 Jason Rumney + + * w32font.c (w32_enumfont_pattern_entity): Return height consistent + with opened font. + (w32font_open): Set font type to gdi. + + * w32uniscribe.c (uniscribe_open): Set font type to uniscribe. + +2008-07-23 Dan Nicolaescu + + * s/usg5-4.h (ADDR_CORRECT): Remove, unused. + * unexaix.c (ADDR_CORRECT): Remove conditional, the only user + defines it. + * unexec.c (ADDR_CORRECT): Define unconditionally. + + * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove. + + * unexec.c: Remove code depending on !COFF and USG, the file is + not used for such systems. + + * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): + * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused. + (LD_SWITCH_SYSTEM_1): Remove, update users. + + * s/darwin.h (DATA_END): + * m/intel386.h (DATA_END): + * m/ibmrs6000.h (DATA_END): + * m/alpha.h (DATA_END): Remove, unused. + + * config.in: Regenerate. + * s/ms-w32.h (subprocesses): Define unconditionally. + * s/template.h (subprocesses): Update comment. + * s/vms.h (subprocesses): + * s/usg5-4.h (subprocesses): + * s/hpux10-20.h (subprocesses): + * s/gnu-linux.h (subprocesses): + * s/cygwin.h (subprocesses): + * s/bsd-common.h (subprocesses): + * s/aix4-2.h (subprocesses): + * s/darwin.h (subprocesses): Do not define, defined by default now. + + * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused. + Remove all references. + (temacs): Add GNUstep specific ld flags. + + * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing, + similarly to what X does. + +2008-07-22 Adrian Robert + + * nsfns.m (x-list-fonts): Remove. + (syms_of_nsfns): Drop the x-list-fonts declaration. + * nsterm.m: Get rid of remaining "//" comments. + +2008-07-22 Chong Yidong + + * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix. + + * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p) + (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal) + (Fns_own_selection_internal, Fx_disown_selection_internal) + (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal): + + * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /* + ... */' style of docstrings. Doc fixes. + +2008-07-22 Dan Nicolaescu + + * terminfo.c (UP, BC, PC): Undo previous change. + + * nsfns.m: Rename ns prefixed functions/variables to the + corresponding x versions. Update references. + +2008-07-22 Stefan Monnier + + * syntax.c (char_quoted): Check "charpos > beg" before decrementing. + +2008-07-22 Dan Nicolaescu + + * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines): + Remove forwarding functions. + (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make + non-static. + (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make + non-static. + (ns_frame_parm_handlers): Use the new names. + (syms_of_nsfns): Move to the end of file. + + * nsterm.m (syms_of_nsterm): Move to the end of file. + + * dispnew.c (init_display): Remove code for X10. + +2008-07-22 Jason Rumney + + * w32proc.c (Fw32_long_file_name): Don't append dir separator to + bare drive. + +2008-07-22 Adrian Robert + + * nsterm.m (syms_of_nsterm): Remove debugging println. + +2008-07-22 David Reitter + + * nsfns.m (do_applescript, F_do_applescript): NS version of the + Carbon implementation of the same functionality: execute arbitrary + AppleScript code. + +2008-07-21 Adrian Robert + + * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource) + (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size) + (Fx_server_vendor, Fx_server_version, Fx_display_screens) + (Fx_display_mm_height, Fx_display_mm_width) + (Fx_display_backing_store, Fx_display_visual_class) + (Fx_display_save_under, Fx_open_connection) + (Fx_close_connection, Fx_hide_emacs, Fx_font_name) + (Fx_list_colors, Fx_perform_service, Fx_color_defined_p) + (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p) + (Fx_display_pixel_width, Fx_display_pixel_height) + (Fx_display_usable_bounds, Fx_display_planes) + (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /* + ... */' style of docstrings. + +2008-07-21 Dan Nicolaescu + + * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used + on this platform. + (mips): + * m/iris4d.h (mips): Do not define. + * sysdep.c (init_sys_modes): Use __mips__ instead of mips. + + * m/ibmrs6000.h (LD_SWITCH_SITE): Remove. + + * image.c: + * nsfns.m: + * nsselect.m: + * nsterm.h: + * nsterm.m: Rename ns prefixed functions/variables to the + corresponding x versions. Update references. + + * m/ibms390x.h (NO_REMAP): Do not undefine. + + * m/amdx86-64.h: Use SOLARIS2 instead of sun. + +2008-07-21 Chong Yidong + + * nsfns.m: Change NS to Nextstep in docstrings and error messages. + (Fns_create_frame, Fns_read_file_name, Fns_get_resource) + (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size) + (Fns_server_vendor, Fns_server_version, Fns_display_screens) + (Fns_display_mm_height, Fns_display_mm_width) + (Fns_display_backing_store, Fns_display_visual_class) + (Fns_display_save_under, Fns_open_connection) + (Fns_close_connection, Fns_hide_emacs, Fns_font_name) + (Fns_list_colors, Fns_perform_service, Fns_color_defined_p) + (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p) + (Fns_display_pixel_width, Fns_display_pixel_height) + (Fns_display_usable_bounds, Fx_display_planes) + (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes. + +2008-07-21 Ami Fischman (tiny change) + + * print.c (print_object): Check print_depth before searching for + circularities. + +2008-07-21 Michael Albinus + + * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead + only sprintf. + +2008-07-21 Kenichi Handa + + * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL. + +2008-07-20 Andreas Schwab + + * syntax.c (find_start_pos, find_start_value) + (find_start_value_byte, find_start_begv, find_defun_start) + (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions. + +2008-07-20 Dan Nicolaescu + + * s/sol2-3.h: Insert contents of s/sol2.h. + (LD_SWITCH_SYSTEM): Remove redundant definition. + * s/sol2.h: Remove, unused. + +2008-07-20 Adrian Robert + + * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV. + +2008-07-20 Adrian Robert + + * Makefile.in (ns_appdir): Fix typo in find command. + +2008-07-20 Dan Nicolaescu + + * m/intel386.h (NO_REMAP): Do no define for USG, not used. + + * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was + added not supported anymore. + + * s/usg5-4-2.h (LIBS_SYSTEM): + * s/sol2.h (LIBS_SYSTEM): Do not undefine. + + * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF): + * s/lynxos.h (GETPGRP_NO_ARG): + * s/hpux10-20.h (NO_SIOCTL_H): + * s/gnu.h (GETPGRP_NO_ARG): + * s/gnu-linux.h (NO_SIOCTL_H): + * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF): + * s/cygwin.h (GETPGRP_NO_ARG): + * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused. + (C_DEBUG_SWITCH): Remove duplicate definition. + + * m/ibms390.h: Remove boilerplate comments. + + * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4. + + * process.c (HAVE_SERIAL): Consolidate ifdefs. + (wait_reading_process_output): Remove code for SunOS, platform not + supported anymore. Use SOLARIS2 instead of sun. + +2008-07-19 Adrian Robert + + * font.c (font_open_by_name): Under NS, default lface height to zero. + (font_open_for_lface): Under NS, set size based on frame fontsize. + * nsterm.m (EmacsView-changeFont:): Remove some commented code. + * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef. + +2008-07-19 Adrian Robert + + * nsterm.m (ns_antialias_text, ns_use_qd_smoothing) + (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to + DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of + YES/NO. + * nsterm.h (prevUseHighlightColor): Make a Lisp_Object. + * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object. + * Makefile.in (clean): Clear out build destination dir. + +2008-07-19 Adrian Robert + + * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns, + xterm, xselect. + * lisp.h: Remove declaration of hash_remove. + * nsgui.h: Remove redefinitions of hash_remove. + * fns.c (hash_remove): Rename to hash_remove_from_table. + +2008-07-19 Seiji Zenitani + + * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font): + strdup() the family UTF8String before modifying it. + +2008-07-19 Adrian Robert + + * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from + NS_FACE_BACKGROUND with 0 instead of nil. + * nsfont.m (nsfont_draw): Same. + +2008-07-19 Chong Yidong + + * nsfns.m (ns_set_background_color): Fix crash. + +2008-07-18 Chong Yidong + + * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc. + +2008-07-18 Dan Nicolaescu + + * puresize.h (BASE_PURESIZE): Increase to 1240000. + +2008-07-17 YAMAMOTO Mitsuharu + + * gtkutil.c: Include instead of "config.h". + + * lisp.h (Foverlay_buffer): Add EXFUN. + + * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for + child process to complete child_setup. Undo 2005-09-21 change. + + * s/darwin.h: Mention setsid after vfork. + +2008-07-17 YAMAMOTO Mitsuharu + + * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o): + Depend on macgui.h. + + * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor, + gestaltSystemVersionMinor, or gestaltSystemVersionBugFix. + + * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18, + and f19. + [MAC_OSX] (fn_keycode_to_keycode_table): Likewise. + + * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor) + (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]: + Remove enumerators. + + * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event): + Check if FACE_FROM_ID returns NULL. + +2008-07-17 David Robinow (tiny change) + + * w32inevt.c (change_frame_size): Remove extern declaration. + (resize_event, maybe_generate_resize_event): Pass SAFE arg to + change_frame_size. + +2008-07-17 Adrian Robert + + * getloadavg.c: Revert last change (2008-07-15). + +2008-07-17 Adrian Robert + + * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables + set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc set + from configure. + +2008-07-17 Dan Nicolaescu + + * s/sol2.h: + * s/sol2-4.h: Reorganize conditionals. + + * ecrt0.c: Remove code depending on m68000, not used anymore. + + * fns.c (hash_remove): Make static. + * lisp.h (hash_remove): Don't prototype. + + * m/ibmrs6000.h: + * m/ibms390x.h: + * m/macppc.h: Remove boilerplate comments. + + * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on + Solaris, which does not need them. + + * m/vax.h: Remove comments about unsupported systems. + + * s/darwin.h: Reorganize ifdefs. + +2008-07-17 Andreas Schwab + + * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define. + +2008-07-17 Stefan Monnier + + Use SDATA. Follow coding convention of placing operators at + beginning of next line rather than end of previous line, and placing + spaces around infix operators. + + * Makefile.in: Undef LIB_STANDARD before defining it to silence warning + in case it was defined already. + USE @GNUSTEP_MAKEFILES@ rather than envvars. + * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to + ns_default. + (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare + Lisp_Objects. + * nsterm.h (Fx_display_grayscale_p, Fx_display_planes) + (ns_defined_color, ns_color_to_lisp): Declare. + * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear) + (Fns_own_selection_internal): Make the big ugly hack more explicit, so + it's accepted even with USE_LISP_UNION_TYPE. + * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects. + (update_frame_tool_bar): Remove apparently obsolete tests for + non-integerness of f->tool_bar_lines. + (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly + hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE. + * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast. + (nsfont_open): Don't confuse NULL for Qnil. + * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects. + * menu.h (find_and_call_menu_selection): + * menu.c (find_and_call_menu_selection): Use just int for vector size. + (find_and_return_menu_selection): Always return something. + * frame.h: Include dispextern.h for Display_Info. + (display_x_get_resource): Declare. + +2008-07-16 Adrian Robert + + * syntax.c: Remove stdio.h include accidentally introduced in + Emacs.app commit. + * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to + NS_IMPL_COCOA. + * keyboard.c (handle_async_input, input_available_signal): Remove + BSD4_1 conditional code, introduced accidentally in Emacs.app commit. + +2008-07-16 Stefan Monnier + + * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead. + (ns_lisp_to_color): Don't mess with internal Lisp data fields. + (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts): + Use SDATA. + + * keymap.c: Remove all NS-specific code. + (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars. + (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to + where_is_preferred_modifier, return a different value depending on how + preferred is the binding. + (where_is_internal): Adjust accordingly. + (Fwhere_is_internal): Refresh where_is_preferred_modifier. + Adjust to new preferred_sequence_p. + (syms_of_keymap): Declare `where-is-preferred-modifier'. + * keyboard.c (parse_solitary_modifier): Not static any more. + * keyboard.h (parse_solitary_modifier): Declare. + +2008-07-16 Andreas Schwab + + * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling + of easymenu. + +2008-07-16 Chong Yidong + + * xdisp.c (move_it_in_display_line): Account for word wrap, so + that we don't move off the line. + +2008-07-16 Stefan Monnier + + * keyboard.c (Qsuper): Remove. + (parse_menu_item): Don't call where_is_internal specially for NS. + +2008-07-16 Dan Nicolaescu + + * s/gnu-linux.h: Remove boilerplate comments. + + * m/alpha.h (__ELF__): Consolidate conditions. + + * m/m68k.h (linux): Use GNU_LINUX instead. + Remove boilerplate comments. + + * m/intel386.h: Undo refactoring from previous change. + (LIB_STANDARD): All systems that define USG define LIB_STANDARD + too, remove dead code. + (linux): Use GNU_LINUX instead. + +2008-07-16 Jason Rumney + + * w32gui.h: Repeat 26 June changes lost by last change. + +2008-07-16 Dan Nicolaescu + + * systty.h: Remove code for Aix on 386, unsupported platform. + + * s/ms-w32.h: Remove boilerplate comments. + (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused. + + * s/gnu-linux.h (TERM): Remove support. + (HAVE_SYSVIPC): Remove, unused. + (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used + for this system. + + * process.c: Remove support for IRIS, unused. + Remove support for TERM, not relevant anymore. + + * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only + used with the definition. + + * s/aix4-2.h (static): Do not undef. + + * m/ibmrs6000.h: Remove code depending on USG5_4, this file is + only used on Aix. + (HAVE_SYSVIPC): Remove, unused. + + * m/hp800.h (CANNOT_DUMP): Do not undef. + + * m/alpha.h: Fix comment. + + * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused. + (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not + used by this configuration. + * emacs.c: Remove code depending on USG_SHARED_LIBRARIES. + * unexec.c: Remove code depending on HPUX and + USG_SHARED_LIBRARIES, not used with this file. Remove code + depending on IRIS, unused. Remove if 0-ed code. + + * s/template.h: Remove comments about static. + + * sysdep.c: Remove code depending on NEED_PTEM_H, unused. + Remove if 0-ed code. + (baud_convert): Don't depend on BAUD_CONVERT, all definitions the + were the same as the default. + * s/vms.h (BAUD_CONVERT): Remove, same as the default. + Remove boilerplate comments. + * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default. + (HAVE_SYSVIPC): Remove, unused. + (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore. + + * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default. + Remove boilerplate comments. + * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default. + Remove boilerplate comments. + * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default. + Remove boilerplate comments. + * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally. + + * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on + USG systems which do not use DATA_SEG_BITS. + Refactor code. Remove boilerplate comments. + + * m/ibms390.h: + * m/m68k.h: + * s/bsd-common.h: + * s/cygwin.h: + * s/darwin.h: + * s/freebsd.h: + * s/gnu.h: + * s/msdos.h: Remove boilerplate comments. + + * m/iris4d.h: Remove boilerplate comments and code for systems that + do not use this file. + (IRIS_4D): Remove, unused. + + * m/mips.h: Remove boilerplate comments and code for systems that + do not use this file. + (SIGN_EXTEND_CHAR): + * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused. + * unexmips.c: Remove file, unused. + + * editfns.c (Fuser_full_name): Replace the only use of + USER_FULL_NAME with its value. + * config.in: Regenerate. + +2008-07-16 David Reitter + + * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and + easy-menu to SOME_MACHINE_LISP for the new NeXTstep port. + +2008-07-16 Glenn Morris + + * emacs.c (system-type): Doc fix. + +2008-07-15 Stefan Monnier + + * keyboard.c (parse_menu_item): Don't use cachelist, even under NS. + If the cache doesn't work, let's fix it, rather than work around it. + +2008-07-15 Adrian Robert + + * Makefile.in: Correct additions for nsfont.o in last commit. + * nsfont.m: New file (forgot last commit). + +2008-07-15 Chris Hall (tiny change) + + * callproc.c (set_initial_environment): + Initialize Vprocess_environment under CANNOT_DUMP (fixes crash when + batch-compiling for bootstrap). + +2008-07-15 Chris Hall (tiny change) + YAMAMOTO Mitsuharu + + * frame.c (make_initial_frame): Call init_frame_faces(f) in + CANNOT_DUMP case -- fix crash due to different init order. + +2008-07-15 Adrian Robert + + Changes and additions for NeXTstep windowing system (Cocoa and + GNUstep) support. + + * Makefile.in: + * config.in: Support defines and build commands for NS port. + * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT) + (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G. + * dispextern.h: Include nsgui.h and add needed typedefs under NS + windowing. + (struct face): Add synth_ital field. + * dispnew.c: Include nsterm.h when compiling under NS windowing. + (init_display): Initialize Vinitial_window_system to "ns" when so + compiled. + * emacs.c: Include GSConfig.h when compiling under GNUstep. + (display_arg): Use under NS. + (main): Under NS, allocate autorelease pool and handle command line + args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS. + (standard_args): Add NS-specific args. + (shut_down_emacs): Shut down NS terminal if compiled under NS. + * font.c (DEFAULT_ENCODING): New variable. + (font_find_for_lface): Use it. + (syms_of_font): Load syms_of_nsfont under NS. + * font.h: Declare nsfont_driver when compiled under NS. + * fontset.c: When compiling under NS, include nsterm.h. + (fontset_from_font): Autoconstruct fontset under NS. + * frame.c (various): Under NS, include nsterm.h, add Qns window system + symbol, document and use it. + (do_switch_frame): When for_deletion under Cocoa, add + Fraise_frame(Qnil). + (x_set_frame_parameters): Ensure font attribute changes are picked up. + (x_get_arg): Allow "yes" and "no" as boolean values. + (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to + Qright under Cocoa. + (focus-follows-mouse): Default to 0 under NS. + * frame.h (enum output_method): Add output_ns. + (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR) + (FRAME_EXTERNAL_MENU_BAR): Use under NS. + (FRAME_WINDOW_P): NS-specific definition. + * fringe.c (max_used_fringe_bitmap): Make public. + * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's. + (getloadavg): Use NeXT code under descendant OS's. + * image.c (includes and header section, x_create_bitmap_from_data) + (x_create_bitmap_from_file, free_bitmap_record, image_background) + (image_background_transparent, x_clear_image_1) + (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image) + (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color) + (x_to_xcolors, x_from_xcolors, x_disable_image) + (x_build_heuristic_mask, syms_of_image): Add NS support parallel to + other GUIs, including XPM support using code originally written for + Carbon GUI. + (png_load, jpeg_load, tiff_load, gif_load): Add implementations + using NS API. + (image_ascent): Use font metrics macros instead of direct struct field + access. + * keyboard.c (includes): Add nsterm.h when compiling under NS. + (kbd_buffer_get_event): Handle NS as other GUI windowing systems. + Also, handle NS as GTK for menu bar purposes. + (make_lispy_event): Handle NS as other GUI windowing systems, and as X + toolkit where they differ. + (parse_menu_item): Prefer keybindings using 'super' modifier. Also, + use cachelist, still needed under NS. + * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI. + (struct widget_value): Define it here for menu.c. + * keymap.c (includes): Include modifier internals. + (lisp_to_mod, modifier_sequence_p): New functions, compiled only under + NS. + (where_is_internal, Fwhere_is_internal): When compiled under NS, add + support for preferring sequences using certain modifiers, specified by + the FIRSTONLY argument. + * lisp.h (hash_remove): Rename to avoid name clash when compiling + under NS GNUstep implementation. + (USE_LSB_TAG): Use it under Cocoa when compiling under NS. + * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning. + * menu.c: Include nsterm.h under NS. + (single_menu_item, parse_single_submenu, xmalloc_widget_value) + (free_menubar_widget_tree_value, update_submenu_strings) + (find_and_call_menu_selection): Treat NS as X and NT. + (find_and_return_menu_selection): New function, used for popup menus. + * nsgui.h: + * nsterm.h: + * nsfns.m: + * nsimage.m: + * nsmenu.m: + * nsselect.m: + * nsterm.m: New files. + * process.c (wait_reading_process_output): Under NS, call ns_select() + instead of plain select(). + * syntax.c (char_quoted): Under NS, avoid a crash when called near + beginning of buffer. + * sysselect.h (init_process): Rename when compiling under Cocoa to + avoid name conflict. + * termhooks.h (display_info): Add ns_display_info to union. + * terminal.c (Fterminal_live_p): Add ns to terminal types. + * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in + COCOA environment. + * unexnext.c: Update to work with mach API on Mac OS X, and to use new + unexec() signature. (Note, this will dump, but the resulting file + crashes; unexosx is used instead; keeping around for reference and + possible aid in getting dump working under GNUstep.) + * w32gui.h (button_type, widget_value): Remove definitions (now in + keyboard.h). + * window.c: Include nsterm.h when compiling under NS. + * xdisp.c (includes): Include nsterm.h when compiling under NS. + (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as + other GUI windowing systems. + (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as + GTK. + (x_consider_frame_title): Under NS, set icon type and frame + modified-state indicator; use ns_set_name_as_filename() when using + formatted title. + (update_window_cursor): Make public when compiling under NS. + (display_hourglass_p, syms_of_xdisp, hourglass_shown_p) + (hourglass_atimer, Vhourglass_delay + * xfaces.c (header section, init_frame_faces, clear_font_table) + (defined_color, unload_color, x_face_list_fonts) + (prepare_face_for_display): Add NS support parallel to other GUIs. + Emulate GCs like other non-X GUIs. + (split_font_name): Don't lowercase font name under NS. + (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling + under NS. + * s/darwin.h: Add support for compilation under NS. + +2008-07-15 Jason Rumney + + * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect. + (w32_show_hourglass): Rename from show_hourglass. + (w32_hide_hourglass): Rename from hide_hourglass. + (DEFAULT_HOURGLASS_DELAY): Revert from last change. + (Vhourglass_delay): Declare extern. + (hourglass_started): Remove. + + * xdisp.c (Vhourglass_delay): Remove static. + (hourglass_started, start_hourglass, cancel_hourglass): + Don't include these versions on WINDOWSNT. + +2008-07-15 Adrian Robert + + * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern + variables (formerly in xfns.c). + (show_hourglass, hide_hourglass): New prototypes (same). + * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer) + (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly + in xfns.c). + (syms_of_xdisp): Declare/initialize display-hourglass, + hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p. + (hourglass_started, start_hourglass, cancel_hourglass): New functions, + formerly in xfns.c. + * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p) + (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started) + (start_hourglass, cancel_hourglass): Remove. + (show_hourglass, hide_hourglass): Remove prototypes and static + modifiers. + (syms_of_xfns): Remove display-hourglass, hourglass-delay, + hourglass_atimer, hourglass_shown_p declaration/initialization. + * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p) + (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started) + (start_hourglass, cancel_hourglass): Remove. + (show_hourglass, hide_hourglass): Remove prototypes and static + modifiers. + (syms_of_macfns): Remove display-hourglass, hourglass-delay, + hourglass_atimer, hourglass_shown_p declaration/initialization. + * w32fns.c (display_hourglass_p, Vhourglass_delay) + (DEFAULT_HOURGLASS_DELAY): Remove. + (syms_of_w32fns): Remove display-hourglass, hourglass-delay, + hourglass_shown_p declaration/initialization. + +2008-07-14 Jason Rumney + + * w32fns.c (w32_get_arg): Remove wrapper function. + (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg + directly. + (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly. + +2008-07-14 Kenichi Handa + + * xfont.c (xfont_open): Add workaround for X's bug. + +2008-07-14 Emanuele Giaquinta (tiny change) + + * fontset.c: Include unconditionally. + +2008-07-13 Michael Albinus + + * dbusbind.c (Fdbus_register_signal): Allow also signal arguments + for filtering. + +2008-07-13 Dan Nicolaescu + + * s/vms.h: Use __GNUC__ instead of _GNUC_. + + * m/macppc.h: + * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals. + + * m/ibms390x.h (XINT, XUINT): Don't define, same as the default. + (SPECIAL_EMACS_INT): + * m/ia64.h (SPECIAL_EMACS_INT): + * m/amdx86-64.h (SPECIAL_EMACS_INT): + * s/gnu.h (NLIST_STRUCT): + * s/aix4-2.h (X11R5_INHIBIT_I18N): + * s/gnu-linux.h (LINUX): + * s/msdos.h (HAVE_FACES): + * s/ms-w32.h (HAVE_FACES): Don't define, unused. + + * systty.h: + * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used + anymore. + +2008-07-12 Dan Nicolaescu + + * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was + always defined as int. + + * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT): + * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT): + * s/gnu-linux.h (HAVE_WAIT_HEADER): + * s/freebsd.h (HAVE_WAIT_HEADER): + * s/bsd-common.h (HAVE_UNION_WAIT): + * s/aix4-2.h (HAVE_WAIT_HEADER): + * m/mips.h (HAVE_UNION_WAIT): + * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used. + (COFF, static): Do not define, they are undefined later in the file. + + * process.c (update_status): Don't use a union. + (status_convert): + (sigchld_handler): Use int instead of WAITTYPE. + +2008-07-12 Chong Yidong + + * indent.c (Fvertical_motion): Restore hscroll before moving to + goal column. + +2008-07-11 Dan Nicolaescu + + * lisp.h: Remove left over code. + +2008-07-11 Andreas Schwab + + * lisp.h: Fix logic in last change. + + * menu.h: New file. + * menu.c: Include it. + * xmenu.c: Likewise. + * Makefile.in: Update dependencies. + +2008-07-11 Kenichi Handa + + * fontset.c (fontset_from_font): Cancel the previous change. + +2008-07-11 Dan Nicolaescu + + * lisp.h: + * w32heap.c: + * emacs.c: + * alloc.c: Replace all references of NO_UNION_TYPE with + USE_LISP_UNION_TYPE. + + * m/xtensa.h (NO_UNION_TYPE): + * m/vax.h (NO_UNION_TYPE): + * m/template.h (NO_UNION_TYPE): + * m/sparc.h (NO_UNION_TYPE): + * m/mips.h (NO_UNION_TYPE): + * m/macppc.h (NO_UNION_TYPE): + * m/m68k.h (NO_UNION_TYPE): + * m/iris4d.h (NO_UNION_TYPE): + * m/intel386.h (NO_UNION_TYPE): + * m/ibms390x.h (NO_UNION_TYPE): + * m/ibms390.h (NO_UNION_TYPE): + * m/ibmrs6000.h (NO_UNION_TYPE): + * m/ia64.h (NO_UNION_TYPE): + * m/hp800.h (NO_UNION_TYPE): + * m/arm.h (NO_UNION_TYPE): + * m/amdx86-64.h (NO_UNION_TYPE): + * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were + defining it the same. + +2008-07-10 Chong Yidong + + * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line. + +2008-07-10 Dan Nicolaescu + + * fileio.c: + * sysdep.c: + * systty.h: + * m/ibmrs6000.h: + * m/iris4d.h: + * s/aix4-2.h: + * s/freebsd.h: + * s/gnu-linux.h: + * s/hpux10-20.h: + * s/hpux11.h: + * s/netbsd.h: + * s/sol2-3.h: + * s/sol2-4.h: + * s/sol2.h: + * s/usg5-4.h: + * s/vms.h: Remove references to unused variables. + +2008-07-10 Andreas Schwab + + * ftfont.c (ftfont_resolve_generic_family): Remove foundry from + pattern before matching the generic family. + +2008-07-10 Dan Nicolaescu + + * unexec.c: + * s/vms.h: + * s/usg5-4-2.h: + * s/sol2-5.h: + * s/freebsd.h: + * s/darwin.h: Remove dead code. + + * m/template.h: + * m/sparc.h: + * m/mips.h: + * m/m68k.h: + * m/iris4d.h: + * m/intel386.h: + * m/ibms390x.h: + * m/ibms390.h: + * m/ia64.h: + * m/hp800.h: + * m/arm.h: + * m/amdx86-64.h: Remove dead code and references to unused + and compiler defined symbols. + + * unexmips.c: + * unexelf.c: Remove references to desupported systems. + + * m/powermac.h: Remove file, it is now identical to m/macppc.h. + + * m/powermac.h: Remove boilerplate comments. + (NO_REMAP): Remove unused definition. + + * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files + define them. + +2008-07-10 Kenichi Handa + + * xfont.c (xfont_open): Log the reason of failure. + +2008-07-09 Stefan Monnier + + * fontset.c (fontset_get_font_group): + * font.c (font_check_otf): Specify argument types. + +2008-07-09 Kenichi Handa + + * coding.c (detect_coding_utf_8): Set detect_info->found only when + non-ASCII char is found. + + * fontset.c (fontset_compare_rfontdef): Fix plus/minus. + (reorder_font_vector): Change the arg preferred_family to font. + Prefer the spec matching with font. + (fontset_get_font_group): New function. + (fontset_find_font): Change the format of an element of a realized + fontset. Use fontset_get_font_group. + (fontset_font): Try the current fontset, the default fontset, the + fallbacks of the current fontset, and the fallbacks of the default + fontset in this order. + (face_for_char): Delete the shortcut to use the current font. + (fontset_from_font): Don't set fonts for Latin in the fontset. + + * font.h (font_make_object, font_match_p): Adjust prototypes. + + * ftfont.h [FT_BDF_H]: Include FT_BDF_H. + + * font.c (font_make_object): New arg entity and pixelsize. + (font_check_otf_features, font_check_otf): New functions. + (font_match_p): Check :lang, :script, and :otf properties. + + * xfont.c (xfont_open): Adjust it for the change of + font_make_object. + (xfont_text_extents): Fix initial setting of metrics. + + * ftfont.c (struct ftfont_info): New member index, delete member + fc_charset_idx. Make the member order compatible with struct + xftfont_info. + (fc_charset_table): Change charset names to registry names. + (ftfont_pattern_entity): Delete the args registry and + fc_charset_idx. Change the value of :font-entity property + to (FONTNAME . INDEX). Always set :registry property to + `iso10646-1'. + (struct ftfont_cache_data): New struct. + (ftfont_lookup_cache): New arg for_face. + (ftfont_get_fc_charset, ftfont_get_otf): New functions. + (ftfont_driver): Set the member otf_capability. + (ftfont_get_charset): Adjust it for the change of + fc_charset_table. + (OTF_TAG_SYM): New macro. + (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it + for the change of fc_charset_table. + (ftfont_list): Adjust it for the change of ftfont_spec_pattern and + ftfont_pattern_entity. Add FC_INDEX to objset. + (ftfont_match): Adjust it for the change of ftfont_spec_pattern + and ftfont_pattern_entity. + (ftfont_open): Adjust it for the change of ftfont_lookup_cache, + font_make_object, struct ftfont_info. + (ftfont_has_char): Use ftfont_get_fc_charset. + (ftfont_otf_features, ftfont_otf_capability): New functions. + (ftfont_shape): Use ftfont_get_otf. + (ftfont_text_extents): Fix initial setting of metrics. + + * xftfont.c (struct xftfont_info): New member ft_size. Make the + member order compatible with struct ftfont_info. + (xftfont_open): Add FC_CHARSET to the pattern. + Set xftfont_info->ft_size. Don't unlock the face. Check BDF + properties if appropriate. + (xftfont_close): Unlock the face. + (xftfont_anchor_point, xftfont_shape): Delete. + (syms_of_xftfont): Don't set members anchor_point and shape of + xftfont_driver. + + * w32uniscribe.c (uniscribe_open): Adjust it for the change of + font_make_object. + + * w32font.c (w32font_open): Adjust it for the change of + font_make_object. + (w32font_open_internal): Don't set properties of font_object here. + +2008-07-08 Chong Yidong + + * macfns.c (x_create_tip_frame): + * w32fns.c (x_create_tip_frame): + * xfns.c (x_create_tip_frame): Pass parameter argument to + face-set-after-frame-default. + + * xfaces.c (Finternal_merge_in_global_face): Save merged + attributes for the default face back into the face vector. + +2008-07-08 Andreas Schwab + + * fontset.h: Declare fontset_from_font. Don't declare + new_fontset_from_font and fontset_from_font_name. + * xterm.c: Include "fontset.h". + * Makefile.in (xterm.o): Update dependencies. + +2008-07-08 Glenn Morris + + * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.) + * alloc.c, ecrt0.c: Use __sparc__ rather than sparc. + +2008-07-07 Chong Yidong + + * frame.c (Qinhibit_face_set_after_frame_default): Var deleted. + (x_set_frame_parameters): Don't bind it. + +2008-07-07 Juanma Barranquero + + * w32fns.c (map_w32_filename): Declare extern. + +2008-07-07 Jason Rumney + + * w32term.c (WS_EX_LAYERED): Define if not already. + +2008-07-06 Chong Yidong + + * xfaces.c (set_font_frame_param): Don't try to set the font + parameter if it is still unspecified in the lface. + +2008-07-05 Chong Yidong + + * xfaces.c (Finternal_merge_in_global_face): Don't realize default + face if it didn't already exist. + + * xdisp.c (try_window_id): Give up if word-wrapping is on. + +2008-07-05 Andreas Schwab + + * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section. + +2008-07-05 Chong Yidong + + * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if + word-wrapping. + (IT_DISPLAYING_WHITESPACE): New macro. + (move_it_in_display_line_to): Handle MOVE_TO_X requests properly + when word-wrapping. Simplify word-wrapping logic. Use correct + pixel positions when saving copies of the iterator. + (display_line): Use proper wrap point if the last character on a + line was preceded by whitespace. + +2008-07-04 Stefan Monnier + + * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}. + +2008-07-04 Kenichi Handa + + * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1. + + * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte. + +2008-07-02 Jason Rumney + + * xfns.c (syms_of_xfns): Only define x-select-font when both + HAVE_FREETYPE and USE_GTK. + + * xdisp.c (next_element_from_display_vector): Move assignment out + of if statement. + +2008-07-02 Toru Tsuneyoshi + + * lisp.h (Qdelete_file, Qdelete_directory): Declare extern. + + * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars. + (syms_of_fileio): Initialize and export them. + (Fdelete_directory, Fdelete_file): Optionally delete via trash. + + * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already. + (Fsystem_move_file_to_trash): New function. + (syms_of_w32fns): Export it to lisp. + +2008-07-01 Jason Rumney + + * w32font.c (w32font_text_extents): Don't count overhang as part + of width. + +2008-06-30 Miles Bader + + * dispextern.h (struct glyph, struct it, struct iterator_stack_entry): + Add `avoid_cursor_p' field. + + * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field. + (set_cursor_from_row): Skip glyphs with avoid_cursor_p set. + (append_glyph, append_composite_glyph, produce_image_glyph) + (append_stretch_glyph): Initialize avoid_cursor_p. + (get_it_property): Rename from `get_line_height_property'. + (x_produce_glyphs): Use get_it_property. + (handle_line_prefix, push_display_prop): New functions. + (display_line, move_it_in_display_line_to): Handle line/wrap prefixes. + (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix): + New variables. + (syms_of_xdisp): Initialize them. + +2008-06-30 Kenichi Handa + + * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and + XftDefaultSubstitute (they are called in XftFontMatch). + (xftfont_open): Fix args to ftfont_font_format. + + * ftfont.c (fc_charset_table): New member lang. + (ftfont_resolve_generic_family): New arg pattern. + (ftfont_spec_pattern): Check fc_charset_table[]->lang. + (ftfont_list): Call ftfont_resolve_generic_family with `pattern'. + (ftfont_open): Fix args to ftfont_font_format. + (ftfont_font_format): New arg filename. + +2008-06-30 Chong Yidong + + * xfaces.c (Finternal_merge_in_global_face): If default face was + modified, realize it again. Update the font face attribute. + +2008-06-29 Jason Rumney + + * w32term.c (x_set_frame_alpha): Fix logic. + +2008-06-29 Kenichi Handa + + * fontset.c (Finternal_char_font): Return font-object instead of + font-name. + + * composite.c (get_composition_id): Fix the width calculation for TAB. + +2008-06-29 Stefan Monnier + + * indent.c (Fvertical_motion): Properly handle float column arg. + +2008-06-28 Jason Rumney + + * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer. + (pfnSetLayeredWindowAttributes): New function pointer. + (w32_initialize): Initialize it when supported. + (x_set_frame_alpha): New function. + + * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'. + (w32_frame_parm_handlers): Set alpha handler. + + * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha. + +2008-06-27 Jason Rumney + + * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight) + (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions. + (w32_to_x_charset, x_to_w32_charset) + (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default) + (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab) + (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem) + (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic) + (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek) + (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai) + (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c. + (Qw32_charset_unicode): Remove. + (syms_of_w32fns): Update for above changes. + + * w32font.c (w32_to_x_charset, x_to_w32_charset) + (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default) + (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab) + (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem) + (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic) + (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek) + (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai) + (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c. + (syms_of_w32font): Update for above changes. + +2008-06-27 Dan Nicolaescu + + * s/usg5-4.h: Fix previous change: keep the correct branch of a + removed #if. + (USG_SHARED_LIBRARIES): Remove duplicate definition. + +2008-06-26 Juanma Barranquero + Eli Zaretskii + + * makefile.w32-in (LOCAL_FLAGS): + Don't include WINDOWSNT, DOS_NT and _UCHAR_T. + + * sysdep.c (_spawnlp, _getpid): + Declare with explicit _cdecl instead of _CRTAPI1. + + * editfns.c (Fget_internal_run_time): + Check for WINDOWSNT with #ifdef, not #if. + +2008-06-26 Jason Rumney + + * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros. + + * w32term.c (x_draw_glyph_string_foreground) + (x_draw_composite_glyph_string_foreground): Sync with xterm.c. + Use FONT_HANDLE macro. + (x_draw_glyph_string): Use FONT_TEXTMETRIC macro. + + * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape) + (uniscribe_encode_char): Use FONT_HANDLE macro. + + * w32font.c (Fx_select_font): Use FONT_HANDLE macro. + (w32font_text_extents): Use precast w32_font. + (w32font_close): Free cached metrics. + (w32font_open_internal): Allocate space for name on stack. + +2008-06-26 Chong Yidong + + * xdisp.c (extend_face_to_end_of_line): Fix last change. + +2008-06-26 Jason Rumney + + * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro. + (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants. + +2008-06-26 Juanma Barranquero + + * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o. + +2008-06-26 Jason Rumney + + * w32bdf.c, w32bdf.h: Remove obsolete files. + + * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c. + + * w32gui.h: Don't include w32bdf.h. + (XCharStruct, enum w32_char_font_type, W32FontStruct): + Remove obsolete font support. + + * w32font.h (struct w32font_info): Remove compat_w32_font. + Add hfont member. + (FONT_COMPAT): Remove obsolete macro. + + * w32font.c (w32font_close): Remove compat code. Delete hfont member. + (w32font_encode_char, w32font_text_extents): Use new hfont member. + (w32font_open_internal): Remove compat code. Set new hfont member. + (Fx_select_font): Use new hfont member. + + * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape) + (uniscribe_encode_char): Use new hfont member. + + * w32term.c (x_draw_glyph_string_foreground) + (x_draw_composite_glyph_string_foreground): Use new hfont member. + (x_draw_glyph_string): Use metrics in w32font_info. + +2008-06-26 Kenichi Handa + + * xdisp.c (handle_auto_composed_prop): Fix for the terminal case. + +2008-06-26 Dan Nicolaescu + + * unexnext.c: + * m/ews4800.h: + * m/hp9000s300.h: + * m/ibm370aix.h: + * m/mips-siemens.h: + * m/ncr386.h: + * m/next.h: + * m/pmax.h: + * m/powerpcle.h: + * m/tandem-s2.h: + * s/386bsd.h: + * s/bsd386.h: + * s/bsd4-1.h: + * s/bsd4-2.h: + * s/bsdos2-1.h: + * s/bsdos2.h: + * s/bsdos3.h: + * s/bsdos4.h: + * s/nextstep.h: + * s/ultrix4-3.h: + * s/usg5-0.h: + * s/usg5-2-2.h: + * s/usg5-2.h: + * s/usg5-4-3.h: + * s/ux4800.h: + * s/uxpds.h: + * s/uxpv.h: Remove support for obsolete systems. + * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h: + Remove, insert contents in s/hpux10-20.h. + * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h: + Remove, insert contents in s/aix4-2.h. + * s/usg5-3.h: Remove, insert contents in s/usg5-4.h. + * s/bsd4-3.h: Rename to ... + * s/bsd-common.h: ... this. + * data.c: + * doc.c: + * ecrt0.c: + * emacs.c: + * fileio.c: + * floatfns.c: + * keyboard.c: + * mem-limits.h: + * print.c: + * process.c: + * sysdep.c: + * syssignal.h: + * systty.h: + * syswait.h: + * term.c: + * unexec.c: + * unexelf.c: + * unexhp9k800.c: + * m/hp800.h: + * m/ibmrs6000.h: + * m/mips.h: + * m/vax.h: + * s/darwin.h: + * s/freebsd.h: + * s/gnu.h: + * s/ms-w32.h: + * s/msdos.h: + * s/netbsd.h: + * s/template.h: Remove references to obsolete variables. + + * Makefile.in: Add dependencies for all unexec files. + (admindir): Remove unused variable. + (UNEXEC_SRC): Remove references. + +2008-06-25 Chong Yidong + + * xfns.c (x_default_font_parameter): If Xft is available, first + try Monospace-12 for the default font. + +2008-06-25 Jason Rumney + + * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0. + +2008-06-25 Stefan Monnier + + * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile. + + * buffer.c (syms_of_buffer): Remove default-word-wrap. + +2008-06-25 Juanma Barranquero + + * xdisp.c (syms_of_xdisp) : Doc fix. + : Fix typo in docstring. + + * xselect.c (Fx_send_client_event): Doc fix. + +2008-06-25 Kenichi Handa + + * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER. + + * font.c (font_parse_fcname): Remove unused variables. + (font_sort_entites): Delete the arg SPEC. Caller changed. + Fix for the case of ! best_only. + (font_delete_unmatched): Check DPI and AVGWIDTH too. + + * lisp.h (Fstring_to_unibyte): EXFUN it. + + * character.h (str_to_unibyte): Extern it. + + * character.c (str_to_unibyte): New function. + + * fns.c (Fstring_to_unibyte): New function. + (syms_of_fns): Defsubr it. + +2008-06-24 Kenichi Handa + + * font.c (font_score): Even if the PIXEL_SIZE is the same, check + DPI too. + (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too. + +2008-06-24 Andreas Schwab + + * Makefile.in (${lispsource}loaddefs.el): Rename from + ../lisp/loaddefs.el. + (bootstrap-clean): Do what distclean does but don't remove + Makefile. + (distclean): Depend on bootstrap-clean and remove Makefile. + +2008-06-24 Chong Yidong + + * buffer.h (struct buffer): New member word_wrap. + + * buffer.c (syms_of_buffer): New variables default-word-wrap and + word-wrap. + (init_buffer_once): Initialize them. + + * dispextern.h (struct it): Replace bool truncate_lines_p with a + line_wrap enum possessing three possible values. + + * termopts.h: Replace truncate_partial_width_windows with + Vtruncate_partial_width_windows. + + * dispnew.c (direct_output_for_insert): Avoid direct output when + inserting a space with word wrap on. + + * indent.c (compute_motion): Obey integer values of + truncate-partial-width-windows. + + * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object, + replacing truncate_partial_width_windows. + (init_iterator): If Vtruncate_partial_width_windows is an integer, + truncate only if the window width is below that integer. + (start_display, resize_mini_window, produce_stretch_glyph) + (display_string, move_it_in_display_line_to): Use line_wrap. + (back_to_previous_visible_line_start, reseat_1): + Reset string_from_display_prop_p. + (display_line): Extend default face to end of line when wrapping. + +2008-06-24 Kim F. Storm + + * xdisp.c (display_line, move_it_in_display_line_to): Add ability + to wrap continued lines at word boundaries. + +2008-06-24 Jason Rumney + + * font.c (Ffont_face_attributes): Multiply pixel size before point + conversion to avoid multiplying rounding error. + +2008-06-23 Jason Rumney + + * w32term.c (x_draw_glyph_string_background) + (x_draw_glyph_string): Remove old bdf font code. + + * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove. + +2008-06-22 Kenichi Handa + + * font.c (font_find_for_lface): Try the adstyle specified in + the property of LFACE_FONT of LFACE (if any). + +2008-06-21 Seiji Zenitani + Ryo Yoshitake + + * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437. + +2008-06-22 Stefan Monnier + + * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el): + Use $(BOOTSTRAPEMACS) rather than witness-emacs. + (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it. + (witness-emacs): Remove. + (lisp, shortlisp): Move loaddefs.el earlier. + (mostlyclean): Forget about witness-emacs. + +2008-06-22 Glenn Morris + + * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}. + (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes. + +2008-06-21 Stefan Monnier + + * Makefile.in (PRECOMP): Remove. + (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP. + (witness-emacs): Run `compile-first'. + (.el.elc): Use the new compile-onefile target. + +2008-06-21 Kenichi Handa + + * xftfont.c (xftfont_open): Handle QCembolden only when + FC_EMBOLDEN is defined. + +2008-06-21 Andreas Schwab + + * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource). + (.el.elc): Likewise. + +2008-06-21 Miles Bader + + * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp + build dir, not the lisp source dir. + +2008-06-21 Stefan Monnier + + * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs. + (bootstrapclean): Remove. + (.el.elc): New rule. + (PRECOMP): New var. + (../lisp/subdirs.el): Remove. + (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency. + (witness-emacs): New target. + (mostlyclean): Remove witness-emacs as well. + (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}): + Add witness-emacs dependency. + +2008-06-20 Chong Yidong + + * font.c (Ffont_face_attributes): Omit key-attribute pairs not + defined by the font. + +2008-06-20 Stefan Monnier + + * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files. + (bootstrap-clean): New target that keeps TAGS around. + (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets. + (bootstrap-emacs${EXEEXT}): Depend on subdirs.el. + +2008-06-20 Jason Rumney + + * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]: + Remove obsolete font code. + + * w32font.c (font_matches_spec): Use csb bitfield from font signature + to determine language support. + +2008-06-20 Stefan Monnier + + * sysdep.c (cfsetspeed): New fun extracted from the code. + (cfmakeraw): Move before first use. + +2008-06-20 Angelo Graziosi (tiny change) + + * sysdep.c (cfmakeraw): Provide fallback implementation. + (serial_configure): Provide fallback implementation of cfsetspeed. + +2008-06-20 Kenichi Handa + + * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to + the pattern. + + * fontset.c (fontset_from_font): Copy font_spec before changing + the elements. + + * xfns.c (x_default_font_parameter): Try "monospace-12" too. + +2008-06-20 Stefan Monnier + + * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param' + for explicit `font' parameters. + + * frame.c (x_set_font): Remove unexplained call to fix inf-recursion. + +2008-06-19 Kenichi Handa + + * frame.c: Include . + (x_set_font_backend): Allow spacing characters in the X resource + for FontBackend. + +2008-06-19 Stefan Monnier + + * w32fns.c, xfns.c (Qfont_param): New var. + (syms_of_w32fns): Initialize it. + (x_default_font_parameter): Record explicit `font' into + `font-parameter'. + +2008-06-18 Kenichi Handa + + * font.c (font_parse_xlfd): Fix previous change. + (font_parse_fcname): Don't use :fc-unknown-spec. + (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height. + (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA. + (font_add_log): Prepend the driver name to the resulting fonts. + + * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed. + (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname. + (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset. + + * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba) + (QCembolden): New variables. + (syms_of_xftfont): DEFSYM them. + (xftfont_open): Call XftFontMatch. Don't trust the result of + XftTextExtents8 if the pixel_size is less than 5. + +2008-06-18 Andreas Schwab + + * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM. + (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM. + +2008-06-18 Jason Rumney + + * w32font.c (w32font_list, w32font_match): Add logging. + + * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging. + +2008-06-17 Chong Yidong + + * font.c (font_parse_fcname): Store divider characters for + unknown-spec list. For known key symbols, intern using correct + symbol name. + +2008-06-17 Kenichi Handa + + * xfaces.c (realize_default_face): If the frame is not on window + system, set the fontset of face to nil. + +2008-06-17 Naohiro Aota (tiny change) + + * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters. + +2008-06-16 Juanma Barranquero + + * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector) + (build_font_name_from_vector): Delete externs. + + * xfaces.c (struct font_name): Don't declare. + +2008-06-16 Stefan Monnier + + * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects. + +2008-06-16 Chong Yidong + + * font.c (font_parse_fcname): Fix handling of unknown-spec string. + +2008-06-16 Juanma Barranquero + + * font.c (Ffont_spec): Fix usage in docstring. + (Ffont_face_attributes): Doc fix. + +2008-06-16 Andreas Schwab + + * font.c (Ffont_face_attributes): Fix definition. + +2008-06-16 Jason Rumney + + * font.h (font_style_symbolic_from_value): Remove. + + * font.c (font_style_symbolic_from_value): Remove. + (font_style_symbolic): Revert to pre 2008-06-13 version. + + * w32font.c (w32_to_fc_weight): New function. + (w32font_full_name, logfont_to_fcname): Use it. + +2008-06-16 Kenichi Handa + + * font.c (font_check_object): Delete it. + (font_clear_cache): Check if a font-object is alive. + (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a + font-object to nil. + (font_close_object): Don't check FONT_CLOSE_OBJECT. + (font_at): Don't call font_check_object. + (Ffont_get): Return a symbol for :weight, :slant, and :width. + +2008-06-16 Katsumi Yamaoka + + * puresize.h (BASE_PURESIZE): Increase to 1230000. + +2008-06-16 Chong Yidong + + * font.c (font_parse_fcname): Correctly parse KEY=VAL values. + +2008-06-15 Chong Yidong + + * font.c (font_parse_fcname): Only one decimal point. + (font_unparse_fcname): Handle data in family and foundry indices + as symbols, not strings. + (font_unparse_gtkname, Ffont_face_attributes): New functions. + + * xfns.c (Fx_select_font): Give GTK font dialog the default font name. + + * font.h (font_unparse_gtkname): Add prototype. + +2008-06-15 Naohiro Aota (tiny change) + + * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern. + +2008-06-15 Andreas Schwab + + * font.c (font_update_drivers): Fix crash when no drivers match. + +2008-06-15 Stefan Monnier + + * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk. + * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width. + +2008-06-14 Stefan Monnier + + * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1. + +2008-06-13 Stefan Monnier + + * process.c (Fserial_process_configure, Fprocess_send_eof): + Use EQ to compare Lisp_Objects. + +2008-06-13 Jason Rumney + + * w32fns.c (Fw32_select_font): Remove old font API function. + + * w32font.c (logfont_to_fcname): New function. + (Fx_select_font): New font dialog function compatible with + GTK/fontconfig version. + + * font.c (font_style_symbolic_from_value): New function. + (font_style_symbolic): Use it. + + * font.h (font_style_symbolic_from_value): Declare new function. + +2008-06-13 Juanma Barranquero + + * font.c (syms_of_font) : + : Fix typos in docstrings. + +2008-06-13 Daniel Engeler + + These changes add serial port access. + * process.c: Add HAVE_SERIAL. + (Fdelete_process, Fprocess_status, Fset_process_buffer) + (Fset_process_filter, Fset_process_sentinel, Fprocess_contact) + (list_processes_1, select_wrapper, Fstop_process) + (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes) + (status_notify): Modify to handle serial processes. + [HAVE_SERIAL] (Fserial_process_configure) + [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process): + New functions. + * process.h (struct Lisp_Process): Add `type'. + * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure): + New functions. + * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle + serial ports. + (serial_open, serial_configure): New functions. + * w32.h: Add FILE_SERIAL. + (struct _child_process): Add ovl_read, ovl_write. + +2008-06-13 Kenichi Handa + + * dispextern.h (enum lface_attribute_index): New member + LFACE_FOUNDRY_INDEX. + + * font.c (font_score): Delete arg alternate_families. Check only + weight, slant, width, and size. Ignore the difference of alias + style symbols. + (font_sort_entites): Adjust for the above change. Reflect the + order of font-driver to scores. + (font_list_entities): Don't check alternate_familes here. + (font_clear_prop): Handle foundry. + (font_update_lface): Don't parse "foundry-family" form here. + Handle FONT_FOUNDRY_INDEX. + (font_find_for_lface): Likewise. Handle alternate families here. + If registry is nil, try iso8859-1 and ascii-0. + (font_open_for_lface): Pay attention to size in ENTITY. + (font_open_by_name): Simplify by calling font_load_for_lface. + (free_font_driver_list): Delete it. + (font_update_drivers): Preserve the order of backends. + (syms_of_font): Setting of sort_shift_bits adjusted for the change + of font_score and font_sort_entites. + (font_update_sort_order): Likewise. + + * xfaces.c (LFACE_FOUNDRY): New macro. + (check_lface_attrs): Check foundry. + (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form. + (merge_face_vectors): Check foundry. + (merge_face_ref): Likewise. + (Finternal_set_lisp_face_attribute): Likewise. + (x_update_menu_appearance): Likewise. + (Finternal_get_lisp_face_attribute): Likewise. + (lface_hash): Likewise. + (lface_same_font_attributes_p): Likewise. + (x_supports_face_attributes_p): Likewise. + (tty_supports_face_attributes_p): Likewise. + (Finternal_set_alternative_font_family_alist): Intern strings. + (Finternal_set_alternative_font_registry_alist): Downcase strings. + (realize_default_face): Set LFACE_FOUNDRY (lface). + + * xfns.c (Fx_create_frame, x_create_tip_frame): Register X + font-driver at first. + + * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;". + +2008-06-12 Emanuele Giaquinta (tiny change) + + * lread.c (Fload): Use xfree, not free on saved_doc_string. + +2008-06-12 Jim Meyering + + Make unexec_free handle NULL the same way free does. + * unexmacosx.c (unexec_free): Ignore a NULL argument. + +2008-06-12 Stefan Monnier + + * character.h (CHAR_TO_BYTE_SAFE): New macro. + * character.c (Fmultibyte_char_to_unibyte): Obey the docstring. + * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro. + (WEAK_ALIAS): Simplify. + * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap + when searching a unibyte buffer. + +2008-06-12 Chong Yidong + + * xfns.c (Fx_select_font): Rename from x-font-dialog. + +2008-06-12 Juanma Barranquero + + * w32font.c: Include ctype.h. + +2008-06-11 Jason Rumney + + * w32font.c (w32font_encode_char): Detect missing glyphs that are + misreported as space. + (add_font_entity_to_list): Support unicode-bmp and unicode-sip + as aliases for registry iso10646-1. + +2008-06-11 Stefan Monnier + + * buffer.c (clone_per_buffer_values): Skip `name'. + +2008-06-11 Chong Yidong + + * font.c (font_parse_fcname): Fix last change; accept decimal + points in font size. + +2008-06-10 Jason Rumney + + * w32uniscribe.c (add_opentype_font_name_to_list): + Skip non unicode fonts. + +2008-06-10 Chong Yidong + + * xfns.c (Fx_font_dialog): New function. + + * gtkutil.c (xg_dialog_response_cb): Rename from + xg_file_response_callback. + (pop_down_dialog): Rename from pop_down_file_dialog. + (xg_get_file_name): Callers changed. + (xg_get_font_name): New function. + + * gtkutil.h (xg_get_font_name): Insert prototype. + +2008-06-10 Stefan Monnier + + * xdisp.c (underline_minimum_offset): Rename from xterm.c's + x_underline_minimum_display_offset. + (syms_of_xdisp): Declare it here rather than in xterm.c. + * dispextern.h (underline_minimum_offset): Declare it. + * w32term.c (x_draw_glyph_string): Use it. + * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c. + (syms_of_xterm): Don't declare it any more. + (x_draw_glyph_string): Adjust to the new name. + +2008-06-10 David De La Harpe Golden + + * xterm.c (x_underline_minimum_display_offset): New var. + (x_draw_glyph_string): Use it. + (syms_of_xterm): Declare it. + +2008-06-10 Chong Yidong + + * font.c (font_parse_fcname): Accept GTK-style font names too. + +2008-06-10 Stefan Monnier + + * dired.c (file_name_completion): Don't return t if the match is exact + but with different capitalization. + * minibuf.c (Ftry_completion): Simplify. + + * window.c (Vwindow_point_insertion_type): New var. + (set_window_buffer): Use it. + (syms_of_window): Init and export it to Lisp. + +2008-06-10 Kenichi Handa + + * font.h (font_intern_prop): Prototype adjusted. + + * font.c (font_intern_prop): New arg force_symbol. + (font_parse_xlfd, font_parse_fcname, font_parse_family_registry): + Adjust for the change of font_intern_prop. + + * ftfont.c (ftfont_pattern_entity): + * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity) + (w32_registry): + * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for + the change of font_intern_prop. + +2008-06-09 Juanma Barranquero + + * w32menu.c (digest_single_submenu): Declare extern. + +2008-06-09 Jason Rumney + + * w32term.c (x_make_frame_visible): Use alternate restore flags. + + * w32menu.c (Fx_popup_menu): Unwind protect while building menu. + (parse_single_submenu): Remove. + (digest_single_submenu): Remove. + (syms_of_w32menu): Don't initialise variables that have moved + to menu.c. + (set_frame_menubar): Sync with version in xmenu.c. + (w32_menu_show): Sync with xmenu_show in xmenu.c. + + * menu.c (single_keymap_panes, push_menu_pane, push_menu_item): + Make static again. + +2008-06-09 Jason Rumney + + Changes to w32 files related to the move of common menu code + to menu.c on 2008-06-08 by Chong Yidong. + + * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related + defs to w32gui.h. + (single_keymap_panes, push_menu_item, push_menu_pane): + Make globally visible. + + * w32menu.c (enum button_type, widget_value, local_heap, local_alloc) + (local_free, malloc_widget_value, free_widget_value) + (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE) + (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION) + (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP) + (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs. + (menu_items, menu_items_allocated, menu_items_used) + (menu_items_n_panes, menu_items_submenu_depth): Remove global vars. + (init_menu_items, finish_menu_items, discard_menu_items) + (grow_menu_items, push_submenu_start, push_submenu_end) + (push_left_right_boundary, push_menu_pane, push_menu_item) + (keymap_panes, single_keymap_panes, list_of_panes, list_of_items) + (free_menubar_widget_tree_value, parse_single_submenu) + (update_submenu_strings): Remove functions. + (xmalloc_widget_value): Remove and declare extern. + + * makefile.w32-in ($(SRC)/menu.$(O)): New target. + (OBJ1): Build it. + + * w32gui.h (widget_value, XtPointer, Boolean, enum button_type) + (local_heap, local_alloc, local_free, malloc_widget_value) + (free_widget_value): Define here. + +2008-06-09 Kenichi Handa + + * font.h (Qascii_0): Extern it. + + * font.c (Qascii_0): New variable. + (syms_of_font): DEFSYM it. + (font_open_by_name): If the registry "iso8859-1" fails, try also + "ascii-0". + + * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'. + +2008-06-08 Kenichi Handa + + * .gdbinit (xfont): New command. + +2008-06-08 Andreas Schwab + + * menu.c [HAVE_X_WINDOWS]: Include "xterm.h". + * Makefile.in (menu.o): Update dependencies. + + * Makefile.in (obj): Always add menu.o. + * emacs.c (main): Always call syms_of_menu. + * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW. + +2008-06-08 Chong Yidong + + * Makefile.in: Compile menu.c. + + * lisp.h: Declare syms_of_menu. + + * emacs.c (main): Call syms_of_menu. + + * keyboard.h: Relocate platform-independent menu definitions from + xmenu.c. + + * menu.c: New file. Relocate platform-independent menu + definitions from xmenu.c. Suggested by Adrian Robert. + + * xmenu.c: Remove platform-independent menu definitions. + (menu_items, menu_items_inuse, menu_items_allocated) + (menu_items_used, menu_items_n_panes) + (menu_items_submenu_depth): Move to keyboard.h. + (init_menu_items, finish_menu_items, unuse_menu_items) + (discard_menu_items, restore_menu_items, save_menu_items) + (grow_menu_items, push_submenu_start, push_submenu_end) + (push_left_right_boundary, push_menu_pane, push_menu_item) + (keymap_panes, single_keymap_panes, single_menu_item) + (list_of_panes, list_of_items, find_and_call_menu_selection) + (xmalloc_widget_value, free_menubar_widget_value_tree) + (parse_single_submenu, digest_single_submenu) + (update_submenu_strings): Move to menu.c. + +2008-06-07 Stefan Monnier + + * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case. + +2008-06-06 Miles Bader + + * xdisp.c (x_produce_glyphs): Calculate tab width based on current + face, not frame default. + +2008-06-05 Martin Rudalics + + * window.c (pop_up_windows, pop_up_frames) + (display_buffer_reuse_frames, Vpop_up_frame_function) + (Vdisplay_buffer_function, Veven_window_heights) + (Vspecial_display_buffer_names, Vspecial_display_regexps) + (Vspecial_display_function, Vsame_window_buffer_names) + (Vsame_window_regexps, split_height_threshold) + (Vsplit_window_preferred_function): Move those vars to window.el. + (display_buffer_1, Fspecial_display_p, Fsame_window_p) + (Fdisplay_buffer): Move those functions to window.el. + (syms_of_window): Remove corresponding declarations. + (display_buffer): New function. + (temp_output_buffer_show, Fother_window_for_scrolling): Use it. + * dispnew.c (Flast_nonminibuf_frame): New function. + * buffer.c (Fpop_to_buffer): Move to window.el. + +2008-06-05 Stefan Monnier + + * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p. + +2008-06-05 Kenichi Handa + + * coding.c (detect_coding): Fix previous change. + (detect_coding_system): Likewise. + +2008-06-05 Stefan Monnier + + * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte. + + * keymap.c (Vminibuffer_local_filename_must_match_map): + Rename from Vminibuffer_local_must_match_filename_map. + (syms_of_keymap): + * minibuf.c (Fcompleting_read): Adjust accordingly. + * commands.h: Rename declaration as well. + +2008-06-05 Kenichi Handa + + * font.c (Ffont_spec): Don't use font_parse_family_registry for + family name. + (Ffont_put): Likewise. + + * fontset.c (fontset_find_font): Call font_open_for_lface with the + current font-spec. + + * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it + is unspecified. + + * xfaces.c (realize_x_face): If the font-related face attributes + are the same as those of default face, realize a new fontset from + default->fontset. + (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put. + +2008-06-05 Stefan Monnier + + * xdisp.c (move_it_in_display_line_to): Improve the type of its args. + (move_it_in_display_line): New wrapper. + + * window.c (window_scroll_pixel_based_preserve_x) + (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars. + (window_scroll_pixel_based, window_scroll_line_based): + Use them to preserve column positions. + (syms_of_window): Initialize them. + + * indent.c (Fvertical_motion): Extend first arg to allow passing an + (HPOS . VPOS) pair. + + * dispextern.h (move_it_in_display_line): Declare. + +2008-06-05 Juanma Barranquero + + * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE). + (Fwindow_parameters): Return copy of parameter alist. Doc fix. + (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix. + +2008-06-04 Juanma Barranquero + + * window.c (Fset_window_parameter): Doc fix. + (Fwindow_parameters, Fwindow_parameter): Remove redundant check. + +2008-06-04 Joakim Verona + + * window.h (struct window): Add new member window_parameters. + + * window.c (Fwindow_parameters, Fwindow_parameter) + (Fset_window_parameter): New defuns. + (syms_of_window): Defsubr the new defuns. + (make_window): Initialize window_parameters to nil. + +2008-06-04 John Paul Wallington + + * eval.c (Fdefmacro): Doc fix. + +2008-06-04 Kenichi Handa + + * coding.c (detect_coding): Fix handling of coding->head_ascii. + Be sure to call setup_coding_system when we find a proper coding system. + (detect_coding_system): Fix handling of coding->head_ascii. + +2008-06-03 Andreas Schwab + + * font.c (font_prop_validate_spacing): Fix last change. + +2008-06-03 Kenichi Handa + + * font.c (font_prop_validate_spacing): Handle uppercase symbols. + (font_parse_fcname): Fix handling of unknown key. + + * xfont.c (xfont_list): Try an alias. + + * charset.c (char_charset): Return NULL if the arg charset_list is + specified and C doesn't belong to any of them. + +2008-06-02 Chip Coldwell + + * font.c (font_pixel_size): Don't take cdr of an integer. + +2008-06-02 Jim Meyering + + Make "xfree (NULL)" a no-op; remove useless if-before-xfree. + * alloc.c (xfree): Return right away for a NULL arg. + * lread.c (nosuffix): Remove now-useless if-before-xfree tests. + * gtkutil.c (xg_gtk_scroll_destroy): Likewise. + * mac.c (create_apple_event_from_event_ref): Likewise. + (create_apple_event_from_drag_ref, cfstring_create_normalized): + Likewise. + * doprnt.c (doprnt1): Likewise. + * frame.c (frame): Likewise. + * keyboard.c (wipe_kboard): Likewise. + * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap) + (init_font_name_table, mac_unload_font, x_delete_display): Likewise. + * term.c (tty_default_color_capabilities, maybe_fatal) + (delete_tty): Likewise. + * w16select.c (string): Likewise. + * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise. + * w32bdf.c (w32_free_bdf_font): Likewise. + * w32fns.c (w32_unload_font): Likewise. + * w32font.c (w32font_close): Likewise. + * window.c (size_window): Likewise. + * xselect.c (receive_incremental_selection): Likewise. + * xterm.c (x_free_frame_resources, x_delete_display): Likewise. + * mactoolbox.c (create_apple_event_from_drag_ref): Likewise. + * w32.c (stat): Likewise. + + Remove useless if-before-free tests. + * editfns.c (Fset_time_zone_rule): Likewise. + * lread.c (nosuffix): Likewise. + * ralloc.c (get_bloc): Likewise. + * regex.c (reg_free): Likewise. + * xftfont.c (xftfont_open, xftfont_close): Likewise. + * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise. + * xsmfns.c (smc_save_yourself_CB): Likewise. + +2008-06-02 Kenichi Handa + + * font.c (font_find_for_lface): Handle float font size. + (font_open_for_lface): Likewise. + + * xfaces.c (x_supports_face_attributes_p): Check face->font before + comparing the properties. + +2008-06-01 Jason Rumney + + * w32font.c (w32_enumfont_pattern_entity): Use requested registry. + Treat iso10646-1 and Windows DEFAULT_CHARSET specially. + Duplicate iso8859-1 fonts as iso10646-1 if no registry specified. + Don't add empty script list. + (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here. + +2008-06-01 Dan Nicolaescu + + * Makefile.in (dot, dotdot): Remove, update users. + ".." has been used elsewhere in the file for a long time. + (LIBXT_STATIC): Remove conditional based on unused variable. + +2008-06-01 Miles Bader + + * xfaces.c (Vface_remapping_alist): New variable. + (syms_of_xfaces): Initialize it. + (enum named_merge_point_kind): New type. + (struct named_merge_point): Add `named_merge_point_kind' field. + (push_named_merge_point): Make cycle detection respect different + named-merge-point kinds. + (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'. + Remove face-name alias resolution. + (lface_from_face_name): New definition using + `lface_from_face_name_no_resolve'. + (get_lface_attributes_no_remap): Rename from `get_lface_attributes'. + Call lface_from_face_name_no_resolve instead of lface_from_face_name. + (get_lface_attributes): New definition that layers face-remapping on + top of get_lface_attributes_no_remap. New arg `named_merge_points'. + (lookup_basic_face): New function. + (lookup_derived_face): Pass new last arg to `get_lface_attributes'. + (realize_named_face): Call `get_lface_attributes_no_remap' instead of + `get_lface_attributes'. + (face_at_buffer_position): Use `lookup_basic_face' to lookup + DEFAULT_FACE_ID if necessary. When optimizing the default-face case, + return default_face's face-id instead of the constant DEFAULT_FACE_ID. + + * xdisp.c (init_iterator): Pass base_face_id through + `lookup_basic_face' when we actually use it as a face-id. + (handle_single_display_prop): Use `lookup_basic_face' to lookup + DEFAULT_FACE_ID. + + * fontset.c (Finternal_char_font): Use `lookup_basic_face' to + lookup the initial face-id. + + * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls. + +2008-06-01 Juanma Barranquero + + * textprop.c (syms_of_textprop) : + (Fremove_text_properties): Fix typos in docstrings. + +2008-05-31 Kenichi Handa + + * font.c (font_list_entities): Fix the car part of data to be + stored in the cache. + + * ftfont.c (ftfont_font_format): Don't use strcasestr. + +2008-05-30 Stefan Monnier + + * chartab.c (Foptimize_char_table, optimize_sub_char_table): + Add a `test' argument so another predicate than `equal' can be used. + (map_sub_char_table): Use `eq' rather than `equal' to merge ranges. + (map_char_table): Remove unused vars `c' and `i'. + * lisp.h (Foptimize_char_table): Adjust declaration. + * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table. + +2008-05-30 Kenichi Handa + + * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined. + (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is + defined. + +2008-05-30 Stefan Monnier + + * data.c (Fmake_variable_buffer_local, Fmake_local_variable) + (Fmake_variable_frame_local): Disallow mixing buffer-local and + frame-local settings for the same variable. + +2008-05-30 Kenichi Handa + + * fontset.c (Ffont_info): Move to font.c. + (syms_of_fontset): Delete defsubr of Sfont_info. + + * font.c (font_style_to_value, font_score): Delete casting of the + args to xstcasecmp. + (register_font_driver): Increment num_font_drivers only when + registering the driver globally. + (Ffont_info): Move from fontset.c. Handle a font object too. + (syms_of_font): Defsubr Sfont_info. + +2008-05-29 Kenichi Handa + + * coding.h (enum define_coding_utf8_arg_index): New enum. + (enum coding_attr_index): Change coding_attr_utf_16_bom to + coding_attr_utf_bom. + (enum utf_bom_type): Rename from utf_16_bom_type. + (struct utf_16_spec): Adjust for the above change. + (struct coding_system): Add utf_8_bom in `spec' union. + + * coding.c (CODING_UTF_8_BOM): New macro. + (enum coding_category): Delete coding_category_utf_8, add + coding_category_utf_8_auto, coding_category_utf_8_nosig, and + coding_category_utf_8_sig. + (CATEGORY_MASK_UTF_8): Delete it. + (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG) + (CATEGORY_MASK_UTF_8_SIG): New macros. + (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add + CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and + CATEGORY_MASK_UTF_8_SIG. + (CATEGORY_MASK_UTF_8): New macro. + (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros. + (detect_coding_utf_8): Check BOM. + (decode_coding_utf_8, encode_coding_utf_8): Handle BOM. + (decode_coding_utf_16): Adjust for the change of enum utf_bom_type. + (encode_coding_utf_16): Likewise. + (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding). + (detect_coding, detect_coding_system): Handle utf-8-auto. + (Fdefine_coding_system_internal): Handle `bom' property for utf-8. + (syms_of_coding): Fix setting up of Vcoding_category_table. + +2008-05-29 Stefan Monnier + + * process.c (Faccept_process_output): If `millisec' is non-nil, + `seconds' default to 0. + (wait_reading_process_output): Also return non-nil if we read output + from a non-running process. + +2008-05-29 Jason Rumney + + * w32font.c (w32font_open_internal): Prefer truetype fonts unless + `raster' specified. + (add_font_entity_to_list): Allow non-opentype truetype fonts back + in the uniscribe backend, but disallow any font that has no + unicode subrange support. + +2008-05-29 Juanma Barranquero + + * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face): + Fix typos in docstrings. + +2008-05-29 Kenichi Handa + + * xfaces.c (Fx_list_fonts): Make it return a list of font names. + (Fx_family_fonts): Set frame correctly. + +2008-05-28 Jason Rumney + + * w32term.c (x_draw_glyph_string): Use clipmask if specified. + +2008-05-28 Stefan Monnier + + * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after + calling build_annotations. + +2008-05-28 Juanma Barranquero + + * coding.c (Fdecode_coding_region, Fencode_coding_region) + (Fencode_coding_string): + (syms_of_coding) : + : Fix typos in docstrings. + (syms_of_coding) : Doc fix. + (syms_of_coding) : Reflow docstring. + +2008-05-28 Kenichi Handa + + * fontset.c (Ffont_info): Don't call font_close_object. + + * font.c (font_parse_family_registry): Use Ffont_put to validate + foundry and family. + (font_delete_unmatched): Don't check spacing. + (font_list_entities): Add spacing to the spec to list fonts. + + * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern. + (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset. + + * coding.c (encode_coding_raw_text): Fix previous change. + (encode_coding_object): When the dst_object is a buffer and is + different from src_object, move gap to PT. + +2008-05-27 Chong Yidong + + * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it. + +2008-05-27 Stefan Monnier + + * coding.c (encode_coding_raw_text): Set coding->produced_char for + all branches. Compute it differently. + + * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x. + +2008-05-27 Juanma Barranquero + + * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }" + into "else if () ... else ...". + +2008-05-27 Jason Rumney + + * w32font.c (w32font_open_internal): Determine if glyph indices + are likely to work here. + +2008-05-27 Chong Yidong + + * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to + draw overlap glyphs with appropriate highlighting. + +2008-05-27 Kenichi Handa + + * xfont.c (xfont_open): Fix calculation of font->average_width. + +2008-05-27 Stefan Monnier + + * casefiddle.c (casify_object): Try to guess better whether the + argument is a byte or a char. + +2008-05-26 Andreas Schwab + + * xselect.c (x_reply_selection_request): Properly handle format == 32. + Always send multiples of format size. + + * xterm.c (x_set_frame_alpha): Fix type mismatch. + +2008-05-26 Jason Rumney + + * w32font.c (w32font_text_extents): Zero whole metrics struct first. + (compute_metrics): Don't set failure if we just cleared the cache. + (w32_weight_table): Remove unused variable. + (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for + backwards compatibility. + +2008-05-25 Kenichi Handa + + * w32term.c (x_draw_glyph_string): + * xterm.c (x_draw_glyph_string): Fix calculation of underline position. + + * xfaces.c: Delete unused function prototypes. + (xstrlwr, font_frame): Delete them. + (clear_face_cache): Delete unused variable. + + * xftfont.c (xftfont_open): Delete unused variable. + If underline_thickness is not 1, adjust underline_position. + + * ftxfont.c (ftxfont_open): Delete unused variable. + + * fontset.c (face_for_char): Optimize for the case of no charset + property. + + * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE) + (check_gstring, check_otf_features, otf_list, otf_tag_symbol) + (otf_open, font_otf_capability, generate_otf_features) + (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor): + Comment out by surrounding "#if 0" and "#endif" for the moment. + (Ffont_drive_otf, Ffont_otf_alternates): Likewise. + (syms_of_font): Codes for accessing above commented out. + +2008-05-24 Eli Zaretskii + + * w32proc.c: Include dispextern.h. + + * w32.c: Include dispextern.h. + +2008-05-23 Juanma Barranquero + + * charset.c (Fencode_char, Fsplit_char): Doc fixes. + (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset): + Fix typos in docstrings. + +2008-05-23 Jason Rumney + + * xsmfns.c: Remove includes that are already included by config.h. + +2008-05-23 Kenichi Handa + + * charset.c (Qemacs, charset_emacs): New variables. + (char_charset): Fix for non-Unicode characters. + (syms_of_charset): Define charset_emacs. + + * w32term.c (x_draw_glyph_string): Be sure to update + s->underline_thickness and s->underline_position. Be sure to draw + underline within the current line area. + + * xterm.c (x_draw_glyph_string): Be sure to update + s->underline_thickness and s->underline_position. Be sure to draw + underline within the current line area. + + * fontset.c: Delete unused variables and add casting for char * + throughout the file. + (fontset_font): Try the fallback fonts of the current fontset + before consulting the default fontset. + + * ftfont.c (ftfont_spec_pattern): Free charset if necessary. + + * xfont.c (xfont_list_pattern): Free names returned from XListFonts. + +2008-05-22 Jason Rumney + + * font.c: Don't include strings.h. + + * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp. + + * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c: + * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c: + * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed + to call xstrcasecmp. + + * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp. + + * fontset.c (fs_query_fontset): Use xstrcasecmp. + + * font.c (font_style_to_value, font_score): Use xstrcasecmp. + + * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp. + +2008-05-22 Kenichi Handa + + * puresize.h (BASE_PURESIZE): Increase to 1220000. + + * font.c (font_prop_validate_style): Adjust for the format + change of font_style_table. + + * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with + two args. + + * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with + two args. + +2008-05-22 Stefan Monnier + + * minibuf.c (keys_of_minibuf): Delete. + * lisp.h (keys_of_minibuf): Delete. + * emacs.c (main): Don't call keys_of_minibuf. + +2008-05-22 Kenichi Handa + + * ftfont.c (ftfont_resolve_generic_family): Rename from + ftfont_list_generic_family. Return a single family for each + generic family. + (ftfont_spec_pattern): Add FC_FAMILY to pattern. + (ftfont_list): Adjust for the change of ftfont_resolve_generic_family. + Call font_add_log. + (ftfont_match): Call font_add_log. + + * font.h (Ffont_xlfd_name): EXFUN adjusted. + (FONT_DEBUG): Define it. + (font_add_log): Extern it. + (font_assert): Rename from xassert. + + * xfont.c (xfont_get_pcm): Change xassert to font_assert. + (xfont_list_family): Call font_add_log. + (xfont_match): Likewise. + (memq_no_quit): Delete. + + * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in + call of Ffont_xlfd_name. + + * xfaces.c (struct table_entry, slant_table, weight_table) + (swidth_table): Move to font.c. + + * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of + xassert are changed to font_assert. Delete many unused variables. + (Vfont_weight_table, Vfont_slant_table, Vfont_width_table): + New variables. + (struct table_entry): Move from xfaces.c and modified. + (weight_table, slant_table, width_table): Move from xfaces.c and + contents adjusted for the change of struct table_entry. + (font_style_to_value, font_style_symbolic): Adjust for the + format change of font_style_table. + (font_parse_family_registry): Don't overwrite existing foundry and + family of font_spec. + (font_score): Fix calculation of diff for sizes. + (font_sort_entites): Call font_add_log. + (font_delete_unmatched): Return a newly created list. + (font_list_entities): Fix previous change. Call font_add_log. + (font_matching_entity, font_open_entity, font_close_entity): + Call font_add_log. + (Ffont_xlfd_name): New arg FOLD-WILDCARDS. + (Finternal_set_font_style_table): Delete. + (BUILD_STYLE_TABLE): New macro. + (build_style_table): New function. + (Vfont_log, font_log_env_checked): New variables. + (font_add_log): New function. + (syms_of_font): Delete defsubr Sinternal_set_font_style_table. + Declare Lisp variables "font-weight-table", "font-slant-table", + "font-width-table", and "font-log". Initialize font_style_table. + +2008-05-21 Dan Nicolaescu + + * xterm.c (x_set_frame_alpha): Move declarations before statements. + +2008-05-21 Seiji Zenitani + Ryo Yoshitake + + * frame.c (Qalpha): Add a new frame parameter `alpha'. + (Vframe_alpha_lower_limit): New variable. + (x_set_alpha): New function. + + * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them. + + * xfns.c (x-create-frame, Qalpha): + Initialize the frame parameter `alpha'. + * xterm.c (OPAQUE, OPACITY): New. + (x_set_frame_alpha): New function. + (frame_highlight, frame_unhighlight): Call x_set_frame_alpha. + + * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha. + * w32fns.c (w32_frame_parm_handlers): Likewise. + +2008-05-20 Jason Rumney + + * w32font.c (add_font_entity_to_list): Don't add non-opentype + truetype fonts to opentype list. + +2008-05-20 Juanma Barranquero + + * fontset.c (Ffontset_info): Doc fix. + (syms_of_fontset) : + : Fix typos in docstrings. + + * font.c (syms-of-font) : + (Ffontp, Ffont_make_gstring): Fix typos in docstrings. + (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font) + (Ffont_otf_alternates): Doc fixes. + +2008-05-20 Kenichi Handa + + * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to + font.h through out the file. + (FONT_DRIVERS): Rename from FONTOBJ. + (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o. + (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS). + + * emacs.c (main): Call syms_of_font unconditionally. + + * font.h (find_font_encoding): Extern it. + + * font.c (Vfont_encoding_alist, find_font_encoding): Move from + fontset.c. + (font_pixel_size) [! HAVE_WINDOW_SYSTEM]: Return 1. + (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts, + FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f) + only when HAVE_WINDOW_SYSTEM is defined. + (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only + when HAVE_WINDOW_SYSTEM is defined. + + * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c. + (syms_of_fontset): Move declaration of font-encoding-alist to font.c. + + * xfaces.c: Include font.h unconditionally. + (merge_face_ref, merge_face_vectors) + (Finternal_set_lisp_face_attribute): Cancel the previous change. + +2008-05-20 Stefan Monnier + + * xdisp.c (select_frame_for_redisplay): Adjust for last change to + indirect_variable. + * eval.c (lisp_indirect_variable): New fun. + (Fuser_variable_p): Use it. + +2008-05-19 Stefan Monnier + + * lisp.h (indirect_variable): + * data.c (indirect_variable, let_shadows_buffer_binding_p): + Use Lisp_Symbol pointers rather than Lisp_Object. + Adjust callers. + * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument. + To this end, change calling-convention. + + * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers + if some non-hidden buffers are selected by string&pred. + +2008-05-19 Chong Yidong + + * process.c (wait_reading_process_output): Always check status + when in batch mode. + +2008-05-19 Kenichi Handa + + * font.c (font_list_entities): Fix handling of cache. + (font_matching_entity): Likewise. + + * ftfont.c (cs_iso8859_1): Delete. + (ft_face_cache): New variable. + (struct ftfont_info): New member fc_charset_idx. + (ftfont_build_basic_charsets): Delete. + (fc_charset_table): New variable. + (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME + . FC_CHARSET_IDX) as :font-entity property in the font entity. + Callers changed. + (ftfont_lookup_cache, ftfont_get_charset): New functions. + (ftfont_spec_pattern): New argument fc_charset_idx. + Check registry more rigidly. Change callers. + (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the + change of :font-entity property of the font. + + * xftfont.c (xftfont_open): Adjust for the change of :font-entity + property of the font. + +2008-05-18 Juanma Barranquero + + * coding.c (Fcoding_system_p): Rename argument to match docstring. + (Funencodable_char_position, Fcheck_coding_systems_region) + (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings. + (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region) + (Ffind_operation_coding_system, Fset_coding_system_priority) + (Fcoding_system_eol_type): Doc fixes. + +2008-05-17 Glenn Morris + + * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY. + +2008-05-16 Eli Zaretskii + + * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid + and st_gid. + + * frame.c (Fdelete_frame): Don't call font_update_drivers if + HAVE_WINDOW_SYSTEM is not defined. + + * xfaces.c (merge_face_ref, merge_face_vectors) + (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when + HAVE_WINDOW_SYSTEM is defined. + (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case. + +2008-05-16 Stefan Monnier + + * keyboard.c (parse_menu_item): Do not cache key shortcut any more. + +2008-05-15 YAMAMOTO Mitsuharu + + * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'. + +2008-05-15 Kenichi Handa + + * font.c (font_find_for_lface): Reflect LFACE_FONT in the font + preference. + +2008-05-15 Glenn Morris + + * emacs.c (USAGE1, standard_args): Remove -disable-font-backend. + +2008-05-15 Chong Yidong + + * fns.c (init_fns): Don't initialize weak_hash_tables here. + (init_weak_hash_tables): New fun. Initialize weak_hash_tables. + + * alloc.c (init_alloc_once): Call init_weak_hash_tables. + +2008-05-15 Kenichi Handa + + * ftfont.c (ftfont_list): Downcase family name to check generic + families. + + * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a + font-spec for QCfont value. + + * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte + buffer. Check the return value of it. + +2008-05-14 Jason Rumney + + * w32term.c (w32_get_glyph_overhangs): Remove. + (w32_redisplay_interface): Use x_get_glyph_overhangs instead. + +2008-05-14 Kenichi Handa + + * font.c (font_prop_validate): Make nil a valid value. + (font_clear_cache): Check if the cached vector of entities is nil + or not. + +2008-05-14 YAMAMOTO Mitsuharu + + * emacs.c (main_thread): Conditionalize on + FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD. + (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it. + + * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define. + (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on + FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD. + +2008-05-14 Kenichi Handa + + * coding.c (detect_coding_iso_2022): Ignore a coding category that + has no corresponding coding system. + +2008-05-14 Jason Rumney + + * font.h (struct font) [WINDOWSNT]: Remove codepage member. + + * w32font.h (w32font_open_internal): Update declaration. + + * w32font.c (w32font_open_internal): Change last argument from + w32font_info struct to font object. Fill in font object from + font_entity. Get Outline metrics if possible. Use them to + calculate underline position and thickness. Use xlfd name as name + property. Don't set codepage. + (w32font_open): Pass font_object to w32font_open_internal. Don't + update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width. + (w32font_draw): Use s->font. + (clear_cached_metrics): Don't clear non-existent blocks. + + * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if + font was not found. + (x_draw_glyph_string): Use underline position and thickness from font. + + * w32uniscribe.c (uniscribe_open): Pass font_object to + w32font_open_internal. + +2008-05-14 Kenichi Handa + + These changes are to delete all legacy font-handling codes, and + make Emacs use only font-backends. + + * Makefile.in: Delete USE_FONT_BACKEND conditionals. + (frame.o, image.o, print.o): Depend on $(FONTSRC). + + * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O). + + * charset.h (Vcharset_non_preferred_head) + (Vcurrent_iso639_language): Extern them. + + * charset.c (Vcharset_non_preferred_head): New variable. + (Vcurrent_iso639_language): New variable. + (syms_of_charset): Declare it as a Lisp variable. + (char_charset): Don't check non preferred charsets. As a last + resort, return charset_unicode. + (Fset_charset_priority): Update Vcharset_non_preferred_head. + + * composite.c: Throughout the file, delete all USE_FONT_BACKEND + conditionals. Don't check enable_font_backend. Delete all codes + used only when USE_FONT_BACKEND is not defined. + + * dispextern.h (struct glyph_string): Change type of `font' to + `struct font *'. + (struct glyph_string): New member underline_position and + underline_thickness. + (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX. + (struct face): Change type of `font' to `struct font *'. + Remove members `font_name', `font_info_id'. + (per_char_metric, encode_char): Delete externs. + (calc_pixel_width_or_height): Adjust the prototype. + + * emacs.c (enable_font_backend): Delete extern. + (main): Don't set enable_font_backend. Don't check the command + line argument "-disable-font-backend". + + * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them. + (enum font_property_index): New members FONT_DPI_INDEX, + FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX, + FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX, + FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX. + (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC) + (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC) + (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE) + (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC) + (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros. + (struct font_spec, struct font_entity): New structs. + (FONT_ENCODING_NOT_DECIDED): Move from fontset.h. + (struct font): Many members from old "struct font_info" moved to + here. Members font and entity deleted. + (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for + the new font-related objects. + (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT) + (CHECK_FONT_GET_OBJECT): Likewise. + (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros. + (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Move from font.h. + (struct font_driver): New members case_sensitive anc check. + Type of the member list and open changed. + (enable_font_backend, font_symbolic_weight, font_symbolic_slant) + (font_symbolic_width, font_find_object, font_get_spec) + (font_set_lface_from_name): Delete extern. + (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs. + + * font.c: Include . + (enable_font_backend): Delete it. + (Qfont_spec, Qfont_entity, Qfont_object): New variables. + (CHECK_VALIDATE_FONT_SPEC): Delete it. + (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Move to font.h. + (null_string): Delete it. + (null_vector): Make it static. + (font_family_alist): Delete it. + (Qnormal): Extern it. + (QCextra, QClanguage): Delete it. + (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables. + (font_make_spec, font_make_entity, font_make_object) + (font_intern_prop): Rename from intern_downcase. Don't downcase + the string. Callers changed. + (font_pixel_size): Adjust for the format change of font-related + objects. + (prop_name_to_numeric, prop_numeric_to_name): Delete them. + (font_style_to_value, font_style_symbolic): New function. + (build_font_family_alist): Delete it. + (font_registry_charsets): Use Fassoc_string instead of + assq_no_quit. + (font_prop_validate_symbol): Don't return null_string. + (font_prop_validate_style): Adjust for the change of + style-related values in a font vector. + (font_property_table): Delete entries for QClanguage and + QCantialias, add entries for QCavgwidth. + (get_font_prop_index): Delete the 2nd argument FROM. + (font_prop_validate): Arguments changed. + (font_put_extra): Adjust for the change of font-related objects. + (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd) + (font_parse_fcname, font_unparse_fcname) + (font_prepare_composition): Likewise. + (font_parse_family_registry): Rename from font_merge_old_spec. + (otf_open): Delete the 1st arg entity. + (font_otf_capability): Adjust for the above change. + (font_score): New arg alternate_families. Adjusted for the change + of font-related objects. + (font_sort_entites): New arg best_only. + (font_symbolic_weight, font_symbolic_slant, font_symbolic_width): + Delete them. + (font_match_p): Check alternate families. + (font_find_object): Delete it. + (font_check_object): New function. + (font_clear_cache): Adjust for the change of font-related objects. + (font_delete_unmatched): New arg. + (font_list_entities): Call font_driver->list with a spec that + doesn't specify style-related properties. + (font_matching_entity): Arguments changed. Caller changed. + (font_open_entity): Adjust for the change of font-related objects. + (font_close_object, font_has_char, font_encode_char) + (font_get_name, font_get_spec): Likewise. + (font_spec_from_name, font_clear_prop, font_update_lface): + New functions. + (font_find_for_lface, font_open_for_lface, font_load_for_lface) + (font_prepare_for_face, font_done_for_face, font_open_by_name) + (font_at): Adjust for the change of font-related objects. + (font_range): New function. + (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts) + (Ffont_xlfd_name): Adjust for the change of font-related objects. + (Fcopy_font_spec, Fmerge_font_spec): New function. + (Ffont_family_list): Rename from list-families. + (Finternal_set_font_style_table): Arguments changed. + (Ffont_fill_gstring, Ffont_shape_text, Fopen_font) + (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjust for the + change of font-related objects. + (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols. + + * fontset.h (struct font_info): Delete it. Most members go to + struct font. + (FONT_ENCODING_NOT_DECIDED): Move to font.h. + (enum FONT_SPEC_INDEX): Delete it. + (font_info, list_fonts_func, load_font_func, query_font_func) + (set_frame_fontset_func, find_ccl_program_func) + (get_font_repertory_func, new_fontset_from_font_name): + Delete externs. + (fontset_from_font_name): Extern it. + (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID) + (FONT_INFO_FROM_FACE): Delete. + (face_for_font): Adjust prototype. + + * fontset.c: Throughout the file, delete all USE_FONT_BACKEND + conditionals. Don't check enable_font_backend. Delete all codes + used only when USE_FONT_BACKEND is not defined. + (get_font_info_func, list_font_func, load_font_func) + (query_font_func, set_frame_fontset_func, find_ccl_program_func) + (get_font_repertory_func): Delete them. + (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING) + (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE) + (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY) + (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE) + (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros. + (fontset_compare_rfontdef): New function. + (reorder_font_vector): Remove the argument CHARSET-ID. Sort + rfont-defs by qsort. Adjusted for the change of font-group vector. + (load_font_get_repertory): Delete. + (fontset_find_font): Use new macros to ref/set elements of + font-def and rfont-def. + (fontset_font): Fix the timing of remembering that no font for C. + (free_face_fontset): Do nothing if the face has no fontset. + (face_suitable_for_char_p): Use new macros to ref/set elements of + rfont-def. + (face_for_char): Likewise. Call face_for_char with font_object. + (fs_load_font): Delete. Delete #pragma surrounding it. + (fs_query_fontset): Use strcasecmp instead of strcmp. + (generate_ascii_font_name): Adjust for the format change of + font-spec. + (Fset_fontset_font): Likewise. Use new macros to set elements of + font-def. + (Fnew_fontset): Use font_unparse_xlfd to generate + FONTSET_ASCII (fontset). + (new_fontset_from_font_name): Delete. + (fontset_from_font): Rename from new_fontset_from_font. Check if + a fontset is already created for the font. FIx updating of + Vfontset_alias_alist. + (fontset_ascii_font): Delete. + (Ffont_info): Adjust for the format change of font-spec. + (Finternal_char_font): Likewise. + (Ffontset_info): Likewise. + (syms_of_fontset): Don't check load_font_func. + + * fns.c (internal_equal): Handle PREV_FONT. + + * frame.h: Delete USE_FONT_BACKEND conditional. + + * frame.c: Throughout the file, delete all USE_FONT_BACKEND + conditionals. Don't check enable_font_backend. Delete all codes + used only when USE_FONT_BACKEND is not defined. + (x_set_font): Call x_new_font, not x_new_fontset2. + (x_set_font_backend): Use FRAME_FONT macro to check if a font is + already set for the frame. + + * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. + Make a font-entity by font_make_entity. Use font_intern_prop instead + of intern_downcase. Use FONT_SET_STYLE to set a style-related + font property. If a font is scalable, set avgwidth property to 0. + Set font-entity property by font_put_extra. + (ftfont_list_generic_family): Argument SPEC and REGISTRY removed. + (ffont_driver): Adjust for the change of struct font_driver. + (ftfont_spec_pattern): New function. + (ftfont_list): Return a list, not vector. + (ftfont_match): Use ftfont_spec_pattern to get a pattern. + (ftfont_list_family): Don't downcase names. + (ftfont_free_entity): Delete. + (ftfont_open): Return a font-object. Adjusted for the change of + struct font. Get underline_thickness and underline_position from + font property. Don't update dpyinfo->smallest_font_height and + dpyinfo->smallest_char_width. + (ftfont_close): Don't free `struct font'. + (ftfont_has_char): Adjust for the format change of font-entity. + (ftfont_encode_char, ftfont_text_extents): Likewise. + + * ftxfont.c (ftxfont_list): Return a list, not vector. + (ftxfont_open): Return a font-object. Adjusted for the change of + struct font. Get underline_thickness and underline_position from + font property. Don't update dpyinfo->smallest_font_height and + dpyinfo->smallest_char_width. + (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts. + (ftxfont_draw): Adjust for the change of struct font. + + * image.c (image_ascent): Don't include "charset.h". + Include "character.h" and "font.h". + + * lisp.h (enum pvec_type): New member PREV_FONT. + (Fassoc_string): EXFUN it. + + * print.c: Include font.h. + (print_object): Handle font-related objects. + + * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND + conditionals. Don't check enable_font_backend. Delete all codes + used only when USE_FONT_BACKEND is not defined. + (handle_auto_composed_prop): Do nothing if it->f is not on a + window system. Check how many following characters can be + displayed by the same font. + (calc_pixel_width_or_height): Type of the 4th arg is changed to + 'struct font *'. + (get_char_face_and_encoding): Assign the whole encoding task to + the `encode-char' method of a font driver. + (fill_composite_glyph_string): Adjust for the change of `struct + face' and `struct glyph_string'. + (fill_glyph_string): Likewise. + (get_per_char_metric): Arguments changed. + (x_get_glyph_overhangs): Adjust for the change of `struct face' + and `struct glyph_string'. + (produce_stretch_glyph, calc_line_height_property) + (x_produce_glyphs): Likewise. + + * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND + conditionals. Don't check enable_font_backend. Delete all codes + used only when USE_FONT_BACKEND is not defined. + Use FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx. + (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth) + (Qp): Extern them. + (clear_font_table, load_face_font, xlfd_lookup_field_contents): + Delete. + (struct font_name): Delete. + (xlfd_numeric_value, xlfd_symbolic_value): Delete. + (compare_fonts_by_sort_order): New function. + (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight) + (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth): + Delete. + (Fx_family_fonts): Use font_list_entities, and sort fonts by + compare_fonts_by_sort_order. + (Fx_font_family_list): Call Ffont_family_list. + (face_numeric_value, face_numeric_weight, face_numeric_slant) + (face_numeric_swidth, face_symbolic_value, face_symbolic_weight) + (face_symbolic_slant, face_symbolic_swidth) + (split_font_name_into_vector, build_font_name_from_vector) + (xlfd_fixed_p, xlfd_point_size, pixel_point_size) + (font_rescale_ratio, split_font_name, build_font_name) + (free_font_names, sort_fonts, x_face_list_fonts) + (face_font_available_p, sorted_font_list, cmp_font_names) + (font_list_1, concat_font_list, font_list, remove_duplicates): + Delete. + (Fx_list_fonts): Use Ffont_list. + (LFACE_AVGWIDTH): Delete. + (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT + by FONTP. + (lface_fully_specified_p): Don't check LFACE_AVGWIDTH. + (set_lface_from_font_name): Delete it. + (set_lface_from_font): Rename from + set_lface_from_font_and_fontset. Caller changed. Don't set + LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable + for face. + (merge_face_vectors): Copy font-spec if necessary. + Clear properties of the font-spec if necessary. + (merge_face_ref): Clear properties of the font-spec if necessary. + (Finternal_set_lisp_face_attribute): Likewise. + (set_font_frame_param): Use font_load_for_lface to load a + font-object, and call Fmodify_frame_parameters with it. + (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD + font name by Ffont_xlfd_name. + (Finternal_lisp_face_attribute_values): Don't check QCweight, + QCslant, and QCwidth. + (Fface_font): Get a font name from font->props[FONT_NAME_INDEX]. + (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH. + Compare fonts by EQ. + (lookup_non_ascii_face): Delete. + (face_for_font): The 2nd argument changed. + (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH. + Check atomic font properties by case insensitive. + (realize_non_ascii_face): Set face->overstrike correctly. + (realize_x_face): Likewise. Check if LFACE_FONT is a font_object. + (dump_realized_face): Get font name from + font->props[FONT_NAME_INDEX]. Don't print font_info_id. + + * xfns.c: Throughout the file, delete all USE_FONT_BACKEND + conditionals. Don't check enable_font_backend. Delete all codes + used only when USE_FONT_BACKEND is not defined. + (xic_create_xfontset): Original code deleted and renamed from + xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT. + (x_make_gc): Don't set GCFont in GCs. + (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font + opened by "fixed". + (syms_of_xfns): Don't set get_font_info_func, load_font_func, + find_ccl_program_func, query_font_func, set_frame_fontset_func, + get_font_repertory_func. + + * xfont.c: Include and "ccl.h". + (struct xfont_info): New structure. + (xfont_query_font): Delete. + (xfont_find_ccl_program): Rename from x_find_ccl_program and + moved from xterm.c. + (xfont_driver): Adjust for the change of struct font_driver. + (compare_font_names): New function. + (xfont_list_pattern): Sort font names case insensitively. + Make font_entity by calling font_make_entity. Avoid auto-scaled fonts. + (xfont_list): Return a list, not vector. + (xfont_match): If the font doesn't have QCname property, generate + a name from the other font properties. + (xfont_open): Return a font-object. Adjusted for the change of + struct font. Get underline_thickness and underline_position from + font property. Don't update dpyinfo->smallest_font_height and + dpyinfo->smallest_char_width. + (xfont_close): Don't free struct font. + (xfont_prepare_face): Adjust for the change of struct font. + (xfont_done_face): Delete. + (xfont_has_char): Adjust for the change of struct font. + (xfont_encode_char, xfont_draw): Likewise. + (xfont_check): New function. + + * xftfont.c (xftfont_list): Adjust for the change of `list' + callback function. + (xftfont_match): Adjust for the format change of font-entity. + (xftfont_open): Adjust for the format change of font-entity and + font-object. Adjusted for the change of struct font. Return a + font-object. Don't update dpyinfo->smallest_font_height and + dpyinfo->smallest_char_width. + (xftfont_close): Block input while calling XftFontClose. + (xftfont_prepare_face): Don't block input while calling + xftfont_get_colors. Adjusted for the change of struct font. + (xftfont_shape): Return value of error case fixed. + + * xrdb.c (x_load_resources): Don't setup a fontset resource. + + * xterm.h: Throughout the file, delete all USE_FONT_BACKEND + conditionals. + (FONT_WIDTH): Return (f)->max_width. + (struct x_display_info): Delete member `font'. + (x_list_fonts, x_get_font_info, x_load_font, x_query_font) + (x_find_ccl_program, x_get_font_repertory): Delete externs. + (struct x_output): Change type of `font' to `struct font *'. + + * xterm.c: Throughout the file, delete all USE_FONT_BACKEND + conditionals. Don't check enable_font_backend. Delete all codes + used only when USE_FONT_BACKEND is not defined. Don't include ccl.h. + (x_per_char_metric, x_encode_char): Delete. + (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont. + (x_compute_glyph_string_overhangs): Adjust for the change of + `struct face'. + (x_draw_glyph_string_foreground) + (x_draw_composite_glyph_string_foreground): Likewise. + (x_draw_glyph_string): Likewise. Use font->underline_position and + font->underline_thickness. + (x_new_font): Rename from x_new_fontset2. + (x_new_fontset, x_get_font_info, x_list_fonts): Delete. + (x_check_font): Call `check' method of a font driver. + (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font) + (x_query_font, x_get_font_repertory): Delete. + (x_find_ccl_program): Rename and moved to xfont.c. + (x_redisplay_interface): Adjust for the change of `struct + redisplay_interface'. + + * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND + conditionals. Don't check enable_font_backend. Delete all codes + used only when USE_FONT_BACKEND is not defined. Surround non-used + code by "#ifdef OLD_FONT" and "endif". + (Fw32_select_font): Use FONT_COMPAT to get old font structure. + + * w32font.h (struct w32font_info): New member. + (FONT_COMPAT): New macro. + (w32font_open_internal): Prototype adjusted. + + * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if + OLD_FONT" and "endif". + + * w32font.c: Throughout the file, delete all USE_FONT_BACKEND + conditionals. Don't check enable_font_backend. Delete all codes + used only when USE_FONT_BACKEND is not defined. + (w32font_open): Return a font-object. Make a font-object by + font_make_object. Adjusted for the change of struct w32font_info. + (w32font_close): Don't free struct font. Adjusted for the change + of struct w32font_info. + (w32font_encode_char, w32font_text_extents, w32font_draw): + Adjust for the change of struct w32font_info. + (w32font_draw): Likewise. + (w32font_list_internal): Return a list, not vector. + (w32font_open_internal): Change the 4th arg to font-object. + Adjusted for the change of struct w32font_info and font-object format. + (add_font_name_to_list): Don't downcase names. + (w32_enumfont_pattern_entity): Make a font-entity by + font_make_entity. Adjusted for the format change of font-entity. + Use FONT_SET_STYLE to set a style-related font property. If a + font is scalable, set avgwidth property to 0. Set font-entity + property by font_put_extra. + (font_matches_spec): Adjust for the format change of font-entity. + (w32_weight_table, w32_decode_weight): New variables. + (w32_encode_weight): New function. + (fill_in_logfont): Adjust for the format change of font-spec. + (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol + weight value. + (w32font_driver): Adjust for the change of struct font_driver. + + * w32term.h: Throughout the file, delete all USE_FONT_BACKEND + conditionals. Don't check enable_font_backend. Surround non-used + code by "#ifdef OLD_FONT" and "endif". + (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT) + (FONT_AVG_WIDTH): Adjust for the change of struct font. + + * w32term.c: Throughout the file, delete all USE_FONT_BACKEND + conditionals. Don't check enable_font_backend. Delete all codes + used only when USE_FONT_BACKEND is not defined. Surround non-used + code by "#ifdef OLD_FONT" and "endif". + + * w32uniscribe.c: Delete USE_FONT_BACKEND conditional. + (uniscribe_open): Return value changed to font-object. + Adjusted for the format change of font-object. + (uniscribe_otf_capability): Adjust for the change of struct font. + (add_opentype_font_name_to_list): Don't downcase names. + (uniscribe_font_driver): Adjust for the change of struct + font_driver. + +2008-05-13 Chong Yidong + + * dispnew.c (update_frame_1): Check if tty output is still valid + before flushing it. + +2008-05-13 Jan Djärv + + * xterm.c (handle_one_xevent): Don't pass buttons higher than 3 + to Gtk+ menus. + +2008-05-13 Stefan Monnier + + * dired.c (file_name_completion): Tweak the code so as to always do it + in a single pass. Tighten the scope of some variables. + + * dired.c (Qdefault_directory): New var. + (file_name_completion): Use it instead of Fexpand_file_name. + (syms_of_dired): Initialize it. + +2008-05-12 Stefan Monnier + + * fileio.c (double_dollars): Remove dead code. + +2008-05-10 Eli Zaretskii + + * dired.c (Ffile_attributes, Fdirectory_files_and_attributes): + Mention w32-get-true-file-attributes in doc string. + + * w32proc.c (syms_of_ntproc) : Doc fix. + +2008-05-09 Glenn Morris + + * fileio.c (Fread_file_name): Remove reference to insdef, deleted + 2008-04-23. + +2008-05-09 Eli Zaretskii + + Support for reporting owner and group of each file on MS-Windows: + * dired.c (stat_uname, stat_gname): New functions, with special + implementation for w32. + (Ffile_attributes): Use them instead of getpwuid and getgrgid. + + * w32.c: Rename the_passwd_* to dflt_passwd_*. + (dflt_group_name): New static variable. + (dflt_group): Rename from the_group. + (init_user_info): Init dflt_group fields. Get user's group name + from LookupAccountSid. + (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner) + (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid): + New initialization states. + (globals_of_w32): Initialize them to zero. Initialize the default + group name to "None". + (GetFileSecurity_Name): New global var, the name of the function + to call for GetFileSecurity. + (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc) + (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs. + (get_file_security, get_security_descriptor_owner) + (get_security_descriptor_group, is_valid_sid) + (get_file_security_desc, get_rid, get_name_and_id) + (get_file_owner_and_group): New functions. + (stat): Use get_file_security_desc and get_file_owner_and_group to + report the owner and primary group of each file. Don't ignore the + high 32 bits of file's size, now that st_size is 64-bit wide. + Fix test when to get true file attributes. + (init_user_info): Use get_rid instead of equivalent inline code. + (fstat): Don't ignore the high 32 bits of file's size. + +2008-05-09 Chong Yidong + + * image.c (png_load): Use correct bit-depth for setting background + color. + +2008-05-08 Eli Zaretskii + + * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to + epa-hook.elc. + +2008-05-08 Juanma Barranquero + + * font.c (Ffont_match_p): Don't use `iff' in docstring. + +2008-05-07 Dan Nicolaescu + + * macfns.c (Fx_create_frame): Make a copy of frame parameters + because the original parameters are in pure storage now. + (mac_window): Remove unused params. Update callers. + +2008-05-06 Stefan Monnier + + * lread.c (substitute_object_recurse): Use lower-level primitives. + Don't signal errors when traversing sub-char-tables. + Don't loop over all the possible characters when traversing char-tables. + + * print.c (print_preprocess): Add sub-char-tables to the print-table, + just like we do in print.c. + +2008-05-05 Stefan Monnier + + * minibuf.c (Ftry_completion): Remove code left over from when we used + scmp instead of Fcompare_strings. + +2008-05-04 Juanma Barranquero + + * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format. + +2008-05-04 YAMAMOTO Mitsuharu + + * image.c [USE_MAC_IMAGE_IO] (image_load_image_io): + Create bitmap context in native byte order. + + * macterm.c (XDrawLine) + (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap + context in native byte order. + +2008-05-04 YAMAMOTO Mitsuharu + + * config.in: Regenerate. + + * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]: + New definitions for Image I/O support. + (XGetImage, XPutPixel, XGetPixel, XDestroyImage) + (mac_create_cg_image_from_image, x_create_x_image_and_pixmap) + [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support. + (mac_data_provider_release_data, image_load_image_io) + [USE_MAC_IMAGE_IO]: New functions. + (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef. + (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable. + (init_image_func_pointer) [MAC_OSX]: Remove function. + (image_load_quartz2d) [MAC_OSX]: Check availability of + CGImageCreateWithPNGDataProvider at compile time. + Use lowercase `false' for boolean constant. + (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]: + Use image_load_image_io. + (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]: + Don't check MyCGImageCreateWithPNGDataProvider. + (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]: + Don't call init_image_func_pointer. + + * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O. + + * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]: + Make variable non-static. + (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap) + [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support. + + * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros. + (RED_FROM_ULONG): Mask off higher bits. + (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern. + + * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]: + Include AvailabilityMacros.h. + (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines. + (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE. + +2008-05-03 Stefan Monnier + + * chartab.c (Fset_char_table_range): If range is t, really set all + chars to that value. + +2008-05-03 Eli Zaretskii + + * dired.c (Ffile_attributes): Don't allow the device number become + negative. + +2008-05-02 Daiki Ueno + + * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc. + +2008-05-02 Juri Linkov + + * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command) + (Fread_variable, Fread_buffer, Fcompleting_read): Document the + DEFAULT argument as a list of default values in docstrings. + +2008-05-01 Chong Yidong + + * puresize.h (BASE_PURESIZE): Increase to 1210000. + +2008-05-01 Martin Rudalics + + * dispnew.c (change_frame_size_1): Preserve small windows when + shrinking frames by calling set_window_height|width with third + arg 2. + + * window.h (struct window): Replace field too_small_ok by field + resize_proportionally. + + * window.c (make_window): Initialize resize_proportionally. + (enlarge_window): Temporarily set resize_proportionally to make + sure that shrink_windows does scale the window proportionally. + (shrink_windows): When window has resize_proportionally set try + to shrink it proportionally by stealing from other windows. + (struct saved_window, Fset_window_configuration) + (compare_window_configurations): Handle resize_proportionally. + (WINDOW_TOTAL_SIZE): New macro. + (window_min_size, shrink_windows, size_window): Use it. + (check_min_window_sizes): Remove. Invalid values of + window-min-height|width are handled by window_min_size_2 now. + (size_window, Fsplit_window, enlarge_window) + (adjust_window_trailing_edge, grow_mini_window): Don't call + check_min_window_sizes. + (window_min_size_2, window_min_size_1, window_min_size): + New argument safe_p for retrieving "safe" minimum sizes. + (Fdisplay_buffer, Fsplit_window, enlarge_window) + (adjust_window_trailing_edge, grow_mini_window): + Adjust arguments of window_min_size... functions. + (shrink_windows): Argument min_size removed. New argument + safe_p allows shrinking windows to their safe minimum sizes. + Calculate minimum size and decide whether a window shall be + deleted for each window individually. + (size_window): When nodelete_p equals 2, tell shrink_windows to + delete windows only if their new minimum size is no more safe. + (shrink_window_lowest_first): Call window_min_size_1 to make + sure to preserve modeline of bottom-most window when resizing + the minibuffer. + (Fset_window_configuration, Fcurrent_window_configuration) + (compare_window_configurations): Do not handle + window-min-height|width any more. + (syms_of_window): Clarify window-min-height|width doc-strings. + +2008-04-30 Stefan Monnier + + * dired.c (file_name_completion): Fix up the encoding/decoding issue + some more. Copy some of the code from Ftry_completions. + Remove special case code that dates back to initial revision when the + slash was only added when necessary and that can't trigger nowadays. + +2008-04-27 Kenichi Handa + + * font.c (font_prop_validate): Signal `error' instead of `font'. + +2008-04-29 Jason Rumney + + * w32fns.c (Fw32_battery_status): New defun. + (syms_of_w32fns): Defsubr it. + +2008-04-28 Andreas Schwab + + * dired.c (file_name_completion): Fix another mixing of encoded + and decoded names. + +2008-04-28 Juanma Barranquero + + * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring. + +2008-04-27 Juanma Barranquero + + * fringe.c (Fdefine_fringe_bitmap): Doc fix. + +2008-04-27 Andreas Schwab + + * dired.c (file_name_completion): Fix inappropriate mixing of + encoded and decoded names. + + * xterm.c (XTread_socket): Fix use of uninitialized variable. + + * puresize.h (BASE_PURESIZE): Increase to 1200000. + +2008-04-26 Eli Zaretskii + + * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from + 2008-03-31, it's not needed anymore with `struct stat' definition + on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13 + for the same reasons. + +2008-04-25 Dennis Gilmore (tiny change) + + * m/sparc.h: Additional redefinitions for GNU/Linux. + +2008-04-23 YAMAMOTO Mitsuharu + + * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable. + (syms_of_macterm) [USE_MAC_TSM]: Defvar it. + (Qmouse_drag_overlay) [MAC_OSX]: New variable. + (syms_of_macterm) [MAC_OSX]: Intern and staticpro it. + (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars) + (mac_ax_selected_text_range) [MAC_OSX]: New functions. + (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: + Likewise. + + * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern. + (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range) + (mac_ax_number_of_characters): Add externs. + (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars) + [USE_MAC_TSM]: Likewise. + (mac_handle_text_input_event) [MAC_OSX]: + Handle kEventTextInputOffsetToPos for no active input area case. + Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText. + (mac_handle_document_access_event) + [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function. + (install_application_handler) [MAC_OSX]: Register handlers for + kEventTextInputPosToOffset and kEventTextInputGetSelectedText. + (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: + Register mac_handle_document_access_event. + + * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]: + Make functions non-static. + +2008-04-23 Stefan Monnier + + * fileio.c (Vread_file_name_function, Vread_file_name_predicate) + (read_file_name_completion_ignore_case, insert_default_directory) + (Qdefault_directory): Move to minibuffer.el. + (Fread_file_name): Call the new `read-file-name' instead. + +2008-04-23 YAMAMOTO Mitsuharu + + * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]: + Make function non-static. + (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]: + Remove function. + (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]: + Move to mactoolbox.c. + (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function. + + * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef. + (mac_rect_make): New macro. + + * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat + instead of float. + (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise. + (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground) + (XSetBackground) [USE_CG_DRAWING]: Likewise. + (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of + CGRectMake. + (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise. + (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle) + (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise. + (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window + instead of WindowRef in argument type. + (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort. + (mac_invert_rectangle): Use CGContextSetBlendMode if available. + (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F + instead of DISPLAY. All uses changed. + (mac_handle_size_change): Don't call SET_FRAME_GARBAGED. + (x_calc_absolute_position): Simplify so as not to use + FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT. + + * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window + instead of WindowRef in argument type. + (create_apple_event_from_event_ref, create_apple_event_from_drag_ref) + [TARGET_API_MAC_CARBON]: Remove externs. + (create_apple_event, mac_event_parameters_to_lisp) + [TARGET_API_MAC_CARBON]: Add externs. + + * mactoolbox.c (Vmac_ts_script_language_on_focus) + (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs. + (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part + is clicked. + (x_activate_menubar): Remove extern for saved_menu_event_location. + (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]: + Move from mac.c. + +2008-04-23 YAMAMOTO Mitsuharu + + * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc) + [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex. + +2008-04-23 Jason Rumney + + * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get + attributes only for local files. + + * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes + default to Qlocal. + +2008-04-22 Juri Linkov + + * buffer.c (Fswitch_to_buffer): Change interactive spec to call + read-buffer-to-switch instead of using the letter "B". + +2008-04-21 Stefan Monnier + + * fileio.c (Qdefault_directory): New variable. + (Fread_file_name): Use it to pass `dir' to the completion functions. + +2008-04-20 Chong Yidong + + * xdisp.c (pos_visible_p): Check if iterator stops on a display string. + +2008-04-19 Stefan Monnier + + * keyboard.c (Vpre_help_message): Remove. + (show_help_echo): Remove default C code. + + * dired.c (directory_files_internal, file_name_completion): + Only call ENCODE_FILE if the string is indeed decoded. + +2008-04-18 Stefan Monnier + + * Makefile.in (TOOLKIT_DEFINES): Remove. + (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff. + +2008-04-18 YAMAMOTO Mitsuharu + + * Makefile.in (MAC_OBJ): Add mactoolbox.o. + (mactoolbox.o): New target. + + * mac.c [MAC_OSX] (select_and_poll_event, sys_select): + Use mac_run_loop_run_once instead of CFRunLoopRunInMode. + + * macfns.c (x_set_background_color, mac_window, x_create_tip_frame): + Use mac_set_frame_window_background instead of XSetWindowBackground. + (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: + Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible. + (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title + instead of SetWindowTitleWithCFString. + (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT. + Move function to mactoolbox.c. + (mac_update_title_bar) [TARGET_API_MAC_CARBON]: + Use mac_set_window_modified instead of SetWindowModified. + Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon. + (mac_window, x_create_tip_frame): Use mac_create_frame_window. + (Fx_focus_frame): Use mac_front_non_floating_window instead of + FrontNonFloatingWindow. Use mac_activate_window instead of + ActivateWindow. Use mac_active_non_floating_window instead of + ActiveNonFloatingWindow. + (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]: + Use mac_show_hourglass and mac_hide_hourglass. + (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse + instead of GetGlobalMouse. + (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window + instead of MoveWindow/SizeWindow/ShowWindow, respectively. + Use mac_bring_window_to_front instead of BringToFront. + (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to + mactoolbox.c. + (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to + mac_file_dialog in mactoolbox.c. Use mac_file_dialog. + (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to + mactoolbox.c. + + * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h. + (XtPointer): Move typedef from macmenu.c. + (enum button_type): Move enum from macmenu.c. + (widget_value): Move typedef from macmenu.c. + (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID) + (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN) + (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH) + (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE) + (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH) + (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE) + (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN) + (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c. + (Selection): Move typedef from macselect.c. + (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from + macterm.c. + (mac_set_window_title, mac_set_window_modified, mac_is_window_visible) + (mac_is_window_collapsed, mac_bring_window_to_front) + (mac_send_window_behind, mac_hide_window, mac_show_window) + (mac_collapse_window, mac_front_non_floating_window) + (mac_active_non_floating_window, mac_activate_window) + (mac_move_window_structure, mac_move_window, mac_size_window) + (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines. + + * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c. + (enum mac_menu_kind): Move enum to mactoolbox.c. + (min_menu_id): Move variable to mactoolbox.c. + (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise. + (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c. + (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P) + (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID) + [TARGET_API_MAC_CARBON]: Likewise. + (XtPointer): Move typedef to macgui.h. + (enum button_type): Move enum to macgui.h. + (widget_value): Move typedef to macgui.h. + (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN) + (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH) + (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE) + (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH) + (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE) + (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN) + (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h. + (popup_activated_flag): Make variable non-static. + (x_activate_menubar, install_menu_quit_handler, pop_down_menu) + (add_menu_item, fill_menu, dispose_menus): + Move functions to mactoolbox.c. + (restore_show_help_function, menu_target_item_handler) + (install_menu_target_item_handler, mac_handle_dialog_event) + (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog) + [TARGET_API_MAC_CARBON]: Likewise. + (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise. + (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise. + (find_and_call_menu_selection, name_is_separator): Make function + non-static. + (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern + to mactoolbox.c. + (set_frame_menubar): Don't call install_menu_quit_handler. + (menu_item_selection): New variable. + (mac_menu_show): Use create_and_show_popup_menu. + (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return + selection but set variable menu_item_selection. All uses changed. + (mac_fill_menubar): Rename from fill_menubar. All uses changed. + Call install_menu_quit_handler. Move to mactoolbox.c. + + * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h. + (Selection): Move typedef to macgui.h. + (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype) + (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id): + Make variables non-static. + (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise. + (mac_handle_apple_event, cleanup_all_suspended_apple_events): + Make functions non-static. + (Vmac_service_selection) [MAC_OSX]: Likewise. + (mac_get_selection_from_symbol, get_flavor_type_from_symbol) + (mac_valid_selection_target_p, mac_clear_selection) + (mac_get_selection_ownership_info, mac_valid_selection_value_p) + (mac_put_selection_value, mac_selection_has_target_p) + (mac_get_selection_value, mac_get_selection_target_list) + (init_apple_event_handler, install_drag_handler, remove_drag_handler): + Move functions to mactoolbox.c. + (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]: + Likewise. + (copy_scrap_flavor_data, mac_handle_service_event) + (install_service_handler) [MAC_OSX]: Likewise. + (syms_of_macselect) : + Use mac_dnd_default_known_types. + + * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): + Move to mactoolbox.c. + (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15. + (Fx_selection_owner_p): Add EXFUN. + (install_window_handler, remove_window_handler, XSetWindowBackground): + Remove externs. + (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise. + (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise. + (x_raise_frame, x_lower_frame, mac_alert_sound_play) + (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse) + (mac_convert_frame_point_to_global, mac_set_frame_window_background) + (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush) + (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip) + (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar) + (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar) + (create_and_show_popup_menu, mac_get_selection_from_symbol) + (mac_valid_selection_target_p, mac_clear_selection) + (mac_get_selection_ownership_info, mac_valid_selection_value_p) + (mac_put_selection_value, mac_selection_has_target_p) + (mac_get_selection_value, mac_get_selection_target_list): Add externs. + (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass) + (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog) + (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise. + (mac_run_loop_run_once) [MAC_OSX]: Likewise. + (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise. + (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise. + (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise. + (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise. + + * mactoolbox.c: New file. + +2008-04-18 Jason Rumney + + * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned. + +2008-04-18 Stefan Monnier + + * character.c (Fmultibyte_char_to_unibyte): + Return latin1 chars unchanged. + + * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only + relocated if it points to `name'. + +2008-04-17 Kenichi Handa + + * data.c (Faset): Allow setting a multibyte character in an + ASCII-only unibyte string. + + * lisp.h (STRING_SET_MULTIBYTE): New macro. + +2008-04-16 Stefan Monnier + + * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now + done in config.h. + +2008-04-16 Juanma Barranquero + + * character.c (Fchar_bytes, Fchar_width, Fstring_width) + (Fchar_direction): Add usage in the docstring. + +2008-04-15 Chong Yidong + + * keyboard.c (read_key_sequence): Remove always-true checks. + +2008-04-14 Jason Rumney + + * w32font.c (w32font_open_internal): Set max_bounds.descent in + compatibility struct, for better underline positioning. + +2008-04-13 David Hansen + + * dbusbind.c (dbus-get-unique-name): Remove extra copying of name + string. + +2008-04-12 Dan Nicolaescu + + * m/hp800.h (XUINT, XSET): Remove. + +2008-04-12 Juanma Barranquero + + * fileio.c (Fexpand_file_name): Add declaration for `p' missing in + previous change. + +2008-04-12 Stefan Monnier + + * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars. + Relocate `nm' after calling DECODE_FILE, in case the GC was run. + +2008-04-11 Stefan Monnier + + * keymap.h (map_keymap_canonical): Declare. + * xmenu.c (single_keymap_panes): Use it. + +2008-04-11 Glenn Morris + + * eval.c (Fdefvaralias): If the alias is bound and the target is not, + set the target's value to that of the alias. + +2008-04-11 Stefan Monnier + + * term.c (set_tty_color_mode): Left over typo. + +2008-04-10 Michael Albinus + + * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK + only after check for file name handler functions. Signal, when + native functionality is not supported. + (syms_of_fileio): Declare it unconditionally. + +2008-04-10 Jason Rumney + + * w32menu.c (is_simple_dialog, simple_dialog_show): New functions. + (Fx_popup_dialog): Handle simple yes/no questions as dialogs. + + * w32.c (logon_network_drive): Also logon to remote drives that + are mapped to drive letters. + +2008-04-10 Glenn Morris + + * xdisp.c (truncate-partial-width-windows): Doc fix. + +2008-04-10 Stefan Monnier + + * fileio.c (read_file_name_cleanup, Fread_file_name_internal): + Move functions to minibuffer.el. + (syms_of_fileio): Don't declare them. + +2008-04-09 Stefan Monnier + + * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el. + (syms_of_minibuf): Remove its initialization. + + * minibuf.c (temp_echo_area_glyphs): Remove unused function. + +2008-04-09 Juanma Barranquero + + * editfns.c (Ffield_string_no_properties): Fix typo in docstring. + +2008-04-09 Jason Rumney + + * makefile.w32-in (distclean): Delete makefile too. + (maintainer-clean): New target. + + * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change. + + * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs + for new font backend and composite cases. + +2008-04-09 Jan Djärv + + * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT. + Most of the code moved to run_timers. + (do_pending_atimers): Call run_timers. + (run_timers): New function. + + * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers, + run atimers. + + * process.c (wait_reading_process_output): The same as above. + +2008-04-09 Stefan Monnier + + * minibuf.c (last_exact_completion): Remove variable. + (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete) + (complete_and_exit_1, complete_and_exit_2) + (Fminibuffer_complete_and_exit, Fminibuffer_complete_word) + (Fdisplay_completion_list, display_completion_list_1) + (Fminibuffer_completion_help, Fself_insert_and_exit) + (Fexit_minibuffer, Fminibuffer_message): Move functions to + minibuffer.el. + (syms_of_minibuf): Remove corresponding initializations. + + * keyboard.c (Qdeactivate_mark): New var. + (command_loop_1): Use it to call `deactivate-mark'. + (syms_of_keyboard): Initialize it. + + * xdisp.c (redisplay_internal): Reset tty's color_mode when switching + to another frame. + * frame.c (do_switch_frame): Refine the top_frame/async_visible code. + Don't call set_tty_color_mode. + (store_frame_param): Reset previous_frame rather than call + set_tty_color_mode. + * term.c (set_tty_color_mode): Rewrite. + * dispextern.h (set_tty_color_mode): New type. + * termchar.h (struct tty_display_info): Add `previous_color_mode'. + +2008-04-08 Stefan Monnier + + * keymap.c (access_keymap): Remove the value 2 for t_ok which was used + for generic chars, which do not exist any more in emacs-unicode. + +2008-04-08 Michael Albinus + + * coding.c (detect_coding_emacs_mule) + (Ffind_operation_coding_system): Fix typo. + +2008-04-08 Jason Rumney + + * w32uniscribe.c (SNAME): Extract only symbol name. + + * w32font.h (struct w32_metric_cache): New struct. + (w32font_info): Use it. + (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL) + (CACHE_BLOCKSIZE): New constants. + + * w32font.c (Qja, Qko, Qzh): New symbols. + (syms_of_w32font): Initialise them. + (font_matches_spec): Use them to filter by language. + (recompute_cached_metrics): Remove function. + (compute_metrics, clear_cached_metrics): New functions. + (w32font_encode_char): Use them to manage metric cache. + (w32font_text_extents): Cache metrics for all glyphs on demand. + Delay converting glyph indices to WORD until needed. + (w32font_open_internal): Initialize metric cache to empty. + (registry_to_w32_charset): Charset should always be a symbol. + (fill_in_logfont, list_all_matching_fonts): Family should + always be a symbol. + +2008-04-06 Jason Rumney + + * w32uniscribe.c (uniscribe_shape): Increase items buffer size. + Give up if glyph indices not supported. Use uniscribe obtained + ABC widths for individual metrics. Map glyph clusters back to + characters using fClusterStart flag. Return number of glyphs + produced, not chars processed. + (uniscribe_shape): Map char at FROM to current glyph. + +2008-04-05 YAMAMOTO Mitsuharu + + * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]: + Use SetMenuItemHierarchicalMenu. + +2008-04-05 Jason Rumney + + * image.c (pbm_load): Allow color values up to 65535. + Throw an error if max_color_idx is outside the supported range. + Report an error when image size is invalid. + Read two bytes at a time when raw images have max_color_idx above 255. + +2008-04-05 Kenichi Handa + + * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't + append "CCL: Quitted" when the CCL program is quitted. + (setup_ccl_program): Initialize ccl->quit_silently to zero. + + * ccl.h (struct ccl_program): New member quit_silently. + +2008-04-05 Chong Yidong + + * search.c (compile_pattern_1): Treat non-nil and non-string of + search-spaces-regexp as nil. + + * minibuf.c (Fassoc_string): Tweak docstring. + +2008-04-05 Eli Zaretskii + + * dired.c (Ffile_attributes): Support inode numbers wider than 32 + bits. Remove ugly WINDOWSNT-specific kludge introduced on + 2008-03-14 to force inode be positive. + + * w32.c (sys_chown, stat, fstat): Use S_* constants instead of + _S_* ones, since we now use our own sys/stat.h. + (stat, fstat): Don't mangle the inode number. + (init_user_info): Don't restrict UID and GID to 0-60000 range. + +2008-04-04 Stefan Monnier + + * frame.h (struct frame): Give one more bit to `visible' since we use + values larger than 1 to indicate obscured frames on ttys. + + * keymap.c (Qkeymap_canonicalize): New var. + (Fmap_keymap_internal): New fun. + (describe_map): Use keymap-canonicalize. + + * undo.c (last_boundary_buffer, last_boundary_position): New vars. + (Fundo_boundary): Set them. + (syms_of_undo): Initialize them. + (record_point): Use them instead of last_point_position*. + (last_undo_buffer): Change type. + +2008-04-04 Jason Rumney + + * w32font.c (w32font_text_extents): Use font's ascent and descent. + (recompute_cached_metrics): Don't set ascent and descent per char. + + * w32uniscribe.c (uniscribe_check_otf): Fix last change. + (uniscribe_check_otf): Add GC protection before consing. + Rearrange loop for counting features. + +2008-04-03 Stefan Monnier + + * insdel.c (insert_from_buffer_1): Don't compare bytes in destination + buffer with byte-size of source buffer. + +2008-04-03 Chong Yidong + + * callint.c (Fcall_interactively): Handle temporary region even + when shift-select-mode is off. + +2008-04-03 Jason Rumney + + * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec. + +2008-04-03 Kenichi Handa + + * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO. + (CATEGORY_MASK_UTF_16): Likewise. + (detect_coding_utf_16): Add heuristics to reject utf-16 for a + binary file. + (detect_coding): Add null-byte detection for a binary file. + (detect_coding_system): Likewise. + +2008-04-03 Jason Rumney + + * w32uniscribe.c: New file. + + * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c. + + * w32font.h (uniscribe_check_otf): Declare for w32font.c. + + * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot) + (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi) + (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya) + (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri) + (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic) + (Qphonetic): New symbols. + (syms_of_w32font): Initialize them. + (font_supported_scripts): Use them. + (w32font_list_family): List all charsets. + (w32font_text_extents, recompute_cached_metrics): Fix metric + calculations. + (w32_enumfont_pattern_entity): Make full_type a DWORD. + Give opentype fonts their own format. + (font_matches_spec): New arguments backend and logfont. + Handle :otf spec for uniscribe backend. + (add_font_entity_to_list): Match truetype fonts in uniscribe backend. + (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied. + + * w32fns.c (Fx_create_frame): Conditionally register uniscribe + font backend. + (globals_of_w32fns): Initialize uniscribe font backend. + + * makefile.w32-in (CONFIG_H): New variable. Use it to clean up + dependencies. + (w32uniscribe.$(O)): New file to build. + (FONT_OBJ): Include w32uniscribe.$(O). + (LIBS): Add uniscribe libraries. + + * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val. + +2008-04-02 Chong Yidong + + * callint.c (Vshift_select_mode): New var. + (Finteractive): Document new ^ spec. + (Fcall_interactively): Call handle-shift-selection if the ^ spec + is present. + + * keyboard.c (Vthis_command_keys_shift_translated): New var. + (command_loop_1): Avoid running the direct display versions of + forward-char and backward-char if shift-selection may occur. + (read_key_sequence): Set Vthis_command_keys_shift_translated if + shift-translation takes place. + + * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to + avoid clobbering by define-minor-mode. + + * cmds.c (Fforward_char, Fbackward_char, Fforward_line) + (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec. + + * syntax.c (Fforward_word): Add ^ interactive spec. + + * window.c (Fscroll_up, Fscroll_down, Fscroll_left) + (Fscroll_right): Add ^ interactive spec. + +2008-04-01 Stefan Monnier + + * xdisp.c (try_window_id): Don't forget to reset delta_bytes. + + * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup. + + * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove. + +2008-03-31 Juri Linkov + + * window.c (Fdisplay_buffer): Reinitialize `tem' to nil. + +2008-03-30 Jan Djärv + + * gtkutil.c (xg_set_geometry): Fix indentation. + (xg_resize_outer_widget): Remove. + (x_wm_size_hint_off): Fix indentation. + (xg_frame_set_char_size): Call flush_and_sync after + gtk_window_resize. + (x_wm_set_size_hint): Pass NULL as geometry window to + gtk_window_set_geometry_hints due to Gtk+ bug nr 68668. + Add menu bar and tool bar height to base height. + (xg_update_frame_menubar, free_frame_menubar) + (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback) + (update_frame_tool_bar, free_frame_tool_bar): + Change xg_resize_outer_widget to xg_frame_set_char_size. + +2008-03-30 Michael Albinus + + * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol. + (Fdbus_call_method): New parameter TIMEOUT. + (dbus-send-signal): Optimize UNGCPRO call. + +2008-03-29 Juri Linkov + + * window.c (Fdisplay_buffer): Move call to + Vsplit_window_preferred_function out of conditions that check + if window is eligible for vertical splitting. + When Vsplit_window_preferred_function is non-nil, call it and use + its non-nil return value as window. Otherwise, continue doing + vertical splitting using Fsplit_window with arg horflag=nil. + (syms_of_window) : Change the + default value from `split-window' to nil. + +2008-03-29 Juri Linkov + + * callint.c (Fcall_interactively): Revert 2008-03-16 change + for interactive code letters 'b' and 'B'. + +2008-03-29 Eli Zaretskii + + * fileio.c (Fexpand_file_name): Convert the value of $HOME to a + multibyte string. + +2008-03-29 Stefan Monnier + + * keyboard.c (pending_funcalls): New var. + (timer_check): Run it. + (syms_of_keyboard): Initialize it. + * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions) + (Vdelete_terminal_functions): New vars. + (syms_of_terminal): Initialize them. + (Fdelete_terminal): Run delete-terminal-functions. + * xdisp.c (safe_eval): Rewrite. + (safe_call2): New fun. + * frame.c (Qdelete_frame_functions): New var. + (syms_of_frame): Initialize it. + (Fdelete_frame): Use it and use safe_call2 and pending_funcalls. + * lisp.h (safe_call2, pending_funcalls): Declare. + +2008-03-28 Andreas Schwab + + * indent.c (Fmove_to_column): Move declaration before statements. + +2008-03-27 Stefan Monnier + + * frame.h (enum fullscreen_type): Give it a name. Move it before use. + (struct frame): Use bit fields for boolean vars. + + * process.c (server_accept_connection): Simplify naming. + (emacs_get_tty_pgrp): Use SDATA. + + * coding.c (decode_coding_object): Fix last change. + +2008-03-27 Jason Rumney + + * w32fns.c (start_hourglass): Suppress hourglass on tty frames. + +2008-03-27 Kenichi Handa + + * charset.c (Fdefine_charset_internal): Change the way of + registering charsets in Vcharset_order_list. + (syms_of_charset): Make the charset `eight-bit' supplementary. + +2008-03-26 Alexandre Oliva (tiny change) + + * regex.c (EXTEND_BUFFER): Change order of pointer addition + operations, to avoid having the difference between pointers + overflow. + +2008-03-26 Stefan Monnier + + * indent.c (check_display_width): New fun. + (scan_for_column): Use it. + + * data.c (syms_of_data): Mark most-positive-fixnum and + most-negative-fixnum as constants. + + * xdisp.c (redisplay_internal): Reset selected_frame earlier. + + * indent.c (scan_for_column): Extract from current_column_1. + Merge with the same code from Fmove_to_column. + (current_column_1, Fmove_to_column): Use it. + +2008-03-25 Stefan Monnier + + * keymap.c (map_keymap_internal): New fun. + (map_keymap): Use it. + (Fmap_keymap_internal): New fun. + (Fmap_keymap): Remove left-out test from before make_save_value. + + * keymap.c (Fmap_keymap): Use `map-keymap-sorted. + + * frame.c (Fmodify_frame_parameters, x_set_frame_parameters): + Use XCAR/XCDR. + + * process.h (struct Lisp_Process): Remove filter_multibyte. + * process.c (QCfilter_multibyte): Remove. + (setup_process_coding_systems): Don't use filter_multibyte. + (Fstart_process, Fmake_network_process): Don't set filter_multibyte. + (read_process_output): Don't adjust multibyteness to filter_multibyte. + (Fset_process_filter_multibyte): Change the coding-system to + approximate the previous behavior. + (Fprocess_filter_multibyte_p): Get the multibyteness straight from the + coding-system. + + * coding.c (decode_coding_object): When not decoding into a buffer, + obey the coding system's preference of (uni|multi)byte. + +2008-03-24 Stefan Monnier + + * casefiddle.c (casify_object): Avoid pathological N^2 worst case if + every char is changed and has a different byte-length. + (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word): + Fix int -> EMACS_INT. + +2008-03-23 David Hansen + + * dbusbind.c (xd_read_message): Remove extra copying of message + strings. Check for NULL `interface' or `member'. + +2008-03-22 Eli Zaretskii + + * w32.c (readdir): If FindFirstFile/FindNextFile return in + cFileName a file name that includes `?' characters, use the 8+3 + alias in cAlternateFileName instead. + +2008-03-21 Stefan Monnier + + * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT. + +2008-03-20 Stefan Monnier + + * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT. + (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg, + work on current_buffer only instead (that was already the case + for some of the code anyway). + * buffer.h (set_point, set_point_both): Remove buffer arg, use long int. + (temp_set_point, temp_set_point_both): Use EMACS_INT. + (SET_PT, SET_PT_BOTH): Adjust. + * intervals.h (set_point, temp_set_point, set_point_both) + (temp_set_point_both): Remove redundant declarations. + +2008-03-20 Stefan Monnier + + * fileio.c (Finsert_file_contents): + * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT. + * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right + when buffer != current_buffer anyway. + +2008-03-20 Andreas Schwab + + * callint.c (Fcall_interactively) [case 'B']: Use other-buffer + as default. + +2008-03-19 Jason Rumney + + * w32fns.c (hourglass_timer, hourglass_hwnd): New variables. + (syms_of_w32fns): Initialize them. + (HOURGLASS_ID): New constant. + (x_window_to_frame): Don't check hourglass_window. + (w32_wnd_proc) : Handle hourglass_timer. + (w32_wnd_proc) : Set pending hourglass cursor. + (w32_wnd_proc) : Set the hourglass or current cursor. + (w32_wnd_proc) : Set frame's current_cursor. + Only change the cursor if hourglass is not active. + (Fx_create_frame): Initialize frame's current_cursor. + (hourglass_atimer): Remove. + (hourglass_started): New function. + (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32. + (show_hourglass): Adapt to w32, changing argument to frame. + + * w32term.h (struct w32_output): Remove hourglass_window. + Add current_cursor. + + * eval.c (call_debugger, Fsignal): + * keyboard.c (recursive_edit_1, cmd_error, Ftop_level) + (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector) + (Fexecute_extended_command, cancel_hourglass_unwind): + * minibuf.c (read_minibuf): + * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM. + +2008-03-19 Stefan Monnier + + * window.c (run_funs): New fun. + (run_window_configuration_change_hook): Use it to run the buffer-local + and the global part of the hook. + + * xdisp.c (format_mode_line_unwind_data): Add window argument. + (unwind_format_mode_line): Restore selected window. + (x_consider_frame_title, Fformat_mode_line): Set selected window. + +2008-03-17 Stefan Monnier + + * editfns.c (Fchar_equal): Check they are valid characters. + + * buffer.h (Fbuffer_list): Declare (for use in callint.c). + +2008-03-17 Andreas Schwab + + * regex.c (re_match_2_internal): Properly match raw 8-bit bytes + against a charset. + + * lisp.h (Fbuffer_list): Declare. + +2008-03-17 Jan Djärv + + * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if + handlebox_widget is != 0. + +2008-03-16 Juri Linkov + + * callint.c (Fcall_interactively): For interactive code letters + 'b' and 'B' put the buffer list into the list of default "future" + values of the minibuffer. + +2008-03-16 Andreas Schwab + + * keyboard.c (read_key_sequence): Fix downcasing of letters with + modifiers. + + * regex.c (re_match_2_internal): Correct matching of a charset + against latin-1 characters. + +2008-03-16 Kenichi Handa + + * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY) + (STRING_CHAR_ADVANCE_NO_UNIFY): New macros. + (coding_alloc_by_making_gap): Fix the way to preserve data in the gap. + (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap. + (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of + CHAR_STRING_ADVANCE. + (produce_chars): Fix for the case that the source and the + destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY + instead of CHAR_STRING_ADVANCE. + (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of + STRING_CHAR_ADVANCE. + +2008-03-15 Andreas Schwab + + * regex.c (re_match_2_internal): Correct matching of eight bit + characters in unibyte strings. + +2008-03-15 Martin Rudalics + + * buffer.c (overlays_in, Foverlays_in): Include empty overlays + at end of range when it coincides with the end of the buffer. + +2008-03-14 Eli Zaretskii + + * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive. + + * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change. + +2008-03-14 Jason Rumney + + * editfns.c (initial_tz): New variable. + (syms_of_editfns): Initialize it. + (Fset_time_zone_rule): Set it when first called. + Use it when TZSTRING is nil. + + * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO) + (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions. + (monitor_from_point_fn, get_monitor_info_fn): New globals. + (globals_of_w32fns): Initialize them. + (compute_tip_xy): Use them to position tooltips. + +2008-03-14 Glenn Morris + + * emacs.c (main): Revert previous change. + (standard_args): Revert -internal-script back to -scriptload, + and remove the long-option form. + +2008-03-13 Glenn Morris + + * emacs.c (main, standard_args): Rename -scriptload to -internal-script. + Remove option -enable-font-backend. + +2008-03-12 Stefan Monnier + + * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer. + +2008-03-11 Jan Djärv + + * xterm.c (x_connection_closed): For GTK: If this is the last + terminal just exit without closing the display. + +2008-03-11 Jason Rumney + + * w32font.c (w32font_full_name): Use floor to round. + +2008-03-10 Dhruva Krishnamurthy (tiny change) + + * sound.c (alsa_configure): Declare vol at beginning of block. + + * fontset.c (Ffontset_info): Remove extra semicolon. + +2008-03-10 Stefan Monnier + + * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum + size of resulting string. + +2008-03-10 Jason Rumney + + * dispnew.c (adjust_glyph_matrix): Initialize window_height. + +2008-03-10 YAMAMOTO Mitsuharu + + * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes. + Don't pretend as if characters with display property haven't been + consumed for string-replacing-string case. + +2008-03-08 Kim F. Storm + + * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro. + (get_next_display_element, next_element_from_string) + (next_element_from_ellipsis, next_element_from_buffer): Use it. + +2008-03-08 Andreas Schwab + + * process.h (struct Lisp_Process): Declare bit fields as unsigned. + +2008-03-06 Jason Rumney + + * w32font.c (w32_registry): Take font_type argument. Use ANSI + when charset not specified. Only translate ANSI to unicode when + font_type is truetype. + (w32font_coverage_ok): New function. + (add_font_entity_to_list): Use it to filter unsuitable fonts. + +2008-03-05 Kenichi Handa + + * lread.c (Fread_char): Resolve modifiers. + (Fread_char_exclusive): Likewise. + + * character.c (char_resolve_modifier_mask): New function. + (char_string): Use char_resolve_modifier_mask. + (Fchar_resolve_modifiers): New function. + (syms_of_character): Declare Fchar_resolve_modifiers as Lisp + function. + +2008-03-04 Jason Rumney + + * makefile.w32-in: Always include w32font.c in the build. + * w32font.c: Wrap in USE_FONT_BACKEND conditional. + +2008-03-04 Andreas Schwab + + * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*. + (versionclean): Likewise. + +2008-03-04 Juanma Barranquero + + * .cvsignore: Add oo. + +2008-03-03 Andreas Schwab + + * coding.c (decode_coding_object): Inhibit gap shrinking while + decoding in place. + +2008-03-03 Dan Nicolaescu + + * w32term.c: Remove unused include "gnu.h". + * makefile.w32-in (w32term.o): Don't depend on gnu.h. + + * gnu.h: Rename to ... + * emacs-icon.h: ... this. + * xterm.c: Use emacs-icon.h instead of gnu.h. + * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h. + +2008-03-03 Juanma Barranquero + + * w32font.c: Include math.h. + +2008-03-03 Jason Rumney + + * w32font.c (recompute_cached_metrics): Change font arg to w32font_info. + Compute options separately. + (w32font_open_internal): Set glyph_idx before caching metrics. + + * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1): + Define if system headers don't. + (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx. + (w32font_encode_char): Don't declare here. + + * w32font.c (Quniscribe, QCformat): New symbols. + (syms_of_w32font): Define them. + (w32font_has_char): Indicate uncertainty. + (w32font_encode_char): Encode as glyph point. Make static. + (recompute_cached_metrics): New function. + (w32font_open_internal): Use it. Set font to use glyph points + initially. Set format based on type of font. + (w32font_text_extents, w32font_draw): Optionally use glyph points. + (w32_enumfont_pattern_entity): Accept backend arg. Set type based + on it. Set format based on information available here. + (add_font_entity_to_list): Identify backend based on opentype_only. + +2008-03-02 Andreas Schwab + + * ftfont.c (ftfont_pattern_entity): Fix aliasing violations. + + * coding.c (decode_coding_big5, produce_chars): + Fix typos in last change. + +2008-03-02 Kentaro Ohkouchi + + * gnu.h: New icon. + +2008-03-02 Kenichi Handa + + * coding.c (decode_coding_utf_8): When eol-type of CODING is + `dos', don't decode '\r' if that is the last in the source. + (decode_coding_utf_16, decode_coding_emacs_mule) + (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5) + (decode_coding_raw_text, decode_coding_charset): Likewise. + (produce_chars): Don't decode EOL here. Use EMACS_INT. + +2008-03-01 Jason Rumney + + * w32font.c (w32font_full_name): Report point size for scalable fonts. + +2008-03-01 Kim F. Storm + + * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face. + +2008-03-01 Jason Rumney + + * w32font.c (w32font_full_name): New function. + (w32font_open_internal): Use it. + +2008-03-01 Kim F. Storm + + * dispnew.c (line_draw_cost): Fix invalid glyph check. + +2008-03-01 Jason Rumney + + * font.c (font_unparse_fcname): Increase len when style is a symbol. + +2008-03-01 Jan Djärv + + * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call + xg_frame_resized when the event is for the edit widget. + + * gtkutil.h (xg_frame_resized): Rename from xg_resize_widgets. + + * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or + set_char_size. + (xg_frame_resized): Rename from xg_resize_widgets. Remove all + operations on widgets here. Just set frame size if needed. + (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions. + (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing. + (x_wm_set_size_hint): Set size hints on the edit widget only, not + the whole frame. + (xg_create_tool_bar): Move attachment of the tool bar to + xg_pack_tool_bar. Do not attach the tool bar if there are no items. + (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED. + +2008-03-01 Jason Rumney + + * w32fns.c (w32_msg_pump): Disable debug code. + +2008-03-01 YAMAMOTO Mitsuharu + + * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64. + +2008-02-29 Chong Yidong + + * xdisp.c (next_overlay_string): Don't set + overlay_strings_at_end_processed_p if we're currently reading from + a display string. + +2008-02-29 Stefan Monnier + + * xdisp.c (get_overlay_strings_1): Fix typo. + +2008-02-29 Chong Yidong + + * xdisp.c (get_overlay_strings_1): Add missing argument type. + +2008-02-28 Kenichi Handa + + * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern. + + * xdisp.c (display_mode_element): Cancel the previous change. + (decode_mode_spec): Likewise. + (handle_auto_composed_prop): Don't make composition if it->string + is a string. + +2008-02-27 Kim F. Storm + + * lisp.h (GLYPH): Change type from int to struct with separate char + and face_id members. + (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros. + (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg. + (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ... + (GLYPH_CHAR, GLYPH_FACE): ... these. Change users. + (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ... + (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead. + (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P) + (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to + handle new Lisp glyph code encoding, either an integer or a cons. + + * disptab.h (GLYPH_SIMPLE_P): Rewrite. + (GLYPH_ALIAS): Delete. + (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite. + (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR. + (GLYPH_FROM_CHAR): Replace macro by ... + (SET_GLYPH_FROM_CHAR): ... this macro. Change users. + + * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify. + (GLYPH_FROM_CHAR_GLYPH): Replace macro by ... + (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users. + (GLYPH_INVALID_P): New macro. + (spec_glyph_lookup_face): Update prototype. + + * dispnew.c (line_draw_cost): Adapt to new glyph type. + (build_frame_matrix_from_leaf_window): Adapt to new glyph type and + new glyph code encoding. + (spec_glyph_lookup_face): No return value; update passed glyph instead. + (init_display): Use SET_CHAR_GLYPH to initialize space_glyph. + + * xdisp.c (get_next_display_element, next_element_from_display_vector): + Adapt to new glyph type and new glyph code encoding. + + * term.c (encode_terminal_code, produce_special_glyphs): Likewise. + + * indent.c (current_column, current_column_1, Fmove_to_column) + (compute_motion): Adapt to new glyph code encoding. + + * msdos.c (IT_write_glyphs): Adapt to new glyph type. + +2008-02-27 Chong Yidong + + * process.c (wait_reading_process_output): Check for window + changes caused by timers. + Suggested by Johan Bockgård. + +2008-02-27 Glenn Morris + + * emacs.c (USAGE1): Add `--disable-font-backend'. + +2008-02-27 Stefan Monnier + + * fileio.c (Finsert_file_contents): Don't reset undo_list if no change + is made to the buffer. + +2008-02-26 Stefan Monnier + + * dispextern.h (face_at_buffer_position, face_for_overlay_string) + (face_at_string_position): + * xfaces.c (face_at_buffer_position, face_for_overlay_string) + (face_at_string_position): + * xdisp.c (display_string, next_overlay_change): + * buffer.h (overlays_at): + * buffer.c (overlays_at): Use EMACS_INT for buffer positions. + Update callers. + +2008-02-26 Chong Yidong + + * editfns.c (Fformat): Doc fix. + +2008-02-26 Juanma Barranquero + + * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings. + (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf) + (Ffont_otf_alternates, Fquery_font): Doc fixes. + +2008-02-25 Stefan Monnier + + * buffer.c (Fbuffer_swap_text): New function. + (syms_of_buffer): Defsubr it. + +2008-02-25 Chong Yidong + + * keyboard.c (command_loop_1): Revert 2006-10-09 change. + +2008-02-25 Jason Rumney + + * w32font.c (w32font_draw): Draw one character at a time when padding. + +2008-02-25 Stefan Monnier + + * window.c (Fdelete_window, Fadjust_window_trailing_edge): + Handle a nil arg. Use run_window_configuration_change_hook. + (delete_window, adjust_window_trailing_edge): Don't handle nil any more. + (Fenlarge_window, Fshrink_window, Fset_window_configuration): + Use run_window_configuration_change_hook. + +2008-02-25 Kenichi Handa + + * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least + 1-pixel width. + +2008-02-25 Kenichi Handa + + * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p. + (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1 + if the glyph in the font is zero pixel with. + + * dispextern.h (struct glyph_string): New member padding_p. + + * w32font.c (w32font_draw): Pay attention to s->padding_p. + + * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p. + + * xfont.c (xfont_draw): Pay attention to s->padding_p. + + * xftfont.c (xftfont_draw): Pay attention to s->padding_p. + + * font.c: If the font driver doesn't have `shape' function, return Qnil. + +2008-02-25 Jason Rumney + + * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode. + +2008-02-24 Stefan Monnier + + Allow fine-grained image-cache flushing. + * dispextern.h (struct image): Add `dependencies' field. + (clear_image_caches): Change arg to Lisp_Object. + * image.c (make_image): Initialize `dependencies' field. + (clear_image_cache): Change arg to allow fine-grained flushing. + Perform the flush even if image-cache-eviction-delay is nil. + (clear_image_caches): Change arg to Lisp_Object. + (Fclear_image_cache): Expand meaning of the argument. + (mark_image): Mark `dependencies' field. + * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches. + (lface_hash): Use XHASH rather than XFASTINT. + (face_at_buffer_position): Fix int -> EMACS_INT position. + * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position. + (select_frame_for_redisplay): Remove code duplication. + (redisplay_internal): Adapt arg to call to clear_image_caches. + +2008-02-24 Dan Nicolaescu + + * s/vms4-0.h: + * s/vms4-2.h: + * s/vms4-4.h: + * s/vms5-5.h: Remove, unused. + + * s/irix5-2.h: + * s/irix6-0.h: + * s/riscos5.h: + * s/mach-bsd4-3.h: + * m/mips4.h: Remove files for obsolete systems. + + * Makefile.in: + * filelock.c: + * unexmips.c: + * m/hp9000s300.h: + * m/iris4d.h: + * s/aix3-1.h: + * s/hpux.h: + * s/msdos.h: + * s/usg5-0.h: + * s/usg5-2-2.h: + * s/usg5-2.h: + * s/usg5-3.h: Remove references to obsolete variables. + + * s/irix5-0.h: Remove, move all the contents ... + * s/irix6-5.h: ... here. Simplify. + * config.in: Regenerate. + +2008-02-24 Jason Rumney + + * w32term.c (x_draw_glyph_string_background): Clear the background + manually when cleartype is in use. + (x_draw_glyph_string_foreground): Draw text transparently when + cleartype is in use. + + * w32font.c (w32font_text_extents): Avoid getting HDC and selecting + a font into it unless we have to. + +2008-02-19 Stefan Monnier + + * intervals.h (INT_LISPLIKE): Remove. It may misfire. + (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it. + +2008-02-18 Jason Rumney + + * w32fns.c (Fw32_shell_execute): Encode parameters. + +2008-02-09 Eli Zaretskii + + * fileio.c (syms_of_fileio) : Doc fix. + +2008-02-05 Juanma Barranquero + + * unexhp9k800.c (read_header): Replace `legal' with `valid'. + +2008-02-24 Ulrich Neumerkel (tiny change) + + * xterm.c (x_set_offset): Don't change the gravity if + CHANGE_GRAVITY is -1. + +2008-02-23 Chong Yidong + + * fileio.c (auto_save_error_occurred): New var. + (auto_save_error): Set it. + (Fdo_auto_save): Don't overwrite the error message if an auto-save + error occurred. + +2008-02-23 Eli Zaretskii + + * w32.c (globals_of_w32): Add initializations for + g_b_init_get_sid_sub_authority and + g_b_init_get_sid_sub_authority_count. + +2008-02-22 Stefan Monnier + + * font.c (font_match_xlfd, font_check_xlfd_parse): New funs. + (font_parse_xlfd): Use them for sanity check. + (Finternal_set_font_style_table): Make sure the table is bijective. + + Consolidate the image_cache to the terminal struct. + * termhooks.h (P_): Remove redundant def. + (struct terminal): New field `image_cache'. + * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place + of FRAME_X_IMAGE_CACHE. + * xterm.h (struct x_display_info): Remove image_cache field. + (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead. + * w32term.h (struct w32_display_info): Remove image_cache field. + (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead. + * macterm.h (struct mac_display_info): Remove image_cache field. + (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead. + * xterm.c (x_term_init): + * w32term.c (w32_term_init): + * macterm.c (mac_term_init): Set the image_cache in the terminal. + * dispextern.h (clear_image_cache, forall_images_in_image_cache): + Remove declarations. + (clear_image_caches, mark_image_cache): New declarations. + * xfaces.c (clear_face_cache): + * xdisp.c (redisplay_internal): Use clear_image_caches. + * image.c (clear_image_cache): Don't check that a frame is on + a window-system before checking if it shares the same cache. + (clear_image_caches): New function. + (Fclear_image_cache): Use it. + (mark_image): Move from allo.c. + (mark_image_cache): Move from alloc.c and forall_images_in_image_cache. + * alloc.c (mark_image, mark_image_cache): Move to image.c. + (mark_object): Don't call mark_image_cache for frames. + (mark_terminals): Call mark_image_cache. + + * lisp.h (Fdelete_terminal): Declare. + + * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID) + (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of + wrong_type_argument. + +2008-02-22 Kenichi Handa + + * Makefile.in (lisp): Remove devanagari.el, kannada.el, + malayalam.el, and tamil.el. Add sinhala.el. + +2008-02-21 Stefan Monnier + + * xterm.c (x_connection_closed): Consolidate identical tests. + (x_delete_terminal): Don't crash if called via x_connection_closed. + +2008-02-21 Kenichi Handa + + * xdisp.c (decode_mode_spec): New arg string. + (display_mode_element): Adjust for the above change. + +2008-02-19 Stefan Monnier + + * callint.c (Fcall_interactively): Use AREF. + +2008-02-18 Stefan Monnier + + * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs. + +2008-02-18 Jan Djärv + + * xfns.c (Fx_show_tip): Set string to " " if empty. + +2008-02-17 Dan Nicolaescu + + * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive + with Qt. + +2008-02-17 Kenichi Handa + + * ftfont.c (ftfont_shape): Return Lispy number. + + * xfaces.c (prepare_face_for_display): Use display_info->font->fid + for GCs. + (Finternal_set_font_selection_order): Call font_update_sort_order + only when enable_font_backend is set. + (realize_x_face): Set face->font_info to that of default face only + when enable_font_backend is set. + + * xdisp.c (handle_composition_prop): Set it->c to the fist + character of the composed region. + (fill_composite_glyph_string): Set base_face->font_info to + s->font_info. Get a face for ascii from base_face->ascii_face. + (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string + with a face already decided. + (x_produce_glyphs): Be sure to set it->ascent and it->descent to + non-negative. + (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING, + call font_prepare_composition unconditionally. + + * xfns.c (x_make_gc): Use the default font id of the frame for GCs. + + * xterm.h (struct x_display_info): New member font. + + * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs. + (x_set_mouse_face_gc, x_new_font): Likewise. + (x_term_init): Setup display_info->font. + (x_delete_terminal): Free display_info->font. + + * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT. + + * ftxfont.c (ftxfont_default_fid): Delete it. + (ftxfont_open): Set xfont->fid to 0. + (ftxfont_end_for_frame): Clear data specific to the frame and the + font-driver. + + * xftfont.c (xftfont_default_fid): Delete it. + (xftfont_open): Set xfont->fid to 0. + + * fontset.c (FONTSET_OBJLIST): New macro. + (fontset_find_font): Update font-object list of the fontset. + (free_realized_fontset): New function. + (free_face_fontset): Call free_realized_fontset. + (Ffont_info): Call font_close_object only when enable_font_backend + is set. + + * font.c [HAVE_X_WINDOWS]: Include xterm.h. + [HAVE_NTGUI]: Include w32term.h. + [MAC_OS]: Include macterm.ch. + (font_otf_ValueRecord): Use make_number. + (font_finish_cache): Fix handling of reference count. + (font_clear_cache): Update num_fonts. + (font_open_entity): Update smallest_char_width and + smallest_font_height of the frame. + (font_close_object): Update num_fonts. + (Fclear_font_cache): Fix finding the target cache data. + +2008-02-16 Glenn Morris + + * fontset.c (Finternal_char_font): Fix compilation warning. + +2008-02-16 Eli Zaretskii + + * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP + instead of char arrays. Enlarge the size of array passed to + get_token_information. + + * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation + warnings. + +2008-02-15 Dan Nicolaescu + + * .gdbinit: Don't set `args', it breaks gdb --args. + +2008-02-14 Stefan Monnier + + * fileio.c (Finsert_file_contents): Adjust offsets when replacing + within a narrowed buffer. + +2008-02-14 Kenichi Handa + + * coding.c (decode_coding_object, encode_coding_object): + Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer. + +2008-02-12 Stefan Monnier + + * coding.c (coding_set_destination): Use BEG_BYTE rather than + hardcoding 1. + (detect_coding_system): + * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text) + (string_char_to_byte, string_byte_to_char, insert_from_gap): + * insdel.c (insert_from_gap): + * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos) + (string_char_to_byte, string_byte_to_char, string_make_multibyte) + (string_to_multibyte): + * character.c (chars_in_text, multibyte_chars_in_text): + * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions. + + * character.h (FETCH_STRING_CHAR_ADVANCE) + (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE) + (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF. + (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1. + + * casefiddle.c (casify_region): Only call after-change and composition + functions on the part of the region that was changed. + + * keyboard.c (read_avail_input): + * frame.c (Fdelete_frame): Call Fdelete_terminal. + +2008-02-11 Stefan Monnier + + * buffer.c (clone_per_buffer_values, reset_buffer_local_variables) + (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list. + +2008-02-11 Juanma Barranquero + + * w32menu.c (push_submenu_start, push_submenu_end) + (push_left_right_boundary, push_menu_pane, push_menu_item): + * keyboard.c (read_key_sequence): Don't pass args with side effects + to AREF, it fails when compiling with -DENABLE_CHECKING. + +2008-02-11 Kenichi Handa + + * Makefile.in (${lispsource}international/charprop.el): + Delete this target. + + * search.c (boyer_moore): Fix incorrect synching of the trunk and + emacs-unicode-2. + +2008-02-11 Stefan Monnier + + * terminal.c (Fdelete_terminal): Clean up the `force' path. + +2008-02-10 Stefan Monnier + + * frame.c (Qnoelisp): New symbol. + (syms_of_frame): Initialize it. + (Fdelete_frame): Use it to distinguish a mere `force' passed from some + harmless Elisp code, from a strong `force' from x_connection_closed. + * frame.h (Qnoelisp): Declare. + * xterm.c (x_connection_closed): Pass `noelisp'. + + * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker) + (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd) + (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type + rather than `int' for the type of `type'. + +2008-02-10 Dan Nicolaescu + + * s/gnu-linux.h: Remove support for non-ELF and linux-1.x. + + * Makefile.in (GNUC): Remove support for gcc-1.x. + +2008-02-10 Richard Stallman + + * lisp.h (ASET): Use AREF, not ASLOT. + +2008-02-10 Stefan Monnier + + * lisp.h (ASET): Check bounds. + +2008-02-10 Glenn Morris + + * buffer.c (mode-name): Doc fix. + +2008-02-09 Dan Nicolaescu + + * Makefile.in: + * emacs.c: + * gmalloc.c: + * keyboard.c: + * lisp.h: + * m/ibm370aix.h: + * process.c: + * regex.c: + * s/hpux.h: + * sysdep.c: + * sysselect.h: + * systty.h: + * unexec.c: + * w32term.c: + * xsmfns.c: + * xterm.c: Remove code that deals with obsolete variables. + + * s/msdos.h (DONT_NEED_ENVIRON): Don't define. + + * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test, + nothing else needs it anymore. + +2008-02-09 Eli Zaretskii + + * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table + instead of unibyte_char_to_multibyte. + +2008-02-09 Dan Nicolaescu + + * s/gnu-linux.h: Remove commented out code. + + * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE. + + * Makefile.in: Update what RMS says about using autoconf. + (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable. + (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1) + (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1) + (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional. + +2008-02-08 Stefan Monnier + + * keymap.c (Fkey_description): Move side effect outside of macro call. + + * xfaces.c (Finternal_make_lisp_face): + * keyboard.c (add_command_key, parse_menu_item): Use ASET. + + * fontset.c (free_face_fontset): Use FONTSET_FROM_ID. + (syms_of_fontset): Use ASET. + + * fns.c (concat): Move side effect outside of macro call. + (hash_clear): Use ASET. + +2008-02-08 Richard Stallman + + * frame.c (Fdelete_frame): If FORCE, don't call hooks. + If FORCE, and frame has a surrogate minibuffer for another frame, + delete the other frame first. + +2008-02-07 Timo Savola + + * xterm.c (x_detect_focus_change): Handle embed client message. + (handle_one_xevent): Ditto. + (handle_one_xevent): If embedded and we get a button press/release, + request focus. + (xembed_set_info, xembed_send_message): New functions. + (x_make_frame_visible): Call xembed_set_info if embedded. + (x_make_frame_invisible): Call xembed_set_info if embedded. + (x_term_init): Initialize Xatom_XEMBED. + (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also. + (x_iconify_frame): Ditto. + + * xterm.h (struct x_display_info): Add AtomXatom_XEMBED. + (enum xembed_info, enum xembed_message, enum xembed_focus) + (enum xembed_modifier, enum xembed_accelerator): New. + (xembed_set_info, xembed_send_message): Declare. + (FRAME_X_EMBEDDED_P): New. + + * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call + gtk_plug_new. + + * xfns.c (Fx_create_frame): Do not override the explicitly set parent + window ID of a frame. + (x_window): Reparent frame if embedded. + (Fx_create_frame): Don't set border width if embedded. + + * emacs.c (USAGE3): Add --parent-id. + (standard_args): Ditto. + +2008-02-07 Jan Djärv + + * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)". + +2008-02-07 Jim Meyering + + Use "do...while (0)", not "if (1)...else" in macro definitions. + The latter provokes a warning from gcc about the empty else, when + followed by ";". Also, without that trailing semicolon, it would + silently swallow up any following statement. + * syntax.h (SETUP_SYNTAX_TABLE) + (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise. + * buffer.h (DECODE_POSITION): Likewise. + * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise. + (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise. + (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise. + (FETCH_CHAR_ADVANCE): Likewise. + (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise. + +2008-02-07 Jim Meyering + + * lread.c [lint]: Don't include . + +2008-02-07 Stefan Monnier + + * xselect.c (x_handle_dnd_message): + * xmenu.c (digest_single_submenu, xmenu_show): + * xdisp.c (with_echo_area_buffer_unwind_data) + (format_mode_line_unwind_data, unwind_format_mode_line) + (display_menu_bar): + * eval.c (Ffetch_bytecode): + * doc.c (store_function_docstring): + * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code) + (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map): + * buffer.c (add_overlay_mod_hooklist): Use ASET. + +2008-02-07 Kenichi Handa + + * ftxfont.c (ftxfont_open): Don't set + dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0. + + * ftfont.c (ftfont_open): Fix previous change. + +2008-02-06 Jason Rumney + + * w32font.c (w32font_text_extents): Fill in lbearing metric. + Use cached metrics for ASCII characters. + (w32font_open_internal): Don't set font's owning_frame. + Cache metrics for ASCII characters. + + * w32font.h (struct w32font_info): Add ascii_metrics. + Remove owning_frame. + +2008-02-06 Kenichi Handa + + * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent + to negative value. + + * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info. + + * ftfont.c (ftfont_open): Fix calculation of font->font.average_width. + + * charset.c (syms_of_charset): Set QCtest and Qeq. + +2008-02-06 Stefan Monnier + + * process.c (Fstart_process): + * callproc.c (Fcall_process): Handle the case where + Funhandled_file_name_directory returns nil. + + * font.h (enum lgstring_indices, enum lglyph_indices): New enums. + (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros. + * font.c (check_gstring): Use them and AREF to access the vector before + we know it's really a gstring. + (Ffont_shape_text): Fix typo. + (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Object mixups. + + * composite.h (Fcompose_region_internal, Fcompose_string_internal): + Declare. + + * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement. + +2008-02-05 Jason Rumney + + * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth. + Set smallest_font_height and smallest_char_width in display info. + +2008-02-05 Kenichi Handa + + * coding.c (decode_eol): Pay attention to coding->dst_multibyte. + +2008-02-05 Miles Bader + + * xfaces.c (get_lface_attributes, merge_named_face) + (lookup_named_face, lookup_derived_face, realize_named_face): + Revert 2008-02-01 change by cyd@stupidchicken.com. + +2008-02-04 Kenichi Handa + + * fontset.c (Ffontset_info): Handle the case of inhibitting the + fallback fonts. + (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names. + +2008-02-04 Jason Rumney + + * w32font.c (w32font_open_internal): Use font_unparse_fcname to + set full_name. + (w32font_open_internal): Use xmalloc, xrealloc, xfree. + +2008-02-03 Jason Rumney + + * makefile.w32-in (OBJ1): Include font.o here. + (FONTOBJ) [USE_FONTBACKEND]: Instead of here. + +2008-02-02 Jason Rumney + + * makefile.w32-in (temacs): Bump EMHEAP to 21. + +2008-02-01 Jason Rumney + + * s/cygwin.h: Define VIRT_ADDR_VARIES. + + * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition. + +2008-02-01 Andreas Schwab + + * Makefile.in (shortlisp, lisp): Update for rename of + ../lisp/language/myanmar.el. + +2008-02-01 Chong Yidong + + * xfaces.c (get_lface_attributes): Delete function. + (merge_named_face, lookup_named_face, lookup_derived_face) + (realize_named_face): Call lface_from_face_name directly, and use + the fact that merge_face_vectors does not alter its FROM argument. + +2008-02-01 Jason Rumney + + * w32term.c (w32_read_socket) : Decode non-Unicode + input in the default locale. Handle non-Unicode multibyte input. + +2008-02-01 Kenichi Handa + + * fontset.c (reorder_font_vector): Exclude nil elements from the + font group. Don't try multiple fonts. + (fontset_font): Adjust for the above change. + (Finternal_char_font): Return nil if the found font doesn't + contain the character ch. + + * Makefile.in (lisp, shortlisp): Add cham.el. + +2008-02-01 Kenichi Handa + + * font.h (FONTP): Make it return 1 also for a font-object. + + * .gdbinit (xfontset): New function. + + * font.c (font_find_for_lface): Check if the character C is + supported or not only for the first font. + + * fontset.c (reorder_font_vector): Fix typo. + (fontset_find_font): Don't add a font-spec specifying a script. + Use 0 (not Qt) for the indication of empty font-group. Change the + format of RFONT-DEF. Return Qt if no font in the font-group + support the character. + (fontset_font): Adjust for the above change. If no font was + found the character, remember that. + (face_for_char): Adjust for the change of RFONT-DEF. + (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify + no font for the target. + (Finternal_char_font): Adjust for the change of RFONT-DEF. + +2008-02-01 Kenichi Handa + + * font.c (font_load_for_face): Handle the case that the font in + face->lface is a string. + +2008-02-01 Kenichi Handa + + * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface. + +2008-02-01 Kenichi Handa + + * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: + Fix previous change. If the frame is not on a window system, + signal an error. + +2008-02-01 Kenichi Handa + + * coding.c (decode_coding_object, encode_coding_object): + Adjust marker positions after conversion. + + * lisp.h (struct Lisp_Marker): New member need_adjustment. + +2008-02-01 Kenichi Handa + + * font.c (font_find_for_lface): Fix the handling of the return + value of font_has_char. + (Ffont_shape_text): Fix previous change. + + * fontset.c (FONTSET_REF_AND_RANGE): Delete it. + (fontset_ref_and_range): Delete it. + (fontset_find_font): Call char_table_ref_and_range instead of + FONTSET_REF_AND_RANGE. + (make_fontset): Don't setup font groups of Latin here. + (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII. + (new_fontset_from_font): Make the specified font the default for + all Latin characters. + +2008-02-01 Kenichi Handa + + * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame + is on a window system before accessing the fontset of the frame. + +2008-02-01 Kenichi Handa + + * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el. + + * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only + when both HAVE_M17N_FLT and HAVE_LIBOTF are defined. + + * font.c (Ffont_shape_text): If the font driver doesn't have a + shaper function, make zero-width glyphs to have at least one-pixel + width. Fix setting of `to' field of glyphs. + +2008-02-01 Kenichi Handa + + * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of + glyphs. + + * font.h (struct font_driver): Improve docstring of member `shape'. + +2008-02-01 Kenichi Handa + + * composite.c (syms_of_composite): Fix docstring of + auto-composition-function. + + * font.h (LGLYPH_SIZE): New macro. + + * font.c (Ffont_fill_gstring): Stop filling when a character not + supported by the font is found. + (Ffont_shape_text): When a shape callback function returns nil, + try at most two more times with larger gstring. + (Ffont_at): Fix getting of w. Call font_at with correct 5th argument. + + * xdisp.c (handle_auto_composed_prop): Change the argument to + auto-composition-function. + + * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE. + (ftfont_shape_by_flt): If an element of lgstring is nil, make a + Lispy glyph and store it in the lgstring. + + * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE. + + * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE. + +2008-02-01 Kenichi Handa + + * font.c (Ffont_shape_text): Avoid unnecessary composition. + + * fontset.c (Vfont_encoding_charset_alist): New variable. + (syms_of_fontset): DEFVAR it. + (reorder_font_vector, fontset_find_font): Optimize for the case of + no need of reordering. + (face_for_char): Map the charset property by + Vfont_encoding_charset_alist. + +2008-02-01 Jason Rumney + + * w32font.c (logfonts_match): Don't check adstyle here. + (font_matches_spec): Check here against physical font instead. + (add_font_entity_to_list): Avoid some substitutions. + + * font.c (font_parse_fcname): Default weight and slant to normal. + (font_score): Prefer normal fonts if weight or slant unspecified. + (font_score) [WINDOWSNT]: Scale weight difference down to closer + match freetype scores. + +2008-02-01 Jason Rumney + + * w32font.c (w32font_text_extents): Don't use the frame stored in the + font, as it may have been deleted. + (w32_enumfont_pattern_entity): Map generic family to adstyle using + most common hyphenless variation. + (logfonts_match): Check generic family. + (font_matches_spec): Don't check generic family here. + (fill_in_logfont): Set generic family based on adstyle. + + * w32font.h (w32font_get_cache): Update declaration. + +2008-02-01 Kenichi Handa + + * ftfont.c (ftfont_get_cache): Adjust the argument type. + + * frame.c (x_set_font_backend): Don't call Fclear_font_cache. + If none of the new drivers are available, call font_update_drivers + with the old drivers. + + * w32font.c (w32font_get_cache): Adjust the argument type. + + * xfont.c (xfont_get_cache): Adjust the argument type. + + * font.h (struct font_driver): Change argument type of get_cache. + + * xftfont.c (xftfont_start_for_frame): Delete prototype. + + * font.c (Ffont_get): Fix arguments to Fassoc. + (font_prepare_cache, font_finish_cache, font_get_cache): New functions. + (font_clear_cache): New function. + (font_list_entities, font_matching_entity): Use font_get_cache. + (font_update_drivers): Call font_clear_cache when finishing a driver. + + * fontset.c (fontset_find_font): Fix previous change. + +2008-02-01 Kenichi Handa + + * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access + dpyinfo->font_table. + (x_delete_display) [USE_FONT_BACKEND]: Likewise. + (x_delete_terminal) [USE_FONT_BACKEND]: Likewise. + + * font.c (font_at): Handle the case that the arg C is negative. + Handle the unibyte case. + (Ffont_at): Call font_at with the arg C -1. + + * xdisp.c (handle_auto_composed_prop): Don't get a character at + the position here, and call font_at with the arg C -1. + Don't check the range of the existing composition at the point. + +2008-02-01 Kenichi Handa + + * fontset.c (fontset_add): New args charset_id and family. + Change caller. + (load_font_get_repertory, fontset_find_font): Assume that + font_spec is always a font-spec object. + (Fset_fontset_font): Always store a font-spec object in a fontset. + + * xdisp.c (handle_auto_composed_prop): Use Fget_text_property + instead of get_property_and_range. + +2008-02-01 Kenichi Handa + + * xftfont.c (struct xftfont_info): Delete the member ft_face. + (xftfont_open): Don't keep locking face. + (xftfont_close): Don't unlock face. + (xftfont_anchor_point, xftfont_shape): Lock and unlock face. + + * fontset.c (fontset_find_font): Don't prefer a font of + supplementary charset. + +2008-02-01 Kenichi Handa + + * ftfont.c (struct OpenTypeSpec): Rename members script_tag to + script, langsys_tag to langsys, new member script. + (OTF_TAG_STR): Terminate by '\0'. + (ftfont_get_open_type_spec): If :otf prop is spec, limit the + listing to the script specified in that property. Fix arg to + OTF_check_features. + +2008-02-01 Jason Rumney + + * w32font.h: New file. + + * w32font.c: Include it. + (struct w32font_info): Add owning_frame field. Move to w32font.h. + (w32font_open): Set owning_frame. + (w32font_text_extents): Use owning_frame. + (struct font_callback_data): Add opentype_only field. + (add_font_entity_to_list): Use it to filter fonts. + Don't check against full name. + (w32font_list_internal): New function. + (w32font_list): Use it. + (w32font_match_internal): New function. + (w32font_match): Use it. + (w32font_open_internal): New function. + (w32font_open): Use it. + (w32font_get_cache, w32font_close, w32font_has_char) + (w32font_encode_char, w32font_text_extents, w32font_draw): + Make non-static. + + * makefile.w32-in (w32font.o): Depend on w32font.h. + +2008-02-01 Kenichi Handa + + * charset.c (Fdefine_charset_internal): Record a supplementary + charset at the tail of Vcharset_order_list. + + * font.c (Ffont_shape_text): Fix the return value. + + * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names. + + * xdisp.c (handle_auto_composed_prop): Fix previous change. + +2008-02-01 Kenichi Handa + + * ftfont.c (struct OpenTypeSpec): New struct. + (OTF_SYM_TAG, OTF_TAG_STR): New macros. + (ftfont_get_open_type_spec): New function. + (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property. + + * lread.c (read1): Redo the previous change with checking Vpurify_flag. + +2008-02-01 Jason Rumney + + * w32font.c (add_font_entity_to_list): Compare only the beginning + of full name. + +2008-02-01 Kenichi Handa + + * xdisp.c (handle_auto_composed_prop): Simplify the code. + Never return HANDLED_RECOMPUTE_PROPS. + +2008-02-01 Kenichi Handa + + * font.c (font_gstring_produce): Delete it. + + * composite.h (COMPOSITION_METHOD): + Handle COMPOSITION_WITH_GLYPH_STRING. + +2008-02-01 Kenichi Handa + + * xfont.c (Qx): Delete. + (syms_of_xfont): Don't initialize Qx. + + * composite.h (enum composition_method): + Define COMPOSITION_WITH_GLYPH_STRING unconditionally. + +2008-02-01 Kenichi Handa + + * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally. + (choose_face_font): Accept new form of font-spec. + + * frame.h (font_driver_list): Declare it unconditionally. + (struct frame): Define members font_driver_list and font_data_list + unconditionally. + + * fontset.c: Include "font.h" unconditionally. + (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd. + (Fset_fontset_font): Accept a font-spec object. + + * font.c (font_unparse_xlfd): If pixel_size is zero, make the + PIXEL_SIZE part a wild card. + + * dispextern.h (struct glyph_string): Define members clip and + num_clips unconditionally. + (struct face): Define members font_info and extra unconditionally. + + * ftfont.c (ftfont_open): Set members maybe_otf and otf of + ftfont_info only when HAVE_LIBOTF is defined. + +2008-02-01 Andreas Schwab + + * xdisp.c (back_to_previous_visible_line_start): Fix type of beg + and end. + +2008-02-01 Jason Rumney + + * w32font.c (w32font_driver): Add new fields. + +2008-02-01 Kenichi Handa + + * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@. + (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally. + (LIBES): Add @M17N_FLT_CFLAGS@. + + * composite.c (compose_text): Don't treat the new style + composition specially. + + * emacs.c (main): Call syms_of_font unconditionally. + + * font.h (FONT_ENTITY_NOT_LOADABLE) + (FONT_ENTITY_SET_NOT_LOADABLE): New macros. + (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring. + (struct font_driver): New member shape. + (font_registry_charsets): Extern it. + (font_find_for_lface, font_prepare_composition): Adjust prototype. + (font_otf_capability, font_drive_otf): Delete their externs. + + * font.c [HAVE_M17N_FLT]: Include . + (font_charset_alist, font_registry_charsets): Move from xfont.c + and rename. + (font_prop_validate_otf): New function. + (font_property_table): Register it for QCotf. + (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER) + (font_drive_otf): Delete. + (font_prepare_composition): New arg F. Adjust for the change of + lispy gstring. + (font_find_for_lface): New arg C. + (font_load_for_face): Adjust for the change of font_find_for_lface. + (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of + lispy gstring. + (Ffont_shape_text): New function. + (Fopen_font): If the font size is not given, use 12-pixel. + (Ffont_at): New arg STRING. + (syms_of_font): Initialize font_charset_alist. + Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont + conditionally. + + * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple + fonts of the same font-spec. Change the format of RFONT-DEF. + (face_for_char, make_fontset_for_ascii_face, Finternal_char_font): + Adjust for the change of RFONT-DEF. + (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec. + + * ftfont.h: New file. + + * ftfont.c: Don't include Freetype headers. Include "ftfont.h". + (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf. + (ftfont_open) [HAVE_LIBOTF]: Initialize the above members. + (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set + font_otf_capability and font_drive_otf, set ftfont_shape. + (ftfont_list): Adjust for the change of :otf property value. + (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct. + (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf) + (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt) + (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function. + (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro. + (otf_gstring, gstring, m17n_flt_initialized): New variables. + + * w32term.c (x_draw_composite_glyph_string_foreground): + Adjust for the change of lispy gstring. + + * xdisp.c (handle_composition_prop): Adjust for the change of + lispy gstring. Call a function for auto-composition with the + third arg it->window. + (fill_composite_glyph_string): Adjust for the change of lispy string. + (x_produce_glyphs): Adjust for the change of font_prepare_compositionl. + + * xfaces.c (set_font_frame_param): Adjust for the change of + font_find_for_lface. + + * xfont.c (x_font_charset_alist): Move to font.c and rename. + (xfont_registry_charsets): Likewise. Change caller. + (syms_of_xfont): Don't handle x_font_charset_alist. + + * xftfont.c: Include "ftfont.h". + (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf. + (xftfont_open) [HAVE_LIBOTF]: Initialize the above members. + (xftfont_close) [HAVE_LIBOTF]: Close otf. + (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function. + (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]: + Set xftfont_driver.shape to xftfont_shape. + + * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for + the change of lispy gstring. + +2008-02-01 Kenichi Handa + + * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error. + +2008-02-01 Jason Rumney + + * w32font.c (w32font_draw): Fill background manually. + +2008-02-01 Jason Rumney + + * font.c (Qfontp): Remove unused symbol. + (QCantialias): New symbol. + (syms_of_font): Define it. + (font_property_table): Set a validator for QCantialias. + + * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY): + Define if not already. + (QCfamily): Share with xfaces.c. + (Qstandard, Qsubpixel, Qnatural): New symbols. + (syms_of_w32font): Define them. Don't define QCfamily here. + (w32_antialias_type, lispy_antialias_type): New functions. + (w32_enumfont_pattern_entity): New arg requested_font. + Set antialias parameter if non-default was requested. + (fill_in_logfont): Fill in lfQuality if :antialias specified. + +2008-02-01 Kenichi Handa + + * lread.c (read1): Undo the previous change. + +2008-02-01 CHENG Gao (tiny change) + + * frame.c (Fdelete_frame): Call font_update_drivers only when + USE_FONT_BACKEND is defined. + +2008-02-01 Kenichi Handa + + * font.h (struct font_bitmap): New member bits_per_pixel. + (struct font_driver): New members start_for_frame and end_for_frame. + (struct font_data_list): New struct. + (font_put_frame_data, font_get_frame_data): Extern them. + + * frame.h (struct frame): New member font_data_list. + + * font.c (font_update_drivers): Call driver->start_for_frame and + driver->end_for_frame at proper timings. + (font_put_frame_data, font_get_frame_data): New functions. + (Ffont_spec): Add usage in the docstring. + + * frame.c (make_frame): Initialize f->font_data_list to NULL. + (Fdelete_frame): Call font_update_drivers. + + * xftfont.c (struct xftface_info): Delete the member xft_draw. + (xftfont_prepare_face, xftfont_done_face): Adjust for the above change. + (xftfont_get_xft_draw): New function. + (xftfont_draw): Get XftDraw by xftfont_get_xft_draw. + (xftfont_end_for_frame): New function. + (syms_of_xftfont): Set xftfont_driver.end_for_frame. + + * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs. + Change argument. Cache GCs in the per-frame data. + (struct ftxfont_frame_data): New struct. + (ftxfont_draw_bitmap): New arg gc_fore and flush. + (ftxfont_prepare_face, ftxfont_done_face): Delete them. + (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs. + (ftxfont_end_for_frame): New function. + (syms_of_ftxfont): Set ftxfont_driver.end_for_frame. + + * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel. + +2008-02-01 Kenichi Handa + + * xselect.c (Vselection_coding_system) + (Vnext_selection_coding_system): Delete them. + (syms_of_xselect): Don't declare selection-coding-system and + next-selection-coding-system. They are declared in select.el. + +2008-02-01 Jason Rumney + + * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already. + + * w32fns.c: Include imm.h. + (get_composition_string_fn, get_ime_context_fn): New optional + system functions. + (globals_of_w32fns): Load them from imm32.dll. + (ignore_ime_char): New flag. + (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and + WM_IME_ENDCOMPOSITION messages. + + * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as + MULTIBYTE_CHAR_KEYSTROKE_EVENT. + +2008-02-01 Kenichi Handa + + * lread.c (READCHAR): Call readchar with the 2nd arg NULL. + (READCHAR_REPORT_MULTIBYTE): New macro. + (readchar): New 2nd arg MULTIBYTE. + (read1): Use READCHAR_REPORT_MULTIBYTE for the first read. + Make symbol's name multibyte according to the multibyteness of the + source. + +2008-02-01 Kenichi Handa + + * xfaces.c (face_for_overlay_string): Call lookup_face with + correct arguments (fix of synching with the trunk). + +2008-02-01 Kenichi Handa + + * font.c (font_prop_validate_symbol, font_prop_validate_style) + (font_prop_validate_non_neg, font_prop_validate_spacing): + Delete argument prop_index. + (font_property_table): Change arguments to validater. Change Callers. + (font_lispy_object): Delete. + (font_at): Use font_find_object instead fo font_lispy_object. + +2008-02-01 Kenichi Handa + + * fileio.c (Fexpand_file_name): Adjust multibyteness of directory + and file names. + +2008-02-01 Jason Rumney + + * w32font.c (add_font_name_to_list): Avoid vertical fonts. + (font_matches_spec): Remove debug output. + (add_font_entity_to_list): Avoid using substituted fonts. + +2008-02-01 Jason Rumney + + * doc.c (Fsnarf_documentation): + * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change. + +2008-02-01 Miles Bader + + * dispextern.h (struct glyph_row): Only define "clip" field if + HAVE_WINDOW_SYSTEM is defined. + +2008-02-01 Stefan Monnier + + Fix up multi-tty merge. + + * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting + and indentation. + + * xfaces.c (free_realized_face, clear_face_gcs): + Include font_done_for_face in the input_blocked section, just in case. + + * xdisp.c (decode_mode_spec): Use terminal-local coding systems. + (get_char_face_and_encoding): Undo last change and remove the *other* + duplicate definition (i.e. keep the one that's better scoped and that + includes code for the font-backend). + + * terminal.c (create_terminal): Default keyboard_coding to + `no-conversion' and terminal_coding to `undecided'. + + * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag. + + * fontset.c (free_realized_fontsets): Check that the table entry does + contain a fontset before trying to compare it to `base'. + + * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc, + syms_of_charset, and syms_of_coding earlier because init_window_once + now needs Vcoding_system_hash_table to be setup. + + * coding.h (default_buffer_file_coding): Remove. + + * coding.c (default_buffer_file_coding): Remove. + (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather + than ->symbol, and use the terminal-local coding system. + (syms_of_coding): Don't setup the coding-systems that are not + terminal-local. + (Fdefine_coding_system_internal): Use XCAR/XCDR. + + * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table): + Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore. + + * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now + in chartab.c and were re-added here by mistake. + (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector. + + * doc.c (Fsnarf_documentation): + * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from + src to etc. + + * ChangeLog.10: Add mistakenly removed entry. + +2008-02-01 Dan Nicolaescu + + * Makefile.in (fringe.o, minibuf.o): Fix dependencies. + +2008-02-01 Miles Bader + + * xdisp.c (get_char_face_and_encoding): Remove extraneous definition. + Add extra args to FACE_FOR_CHAR. + +2008-02-01 Kenichi Handa + + * keymap.c (where_is_internal_1): If key is a cons, store the copy + in sequence. + + * chartab.c (map_sub_char_table, map_char_table): If the range + contains just one character, call the function with that character + even if the depth is not 3. + +2008-02-01 Jason Rumney + + * w32font.c (w32font_text_extents): Calculate metrics for the + whole string. + +2008-02-01 Jason Rumney + + * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages. + +2008-02-01 Jason Rumney + + * w32term.c (x_set_glyph_string_clipping): + Use get_glyph_string_clip_rects. + (x_set_glyph_string_clipping_exactly, x_draw_glyph_string): + Adjust for the change of struct glyph_string. + + * w32font.c (w32font_draw): Do clipping here. + +2008-02-01 Kenichi Handa + + * xftfont.c (xftfont_draw): Adjust for the change of struct + glyph_string. + + * xterm.c (x_set_glyph_string_clipping): + Use get_glyph_string_clip_rects. + (x_set_glyph_string_clipping_exactly, x_draw_glyph_string): + Adjust for the change of struct glyph_string. + + * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to + the resulting clip(s}. + (expose_overlaps): Add arg r. Change callers. Set it to + row->clip temporarily. + (expose_window): Redraw rows overlapping the exposed area. + + * dispextern.h (struct glyph_row): New member clip. + (struct glyph_string): Delete members clip_x, clip_y, clip_width, + clip_height, new member clip, and num_clips. + +2008-02-01 Kenichi Handa + + * data.c (Fchar_or_string_p): Fix docstring. + +2008-02-01 Kenichi Handa + + * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info, + create a temporary XftDraw object. + +2008-02-01 Kenichi Handa + + * font.c (Ffontp): Fix docstring. + + * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a + strong evidence of ISO-2022. + +2008-02-01 Kenichi Handa + + * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not + SYNTAX_ENTRY_FOLLOW_PARENT. + +2008-02-01 Stefan Monnier + + * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change + its type. + (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns): + Update to the new type of weak_hash_tables and next_weak. + + * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to + a plain C pointer to Lisp_Hash_Table. + + * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP) + (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP) + (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP) + (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP) + (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP) + (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP) + (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP) + (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP) + (GC_EQ): Remove since they've been identical to their non-GC_ + alter-egos ever since the markbit was eradicated. + + * alloc.c: + * buffer.c: + * buffer.h: + * data.c: + * fileio.c: + * filelock.c: + * fns.c: + * frame.h: + * lisp.h: + * macterm.c: + * print.c: + * process.c: + * w32fns.c: + * w32menu.c: + * w32term.c: + * xfns.c: + * xmenu.c: + * xterm.c: Replace uses of GC_* macros with the non-GC_ versions. + +2008-02-01 Kenichi Handa + + * chartab.c (map_sub_char_table): Make it work for the top-level + char-table. Fix handling of parent char-table. + (map_char_table): Adjust for the above change. + +2008-02-01 Jason Rumney + + * w32font.c (Qgdi): Rename from Qw32. + +2008-02-01 Jason Rumney + + * w32bdf.c (get_quoted_string): Make function static. + +2008-02-01 Kenichi Handa + + * xftfont.c (xftfont_open): If one of font's ASCII glyph has + bigger ascent and descent than those of the font, use them as + font's ascent and descent. + +2008-02-01 Kenichi Handa + + * Makefile.in (${lispsource}international/charprop.el): Move this + target within "#ifdef HAVE_UNIDATA" and "#endif". + +2008-02-01 Kenichi Handa + + * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el. + (shortlisp): Add ../lisp/language/tai-viet.el. + +2008-02-01 Ulrich Mueller + + * Makefile.in (${lispsource}international/charprop.el): Depend on + temacs${EXEEXT}. + +2008-02-01 Jason Rumney + + * w32font.c (w32font_close): Delete the GDI font object. + + * w32menu.c: Include character.h. + + * w32proc.c: Likewise. + + * w32select.c: Likewise. + + * makefile.w32-in (w32proc.o): Depend on character.h. + +2008-02-01 Jason Rumney + + * w32fns.c (syms_of_w32fns): Use DEFSYM macro. + + * w32menu.c (syms_of_w32menu): Likewise. + + * w32proc.c (syms_of_ntproc): Likewise. + + * w32select.c (syms_of_w32select): Likewise. + + * w32term.c (syms_of_w32term): Likewise. + +2008-02-01 Jason Rumney + + * w32font.c (w32font_draw): Delete brush after using it. + +2008-02-01 Jason Rumney + + * w32font.c (w32font_open): Don't set font_idx. + (w32font_text_extents): Try GetTextExtentPoint32W before defaulting + to font settings. + (w32font_draw): Fill background explicitly. + +2008-02-01 Jason Rumney + + * w32term.c (w32_initialize): Don't call w32font_initialize. + + * w32font.c (w32font_info): Remove subranges. + (QCsubranges, Qmodern, Qswiss, Qroman): Remove. + (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif) + (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian) + (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali) + (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada) + (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian) + (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham) + (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan) + (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun) + (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical): + New symbols. + (font_callback_data): New struct. + (w32font_list, w32font_match): Use it. + (w32font_open): Don't populate subranges. + (w32font_has_char): Use script Lisp symbols, not subrange bitmask. + (w32font_encode_char): Always return unicode code-point as-is. + (w32font_text_extents): Supply a transformation matrix to + GetGlyphOutline. Never look up by glyph index. Avoid looping + twice. Use unicode version of GetTexExtentPoint32 instead of + glyph index version. + (set_fonts_frame): Remove. + (w32_enumfont_pattern_entity): Add frame parameter, use it to + set frame parameter. Use backward compatible fake foundries. + Save generic family in extra slot under QCfamily. Make width slot + constant. Save QCspacing value. Save list of scripts instead of + binary subranges. + (w32_generic_family, logfonts_match, font_matches_spec): New functions. + (add_font_entity_to_list): Use font_callback_data struct. + Filter unwanted fonts. + (add_one_font_entity_to_list): Use font_callback_data struct. + (w32_registry): Default to iso10646_1. + (fill_in_logfont): Use dpi from extra slot. Don't bother with + string font registries. Don't fill in font name if it is a generic + family name, fill family instead. Use spacing, family and script + extra info to fill pitch, family and charset fields. + (list_all_matching_fonts): Use font_callback_data struct. + (unicode_range_for_char): Remove. + (font_supported_scripts): New function. + (w32font_initialize): Remove. + (syms_of_w32font): Update which symbols are defined. + +2008-02-01 Jason Rumney + + * font.c (font_pixel_size): Reverse assq_no_quit args. + + * w32term.h (FONT_WIDTH): Report max width, not average. + (FONT_MAX_WIDTH): Remove. + (FONT_AVG_WIDTH): New macro. + + * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only + redefinition of FONT_WIDTH. + + * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH. + (w32_cache_char_metrics): Use FONT_WIDTH. + + * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH. + +2008-02-01 Jason Rumney + + * w32font.c (w32font_open): Make lfHeight negative. + + * w32fns.c (x_default_font_parameter): Use new style font name. + (Fx_create_frame, x_create_tip_frame): Initialize resx and resy. + +2008-02-01 Jason Rumney + + * w32font.c (QCsubranges): New symbol. + (w32font_open, w32font_has_char): Get subranges from subproperty + of extra. + (w32_enumfont_pattern_entity): Set subranges as subproperty of extra. + (syms_of_w32font): Define :subranges symbol. + + * font.c (font_put_extra): Expose externally. + + * font.h (font_put_extra): Move declaration from font.c. + + * font.c (Ffont_get): Use font driver to determine otf capability. + (adjust_anchor): Check if driver defines anchor_point before using. + + * w32font.c (w32font_open): Handle size, height and pixel_size better. + (w32font_draw): Use options. + (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts. + Fix detection of truetype fonts. + (registry_to_w32_charset): Handle charsets other than iso8859-1 + expressed as lisp symbols. + (w32_registry): Express charset as lisp symbol. + (fill_in_logfont): Reverse pixel and point height logic. + Don't set width here. Set quality to default. + + * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts. + (x_to_w32_font): Fill in lfPitchAndFamily correctly. + + * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]: + Remove redundant loop and allocation. + + * makefile.w32-in (font.o, w32font.o): New objects. + (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h. + (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND. + + * xdisp.c (fill_composite_glyph_string): Make the first arg to + STORE_XCHARB a valid l-value. + + * w32term.c (w32_native_per_char_metric): Swap width and rbearing + calculations for non-Truetype fonts. + (x_draw_glyph_string): Sync with xterm.c. + (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]: + Remove redundant code. + (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize. + + * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member. + (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h. + + * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c. + (x_to_w32_charset, w32_to_x_charset): Expose externally. + + * w32font.c: New file for w32 font backend. + +2008-02-01 Kenichi Handa + + * term.c: Don't include "buffer.h" twice. + +2008-02-01 Kenichi Handa + + * character.c (Funibyte_string): New function. + (syms_of_character): Defsubr it. + +2008-02-01 Jason Rumney + + * w32term.c [USE_FONT_BACKEND]: + (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc) + (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly) + (x_draw_glyph_string, x_draw_glyph_string_foreground) + (x_draw_composite_glyph_string_foreground, x_new_fontset2) + (x_free_frame_resources): Sync with xterm.c. + +2008-02-01 Andreas Schwab + + * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate + char-table size. + +2008-02-01 Kenichi Handa + + * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF. + +2008-02-01 Kenichi Handa + + * ftfont.c (ftfont_driver): Delete font_otf_gsub and + font_otf_gpos, add font_drive_otf. + + * fontset.c (fontset_find_font): Pay attention to font size + specified for a font. + (reorder_font_vector): Check contents of font_def. + + * font.c (struct otf_list): Delete it. + (otf_list): Make it a lisp variable. + (otf_open): Use lispy otf_list. + (generate_otf_features): Rename from parse_gsub_gpos_spec. + (check_otf_features): New function. + (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor): + New functions. + (font_drive_otf): New function merging font_otf_gsub and + font_otf_gpos. + (font_open_for_lface): New arg spec. Change argument order. + (font_load_for_face): Adjust for the change of font_open_for_lface. + (Ffont_drive_otf): New function merging Ffont_otf_gsub and + Ffont_otf_gpos. + (syms_of_font): Staticpro otf_list. Delete defsubr of + Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf. + + * xfaces.c (set_font_frame_param): Adjust for the change of + font_open_for_lface. + + * font.h (font_open_for_lface): Adjust prototype. + (struct font_driver): Delete members otf_gsub and otf_gpos, add + member otf_drive. + (font_otf_gsub, font_otf_gpos): Delete externs. + (font_drive_otf): Extern it. + +2008-02-01 Kenichi Handa + + * font.c (font_at): If the window W is not on a window system, + return Qnil. + + * coding.c (produce_chars, encode_coding): Don't call + insert_from_gap if no characters to produce. + +2008-02-01 Kenichi Handa + + * fontset.c (free_realized_fontsets): Avoid unnecessary call of + Fclear_face_cache. + + * xfaces.c (face_for_font): Check also face->font==font->font.font. + +2008-02-01 Miles Bader + + * emacs.c (main): Change default value of `enable_font_backend' to 1. + Parse "--disable-font-backend" option. + (standard_args): Add "--disable-font-backend" option. + +2008-02-01 Kenichi Handa + + * fontset.c (fontset_find_font): New function. + (fontset_font): Use fontset_find_font. + (make_fontset_for_ascii_face): Don't set face ID in rfont_def. + Register the specified font for all Latin characters. + (new_fontset_from_font): Register the specified font for all Latin + characters. + (dump_fontset): For a realized fontset, include the base fontset + name in the returned vector. + +2008-02-01 Kenichi Handa + + * character.h (CHAR_STRING): Cast C to unsigned on calling + char_string. + + * character.c (char_string): Type of arg C changed to unsigned. + Signal an error if C is an invalid character code. + + * editfns.c (general_insert_function, Fchar_to_string): + Use CHARACTERP, not INTEGERP. + +2008-02-01 Kenichi Handa + + * character.h (MIN_MULTIBYTE_LEADING_CODE) + (MAX_MULTIBYTE_LEADING_CODE): New macros. + + * regex.c (analyse_first): Fix for multibyte characters in "case + charset:" and "case categoryspec:". + +2008-02-01 Andreas Schwab + + * Makefile.in (LIBES): Move standard libraries to the end. + +2008-02-01 Kenichi Handa + + * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is + nonzero, don't shrink the buffer nextb. + + * buffer.h (struct buffer_text): New member inhibit_shrinking. + + * coding.c (coding_alloc_by_making_gap): New arg offset. + (alloc_destination): Call coding_alloc_by_making_gap with the arg + offset. + (decode_coding_iso_2022): Update coding->safe_charsets. + (decode_coding_gap): Temporarily set + current_buffer->text->inhibit_shrinking to 1. + +2008-02-01 Kenichi Handa + + * xterm.c (x_draw_composite_glyph_string_foreground): + Fix indexing into elements of s->cmp and s->char2b. + +2008-02-01 Juanma Barranquero + + * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'. + +2008-02-01 Kenichi Handa + + * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable + target_multibyte instead of multibyte. + (re_match_2_internal): Call bcmp_translate with target_multibyte. + (bcmp_translate): Change the argument name from multibyte to + target_multibyte. + +2008-02-01 Kenichi Handa + + These changes are to compile a regexp into a pattern that can be + used both for multibyte and unibyte targets. + + * Makefile.in (search.o): Depend on charset.h. + + * character.c (multibyte_char_to_unibyte_safe): New function. + + * search.c: Include "charset.h". + (compile_pattern_1): Delete argument multibyte. Don't set + cp->buf.target_multibyte here. Set cp->buf.charset_unibyte. + (compile_pattern): Don't compare cp->buf.target_multibyte. + Compare cp->buf.charset_unibyte. + (compile_pattern): Set cp->buf.target_multibyte. + + * lisp.h (multibyte_char_to_unibyte_safe): Extern it. + + * regex.h (struct re_pattern_buffer): New member charset_unibyte. + + * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg + multibyte. Change callers. + (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros. + (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers + to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively. + (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros. + (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table. + (regex_compile): Make the compiled pattern usable both for + multibyte and unibyte targets. + (analyse_first): Make the fastmap usable both for multibyte and + unibyte targets. + (TRANSLATE_VIA_MULTIBYTE): Delete. + (re_match_2_internal): Pay attention to the case that the + multibyteness of bufp and target may be different. + +2008-02-01 Kenichi Handa + + * xdisp.c (x_produce_glyphs): When a font is not found, make the + empty box occupy at least one column width. + +2008-02-01 Miles Bader + + * Makefile.in: Remove redundant HAVE_XFT clause. + +2008-02-01 Kenichi Handa + + * xrdb.c (x_load_resources): Setup the default fontSet X resource. + +2008-02-01 Kenichi Handa + + * fontset.c (Finternal_char_font): Fix for the case of POSITION + being nil. + +2008-02-01 Kenichi Handa + + * xftfont.c (xftfont_open): Call FcConfigSubstitute. + +2008-02-01 Kenichi Handa + + * xftfont.c (xftfont_open): Don't enable antialias explicitly. + +2008-02-01 Kenichi Handa + + * search.c (simple_search): Fix previous change. + +2008-02-01 Kenichi Handa + + * xftfont.c (ftfont_font_format): Extern declaration. + + * frame.c (x_set_font): Fix the second arg to fs_query_fontset. + + * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0. + (xfont_list): Don't directly use Lisp_Object as an operand of &&. + + * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0. + (ftfont_font_format): Fix previous change. + + * font.h (Ffont_xlfd_name): EXFUN it. + + * font.c (font_parse_xlfd): Fix the array size of `f'. + (register_font_driver): Use EQ to compare driver->type. + + * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function. + (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2. + (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise. + +2008-02-01 Kenichi Handa + + * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family) + (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined. + +2008-02-01 Kenichi Handa + + * xfont.c (xfont_open): Set font->format. + + * xftfont.c (xftfont_open): Set font->format. + + * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern. + (ftfont_list): Include FC_FONTFORMAT in FcObject. + (ftfont_open): Set font->format. + (ftfont_font_format): New function. + + * font.h (struct font): New member format. + + * font.c (Qopentype): New variable. + (syms_of_font): Defsym it. + (Fquery_font): Change the format of the last element of the return + value. + +2008-02-01 Kenichi Handa + + * xfns.c (xic_create_xfontset): Try the default fontset name as a + last resort. + +2008-02-01 Kenichi Handa + + * coding.c (detect_coding_charset): Fix detection of multi-byte + charset. + +2008-02-01 Bob Halley (tiny change) + + * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0. + +2008-02-01 Kenichi Handa + + * xdisp.c (get_next_display_element): Set it->face_id for the + first component of a composition. + (x_produce_glyphs): Check if the font is changed or not for composition. + +2008-02-01 Kenichi Handa + + * fontset.c (Qlatin): New variable. + (syms_of_fontset): Define it as a lisp symbol. + (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII. + +2008-02-01 Kenichi Handa + + * font.c (font_unparse_fcname): Pay attention to the case that + some of font property is a null string. + +2008-02-01 Kenichi Handa + + * term.c: Include "composite.h". + (encode_terminal_code): Output all components of composition. + Check the size of encode_terminal_src. + (produce_glyphs): For composition, call produce_composite_glyph. + (append_composite_glyph, produce_composite_glyph): New functions. + + * xdisp.c (x_produce_glyphs): In handling composition, if a font + is not found, get font_info from the current ascii face. + +2008-02-01 Kenichi Handa + + * fileio.c (Finsert_file_contents): On replacing, temporarily bind + buffer-file-name to Qnil before calling insert_from_buffer. + + * font.c (font_unparse_fcname): Pay attention to the case that + foundry is a null string. + +2008-02-01 Kenichi Handa + + * ftfont.c (ftfont_list): Allow registry "unicode-sip". + + * font.c (Qunicode_sip): New variable. + (syms_of_font): Declare it as a Lisp symbol. + + * font.h (Qunicode_sip): Extern it. + +2008-02-01 Kenichi Handa + + * composite.c (get_composition_id): Pay attention to TAB component. + + * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw + TAB. Adjust for the change of s->char2b which always points to + the first element of allocated memory. + + * xftfont.c (xftfont_text_extents): Fix calculation of descent value. + + * xdisp.c (handle_composition_prop): Set it->c to the first + non-TAB component. + (fill_composite_glyph_string): Change argument. + (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change. + (x_produce_glyphs): Fix handling of left/right padding. + +2008-02-01 Kenichi Handa + + * coding.c (detect_coding_system): Fix for handling off + inhibit_iso_escape_detection. Fix for the case that no coding + system is defined for a specific coding category. + +2008-02-01 Kenichi Handa + + * font.c (font_matching_entity): Delete unused local var. + + * xftfont.c (xftfont_open): Call XftDefaultSubstitute before + opening a font. + + * fileio.c (Finsert_file_contents): On recovering a file, assume + Unix-like eol. + (choose_write_coding_system): On auto-saving a file, force + Unix-like eol. + + * coding.c (setup_coding_system): Fix setting of + coding->common_flags based on eol_type. + (coding_inherit_eol_type): If PARENT is not nil, be sure to + inherit from it. + +2008-02-01 Kenichi Handa + + * alloc.c (NSTATICS): Increas to 0x600. + +2008-02-01 Kenichi Handa + + * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match. + (ftfont_list): Don't check :name property. + (ftfont_match): New function. + (ftfont_pattern_entity): If the pattern doesn't contain + FC_SPACING, don't assume FC_MONO. + + * font.h (struct font_driver): New member `match'. + (font_update_drivers): Adjust prototype. + + * font.c (font_parse_fcname, font_parse_name): Don't change :name + property of FONT. + (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): + Define them unconditionally. + (font_matching_entity): New function. + (font_open_by_name): Try font_matching_entity if exact match is + not found. + (font_update_drivers): Delete the arg FONT. Return a list of + actually used backends. Don't free faces, font caches here. + Don't store data in frame parameters. Don't call x_set_font. + (Ffont_spec): Store :name property as is. + (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability. + (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub. + (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos. + (Ffont_otf_alternates): Check if the driver has otf_gsub function. + Call font->driver->otf_gsub instead of font_otf_gsub. + + * frame.c (x_set_font_backend): Do more works that were done in + font_update_drivers before. + + * xfont.c (xfont_match): New function. + (xfont_driver): Set xfont_driver.match to xfont_match. + (xfont_draw): Set font in GC if necessary. + + * ftxfont.c (ftxfont_match): New function. + (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match. + + * xftfont.c (xftfont_match): New function. + (syms_of_xftfont): Set xftfont_driver.match to xftfont_match. + +2008-02-01 Kenichi Handa + + * font.h (struct font): New member scalable. + (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub. + (font_otf_gsub): Adjust prototype. + + * font.c (font_otf_capability): Fix handling of the default langsys. + (parse_gsub_gpos_spec): Change type to void. New arg nbytes. + Check the contents of SPEC. + (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros. + (check_gstring): New function. + (REPLACEMENT_CHARACTER): New macro. + (font_otf_gsub): New arg alternate_subst. Be sure to set all + glyph codes of GSTRING. + (font_otf_gpos): Be sure to set all glyph codes of GSTRING. + (font_prepare_composition): Set cmp->glyph_len. + (font_open_entity): Set font->scalable. + (Ffont_get): Handle :otf property. + (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): + New functions. + (Fquery_font): Use font->font.full_name. + (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and + Sfont_otf_alternates. + + * ftfont.c (ftfont_open): Set font->font.full_name and + font->font.name properly. Fix calculation of font->font.height + and font->min_width. + + * ftxfont.c (ftxfont_create_gcs): New function. + (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap. + (ftxfont_draw_backgrond): Fix filling region. + (ftxfont_default_fid): New function. + (ftxfont_open): Set xfont->fid to the return value of + ftxfont_default_fid. + (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs. + (ftxfont_done_face): Free only GCs that are created by + ftxfont_create_gcs. + (ftxfont_draw): If face->gc != s->gc, create proper GCs. + + * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]: + Clip to src->width, etc (not src->clip_XXX). + + * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle + FontBackend frame parameter. + +2008-02-01 Kenichi Handa + + * font.h (struct font_driver_list): New member `on'. + (Fclear_font_cache): EXFUN it. + (font_update_drivers): Extern it. + + * font.c (font_unparse_fcname): Fix typo (swidth->width). + (font_list_entities): Check driver_list->on. + (register_font_driver): Initialize `on' member to 0. + (font_update_drivers): New function. + (Fclear_font_cache): Check driver_list->on. + + * frame.h (Qfont_backend): Extern it. + (x_set_font_backend): Extern it. + + * frame.c (Qfont_backend): New variable. + (frame_parms): New element for font-backend. + (x_set_font_backend): New function. + + * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle + FontBackend frame parameter. + (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element + x_set_font_backend. + + * xfont.c (xfont_list): Don't try listing by :name property if the + name is not for XLFD. + +2008-02-01 Kenichi Handa + + * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM) + (LGLYPH_SET_TO): New macros. + (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment + element of G is vector or not. + (font_at): Extern it. + + * font.c: Include window.h. + (font_lispy_object): New function. + (font_prepare_composition): Check LGLYPH_FORM (g) to detect the + end of valid glyph. + (font_close_object): Fix getting (struct font *). + (font_at): New function. + (Ffont_get): If FONT is a font-object, get entity from it. + (Ffont_make_gstring): Initialize elements of glyphs with nil. + (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. + Fix range check. + (Ffont_at): New function. + (syms_of_font): Defsubr Sfont_at. + + * xdisp.c (it_props): Move the entry for Qauto_composed to just + before the entry for Qcomposition. + (handle_auto_composed_prop): Call auto-composition-function with 4 args. + (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from + the font in gstring. + (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check + LGLYPH_FORM (g) to detect the end of valid glyph. + (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if + we are composing with gstring. + + * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]: + Check if adjustment is vector or not. + + * Makefile.in (font.o): Make it depends on window.h. + +2008-02-01 Kenichi Handa + + * xterm.c (x_draw_composite_glyph_string_foreground): Check if + adjustment is vector or not. + +2008-02-01 Miles Bader + + * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE. + +2008-02-01 Kenichi Handa + + * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST) + (LGLYPH_SET_WIDTH): Adjust for the change of LGLYPH format. + (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros. + + * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card. + (DEVICE_DELTA): Fix typo. + (font_otf_gpos, font_prepare_compositio): Adjust for the change of + LGLYPH format. + + * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for + the change of LGLYPH format. + +2008-02-01 Kenichi Handa + + * ftfont.c (ftfont_list): Fix typo. + (ftfont_build_basic_charsets): Don't include letters with diacritics. + +2008-02-01 Jan Djärv + + * xfaces.c (realize_non_ascii_face): Set face->extra to NULL. + + * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if + xftface_info is non-NULL. + +2008-02-01 Jan Djärv + + * ftfont.c (ftfont_list): Move misplaced #endif. + +2008-02-01 Kenichi Handa + + * ftfont.c (ftfont_list): Pay attention to the case that + FC_CAPABILITY is not defined. + +2008-02-01 Kenichi Handa + + * xftfont.c (xftfont_open): Set charset related members to -1. + + * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of + QCname. + (ftfont_open): Set charset related members to -1. + + * fontset.c (Votf_script_alist): New variable. + (syms_of_fontset): Initialize it. + (fontset_font): Delete unused variable. + + * fontset.h (Votf_script_alist): Extern it. + + * font.c (font_find_for_lface): Optimize code. + + * font.h (font_close_object, font_merge_old_spec): Extern them. + +2008-02-01 Kenichi Handa + + * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables. + (syms_of_font): Initialize them. + (font_pixel_size): Allow float value in dpi. + (font_prop_validate_type): Delete. + (font_prop_validate_symbol, font_prop_validate_style): Change argument. + Change caller. + (font_prop_validate_non_neg): Rename from font_prop_validate_size. + (font_prop_validate_extra): Delete. + (font_prop_validate_spacing): New function. + (font_property_table): Add elements for all known properties. + (get_font_prop_index): Rename from check_font_prop_name. + New argument FROM. Change caller. + (font_prop_validate): Validate all known properties. + (font_put_extra): Delete argument force. Change caller. + (font_expand_wildcards): Make it static. Fix the way of shrinking + the possible range. + (font_parse_xlfd): Delete argument merge. Fix handling of RESX, + RESY, SPACING, and AVGWIDTH. Don't validate property values here. + Change caller. + (font_unparse_xlfd): Handle dpi, spacing, and scalable properties. + (font_parse_fcname): Delete argument merge. Fix parsing of point + size. Don't validate properties values here. Change caller. + (font_unparse_fcname): Handle dpi, spacing, and scalable properties. + (font_open_by_name): Delete unused variable. + (Ffont_spec): Likewise. Validate property values. + (Ffont_match_p): New function. + + * font.h (QCscalable): Extern it. + (font_parse_xlfd, font_parse_fcname): Adjust prototype. + + * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable. + + * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd. + (xfont_list_pattern): New function. + (xfont_list): Use xfont_list_pattern. + +2008-02-01 Kenichi Handa + + * font.h (Flist_fonts): EXFUN it. + +2008-02-01 Jason Rumney + + * w32term.c (w32_initialize): Add back smoothing_type and + smoothing_enabled definitions. + +2008-02-01 Kenichi Handa + + * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check + s->face->font on determining underline position. + +2008-02-01 Kenichi Handa + + * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field. + (font_has_char): Accept font-object too. + (font_find_for_lface): Try at first with a size specified in face. + +2008-02-01 Kenichi Handa + + * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to + font_open_by_name. + +2008-02-01 Kenichi Handa + + * font.h (QCspacing, QCdpi): Extern them. + (enum font_spacing): New enum. + (FONT_PIXEL_SIZE_QUANTUM): New macro. + + * font.c (POINT_TO_PIXEL): Don't divide POINT by 10. + (QCspacing, QCdpi): New variables. + (syms_of_font): Initialize them. + (font_pixel_size): New function. + (font_put_extra): New function. + (font_parse_xlfd): Fix handling of font size. Add QCdpi property + in FONT_EXTRA. + (font_parse_fcname): Handle enumerated values (e.g. bold). + Fix handling font size. Add QCname property that contains only + unknown properties. + (font_score): Change argument. Change caller. Pay attention to + FONT_PIXEL_SIZE_QUANTUM. + (font_sort_entites, font_list_entities, font_find_for_lface) + (font_open_for_lface, font_open_by_name): Fix handling of font size. + (Ffont_spec): Add QCname property that contains only unknown properties. + + * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. + Don't include weight in listing pattern, instead check weight of each + listed font. Don't include scalable in pattern. Pay attention to + FONT_PIXEL_SIZE_QUANTUM. + +2008-02-01 Kenichi Handa + + * font.c (font_parse_fcname): Fix parsing of point-size. + (font_unparse_fcname): Produce symbolic names for style properties. + (font_list_entities): Handle float size correctly. + (font_open_by_name): Prefer `normal' property values if the name + doesn't specify them. + + * fontset.c (Finternal_char_font): Use font_get_name, not + Ffont_xlfd_name. + + * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for + FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing + pattern. Don't force scalable. + + * xftfont.c (xftfont_open): For generating a name, start from + 96-byte buffer. + +2008-02-01 Jan Djärv + + * frame.h (x_new_fontset2): Fix prototype. + +2008-02-01 Kenichi Handa + + * font.h (struct font_driver): Delete member parse_name. + (font_match_p, font_get_spec, font_parse_fcname) + (font_unparse_fcname): Extern them. + (font_get_name): Adjust prototype. + + * font.c (XLFD_SMALLNUM_MASK): Delete this macro. + (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it. + (font_expand_wildcards): Fix handling ENCODING field. + Avoid unnecessary checks for weight, slant, and swidth. + (font_parse_fcname): New function. + (font_unparse_fcname): New function. + (font_parse_name): New function. + (font_match_p): New function. + (font_get_name): Change return value to Lisp string. + (font_get_spec): New function. + (Qunspecified, Qignore_defface): Don't extern them. + (font_find_for_lface): Assume that LFACE is fully specified. + (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font + object, use it for FACE. + (font_open_by_name): Call Ffont_spec with QCname prop. Don't call + driver->parse_name. + (Ffont_spec): Call font_parse_name, not font_parse_xlfd. + + * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust + prototype. + + * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete + argument F. Don't call Fnew_fontset. Instead, directly call + make_fontset. + + * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype. + + * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change + of x_new_fontset2. + + * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans) + (Qsans__serif): New variables. + (ftfont_generic_family_list): New variable. + (syms_of_ftfont): Initialize the above variables. + (ftfont_pattern_entity): Delete argument NAME. + (ftfont_list_generic_family): New function. + (ftfont_parse_name): Delete this function. + (ftfont_list): Try generic family only when FcFontList found no font. + (ftfont_list_family): Fix args to FcObjectSetBuild. + + * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font + object in attrs[LFACE_FONT_INDEX]. + (set_lface_from_font_name): Cancel all changes for font-backend. + (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New + function. + (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a + font object in QCfont attribute. + (set_font_frame_param) [USE_FONT_BACKEND]: Likewise. + (realize_default_face) [USE_FONT_BACKEND]: Call + set_lface_from_font_and_fontset. + + * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also + "fixed", and signal error here if no suitable font was found. + + * xfont.c (xfont_parse_name): Delete this function. + + * xftfont.c (xftfont_open): Change coding style of error + handling. Generate fontconfig's fontname pattern. + + * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp. + (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro. + + * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments. + Both args FONTSET and FONT_OBJECT must be existing ones. + +2008-02-01 YAMAMOTO Mitsuharu + + * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR. + +2008-02-01 Kenichi Handa + + * xfont.c (xfont_open, xfont_encode_char): Fix typo. + + * font.h (struct font): Fix typo. + + * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to + XLFD_XXX_INDEX. + (enum xlfd_field_mask): New enum. + (intern_font_field): Change argument. Change caller. If digits + are followed by non-digits, return a symbol. + (font_expand_wildcards): New function. + (font_parse_xlfd): Fix wildcard handling. + (Ffont_spec): If :name is specified, reflect the info in the other + properties. + + * ftfont.c (ftfont_pattern_entity): Fix typo. + (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of + locale. + +2008-02-01 Kenichi Handa + + * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them. + + * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c. + (font_unparse_xlfd): Fix argument type declaration. Append "*" if + registry doesn't specify encoding part. + (font_find_for_lface): Pay attention to LFACE_FONT_INDEX. + (font_open_by_name): At first try parsing the name. + (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp + as Lisp symbols. + + * fontset.c (reorder_font_vector): Pay attention to the case that + the 3rd element of font_def is nil. + (fontset_font): For the default fontset, append one more fontset + elements for a script-based font specification. Don't add script + attribute on finding a font. + (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the + font name. + (fontset_ascii_font): If a font can't be opened, return nil. + + * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c. + (ftfont_pattern_entity): New function. + (ftfont_get_cache): Assume that freetype_font_cache is already + initialized. + (ftfont_list): Handle the case that a file is specified in font + name. Use ftfont_pattern_entity to generate entities. + (ftfont_has_char): Check if the pattern contains FC_CHARSET. + (syms_of_ftfont): Initialize freetype_font_cache. + + * xftfont.c (xftfont_open): Make the font name fontconfig's + style. Add BLOCK_INPUT and UNBLOCK_INPUT. + (xftfont_close): Free font->font.name if not NULL. + + * xfont.c (xfont_list): If script is specified for a font, return + null_vector. + (xfont_list_family): Declare argument type. + + * xfaces.c (set_lface_from_font_name): If a font doesn't have a + name, set LFACE_FONT (lface) to nil. + + * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded, + return Qnil. + +2008-02-01 Kenichi Handa + + * emacs.c (main): Check -enable-font-backend arg after the check of -nl. + (standard_args): Add "-enable-font-backend". + +2008-02-01 Kenichi Handa + + * xftfont.c (xftfont_default_fid): Set fid_known to 1. + (struct xftdraw_list, xftdraw_list): Delete them. + (register_xftdraw, check_xftdraw): Delete them. + (xftfont_prepare_face): Don't call register_xftdraw. + (xftfont_done_face): Don't call check_xftdraw. + (xftfont_draw): Get background color only when with_background is + nonzero. + + * xfont.c (xfont_encode_char): Fix calculation of char2b. + +2008-02-01 Kenichi Handa + + These changes are for the new font handling codes. + + * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@, + @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@. + (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@. + (FONTSRC, FONTOBJ): New variables. + (obj): Add $(FONTOBJ). + (SOME_MACHINE_OBJECTS): Lib_X11_Lib. + (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and + @LIBOTF_LIBS@. + (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets. + (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC). + + * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files. + + * character.h (Vscript_representative_chars): Extern it. + + * character.c (Vscript_representative_chars): New variable. + (syms_of_character): Declare it as a Lisp variable. + + * composite.c (get_composition_id) [USE_FONT_BACKEND]: If + enable_font_backend is nonzero, accept the composition method + COMPOSITION_WITH_GLYPH_STRING. + + * composite.h (enum composition_method) [USE_FONT_BACKEND]: New + enumeration COMPOSITION_WITH_GLYPH_STRING. + + * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New + members clip_x, clip_y, clip_width, and clip_height. + (struct face) [USE_FONT_BACKEND]: New members font_info and extra. + + * emacs.c (main) [USE_FONT_BACKEND]: Handle arg + --enable-font-backend. Call syms_of_font. + + * fns.c (assoc_no_quit): New function. + + * fontset.h (FONT_INFO_FROM_FACE): New macro. + (face_for_font, new_fontset_from_font) + (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them. + + * fontset.c [USE_FONT_BACKEND]: Include "font.h". + (fontset_font, fontset_ascii, face_for_char) + (make_fontset_for_ascii_face, Ffont_info) + (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend + is nonzero, use font-backend mechanism. + (find_font_encoding): Make it non-static. + (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]: + New functions. + + * frame.h (struct frame): New members resx and resy. + (struct frame) [USE_FONT_BACKEND]: New member font_driver_list. + (x_new_fontset2) [USE_FONT_BACKEND]: Extern it. + + * frame.c [USE_FONT_BACKEND]: Include "font.h". + (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism. + + * lisp.h (assoc_no_quit): Extern it. + + * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h". + Through out the file, use FONT_INFO_FROM_FACE instead of + FONT_INFO_FROM_ID, use get_per_char_metric instead of + rif->per_char_metric. + (handle_composition_prop) [USE_FONT_BACKEND]: If the composition + method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '. + (get_glyph_face_and_encoding, fill_composite_glyph_string) + (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING) + (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is + nonzero, use font-backend mechanism. + (get_per_char_metric): New function. + + * xfaces.c [USE_FONT_BACKEND]: Include "font.h". + (set_lface_from_font_name) + (set_font_frame_param, free_realized_face) + (prepare_face_for_display, clear_face_gcs) + (Finternal_set_font_selection_order, realize_x_face) + [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use + font-backend mechanism. + (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table. + (load_face_font) [USE_FONT_BACKEND]: Abort. + (face_symbolic_value, face_symbolic_weight, face_symbolic_slant) + (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions. + + * xfns.c [USE_FONT_BACKEND]: Include "font.h". + (x_default_font_parameter) [USE_FONT_BACKEND]: New function. + (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is + nonzero, register all available font drivers. + Call x_default_font_parameter for deciding a font. + (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise. + + * xterm.c [USE_FONT_BACKEND]: Include "font.h". + (x_set_mouse_face_gc, x_set_glyph_string_clipping) + (x_set_glyph_string_clipping_exactly) + (x_compute_glyph_string_overhangs) + (x_draw_glyph_string_foreground) + (x_draw_composite_glyph_string_foreground, x_draw_glyph_string) + (x_free_frame_resources) [USE_FONT_BACKEND]: If + enable_font_backend is nonzero, use font-backend mechanism. + (x_new_fontset2) [USE_FONT_BACKEND]: New function. + +2008-02-01 Kenichi Handa + + * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from + system_eol_type. + (syms_of_coding): Initialize system_eol_type. + + * process.c (Fset_process_coding_system): Inherit system's eol + format if necessary. + +2008-02-01 YAMAMOTO Mitsuharu + + * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch. + +2008-02-01 Kenichi Handa + + * coding.c (decode_eol): Pay attention to buffer relocation in + del_range_2. + (decode_coding): Call decode_eol before restoring undo_list. + +2008-02-01 Kenichi Handa + + * charset.c (Fdefine_charset_internal): Fix setting of + emacs_mule_bytes. + +2008-02-01 Kenichi Handa + + * keyboard.c (read_char): Check if C is a character or not before + looking up Vkeyboard_translate_table. + +2008-02-01 Kenichi Handa + + * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): + Fix condition to terminate the loop. + +2008-02-01 Kenichi Handa + + * coding.c (produce_composition): Compare charbuf[i] instead of + args[i] against 0. + (Fterminal_coding_system): Use EQ to compare Lisp objects. + +2008-02-01 Kenichi Handa + + * coding.c (DECODE_COMPOSITION_START): If the source is short, set + coding->result to CODING_RESULT_INSUFFICIENT_SRC. + (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of + detect_coding. + (emacs_mule_char): Handle old style (Emacs 20) component character + of a composition. + (DECODE_EMACS_MULE_COMPOSITION_RULE_20) + (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a + composition rule. + (decode_coding_emacs_mule): Handle invalid bytes correctly. + +2008-02-01 Kenichi Handa + + * coding.c (encode_coding_ccl): Allocate destination dynamically + when necessary. + +2008-02-01 Kenichi Handa + + * ccl.c (Fccl_execute_on_string): Fix the condition of terminating + the loop. When quitted, show a proper error message. + +2008-02-01 Kenichi Handa + + * xterm.c (x_set_glyph_string_clipping_exactly): + Set src->clip_head and src->clip_tail temporarily instead of src->hl. + + * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte + character sequence. + (Fccl_execute_on_string): Use ASET, not XSET. + +2008-02-01 Kenichi Handa + + * search.c (search_buffer): Fix handling of "\\" in a trivial regexp. + +2008-02-01 Kenichi Handa + + * coding.c (decode_coding): Fix the condition of terminating the + decoding loop. + +2008-02-01 Kenichi Handa + + * data.c (Faset): On setting a character bigger than 255 in a + unibyte string, signal an error instead of make the string multibyte. + +2008-02-01 Kenichi Handa + + * charset.c (map_charset_chars): Fix for ascii-compatible charset + made by a mapping table. + +2008-02-01 Kenichi Handa + + * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or + not. + (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL. + (x_produce_glyphs): If CH is TAB, set cmp->offsets properly. + + * xterm.c (x_draw_composite_glyph_string_foreground): + Check s->face is NULL or not. + +2008-02-01 Kenichi Handa + + * xterm.c (x_set_glyph_string_clipping_exactly): New function. + (x_draw_glyph_string): Fix drawing of right_overhang and + left_overhang around/on cursor. + + * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs. + +2008-02-01 Kenichi Handa + + * xdisp.c (x_produce_glyphs): Handle composition with TAB. + +2008-02-01 Kenichi Handa + + * coding.c (Fdefine_coding_system_internal) + (Fdefine_coding_system_alias): Avoid a duplicated element in + Vcoding_system_alist. + +2008-02-01 Kenichi Handa + + * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF. + + * coding.c (Qcoding_system_define_form): New variable. + (syms_of_coding): Intern and staticpro it. + (Fcoding_system_p): Check Qcoding_system_define_form. + (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM. + + * coding.h (CODING_SYSTEM_P): If ID is not available, call + Fcoding_system_p. + (CHECK_CODING_SYSTEM): If ID is not available, call + Fcheck_coding_system. + (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID): + Try also Fcheck_coding_system. + +2008-02-01 Kenichi Handa + + * coding.c (code_conversion_restore): GCPRO arg. + +2008-02-01 Kenichi Handa + + * character.c (lisp_string_width): Check multibyteness of STRING. + +2008-02-01 YAMAMOTO Mitsuharu + + * macterm.c (mac_encode_char): Call ccl_driver with the last arg + Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS. + (decode_mac_font_name): Use decode_coding_c_string instead of + decode_coding. + (x_load_font): Initialize fontp->fontset to -1. + Set fontp->encoding_type. + +2008-02-01 Kenichi Handa + + * search.c (search_buffer): Give up BM search on case-fold-search + if one of a target character has a case-equivalence of different + byte length even if that target character is an ASCII. + (simple_search): Fix calculation of byte length of matched text. + (boyer_moore): Fix handling of case-equivalent multibyte characters. + +2008-02-01 Kenichi Handa + + * coding.c (decode_coding): Fix handling of invalid bytes. + +2008-02-01 Kenichi Handa + + * xterm.c (handle_one_xevent): Handle keysyms directly mapped to + Unicode characters. + +2008-02-01 Kenichi Handa + + * coding.c (encode_coding_object): If a pre-write-conversion + function makes a new buffer, kill it. + +2008-02-01 Kenichi Handa + + * coding.c (QCascii_compatible_p): New variable. + (syms_of_coding): Initialize it. + (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before + calling string_char. + (record_conversion_result): Add `default:' case. + (coding_charset_list): Delete unused variable `coding_type'. + (Fdefine_coding_system_internal): Add `ascii-compatible-p' + property in the plist of the coding system. + (Fcoding_system_put): Check QCascii_compatible_p. + +2008-02-01 Miles Bader + + * xfaces.c (Finternal_lisp_face_equal_p): Restore previously + removed calculation of frame `f', as it's now used. + +2008-02-01 Kenichi Handa + + * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined. + (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally. + (UNIDATA): New variable. + (${lispsource}international/charprop.el): Depends on ${UNIDATA}. + (bootstrap-emacs${EXEEXT}): Depends on charprop.el. + Run $(RUN_TEMACS) unconditionally. + +2008-02-01 Kenichi Handa + + * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary. + (admindir): New variable. + ($(lispsource)international/charprop.el): New target. + +2008-02-01 Miles Bader + + * character.c (chars-in-region): Remove obsolete function. + (syms_of_character): Remove its initialization. + +2008-02-01 Benjamin Riefenstahl + + * w32select.c (validate_coding_system) + (setup_windows_coding_system): New functions. + (convert_to_handle_as_coded, Fw32_get_clipboard_data): + Use setup_windows_coding_system. + (setup_config, Fw32_get_clipboard_data): + Use validate_coding_system. + (Fx_selection_exists): Move call to setup_config to a place + where signals are allowed. + + * lisp.h (Fcoding_system_base, Fcoding_system_eol_type) + (Fcheck_coding_system): Add declarations. + +2008-02-01 Kenichi Handa + + * charset.c (load_charset_map_from_vector): Fix for the first iteration. + +2008-02-01 YAMAMOTO Mitsuharu + + * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp + string as the second argument for x_new_fontset. + +2008-02-01 Kenichi Handa + + * coding.c (decode_coding_object): Use safe_call1 instead of call1. + (encode_coding_object): Use safe_call instead of call2. + +2008-02-01 Kenichi Handa + + * fontset.c (Fset_fontset_font): Check family element of a given vector. + + * Makefile.in (lisp): Include charprop.el. + +2008-02-01 YAMAMOTO Mitsuharu + + * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash. + Not sure if it's unnecessary. + +2008-02-01 Steven Tamm + + * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out + some possibly unnecessary fontset checking code that crashed + when creating a new frame. + +2008-02-01 Kenichi Handa + + * xfaces.c (merge_faces): Fix argument to lookup_derived_face and + lookup_face. + + * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face. + + * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face. + +2008-02-01 Kenichi Handa + + * coding.c: Cancel the change done in HEAD on 2008-02-01. + (coding_charset_list): New function. + + * coding.h (coding_charset_list): Extern it. + +2008-02-01 Kenichi Handa + + * fontset.c (Fset_fontset_font): Call find_font_encoding with + concatenation of family and registry. + +2008-02-01 Kenichi Handa + + * character.h (BYTE8_STRING): Fix typo. + + * editfns.c (Ftranslate_region_internal): Don't convert unibyte + string to multibyte (sync to HEAD). + + * casefiddle.c (casify_region): Handle changes in byte-length + using replace_range_2 (sync to HEAD). + +2008-02-01 Andreas Schwab + + * chartab.c (map_char_table): GCPRO table and arg. + +2008-02-01 Kenichi Handa + + * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is + already at limit. + +2008-02-01 Kenichi Handa + + * fontset.c (fs_load_font): Use fast_string_match_ignore_case + instead of fast_c_string_match_ignore_case. + (find_font_encoding): Change argument to Lisp_Object. + Use fast_string_match_ignore_case instead of + fast_c_string_match_ignore_case. Change caller. + +2008-02-01 Kenichi Handa + + * xdisp.c (get_next_display_element): In unibyte case, decide to + display in octal form by checking a character by + UNIBYTE_CHAR_HAS_MULTIBYTE_P. + + * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table. + + * character.c (unibyte_has_multibyte_table): New variable. + + * character.h (unibyte_has_multibyte_table): Extern it. + (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro. + +2008-02-01 Kenichi Handa + + * coding.c (encode_coding_iso_2022): Fix handling of charset + annotation. + +2008-02-01 Kenichi Handa + + * coding.c (setup_coding_system): If coding_system is nil, use + Qundecided. + (Fterminal_coding_system): Return nil if terminal coding system is + `undecided'. + (syms_of_coding): Define coding-system `undecided' here. + Setup terminal_coding as `undecided'. + +2008-02-01 Kenichi Handa + + * xdisp.c (message_dolog, set_message_1): + Call unibyte_char_to_multibyte with arg type int. + + * lread.c (read1): Fix reading of a char-table. + + * print.c (print_object): Include sub char-table in circularities + detection. + +2008-02-01 Kenichi Handa + + * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons. + Append the found sequences in car of ARGS instead of prepending. + +2008-02-01 Kenichi Handa + + * fileio.c (report_file_error): Make a unibyte string from + strerror (errorno). + (Fsubstitute_in_file_name): Fix the arg to + unibyte_char_to_multibyte. It is evaluated twice. + +2008-02-01 Kenichi Handa + + * charset.h (CHAR_CHARSET): Shortcut for ASCII case. + +2008-02-01 Kenichi Handa + + * coding.c (detect_coding_utf_16): Don't set detect_info->found if + BOM is not found. + (detect_coding, detect_coding_system): Optimization for ISO-2022 + when no 8-bit data is found. + +2008-02-01 Jason Rumney + + * w32fns.c (x_to_w32_font): Update to use new coding struct. + +2008-02-01 Kenichi Handa + + * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of + CHARS. + +2008-02-01 Steven Tamm + + * macterm.c (mac_encode_char): Add charset argument and update + to use encoding_type. + (x_new_font, x_new_fontset): Merge in changes from xterm.c; + switch to pure fontset. + (decode_mac_font_name): Temporarily remove decoding. + (x_font_name_to_mac_font_name): Temporarily remove encoding. + (x_load_font): Temporarily remove encoding. + +2008-02-01 Kenichi Handa + + * xfaces.c (Fface_font): If frame is not on a window system, + ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't + refer to face->font. + (split_font_name_into_vector, build_font_name_from_vector) + (lookup_non_ascii_face, realize_non_ascii_face): Define them only + when HAVE_WINDOW_SYSTEM is defined. + +2008-02-01 Kenichi Handa + + * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL. + (x_produce_glyphs): Fix setting of members of cmp in case + cmp->glyph_len is zero. + + * fontset.c (Fset_fontset_font): Fix docstring. + (Ffontset_info): Make it backward compatible. New arg ALL. + +2008-02-01 Kim F. Storm + + * process.c (read_process_output): Grow decoding_buf when needed; + this could cause a crash in allocate_string and compact_small_strings. + +2008-02-01 Kenichi Handa + + * fileio.c (WRITE_BUF_SIZE): Delete this macro. + +2008-02-01 Kenichi Handa + + * coding.c (setup_coding_system): Set coding->common_flags + correctly for raw-text. + (consume_chars): On encoding unibyte text by raw-text, don't check + multibyte form. + (encode_coding): On encoding by raw-text, never use translation tables. + + * fileio.c (e_write): Short cut for the case of no encoding. + +2008-02-01 Kenichi Handa + + * coding.c (detect_coding, detect_coding_system): Delete unused + variables. + +2008-02-01 Kenichi Handa + + * coding.c (encode_coding_utf_8): Fix handling of raw-byte char. + (consume_chars): Fix handling of 8-bit bytes in unibyte source. + +2008-02-01 Kenichi Handa + + * coding.c (Ffind_coding_systems_region_internal): + Include raw-text and no-conversion in the result. + +2008-02-01 Kenichi Handa + + * fontset.c (find_font_encoding): Return `ascii' for unknown encoding. + (load_font_get_repertory): Delete unnecessary check of ENCODING of + FONT_DEF. + (font_def_arg, add_arg, from_arg, to_arg): New args. + (set_fontset_font): Change argument. + (Fset_fontset_font): Fix for the case that TARGET is a script + name and charset name. + (new_fontset_from_font_name): Fix argument to Fnew_fontset. + +2008-02-01 Kenichi Handa + + * fontset.c (fontset_font): Rename from fontset_face. Change return + value. + (face_suitable_for_char_p, face_for_char): Adjust for the change + of fontset_font. + (make_fontset_for_ascii_face): Fix setting of the fontset element + for ASCII. + (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR + to get a font name. + (Ffontset_info): Adjust for the change of fontset_font. + + * coding.c (emacs_mule_char): Check invalid code more rigidly. + + * character.h (LEADING_CODE_LATIN_1_MIN) + (LEADING_CODE_LATIN_1_MAX): Delete these macros. + +2008-02-01 Kenichi Handa + + * editfns.c (check_translation): New function. + (Ftranslate_region_internal): Handle M:N mapping. + +2008-02-01 Kenichi Handa + + * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE]. + +2008-02-01 Kenichi Handa + + * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of + goto invalid_code. + (decode_coding_iso_2022): Fix handling of invalid designation. + + * fileio.c (Finsert_file_contents): Be sure to call unbind_to + after calling code_conversion_save. + +2008-02-01 Kenichi Handa + + * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup. + + * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup. + + * fontset.c: Include "intervals.h". + (fontset_face): Fix comparing of Lisp_Objects. + (free_face_fontset, new_fontset_from_font_name): + Fix Lisp_Object/int mixup. + + * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup. + + * coding.c: Add many prototypes for static functions. + (get_translation_table): Allow max_lookup to be NULL. + (decode_coding, Ffind_coding_systems_region_internal) + (Funencodable_char_position, Fcheck_coding_systems_region): + Call get_translation_table with max_lookup NULL. + +2008-02-01 Kenichi Handa + + * coding.c (get_translation_table): Declare it as Lisp_Object. + (LOOKUP_TRANSLATION_TABLE): New macro. + (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE + instead of CHAR_TABLE_REF. + +2008-02-01 Kenichi Handa + + * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of + annotation data format. + (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA): + Change arguments FROM and TO to single argument NCHARS. Change caller. + (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule) + (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5) + (decode_coding_ccl, decode_coding_charset): Pay attention to + coding->charbuf_used. + (get_translation): New function. + (produce_chars): New arguments translation_table and last_block. + Translate characters here. Return number of carryover chars. + Change caller. + (produce_composition): New argument pos. Change caller. + Adjust for the change of annotation data format. + (produce_charset, produce_annotation): Likewise. + (decode_coding, encode_coding): Don't call translate_chars. + (consume_chars): New arg translation_table. Change caller. + (translate_chars): Delete. + (syms_of_coding): Make translation-table's number of extra slots 2. + +2008-02-01 Kenichi Handa + + * search.c (simple_search): Fix setting this_pos_byte in backward + search. + + * coding.c (detect_coding_emacs_mule): Fix counting of encoded + byte sequence. + (detect_coding_ccl): Fix setting of the variable valids. + +2008-02-01 Kenichi Handa + + * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font. + + * coding.c (decode_coding_utf_16): Fix handling of surrogate pair. + + * editfns.c (Ftranslate_region_internal): Rename from + Ftranslate_region. Accept a char-table in TABLE. + (syms_of_editfns): Defsubr Stranslate_region_internal. + + * xfaces.c (set_lface_from_font_name): If a font is specified for + a frame, generate a fontset from the font. + (build_scalable_font_name): If the scalable font is requested for + a specific size, don't change that size. + (try_font_list): Try a scalable font also in the case that a + pattern string is specified. + +2008-02-01 Kenichi Handa + + * xfaces.c (Fface_font): New optional arg CHARACTER. + +2008-02-01 Kenichi Handa + + * charset.h (CHARSET_OFFSET): New macro. + +2008-02-01 Kenichi Handa + + * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset. + + * fontset.c (fontset_face): Handle the case that repertory is a + char-table. + (find_font_encoding): Return nil for unknown encoding. + (Fset_fontset_font): Ignore a font of unknown encoding. + +2008-02-01 Kenichi Handa + + * keymap.c (describe_vector): Handle default value of a char table. + + * fontset.c (fontset_face): Handle fallback fonts correctly. + (Ffontset_info): Return infomation about fallback fonts. + +2008-02-01 Kenichi Handa + + * fontset.c (FONTSET_DEFAULT): New macro. + (FONTSET_ADD, fontset_add): Handle the case that range is nil. + (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle + the case that it is nil. + (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK. + (syms_of_fontset): Set char-table-extra-slots property of fontset to 9. + + * charset.h (CHAR_CHARSET_P): Fix for the case that the method is + subset or superset. + +2008-02-01 Kenichi Handa + + * emacs.c (main): Call init_charset after syms_of_XXX. + + * charset.c (Vcharset_map_directory): Delete. + (Vcharset_map_path): New variable. + (load_charset_map_from_file): Use Vcharset_map_path instead. + (init_charset): Initialize Vcharset_map_path. + (syms_of_charset): Delete declaration of "charset-map-directory", + add declaration of "charset-map-path". + +2008-02-01 Kenichi Handa + + * fns.c (string_char_to_byte, string_byte_to_char): Optimize for + ASCII only string. + + * fileio.c (Finsert_file_contents): Avoid detecting a code twice. + + * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3. + (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte. + +2008-02-01 Kenichi Handa + + * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros. + + * coding.c (QCmnemonic, QCdefalut_char) + (QCdecode_translation_table, QCencode_translation_table) + (QCpost_read_conversion, QCpre_write_conversion): New variables. + (get_translation_table): Return a list of translation tables if + necessary. + (decode_coding): Call get_translation_table with ENCODEP 0. + (char_encodable_p): If translation_table is non-nil, always call + translate_char. + (Fdefine_coding_system_internal): Accept list of translation + tables as :encode-translation-table and :decode-translation-table. + (Fcoding_system_put): New function. + (syms_of_coding): Declare new symbols. + Defsubr Scoding_system_put. + (decode_coding_sjis, encode_coding_sjis): Handle 4th charset, + typically JISX0212. + + * charset.c (map_charset_chars): Fix arg to map_charset_chars in + when the charset is superset type. + + * character.c (translate_char): Accept list of translation tables. + +2008-02-01 Kenichi Handa + + * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl. + (CODING_ATTR_TRANS_TBL): New macro. + + * coding.c (get_translation_table): New function. + (translate_chars): Fix the bug of skipping annotation data. + (decode_coding, encode_coding): Utilize get_translation_table. + (char_encodable_p, Funencodable_char_position): Translate char if + necessary. + (Ffind_coding_systems_region_internal) + (Fcheck_coding_systems_region): Setup translation table for encode + in a coding system attribute vector in advance. + (Fdefine_coding_system_internal): Allow a symbol as translation + table. For shift-jis type coding system, allow 4th charset. + +2008-02-01 Kenichi Handa + + * coding.c (decode_coding_sjis): Check the first byte rigidly. + + * xdisp.c (get_next_display_element): Pass -1 as POS to + FACE_FOR_CHAR if displaying a C-string. + +2008-02-01 Kenichi Handa + + * composite.c (get_composition_id): Handle xoff and yoff in a + composition rule. + + * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff. + (struct composition): New member lbearing and rbearing. + + * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y). + (x_get_glyph_overhangs): Handle a composition glyph. + (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph. + + * xterm.c (x_compute_glyph_string_overhangs): Handle also a + composition glyph. + +2008-02-01 Kenichi Handa + + * print.c: Include charset.h. + (Vprint_charset_text_property): New variable. + (Qdefault): Extern it. + (PRINT_STRING_NON_CHARSET_FOUND) + (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros. + (print_check_string_result): New variable. + (print_check_string_charset_prop): New function. + (print_prune_charset_plist): New variable. + (print_prune_string_charset): New function. + (print_object): Call print_prune_string_charset if + Vprint_charset_text_property is not t. + (print_interval): Print nothing if interval->plist is nil. + (syms_of_print): Declare Vprint_charset_text_property as a lisp + variable. Init and staticpro print_prune_charset_plist. + +2008-02-01 Kenichi Handa + + * fontset.c (new_fontset_from_font_name): Use the specified font + for all characters in the new fontset. + + * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and + OBJECT args. + + * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and + OBJECT args for composition too. + + * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and + OBJECT args. + +2008-02-01 Kenichi Handa + + * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT. + + * fontset.c (reorder_font_vector): Adjust for the change of + FONT_DEF format. + (fontset_face): New arg id. Change caller. + (face_for_char): New args pos and object. + (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format. + (fs_query_fontset): Check NAME by Fassoc too. + (Fset_fontset_font): Allow non-XLFD font name. + (Ffontset_info): Adjust for the change of FONT_DEF format. + + * fontset.h (face_for_char): Adjust prototype. + + * xdisp.c (face_before_or_after_it_pos, get_next_display_element) + (append_space, extend_face_to_end_of_line) + (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING) + (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args. + + * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with + POS and OBJECT args. + + * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with + POS and OBJECT args. + +2008-02-01 Jason Rumney + + * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc + of GlobalAlloc'ed memory. + +2008-02-01 Kenichi Handa + + * ccl.c (Fccl_execute_on_string): Fix the condition of loop. + + * charset.h (charset_table_used): Delete extern. + + * charset.c (charset_table_used): Make it static. + (map_charset_chars): Fix args to c_function with. + + * chartab.c (map_sub_char_table_for_charset): Fix args to + c_function with. + + * coding.h (enum coding_result_code): + Delete CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC. + + * coding.c (Qinsufficient_source, Qinconsistent_eol) + (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables. + (Vlast_code_conversion_error): New variables. + (syms_of_coding): DEFSYM or DEFVAR_LISP them. + (ONE_MORE_BYTE): Record error if any instead of signaling an + error. If non-ASCII multibyte char is found, return the negative + value of the code. All callers changed to check it. + (ONE_MORE_BYTE_NO_CHECK): Likewise. + (record_conversion_result): New function. Change all codes setting + coding->result to call this function. + (detect_coding_utf_8, decode_coding_utf_8) + (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5): + Don't use the local variable incomplete. + (emacs_mule_char): Change the second arg to `const'. + (decode_coding): Fix of flushing out unprocessed data. + (make_conversion_work_buffer): Fix making of a work buffer. + (decode_coding_object): Return coding->dst_object. + + * fontset.c (set_fontset_font): Fix args. + + * lisp.h (CHARACTERBITS): Define as 22. + + * process.c (send_process): Be sure to set coding->src_multibyte. + + * xdisp.c (handle_auto_composed_prop): Fix setting of limit. + +2008-02-01 Kenichi Handa + + * xdisp.c (handle_auto_composed_prop): Give limit to + Fnext_single_char_property_change. + +2008-02-01 Kenichi Handa + + * composite.c (syms_of_composite): Don't make the composition hash + table weak. + + * fontset.c (Fset_fontset_font): Fix docstring. + + * lisp.h (detect_coding_system): Adjust prototype. + + * fileio.c (kill_workbuf_unwind): Delete this function. + (Finsert_file_contents): Adjust the call of detect_coding_system. + Get conversion_buffer by code_conversion_save. Use the macro + CODING_MAY_REQUIRE_DECODING. After decoding, update + coding_system. + + * coding.h (make_conversion_work_buffer): Delete extern. + (code_conversion_save): Extern it. + + * coding.c (enum iso_code_class_type): Delete ISO_carriage_return. + (CODING_GET_INFO): Delete argument eol_type. Change callers. + (decode_coding_utf_8): Don't do eol converion. + (detect_coding_utf_16): Check coding->src_chars, not + coding->src_bytes. Add heuristics for those that have no signature. + (decode_coding_emacs_mule, decode_coding_iso_2022) + (decode_coding_sjis, decode_coding_big5, decode_coding_charset): + Don't do eol converion. + (adjust_coding_eol_type): Return a new coding system. + (detect_coding): Don't detect eol. Fix for utf-16 detection. + (decode_eol): In case of CRLF->LF conversion, use del_range_2 on + each change. + (decode_coding): Pay attention to undo_list. Do eol conversion for + all types of coding-systems (if necessary). + (Vcode_conversion_work_buf_list): Delete it. + (Vcode_conversion_reused_workbuf): Rename from + Vcode_conversion_reused_work_buf. + (Vcode_conversion_workbuf_name): New variable. + (reused_workbuf_in_use): New variable. + (make_conversion_work_buffer): Delete the arg DEPTH. + (code_conversion_restore): Change argument to cons. + (code_conversion_save): Delete the argument BUFFER. Change callers. + (detect_coding_system): New argument src_chars. Change callers. + Fix for utf-16 detection. + (init_coding_once): Don't use ISO_carriage_return. + (syms_of_coding): Initialize Vcode_conversion_workbuf_name and + reused_workbuf_in_use. + +2008-02-01 Kenichi Handa + + * keymap.c (store_in_keymap): Pay attention to the case that idx + is a cons specifying a character range. + +2008-02-01 Kenichi Handa + + * xdisp.c (handle_auto_composed_prop): Fix the case of returning + HANDLED_RECOMPUTE_PROPS. + + * coding.c (Fdefine_coding_system_internal): Fix checking of + ascii compatibility. + +2008-02-01 Kenichi Handa + + * charset.c (find_charsets_in_text): Delete unused locale variable. + (Fset_charset_priority): Update Vemacs_mule_charset_list too. + + * coding.c (encode_coding_emacs_mule): Emit bytes with MSB. + Resync charset_list to Vemacs_mule_charset_list. + + * keymap.c (store_in_keymap): Pay attention to the case that idx + is a cons specifying a character range. + +2008-02-01 Kenichi Handa + + * composite.c (update_compositions): Bind inhibit-read-only, etc + to t before calling remove-list-of-text-properties. + + * print.c (print_object): Always print ASCII chars as is. + +2008-02-01 Kenichi Handa + + * keymap.c (Fdefine_key): Fix handling of Lucid style event type list. + + * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE + is a char table. + +2008-02-01 Kenichi Handa + + * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary. + +2008-02-01 Kenichi Handa + + * xfaces.c (set_lface_from_font_name): Fix for the case that + FONTNAME is not fontset name. + +2008-02-01 Kenichi Handa + + * fns.c (base64_encode_1): Fix previous change. + +2008-02-01 Kenichi Handa + + * fontset.c (set_fontset_font): New function. + (Fset_fontset_font): If a font is specified for a charset, use + map_charset_chars to store the font spec in a fontset. + +2008-02-01 Kenichi Handa + + * fontset.c (fontset_face): Create a fallback fontset on demand. + (make_fontset): Don't create a fallback fontset here. + (free_face_fontset): Free a fallback fontset (if any) too. + (n_auto_fontsets): Delete this variable. + (auto_fontset_alist): New variable. + (new_fontset_from_font_name): Check auto_fontset_alist. + (dump_fontset) [FONTSET_DEBUG]: Fully re-written. + (Ffontset_list_all) [FONTSET_DEBUG]: New function. + (syms_of_fontset): Initialize and staticpro auto_fontset_alist. + Defsubr Sfontset_list_all. + +2008-02-01 Kenichi Handa + + * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts. + +2008-02-01 Kenichi Handa + + * fontset.c (Fnew_fontset): Check NAME more rigidly. + +2008-02-01 Kenichi Handa + + * editfns.c (Fgoto_char): Fix docstring. + +2008-02-01 Kenichi Handa + + * insdel.c (insert_from_gap): Adjust intervals correctly. + +2008-02-01 Jason Rumney + + * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't. + (pfnGetFontUnicodeRanges): New dynamically loaded function. + (w32_initialize): Try to load it. + (x_get_font_repertory): Use it if available. + (w32_encode_char): Add shortcut for unicode output. + + * w32fns.c (w32_load_system_font): Default charset to -1. + (x_to_w32_charset): Match all fonts for unicode. + (w32_to_x_charset): New parameter matching. Don't return partial + or wildcard charsets. + (w32_to_all_x_charsets): Don't return partial or wildcard charsets. + (w32_codepage_for_font): Return CP_UNICODE for unicode. + (w32_to_x_font): Match charset to real charset. + (enum_font_cb2): Always list unicode versions. + + * makefile.w32-in (temacs): Increase EMHEAP. + +2008-02-01 Jason Rumney + + * w32term.c (w32_encode_char): New charset parameter. + font_info.encoding becomes encoding_type. + (x_get_font_repertory): New function. Warning: stub only! + (x_new_font): Return quickly if font already set. + (x_new_fontset): fontsetname parameter is Lisp_Object. + Use new fs_query_fontset. Try new_fontset_from_font_name. + Use fontset_name for return value. + + * w32term.h: Declare x_get_font_repertory. + + * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in + place of find_charset_in_text. Use encode_coding_object in place + of encode_coding. + (Fw32_get_clipboard_data): Use decode_coding_c_string in place of + decode_coding. + + * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version + of x_new_fontset. + (w32_load_system_font): Initialize charset as unicode. + font_info.encoding becomes encoding_type. + (w32_to_x_font): Use decode_coding_c_string in place of decode_coding. + (x_to_w32_font): Use encode_coding_object in place of encode_coding. + (syms_of_w32fns): Set get_font_repertory_func. + + * w32console.c: Include character.h. Use terminal_encode_buffer + from term.c. + (write_glyphs): Use new version of encode_terminal_code. + Use encode_coding_object in place of encode_coding. + + * w32bdf.c (w32_load_bdf_font): Clear font_info before filling. + encoding becomes encoding_type. + + * term.c (terminal_encode_buffer): Make externally visible. + + * makefile.w32-in: Add character.h dependancies. + (character.o, chartab.o): New targets. + +2008-02-01 Kenichi Handa + + * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro + CODING_ID_EOL_TYPE. + +2008-02-01 Andreas Schwab + + * coding.c (produce_chars): Revert last change. + +2008-02-01 Kenichi Handa + + * charset.h (charset_unicode): Extern it. + + * charset.c (string_xstring_p): Check by (C >= 0x100). + (find_charsets_in_text): Change format of the arc CHARSETS. + New arg MULTIBYTE. + (Ffind_charset_region, Ffind_charset_string): Adjust for the + change of find_charsets_in_text. + (Fsplit_char): Fix doc. Never return unknown. + + * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP. + + * coding.c (Fdefine_coding_system_alias): + Update Vcoding_system_list. + + * fontset.c (load_font_get_repertory): Pay attention to the case + that ENCODING of a font is specified by a char-table. + + * xterm.c (x_get_font_repertory): Handle the case that the + encoding of font is other than Unicode. + +2008-02-01 Kenichi Handa + + * term.c (encode_terminal_code): Don't handle glyph-table. + Check if a character is encodable by the terminal coding system. + If not, produces proper number of `?'s. Update + terminal_encode_buffer and terminal_encode_buf_size if necessary. + (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P. + +2008-02-01 Kenichi Handa + + * term.c (terminal_encode_buffer, terminal_encode_buf_size): + New variables. + (encode_terminal_code): Change argument. Encode multiple + characters at once. Store the result of encoding in + terminal_encode_buffer. + (write_glyphs, insert_glyphs): Adjust for the change of + encode_terminal_code. + (term_init): Initialize terminal_encode_buffer and + terminal_encode_buf_size. + + * coding.c (consume_chars): If coding->src_object is nil, don't + check annotation. + +2008-02-01 Kenichi Handa + + * character.c (char_string): Use ASCII_CHAR_P instead of + SINGLE_BYTE_CHAR_P. + +2008-02-01 Kenichi Handa + + * xdisp.c (handle_auto_composed_prop): Check if the last + characters of auto-composed region is newly composed with the + following characters. + (handle_composition_prop): Fix checking of point being inside + composition. + +2008-02-01 Kenichi Handa + + * fns.c (concat): Don't change multibyteness of the result by + concatenating an 8-bit character. + + * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change + multibyteness of the result when newelt is an 8-bit character. + +2008-02-01 Dave Love + + * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used + EMACS_INT. + + * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars. + + * xfaces.c (face_numeric_value): Declare dim size_t. + (Finternal_lisp_face_equal_p): Remove unused f. + + * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor) + (MATRIX_ROW): Remove unused vars. + (draw_glyphs, x_insert_glyphs, fast_find_position) + (fast_find_position, fast_find_string_pos): Use EMACS_INT for + byte/char counts. + + * regex.c (regex_compile): Remove unused var. + + * minibuf.c (Fminibuffer_complete_word): Remove unused var. + + * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap) + (Faccessible_keymaps, where_is_internal): Remove unused vars. + + * keyboard.c (cancel_hourglass_unwind): Return Qnil. + + * frame.c (frame_name_fnn_p): Make len EMACS_INT. + + * fileio.c (Fwrite_region): Remove unused var. + + * dispnew.c (adjust_frame_glyphs_for_frame_redisplay) + (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim. + + * composite.c (Fremove_list_of_text_properties): Declare. + + * coding.c (inhibit_pre_post_conversion): Remove (unused). + (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts. + (coding_inherit_eol_type): Remove unused attrs. + (detect_coding): Cast arg of detect_eol. + + * charset.c (syms_of_charset): Remove unused var p. + (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for + byte/char counts. + + * casetab.c (set_case_table): Remove unused var. + + * window.c (Fdisplay_buffer, Fframe_selected_window): + Remove unused vars. + +2008-02-01 Dave Love + + * xterm.c (x_bitmap_mask): Declare. + +2008-02-01 Dave Love + + * xterm.c (x_term_init): Fix type error. + + * lisp.h: Add Funibyte_char_to_multibyte. + + * coding.c (Fread_coding_system): Fix arg of XSETSTRING. + (Fset_coding_system_priority): Doc fix. + + * ccl.c (ccl_driver): Fix arg of CHARACTERP. + + * indent.c (check_composition): Make start and end EMACS_INT. + + * character.c (lisp_string_width): Make ignore and end EMACS_INT. + + * xdisp.c (handle_composition_prop, check_point_in_composition): + Make buffer positions EMACS_INT. + + * composite.c (find_composition, run_composition_function) + (update_compositions, Ffind_composition_internal): Make buffer + positions EMACS_INT. + + * composite.h (find_composition, update_compositions): + Make position args EMACS_INT. + + * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT. + + * intervals.c (get_property_and_range): + * intervals.h (get_property_and_range): Make start and end EMACS_INT. + + * unexalpha.c: Don't include varargs.h. + +2008-02-01 Dave Love + + * coding.h (ENCODE_UTF_8): New. + + * Makefile.in (gtkutil.o): Depend on coding.h. + + * coding.c (Fset_coding_system_priority): Doc fix. + +2008-02-01 Kenichi Handa + + * fileio.c (Finsert_file_contents): Call setup_coding_system in + the case of auto saving. + +2008-02-01 Andreas Schwab + + * chartab.c (map_char_table, map_char_table_for_charset): + Protect `range' from GC. + +2008-02-01 Kenichi Handa + + * coding.c (decode_coding_sjis): Check bytes more rigidly. + +2008-02-01 Kenichi Handa + + * fileio.c (choose_write_coding_system): Return a decided coding system. + (Fwrite_region): Set Vlast_coding_system_used to the return value + of choose_write_coding_system. + +2008-02-01 Kenichi Handa + + * charset.c (Fset_charset_priority): Pay attention to duplicated + arguments. + + * coding.c (QCcategory): New variable. + (syms_of_coding): Defsym it. Set all elements of + Vcoding_category_table and their symbol values. + (Fset_coding_system_priority): Doc fix. Update symbol qvalues of + coding-category-XXX, and coding-category-list. + (Fdefine_coding_system_internal): Add category in the plist. + +2008-02-01 Kenichi Handa + + * callproc.c (Fcall_process): Handle carryover correctly. + + * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes. + (raw_text_coding_system): Check NILP (coding_system). + (coding_inherit_eol_type): Check NILP (coding_system) and + NILP (parent). + (consume_chars): Fix for the case of raw-text. + + * process.c (read_process_output): Handle carryover correctly. + +2008-02-01 Dave Love + + * regex.c (re_search_2): Fix last change. + +2008-02-01 Kenichi Handa + + * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not + target_multibyte. Even in a unibyte case, return a converted + multibyte char. + (GET_CHAR_AFTER): New macro. + (PATFETCH): Translate via multibyte char. + (HANDLE_UNIBYTE_RANGE): Delete this macro. + (SETUP_MULTIBYTE_RANGE): New macro. + (regex_compile): Setup compiled code so that its multibyteness + matches that of a target. Fix the handling of "[X-YZ]" using + SETUP_MULTIBYTE_RANGE. + (analyse_first) : For filling fastmap for all multibyte + characters, don't check by BASE_LEADING_CODE_P. + (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is + the same as RE_MULTIBYTE_P (bufp) now. + (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)). + (TARGET_CHAR_AND_LENGTH): Delete this macro. + (TRANSLATE_VIA_MULTIBYTE): New macro. + (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp). + It is the same as RE_MULTIBYTE_P (bufp) now. + : Translate via multibyte. + : Fetch a character by RE_STRING_CHAR_AND_LENGTH. + Don't translate it. + : Fetch a character by + RE_STRING_CHAR_AND_LENGTH. Translate via multibyte. + : Call bcmp_translate with the last arg `multibyte'. + Fetch a character + by GET_CHAR_AFTER. + (bcmp_translate): Likewise. + + * search.c (compile_pattern): Check the member target_multibyte, + not the member multibyte of buf. + + * lread.c (read1): While reading a string, set force_singlebyte + and force_multibyte correctly. + + * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting + up of unibyte_to_multibyte_table. + +2008-02-01 Kenichi Handa + + * coding.c (setup_coding_system): If coding has + post-read-conversion or pre-write-conversion, set + CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK + respectively. + (decode_coding_gap): Run post-read-conversion if any. + + * fileio.c (Finsert_file_contents): Even if we read into a + unibyte buffer, check if we must decode the result or not. + +2008-02-01 Kenichi Handa + + * coding.c (make_conversion_work_buffer): Change the work buffer + name to the same one as that of Emacs 21. + +2008-02-01 Kenichi Handa + + * coding.h (make_conversion_work_buffer): Adjust prototype. + (code_conversion_restore): Don't extern it. + + * coding.c (detected_mask): Delete unused variable. + (decode_coding_iso_2022): Pay attention to the byte sequence of + CTEXT extended segment, and retain those bytes as is. + (decode_coding_ccl): Delete unused variable `valids'. + (setup_coding_system): Delete unused variable `category'. + (consume_chars): Delete unused variable `category'. Make it work + for non-multibyte case. + (make_conversion_work_buffer): Change argument. + (saved_coding): Delete unused variable. + (code_conversion_restore): Don't check saved_coding->destination. + (code_conversion_save): New function. + (decode_coding_gap, encode_coding_gap): Call code_conversion_save + instead of record_unwind_protect. + (decode_coding_object, encode_coding_object): Likewise. Recover PT. + (detect_coding_system): Delete unused variable `mask'. + (Fdefine_coding_system_internal): Delete unused variable id. + + * fileio.c (kill_workbuf_unwind): New function. + (Finsert_file_contents): On replacing, call + make_conversion_work_buffer with correct args, and call + record_unwind_protect with the first arg kill_workbuf_unwind. + + * lisp.h (Fgenerate_new_buffer_name): EXFUN it. + +2008-02-01 Kenichi Handa + + * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME. + (fontset_add): Fix for the case that TO is less than TO1. + (Ffontset_info): Don't use fallback fontset on checking the + default fontset. + (dump_fontset): New function for debugging. + + * coding.c (Fdefine_coding_system_internal): Fix for the case that + coding_type is Qcharset. + +2008-02-01 Kenichi Handa + + * chartab.c (map_sub_char_table): New argument DEFAULT_VAL. + (map_char_table): Don't inherit the value from the parent on + initializing VAL. Adjust for the above change. + +2008-02-01 Kenichi Handa + + * coding.c (Qsignature, Qendian): Delete these variables. + (syms_of_coding): Don't initialize them. + (CATEGORY_MASK_UTF_16_AUTO): New macro. + (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in + detect_info->found. + (decode_coding_utf_16): Don't detect BOM here. + (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding) + is NOT utf_16_without_bom. + (setup_coding_system): For a coding system of type utf-16, check + if the attribute :endian is Qbig or not (not nil or not), and set + CODING_REQUIRE_DETECTION_MASK if BOM detection is required. + (detect_coding): If coding type is utf-16 and BOM detection is + required, detect it. + (Fdefine_coding_system_internal): For a coding system of type + utf-16, check if the attribute :endian is Qbig or not (not nil or not). + +2008-02-01 Kenichi Handa + + * coding.c (coding_set_source): Fix for the case that the current + buffer is different from coding->src_object. + (decode_coding_object): Don't use the conversion work buffer if + DST_OBJECT is a buffer. + +2008-02-01 Dave Love + + * lread.c (read_emacs_mule_char) [len==2]: Index + emacs_mule_charset correctly. + +2008-02-01 Dave Love + + * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5) + (detect_coding_big5, decode_coding_big5, encode_coding_big5) + (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer + treated specially.) + (setup_coding_system, coding_category, CATEGORY_MASK_ANY) + (detected_mask): Remove Big5 bits. + +2008-02-01 Kenichi Handa + + The following changes are to make the font rescaling facility + compatible with Emacs 21. + + * xfaces.c (Vface_font_rescale_alist): Rename from + Vface_resizing_fonts. + (struct font_name): Rename member resizing_ratio to rescale_ratio. + (font_rescale_ratio): Rename from font_resizing_ratio. + (split_font_name): Set font->rescale_ratio. + (better_font_p): Pay attention to font->rescale_ratio. + (build_scalable_font_name): Likewise. Change RESX, and RESY + fields. + (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable. + +2008-02-01 Kenichi Handa + + * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig) + (Qutf_16_le): Remove these variables. + (syms_of_coding): Don't DEFSYM them. + (decode_coding_utf_16): Fix handling of BOM. + (encode_coding_utf_16): Fix handling of BOM. + +2008-02-01 Kenichi Handa + + * fileio.c (Finsert_file_contents): On replacing, before decoding + the file into the work buffer, set point of the work buffer to the end. + +2008-02-01 Dave Love + + * coding.c (Fcheck_coding_systems_region): Fix type errors. + +2008-02-01 Dave Love + + * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table + and fix C types. + +2008-02-01 Kenichi Handa + + * xdisp.c (SKIP_GLYPHS): New macro. + (set_cursor_from_row): Pay attention to string display properties. + + * category.c (copy_category_entry): Fix for the case that RANGE + is an integer. + + * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil. + + * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil. + +2008-02-01 Kenichi Handa + + * charset.c (Fcharset_id_internal): New function. + (syms_of_charset): Defsubr it. + + * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver + with the last arg charset_list acquired from coding. + (Fdefine_coding_system_internal): For ccl-based coding system, fix + the attribute coding_attr_ccl_valids. + + * coding.h (enum define_coding_ccl_arg_index): Set the first + member coding_arg_ccl_decoder to coding_arg_max. + + * ccl.h (ccl_driver): Adjust prototype. + + * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros. + (ccl_driver): New arg CHARSET_LIST. Use the above macros instead + of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET. + (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the + last arg Qnil. + +2008-02-01 Kenichi Handa + + * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET, + call encode_char. + + * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET. + +2008-02-01 Dave Love + + * composite.c (syms_of_composite): Make composition_hash_table weak. + +2008-02-01 Kenichi Handa + + * dispextern.h (check_face_attributes, generate_ascii_font_name) + (font_name_registry): Don't extern them. + (split_font_name_into_vector, build_font_name_from_vector): Extern them. + + * fontset.h (Qfontset): Don't extern it. + (new_fontset_from_font_name): Extern it. + + * fontset.c: Give 8 extra slots to fontset objects. + (Qfontset_info): New variable. + (syms_of_fontset): Defsym it. + (FONTSET_FALLBACK): New macro. + (fontset_face): Try also the default fontset. + (make_fontset): Realize a fallback fontset from the default fontset. + (generate_ascii_font_name): Move from xfaces.c. Rewritten by + using split_font_name_into_vector and build_font_name_from_vector. + (Fset_fontset_font): Access the elements of font_spec by enum + FONT_SPEC_INDEX. If font_spec is a string, extract the registry + name by using split_font_name_into_vector. + (Fnew_fontset): If no ASCII font is specified in FONTLIST, + generate a proper font name from the fontset name. + Update Vfontset_alias_alist. + (n_auto_fontsets): New variable. + (new_fontset_from_font_name): New function. + (Ffont_info): Store the information about fonts generated from the + default fontset in the first extra slot of the returned char-table. + + * xfaces.c (generate_ascii_font_name): Move to fontset.c. + (font_name_registry): Delete function. + (split_font_name_into_vector): New function. + (build_font_name_from_vector): New function. + (font_list): The argument REGISTRY is now a list of registry names. + (choose_face_font): If we are choosing an ASCII font, and ATTRS + specifies an explicit font name, return the name as is. Make a + list of registy names. + + * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change + of x_new_fontset. + (Fx_create_frame): Don't call x_new_fontset here. Just use + x_list_fonts to check the existence of fonts. + + * xterm.h (x_new_fontset): Adjust prototype. + + * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp + string. Use new_fontset_from_font_name to create a fontset from a + font name. + +2008-02-01 Kenichi Handa + + * syntax.c (Vfind_word_boundary_function_table): New name for + Vnext_word_boundary_function_table. + (find-word-boundary-function-table): New name for + next-word-boundary-function-table. + +2008-02-01 Dave Love + + * Makefile.in: Fix some dependencies. + + * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but + set it to nil before returning. + + * composite.c (update_compositions): Fix type error. + + * syntax.c (skip_chars, skip_syntaxes): Fix type errors. + +2008-02-01 Kenichi Handa + + * xterm.c (x_new_font): Optimize for the case that the font is + already set for the frame. + +2008-02-01 Kenichi Handa + + * chartab.c (char_table_ascii): Check if the char table contents + is sub-char-table or not. + (char_table_set, char_table_set_range): Fix argument to + char_table_ascii. + + * coding.c (CATEGORY_MASK_RAW_TEXT): New macro. + (detect_coding_utf_8, detect_coding_utf_16) + (detect_coding_emacs_mule, detect_coding_iso_2022) + (detect_coding_sjis, detect_coding_big5) + (detect_coding_ccl, detect_coding_charset): Change argument MASK + to DETECT_INFO. Update DETECT_INFO and return 1 if the byte + sequence is valid in this coding system. Change callers. + (MAX_ANNOTATION_LENGTH): New macro. + (ADD_ANNOTATION_DATA): New macro. + (ADD_COMPOSITION_DATA): Change argument. Change callers. + Call ADD_ANNOTATION_DATA. Change the format of annotation data. + (ADD_CHARSET_DATA): New macro. + (emacs_mule_char): New argument ID. Change callers. + (decode_coding_emacs_mule, decode_coding_iso_2022) + (decode_coding_sjis, decode_coding_big5, decode_coding_charset): + Produce charset annotation data in coding->charbuf. + (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention + to charset annotation data in coding->charbuf. + (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK + coding->common_flags if the coding system is iso-2022 based and + uses designation. + (produce_composition): Adjust for the new annotation data format. + (produce_charset): New function. + (produce_annotation): Handle charset annotation. + (handle_composition_annotation, handle_charset_annotation): + New functions. + (consume_chars): Handle charset annotation. Utilize the above two + functions. + (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same + buffer, get the deleted text as a string and set + coding->src_object to that string. + (detect_coding, detect_coding_system): Use the new struct + coding_detection_info. + + * coding.h (struct coding_detection_info): New structure. + (struct coding_system): Adjust prototype of the member `detector'. + (CODING_ANNOTATE_CHARSET_MASK): New macro. + +2008-02-01 Kenichi Handa + + * insdel.c (insert_from_gap): Fix argument to offset_intervals. + +2008-02-01 Dave Love + + * keymap.c (apropos_predicate, apropos_accumulate): Declare static. + (Fapropos_internal): Don't gcpro apropos_accumulate. Set result + to new local and nullify apropos_accumulate before returning. + (syms_of_keymap): Staticpro and initialize apropos_accumulate. + +2008-02-01 Kenichi Handa + + * charset.c (Fdefine_charset_internal): Setup charset.fast_map + correctly. + +2008-02-01 Dave Love + + * fns.c (Flanginfo): Call synchronize_system_time_locale. + +2008-02-01 Kenichi Handa + + The following changes are to make character composition happen + automatically on displaying. + + * Makefile.in (lisp, shortlisp): Add composite.elc. + + * composite.h (Qauto_composed, Vauto_composition_function) + (Qauto_composition_function): Extern them. + + * composite.c (Vcomposition_function_table) + (Qcomposition_function_table): Delete variables. + (Qauto_composed, Vauto_composition_function) + (Qauto_composition_function): New variables. + (run_composition_function): Don't call + compose-chars-after-function. + (update_compositions): Clear `auto-composed' text property. + (compose_chars_in_text): Delete this function. + (syms_of_composite): Staticpro Qauto_composed and + Qauto_composition_function. Declare Vauto_composition_function as + a Lisp variable. + + * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX. + + * xdisp.c (it_props): Add an entry for Qauto_composed. + (handle_auto_composed_prop): New function. + + * xselect.c (selection_data_to_lisp_data): Don't call + compose_chars_in_text. + +2008-02-01 Dave Love + + * keyboard.c (read_char): Modify checking around use of + Vkeyboard_translate_table. + + * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table + and fix C types. + +2008-02-01 Kenichi Handa + + * coding.c (decode_coding_utf_8, decode_coding_emacs_mule) + (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5) + (decode_coding_charset, produce_chars): When eol_type is Qdos, handle + the case that the last byte is '\r' correctly. + (decode_coding): Flush out the unprocessed data correctly. + (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode. + +2008-02-01 Dave Love + + * xterm.c (XTread_socket): Fix changes for defined keysyms. + Add XK_ISO... case. + (xaw_scroll_callback): Revert last change. + +2008-02-01 Kenichi Handa + + * charset.c (Fset_charset_priority): Update Viso_2022_charset_list. + +2008-02-01 Kenichi Handa + + * xfaces.c (Vface_resizing_fonts): New variable. + (struct font_name): New member `resizing_ratio'. + (font_resizing_ratio): New function. + (split_font_name): Set font->resizing_ratio. + (better_font_p): Pay attention to font->resizing_ratio. + (build_scalable_font_name): Likewise. Don't change POINT_SIZE, + RESX, and RESY fields. + (try_alternative_families): Try scalable fonts if + Vscalable_fonts_allowed is not Qt. + (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable. + +2008-02-01 Dave Love + + * xterm.c (xaw_scroll_callback): Cast correctly. + +2008-02-01 Dave Love + + * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend. + (lispy_kana_keys): Comment out. + (make_lispy_event) [XK_kana_A]: Comment out. + + * xterm.c (xaw_scroll_callback): Cast call_data. + (XTread_socket): Deal with ASCII keysyms. + (syms_of_xterm) : Fix args of make_hash_table. + +2008-02-01 Dave Love + + * xterm.c (Vx_keysym_table): New. + (syms_of_xterm): Initialize it. + (XTread_socket): Use it. + From head: Eliminate incorrect optimization that tried to avoid + decoding the output of X*LookupString. + (x_get_font_repertory): Delete charset declaration. + +2008-02-01 Kenichi Handa + + * coding.c (detect_coding_charset): If only ASCII bytes are found, + return 0. + (Fdefine_coding_system_internal): + Setup CODING_ATTR_ASCII_COMPAT (attrs) correctly. + +2008-02-01 Dave Love + + * coding.c (Fcheck_coding_system): Doc fix. + + * editfns.c (Finsert_byte): Return a proper value. + +2008-02-01 Kenichi Handa + + * coding.c (decode_coding): Fix args to translate_chars. + Pay attention to Vstandard_translation_table_for_decode. + (encode_coding): Fix args to translate_chars. Pay attention to + Vstandard_translation_table_for_encode. + + * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by + SINGLE_BYTE_CHAR_P. + + * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P, + not by SINGLE_BYTE_CHAR_P. + + * fns.c (concat): Check CH by ASCII_CHAR_P, not by + SINGLE_BYTE_CHAR_P. + + * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by + SINGLE_BYTE_CHAR_P. + + * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not + by SINGLE_BYTE_CHAR_P. + + * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by + SINGLE_BYTE_CHAR_P. + +2008-02-01 Dave Love + + * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix. + +2008-02-01 Dave Love + + * fns.c (Flanginfo): Fix typo. + + * unexelf.c (unexec): Make last change conditional on Irix 6.5. + +2008-02-01 Kenichi Handa + + * coding.c (detect_coding_utf_8, detect_coding_utf_16) + (detect_coding_emacs_mule, detect_coding_iso_2022) + (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check + incomplete byte sequence. Don't update *mask when correctly detected. + (decode_coding_sjis): Fix decoding of katakana-jisx0201. + (detect_eol): Delete the argument CODING, and add the argument CATEGORY. + (detect_coding, detect_coding_system): Adjust for the changes above. + +2008-02-01 Kenichi Handa + + * character.c (char_string): Rename from + char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK. + (string_char): Rename from string_char. + + * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string + if C is greater than MAX_3_BYTE_CHAR. + (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): + Call string_char instead of string_char_with_unification. + +2008-02-01 Dave Love + + * coding.c (decode_coding_utf_8): Treat surrogates as invalid. + +2008-02-01 Kenichi Handa + + * keymap.c (push_key_description): Pay attention to force_multibyte. + + * regex.c (re_search_2): Fix for the case of unibyte buffer. + +2008-02-01 Dave Love + + * charset.c (define_charset_internal): Rename `supprementary'. + + * Makefile.in (lisp, shortlisp): Remove latin-N. + +2008-02-01 Dave Love + + * xfns.c (x_window, x_window): Use use_xim. + + * xterm.c (use_xim): Initialize. + (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim. + (x_term_init): Maybe set use_xim. + + * xterm.h (use_xim) [HAVE_X_I18N]: Declare. + +2008-02-01 Kenichi Handa + + * search.c (search_buffer): Fix case-fold-search of multibyte + characters. + (boyer_moore): Rename the last argument to char_high_bits. + +2008-02-01 Kenichi Handa + + * xdisp.c (display_string): Fix for the case of zero width glyph. + + * xfns.c (x_set_font): Change the error message of the case that + x_new_fontset returns Qt. + + * xfaces.c (set_lface_from_font_name): Reject the default fontset. + (Finternal_set_lisp_face_attribute): Use signal_error for the + error of invalid fontset. + + * xterm.c (x_new_fontset): If FONTSETNAME specifies the default + fontset, return Qt. + +2008-02-01 Dave Love + + * unexelf.c (unexec): Make .got handling not SGI-specific. + + * syntax.c (syms_of_syntax) : Doc fix. + + * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'. + + * keyboard.c (read_key_sequence): Fix type error. + + * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): + Fix type error. + + * fontset.c (fontset_add): Return Lisp_Object. + +2008-02-01 Dave Love + + * charset.h (charset_ordered_list_tick): Declare extern. + +2008-02-01 Kenichi Handa + + The following changes (and some of 2008-02-01 changes of mine) are + for handling syntax, category, and case conversion for unibyte + characters by converting them to multibyte on the fly. With these + changes, we don't have to setup syntax and case tables for unibyte + characters in each language environment. + + * abbrev.c (Fexpand_abbrev): Convert a unibyte character to + multibyte if necessary. + + * bytecode.c (Fbyte_code): Likewise. + + * character.h (LEADING_CODE_LATIN_1_MIN) + (LEADING_CODE_LATIN_1_MAX): New macros. + (unibyte_to_multibyte_table): Extern it. + (unibyte_char_to_multibyte): New macro. + (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table. + (CHAR_LEADING_CODE): New macro. + (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro. + + * character.c (unibyte_to_multibyte_table): New variable. + (unibyte_char_to_multibyte): Move to character.h and define as macro. + (multibyte_char_to_unibyte): If C is an eight-bit character, + convert it to the corresponding byte value. + + * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is + not 1, signals an error. Update the elements of + unibyte_to_multibyte_table. + (init_charset_once): Initialize unibyte_to_multibyte_table. + (syms_of_charset): Define the charset `iso-8859-1'. + + * cmds.c (internal_self_insert): In a multibyte buffer, insert C + as is without converting it to unibyte. In a unibyte buffer, + convert C to multibyte before checking the syntax. + + * lisp.h (unibyte_char_to_multibyte): Delete extern. + + * minibuf.c (Fminibuffer_complete_word): Use the macro + FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE. + + * regex.h (struct re_pattern_buffer): New member target_multibyte. + + * regex.c (RE_TARGET_MULTIBYTE_P): New macro. + (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. + If that is zero, convert an eight-bit char to multibyte. + (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for + non-emacs case. + (PATFETCH): Convert an eight-bit char to multibyte. + (HANDLE_UNIBYTE_RANGE): New macro. + (regex_compile): Setup the compiled pattern for multibyte chars + even if the given regex string is unibyte. Use PATFETCH_RAW + instead of PATFETCH in many places. To handle `charset' + specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap + only for ASCII chars. + (analyse_first) : Simplify because the compiled pattern + is multibyte. + : Setup fastmap from bitmap only for ASCII chars. + : Use CHAR_LEADING_CODE to get leading codes. + : If multibyte, setup fastmap only for ASCII chars here. + (re_compile_fastmap) [emacs]: Call analyse_first with the arg + multibyte always 1. + (re_search_2): In emacs, set the locale variable multibyte to 1, + otherwise to 0. New local variable target_multibyte. Check it + to decide the multibyteness of STR1 and STR2. + If target_multibyte is zero, convert unibyte chars to multibyte + before translating and checking fastmap. + (TARGET_CHAR_AND_LENGTH): New macro. + (re_match_2_internal): In emacs, set the locale variable multibyte + to 1, otherwise to 0. New local variable target_multibyte. + Check it to decide the multibyteness of STR1 and STR2. + Use TARGET_CHAR_AND_LENGTH to fetch a character from D. + : If multibyte is nonzero, check fastmap + only for ASCII chars. Call bcmp_translate with + target_multibyte, not with multibyte. + : Declare the local variable C as `unsigned'. + (bcmp_translate): Change the last arg name to target_multibyte. + + * search.c (compile_pattern_1): Don't adjust the multibyteness of + the regexp pattern and the matching target. Set cp->buf.multibyte + to the multibyteness of the regexp pattern. Set + cp->but.target_multibyte to the multibyteness of the matching target. + (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of + FETCH_STRING_CHAR_ADVANCE. + (Freplace_match): Convert unibyte chars to multibyte. + + * syntax.c (char_quoted, back_comment, scan_words) + (Fforward_comment, scan_lists, Fbackward_prefix_chars) + (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert + unibyte chars to multibyte. + (skip_chars): Delete the arg syntaxp, and move the code for + handling syntaxes to skip_syntaxes. Change callers. + Fix the case that the multibyteness of STRING and the current + buffer doesn't match. + (skip_syntaxes): New function. + (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by + SINGLE_BYTE_CHAR_P. + +2008-02-01 Kenichi Handa + + * xfaces.c (QCfontset): New variable. + (LFACE_FONTSET): New macro. + (check_lface_attrs): Check also LFACE_FONTSET_INDEX. + (set_lface_from_font_name): Setup LFACE_FONTSET (lface). + (Finternal_set_lisp_face_attribute) + (Finternal_get_lisp_face_attribute): Handle QCfontset. + (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX, + check also LFACE_FONTSET_INDEX. + (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not + attrs[LFACE_FONT_INDEX]. + (syms_of_xfaces): Intern and staticpro QCfontset. + + * dispextern.h (enum lface_attribute_index): New member + LFACE_FONTSET_INDEX. + + * fns.c (base64_encode_1): Handle eight-bit chars correctly. + +2008-02-01 Kenichi Handa + + * coding.c (coding_set_destination): Fix coding->destination for + the case converting a region. + (encode_coding_utf_8): Encode eight-bit chars as single byte. + (encode_coding_object): Fix coding->dst_pos and + coding->dst_pos_byte for the case converting a region. + + * insdel.c (insert_from_gap): Make it work even if PT != GTP. + + * character.h (BYTE8_STRING): New macro. + + * fns.c (base64_decode_1): Insert eight-bit chars correctly. + +2008-02-01 Kenichi Handa + + * xdisp.c (get_next_display_element): Don't display unibyte 8-bit + characters by octal form. + + * abbrev.c (Fexpand_abbrev): Fix for the multibyte case. + + * buffer.h (_fetch_multibyte_char_len): Delete extern. + (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use + _fetch_multibyte_char_len. + (FETCH_CHAR_AS_MULTIBYTE): New macro. + + * casetab.c (set_canon, set_identity, shuffle): Simplify. + + * casefiddle.c (casify_object): Simplify. Handle the case that + the case conversion change the byte length. + (casify_region): Likewise. + + * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros. + + * character.c (_fetch_multibyte_char_len): Delete this variable. + (syms_of_character): Setup Vprintable_chars. + + * editfns.c (Fchar_equal): Fix for the unibyte case. + (Finsert_byte): New function. + (syms_of_editfns): Defsubr it. + + * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead + of direct code 0x3ffff. + + * search.c (Freplace_match): Fix for the unibyte case. + +2008-02-01 Kenichi Handa + + * lread.c (safe_to_load_p): Fix the logic. + + * syntax.c (scan_words): Don't treat characters belonging to + different scripts as constituting a word. + + * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P. + + * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script. + + * emacs.c (main): In the case of --unibyte, instead of aborting on + finding non-empty buffer, make it unibyte. + +2008-02-01 Kenichi Handa + + * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font' + to create a fontset. + +2008-02-01 Dave Love + + * character.c (Funibyte_char_to_multibyte): Doc fix. + + * xfns.c [HAVE_STDLIB_H]: Fix last change. + +2008-02-01 Kenichi Handa + + * fontset.c (fontset_add): Make the type `int'. + (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined. + + * character.c (unibyte_char_to_multibyte) + (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to + charset_unibyte, not charset_primary. + + * charset.h (charset_unibyte): Extern it instead of charset_primary. + + * charset.c (charset_unibyte): Rename from charset_primary. + (Funibyte_charset): Rename from Fprimary_charset. + (Fset_unibyte_charset): Rename from Fset_primary_charset. + (syms_of_charset): Adjust for the above changes. + + * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not + SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when + it->multibyte_p is zero. + + * lisp.h (nonascii_insert_offset, Vnonascii_translation_table): + Delete extern. + +2008-02-01 Kenichi Handa + + * coding.c (Fdefine_coding_system_internal): Fix category setting + for a coding system of type iso-2022. + +2008-02-01 Kenichi Handa + + * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1. + +2008-02-01 Kenichi Handa + + * syntax.c (Vnext_word_boundary_function_table): New variable. + (next-word-boundary-function-table): Declare it as a Lisp variable + in syms_of_syntax. + (scan_words): Call functions in Vnext_word_boundary_function_table + if any. + + * xterm.c (x_load_font): Initialize fontp->fontset to -1. + + * fontset.c (fs_load_font): If fontp->charset is not negative, + return fontp without setting its members. + +2008-02-01 Dave Love + + * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo). + + * m/sparc.h (HAVE_ALLOCA): Delete. + + * s/irix6-5.h: Don't include strings.h. + (bcopy, bzero, bcmp): Don't undef. + + * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef. + + * s/usg5-4.h (NO_SIOCTL_H): Don't define. + (TIOCSIGSEND): Don't test IRIX6. + (bcopy, bzero, bcmp): Define conditionally. + +2008-02-01 Kenichi Handa + + * buffer.c (Qas, Qmake, Qto): New variables. + (Fset_buffer_multibyte): New optional arg METHOD. Change caller. + (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto. + + * callproc.c (Fcall_process): Don't call insert_1_both directly if + we are inserting a process output into a multibyte buffer. + + * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call + multibyte_char_to_unibyte. + + * character.c (Funibyte_char_to_multibyte): If C can't be decoded + by the primary charset, make it eight-bit char. + (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8. + + * charset.c (charset_eight_bit, Qeight_bit_control): New variables. + (charset_8_bit__control, charset_8_bit_graphic) + (Qeight_bit_control, Qeight_bit_graphic): Delete these variables. + (define_charset_internal): New function. + (syms_of_charset): Call define_charset_internal for pre-defined + charsets. + + * charset.h (charset_8_bit): Extern it. + + * coding.c (make_conversion_work_buffer): Adjust for the change + of Fset_buffer_multibyte. + (encode_coding_raw_text): Increment p0 in the loop. + + * lisp.h (Fset_buffer_multibyte): Adjust prototype. + + * xdisp.c (setup_echo_area_for_printing, set_message_1): + Adjust for the change of Fset_buffer_multibyte. + + * fns.c (Fstring_to_multibyte): New function. + (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine. + +2008-02-01 Dave Love + + * xfns.c (x_put_x_image): Declare args. + + * xfaces.c (font_name_registry, choose_face_font): Delete unused vars. + (try_font_list): Declare an arg. + + * xdisp.c (message2_nolog, set_message): Declare an arg. + + * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm. + + * syntax.c (scan_sexps_forward): Declare an arg. + + * scroll.c (calculate_scrolling, calculate_direct_scrolling): + Declare an arg. + + * lisp.h (Fnew_fontset): Declare. + + * keymap.c (push_key_description): Call CHARACTERP correctly. + + * fontset.c (fontset_add): Declare args. Call make_number correctly. + (face_for_char): Delete unused vars. + (Fset_fontset_font): Doc fix. Delete unused vars. + + * doc.c (Fsubstitute_command_keys): Delete unused vars. + + * composite.c (update_compositions): Declare arg. + + * cm.c (calccost, cmgoto): Declare args. + + * charset.c: Remove `emacs' conditional. Doc fixes. + (map_char_table_for_charset): Declare. + + * character.c (syms_of_character) : Doc fix. + + * ccl.c: Remove `emacs' conditional. + +2008-02-01 Kenichi Handa + + The following changes are to allow specifying multiple font + patterns for a character range (specified by script or charset). + + * Makefile.in (abbrev.o): Depend on syntax.h. + (xfaces.o): Depend on charset.h. + + * alloc.c (Fmake_string): Use ASCII_CHAR_P, not + SINGLE_BYTE_CHAR_P. + + * ccl.c (Fccl_execute_on_string): Add `const' to local variables. + + * character.h (Vchar_script_table): Extern it. + + * character.c (Vscript_alist): Delete. + (Vchar_script_table, Qchar_script_table): New variable. + (syms_of_character): Declare Vchar_script_table as a lisp variable + and initialize it. + + * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't + have property char-table-extra-slots, make no extra slot. + + * dispextern.h (struct face): Delete member `charset'. + (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not + SINGLE_BYTE_CHAR_P. + (choose_face_font, lookup_non_ascii_face, font_name_registry): + Add prototypes. + (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype. + (generate_ascii_font_name): Rename from generate_ascii_font. + + * fontset.h (get_font_repertory_func): New prototype. + (make_fontset_for_ascii_face, fs_load_font): Fix prototypes. + (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii. + + * fontset.c (Qprepend, Qappend): New variables. + (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete. + (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros. + (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset. + (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros. + (fontset_ref_and_range, fontset_add, reorder_font_vector) + (load_font_get_repertory): New functions. + (fontset_set): Delete. + (fontset_face): New arg FACE. Return face ID, not face. + Complete re-write to handle new fontset structure. Change caller. + (free_face_fontset): Use ASET istead of AREF (X) = Y. + (face_for_char): Don't call lookup_face. + (make_fontset_for_ascii_face): New arg FACE. + (fs_load_font): New arg CHARSET_ID. Don't check + Vfont_encoding_alist here. + (find_font_encoding): New function. + (list_fontsets): Use STRINGP, not ! NILP. + (accumulate_script_ranges): New function. + (Fset_fontset_font, Fnew_fontset, Ffontset_info): + Completely re-written to handle new fontset structure. + (Ffontset_font): Return a copy of element. + (syms_of_fontset): Define symbols Qprepend and Qappend. + Fix docstring of font-encoding-alist. + + * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0). + (Fset_fotset_font): Fix arguments to 5. + + * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face. + + * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line): + Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P. + (highlight_trailing_whitespace): Adjust for the change of + lookup_named_face. + + * xfaces.c: Include charset.h. + (load_face_font): Delete argument C. Change caller. + (generate_ascii_font_name): Rename from generate_ascii_font. + (font_name_registry): New function. + (cache_face): Store ascii faces before non-ascii faces in buckets. + (lookup_face): Delete arguments C and BASE_FACE. Change caller. + Lookup only ascii faces. + (lookup_non_ascii_face): New function. + (lookup_named_face): Delete argument C. Change caller. + (lookup_derived_face): Delete argument C. Change caller. + (try_font_list): New arg PATTERN. Change caller. If PATTERN is + a string, just call font_list with it. + (choose_face_font): Delete arguments FACE and C. New arg + FONT_SPEC. Change caller. + (realize_face, realize_x_face): Delete arguments C and BASE_FACE. + Change caller. + (realize_non_ascii_face): New function. + (realize_x_face): Call load_face_font here. + (realize_tty_face): Delete argument C. Change caller. + (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to + get a face ID. + (dump_realized_face): Don't print charset of FACE. + + * xfns.c (x_set_font): Always call x_new_fontset and + store_frame_parameter. + (Fx_create_frame): Call x_new_fontset, not x_new_font. + (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory. + + * xterm.h (x_get_font_repertory): Extern it. + + * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not + SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when + it->multibyte_p is zero. + (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P. + (x_new_fontset): If FONTSETNAME doesn't match any existing + fontsets, create a new one. + (x_get_font_repertory): New function. + +2008-02-01 Kenichi Handa + + * coding.c (Ffind_coding_systems_region_internal): Detect an + ASCII only string correctly. + + * lread.c (Fload): Don't load with Qload_force_doc_strings t if + version is 0. + +2008-02-01 Kenichi Handa + + * lread.c: Include "coding.h". + (Qget_emacs_mule_file_char, Qload_force_doc_strings) + (load_each_byte, unread_char): New variables. + (readchar_backlog): Delete. + (readchar): Return a character unless load_each_byte is nonzero. + Handle the case that readcharfun is Qget_emacs_mule_file_char or a + cons. If unread_char is not -1, simply return it. + (unreadchar): Handle the case that readcharfun is + Qget_emacs_mule_file_char or a cons. Set unread_char if necessary. + (read_multibyte): Delete. + (readbyte_for_lambda, readbyte_from_file, readbyte_from_string) + (read_emacs_mule_char): New functions. + (Fload): Even if the file doesn't have the extension ".elc", if + safe_to_load_p returns a positive version number, assume that the + file contains bytecompiled code. If the version is less than 22, + load the file while decoding multibyte sequences by emacs-mule. + (readevalloop): Don't use readchar_backlog. + (Fread): Likewise. Pay attention to the case that STREAM is a cons. + (Fread_from_string): Pay attention to the case that STREAM is a cons. + (read_escape): Delete the arg BYTEREP. + (read1): Set load_each_byte to 1 temporarily while handling + #@NUMBER. Don't call read_multibyte. + (read_vector): Call Fread with a cons. If readcharfun is + Qget_emacs_mule_file_char, decode the read string by emacs-mule. + (read_list): If doc_reference is 2, make the cdr part string as unibyte. + (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char + and Qload_force_doc_strings. + +2008-02-01 Kenichi Handa + + * xdisp.c (face_before_or_after_it_pos): + Call FETCH_MULTIBYTE_CHAR with byte postion, not char position. + +2008-02-01 Kenichi Handa + + * character.h (TRAILING_CODE_P): New macro. + (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset. + (string_char_with_unification): Fix prototype. + (Vscript_alist): Extern it. + + * character.c (Vscript_alist): New variable. + (string_char_with_unification, str_as_unibyte) + (string_escape_byte8): Add `const' to local variables. + (syms_of_character): Declare script-alist as a Lisp variable. + + * charset.h (Vcharset_ordered_list): Extern it. + (charset_ordered_list_tick): Extern it. + (EMACS_MULE_LEADING_CODE_PRIVATE_11) + (EMACS_MULE_LEADING_CODE_PRIVATE_12) + (EMACS_MULE_LEADING_CODE_PRIVATE_21) + (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros. + (Funify_charset): Adjust for the change of Funify_charset. + + * charset.c (charset_ordered_list_tick): New variable. + (Fdefine_charset_internal): Increment charset_ordered_list_tick. + (Funify_charset): New optional arg DEUNIFY. If it is non-nil, + deunify instead of unify a charset. + (string_xstring_p): Add `const' to local variables. + (find_charsets_in_text): Add `const' to arguments and local variables. + (encode_char): Adjust for the change of Funify_charset. + Fix detecting of invalid code. + (Fset_charset_priority): Increment charset_ordered_list_tick. + (Fmap_charset_chars): Fix handling of default value for FROM_CODE + and TO_CODE. + + * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12) + (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros. + Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc. + (decode_coding_ccl, consume_chars) + (Ffind_coding_systems_region_internal) + (Fcheck_coding_systems_region): Add `const' to local variables. + + * print.c (print_object): Use octal form for printing the + contents of a bool vector. + +2008-02-01 Dave Love + + * lread.c (Fload) : Don't leak fd. + : Refuse to load. + +2008-02-01 Dave Love + + * fns.c: Move coding.h. + (Qcodeset, Qdays, Qmonths): New. + (concat): Use CHARACTERP instead of INTEGERP. + (Flocale_codeset): Delete. + (Flanginfo): New function. + (syms_of_fns): Change accordingly. + + * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup. + +2008-02-01 Dave Love + + * casetab.c (init_casetab_once, init_casetab_once): + Fix CHAR_TABLE_SET call. + + * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call. + + * character.c (syms_of_character): Fix CHAR_TABLE_SET call. + + * charset.c (Fmap_charset_chars): Check args. Convert Lisp types. + (load_charset_map, Fdeclare_equiv_charset, Fencode_char) + (Fset_charset_priority, syms_of_charset): Convert Lisp types. + + * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result. + + * coding.c (ENCODE_DESIGNATION, decode_eol) + (make_conversion_work_buffer, code_conversion_restore) + (Fdefine_coding_system_internal): Convert Lisp types. + (code_conversion_restore): Use EQ, not ==. + (Fencode_coding_string): Fix code_convert_string call. + + * coding.h (code_convert_region): Fix prototype. + + * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove. + + * fontset.c (fontset_ref, fontset_set, fs_load_font) + (Ffontset_info): Convert Lisp types. + + * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number. + + * xterm.c (note_mouse_movement): Fix call of window_from_coordinates. + + * xdisp.c (display_mode_element): Fix call of Fset_text_properties. + + * chartab.c: Include "...h", not <...h> in some cases. + + * callproc.c (Fcall_process): Remove unused variables. + +2008-02-01 Dave Love + + * coding.c (Fset_coding_system_priority): Allow null arg list. + +2008-02-01 Dave Love + + * minibuf.c (Fminibuffer_complete_word): Remove unused var. + (Fself_insert_and_exit): Use CHARACTERP. + + * callproc.c (Fcall_process): Remove unused vars. + + * xterm.c (XTread_socket): Add extra dead keysyms. + + * xdisp.c (decode_mode_spec_coding): Use CHARACTERP. + + * dispextern.h: Remove prototypes for redraw_frame, + redraw_garbaged_frames. + + * cmds.c (Fself_insert_command): Use CHARACTERP. + + * chartab.c (make_sub_char_table): Remove unused var. + (Fset_char_table_default, Fmap_char_table): Doc fix. + + * keymap.c (access_keymap): Remove generic char code. + (push_key_description): Use CHARACTERP. + +2008-02-01 Dave Love + + * charset.c: Doc fixes. + (Funify_charset): Extra checking. + +2008-02-01 Dave Love + + * lread.c: Remove some unused variables. + (safe_to_load_p): If safe, return the magic number version byte. + (Fload): Maybe use load-with-code-conversion. + +2008-02-01 Kenichi Handa + + * category.c (Fmodify_category_entry): Don't modify the contents + of category_set for characters out of the range. + Avoid unnecessary modification. + + * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of + Vchar_unify_table. The default value of the table is now nil. + + * character.c (syms_of_character): Setup Vchar_width_table for + eight-bit-control and raw-byte chars. + + * charset.h (enum define_charset_arg_index): + Delete charset_arg_parents and add charset_arg_subset and + charset_arg_superset. + (enum charset_attr_index): Delete charset_parents and add + charset_subset and charset_superset. + (enum charset_method): Delete CHARSET_METHOD_INHERIT and add + CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET. + (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete. + (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET) + (CHARSET_SUPERSET): New macros. + (charset_work): Extern it. + (ENCODE_CHAR): Use charset_work. + (CHAR_CHARSET_P): Adjust for the change of encoder format. + (map_charset_chars): Extern it. + + * charset.c (load_charset_map): Set the default value of encoder + and deunifier char-tables to nil. + (map_charset_chars): Change argument. Change callers. + Use map_char_table_for_charset instead of map_char_table. + (Fmap_charset_chars): New optional args from_code and to_code. + (Fdefine_charset_internal): Adjust for the change of + `define-charset' (:parents -> :subset or :superset). + (charset_work): New variable. + (encode_char, syms_of_charset): Adjust for the change of + Fdefine_charset_internal. + (Ffind_charset_string): Setup the vector `charsets' correctly. + + * chartab.c (sub_char_table_ref_and_range): New arg default. + Fix the previous change. + (char_table_ref_and_range): Adjust for the above change. + (map_sub_char_table_for_charset): New function. + (map_char_table_for_charset): New function. + + * keymap.c (describe_vector): Handle a char-table directly here. + (describe_char_table): Delete. + + * lisp.h (map_charset_chars): Delete. + +2008-02-01 Dave Love + + * fns.c (count_combining): Comment out (unused). + (Flocale_codeset): New. + (syms_of_fns): Defsubr it. + + * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New. + (size_t): Remove. + +2008-02-01 Dave Love + + * Makefile.in (chartab.o): Depend on charset.h. + +2008-02-01 Kenichi Handa + + * character.c (syms_of_character): Set the default value of + Vprintable_chars to Qnil. + +2008-02-01 Dave Love + + * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el. + +2008-02-01 Kenichi Handa + + * charset.c (load_charset_map): Handle the case that from < to + correctly. + + * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022) + (encode_coding_sjis, encode_coding_big5, encode_coding_charset): + Pay attention to raw-8-bit chars. + +2008-02-01 Kenichi Handa + + * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el. + It is not bytecompiled now. + + * charset.c (charset_jisx0201_roman, charset_jisx0208_1978) + (charset_jisx0208): New variables. + (Fdefine_charset_internal): Setup them if appropriate. + (init_charset_once): Initialize them to -1. + + * charset.h (charset_jisx0201_roman, charset_jisx0208_1978) + (charset_jisx0208): Extern them. + + * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro. + (CODING_ISO_FLAG_USE_OLDJIS): New macro. + (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition. + (setup_iso_safe_charsets): Fix arguments to Fassq. + (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1) + (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to + CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS. + (encode_coding_iso_2022): Change the 1st arg to + ENCODE_ISO_CHARACTER to a variable. + +2008-02-01 Kenichi Handa + + * charset.h (enum define_charset_arg_index): New enums + charset_arg_min_code and charset_arg_max_code. + (struct charset): New member char_index_offset. + + * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT): + Take charset->char_index_offset into account. + (Fdefine_charset_internal): Handle args[charset_arg_min_code] and + args[charset_arg_max_code]. Setup charset.char_index_offset. + (syms_of_charset): Fix args to Fdefine_charset_internal. + +2008-02-01 Dave Love + + * coding.c (decode_coding_utf_8): Reject overlong sequences. + +2008-02-01 Dave Love + + * coding.c: Doc fixes. + (Fcoding_system_aliases): Fix return value. + (Qmac): Remove (duplicated) definition. + +2008-02-01 Dave Love + + * charset.c (Fcharset_priority_list, Fset_charset_priority): + New functions. + + * character.c (Fstring): Doc fix. + + * charset.c (Fdefine_charset_alias): Update Vcharset_list. + + * fontset.c (Ffontset_info): Doc fix. Return charset names, not ids. + (font-encoding-alist): Doc fix. + +2008-02-01 Dave Love + + * term.c (costs_set): Declare static, non-initialized for pcc. + (encode_terminal_code): Remove unused var. + + * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl + for K&R. + + * xterm.c (xlwmenu_window_p): Fix prototype for K&R. + + * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R. + (suffixes): Move out of make_subsidiaries for K&R. + + * charset.c (map_charset_chars): Fix c_function declaration for K&R. + + * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'. + +2008-02-01 Dave Love + + * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP. + + * category.c (Fmodify_category_entry): Doc fix. Remove unused vars. + +2008-02-01 Yong Lu + + * charset.c (Fdefine_charset_internal): Fix argument to bzero. + + * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96. + +2008-02-01 Kenichi Handa + + * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el, + vietnamese.elc to vietnamese.el. They are not bytecompiled now. + +2008-02-01 Kenichi Handa + + * coding.c (decode_coding_charset): Adjust for the change of + Fdefine_coding_system_internal. + (Fdefine_coding_system_internal): For a coding system of + `charset' type, store a list of charset IDs in + `charset_attr_charset_valids' element of coding attributes. + +2008-02-01 Kenichi Handa + + * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars. + (emacs_mule_char): New arg src. Delete arg `composition'. + Change caller. Handle 2-byte and 3-byte charsets correctly. + (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from + DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller. + (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro. + (DECODE_EMACS_MULE_21_COMPOSITION): + Call DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation + sequence. + (decode_coding_emacs_mule): Handle composition correctly. Rewind + `src' and `consumed_chars' correctly before calling emacs_mule_char. + (DECODE_COMPOSITION_START): Correctly handle the case of altchar + and alt&rule composition. + (decode_coding_iso_2022): Handle composition correctly. + (init_coding_once): Setup emacs_mule_bytes for private charsets. + + * charset.c (Fdefine_charset_internal): Fix bug for the case of + re-defining a charset. If the charset has :emacs-mule-id, setup + emacs_mule_bytes. + (Fmake_char): If CODE1 is nil, use the minimum code of the charset. + +2008-02-01 Kenichi Handa + + * coding.c (encode_coding_iso_2022, encode_coding_sjis) + (encode_coding_big5, encode_coding_charset): If coding requires safe + encoding, produce a character specified by + CODING_INHIBIT_CHARACTER_SUBSTITUTION. + +2008-02-01 Dave Love + + * xterm.c (XSetIMValues): Declare. + + * process.c: Conditionally include sys/wait.h, pty.h. + + * print.c (print_object): Fix print format for 64-bit systems. + + * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems. + + * buffer.c (emacs_strerror): Declare. + + * fontset.c (Fclear_face_cache): Declare. + (accumulate_font_info): Comment-out (unused). + (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused + variables. + + * character.h (string_escape_byte8): Declare. + + * charset.c (load_charset_map, load_charset_map_from_file): + Remove unused vars. + (Fdefine_charset_internal, Fsplit_char, syms_of_charset) + (Fmap_charset_chars): Doc fix. + + * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove. + (Fset_coding_system_priority, Fset_coding_system_priority) + (Fdefine_coding_system_internal): Doc fix. + +2008-02-01 Dave Love + + * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics. + +2008-02-01 Kenichi Handa + + * character.c (string_escape_byte8): Make multibyte string with + correct size. + + * charset.c (Fmake_char): Delete unnecessary code. + +2008-02-01 Kenichi Handa + + * xfns.c (x_encode_text): Allocate coding.destination here, and + call encode_coding_object with dst_object Qnil. + + * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to + multibyte form correctly. + + * fontset.c (fs_load_font): Check fontp->full_name (not fontname) + against Vfont_encoding_alist. + + * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the + handling of charset list. + (encode_coding_iso_2022): Setup coding->safe_charsets in advance. + (decode_coding_object): Move point to coding->dst_pos before + calling post-read-conversion function. + (encode_coding_object): Give correct arguments to + pre-write-conversion. Ignore the return value of + pre-write-conversion function. Pay attention to the case that + pre-write-conversion changes the current buffer. If dst_object is + Qt, even if coding->src_bytes is zero, allocate at least one byte + to coding->destination. + + * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2). + + * charset.c (Fmake_char): Make it more backward compatible. + (Fmap_charset_chars): Fix docstring. + +2008-02-01 Dave Love + + * coding.c: Doc fixes. + (Fdefine_coding_system_alias): Use names, not symbols, in + coding-system-alist. + +2008-02-01 Kenichi Handa + + * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead + of calling free_realized_face. + +2008-02-01 Yong Lu + + * charset.c (read_hex): Don't treat SPC as a comment starter. + (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1. + (Fdecode_char): Fix typo. + +2008-02-01 Kenichi Handa + + * charset.h (struct charset): New member `code_space_mask'. + + * coding.c (coding_set_source): Delete the local variable beg_byte. + (encode_coding_charset, Fdefine_coding_system_internal): + Delete the local variable charset. + (Fdefine_coding_system_internal): + Setup attrs[coding_attr_charset_valids] correctly. + + * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask' + member to check if CODE is valid or not. + (Fdefine_charset_internal): Initialize `code_space_mask' member. + (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE + is within the range of charset->min_code and carset->max_code. + +2008-02-01 Dave Love + + * syntax.h (syntax_temp) [!__GNUC__]: Declare. + + * dispextern.h (generate_ascii_font): Fix return type. + + * xfaces.c (generate_ascii_font): Fix arg declaration. + + * coding.c (coding_inherit_eol_type) + (Fset_terminal_coding_system_internal) + (Fset_safe_terminal_coding_system_internal): Fix arg declarations. + +2008-02-01 Kenichi Handa + + * coding.c (decode_coding_charset, encode_coding_charset): + Handle multiple charsets correctly. + +2008-02-01 Kenichi Handa + + * search.c (boyer_moore): Fix handling of multibyte character + translation. + + * xdisp.c (display_mode_element): When the variable `elt' is + changed, update `this' and `lisp_string'. + +2008-02-01 Kenichi Handa + + * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling. + + * callproc.c (Fcall_process): Be sure to give the current buffer + to decode_coding_c_string. Update PT and PT_BYTE after the insertion. + + * charset.c (struct charset_map_entries): New struct. + (load_charset_map): Rename from parse_charset_map. New args + entries and n_entries. Change caller. + (load_charset_map_from_file): Rename from load_charset_map. + Change caller. New arg control_flag. Call load_charset_map at + the tail. + (load_charset_map_from_vector): New function. + (Fdefine_charset_internal): Setup charset.compact_codes_p. + (encode_char): If the charset is compact, change a character index + to a code point. + + * coding.c (coding_alloc_by_making_gap): Check the case that the + source and destination are the same correctly. + (decode_coding_raw_text): Set coding->consumed_char and + coding->consumed to 0. + (produce_chars): If coding->chars_at_source is nonzero, update + coding->consumed_char and coding->consumed before calling + alloc_destination. + (Fdefine_coding_system_alias): Register ALIAS in + Vcoding_system_alist. + (syms_of_coding): Define `no-conversion' coding system at the tail. + + * fileio.c (Finsert_file_contents): Set coding_system instead of + val. If the current buffer is multibyte, always call + decode_coding_gap. + + * xfaces.c (try_font_list): Give higher priority to fontset's + family than face's family. + +2008-02-01 Kenichi Handa + + * callproc.c (Fcall_process): Be sure to give the current buffer + to decode_coding_c_string. + + * xfaces.c (try_font_list): Give a family specified in a fontset + higher priority than a family specified in a face. + +2008-02-01 Kenichi Handa + + * fileio.c (Finsert_file_contents): Fix calculation of `inserted'. + Fix arguments to insert_from_buffer. + + * xdisp.c (display_mode_element): Fix calculation of `bytepos'. + +2008-02-01 Kenichi Handa + + * coding.c (produce_chars): Set the variable `multibytep' correctly. + (decode_coding_gap): Set coding->dst_multibyte correctly. + +2008-02-01 Kenichi Handa + + * coding.c (encode_coding_utf_8): Initialize produced_chars to 0. + (decode_coding_utf_16): Fix converting high and low bytes to code-point. + (encode_coding_utf_16): Substitute coding->default_char for + non-Unicode characters. + (decode_coding): Don't call record_insert here. + (setup_coding_system): Initialize `surrogate' of + coding->spec.utf_16 to 0. + (EMIT_ONE_BYTE): Fix for multibyte case. + + * insdel.c (insert_from_gap): Call record_insert. + +2008-02-01 Kenichi Handa + + * casefiddle.c (casify_region): Fix multibyte case. + + * character.c (c_string_width): Add return type `int'. + (char_string_with_unification): Delete arg ADVANCED. + + * character.h (CHAR_VALID_P): Don't call CHARACTERP. + (CHAR_STRING): Adjust for the change of char_string_with_unification. + (CHAR_STRING_ADVANCE): Make it do-while statement. + + * chartab.c (sub_char_table_set_range): Optimize for the case + DEPTH == 3. Add workaround code for a GCC optimization bug. + + * charset.c (parse_charset_map): Remove an unused variable. + + * coding.c: Delete unused variables. + + * fileio.c (Finsert_file_contents): Set coding_system to Qnil + earlier. If inserted is zero and the coding system doesn't + require flushing, don't call decode_coding_gap. + + * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number. + +2008-02-01 Kenichi Handa + + The following changes are for using Unicode as an internal + character model, and use UTF-8 format for buffer/string + representation. + + * .gdbinit (xchartable): Adjust for the change of char table structure. + (xsubchartable, xcoding, xcharset, xcurbuf): New commands. + + * Makefile.in (obj): Add character.o and chartab.o. + (lisp, shortlisp): Remove utf-8.elc. + (*.o): For many files, change dependency on charset.h to + character.h, and add dependency on character.h. + (character.o, chartab.o): New targets. + + * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c: + * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c: + * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead + of "charset.h". + + * dired.c, filelock.c: Include "character.h". + + * alloc.c: Include "character.h" instead of "charset.h". + (Fmake_char_table, make_sub_char_table): Move to chartab.c. + (syms_of_alloc): Remove defsubr for Smake_char_table. + + * buffer.c: Include "character.h" instead of "charset.h", don't + include "coding.h". + (Fset_buffer_multibyte): Adjust for UTF-8. + + * buffer.h: EXFUN Fbuffer_live_p. + + * callproc.c: Include "character.h" instead of "charset.h". + (Fcall_process): Big change for the new code-conversion APIs. + + * casetab.c: Include "character.h" instead of "charset.h". + (set_canon, set_identity, shuffle): Adjust for the new + map_char_table spec. + (init_casetab_once): Call CHAR_TABLE_SET instead of directly + accessing the char table structure. + + * chartab.c: New file that implements char table. + + * category.c: Include "character.h". + (copy_category_entry): New function. + (copy_category_table): Call map_char_table and copy_category_entry. + (Fmake_category_table): Initialize all top-level slots. + (char_category_set): New function. + (modify_lower_category_set): Delete. + (Fmodify_category_entry): Call char_table_ref_and_range. + + * category.h (CATEGORY_SET): Just call char_category_set. + + * ccl.c: Include "character.h". + (Qccl, Qcclp): New variables. + (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if + it's less than 256. + (CCL_WRITE_MULTIBYTE_CHAR): Delete. + (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC + and DST type. + (ccl_driver): Change types of argument, adjust code accordingly. + (Fccl_execute, Fccl_execute_on_string): Adjust for the change of + ccl_driver. + (syms_of_ccl): Intern and staticpro Qccl and Qcclp. + + * ccl.h (struct ccl_program): Delete members eol_type and multibyte. + New members src_multibyte, dst_multibyte, consumed, and produced. + (struct ccl_spec): Delete members decoder and encoder. New member ccl. + (CODING_SPEC_CCL_PROGRAM): New macro. + (ccl_driver): Update prototype. + (Qccl, Qcclp, Fccl_program_p): Extern them. + (CHECK_CCL_PROGRAM): New macro. + + * character.c, character.h, chartab.c: New files. + + * charset.c: Mostly re-written. Move character and multibyte sequence + handling codes to character.c. + + * charset.h: Mostly re-written. Move character and multibyte sequence + handling codes to character.h. + + * coding.c, coding.h: Mostly re-written. + + * composite.c: Include "character.h" instead of "charset.h". + (CHAR_WIDTH): Move to character.h. + (HASH_KEY, HASH_VALUE): Delete. + + * composite.h (enum composition_method): Change order of enumeration + symbols. + + * data.c: Include "character.h" instead of "charset.h". + (Faref): Call CHAR_TABLE_REF for a char table. + (Faset): Call CHAR_TABLE_SET for a char table. + + * dispextern.h (free_realized_face, check_face_attribytes) + (generate_ascii_font): Extern them. + (free_realized_multibyte_face): Delete extern. + + * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char + table structure. + + * editfns.c: Include "character.h" instead of "charset.h". + (Fchar_to_string): Always call CHAR_STRING. + + * emacs.c (main): Call init_charset_once, init_charset, + syms_of_chartab, and syms_of_character. + + * fileio.c: Include "character.h" instead of "charset.h". + (Finsert_file_contents): Big change for the new code-conversion API. + (choose_write_coding_system, Fwrite_region): Likewise. + (build_annotations_2): Delete. + (e_write): Big change for the new code-conversion API. + + * fns.c: Include "character.h" instead of "charset.h". + (copy_sub_char_table): Move to chartab.c. + (Fcopy_sequence): Call copy_char_table for a char table. + (concat): Delete codes calling count_multibyte. + (string_char_to_byte, string_byte_to_char): Adjust for the new + multibyte form. + (internal_equal): Adjust for the change of char table structure. + (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent) + (Fchar_table_extra_slot, Fset_char_table_extra_slot) + (Fchar_table_range, Fset_char_table_range, Fset_char_table_default) + (char_table_translate, optimize_sub_char_table) + (Foptimize_char_table, map_char_table, Fmap_char_table): Move to + chartab.c. + (char_table_ref_and_index): Delete. + (HASH_KEY, HASH_VALUE): Move to lisp.h. + (Fmd5): Call preferred_coding_system instead of accessing + Vcoding_category_list. Adjust for the new code-conversion API. + (syms_of_fns): Move defsubr for char table related functions to + chartab.c. + + * fontset.c: Mostly re-written. + + * fontset.h (struct font_info): Change type of the member encoding_type. + (enum FONT_SPEC_INDEX): New enum. + (fontset_font_pattern, fs_load_font): Update prototype. + (FS_LOAD_FONT): Adjust for the change of fs_load_font. + + * indent.c: Include "character.h" instead of "charset.h". + (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD. + + * insdel.c: Include "character.h" instead of "charset.h". + (copy_text): Don't refer to Vnonascii_translation_table. + (insert_from_gap): New function. + + * keyboard.c: Include "character.h" instead of "charset.h". + (command_loop_1): Never call direct_output_forward_char before + a non-ASCII character. + (read_char): If Vkeyboard_translate_table is a char table, always + translate a character. + + * keymap.c: Include "character.h". + (store_in_keymap): Handle the case that IDX is a cons. + (Fdefine_key): Handle the case that KEY is a cons and the car part + is also a cons (range). + (push_key_description): Adjust for the new character code. + (describe_vector): Call describe_char_table for a char table. + (describe_char_table): New function. + + * keymap.h (describe_char_table): Extern it. + + * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE. + (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros. + (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS) + (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS): + Delete. + (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table + structure. + (CHAR_TABLE_TRANSLATE): Just call char_table_translate. + (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2) + (CHARTAB_SIZE_BITS_3): New macros. + (chartab_size): Extern it. + (struct Lisp_Char_Table): Re-design. + (struct Lisp_Sub_Char_Table): New structure. + (HASH_KEY, HASH_VALUE): Move from fns.c. + (CHARACTERBITS): Define as 22. + (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change. + (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE. + (GC_SUB_CHAR_TABLE_P): New macro. + (Fencode_coding_string, Fdecode_coding_string): Update EXFUN. + (code_convert_string_norecord): Delete extern. + (init_character_once, syms_of_character, init_charset) + (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them. + + * lread.c: Include "character.h". + (read_multibyte): New arg NBYTES. + (read_escape): Change the meaning of returned *BYTEREP. + (to_multibyte): Delete. + (read1): Adjust the handling of char table and string. + + * print.c: Include "character.h" instead of "charset.h". + (print_string): Convert 8-bit raw bytes to octal form by + string_escape_byte8. + (print_object): Adjust for the new multibyte form. Print 8-bit + raw bytes always in octal form. Handle sub char table correctly. + + * process.c: Include "character.h" instead of "charset.h". + (read_process_output, send_process): Adjust for the new + code-conversion API. + + * puresize.h (BASE_PURESIZE): Increase. + + * regex.c: Include "character.h" instead of "charset.h". + (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros. + (regex_compile): Accept a range whose starting and ending + character have different leading bytes. + (analyse_first): Adjust for the above change. + + * search.c: Include "character.h" instead of "charset.h". + (search_buffer, boyer_moore): Adjust for the new multibyte form. + (Freplace_match): Adjust for the change of multibyte_char_to_unibyte. + + * syntax.c: Include "character.h" instead of "charset.h". + (syntax_parent_lookup): Delete. + (Fmodify_syntax_entry): Accept a cons as CHAR. + (skip_chars): Adjust for the new multibyte form. + (init_syntax_once): Call char_table_set_range instead of directly + accessing the structure of a char table. + + * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET. + (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro. + (SET_RAW_SYNTAX_ENTRY_RANGE): New macro. + (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF. + + * term.c: Include "buffer.h" and "character.h". + (encode_terminal_code, write_glyphs): Adjust for the new + code-conversion API. + (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH. + + * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT. + + * xdisp.c: Include "character.h". + (get_next_display_element): Adjust for the new multibyte form. + (disp_char_vector): Adjust for the new char table structure. + (decode_mode_spec_coding): Adjust for the new structure of + coding system. + (decode_mode_spec): Adjust for the new code-conversion API. + + * xfaces.c: Include "character.h" instead of "charset.h". + (load_face_font): Adjust for the change of choose_face_font and + FS_LOAD_FONT. + (generate_ascii_font): New function. + (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT. + (set_font_frame_param): Adjust for the change of choose_face_font. + (free_realized_face): Make it public. + (free_realized_faces_for_fontset): Rename from + free_realized_multibyte_face. Free also faces realized for ASCII. + (choose_face_font): Change arguments. Adjust for the change of + fontset_font_pattern and FS_LOAD_FONT. + + * xfns.c: Include "character.h". + (x_encode_text): Adjust for the new code-conversion API. + + * xselect.c: Don't include "charset.h". + (selection_data_to_lisp_data): Adjust for the new code conversion API. + + * xterm.c: Include "character.h". + (x_encode_char): New argument CHARSET. Change caller. + (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding): + Call ENCODE_CHAR instead of SPLIT_CHAR. + (x_produce_glyphs): Don't check Vnonascii_translation_table Call + CHAR_WIDTH instead of CHARSET_WIDTH. + (XTread_socket): Adjust for the new code-conversion API. + (x_new_font): Adjust for the change of FS_LOAD_FONT. + (x_load_font): Adjust for the change of struct font. + +2008-02-01 Stefan Monnier + + * xfaces.c (face_at_buffer_position): Remove unused vars. + +2008-02-01 Kenichi Handa + + * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR): + Fix overflow checking. + +2008-02-01 Kenichi Handa + + * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver): + Cancel previous change. + +2008-01-31 Kenichi Handa + + * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when + ccl->eight_bit_control. Fix check for buffer overflow. + (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow. + (ccl_driver): Initialize extra_bytes to 0. + +2008-01-31 Kenichi Handa + + * keyboard.c (make_ctrl_char): If C is a multibyte character, just + return it ORed with ctrl_modifier. + +2008-01-29 Miles Bader + + * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake. + +2008-01-28 Jason Rumney + + * w32.c (stat): Don't double check for networked drive. + +2008-01-28 Stefan Monnier + + * window.c (run_window_configuration_change_hook): New function. + Code extracted from set_window_buffer. Set the selected frame. + (set_window_buffer): Use it. + * window.h (run_window_configuration_change_hook): Declare. + * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer. + + * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM). + +2008-01-27 Dan Nicolaescu + + * Makefile.in: Remove references to unused macros. + +2008-01-26 Eli Zaretskii + + * w32.c (g_b_init_get_sid_sub_authority) + (g_b_init_get_sid_sub_authority_count): New static variables. + (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs. + (get_sid_sub_authority, get_sid_sub_authority_count): New functions. + (init_user_info): Use them to retrieve uid and gid. + Use 500/513, the Windows defaults, as Administrator's uid/gid. + (fstat): Use pw_uid and pw_gid from the_passwd structure for + st_uid and st_gid of the file. + +2008-01-26 Jason Rumney + + * w32.c (logon_network_drive): New function. + (stat): Use it. + +2008-01-26 Chong Yidong + + * xdisp.c (pos_visible_p): Handle the case where charpos falls on + invisible text covered with an ellipsis. + +2008-01-25 Richard Stallman + + * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and + jump back to beginning. Move some other initializations after that. + (Qwindow_text_change_functions, Vwindow_text_change_functions): + New variables. + (syms_of_xdisp): Init them. + + * keyboard.c (read_char): Restore echo_message_buffer after redisplay. + + * buffer.c (reset_buffer_local_variables): + Implement `permanent-local-hook'. + (Qpermanent_local_hook): New variable. + (syms_of_buffer): Init and staticpro it. + +2008-01-25 Michael Albinus + + * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux. + +2008-01-25 Thien-Thi Nguyen + + * fns.c (Fclrhash): Return TABLE. + +2008-01-23 YAMAMOTO Mitsuharu + + * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p. + (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p + is set even without positional changes. + (x_scroll_bar_clear): Set bar->redraw_needed_p. + + * macterm.h (struct scroll_bar): New member `redraw_needed_p'. + +2008-01-23 Jason Rumney + + * xterm.c (handle_one_xevent): Revert to counting chars not bytes. + + * w32term.c (w32_read_socket) : Decode characters outside + the unicode range available in MULE by locale-coding-system. + Improve dbcs lead byte detection. Set event timestamp and modifiers + earlier. + +2008-01-23 YAMAMOTO Mitsuharu + + * mac.c (mac_emacs_pid) [MAC_OSX]: New variable. + [MAC_OSX] (init_mac_osx_environment): Initialize it. + [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0 + when used on child processes. + +2008-01-21 Michael Albinus + + * dbusbind.c (Fdbus_method_return_internal): Rename from + Fdbus_method_return. + (Fdbus_unregister_object): Move to dbus.el. + (Fdbus_call_method, Fdbus_method_return_internal) + (Fdbus_send_signal): Improve debug messages. + +2008-01-20 Martin Rudalics + + * undo.c (undo_inhibit_record_point): New variable. + (syms_of_undo): Initialize it. + (record_point): Don't record point when undo_inhibit_record_point + is set. + +2008-01-19 Stefan Monnier + + * process.c (list_processes_1): Don't use SCHARS on a nil buffer name. + + * xdisp.c (Qauto_hscroll_mode): New var. + (syms_of_xdisp): Initialize it. + (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each + window's buffer. + (hscroll_windows): Don't check automatic_hscrolling_p here. + + * window.c (set_window_buffer): Don't unnecessarily reset hscroll and + vscroll if we're setting window-buffer to the value it already has. + +2008-01-18 Dan Nicolaescu + + * m/intel386.h: Remove references to XENIX. + +2008-01-17 Andreas Schwab + + * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR + instead of HAVE_X86_64_LIB64_DIR. + * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise. + +2008-01-17 Glenn Morris + + * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according + to HAVE_X86_64_LIB64_DIR. + +2008-01-16 Dan Nicolaescu + + * s/irix3-3.h: + * s/irix4-0.h: + * s/386-ix.h: + * s/domain.h: + * s/hpux9-x11r4.h: + * s/hpux9shxr4.h: Remove files for systems no longer supported. + + * sysdep.c: Remove code containing references to symbols defined + by unsupported systems. + +2008-01-16 Glenn Morris + + * coding.c (select-safe-coding-system-function): Doc fix. + +2008-01-15 Glenn Morris + + * config.in: Revert 2008-01-13 change: this is a generated file. + +2008-01-13 Tom Tromey + + * lisp.h: Fix typo. + +2008-01-13 Dan Nicolaescu + + * m/sequent-ptx.h: + * m/sequent.h: + * s/ptx.h: + * s/ptx4-2.h: + * s/ptx4.h: Remove files for systems no longer supported. + + * callproc.c (Fcall_process): Fix previous change. + +2008-01-13 Dan Nicolaescu + + * unexsunos4.c: Remove file, system not supported anymore. + + * m/mips.h: + * m/intel386.h: + * callproc.c: + * config.in: + * ecrt0.c: + * emacs.c: + * fileio.c: + * frame.c: + * getpagesize.h: + * keyboard.c: + * lread.c: + * process.c: + * puresize.h: + * sysdep.c: + * systty.h: + * syswait.h: + * unexec.c: + * xdisp.c: + * alloc.c: Remove code containing references to symbols defined by + unsupported systems. + +2008-01-11 Kenichi Handa + + * coding.c (detect_coding_mask): Fix previous change. + +2008-01-09 Kenichi Handa + + * coding.c (detect_coding_iso2022): New arg + latin_extra_code_state. Allow Latin extra codes only + when *latin_extra_code_state is nonzero. + (detect_coding_mask): If there is a NULL byte, detect the encoding + as UTF-16 or binary. If Latin extra codes exist, detect the + encoding as ISO-2022 only when there's no other proper encoding is + found. + +2008-01-08 YAMAMOTO Mitsuharu + + * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of + #ifdef MAC_OS. + +2008-01-08 Richard Stallman + + * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes. + +2008-01-06 Nick Roberts + + * keyboard.c (parse_menu_item): Don't enclose key bindings on + menu bar in parentheses. + +2008-01-06 Dan Nicolaescu + + * m/7300.h: + * m/acorn.h: + * m/alliant-2800.h: + * m/alliant.h: + * m/alliant1.h: + * m/alliant4.h: + * m/altos.h: + * m/amdahl.h: + * m/apollo.h: + * m/att3b.h: + * m/aviion-intel.h: + * m/aviion.h: + * m/celerity.h: + * m/clipper.h: + * m/cnvrgnt.h: + * m/convex.h: + * m/cydra5.h: + * m/delta88k.h: + * m/dpx2.h: + * m/dual.h: + * m/elxsi.h: + * m/f301.h: + * m/gould-np1.h: + * m/gould.h: + * m/i860.h: + * m/ibmps2-aix.h: + * m/ibmrt-aix.h: + * m/ibmrt.h: + * m/irist.h: + * m/is386.h: + * m/isi-ov.h: + * m/mega68.h: + * m/mg1.h: + * m/news-r6.h: + * m/news-risc.h: + * m/news.h: + * m/nh3000.h: + * m/nh4000.h: + * m/ns16000.h: + * m/ns32000.h: + * m/nu.h: + * m/orion.h: + * m/orion105.h: + * m/paragon.h: + * m/pfa50.h: + * m/plexus.h: + * m/pyramid.h: + * m/pyrmips.h: + * m/sh3el.h: + * m/sps7.h: + * m/sr2k.h: + * m/stride.h: + * m/sun1.h: + * m/sun2.h: + * m/sun3-68881.h: + * m/sun3-fpa.h: + * m/sun3-soft.h: + * m/sun3.h: + * m/sun386.h: + * m/symmetry.h: + * m/tad68k.h: + * m/tahoe.h: + * m/targon31.h: + * m/tek4300.h: + * m/tekxd88.h: + * m/tower32.h: + * m/tower32v3.h: + * m/ustation.h: + * m/wicat.h: + * m/xps100.h: + * s/cxux.h: + * s/cxux7.h: + * s/dgux.h: + * s/dgux4.h: + * s/dgux5-4-3.h: + * s/dgux5-4r2.h: + * s/esix.h: + * s/esix5r4.h: + * s/hiuxmpp.h: + * s/hiuxwe2.h: + * s/iris3-5.h: + * s/iris3-6.h: + * s/isc2-2.h: + * s/isc3-0.h: + * s/isc4-0.h: + * s/isc4-1.h: + * s/newsos5.h: + * s/newsos6.h: + * s/osf1.h: + * s/osf5-0.h: + * s/riscix1-1.h: + * s/riscix12.h: + * s/sco4.h: + * s/sco5.h: + * s/sunos4-0.h: + * s/sunos4-1.h: + * s/sunos413.h: + * s/sunos4shr.h: + * s/umax.h: + * s/unipl5-2.h: + * s/xenix.h: + * cxux-crt0.s: + * unexapollo.c: + * unexconvex.c: + * unexenix.c: + * unexsni.c: Remove files for systems no longer supported. + + * m/intel386.h: Remove references to unsupported systems. + + * w32.c (get_emacs_configuration): Remove reference to i860. + + * sysdep.c: Remove dead code. + +2008-01-05 Dan Nicolaescu + + * s/rtu.h: + * m/masscomp.h: Remove files. Platform is obsolete. + +2008-01-04 Michael Albinus + + * dbusbind.c (Fdbus_method_return): New function. + (xd_read_message): Add the serial number to the event. + (Fdbus_register_method): Activate the function. + +2008-01-03 Stefan Monnier + + * keyboard.c (read_key_sequence): Fix typo. + +2008-01-03 Michael Albinus + + * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE. + (xd_signature, xd_append_arg): Handle element type detection for + empty arrays. + (Fdbus_call_method, Fdbus_send_signal): Undo type casting for + SDATA () calls; this must be solved more general. + (Fdbus_register_signal): Use SBYTES instead of strlen. + +2008-01-03 Magnus Henoch + + * dbusbind.c (xd_append_arg): Use unsigned char instead of + unsigned int for byte values (necessary for big-endian platform). + (Fdbus_call_method): Handle the case of no returned arguments. + +2007-12-31 Tom Tromey (tiny change) + + * dbusbind.c (xd_read_message): Use non-static input_event struct. + +2007-12-31 Magnus Henoch + + * dbusbind.c (xd_signature): Signature of variant is just "v". + +2007-12-30 Michael Albinus + + * dbusbind.c: Fix several errors and compiler warnings. + Reported by Tom Tromey . + (XD_ERROR, XD_DEBUG_MESSAGE) + (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)". + (xd_append_arg): Part for basic D-Bus types rewritten. + (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and + DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not + appropriate. + (xd_read_message): Return Qnil. Don't signal an error; it is not + useful during event reading. + (Fdbus_register_signal): Signal an error if the check for + FUNCTIONP fails. + (Fdbus_register_method): New function. The implementation is not + complete, the call of the function signals an error therefore. + (Fdbus_unregister_object): New function, renamed from + Fdbus_unregister_signal. The initial check signals an error, if + the object is not well formed. + +2007-12-30 Richard Stallman + + * textprop.c (get_char_property_and_overlay): + Signal error if POSITION is out of range in a buffer. + +2007-12-29 Martin Rudalics + + * w32fns.c (Fx_create_frame): Make copy of frame parameters + because the original parameters are in pure storage now. + +2007-12-24 YAMAMOTO Mitsuharu + + * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area. + +2007-12-22 Eli Zaretskii + + * callint.c (syms_of_callint) : Add reference to + history-length in the doc string. + +2007-12-17 Jason Rumney + + * w32fns.c (w32_wnd_proc) : Cast char to unsigned + before passing as wParam. + +2007-12-22 Michael Albinus + + * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE, + DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64, + DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE. + Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit + as number. + (Fdbus_call_method): Fix docstring. + +2007-12-21 Michael Albinus + + * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE): + New macros. + (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE. + (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE. + Simplify. + (xd_signature): New function. + (xd_append_arg): Compute also signatures. Major rewrite. + (xd_retrieve_arg): Make debug messages friendly. + (Fdbus_call_method, Fdbus_send_signal): Extend docstring. + Check for signatures of arguments. + +2007-12-19 Michael Albinus + + * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean) + (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32) + (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64) + (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path) + (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant) + (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols. + (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro. + (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types. + (xd_retrieve_value): Remove. Functionality included in ... + (xd_append_arg): New function. + (Fdbus_call_method, Fdbus_send_signal): Apply it. + +2007-12-16 Michael Albinus + + * dbusbind.c (top): Include . + (Fdbus_call_method, Fdbus_send_signal): Apply type cast in + dbus_message_new_method_call and dbus_message_new_signal. + (Fdbus_register_signal): Rename unique_name to uname. + Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of + non-existing unique name. Fix typos in matching rule. Return an + object which is useful in Fdbus_unregister_signal. + (Fdbus_unregister_signal): Reimplementation, in order to remove + only the corresponding entry. + (Vdbus_registered_functions_table): Change the order of entries. + Apply these changes in xd_read_message and Fdbus_register_signal. + +2007-12-16 Andreas Schwab + + * fileio.c (Finsert_file_contents): Fix overflow check to not + depend on undefined integer overflow. + +2007-12-14 Jason Rumney + + * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT + for characters above 127. + +2007-12-13 Jason Rumney + + * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check + before dereferencing array. + (lookup_vk_code): Remove zero comparison. + +2007-12-14 Michael Albinus + + * dbusbind.c (xd_retrieve_value, xd_retrieve_arg) + (Fdbus_call_method, Fdbus_send_signal, xd_read_message): + Use `unsigned int' instead of `uint'. + (xd_read_message, Fdbus_register_signal): Split expressions into + multiple lines before operators "&&" and "||", according to the + GNU Coding Standards. + +2007-12-14 Eli Zaretskii + + * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT. + +2007-12-12 Juri Linkov + + * buffer.c (Frename_buffer): In interactive spec replace + `read-buffer' with `read-string' that uses `buffer-name-history' + as history, and the current buffer's name as default. + +2007-12-10 Stefan Monnier + + * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of + manipulating the backtrace manually. + (make_lispy_event): Merge the ASCII and MULTIBYTE cases. + (struct backtrace, backtrace_list): Remove. + (command_loop_1): Remove dead var `no_direct'. + + * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also + preserve non-built-in buffer-local variables. + (Fkill_all_local_variables): Don't re-create&re-set permanent + buffer-local variables. + +2007-12-09 Juri Linkov + + * buffer.c (Frename_buffer): Change interactive spec from "s" to + Lisp code that uses `read-buffer' with current buffer as default. + +2007-12-08 Michael Albinus + + * dbusbind.c (xd_read_message): Generate an event for every + registered handler. There might be several handlers registered + for the same signal. + (Fdbus_register_signal): Don't overwrite a registration for the + same signal. Add a new registration if handlers are different. + (Vdbus_registered_functions_table): Rework doc string. + +2007-12-07 Michael Albinus + + * dbusbind.c (Fdbus_get_unique_name, xd_read_message) + (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and + DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths. + (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal): + Unify argument lists. + (xd_read_message, Fdbus_register_signal): Reorder and extend event + arguments and hash table keys. Use unique name for service. + (Fdbus_unregister_signal): Remove checks. + (Vdbus_registered_functions_table): Fix doc string. + +2007-12-05 Magnus Henoch + + * process.c (make_process): Initialize pty_flag to 0. + +2007-12-05 Jason Rumney + + * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly + specified XBMs. + +2007-12-05 Richard Stallman + + * xdisp.c (syms_of_xdisp) : Doc fix. + +2007-12-05 YAMAMOTO Mitsuharu + + * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]: + New variable. + (mac_try_close_socket) [MAC_OSX]: New function. + [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]: + Update cfsockets_for_select. Replace invalid CFRunLoop source. + + * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]: + Use mac_try_close_socket. + +2007-12-05 YAMAMOTO Mitsuharu + + * unexmacosx.c (unrelocate): New argument BASE. Use it instead of + reloc_base. + (copy_dysymtab): Compute relocation base here. + (rebase_reloc_address) [__ppc64__]: New function. + (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be + changed. + +2007-12-05 Jason Rumney + + * w32proc.c (sys_spawnve): Quote args with wildcards. + +2007-12-05 YAMAMOTO Mitsuharu + + * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and + __objc_* sections. + (unrelocate) [_LP64]: Set relocation base to address of data segment. + +2007-12-05 Michael Albinus + + * dbusbind.c (xd_read_message): Return value is a Lisp_Object. + Move check for Vdbus_registered_functions_table to + xd_read_queued_messages. + (xd_read_queued_messages): Protect xd_read_message calls by + internal_condition_case_1. + +2007-12-04 Michael Albinus + + * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from + Qdbus_system_bus and Qdbus_session_bus, respectively. + (Vdbus_intern_symbols): Remove. + (Vdbus_registered_functions_table): New hash table. + (XD_SYMBOL_INTERN_SYMBOL): Remove. + (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal): + Rewrite in order to manage registered functions by hash table + Vdbus_registered_functions_table. + +2007-12-03 Jan Djärv + + * xterm.c: Update URL to Window Manager Specification in comment. + +2007-12-02 Michael Albinus + + * config.in (HAVE_DBUS): Add. + + * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined. + (ALL_CFLAGS): Add ${DBUS_CFLAGS}. + (obj): Add $(DBUS_OBJ). + (LIBES): Add $(DBUS_LIBS). + (dbusbind.o): New target. + + * dbusbind.c: New file. + + * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined. + + * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS". + (Qdbus_event): New Lisp symbol. + (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT. + (gobble_input): Call xd_read_queued_messages, reading D-Bus messages. + (keys_of_keyboard): Define dbus-event. + + * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined. + +2007-12-01 Richard Stallman + + * search.c (syms_of_search) : Doc fix. + +2007-11-30 Jason Rumney + + * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window. + (w32con_reset_terminal_modes): Clear screen buffer. + (w32_face_attributes): Don't use color indexes that are out of range. + Only reverse the default colors. + + * xfaces.c (map_tty_color, tty_color_name): Remove special case for + WINDOWSNT. + + * w32console.c, w32term.h (vga_stdcolor_name): Remove. + +2007-11-29 Jason Rumney + + * w32console.c: Leave HAVE_WINDOW_SYSTEM defined. + (w32_face_attributes): Use Vtty_defined_color_alist to determine + if the terminal colors are initialized. + (unspecified_fg, unspecified_bg): Remove unused declarations. + +2007-11-29 Andreas Schwab + + * keyboard.c (apply_modifiers): Fix typo. + +2007-11-29 Richard Stallman + + * keymap.c (Fcurrent_local_map): Doc fix. + +2007-11-28 Petr Salinger (tiny change) + + * s/gnu-kfreebsd.h: New file. + +2007-11-28 Stefan Monnier + + * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): + Don't cast redundantly. + + * keyboard.c (KEY_TO_CHAR): New macro. + (parse_modifiers, apply_modifiers): Accept integer arguments. + (read_key_sequence): Use them to unify the "shift->unshift" mapping + for chars and symbol keys. + After doing such remapping, apply function-key-map again. + +2007-11-27 Dan Nicolaescu + + * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not + compiled anymore. + +2007-11-26 Andreas Schwab + + * process.c (list_processes_1): Fix indentation level of the + command column. + +2007-11-23 Andreas Schwab + + * editfns.c (Fformat): Handle %c specially since it requires the + argument to be of type int. + +2007-11-23 Markus Triska + + * emacs.c (main): Call init_editfns before init_process, since + init_process sets Vprocess_connection_type depending on OS release. + +2007-11-22 Stefan Monnier + + * data.c (do_symval_forwarding): Use same code as in find_symbol_value. + (find_symbol_value): Use do_symval_forwarding. + + * data.c (set_internal): Set the value in the `cons-cell' (for + Buffer_Local_values) not only for frame-local variables. + +2007-11-22 Andreas Schwab + + * data.c (Fnumber_to_string): Add cast when passing EMACS_INT + values to sprintf. + * keymap.c (Fsingle_key_description): Likewise. + * print.c (print_object): Likewise. + +2007-11-22 Jan Djärv + + * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if + file for image is nil. + +2007-11-22 Dan Nicolaescu + + * term.c: Include stdarg.h. + (fatal): Implement using varargs. + * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change). + +2007-11-21 Stefan Monnier + + * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field. + * data.c (store_symval_forwarding): Get type from buffer_objfwd. + Update call to buffer_slot_type_mismatch. + * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove. + (buffer_slot_type_mismatch): Update. + * buffer.c (buffer_local_types): Remove. + (buffer_slot_type_mismatch): Get the symbol and type as arguments. + (defvar_per_buffer): Set the type in the buffer_objfwd. + +2007-11-21 Jason Rumney + + * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font): + CreateFileMapping returns NULL on failure. + +2007-11-21 Stefan Monnier + + * search.c (Fset_match_data): Remove the `evaporate' feature. + (unwind_set_match_data): Don't use the `evaporate' feature. + +2007-11-21 Jason Rumney + + * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type. + + * w32console.c (w32con_write_glyphs): Remove unused variables. + +2007-11-20 Dan Nicolaescu + + * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor. + + * s/darwin.h (MULTI_KBOARD): Remove. + + * macfns.c (x_create_tip_frame, Fx_create_frame) + (x_create_tip_frame): Don't deal with MULTI_KBOARD. + +2007-11-19 Stefan Monnier + + * buffer.c (Fbuffer_local_value): Remove redundant test. + (swap_out_buffer_local_variables): Swap out binding in `buffer' rather + than in `current-buffer' to match the comment. + Do the swap using swap_in_global_binding. + + * data.c (store_symval_forwarding, set_internal): + * eval.c (specbind): Remove dead code. + + * coding.c (detect_coding, Fupdate_coding_systems_internal): + * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE + Since we do not want to see internal Lisp_*fwd objects here. + +2007-11-18 Jan Djärv + + * sysdep.c (init_system_name): Use getaddrinfo if available. + + * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click) + (x_scroll_bar_note_movement): start, end, with, height in struct + scroll_bar are integers and not Lisp_Object, so remove XINT for them. + +2007-11-17 Dan Nicolaescu + + * puresize.h (BASE_PURESIZE): Increase to 1190000. + +2007-11-16 Stefan Monnier + + * buffer.h (struct buffer): Move `undo_list' back to before `name'. + This undoes Richard's change of 14-Oct-2002. + + * alloc.c (allocate_other_vector): + * lisp.h (allocate_other_vector): Remove. + + * window.c (struct save_window_data): Move non-lisp data to the end + and make it `int' rather than Lisp_Object. + (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR. + Done wrap/unwrap integer values. + (Fset_window_configuration, compare_window_configurations): + Update use of fields to their new types. + + * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data. + Turn integer fields into `int'. Merge x_window_low and x_window_high. + (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW) + (SET_SCROLL_BAR_X_WINDOW): Remove. + (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET): + Access the new x_window field directly. + * xterm.c (x_scroll_bar_create): Use a pseudovector. + Don't wrap/unwrap integers into Lisp_Objects. + (XTset_vertical_scroll_bar, x_scroll_bar_handle_click) + (x_scroll_bar_report_motion): + Don't wrap/unwrap integers into Lisp_Objects. + (x_term_init): Use SDATA. + (x_window_to_scroll_bar, x_create_toolkit_scroll_bar) + (x_scroll_bar_set_handle, x_scroll_bar_remove) + (XTset_vertical_scroll_bar, x_scroll_bar_expose) + (x_scroll_bar_report_motion, x_scroll_bar_clear): + * xfns.c (x_set_background_color): + * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb): + Access the new x_window field directly. + + * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h. + (allocate_pseudovector): Make non-static. + + * lisp.h (enum pvec_type): New tag PVEC_OTHER. + (allocate_pseudovector): Declare. + (ALLOCATE_PSEUDOVECTOR): Move from alloc.c. + +2007-11-15 Andreas Schwab + + * editfns.c (Fformat): Correctly format EMACS_INT values. + Also take precision into account when formatting an integer. + + * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration. + +2007-11-15 Stefan Monnier + + * keyboard.c (Fevent_symbol_parse_modifiers): New function. + (syms_of_keyboard): Defsubr it. + + * data.c (swap_in_global_binding): Fix longstanding bug where + store_symval_forwarding was not called with the right second argument, + thus causing objfwd-ing from being dropped. + +2007-11-14 Juanma Barranquero + + * macfns.c (Fx_create_frame, Fx_display_pixel_width) + (Fx_display_pixel_height, Fx_display_planes) + (Fx_display_color_cells, Fx_server_max_request_size) + (Fx_server_vendor, Fx_server_version, Fx_display_backing_store) + (Fx_display_visual_class, Fx_display_save_under): + * w32fns.c (Fx_create_frame, Fx_display_pixel_width) + (Fx_display_pixel_height, Fx_display_planes) + (Fx_display_color_cells, Fx_server_max_request_size) + (Fx_server_vendor, Fx_server_version, Fx_display_screens) + (Fx_display_mm_height, Fx_display_mm_width) + (Fx_display_backing_store, Fx_display_visual_class) + (Fw32_select_font, Fx_display_save_under): + * xfns.c (Fx_create_frame, Fx_display_pixel_width) + (Fx_display_pixel_height, Fx_display_planes) + (Fx_display_color_cells, Fx_server_max_request_size) + (Fx_server_vendor, Fx_server_version, Fx_display_backing_store) + (Fx_display_save_under): Fix typos in docstrings. + +2007-11-14 Juanma Barranquero + + * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values + corresponding to deleted entries; they are an implementation detail. + (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits): + Remove variables. + (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames) + (w32_pass_multimedia_buttons_to_system, w32_strict_painting) + (Vw32_charset_info_alist, w32_to_x_color, w32_init_class) + (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers) + (w32_grabbed_keys, cancel_all_deferred_msgs): Make static. + (Fw32_define_rgb_color, Fw32_load_color_file) + (syms_of_w32fns) : + Fix typos in docstrings. + (Fx_server_version): Reflow docstring. + (Fw32_shell_execute): Doc fixes. + +2007-11-13 Juanma Barranquero + + * w32fns.c (Fw32_register_hot_key): Don't try to register hot key + if w32_parse_hot_key returned nil. + +2007-11-10 Stefan Monnier + + * xdisp.c (load_overlay_strings): Fix copy&paste typo. + +2007-11-09 Jason Rumney + + * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define. + + * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT. + + * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]: + Remove W32_SCROLL_BAR_CLICK_EVENT. + + * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise. + Add MULTIMEDIA_KEY_EVENT. + + * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys. + (lispy_multimedia_keys) [WINDOWSNT]: New array. + (make_lispy_event) [WINDOWSNT]: Use it to translate + MULTIMEDIA_KEY_EVENT. + + * w32term.h (WM_APPCOMMAND): Define if not already. + (GET_APPCOMMAND_LPARAM): Likewise. + + * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from + WM_APPCOMMAND. + + * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option. + (syms_of_w32fns): Export and initialize it. + (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket. + +2007-11-09 Chong Yidong + + * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE + twice. + + * xdisp.c (handle_face_prop): Fix last change. + +2007-11-09 Richard Stallman + + * xdisp.c (handle_face_prop): Test for strings that came from overlays, + not just for after-strings and before-strings. + Call face_for_overlay_string and pass the overlay to it. + (handle_display_prop): Determine whether property came from an overlay. + Pass OVERLAY arg to handle_single_display_spec. + (handle_single_display_spec): New arg OVERLAY sets it->from_overlay. + (load_overlay_strings): Fill in it->string_overlays. + (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays. + + * xfaces.c (face_for_overlay_string): Function renamed from + face_at_buffer_position_no_overlays, and add arg OVERLAY. + + * dispextern.h (struct it): New elt string_overlays. + New elt from_overlay, also in stack. + Rearrange a few elements. + (face_for_overlay_string): Decl renamed from + face_at_buffer_position_no_overlays, and add argument. + +2007-11-09 Richard Stallman + + * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays + to get the base face for an overlay string. + + * dispextern.h (face_at_buffer_position_no_overlays): Add decl. + + * xfaces.c (face_at_buffer_position_no_overlays): New function. + + * xdisp.c (handle_stop): Move some code out of loop. + +2007-11-09 YAMAMOTO Mitsuharu + + * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes): + Fix conversion from Lisp object to ATSUFontID. + +2007-11-09 Jason Rumney + + * xdisp.c (Fformat_mode_line): Do nothing when noninteractive. + +2007-11-09 YAMAMOTO Mitsuharu + + * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge): + Don't assume regions are aligned to page boundary. + (print_load_command_name): Add LC_UUID if defined. + +2007-11-09 Richard Stallman + + * emacs.c (syms_of_emacs) : Reflow docstring. + +2007-11-07 Jason Rumney + + * s/windows95.h: Remove. + +2007-11-06 Jan Djärv + + * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and + abort with a message on unhandled store_type values. + +2007-11-01 Jan Djärv + + * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h: + Remove HAVE_X11R5 and HAVE_X11R4. + +2007-11-01 Dan Nicolaescu + + * Makefile.in: Remove references to sunfns.c and sunfns.o. + +2007-11-01 Johan Bockgård + + * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string): + Don't set s->stippled_p here, since it has already been set by + x_set_glyph_string_gc from x_draw_glyph_string. + +2007-11-01 Dan Nicolaescu + + * sunfns.c: Remove file. + + * m/sun386.h: + * m/sun2.h: + * m/sparc.h: Remove Sun windows code. + +2007-10-31 Stefan Monnier + + * keyboard.c (syms_of_keyboard): Initialize the initial_kboard. + (init_keyboard): Set current_kboard's window-system to nil. + (tty_read_avail_input): Typo. + * frame.c (make_initial_frame): Don't initialize the initial_kboard. + +2007-10-31 Dan Nicolaescu + + * s/usg5-4.h: + * s/usg5-3.h: + * s/ptx.h: + * m/is386.h: + * m/ibmps2-aix.h: + * Makefile.in: Remove all mentions of X10. + + * dispnew.c (syms_of_display): Don't mention version 10. + +2007-10-28 Juanma Barranquero + + * makefile.w32-in (OBJ1): Remove abbrev.$(O). + ($(BLD)/abbrev.$(O)): Remove. + +2007-10-28 Stefan Monnier + + Rewrite abbrev.c in Elisp. + * image.c (Qcount): Don't declare as extern. + (syms_of_image): Initialize and staticpro `Qcount'. + * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions. + * emacs.c (main): Don't call syms_of_abbrev. + * Makefile.in (obj): Remove abbrev.o. + (abbrev.o): Remove. + * abbrev.c: Remove. + +2007-10-26 Martin Rudalics + + * window.c (window_min_size_2): Don't count header-line. + +2007-10-26 Dan Nicolaescu + + * frame.h (struct frame): Move all bit fields after the first bit + field to take advantage of the available space. Group all the + chars together to reduce wasted space due to padding. + +2007-10-26 Juanma Barranquero + + * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings. + + * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings) + (Vdead, dont_register_blocks, staticvec, staticidx, interval_block) + (n_interval_blocks, init_strings, check_string_bytes, check_sblock) + (init_float, free_float, n_cons_blocks, init_cons, all_vectors) + (n_vectors, symbol_block, symbol_block_index, symbol_free_list) + (n_symbol_blocks, init_symbol, marker_block, marker_free_list) + (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float) + (last_marked, mark_object_loop_halt): Make static. + + * frame.c (syms_of_frame) : + Fix typo in docstring. + +2007-10-25 Juanma Barranquero + + * w32.c (init_environment): Fix tiny memory leak. + (w32_get_resource): Remove unused variable `ok'. + +2007-10-25 Stefan Monnier + + Make `window-system' into a keyboard-local variable (rather than + frame-local as done originally by multi-tty). + + * keyboard.h (struct kboard): Add Vwindow_system. + * keyboard.c (init_kboard): Set a default for Vwindow_system. + (mark_kboards): Mark Vwindow_system. + + * dispnew.c (syms_of_display) : Declare terminal-local. + (init_display): Don't set the obsolete `window-system' frame-param. + + * xterm.c (x_term_init): + * w32term.c (w32_create_terminal): + * term.c (init_tty): Set Vwindow_system. + * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the + multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system. + + * xfns.c (Fx_create_frame, x_create_tip_frame): + * w32fns.c (Fx_create_frame, x_create_tip_frame): + * macfns.c (Fx_create_frame): + Don't set the obsolete `window-system' frame-param. + + * frame.h (Qwindow_system): Remove. + * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well. + (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param. + +2007-10-24 Richard Stallman + + * frame.c (x_figure_window_size): For fullscreen case, + set USPosition | PPosition without clobbering rest of window_prompting. + + * keyboard.c (Fcurrent_idle_time): Doc fix. + + * print.c (Fwith_output_to_temp_buffer): Doc fix. + +2007-10-23 Stefan Monnier + + * process.c (unwind_request_sigio): Only define if __ultrix__. + + * callproc.c (child_setup): Remove spurious *. + + * lisp.h (Fget_text_property): Declare. + (have_menus_p): Declare it here rather than in sys-dep header files. + * macterm.h (have_menus_p): + * msdos.h (have_menus_p): + * xterm.h (have_menus_p): Remove. + + * data.c (Fmake_variable_buffer_local, Fmake_local_variable) + (Fmake_variable_frame_local): Just check the variable's const-ness + rather than checking nil or t. + +2007-10-22 Jason Rumney + + * w32fns.c: Include math.h. + (w32_abort): Declaration moved to nt/config.nt. + + * s/ms-w32.h (HAVE_STDLIB_H): Define. + (abort): Redefinition moved to nt/config.nt. + + * m/windowsnt.h: Remove. + +2007-10-22 Juanma Barranquero + + * emacs.c (Fdump_emacs): Fix typo in message. + (syms_of_emacs) : Fix typo in docstring. + : Reflow docstring. + +2007-10-22 Juri Linkov + + * minibuf.c: Allow minibuffer default to be a list of default values. + With empty input use the first element of this list as returned default. + (string_to_object) + (read_minibuf_noninteractive): If defalt is cons, set val to its car. + (read_minibuf): If defalt is cons, set histstring to its car. + (Fread_string): If default_value is cons, set val to its car. + (Fread_buffer): If def is cons, use its car. + (Fcompleting_read): If defalt is cons, set val to its car. + +2007-10-21 Michael Albinus + + * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid. + +2007-10-20 Juanma Barranquero + + * doc.c (Fdocumentation): Check for advice in all cases. + +2007-10-19 Chong Yidong + + * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags. + +2007-10-19 Richard Stallman + + * doc.c (Fdocumentation): Check for and handle an advised function. + +2007-10-19 Juanma Barranquero + + * process.c (Fset_process_filter): Doc fix. + +2007-10-18 Stefan Monnier + + * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty + which caused key-translation-map to applied repeatedly (thus breaking + double-mode). + +2007-10-17 Stefan Monnier + + * xselect.c (x_own_selection, x_handle_selection_clear) + (x_clear_frame_selections): + * w32menu.c (list_of_panes, list_of_items): + * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list): + * textprop.c (validate_plist, interval_has_all_properties) + (interval_has_some_properties, interval_has_some_properties_list) + (add_properties, text_property_list): + * process.c (Fget_buffer_process, list_processes_1, status_notify): + * minibuf.c (Fassoc_string): + * macselect.c (x_own_selection, x_clear_frame_selections) + (Fx_disown_selection_internal): + * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree): + Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r. + +2007-10-17 Chong Yidong + + * process.c: Link to libs for calling res_init() if available. + (Fmake_network_process): Call res_init() before getaddrinfo or + gethostbyname, if possible. + +2007-10-17 Stefan Monnier + + * lread.c (read1): Set pvectype for char_tables. + + * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY) + (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE): + Add type checks. + (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove. + + * alloc.c (free_misc): Use XMISCTYPE. + (live_misc_p, gc_sweep): Use Lisp_Misc_Any. + +2007-10-17 Glenn Morris + + * minibuf.c (Qcompletion_ignore_case): New Lisp_Object. + (syms_of_minibuf): Add Qcompletion_ignore_case. + * dired.c (Qcompletion_ignore_case): Change to external. + (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case. + * fileio.c (Qcompletion_ignore_case): New external Lisp_Object. + (Fread_file_name): Use it rather than intern'ing. + + * coding.c (Qcompletion_ignore_case): New external Lisp_Object. + (Fread_coding_system): Ignore case of user input. + +2007-10-16 YAMAMOTO Mitsuharu + + * xdisp.c (handle_display_prop): Ignore display specs after + replacing one when string text is being replaced. + (handle_single_display_spec): Pretend as if characters with display + property haven't been consumed only when buffer text is being replaced. + +2007-10-16 Stefan Monnier + + * xfns.c (Fx_create_frame, Fx_display_list): + * window.c (window_fixed_size_p, enlarge_window) + (shrink_window_lowest_first): + * macterm.c (init_font_name_table): + * macfns.c (Fx_create_frame, Fx_display_list): + * lread.c (close_load_descs): + * keyboard.c (read_char_x_menu_prompt): + * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent): + * coding.c (code_convert_region_unwind): Test the type of an object + rather than just !NILP before extracting data from it. + + * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors. + + * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value. + (XMISCANY): New macro. + (XMISCTYPE): Use it. + (struct Lisp_Misc_Any): New type. + (union Lisp_Misc): Use it. + (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit. + * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding) + (find_symbol_value, set_internal, default_value, Fset_default) + (Fmake_variable_buffer_local, Fmake_local_variable) + (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p) + (Flocal_variable_if_set_p, Fvariable_binding_locus): + The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set. + * alloc.c (allocate_buffer): Set the size and tag. + (allocate_misc, mark_maybe_object, mark_object, survives_gc_p): + Use XMISCANY. + (die): Follow the GNU convention for error messages. + * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set. + * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the + tag any more. + (set_buffer_internal_1): + * frame.c (store_frame_param): + * eval.c (specbind): + * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP. + + * doc.c (Fsnarf_documentation): Simplify. + +2007-10-14 Juanma Barranquero + + * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static. + (syms_of_w32term) : Fix typo in docstring. + +2007-10-14 Stefan Monnier + + * buffer.c (Fmake_indirect_buffer): Set the buffer's tag. + +2007-10-14 Juanma Barranquero + + * eval.c (do_autoload): Don't save autoloads. + + * data.c (Ffset): Save autoload of the function being set. + +2007-10-07 John Paul Wallington + + * xfns.c (x_create_tip_frame): Set the `display-type' frame + parameter before setting up faces. + +2007-10-13 Eli Zaretskii + + * ccl.c (Fregister_code_conversion_map): + * keyboard.c (append_tool_bar_item): Reformat last change. + + * lisp.h (eabs): Rename from `abs'. All callers changed. + +2007-10-05 Dmitry Antipov + + * buffer.c (add_overlay_mod_hooklist): + * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map): + * fontset.c (make_fontset): + * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item) + (append_tool_bar_item): + * macmenu.c (grow_menu_items): + * w32menu.c (grow_menu_items): + * xmenu.c (grow_menu_items): Use larger_vector. + +2007-10-13 Eli Zaretskii + + * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving + selected frame'' on MSDOS). + +2007-10-12 Martin Rudalics + + * frame.c (Qexplicit_name): New variable. + (x_report_frame_params): Report it in parameter alist. + (syms_of_frame): Intern and staticpro it. + +2007-10-10 Patrick Mahan (tiny change) + + * macfns.c (x_create_tip_frame): Set terminal for frame. + +2007-10-10 Stefan Monnier + + * frame.c (Qenvironment): Remove. + (syms_of_frame) : Don't initialize. + (Fdelete_frame): Don't treat the `environment' param specially. + * frame.h (Qenvironment): Don't declare. + * callproc.c (set_initial_environment): Don't set unused frame param. + + * frame.c (Fframe_with_environment): Remove. + (syms_of_frame) : Don't declare. + + * lisp.h (Fframe_with_environment): Don't declare. + +2007-10-10 Juanma Barranquero + + * indent.c (indent_tabs_mode, last_known_column) + (last_known_column_modified): Make static. + (syms_of_indent) : Remove redundant info in docstring. + +2007-10-10 Katsumi Yamaoka + + * puresize.h (BASE_PURESIZE): Increase to 1170000. + +2007-10-09 Jason Rumney + + * w32term.c (x_set_window_size): Disable code that attempts to tell + Lisp code about a size change before it actually happens. + +2007-10-09 Richard Stallman + + * xdisp.c (handle_invisible_prop): After setting up an ellipsis, + return HANDLED_RETURN. + +2007-10-08 Martin Rudalics + + * keyboard.c (kbd_buffer_get_event): Break loop waiting for input + when there's an unread command event. + + * frame.c (focus_follows_mouse): Move here from frame.el to allow + window autoselection act appropriately when leaving selected frame. + (syms_of_frame): Initialize focus_follows_mouse. + * frame.h (focus_follows_mouse): Extern it. + * macterm.c (XTread_socket): When focus_follows_mouse is nil + make SELECT_WINDOW_EVENT only if we don't leave the selected frame. + * msdos.c (dos_rawgetc): Likewise. + * w32term.c (w32_read_socket): Likewise. + * xterm.c (handle_one_xevent): Likewise. + * xdisp.c (syms_of_xdisp): In doc-string of + mouse-autoselect-window mention focus-follows-mouse. + +2007-10-08 YAMAMOTO Mitsuharu + + * macterm.c (mac_load_query_font): Fix missing return value. + [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap): + Add BLOCK_INPUT. + +2007-10-08 Richard Stallman + + * xdisp.c (get_window_cursor_type): Implement documented behavior + for cursor-in-non-selected-windows = t. + +2007-10-08 Jason Rumney + + * w32.c (w32_get_resource): Always close registry keys. + +2007-10-08 Jason Rumney + + * makefile.w32-in (LIBS): Add COMCTL32. + + * w32fns.c (globals_of_w32fns): Init common controls. + +2007-10-08 Richard Stallman + + * image.c (our_memory_buffer): Rename from omfib_buffer. + +2007-10-08 Richard Stallman + + * buffer.c (Foverlays_at): Doc fix. + +2007-10-08 Stefan Monnier + + * fns.c (Fplist_put): Preserve uneven tail data. + +2007-10-08 Peter O'Gorman (tiny change) + + * termhooks.h (enum event_kind): Remove trailing comma. + + * frame.h (enum): Remove trailing comma. + +2007-10-08 Dhruva Krishnamurthy (tiny change) + + * w32proc.c (delete_child): Don't terminate threads of zombies. + +2007-10-08 Martin Rudalics + + * keyboard.h (struct kboard): New elt Vlast_repeatable_command. + + * keyboard.c (syms_of_keyboard): Set up new Lisp variable + last-repeatable-command. + (init_kboard): Initialize Vlast_repeatable_command. + (command_loop_1): Set it to real_this_command unless that was + bound to an input event. + (mark_kboards): Mark it. + +2007-10-08 Richard Stallman + + * eval.c (condition-case): Doc fix. + +2007-10-08 Masatake YAMATO + + * xfaces.c (tty_supports_face_attributes_p): Fix code + for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code + was copied and not edited. + +2007-10-09 Stefan Monnier + + Add new `input-decode-map' keymap and use it for terminal + escape sequences. + * keyboard.h (struct kboard): Add Vinput_decode_map. + Remove Vlocal_key_translation_map. + * keyboard.c (read_key_sequence): Add support for input-decode-map. + (init_kboard): Init input-decode-map. + Replace local-key-translation-map back with key-translation-map. + (syms_of_keyboard): Declare input-decode-map. + Remove local-key-translation-map. Update docstrings. + (mark_kboards): Mark Vinput_decode_map. + Don't mark Vlocal_key_translation_map. + * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map. + Replace local-key-translation-map back with key-translation-map. + * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN): + Bind in input-decode-map rather than function-key-map. + + * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore. + This was made redundant by the previous introduction of XSETPVECTYPE. + +2007-10-09 Richard Stallman + + * image.c (free_bitmap_record): Rename from Free_Bitmap_Record. + +2007-09-29 Richard Stallman + + * eval.c (internal_condition_case_2, internal_condition_case_1) + (internal_condition_case): Reenable abort if x_catching_errors () + to see if that really happens and why. + +2007-10-06 Andreas Schwab + + * fileio.c (Fwrite_region): Ignore EINVAL error from fsync. + +2007-10-04 Juanma Barranquero + + * image.c (syms_of_image) : Fix typo in docstring. + +2007-10-03 Stefan Monnier + + * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used. + +2007-10-02 Stefan Monnier + + * window.h (struct window): + * window.c (struct save_window_data, struct saved_window): + * termhooks.h (struct terminal): + * process.h (struct Lisp_Process): + * frame.h (struct frame): + * buffer.h (struct buffer): + * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table) + (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table): + The size field of (pseudo)vectors is now unsigned. + (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly. + + * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end. + Turn `count' into an integer. + + * fns.c (make_hash_table, hash_put, hash_remove, hash_clear) + (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count): + * print.c (print_object) : `count' is an int. + * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR. + (mark_object) : Use mark_vectorlike. + + * alloc.c (allocate_pseudovector): New fun. + (ALLOCATE_PSEUDOVECTOR): New macro. + (allocate_window, allocate_terminal, allocate_frame) + (allocate_process): Use it. + (mark_vectorlike): New function. + (mark_object) : Use it. + (mark_terminals): Use it. + (Fmake_bool_vector, Fmake_char_table, make_sub_char_table) + (Fmake_byte_code): Use XSETPVECTYPE. + + * frame.c (Fframe_parameters): Minor simplification. + + * insdel.c (adjust_markers_for_insert): Generalize assertion checks. + + * marker.c (Fmarker_buffer): Make test for odd case into a failure. + + * buffer.c (Fget_buffer_create, init_buffer_once): + * lread.c (defsubr): + * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE. + + * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be + defined differently in the m/*.h files. + (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking. + (XSETPVECTYPE): New macro. + (XSETPSEUDOVECTOR): Use it. + + * buffer.c (syms_of_buffer) : Move from abbrev.c. + (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c. + + * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER): + * lread.c (defvar_per_buffer): + * abbrev.c (syms_of_abbrev) : Move to buffer.c. + + * window.c (candidate_window_p): Only consider as visible frames that + are on the same terminal. + + * m/ibms390x.h (MARKBIT): Remove unused macro. + +2007-10-01 Juanma Barranquero + + * lread.c (Fload): Fix typo in docstring. + +2007-10-01 Michaël Cadilhac + + * floatfns.c (Fexpt): Manually check for overflows, so that a power + of a non-zero value can't yield zero. + +2007-09-29 Stefan Monnier + + * term.c (term_clear_mouse_face, term_mouse_highlight) + (tty_write_glyphs_with_face): Only define is HAVE_GPM. + + * print.c (safe_debug_print): Use XHASH. + + * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of + Lisp elements such as tags. + (XHASH): New macro. + (EQ): Use it. + (SREF, SSET, STRING_COPYIN): Use SDATA. + (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove. + + * alloc.c (mark_terminal): Remove left-over declaration. + (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE. + (allocate_vectorlike): Remove type argument. Adjust callers. + (live_vector_p, mark_maybe_pointer, valid_lisp_object_p): + Only handle the one remaining MEM_TYPE_VECTORLIKE. + + * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros + to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used. + (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc) + (lisp_align_free, make_interval, allocate_string, allocate_string_data) + (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc): + Use them. + + * xfaces.c (load_face_font, free_realized_face, clear_face_gcs): + Don't let signal handlers run when a GC is freed but not yet NULL'ed. + (x_free_gc): Remove BLOCK_INPUT since it's now redundant. + +2007-09-28 Dan Nicolaescu + + * Makefile.in (lisp, shortlisp): Delete server.elc, it is not + loaded by default. + +2007-09-28 Stefan Monnier + + * term.c (Fgpm_mouse_start): Don't signal an error if already activated + on this tty. + (Fgpm_mouse_stop): Only deactivate if it was activated on this tty. + + * term.c (mouse_face_window): Rename from Qmouse_face_window. + Update all users. + (handle_one_term_event): Use Gpm_DrawPointer. + (Fgpm_mouse_start): Rename from Fterm_open_connection. + Signal errors instead of returning nil. Always return nil. + (Fgpm_mouse_stop): Rename from Fterm_close_connection. + Make it a noop if gpm-mouse was not activated. + (syms_of_term): Update names. + +2007-09-27 Stefan Monnier + + * sysdep.c (narrow_foreground_group, widen_foreground_group): Static. + (init_sys_modes): Check that gpm_tty is the current tty. + + * alloc.c (allocate_terminal): Set the vector size to only count the + lisp fields. Initialize those to nil. + (mark_object): Don't treat terminals specially. + (mark_terminal): Remove. + (mark_terminals): Use mark_object instead. + + * termhooks.h (struct terminal): Move all Lisp_Object fields traced by + the GC to the beginning. + + * indent.h: + * indent.c: Use EMACS_INT for ints coming from Elisp data. + + * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions. + +2007-09-25 Jason Rumney + + * frame.c (make_terminal_frame): Remove special case for WINDOWSNT. + + * w32console.c (create_w32cons_output): Remove. + + * term.c (init_tty): Call init_sys_modes on WINDOWSNT also. + + * sysdep.c (init_sys_modes): Use set_terminal_modes_hook. + (reset_sys_modes): Use reset_terminal_modes_hook. + +2007-09-24 Stefan Monnier + + * eval.c (do_autoload): Don't output any message. + +2007-09-24 Juri Linkov + + * emacs.c (standard_args): Change priority of "--no-splash" + from 40 to 3. Add "--no-desktop" with the same priority. + +2007-09-23 Dmitry Antipov + + * alloc.c (gc_sweep): Check cons cell mark bits word by word + and optimize the case where they are all 1. + +2007-09-23 Johannes Weiner + + * lisp.h (abs): Define if not defined. + * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c: + Don't define `abs', since it's defined in lisp.h. + +2007-09-22 Eli Zaretskii + + * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows. + (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero. + (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty) + (init_tty): Use DEV_TTY instead of "/dev/tty". + [WINDOWSNT]: No need to protect from NAME arg being null. + +2007-09-21 Dan Nicolaescu + + * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning + up the tty state. + +2007-09-21 Stefan Monnier + + * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead. + (gpm_tty): Change its type. + * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead. + (gpm_tty): Change its type and initialize it. + (Fterm_open_connection): Check the frame is indeed a tty. + Use the new gpm_tty. + (Fterm_close_connection): Use the new gpm_tty. + * keyboard.c (tty_read_avail_input): Use the new gpm_tty. + * sysdep.c (init_sys_modes): term_gpm -> gpm_tty. + +2007-09-21 Juanma Barranquero + + * w32term.c (x_draw_glyph_string): Use strike_through_color, not + underline_color, to draw strike-through. + +2007-09-21 Stefan Monnier + + * lisp.h (allocate_terminal): Declare. + + * window.c (candidate_window_p): Consider frames that are being placed + by the user as somewhere between visible and iconified. + (window_loop): Prefer windows on the current frame. + (Fselect_window): Move the use of select-frame to the beginning so we + can just delegate all the work (it'll call us back anyway). + + * frame.c (Qdisplay_environment_variable): + * frame.h (Qdisplay_environment_variable): Delete. + + * .gdbinit (xbacktrace): Print the arg's address rather than the value + of the first arg, since that value may be a union. + + * callproc.c (child_setup, getenv_internal): Use the frame's `display' + parameter rather than Qdisplay_environment_variable. If all else + fails, look for DISPLAY in initial-environment. + +2007-09-21 Glenn Morris + + * Makefile.in (emacstool): Remove target. + (lisp, shortlisp): Remove termdev.elc. + +2007-09-21 Markus Triska + + * xterm.c (x_delete_display): Compile session management conditionally. + +2007-09-20 Stefan Monnier + + * callproc.c (getenv_internal_1): New function. + (getenv_internal): Use it. + (Fgetenv_internal): Use it. Accept an env-list as optional arg. + + * terminal.c (get_terminal): Don't accept ints to represent terminals. + (Fterminal_name, Fterminal_parameters, Fterminal_parameter) + (Fset_terminal_parameter): Work with dead terminals as well. + (Fmodify_terminal_parameters): Remove. + + * terminal.c (get_terminal): Handle terminals. + Make sure the terminal returned is live. + (create_terminal): Use allocate_terminal. + (mark_terminals): Move to alloc.c. + (delete_terminal): Use terminal->name as liveness status. + NULL out fields after freeing their contents. + Don't deallocate the object. + (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object + rather than an int. + (Fterminal_live_p): Accept non-integer arguments. + (Fterminal_list): Return terminal objects rather than an ints. + + * alloc.c (enum mem_type): New member for `terminal' objects. + (allocate_terminal): New function. + (mark_maybe_pointer, valid_lisp_object_p, mark_object): + Handle terminals. + (mark_terminal): New fun. + (mark_terminals): Move from terminal.c. + + * term.c (get_tty_terminal): Don't treat output_initial specially. + (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints. + (delete_tty): Use terminal->name as liveness status. + + * termhooks.h (struct terminal): Make it into a pseudovector. + Remove `deleted' replaced by checking `name's nullness. + + * print.c (print_object): Handle terminals. + + * lisp.h (enum pvec_type): New `terminal' pseudovector. + (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros. + + * frame.c (make_terminal_frame): + * keyboard.c (tty_read_avail_input): + * w32term.c (x_delete_terminal): + * xfns.c (Fx_create_frame, x_create_tip_frame): + * xterm.c (x_delete_terminal): Use terminal->name as liveness status. + +2007-09-20 Glenn Morris + + * process.c (Fmake_network_process): Doc fix. + +2007-09-19 Jason Rumney + + * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument. + +2007-09-19 Michaël Cadilhac + + * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form): + Fix a C warning regarding variable constness. + + * xterm.c (handle_one_xevent): Fix a C warning. + +2007-09-18 Jason Rumney + + * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame. + +2007-09-17 Jan Djärv + + * gtkutil.c (gdpy_def): New variable. + (xg_initialize): Initialize gdpy_def. + (xg_display_close): If no other display exists, set gdpy_def to a + new connection. + +2007-09-16 Jan Djärv + + * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf + when we have no file name for the icon. + (xg_tool_bar_expose_callback): Remove. + (xg_create_tool_bar): Don't connect expose signal to + xg_tool_bar_expose_callback. + (xg_get_file_with_chooser): Move GCPRO1 after declarations. + +2007-09-16 Andreas Schwab + + * alloc.c (reset_malloc_hooks): Set the hooks to the previous + values instead of zapping them. + +2007-09-14 Glenn Morris + + * fringe.c (init_fringe_bitmap) : Move to file scope. + * gtkutil.c (xg_separator_p) : Move to file scope. + * image.c (our_memory_fill_input_buffer) : Move to file + scope and rename to omfib_buffer for clarity. + (gif_load) : Move to file scope. + +2007-09-14 Kenichi Handa + + * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero. + +2007-09-13 Jason Rumney + + * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument. + + * w32term.c (w32_term_init): Pass rif to w32_init_fringe. + + * macterm.c (mac_initialize): Don't call mac_init_fringe here. + (mac_term_init): Call here instead, passing rif. + +2007-09-13 Glenn Morris + + * s/hpux.h: No longer define `static' as nothing. + +2007-09-13 Johan Bockgård + + * callint.c (Fcall_interactively): Remove unused var `fun'. + +2007-09-12 Romain Francoise + + * window.c (prefer_window_split_horizontally, display_buffer): + Revert 2007-09-08 change. + +2007-09-12 Glenn Morris + + * alloca.c: Remove file. + * Makefile.in (alloca): Do not undef. + (allocaobj, alloca.o): Remove. + (otherobj): Remove allocaobj. + * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block. + * regex.c (C_ALLOCA): Remove all references and code that was only + used when this was defined. + * search.c (boyer_moore): Remove #ifdef C_ALLOCA block. + * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block. + * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this. + + * Makefile.in (SOURCES, unlock, relock): Delete. + + * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity. + (menu_grab_callback): All uses changed. + + * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity. + (x_reply_selection_request): All uses changed. + +2007-09-11 Stefan Monnier + + * lread.c (load_warn_old_style_backquotes): Change message to look + better when it appears in the middle of byte-compiler messages. + +2007-09-10 Dan Nicolaescu + + * s/darwin.h (MULTI_KBOARD): Only define for Carbon. + + * xterm.c (x_create_terminal): Add comment. + + * term.c (clear_tty_hooks, set_tty_hooks): Add comments. + +2007-09-10 Richard Stallman + + * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME. + +2007-09-10 Michaël Cadilhac + + * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'. + (DEFUN): Document `intspec', use it instead of `prompt'. + + * eval.c (Fcommandp): Change `->prompt' to `->intspec'. + + * data.c (Finteractive_form): If the interactive specification starts + with a `(', use it as a Lisp form. + + * fileio.c (Fset_file_modes): Add an interactive spec that reads a file + name and file modes. + + * callint.c (Fcall_interactively): Comment fixes. + +2007-09-10 Stefan Monnier + + * callint.c (Fcall_interactively): Use Finteractive_form also for subrs + and compiled functions. + +2007-09-08 Fredrik Axelsson + + * window.c (prefer_window_split_horizontally): New variable. + (display_buffer): Consider splitting window horizontally depending + on prefer_window_split_horizontally. + +2007-09-08 Eli Zaretskii + + * sysdep.c [WINDOWSNT]: Don't include sysselect.h. + +2007-09-07 Stefan Monnier + + * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking. + + * frame.c (x_set_frame_parameters): Check number is positive before + using XFASTINT. + + * window.c (freeze_window_start): Don't presume selected_window holds + a window object. + (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd. + +2007-09-07 Angelo Graziosi (tiny change) + + * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN. + +2007-09-07 Stefan Monnier + + * window.c (Vsplit_window_preferred_function): New var. + (Fdisplay_buffer): Use it. + (syms_of_window): Export, and initialize it. + +2007-09-06 Pixel (tiny change) + + * image.c (gif_load): Fix bug: Handle nonexistent colormap. + +2007-09-06 Glenn Morris + + * gtkutil.c (menu_grab_callback) : + * xselect.c (x_reply_selection_request) : Move static + variable to file scope. + +2007-09-06 Stefan Monnier + + * xdisp.c (redisplay_internal): Make sure Elisp code always sees + consistent values of selected_frame and selected_window. + +2007-09-04 Jason Rumney + + * w32console.c (initialize_w32_display): Zero unused hooks. + +2007-09-04 Dan Nicolaescu + + * term.c (Vsuspend_tty_functions, Vresume_tty_functions) + (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change. + +2007-09-04 Jason Rumney + + * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible + in w32console.c. Set up input. Remove XXX comments that have been + confirmed as correct. + + * s/ms-w32.h (MULTI_KBOARD): Define. + + * w32console.c (one_and_only_w32cons): Remove. + (initialize_w32_display): Take terminal argument. + + * term.c (init_tty) [WINDOWSNT]: Pass terminal to + initialize_w32_display. + (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too. + + * termhooks.h (enum event_kind) : New event. + + * keyboard.c (discard_mouse_events): Discard it. + (make_lispy_event): Translate it to a lisp event. + (lispy_wheel_names): Add wheel-left and right events. + (syms_of_keyboard): Enlarge wheel_syms. + + * w32fns.c (w32_wnd_proc) : Merge with WM_MOUSEWHEEL. + : Pass new system message to lisp. + + * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't. + + * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT + from WM_MOUSEHWHEEL. + (w32_read_socket) : Treat as WM_MOUSEWHEEL. + + * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from + terminal. + + * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new + keyboard for the terminal. + +2007-09-04 Dan Nicolaescu + + * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions. + (Vresume_tty_hook): Rename from Vresume_tty_functions. + (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook + and resume-tty-function to resume-tty-hook. + (Fsuspend_tty, Fresume_tty): Use new names. + +2007-09-02 Jan Djärv + + * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon + if it starts with "n:". + +2007-08-31 Jan Djärv + + * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL. + +2007-08-31 Stefan Monnier + + * frame.h: + * frame.c (Qterm_environment_variable): Remove. + (syms_of_frame): Don't init and staticpro it. + + * callproc.c (getenv_internal): Remove special case for $TERM. + + * callproc.c (Vinitial_environment): New variable. + (set_initial_environment): Initialize it. + (syms_of_callproc): Declare it. + (child_setup): Don't mess with TERM via Qterm_environment_variable; the + TERM under which a process runs is never related to the TERM in which + Emacs is running. + +2007-08-29 Dan Nicolaescu + + * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here... + * s/darwin.h: ... do it here. + +2007-08-29 Stefan Monnier + + * lisp.h (set_initial_environment): Rename from set_global_environment. + + * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been + removed by mistake on the multi-tty branch. + + * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup. + (Fmodify_frame_parameters): Return a value. + + * image.c (png_load): Comment-out var only used in commented-out code. + + * term.c (mark_ttys): Don't bother checking top_frame (incorrectly) + before passing it to mark_object. + + * xfaces.c (internal_resolve_face_name): Return a value. + (internal_resolve_face_name, resolve_face_name_error): Comment out. + + * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup. + (x_icon): Comment-out var only used in commented-out code. + +2007-08-29 Romain Francoise + + * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if + QUIT hasn't been provided. + +2007-08-29 Dan Nicolaescu + + * callproc.c (child_setup, getenv_internal): Use the + display-environment-variable and term-environment-variable frame params. + (set_initial_environment): Initialise Vprocess_environment. + + * config.in: Disable multi-keyboard support on a mac. + + * frame.c (Qterm_environment_variable) + (Qdisplay_environment_variable): New variables. + (syms_of_frame): Intern and staticpro them. + (Fmake_terminal_frame): Disable output method test. + + * frame.h: Declare them here. + + * macfns.c (x_set_mouse_color): Get rif from the frame. + (x_set_tool_bar_lines): Don't use updating_frame. + (mac_window): Add 2 new parameters for consistency with other systems. + (Fx_create_frame): Fix doc string. Rename the parameter. Set the + frame parameters following what is done in X11 and w32. Don't use + FRAME_MAC_DISPLAY_INFO. + (Fx_open_connection, start_hourglass): Remove window-system check. + (x_create_tip_frame): Get the keyboard from the terminal. + + * macmenu.c: Reorder includes. + (Fx_popup_menu): Use terminal specific mouse_position_hook. + + * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a + terminal parameter. + (x_clear_frame): Add a frame parameter. + (note_mouse_movement): Get rif from the frame. + (mac_term_init): Initialize the terminal. + (mac_initialize): Make static and move terminal initialization ... + (mac_create_terminal): ... to this new function. + + * macterm.h (struct mac_display_info): Add terminal. + (mac_initialize): Delete declaration. + + * puresize.h (BASE_PURESIZE): Increase base value to 1164000. + + * sysdep.c: Comment out text after #endif. + + * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD + is defined. Better initialize ttys in windows. Use terminal + specific mouse_position_hook. + + * termhooks.h (union display_info): Add mac_display_info. + + * w32fns.c (Fx_create_frame): Use kboard from the terminal. + Set the default minibuffer frame, window_system and the rest of the + frame parameters following what is done in X11. + + * w32term.c (w32_initialize): Make static. + + * xselect.c (x_handle_selection_clear): Only access + terminal->kboard when MULTI_KBOARD is defined. + + * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here. + (SYSTEM_PURESIZE_EXTRA): Only define on Carbon. + +2007-08-29 Jason Rumney + + * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined. + (make_terminal_frame) [WINDOWSNT]: Initialize terminal. + + * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]: + (mac_init_fringe) [MAC_OS]: Get rif from selected_frame. + + * keyboard.c (restore_kboard_configuration): Only define when + MULTI_KBOARD defined. + + * makefile.w32-in: Update dependancies from Makefile.in. + (OBJ1): Add terminal.$(O) + + * term.c (dissociate_if_controlling_tty) [WINDOWSNT]: + Don't define function body. + (init_tty) [WINDOWSNT]: Use selected_frame for initializing. + + * termhooks.h (display_info) [WINDOWSNT]: Add w32. + + * w32.c (request_sigio, unrequest_sigio): Remove. + + * w32console.c (w32con_move_cursor, w32con_clear_to_end) + (w32con_clear_frame, w32con_clear_end_of_line) + (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs) + (w32con_delete_glyphs, w32con_set_terminal_window) + (scroll_line, w32_sys_ring_bell): Add frame arg. + (w32con_set_terminal_modes, w32con_reset_terminal_modes): + Add terminal arg. + (PICK_FRAME): Remove. + (w32con_write_glyphs): Use frame specific terminal coding. + (one_and_only_w32cons): New global variable. + (initialize_w32_display): Use it for storing hooks. + (create_w32cons_output): New function. + + * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first + arg a frame. + + * w32fns.c (x_create_tip_frame): Set terminal and ref count. + Set window_system. + (x_set_tool_bar_lines): Don't use updating_frame. + (Fx_create_frame): Set terminal and ref count. + (Fx_open_connection): Remove window-system check. + + * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook. + + * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor. + (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg. + (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines): + Add frame arg. + (x_delete_terminal, w32_create_terminal): New functions. + (w32_term_init): Create a terminal. + (w32_initialize): Move terminal specific initialization to + w32_create_terminal. + + * w32term.h (x_output): Remove foreground_pixel and background_pixel. + (w32_clear_rect, w32_clear_area): Use background from frame. + (w32_display_info): Add terminal. + (w32_sys_ring_bell, x_delete_display): Declare here. + + * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type. + + * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k. + +2007-08-29 Kalle Olavi Niemitalo (tiny change) + + * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char): + Fix get_named_tty calls for the controlling tty. + +2007-08-29 ARISAWA Akihiro (tiny change) + + * term.c (dissociate_if_controlling_tty) [USG]: Fix parse error. + +2007-08-29 Yoshiaki Kasahara (tiny change) + + * term.c (tty_insert_glyphs): Add missing first parameter. + +2007-08-29 Károly Lőrentey + + * buffer.c (Fbuffer_list, Fbury_buffer): + Take frame->buried_buffer_list into account. + + * cm.c (current_tty): New variable, for cmputc(). + (cmputc): Use it. + (cmcheckmagic): Add tty parameter, look up terminal streams there. + (calccost): Add tty parameter. Use emacs_tputs() instead of tputs(). + (cmgoto): Add tty parameter. Pass it on to calccost(). + Use emacs_tputs() instead of tputs(). + + * cm.h (emacs_tputs): New macro to set current_tty, and then call + tputs(). + (current_tty): New variable, for cmputc(). + (cmcheckmagic, cmputc, cmgoto): Add prototypes. + + * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors. + (internal_condition_case, internal_condition_case_1) + (internal_condition_case_2): Don't abort when x_catching_errors. + + * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals. + (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to + prevent crashes caused by bogus longjmps in read_char. + + * keymap.h (Fset_keymap_parent): Add EXFUN. + + * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL) + * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): + Remove redundant definition. + + * macfns.c (x_set_mouse_color, x_make_gc): + Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL. + + * w32term.c (x_free_frame_resources): + Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL. + (w32_initialize): Use the accessor macros for terminal characteristics. + + * macterm.c (mac_initialize): Use Fset_input_interrupt_mode. + Use the accessor macros for terminal characteristics. + * msdos.c (internal_terminal_init): Use the accessor macros for + terminal characteristics. + (ScreenVisualBell, internal_terminal_init): + Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL. + + * termopts.h (no_redraw_on_reenter): Declare. + + * alloc.c (emacs_blocked_malloc): Disable mallopt call. + (mark_terminals, mark_ttys): Declare. + (Fgarbage_collect): Call them. + (mark_object): Mark buried_buffer_list. + + * prefix-args.c: Include stdlib.h for exit. + + * syssignal.h: Add comment. + + * indent.c: Include stdio.h. + + * window.h (Vinitial_window_system): Declare. + (Vwindow_system): Delete declaration. + + * fontset.c (Finternal_char_font): Use FRAME_RIF. + + * image.c (lookup_image): Don't initialize `c' until the xasserts + have been run. + + * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and + FRAME_FOREGROUND_PIXEL. + + * print.c (print_preprocess): Don't lose print_depth levels while + iterating. + + * widget.c (update_from_various_frame_slots): + Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL. + + * window.c (set_window_buffer): Don't call clear_mouse_face on tty + frames. + (window_internal_height): Remove bogus make_number call. + (init_window_once): Call make_terminal_frame with two zero parameters. + + * fileio.c (Fread_file_name): Update comment. + + * callint.c (Fcall_interactively): + Use temporarily_switch_to_single_kboard instead of single_kboard_state. + Make sure it is correctly unwound. + + * xsmfns.c (x_session_close): New function. + + * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding): + Delete declarations. + + * xterm.h: Remove declaration for x_fully_uncatch_errors. + (x_output): Remove background_pixel and foreground_pixel fields. + (x_display_info): Add new field TERMINAL. Remove KBOARD field. + (x_delete_device, x_session_close): Declare. + + * lread.c: Include setjmp.h. Update declaration of `read_char'. + (read_filtered_event): Call `read_char' with a local + `wrong_kboard_jmpbuf'. + + * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard. + Don't call single_kboard_state. Use FRAME_RIF. + + * process.c (Fmake_network_process): Don't unrequest_sigio on modern + systems. + + * lisp.h (set_process_environment): Rename to `set_global_environment'. + (Fframe_with_environment, Fset_input_meta_mode) + (Fset_quit_char): EXFUN. + (x_create_device, tty_output, terminal, tty_display_info): Declare. + (init_sys_modes, reset_sys_modes): Update prototypes. + (init_all_sys_modes, reset_all_sys_modes): New prototypes. + + * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map, + Vlocal_key_translation_map, and Vkeyboard_translate_table. + (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state): + Delete declarations. + (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard) + (temporarily_switch_to_single_kboard, tty_read_avail_input): + New declarations. + + * emacs.c (main): Don't call init_sys_modes(), the new term_init() + already does that during init_display(). Call syms_of_keymap + before syms_of_keyboard. Call `syms_of_terminal'. + Call set_initial_environment, not set_process_environment. + (shut_down_emacs): Call reset_all_sys_modes() instead of + reset_sys_modes(). + + * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG. + (internal_resolve_face_name, resolve_face_name_error): New functions. + (resolve_face_name): Protect against loops and errors thrown by Fget. + (realize_default_face): Don't use FRAME_FONT unless frame is an X frame. + (Ftty_supports_face_attributes_p): Update tty_capable_p call. + + * scroll.c: Replace CURTTY() with local variables throughout the + file (where applicable). + (calculate_scrolling, calculate_direct_scrolling) + (scrolling_1, scroll_cost): Use the accessor macros for terminal + characteristics. + + * keymap.c (Vfunction_key_map): Remove. + (Fdescribe_buffer_bindings): Update references to Vfunction_key_map. + (syms_of_keymap): Remove DEFVAR for Vfunction_key_map. + (Vkey_translation_map): Remove. + (syms_of_keymap): Remove DEFVAR for key-translation-map. + (Fdescribe_buffer_bindings) + (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards): + Update for terminal-local key-translation-map. + + * Makefile.in (callproc.o): Update dependencies. + (lisp, shortlisp): Add termdev.elc. + (obj): Add terminal.o. + (terminal.o): Add dependencies. + [HAVE_CARBON]: Make terminal.o depend on macgui.h. + (data.o, fns.o): Add termhooks.h dependency. + (SOME_MACHINE_LISP): Add dnd.elc. + (minibuf.o): Fix typo. + Update dependencies. + + * data.c (do_symval_forwarding, store_symval_forwarding) + (find_symbol_value): Use the selected frame's keyboard, not + current_kboard. + + * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of + Vwindow_system. + + * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from + Fmenu_bar_open. + (syms_of_xmenu): Update defsubr. + (mouse_position_for_popup, Fx_popup_menu) + (Fx_popup_dialog, x_activate_menubar, update_frame_menubar) + (set_frame_menubar, free_frame_menubar) + (create_and_show_popup_menu, xmenu_show) + (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not + an X frame. + + * xselect.c (x_own_selection): Abort if not an X frame. + (some_frame_on_display): Check if it is an X frame. + (x_handle_selection_clear): Deal with MULTI_KBOARD. + + * coding.c: Include frame.h and termhooks.h. + (terminal_coding, keyboard_coding): Delete. + (Fset_terminal_coding_system_internal) + (Fset_keyboard_coding_system_internal) + (Fkeyboard_coding_system) + (Fterminal_coding_system): Add a terminal parameter. + Get terminal_coding from the terminal. + (init_coding_once): Don't call setup_coding_system here. + + * dispextern.h (set_scroll_region, turn_off_insert) + (turn_off_highlight, background_highlight, clear_end_of_line_raw) + (tty_clear_end_of_line, tty_setup_colors) + (delete_tty, updating_frame) + (produce_special_glyphs, produce_glyphs, write_glyphs) + (insert_glyphs): Remove. + (raw_cursor_to, clear_to_end, tty_turn_off_insert) + (tty_turn_off_highlight, get_tty_size): Add declaration. + (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes. + + * frame.h (enum output_method): Add output_initial. + (struct x_output): Delete. + (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): + Access foreground_pixel and background_pixel directly from the frame. + (tty_display): Delete. + (struct frame): Add buried_buffer_list, foreground_pixel, + background_pixel and terminal. Delete kboard. + (union output_data): Add tty. + (FRAME_KBOARD): Get the kboard from the terminal. + (FRAME_INITIAL_P): New macro. + (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment) + (Qterm_environment_variable, Qdisplay_environment_variable) + (make_terminal_frame, Qburied_buffer_list, Qwindow_system): + New declarations. + + * termchar.h (tty_output, tty_display_info): New structures. + (tty_list): Declare. + (FRAME_TTY, CURTTY): New macros. + (must_write_spaces, min_padding_speed, fast_clear_end_of_line) + (line_ins_del_ok, char_ins_del_ok, scroll_region_ok) + (scroll_region_cost, memory_below_frame, fast_clear_end_of_line) + (dont_calculate_costs, no_redraw_on_reenter): Remove declarations. + + * callproc.c: Include frame.h and termhooks.h, for terminal + parameters. + (add_env): New function. + (child_setup): Use it. + (child_setup, getenv_internal): Handle the new Vprocess_environment. + (getenv_internal): Fix get_terminal_param call. + (Fgetenv_internal, egetenv): Update doc. + (syms_of_callproc): Initialize Vprocess_environment to nil. + Register and initialize them. Remove obsolete defvars. Update doc + strings. + (child_setup): Handle Vlocal_environment_variables. + (getenv_internal): Add terminal parameter. + Handle Vlocal_environment_variables. + (Fgetenv_internal): Add terminal parameter. + (child_setup, getenv_internal, Fgetenv_internal): Store the local + environment in a frame (not terminal) parameter. Update doc strings. + (set_initial_environment): Rename from set_global_environment. + Store Emacs environment in initial frame parameter. + + * xdisp.c (redisplay_internal): Update references to + `previous_terminal_frame'. + (display_mode_line, Fformat_mode_line): Replace calls to + `push_frame_kboard' with `push_kboard'. + (get_glyph_string_clip_rects): Add extra parentheses and + braces to prevent compiler warnings. + (calc_pixel_width_or_height): Add xassert to check that the + frame is alive. Don't call `lookup_image' on a termcap frame. + (message2_nolog, message3_nolog, redisplay_internal) + (set_vertical_scroll_bar, redisplay_window, check_x_display_info) + (x_set_scroll_bar_foreground, x_set_scroll_bar_background) + (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p) + (Fx_display_pixel_width, Fx_display_pixel_height) + (Fx_display_planes, Fx_display_color_cells) + (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version) + (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width) + (Fx_display_backing_store, Fx_display_visual_class) + (Fx_display_save_under, Fx_close_connection, x_create_tip_frame): + Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF. + + * xfns.c (x_set_foreground_color x_set_background_color) + (x_set_mouse_color, x_set_cursor_color, x_make_gc): + Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL. + (Fx_create_frame, x_create_tip_frame, build_string, x_window) + (Fx_create_frame, x_create_tip_frame): Don't create frames on a + terminal that is being deleted. + (Fx_create_frame): Use `store_frame_param' to set `window-system' + frame parameter, and make sure it overrides any user-supplied setting. + (Fx_close_connection, Fx_synchronize): Unify argument names with + the rest of the DEFUNs. + + * dispnew.c (Fsend_string_to_terminal): Update call to + `get_tty_terminal'. + (Fredraw_frame, Fsend_string_to_terminal) + (Fsend_string_to_terminal, init_display): Use FRAME_RIF, + FRAME_TERMCAP_P and FRAME_TTY. + (window_change_signal): Don't believe width/height values that are + impossibly small. + (Vinitial_window_system): Rename from Vwindow_system. + (termscript, Wcm, rif): Delete. + + * termhooks.h (struct terminal): New struct containing the + previously global text display hooks and new members NAME, + DELETED and PARAM_ALIST. + (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING) + (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P) + (FRAME_RIF): New macros. + (get_terminal_param, get_device): New declarations. + (termscript): Delete declaration. + + * xterm.c (x_initialize): Use Fset_input_interrupt_mode. + (XTflash, x_free_frame_resources, x_scroll_bar_create) + (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and + FRAME_FOREGROUND_PIXEL. + (x_fully_uncatch_errors): Disable definition. + (x_scroll_bar_expose): Fix reference to foreground pixel. + (XTread_socket): Disable loop on all X displays. + (x_delete_terminal): Don't set terminal->deleted and let + delete_terminal delete the frames on the terminal. + (x_delete_display): Doc update to reflect changes in + delete_terminal. + (x_display_info) : Move member earlier in the struct. + (deleting_tty): Remove old variable. + (Fsuspend_tty): Call clear_tty_hooks. + (Fresume_tty, init_tty): Call set_tty_hooks. + (Ftty_display_color_p, Ftty_display_color_cells): Don't throw + errors on X frames. + (x_catch_errors_unwind): Abort if x_error_message is NULL. + (handle_one_xevent): Initialize `f' to NULL. + (x_delete_terminal, x_create_terminal): New functions. + (XTset_terminal_modes, XTreset_terminal_modes) + (XTread_socket, x_connection_closed, x_term_init) + (x_term_init, x_delete_display): Add terminal parameter. + (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary + X connections. + + * frame.c: Include termchar.h. + (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type) + (Qwindow_system, Qenvironment, Qterm_environment_variable) + (Qdisplay_environment_variable): New vars. + (Fframep): Deal with output_initial. + (Fframe-live-p): Doc fix. + (Fwindow-system): New function. + (x_set_screen_gamma, store_frame_param): Fix compilation errors. + (make_terminal_frame): Don't create frames on a terminal that is + being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL. + (store_frame_param): Check for found_for_frame before calling XFRAME. + (Fmake_terminal_frame): Handle NULL tty names correctly. + (syms_of_frame): Enhance doc string of `default-frame-alist'. + (Fdelete_frame): Remove unused variable `count'. Don't allow other + frames to refer to a deleted frame in their 'environment parameter. + (Fframe_with_environment): New function. + (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment. + (get_future_frame_param): New function. + (Fmake_terminal_frame): Use it. + (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF. + + * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames. + * sysdep.c (reset_sys_modes): Update for renames. + + * keyboard.c (tty_read_avail_input): New function. + (Fset_input_interrupt_mode, Fset_output_flow_control): New functions. + (syms_of_keyboard): Defsubr them. + (Fset_input_meta_mode, Fset_quit_char): New functions. + (Fset_input_mode): Split to above functions. + (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf + parameter. Use it in call to `read_char'. + (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'. + Set wrong_kboard_jmpbuf correctly in recursive calls. + Use current_kboard to access Vkeyboard_translate_table. + Enhance comment before extra longjmp to wrong_kboard_jmpbuf. + Add wrong_kboard_jmpbuf parameter to allow for recursive calls. + Update longjmp invocations. Remember the original current_kboard, + and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel + changes it. Comment out unnecessary calls to + `record_single_kboard_state' and `any_kboard_state'. + Update recursive calls. + (wrong_kboard_jmpbuf): Remove global variable. + (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf. + Handle deleted interrupted_kboards correctly; that is a legal + case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp + and read_char calls. Abort if interrupted_kboard died in read_char. + (any_kboard_state, single_kboard_state) + (push_frame_kboard): Remove function. + (pop_kboard): Switch out of single_kboard mode if the kboard has + been deleted. Remove unused variable. Help debugging by not + changing current_kboard unnecessarily. Set current_kboard to the + kboard of the selected frame when the stored kboard object has + been deleted before pop_kboard. + (temporarily_switch_to_single_kboard): Change first parameter to a + frame pointer. Throw an error when caller wants to change kboards + while in single_kboard mode. Don't push_kboard if we weren't in + single kboard state. Don't pop_kboard if we popped into any + kboard state. + (restore_kboard_configuration): Abort if pop_kboard changed the + kboard in single_kboard mode. Call pop_kboard only after setting + up single_kboard mode. + (Frecursive_edit): Switch to single_kboard mode only in nested + command loops. + (cmd_error, command_loop, command_loop_1, timer_check): + Comment out unnecessary call to `any_kboard_state' and + `record_single_kboard_state'. + (delete_kboard): Exit single_kboard mode if we have just deleted + that kboard. Use FRAME_KBOARD. + (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not + `fatal_error_signal'. + (record_single_kboard_state): Don't push_kboard if we weren't in + single kboard state. Don't pop_kboard if we popped into any + kboard state. + (push_frame_kboard): Rename to push_kboard. + (kbd_buffer_get_event): Use FRAME_TERMINAL. + (read_avail_input): Read input from all terminals. + (mark_kboards): Also mark Vkeyboard_translate_table. + (kbd_buffer_store_event_hold): Simplify condition. + (read_key_sequence): Reinitialize fkey and keytran at each replay. + (Vkeyboard_translate_table): Move to struct kboard. + (init_kboard): Initialize Vkeyboard_translate_table. + (syms_of_keyboard): Use DEFVAR_KBOARD to define + Vkeyboard_translate_table. Update doc strings. Update docs of + local-function-key-map and function-key-map. + + * terminal.c: New file. + + * term.c: Include errno.h. + (Vring_bell_function, device_list, initial_device) + (next_device_id, ring_bell, update_begin, update_end) + (set_terminal_window, cursor_to, raw_cursor_to) + (clear_to_end, clear_frame, clear_end_of_line) + (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines) + (Fdisplay_name, create_device, delete_device): Move to terminal.c. + (syms_of_term): Move their initialization to terminal.c. + (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p) + (Ftty_display_color_cells) + (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output) + (clear_tty_hooks, set_tty_hooks) + (init_tty, maybe_fatal): New functions. + (Ftty_type): Return nil if terminal is not on a tty instead of + throwing an error. Doc update. + (syms_of_term) : + Doc update. Initialize new subrs and variables. + (delete_tty): Use terminal->deleted. + (tty_set_terminal_modes): Rename from set_terminal_modes. + (tty_reset_terminal_modes): Rename from reset_terminal_modes. + (set_scroll_region): Rename to `tty_set_scroll_region'. + (turn_on_insert): Rename to `tty_turn_on_insert'. + (turn_off_insert): Rename to `tty_turn_off_insert'. + (turn_off_highlight): Rename to `tty_turn_off_highlight'. + (turn_on_highlight): Rename to `tty_turn_on_highlight'. + (toggle_highligh): Rename to `tty_toggle_highlight'. + (background_highlight): Rename to `tty_background_highlight'. + (highlight_if_desired): Rename to `tty_highlight_if_desired'. + (tty_ring_bell, tty_update_end, tty_set_terminal_window) + (tty_set_scroll_region, tty_background_highlight) + (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end) + (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs) + (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines) + (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty): + Add static modifier. + (tty_reset_terminal_modes, tty_set_terminal_window) + (tty_set_scroll_region, tty_background_highlight) + (tty_highlight_if_desired, tty_cursor_to) + (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame) + (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs) + (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for + renames. + +2007-08-28 Jan Djärv + + * keyboard.c: Qrtl is new. + (parse_tool_bar_item): Handle :rtl keyword. + (syms_of_keyboard): Intern :rtl keyword. + + * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE. + + * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED + so no Lisp code is executed. + (file_for_image, find_rtl_image): New functions. + (xg_get_image_for_pixmap): Use file_for_image. + (update_frame_tool_bar): If direction is RTL, use RTL image if + defined. Use Gtk stock images if defined. + +2007-08-27 YAMAMOTO Mitsuharu + + * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle + for nonexistent or zero-width glyph in composition glyph. + +2007-08-25 Stefan Monnier + + * m/amdx86-64.h: Redirect to intel386.h if compiling for i386. + + * xdisp.c (Finvisible_p): New function. + (syms_of_xdisp): defsubr it. + +2007-08-24 Juanma Barranquero + + * image.c (syms_of_image) : + Doc fixes. + +2007-08-24 YAMAMOTO Mitsuharu + + * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes. + +2007-08-24 Martin Rudalics + + * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell + whether decoding has modified buffer contents. + +2007-08-24 Jason Rumney + + * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG. + (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols. + (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them. + (init_svg_functions) [HAVE_NTGUI]: New function. + (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines. + (svg_load_image): Use them. + (svg_load_image) [HAVE_NTGUI]: Implement background. + +2007-08-23 YAMAMOTO Mitsuharu + + * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables. + (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@. + (LIBX): Remove @RSVG_LIBS@. + (LIBES): Add $(RSVG_LIBS). + + * image.c (svg_load_image): Blend with specified background if exists. + Use IMAGE_BACKGROUND. Add Mac OS Support. + + * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable. + (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. + +2007-08-22 Glenn Morris + + * image.c (x_find_image_file): Search in etc/images/ rather than etc/. + +2007-08-22 Paul Pogonyshev + + * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS. + + * image.c: Add support for SVG images. Some additional comments + by Joakim Verona . When HAVE_RSVG is defined: + (svg_image_p): New function to test for SVG image. + (svg_load): New function to load SVG image. + (svg_load_image): New function, helper for svg_load. + (Qsvg): New Lisp_object. + (svg_keyword_index): New enum. + (svg_format): New static `image_keyword' struct. + (svg_type): New static `image_type' struct. + (librsvg/rsvg.h): Include it. + +2007-08-23 Stefan Monnier + + * lread.c (load_warn_old_style_backquotes): Fix up array size typo. + +2007-08-22 Stefan Monnier + + * lread.c (Qold_style_backquotes): New var. + (syms_of_lread): Init and staticpro it. + (load_warn_old_style_backquotes): New fun. + (Fload): Use them to warn about old style backquotes. + (end_of_file_error, Fload): Remove unused vars. + + * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare. + + * lread.c (Vold_style_backquotes): New var. + (syms_of_lread): Init and export it to Elisp. + (read1): Set it when we find an old-style (back)quote. + +2007-08-22 Jason Rumney + + * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator. + +2007-08-22 Katsumi Yamaoka + + * puresize.h (BASE_PURESIZE): Increase to 1140000. + +2007-08-19 Richard Stallman + + * eval.c (Ffunction, Fquote): Signal error if not 1 argument. + +2007-08-19 Andreas Schwab + + * alloc.c (pure): Round PURESIZE up. + +2007-08-17 Jan Djärv + + * xterm.c (handle_one_xevent): Remove check that mouse click is in + active frame. + +2007-08-16 Richard Stallman + + * eval.c (Fcommandp): Add parens to clarify. + + * minibuf.c (Fall_completions): Use enum for type of table. + + * emacs.c (USAGE2): Improve text. + +2007-08-15 Philippe Waroquiers + + * term.c (tty_default_color_capabilities): Declare static + variables in file scope, to avoid HPUX compiler problem. + +2007-08-13 Jan Djärv + + * gtkutil.c (update_frame_tool_bar): Use -1 as index + to gtk_toolbar_insert. + +2007-08-13 Stefan Monnier + + * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup. + + * insdel.c (reset_var_on_error): New fun. + (signal_before_change, signal_after_change): + Use it to reset (after|before)-change-functions to nil in case of error. + Bind inhibit-modification-hooks to t. + Don't bind (after|before)-change-functions to nil while they run. + +2007-08-11 YAMAMOTO Mitsuharu + + * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when + filling pixmap with stippled background. + +2007-08-10 YAMAMOTO Mitsuharu + + * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event): + Don't use invisible frame as parent window for repositioning. + +2007-08-10 Stefan Monnier + + * print.c (new_backquote_output): Rename from old_backquote_output. + (print): Inverse its logic (according to its name) so as to match the + behavior of new_backquote_flag in lread.c. + +2007-08-09 YAMAMOTO Mitsuharu + + * gmalloc.c (posix_memalign): New function. + + * macterm.c (frame_highlight, frame_unhighlight): Don't call + ActivateControl/DeactivateControl here. + [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when + frame-notice-user-settings is non-nil. + [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter + for kEventParamFMFontStyle. + [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check + mac_pass_command_to_system and mac_pass_control_to_system here. + (XTread_socket): Call ActivateControl/DeactivateControl here. + (XTread_socket) [TARGET_API_MAC_CARBON]: + Check mac_pass_command_to_system and mac_pass_control_to_system here. + (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround + for window repositioning. + +2007-08-08 Glenn Morris + + * Replace `iff' in doc-strings and comments. + +2007-08-07 Chong Yidong + + * xdisp.c (move_it_by_lines): Remove incorrect optimization. + +2007-08-07 Martin Rudalics + + * fileio.c (Finsert_file_contents): Run format-decode and + after_insert_file_functions on entire buffer when REPLACE is + non-nil and inhibit modification_hooks and point_motion_hooks. + For consistency, run after_insert_file_functions iff something + got inserted. Move signal_after_change and update_compositions + after code running after_insert_file_functions. Make sure that + undo_list doesn't record intermediate steps of the decoding process. + +2007-08-07 YAMAMOTO Mitsuharu + + * emacs.c (main) + [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]: + Call malloc_enable_thread on interactive startup. + + * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable. + (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS) + [USE_PTHREAD]: Conditionalize with it. + (malloc_atfork_handler_prepare, malloc_atfork_handler_parent) + (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]: + New functions. + +2007-08-06 Chong Yidong + + * xdisp.c (redisplay_window): When restoring original buffer + position, make sure it is still valid. + + * image.c (png_load): Ignore png-supplied background color. + +2007-08-06 YAMAMOTO Mitsuharu + + * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value. + Use kCFAbsoluteTimeIntervalSince1970. + + * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: + New variable. + [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog + event loop should be quit. + [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]: + Quit dialog event loop if quit_dialog_event_loop is set. + + * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h. + (Selection): New typedef. Use instead of ScrapRef. + (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol. + (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p. + (mac_clear_selection): Rename from clear_scrap. + (get_flavor_type_from_symbol): New argument SEL and subsume function of + scrap_has_target_type. All uses changed. + (mac_get_selection_ownership_info, mac_valid_selection_value_p) + (mac_selection_has_target_p): New functions. + (mac_put_selection_value): Rename from put_scrap_string. + (mac_get_selection_value): Rename from get_scrap_string. + (mac_get_selection_target_list): Rename from get_scrap_target_type_list. + (put_scrap_private_timestamp, scrap_has_target_type) + (get_scrap_private_timestamp): Remove functions. + (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define. + (x_own_selection, x_get_local_selection): + Use mac_valid_selection_value_p. + (x_own_selection): Don't use put_scrap_private_timestamp. + Record OWNERSHIP-INFO into Vselection_alist instead. + (x_get_local_selection): Don't check type if request is local. + (Fx_selection_owner_p): Don't use get_scrap_private_timestamp. + Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead. + +2007-08-04 Jan Djärv + + * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s, + add comment explaining why. + +2007-08-03 Richard Stallman + + * fileio.c (Fvisited_file_modtime): Use make_time. + +2007-08-01 Ryo Yoshitake (tiny change) + + * mac.c (init_mac_osx_environment): Adjust load-path on self-contained + build. + +2007-07-31 Stefan Monnier + + * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT. + +2007-07-30 Katsumi Yamaoka + + * puresize.h (BASE_PURESIZE): Increase to 1130000. + +2007-07-30 Richard Stallman + + * lread.c (readevalloop, read1): Treat NBSP as whitespace. + +2007-07-29 Jan Djärv + + * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed. + +2007-07-28 Nick Roberts + + * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for + remote default-directory. + + * buffer.c (mode-line-format): Update doc string. + +2007-07-27 YAMAMOTO Mitsuharu + + * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to + scroll bar gap. + (x_scroll_bar_create): Set bar->fringe_extended_p. + (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars + on frame edge. Check fringe background extension. Don't clear + extended fringe background area. + + * w32term.h (struct scroll_bar): New member fringe_extended_p. + (w32_fill_area): Enclose multiple statements with do ... while (0). + + * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]: + Extend fringe background to scroll bar gap. + (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: + Set bar->fringe_extended_p. + (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: + Put leftmost/rightmost scroll bars on frame edge. Check fringe + background extension. Don't clear extended fringe background area. + + * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: + New member fringe_extended_p. + +2007-07-25 Glenn Morris + + * Relicense all FSF files to GPLv3 or later. + + * COPYING: Switch to GPLv3. + +2007-07-25 Stefan Monnier + + * eval.c (Fcommandp): Pay attention to the `interactive-form' property. + + * data.c (Finteractive_form): Check for the presence of an + `interactive-form' symbol property more thoroughly. + + * data.c (Finteractive_form): Use an `interactive-form' property if + present, analogous to the function-documentation property. + +2007-07-24 Jason Rumney + + * w32fns.c (x_real_positions): Get real position from OS instead of + calculating it. + +2007-07-23 Jason Rumney + + * filelock.c (current_lock_owner): Allow for @ sign in username. + +2007-07-22 Nick Roberts + + * xdisp.c (decode_mode_spec): Add case 'R' for to test for + remote default-directory. + + * buffer.c (mode-line-format): Describe above case in doc string. + +2007-07-20 Eli Zaretskii + + * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32): + Define if not defined. + +2007-07-18 Jason Rumney + + * w32proc.c (w32_executable_type): Handle 64 bit executables. + +2007-07-18 Richard Stallman + + * data.c (Fsetq_default): Doc fix. + + * eval.c (Fsetq): Doc fix. + +2007-07-18 Juanma Barranquero + + * coding.c (Ffind_operation_coding_system): + * eval.c (For, Fand): Doc fixes. + Reported by Johan Bockgård. + +2007-07-18 Jan Djärv + + * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame. + + * xterm.h: Declare x_ewmh_activate_frame. + + * xterm.c (x_ewmh_activate_frame): New function. + (XTframe_raise_lower): Move code to x_ewmh_activate_frame. + +2007-07-17 Martin Rudalics + + * window.c (Fdisplay_buffer): If largest or LRU window is the + only window, split it even if it is not eligible for splitting. + This restores the original behavior broken by the 2007-07-15 + change. + +2007-07-17 Glenn Morris + + * abbrev.c (abbrev_check_chars): New function. + (Fdefine_global_abbrev, Fdefine_mode_abbrev): + Call abbrev_check_chars to check abbrev characters are word + constituents. Doc fix. + +2007-07-17 Stefan Monnier + + * process.c (Fstart_process, Fmake_network_process) + (read_process_output): Fix up last changes. + +2007-07-16 Eli Zaretskii + + * makefile.w32-in (clean): Don't delete *~. + +2007-07-16 Andreas Schwab + + * window.c (Fdisplay_buffer): Use NILP. + (Fset_window_scroll_bars): Likewise. + +2007-07-15 Martin Rudalics + + * window.c (window_min_size_2): New function. + (window_min_size_1, size_window, Fdisplay_buffer) + (Fsplit_window, adjust_window_trailing_edge): Use it to avoid + windows without mode- or header-lines when window-min-height is + too small. + (size_window): Reset nodelete_p after testing it, following an + earlier note by Kim F. Storm. + (display_buffer): Do not set split_height_threshold to twice the + value of window_min_height to avoid changing the value of a + customizable variable. Rather explicitly check whether the + height of the window that shall be splitted is at least as large + as split_height_threshold. + (Fwindow_full_width_p): New defun. + (syms_of_window): Defsubr it. + + * window.h: Add EXFUN for Fwindow_full_width_p. + +2007-07-14 Jason Rumney + + * process.c [WINDOWSNT]: Don't undefine AF_INET6. + +2007-07-14 Richard Stallman + + * eval.c (maybe_call_debugger): New function. + (find_handler_clause): Use maybe_call_debugger. + Call it when the handler says `debug'. + Eliminate DEBUGGER_VALUE_PTR. + (Fsignal): Eliminate debugger_value. + (Qdebug): New variable. + (syms_of_eval): Initialize it. + +2007-07-14 Juanma Barranquero + + * eval.c (Fprogn): + * keyboard.c (Ftrack_mouse): + * print.c (Fwith_output_to_temp_buffer): + * window.c (Fsave_window_excursion): Doc fix. + +2007-07-13 Stefan Monnier + + * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400. + +2007-07-12 Stefan Monnier + + * process.h (struct Lisp_Process): Turn slots infd, outfd, + kill_without_query, pty_flag, tick, update_tick, decoding_carryover, + inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering, + read_output_delay, and read_output_skip from Lisp_Objects to ints. + Remove unused encoding_carryover. + * process.c: Adjust all functions accordingly. + +2007-07-12 Richard Stallman + + * term.c: Include unistd.h only if HAVE_UNISTD_H. + +2007-07-11 Jason Rumney + + * makefile.w32-in (LIBS): Include OLE32. + + * w32fns.c (w32_msg_pump) : Initialize COM. + (w32_msg_pump) : Uninitialize COM. + +2007-07-11 Stefan Monnier + + * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer. + * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned + from a Lisp_Object into a bare pointer. + (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns): + Adjust the code correspondingly. + + * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'. + + * term.c: Include unistd.h for ttyname, used in handle_one_term_event. + (term_show_mouse_face): Remove unused var `j'. + (handle_one_term_event): Remove unused vars `i' and `j'. + Don't cast return value of ttyname since it's not necessary. + +2007-07-10 Stefan Monnier + + * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using + USE_LSB_TAG. Suggested by Dmitry Antipov . + + * fns.c (map_char_table): Use an array of int for `indices' rather than + an array of Lisp_Objects (which are only ever integers anyway). + (Fmap_char_table): Update caller. + * lisp.h: Update prototype. + * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap): + * fontset.c (Ffontset_info): + * casetab.c (set_case_table): Update callers. + + * editfns.c (Ftranspose_regions): Use EMACS_INT for positions. + + * keymap.c (struct accessible_keymaps_data) + (struct where_is_internal_data): New structures. + (accessible_keymaps_1, where_is_internal_1): Use them to change + interface to adhere to the one used by map_keymap. + (Faccessible_keymaps, where_is_internal): Use map_keymap. + (accessible_keymaps_char_table, where_is_internal_2): Remove. + + * keymap.h (map_keymap_function_t): More informative prototype. + +2007-07-10 Guanpeng Xu + + * search.c (Vinhibit_changing_match_data, search_regs_1): New vars. + (looking_at_1): Don't change search_regs and last_thing_searched + if `inhibit-changing-match-data' is non-nil. + (string_match_1, search_buffer, set_search_regs): Likewise. + (syms_of_search): Add Lisp level definition for + `inhibit-changing-match-data' and set it to nil. + (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute + start and end of the match, instead of using values in search_regs. + +2007-07-01 Stefan Monnier + + * minibuf.c (Fcompleting_read): New value `confirm-only' + for `require-match'. + +2007-06-28 Stefan Monnier + + * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as + part of the 2007-06-27 change to syms_of_fileio. + +2007-06-28 YAMAMOTO Mitsuharu + + * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event): + Check WINDOWP before using XWINDOW. Consolidate return statements. + +2007-06-27 Richard Stallman + + * fileio.c (syms_of_fileio) : Doc fix. + +2007-06-27 Juanma Barranquero + + * buffer.c (syms_of_buffer) : Fix typo in docstring. + +2007-06-26 YAMAMOTO Mitsuharu + + * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h. + (_aligned_blocks_mutex) [USE_PTHREAD]: New variable. + (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros. + (_free_internal, memalign): Use them. + (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]: + Initialize to PTHREAD_MUTEX_INITIALIZER. + (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex. + (morecore_nolock): Rename from morecore. All uses changed. + Use only nolock versions of internal allocation functions. + (_malloc_internal_nolock, _realloc_internal_nolock) + (_free_internal_nolock): New functions created from + _malloc_internal, _realloc_internal, and _free_internal. + (_malloc_internal, _realloc_internal, _free_internal): Use them. + Copy hook value to automatic variable before its use. + (memalign): Copy hook value to automatic variable before its use. + +2007-06-26 Kenichi Handa + + * coding.c (Ffind_operation_coding_system): Docstring improved. + (syms_of_coding): Docstring of `file-coding-system-alist' improved. + +2007-06-25 David Kastrup + + * keymap.c (Fcurrent_active_maps): Add `position' argument. + (Fwhere_is_internal): Adjust call to `current-active-maps' to + cater for additional parameter. + + * keymap.h: Adjust number of parameters to `current-active-maps'. + + * doc.c (Fsubstitute_command_keys): Adjust call of + `current-active-maps'. + +2007-06-25 David Kastrup + + * callint.c (Fcall_interactively): Make the parsing of interactive + specs somewhat more readable. + +2007-06-23 YAMAMOTO Mitsuharu + + * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background + to scroll bar gap also when bitmap fills fringe. Draw only foreground + if extended background has already been filled. + +2007-06-22 YAMAMOTO Mitsuharu + + * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI. + (USE_MAC_TOOLBAR): Require USE_CG_DRAWING. + + * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]: + Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p + in #if 0 as it is not compatible with y-or-n-p-with-timeout. + (timer_check) [TARGET_API_MAC_CARBON]: Add extern. + [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop + instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls. + (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function. + [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind. + Run timers during dialog popup. + (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated. + +2007-06-21 Jason Rumney + + * image.c (convert_mono_to_color_image): Swap fore and background. + +2007-06-20 Jason Rumney + + * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished. + (w32_free_bdf_font): Unmap memory not handle. + +2007-06-20 Sam Steingold + + * gmalloc.c (__morecore): Fix the declaration to comply with the + definition. + +2007-06-20 Juanma Barranquero + + * w32term.c (w32_delete_display): Remove leftover declaration. + (w32_define_cursor, w32_initialize): Make static. + + * w32.c (_wsa_errlist): Fix typo in error message. + (init_environment): Ignore any environment variable from the + registry having a null value. + +2007-06-20 Glenn Morris + + * Makefile.in (LIBGIF): Default to -lgif. + +2007-06-17 Jason Rumney + + * w32menu.c (add_menu_item): Don't use multibyte string functions on + unicode strings. + +2007-06-16 Juanma Barranquero + + * xdisp.c (syms_of_xdisp) : + Fix typo in docstring. + +2007-06-16 Eli Zaretskii + + * w32menu.c (add_menu_item): Escape `&' characters in menu items + and their keybindings. + +2007-06-15 Chong Yidong + + * composite.c (update_compositions): Fix last fix. + +2007-06-14 Jason Rumney + + * w32.c (get_process_times_fn): New function pointer. + (globals_of_w32): Intialize it if present in kernel32.dll. + (w32_get_internal_run_time): New function. + + * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it. + +2007-06-14 Kenichi Handa + + * composite.c (update_compositions): Check the validness of + compositions. + +2007-06-14 YAMAMOTO Mitsuharu + + * frame.h (struct frame) [MAC_OS]: New member external_tool_bar. + (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it. + + * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity. + (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR. + + * macgui.h (USE_MAC_TOOLBAR): New define. + + * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler): + Return immediately unless popup is activated. + + * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe + background to scroll bar gap. + (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p. + (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost + scroll bars on frame edge. Check fringe background extension. + Don't clear extended fringe background area. + (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER) + (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P) + (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID): + [USE_MAC_TOOLBAR]: New macros. + (mac_move_window_with_gravity, mac_get_window_origin_with_gravity) + (mac_handle_toolbar_event, mac_image_spec_to_cg_image) + (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar) + (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event) + [USE_MAC_TOOLBAR]: New functions. + (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window + manually if previous repositioning has failed. + (mac_handle_keyboard_event): Use precomputed event kind. + (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region + as tool bar item click. Handle mouse movement over tool bar items. + + * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member + toolbar_win_gravity. + (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p. + (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]: + Add externs. + + * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window) + [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display. + +2007-06-14 Chong Yidong + + * image.c (search_image_cache): Remove unused variable. + +2007-06-13 Chong Yidong + + * xfns.c, xmenu.c: Link to xaw3d if available. + +2007-06-13 YAMAMOTO Mitsuharu + + * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members + frame_foreground and frame_background. + + * image.c (lookup_image): Save frame foreground and background colors. + (search_image_cache): Check if saved and current frame colors match. + +2007-06-12 Stefan Monnier + + * regex.c (regex_compile): Remove the `regnum' counter. + Use bufp->re_nsub instead. Add support for \(?N:RE\). + +2007-06-11 Stefan Monnier + + * term.c: Include intervals.h to declare Fget_text_property. + +2007-06-10 Jason Rumney + + * w32fns.c (Fx_file_dialog): Take size from struct not pointer. + +2007-06-08 Juanma Barranquero + + * callint.c (Fcall_interactively): + * editfns.c (Fdelete_and_extract_region): + * fileio.c (Fread_file_name): + * fns.c (Fmapconcat): + * keyboard.c (cmd_error_internal): + * keymap.c (Fkey_description): + * lread.c (openp): + * minibuf.c (read_minibuf): + * search.c (wordify): + * sunfns.c (sel_read): + * xdisp.c (Fformat_mode_line, syms_of_xdisp): + * xfns.c (x_default_scroll_bar_color_parameter): + * xmenu.c (menu_help_callback): + * xselect.c (Fx_get_atom_name): + * xterm.c (x_term_init): Use empty_unibyte_string. + +2007-06-08 Dmitry Antipov (tiny change) + + * alloc.c (init_strings): Initialize canonical empty strings. + (make_uninit_string, make_uninit_multibyte_string): Return appropriate + canonical empty string when the requested size is 0. + + * emacs.c (empty_unibyte_string): Rename from empty_string. + (empty_multibyte_string): New canonical empty string. + (syms_of_emacs): Don't initialize empty_string. + + * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte + string, if appropriate. + (empty_unibyte_string, empty_multibyte_string): New externs. + (empty_string): Remove extern. + + * lread.c (syms_of_lread): Use empty_unibyte_string. + +2007-06-07 Jason Rumney + + * s/ms-w32.h: Don't define HAVE_TZNAME. + + * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows. + +2007-06-07 YAMAMOTO Mitsuharu + + * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT. + + * macfns.c (mac_get_window_bounds): Move extern to macterm.h. + (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse. + + * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler): + Don't call next handler. + [TARGET_API_MAC_CARBON] (install_menu_target_item_handler): + Remove argument. Install handler to application. + (set_frame_menubar): Don't change deep_p. + (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and + FRAME_OUTER_TO_INNER_DIFF_Y. + (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P) + (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID) + [HAVE_DIALOGS]: New macros. + [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog): + Use them. + (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString. + + * macselect.c [MAC_OSX] (install_service_handler): Rename from + init_service_handler. All callers changed. Return OSStatus value. + + * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort. + All callers changed so as not to call SetPortWindowPort. + (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw. + (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from + mac_draw_string_common. + (mac_draw_image_string_qd): Likewise. + (mac_draw_string_common): Use them. Add INLINE. + (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]: + Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and + GetGlobalMouse. + (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X + and FRAME_OUTER_TO_INNER_DIFF_Y. + [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise. + [USE_MAC_TSM] (mac_handle_text_input_event): Likewise. + (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for + repositioning window to mac_handle_window_event. + (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for + saving window location to mac_handle_window_event + [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here. + (install_menu_target_item_handler): Remove argument in extern. + [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers): + Also accept command events. + (do_keystroke): New function created from XTread_socket. + (init_command_handler): Remove functions. + [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window + and save window location by kEventWindowShowing and kEventWindowHiding + handlers here. Don't call next handler for window state change and + focus events. + (mac_handle_application_event, mac_handle_keyboard_event) + [TARGET_API_MAC_CARBON]: New functions. + (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for + kEventWindowShowing and kEventWindowHiding events. Move installation + of mouse, font, text input and menu target item handlers to + install_application_handler. + (install_application_handler) [TARGET_API_MAC_CARBON]: New function. + (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: + New function. + (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: + Register it. + (XTread_socket) [TARGET_API_MAC_CARBON]: + Consolidate SendEventToEventTarget calls. + Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y. + Move application activation handler to mac_handle_application_event. + Move keyboard handler to mac_handle_keyboard_event. + (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke. + (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call + init_command_handler. Call install_application_handler. + + * macterm.h (mac_get_window_bounds): Move extern from macfns.c. + (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros. + +2007-06-07 Glenn Morris + + * emacs.c (main): Use `emacs-copyright' in --version output. + +2007-06-06 Chong Yidong + + * image.c (xpm_load): Remove spurious call to xpm_init_color_cache. + +2007-06-06 YAMAMOTO Mitsuharu + + * macfns.c (mac_window): Replace WindowPtr with WindowRef. + + * macgui.h: Replace WindowPtr with WindowRef. + + * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and + GetMenuRef, respectively. Replace WindowPtr with WindowRef. + Replace ControlHandle with ControlRef. + (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU. + + * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and + GetMenuRef, respectively. Replace WindowPtr with WindowRef. + Replace ControlHandle with ControlRef. + (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead. + [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'. + + * macterm.h (struct scroll_bar): Rename member control_handle_low + and control_handle_high to control_ref_low and control_ref_high. + All uses changed. + (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from + SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE, + respectively. All uses changed. + (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground) + (install_window_handler, remove_window_handler): Replace WindowPtr + with WindowRef in externs. + +2007-06-05 Juanma Barranquero + + * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops. + +2007-06-03 Nick Roberts + + * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case. + + * frame.c (Fmouse_position, Fmouse_pixel_position): + Condition on HAVE_GPM too. + + * term.c (term_mouse_highlight): Remove unused variables. + (Fterm_open_connection): Set gpm_zerobased to 1. + (term_mouse_movement, term_mouse_click, handle_one_term_event): + Use zero based co-ordinates. + (handle_one_term_event): Report a drag as mouse movement too. + + * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM. + +2007-06-03 Chong Yidong + + * image.c (search_image_cache): New function. Require background + color match if background color is unspecified in the image spec. + (uncache_image, lookup_image): Use it. + +2007-06-01 Juanma Barranquero + + * window.c (Fshrink_window): Reflow docstring. + +2007-06-02 Chong Yidong + + * Version 22.1 released. + +2007-06-01 Richard Stallman + + * xfns.c (x_encode_text): Add GCPRO. + +2007-06-01 YAMAMOTO Mitsuharu + + * xfns.c (x_set_name_internal): Save encoded name before + x_encode_text in case string data is relocated. + +2007-05-31 Richard Stallman + + * buffer.c (syms_of_buffer): Doc fix. + +2007-05-30 Nick Roberts + + * sysdep.c (init_sys_modes): Add rather than replace with + O_NONBLOCK. + + * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to + term_mouse_moveto. + + * termhooks.h (term_mouse_moveto): New extern. + + * term.c (mouse_face_window): Rename... + (Qmouse_face_window): ...to this. + (term_show_mouse_face, term_clear_mouse_face) + (term_mouse_highlight): Use Qmouse_face_window. + (term_mouse_moveto): New function. + (term_mouse_position): Make it work. + (syms_of_term): Uncomment assignment to mouse_position_hook. + Staticpro Qmouse_face_window. + +2007-05-28 YAMAMOTO Mitsuharu + + * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t + around current_column call. + +2007-05-26 Dan Nicolaescu + + * xfaces.c (syms_of_xfaces): Delete stray semicolon. + * xdisp.c (next_element_from_buffer): + * window.c (delete_window): + * term.c (term_mouse_highlight): + * msdos.c (getdefdir): + * macterm.c (mac_create_bitmap_from_bitmap_data) + (init_font_name_table): + * fns.c (Fsxhash): + * data.c (Fmake_local_variable): + * ccl.c (ccl_driver): Likewise. + +2007-05-24 YAMAMOTO Mitsuharu + + * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event): + Call mac_wakeup_from_rne on window size change. + +2007-05-25 Chong Yidong + + * image.c (uncache_image): Fix typo. + +2007-05-23 Johannes Weiner (tiny change) + + * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too. + +2007-05-22 Richard Stallman + + * xterm.c (x_connection_closed): Remove NO_RETURN. + +2007-05-22 Martin Rudalics + + * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD. + +2007-05-21 Chong Yidong + + * image.c (uncache_image): New function. + (Fimage_refresh): New function. + +2007-05-20 Jan Djärv + + * Makefile.in: Move GPM check outside HAVE_X_WINDOWS. + +2007-05-20 Nick Roberts + + * config.in, keyboard.c, Makefile.in, sysdep.c, term.c, + * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H. + +2007-05-20 Nick Roberts + + * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT + conditional on [HAVE_GPM_H]. + +2007-05-19 Stefan Monnier + + * syntax.c (skip_chars): Update syntax-table only after we checked that + the new location is valid. + +2007-05-19 YAMAMOTO Mitsuharu + + * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around + mac_get_window_bounds. + +2007-05-20 Nick Roberts + + * Makefile.in (LIBGPM): Allow it to be set from configure. + If set then link Emacs with it. + + * config.in: Regenerate. + + * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor): + New externs. + + * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT. + Include gpm.h. + (handle_one_term_event, term_gpm): New externs. + + * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking + and allow it to be interrupted by SIGIO. + + * process.c (gpm_wait_mask, max_gpm_desc): New variables. + (wait_reading_process_output): Wait on gpm_fd too. + (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions. + (add_gpm_wait_descriptor_called_flag): New variable. + (delete_keyboard_wait_descriptor): Check gpm_wait_mask. + + * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message) + (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved) + (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard): + Extend HAVE_MOUSE ifdefs to HAVE_GPM_H. + (make_lispy_event): Add case GPM_CLICK_EVENT. + (read_avail_input): Handle mouse input. + + * term.c (write_glyphs_with_face): New function. + [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h. + (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row) + (mouse_face_end_col, mouse_face_past_end, mouse_face_window) + (mouse_face_face_id, term_gpm, pos_x, pos_y) + (last_mouse_x, last_mouse_y): New variables. + (term_show_mouse_face, term_clear_mouse_face, fast_find_position) + (term_mouse_highlight, term_mouse_movement, term_mouse_position) + (term_mouse_click, handle_one_term_event, Fterm_open_connection) + (Fterm_close_connection): New functions. + (term_init): Initialise mouse_face_window. + +2007-05-19 Chong Yidong + + * xdisp.c (redisplay_window): If first window line is a + continuation line, recompute the new window start instead of + recentering. + +2007-05-18 Glenn Morris + + * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD. + Suggested by Alfred M. Szmidt . + +2007-05-17 Glenn Morris + + * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD. + +2007-05-16 YAMAMOTO Mitsuharu + + * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert + dead key repeat and up events. + +2007-05-14 Chong Yidong + + * image.c (pbm_load): Check image size for monochrome pbm. + +2007-05-13 Chong Yidong + + * xterm.c (XTread_socket): Revert last change. + +2007-05-12 Chong Yidong + + * image.c (pbm_load): Correctly check image size for greyscale pbm. + + * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC). + +2007-05-07 Stefan Monnier + + * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object + mixup (YAILOM). + +2007-05-07 Andreas Schwab + + * keymap.c (Flookup_key): Fix typo in last change. + +2007-05-07 Stefan Monnier + + * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier + mapping for unibyte strings. + +2007-05-01 YAMAMOTO Mitsuharu + + * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c. + (Fx_popup_dialog) [MAC_OSX]: Likewise. + +2007-04-29 Richard Stallman + + * insdel.c (replace_range): For undo, record insertion first. + +2007-04-29 Andreas Schwab + + * lisp.h (VECSIZE): Use OFFSETOF. + +2007-04-29 YAMAMOTO Mitsuharu + + * xdisp.c (try_window_reusing_current_matrix): Fix number of + disabled lines. + +2007-04-28 Richard Stallman + + * lread.c (read_escape): In a string, \s is always space. + +2007-04-27 Jan Djärv + + * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog. + + * gtkutil.c (xg_update_menubar, create_menus): Create empty + submenu for menu bar items. + +See ChangeLog.10 for earlier changes. + +;; Local Variables: +;; coding: utf-8 +;; End: + + Copyright (C) 2007-2011 Free Software Foundation, Inc. + + This file is part of GNU Emacs. + + GNU Emacs is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + GNU Emacs is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNU Emacs. If not, see . -- cgit v1.2.1