# HG changeset patch # User Eli Zaretskii # Date 1224353257 0 # Node ID 1fed5aa62c344b04716abe541d24388aca4f6b17 # Parent 4c36d8b3b76697ee387ccca827cf3ad1f69df6dd *** empty log message *** diff -r 4c36d8b3b766 -r 1fed5aa62c34 src/ChangeLog --- a/src/ChangeLog Sat Oct 18 18:07:09 2008 +0000 +++ b/src/ChangeLog Sat Oct 18 18:07:37 2008 +0000 @@ -1,15818 +1,15822 @@ -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): Moved 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): Use x_display_pixel_height and - x_display_pixel_width. - - * frame.c (x_fullscreen_adjust): Use x_display_pixel_height and - x_display_pixel_width. - - * 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_Oject - 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 of the - representative chars of the script is a vector. - (ftfont_list): Handle the case 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_Oject mixup. - -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 compostion_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): These macros moved to composite.h. - (enum lglyph_indices): Likewise. - (font_range): Extern adjusted. - (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): Renamed to Ffont_shape_gstring and arguments - changed. - (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): Adjusted for the change of - struct glyph_string. - - * term.c (encode_terminal_code): Adjusted for the change of struct - glyph. - (append_composite_glyph): Adjusted for the change of struct it and - struct glyph. - (produce_composite_glyph): Likewise. - - * w32term.c (x_draw_composite_glyph_string_foreground): Adjusted - 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): Adjusted 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): Adjusted 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): Adjusted for the change of struct - it. Update it->cmp_it. - (dump_glyph): Adjusted for the change of struct glyph. - (fill_composite_glyph_string): Adjusted 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): Adjusted 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): Adjusted for the change of struct it and - struct glyph. - (x_produce_glyphs): Adjusted for the change of struct it. - - * xterm.c (x_draw_composite_glyph_string_foreground): Adjusted 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. All callers - changed. - (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): Renamed from display_info. All users in - msdos.c changed. - (struct x_output): Remove background_pixel and foreground_pixel. - (the_only_display_info): Renamed 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. - * nsselection.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 - - (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): Deleted. - (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_cahrset_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/hpux-10.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 (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 - - * 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): Moved 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): Moved 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): Moved 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): Renamed from intern_downcase. Don't downcase - the string. Callers changed. - (font_pixel_size): Adjusted 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): Adjusted 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): Adjusted 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): Renamed from font_merge_old_spec. - (otf_open): Delete the 1st arg entity. - (font_otf_capability): Adjusted 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): Adjusted 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): Adjusted 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): Adjusted for the change of font-related objects. - (font_range): New function. - (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts) - (Ffont_xlfd_name): Adjusted for the change of font-related objects. - (Fcopy_font_spec, Fmerge_font_spec): New function. - (Ffont_family_list): Renamed 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): Adjusted 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): Moved 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): Deleted. - (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): Deleted. - (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): Adjusted 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): Deleted. - (fontset_from_font): Renamed from new_fontset_from_font. Check if - a fontset is already created for the font. FIx updating of - Vfontset_alias_alist. - (fontset_ascii_font): Deleted. - (Ffont_info): Adjusted 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): Adjusted 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): Deleted. - (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): Adjusted 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): Adjusted 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): Adjusted for the change of `struct - face' and `struct glyph_string'. - (fill_glyph_string): Likewise. - (get_per_char_metric): Arguments changed. - (x_get_glyph_overhangs): Adjusted 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): - Deleted. - (struct font_name): Deleted. - (xlfd_numeric_value, xlfd_symbolic_value): Deleted. - (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): - Deleted. - (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): - Deleted. - (Fx_list_fonts): Use Ffont_list. - (LFACE_AVGWIDTH): Deleted. - (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): Renamed 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): Deleted. - (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): Deleted. - (xfont_find_ccl_program): Renamed from x_find_ccl_program and - moved from xterm.c. - (xfont_driver): Adjusted 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): Adjusted for the change of struct font. - (xfont_done_face): Deleted. - (xfont_has_char): Adjusted for the change of struct font. - (xfont_encode_char, xfont_draw): Likewise. - (xfont_check): New function. - - * xftfont.c (xftfont_list): Adjusted for the change of `list' - callback function. - (xftfont_match): Adjusted for the format change of font-entity. - (xftfont_open): Adjusted 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): Deleted. - (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont. - (x_compute_glyph_string_overhangs): Adjusted 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): Renamed from x_new_fontset2. - (x_new_fontset, x_get_font_info, x_list_fonts): Deleted. - (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): Deleted. - (x_find_ccl_program): Renamed and moved to xfont.c. - (x_redisplay_interface): Adjusted 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): - Adjusted 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): Adjusted for the format change of font-entity. - (w32_weight_table, w32_decode_weight): New variables. - (w32_encode_weight): New function. - (fill_in_logfont): Adjusted for the format change of font-spec. - (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol - weight value. - (w32font_driver): Adjusted 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): Adjusted 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): Adjusted for the change of struct font. - (add_opentype_font_name_to_list): Don't downcase names. - (uniscribe_font_driver): Adjusted 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 revision 1.1 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 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-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 (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): Renamed from xg_resize_widgets. - - * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or - set_char_size. - (xg_frame_resized): Renamed 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_Oject 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 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): Initalize 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): Initalize `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): Adjusted 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): Changed 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 charcter 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_CAHR, 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 intead 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): Deleted 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 -;; add-log-time-zone-rule: t -;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s" -;; End: - - Copyright (C) 2007, 2008 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 . - -;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40 +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): Moved 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): Use x_display_pixel_height and + x_display_pixel_width. + + * frame.c (x_fullscreen_adjust): Use x_display_pixel_height and + x_display_pixel_width. + + * 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_Oject + 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 of the + representative chars of the script is a vector. + (ftfont_list): Handle the case 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_Oject mixup. + +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 compostion_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): These macros moved to composite.h. + (enum lglyph_indices): Likewise. + (font_range): Extern adjusted. + (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): Renamed to Ffont_shape_gstring and arguments + changed. + (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): Adjusted for the change of + struct glyph_string. + + * term.c (encode_terminal_code): Adjusted for the change of struct + glyph. + (append_composite_glyph): Adjusted for the change of struct it and + struct glyph. + (produce_composite_glyph): Likewise. + + * w32term.c (x_draw_composite_glyph_string_foreground): Adjusted + 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): Adjusted 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): Adjusted 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): Adjusted for the change of struct + it. Update it->cmp_it. + (dump_glyph): Adjusted for the change of struct glyph. + (fill_composite_glyph_string): Adjusted 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): Adjusted 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): Adjusted for the change of struct it and + struct glyph. + (x_produce_glyphs): Adjusted for the change of struct it. + + * xterm.c (x_draw_composite_glyph_string_foreground): Adjusted 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. All callers + changed. + (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): Renamed from display_info. All users in + msdos.c changed. + (struct x_output): Remove background_pixel and foreground_pixel. + (the_only_display_info): Renamed 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. + * nsselection.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 + + (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): Deleted. + (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_cahrset_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/hpux-10.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 (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 + + * 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): Moved 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): Moved 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): Moved 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): Renamed from intern_downcase. Don't downcase + the string. Callers changed. + (font_pixel_size): Adjusted 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): Adjusted 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): Adjusted 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): Renamed from font_merge_old_spec. + (otf_open): Delete the 1st arg entity. + (font_otf_capability): Adjusted 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): Adjusted 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): Adjusted 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): Adjusted for the change of font-related objects. + (font_range): New function. + (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts) + (Ffont_xlfd_name): Adjusted for the change of font-related objects. + (Fcopy_font_spec, Fmerge_font_spec): New function. + (Ffont_family_list): Renamed 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): Adjusted 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): Moved 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): Deleted. + (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): Deleted. + (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): Adjusted 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): Deleted. + (fontset_from_font): Renamed from new_fontset_from_font. Check if + a fontset is already created for the font. FIx updating of + Vfontset_alias_alist. + (fontset_ascii_font): Deleted. + (Ffont_info): Adjusted 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): Adjusted 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): Deleted. + (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): Adjusted 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): Adjusted 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): Adjusted for the change of `struct + face' and `struct glyph_string'. + (fill_glyph_string): Likewise. + (get_per_char_metric): Arguments changed. + (x_get_glyph_overhangs): Adjusted 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): + Deleted. + (struct font_name): Deleted. + (xlfd_numeric_value, xlfd_symbolic_value): Deleted. + (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): + Deleted. + (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): + Deleted. + (Fx_list_fonts): Use Ffont_list. + (LFACE_AVGWIDTH): Deleted. + (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): Renamed 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): Deleted. + (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): Deleted. + (xfont_find_ccl_program): Renamed from x_find_ccl_program and + moved from xterm.c. + (xfont_driver): Adjusted 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): Adjusted for the change of struct font. + (xfont_done_face): Deleted. + (xfont_has_char): Adjusted for the change of struct font. + (xfont_encode_char, xfont_draw): Likewise. + (xfont_check): New function. + + * xftfont.c (xftfont_list): Adjusted for the change of `list' + callback function. + (xftfont_match): Adjusted for the format change of font-entity. + (xftfont_open): Adjusted 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): Deleted. + (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont. + (x_compute_glyph_string_overhangs): Adjusted 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): Renamed from x_new_fontset2. + (x_new_fontset, x_get_font_info, x_list_fonts): Deleted. + (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): Deleted. + (x_find_ccl_program): Renamed and moved to xfont.c. + (x_redisplay_interface): Adjusted 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): + Adjusted 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): Adjusted for the format change of font-entity. + (w32_weight_table, w32_decode_weight): New variables. + (w32_encode_weight): New function. + (fill_in_logfont): Adjusted for the format change of font-spec. + (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol + weight value. + (w32font_driver): Adjusted 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): Adjusted 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): Adjusted for the change of struct font. + (add_opentype_font_name_to_list): Don't downcase names. + (uniscribe_font_driver): Adjusted 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 revision 1.1 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 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-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 (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): Renamed from xg_resize_widgets. + + * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or + set_char_size. + (xg_frame_resized): Renamed 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_Oject 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 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): Initalize 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): Initalize `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): Adjusted 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): Changed 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 charcter 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_CAHR, 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 intead 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): Deleted 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 +;; add-log-time-zone-rule: t +;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s" +;; End: + + Copyright (C) 2007, 2008 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 . + +;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40