(Fserial_process_configure, Fprocess_send_eof):
[bpt/emacs.git] / src / ChangeLog
index ab9fbb7..bd8dd30 100644 (file)
+2008-06-13  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * process.c (Fserial_process_configure, Fprocess_send_eof):
+       Use EQ to compare Lisp_Objects.
+
+2008-06-13  Jason Rumney  <jasonr@gnu.org>
+
+       * 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  <lekktu@gmail.com>
+
+       * font.c (syms_of_font) <font-weight-table, font-slant-table>:
+       <font-width-table>: Fix typos in docstrings.
+
+2008-06-13  Daniel Engeler  <engeler@gmail.com>
+
+       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  <handa@m17n.org>
+
+       * 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  <emanuele.giaquinta@gmail.com>  (tiny change)
+
+       * lread.c (Fload): Use xfree, not free on saved_doc_string.
+
+2008-06-12  Jim Meyering  <meyering@redhat.com>
+
+       Make unexec_free handle NULL the same way free does.
+       * unexmacosx.c (unexec_free): Ignore a NULL argument.
+
+2008-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * 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  <cyd@stupidchicken.com>
+
+       * xfns.c (Fx_select_font): Rename from x-font-dialog.
+
+2008-06-12  Juanma Barranquero  <lekktu@gmail.com>
+
+       * w32font.c: Include ctype.h.
+
+2008-06-11  Jason Rumney  <jasonr@gnu.org>
+
+       * 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  <monnier@iro.umontreal.ca>
+
+       * buffer.c (clone_per_buffer_values): Skip `name'.
+
+2008-06-11  Chong Yidong  <cyd@stupidchicken.com>
+
+       * font.c (font_parse_fcname): Fix last change; accept decimal
+       points in font size.
+
+2008-06-10  Jason Rumney  <jasonr@gnu.org>
+
+       * w32uniscribe.c (add_opentype_font_name_to_list):
+       Skip non unicode fonts.
+
+2008-06-10  Chong Yidong  <cyd@stupidchicken.com>
+
+       * 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  <monnier@iro.umontreal.ca>
+
+       * 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  <david@harpegolden.net>  (tiny change)
+
+       * 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  <cyd@stupidchicken.com>
+
+       * font.c (font_parse_fcname): Accept GTK-style font names too.
+
+2008-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <lekktu@gmail.com>
+
+       * w32menu.c (digest_single_submenu): Declare extern.
+
+2008-06-09  Jason Rumney  <jasonr@gnu.org>
+
+       * 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  <jasonr@gnu.org>
+
+       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  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * .gdbinit (xfont): New command.
+
+2008-06-08  Andreas Schwab  <schwab@suse.de>
+
+       * 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  <cyd@stupidchicken.com>
+
+       * 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  <monnier@iro.umontreal.ca>
+
+       * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
+
+2008-06-06  Miles Bader  <miles@gnu.org>
+
+       * xdisp.c (x_produce_glyphs): Calculate tab width based on current
+       face, not frame default.
+
+2008-06-05  Martin Rudalics  <rudalics@gmx.at>
+
+       * 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  <monnier@iro.umontreal.ca>
+
+       * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
+
+2008-06-05  Kenichi Handa  <handa@m17n.org>
+
+       * coding.c (detect_coding): Fix previous change.
+       (detect_coding_system): Likewise.
+
+2008-06-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <monnier@iro.umontreal.ca>
+
+       * 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  <lekktu@gmail.com>
+
+       * 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  <lekktu@gmail.com>
+
+       * window.c (Fset_window_parameter): Doc fix.
+       (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
+
+2008-06-04  Joakim Verona  <joakim@verona.se>
+
+       * 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  <jpw@pobox.com>
+
+       * eval.c (Fdefmacro): Doc fix.
+
+2008-06-04  Kenichi Handa  <handa@m17n.org>
+
+       * 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  <schwab@suse.de>
+
+       * font.c (font_prop_validate_spacing): Fix last change.
+
+2008-06-03  Kenichi Handa  <handa@m17n.org>
+
+       * 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  <coldwell@redhat.com>
+
+       * font.c (font_pixel_size): Don't take cdr of an integer.
+
+2008-06-02  Jim Meyering  <meyering@redhat.com>
+
+       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  <handa@m17n.org>
+
+       * 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  <jasonr@gnu.org>
+
+       * 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  <dann@ics.uci.edu>
+
+       * 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  <miles@gnu.org>
+
+       * 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  <lekktu@gmail.com>
+
+       * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
+       (Fremove_text_properties): Fix typos in docstrings.
+
+2008-05-31  Kenichi Handa  <handa@m17n.org>
+
+       * 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  <monnier@iro.umontreal.ca>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <monnier@iro.umontreal.ca>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <handa@m17n.org>
+
+       * 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  <monnier@iro.umontreal.ca>
+
+       * 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  <jasonr@gnu.org>
+
+       * 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  <lekktu@gmail.com>
+
+       * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
+       Fix typos in docstrings.
+
 2008-05-29  Kenichi Handa  <handa@m17n.org>
 
        * xfaces.c (Fx_list_fonts): Make it return a list of font names.
+       (Fx_family_fonts): Set frame correctly.
 
 2008-05-28  Jason Rumney  <jasonr@gnu.org>
 
-        * w32term.c (x_draw_glyph_string): Use clipmask if specified.
+       * w32term.c (x_draw_glyph_string): Use clipmask if specified.
 
 2008-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        (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.
+       (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
 
        * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
 
-       * xfont.c (xfont_list_pattern): Free names returned from
-       XListFonts.
+       * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
 
 2008-05-22  Jason Rumney  <jasonr@gnu.org>
 
        * font.c: Don't include strings.h.
 
-       * dispextern.h, xfaces.c (xstrcasecmp): Renamed from xstricmp.
+       * 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:
 
        * Makefile.in (FONTSRC): Delete it.  Change all $(FONTSRC) to
        font.h through out the file.
-       (FONT_DRIVERS): Renamed from FONTOBJ.
+       (FONT_DRIVERS): Rename from FONTOBJ.
        (obj): Change $(FONTOBJ) to $(FONT_DRIVERS).  Add font.o.
        (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
 
 
        * font.h (find_font_encoding): Extern it.
 
-       * font.c (Vfont_encoding_alist, find_font_encoding): Moved from
+       * 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,
        (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): Moved to
-       font.c.
-       (syms_of_fontset): Declaration of font-encoding-alist moved to
-       font.c.
+       * 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)
 
        * ftfont.c (cs_iso8859_1): Delete.
        (ft_face_cache): New variable.
-       (struct ftfont_info): New member fc_charset_idx;
+       (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
        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.
+       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.
+       (x_draw_glyph_string): Use underline position and thickness from font.
 
        * w32uniscribe.c (uniscribe_open): Pass font_object to
        w32font_open_internal.
        (font_family_alist): Delete it.
        (Qnormal): Extern it.
        (QCextra, QClanguage): Delete it.
-       (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
+       (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
        (font_make_spec, font_make_entity, font_make_object)
        (font_intern_prop): Renamed from intern_downcase.  Don't downcase
        the string.  Callers changed.
        (x_window): Reparent frame if embedded.
        (Fx_create_frame): Don't set border width if embedded.
 
-       * emacs.c (USAGE3): Add --parent-id
+       * emacs.c (USAGE3): Add --parent-id.
        (standard_args): Ditto.
 
 2008-02-07  Jan Djärv  <jan.h.d@swipnet.se>
        (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.s
+       (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.
 
        GetGlyphOutline.  Never look up by glyph index.  Avoid looping
        twice.  Use unicode version of GetTexExtentPoint32 instead of
        glyph index version.
-       (set_fonts_frame): Remove
+       (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
        first component of a composition.
        (x_produce_glyphs): Check if the font is changed or not for composition.
 
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       (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  <handa@m17n.org>
 
        * fontset.c (Qlatin): New variable.
        * emacs.c (main): Call init_charset after syms_of_XXX.
 
        * charset.c (Vcharset_map_directory): Delete.
-       (Vcharset_map_path): New variable
+       (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",
        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.n
+       (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.
 
 2008-02-01  Kenichi Handa  <handa@m17n.org>
 
-       * fontset.c (fontset_face): Create a fallback fontset on demand
+       * 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.
        (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
+       (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.
        * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
        (charset_jisx0208): Extern them.
 
-       * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro
+       * 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.
 2007-12-30  Michael Albinus  <michael.albinus@gmx.de>
 
        * dbusbind.c: Fix several errors and compiler warnings.
-       Reported by Tom Tromey <tromey@redhat.com>
+       Reported by Tom Tromey <tromey@redhat.com>.
        (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 rewitten.
 
        * frame.h (enum): Remove trailing comma.
 
-2007-10-08  Dhuvra Krishnamurthy  <dhuvrakm@gmail.com>  (tiny change)
+2007-10-08  Dhruva Krishnamurthy  <dhruvakm@gmail.com>  (tiny change)
 
        * w32proc.c (delete_child): Don't terminate threads of zombies.
 
        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
+       background_pixel and terminal.  Delete kboard.
        (union output_data): Add tty.
        (FRAME_KBOARD): Get the kboard from the terminal.
        (FRAME_INITIAL_P): New macro.
        (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'.
        * 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
+       (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.