From: Glenn Morris Date: Sun, 6 Nov 2011 23:38:01 +0000 (-0800) Subject: Merge from emacs-23; up to 2010-06-22T07:41:10Z!rgm@gnu.org X-Git-Tag: emacs-pretest-24.0.92~218^2 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a64bfdfa5a90731b804c057f2bcc74a8ba02937c;p=emacs.git Merge from emacs-23; up to 2010-06-22T07:41:10Z!rgm@gnu.org --- a64bfdfa5a90731b804c057f2bcc74a8ba02937c diff --cc src/ChangeLog index 4074ee4e924,d006f58b8b6..f174eeff623 --- a/src/ChangeLog +++ b/src/ChangeLog @@@ -1,8318 -1,22973 +1,8324 @@@ -2011-10-31 YAMAMOTO Mitsuharu ++2011-11-06 YAMAMOTO Mitsuharu + + * xmenu.c (cleanup_widget_value_tree): New function. + (xmenu_show, xdialog_show): Use it in record_unwind_protect instead of + calling free_menubar_widget_value_tree directly (Bug#9830). + -2011-09-19 Andreas Schwab +2011-11-06 Paul Eggert + + Fix some portability problems with 'inline'. + * dispextern.h (window_box, window_box_height, window_text_bottom_y) + (window_box_width, window_box_left, window_box_left_offset) + (window_box_right, window_box_right_offset): Declare extern. + Otherwise, these inline functions do not conform to C99 and + are miscompiled by Microsoft compilers. Reported by Eli Zaretskii in + . + * intervals.c (adjust_intervals_for_insertion) + (adjust_intervals_for_deletion): Now extern, because otherwise the + extern inline functions 'offset_intervals' couldn't refer to it. + (static_offset_intervals): Remove. + (offset_intervals): Rewrite using the old contents of + static_offset_intervals. The old version didn't conform to C99 + because an extern inline function contained a reference to an + identifier with static linkage. + +2011-11-06 Andreas Schwab + + * keyboard.c (interrupt_signal): Don't call kill-emacs while in + GC. + +2011-11-06 Eli Zaretskii + + * xdisp.c (init_iterator, reseat_to_string): Don't set the + iterator's bidi_p flag if Vpurify_flag is non-nil. (Bug#9963) + (Fcurrent_bidi_paragraph_direction): If Vpurify_flag is non-nil, + return Qleft_to_right. - * keymap.c (Fsingle_key_description): Use make_specified_string - instead of build_string to build string from push_key_description. - (Bug#5193) - -2011-09-10 YAMAMOTO Mitsuharu - - * xdisp.c (expose_window): Save original value of phys_cursor_on_p - and turn window cursor on if cleared (Bug#9415). - -2011-09-07 Andreas Schwab - - * search.c (boyer_moore): Take unibyte characters from pattern - literally. (Bug#9458) - -2011-08-30 Chong Yidong - - * syntax.c (find_defun_start): Update all cache variables if - exiting early (Bug#9401). - -2011-08-19 Andreas Schwab - - * keyboard.c: Include "process.h" - -2011-07-28 Eli Zaretskii - - * xfaces.c (update_face_from_frame_parameter): Move out of - HAVE_WINDOW_SYSTEM portion. Condition window-system only parts - with HAVE_WINDOW_SYSTEM. - -2011-07-26 Andreas Schwab - - * fontset.c (fontset_get_font_group): Add proper type checks. - (Bug#9172) - -2011-07-23 YAMAMOTO Mitsuharu - - * unexmacosx.c (print_load_command_name): Add cases LC_FUNCTION_STARTS - and LC_VERSION_MIN_MACOSX. - (copy_linkedit_data) [LC_FUNCTION_STARTS]: New function. - (dump_it) [LC_FUNCTION_STARTS]: Use it. - -2011-07-22 Chong Yidong - - * frame.c (Fmodify_frame_parameters): In tty case, update the - default face if necessary (Bug#4238). - -2011-07-11 YAMAMOTO Mitsuharu - - * s/darwin.h (LD_SWITCH_SYSTEM_TEMACS): Add -fno-pie so as to suppress - address randomization (Bug#8395). - -2011-07-07 Kenichi Handa - - * composite.c (composition_compute_stop_pos): Ignore a static - composition starting before CHARPOS (Bug#8915). - - * xdisp.c (handle_composition_prop): Likewise. - -2011-06-18 YAMAMOTO Mitsuharu - - * dispnew.c (scrolling_window): Before scrolling, turn off a - mouse-highlight in the window being scrolled. - -2011-06-16 Paul Eggert - - * nsmenu.m: Replace all uses of XVECTOR with ASIZE and AREF. (Bug#8839) - -2011-06-02 Dan Nicolaescu - - * emacs.c (main): Warn when starting a GTK emacs in daemon mode. - -2011-06-01 YAMAMOTO Mitsuharu - - * fringe.c (update_window_fringes): Don't update overlay arrow bitmap - in the current matrix if keep_current_p is non-zero. - -2011-05-25 YAMAMOTO Mitsuharu - - * dispextern.h (struct glyph_row): New member fringe_bitmap_periodic_p. - - * dispnew.c (shift_glyph_matrix, scrolling_window): Mark scrolled row - for fringe update if it has periodic bitmap. - (row_equal_p): Also compare left_fringe_offset, right_fringe_offset, - and fringe_bitmap_periodic_p. - - * fringe.c (get_fringe_bitmap_data): New function. - (draw_fringe_bitmap_1, update_window_fringes): Use it. - (update_window_fringes): Record periodicity of fringe bitmap in glyph - row. Mark glyph row for fringe update if periodicity changed. - - * xdisp.c (try_window_reusing_current_matrix): Don't mark scrolled row - for fringe update unless it has periodic bitmap. - -2011-05-25 Kenichi Handa - - * xdisp.c (get_next_display_element): Set correct it->face_id for - a static composition. - -2011-05-21 YAMAMOTO Mitsuharu - - * dispnew.c (scrolling_window): Don't exclude the case that the - last enabled row in the desired matrix touches the bottom boundary. - -2011-05-11 Drew Adams - - * textprop.c (Fprevious_single_char_property_change): Doc fix (bug#8655). - -2011-05-11 YAMAMOTO Mitsuharu - - * w32term.c (w32_draw_fringe_bitmap): Rename local vars `left' and - `width' to `bar_area_x' and `bar_area_width', respectively. - (x_scroll_run): Take account of fringe background extension. - - * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]: Rename - local vars `left' and `width' to `bar_area_x' and - `bar_area_width', respectively. - (x_scroll_run) [USE_TOOLKIT_SCROLL_BARS]: Take account of fringe - background extension. - -2011-05-09 Andreas Schwab - - * xmenu.c (set_frame_menubar): Fix submenu loops. - -2011-05-09 Eli Zaretskii - - Backport revisions 103939.1.41..103939.1.44 (inclusive) from trunk. - (bug#8623) - The next log entry shows the actual changes by Paul Eggert. - -2011-05-08 Paul Eggert - - Fix a problem with aliasing and vector headers. - GCC 4.6.0 optimizes based on type-based alias analysis. For - example, if b is of type struct buffer * and v of type struct - Lisp_Vector *, then gcc -O2 was incorrectly assuming that &b->size - != &v->size, and therefore "v->size = 1; b->size = 2; return - v->size;" must therefore return 1. This assumption is incorrect - for Emacs, since it type-puns struct Lisp_Vector * with many other - types. To fix this problem, this patch adds a new type struct - vector_header that documents the constraints on layout of vectors - and pseudovectors, and helps optimizing compilers not get fooled - by Emacs's type punning. It also adds the macros XSETTYPED_PVECTYPE - XSETTYPED_PSEUDOVECTOR, TYPED_PSEUDOVECTORP, for similar reasons. - * lisp.h (XVECTOR_SIZE): New convenience macro. All previous uses of - XVECTOR (foo)->size replaced to use this macro, to avoid the hassle - of writing XVECTOR (foo)->header.size. - * lisp.h: Say "vectorlike header" rather than "vector header. - (struct vectorlike_header): Rename from struct vector_header. - (XVECTORLIKE_HEADER_SIZE): Renamed from XVECTOR_HEADER_SIZE. - All uses changed. - (XVECTOR_HEADER_SIZE): New macro, for use in XSETPSEUDOVECTOR. - (XSETTYPED_PVECTYPE): New macro, specifying the name of the size - member. - (XSETPVECTYPE): Rewrite in terms of new macro. - (XSETPVECTYPESIZE): New macro, specifying both type and size. - This is a bit clearer, and further avoids the possibility of - undesirable aliasing. - (XSETTYPED_PSEUDOVECTOR): New macro, specifying the size. - (XSETPSEUDOVECTOR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR - and XVECTOR_HEADER_SIZE. - (XSETSUBR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR and XSIZE, - since Lisp_Subr is a special case (no "next" field). - (ASIZE): Rewrite in terms of XVECTOR_SIZE. - (struct vector_header): New type. - (TYPED_PSEUDOVECTORP): New macro, also specifying the C type of the - object, to help avoid aliasing. - (PSEUDOVECTORP): Rewrite in terms of TYPED_PSEUDOVECTORP. - (SUBRP): Likewise, since Lisp_Subr is a special case. - - * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table): - (struct Lisp_Sub_Char_Table, struct Lisp_Bool_Vector): - (struct Lisp_Hash_Table): Combine first two members into a single - struct vector_header member. All uses of "size" and "next" members - changed to be "header.size" and "header.next". - * buffer.h (struct buffer): Likewise. - * font.h (struct font_spec, struct font_entity, struct font): Likewise. - * frame.h (struct frame): Likewise. - * process.h (struct Lisp_Process): Likewise. - * termhooks.h (struct terminal): Likewise. - * window.c (struct save_window_data, struct saved_window): Likewise. - * window.h (struct window): Likewise. - * alloc.c (allocate_buffer, Fmake_bool_vector, allocate_pseudovector): - Use XSETPVECTYPESIZE, not XSETPVECTYPE, to avoid aliasing problems. - * buffer.c (init_buffer_once): Likewise. - * lread.c (defsubr): Use XSETTYPED_PVECTYPE, since Lisp_Subr is a - special case. - * process.c (Fformat_network_address): Use local var for size, - for brevity. - * fns.c (vector): Remove; this old hack is no longer needed. - * bytecode.c (exec_byte_code): Don't use XVECTOR before CHECK_VECTOR. - -2011-04-29 Eli Zaretskii - - * w32heap.c (allocate_heap) [USE_LISP_UNION_TYPE || USE_LSB_TAG]: - New version that can reserve upto 2GB of heap space. - -2011-04-26 Chong Yidong - - * nsfns.m (Fns_read_file_name): Doc fix (Bug#8534). - -2011-04-18 Eli Zaretskii - - * s/ms-w32.h (localtime): Redirect to sys_localtime. - - * w32.c: Include . - (sys_localtime): New function. - -2011-04-13 Chong Yidong - - * xdisp.c (init_xdisp): Initialize echo_area_window (Bug#6451). - -2011-04-10 Samuel Thibault (tiny change) - - * sysdep.c (wait_for_termination): On GNU Hurd, kill returns -1 on - zombies (Bug#8467). - -2011-04-10 Chong Yidong - - * buffer.c (syms_of_buffer): Doc fix (Bug#6902). - -2011-04-08 Chong Yidong - - * ftfont.c (get_adstyle_property, ftfont_pattern_entity): Use - unsigned char, to match FcChar8 type definition. - - * xterm.c (handle_one_xevent): - * xmenu.c (create_and_show_popup_menu): - * xselect.c (x_decline_selection_request) - (x_reply_selection_request): Avoid type-punned deref of X events. - -2011-04-08 Samuel Thibault (tiny change) - - * term.c (init_tty): Fix incorrect ifdef placement (Bug#8450). - -2011-03-19 Christoph Scholtes - - * process.c (Fformat_network_address): Doc fix. - -2011-03-19 Chong Yidong - - * buffer.h (BUF_BEGV, BUF_BEGV_BYTE, BUF_ZV, BUF_ZV_BYTE, BUF_PT) - (BUF_PT_BYTE): Rewrite to handle indirect buffers (Bug#8219). - These macros can no longer be used for assignment. - - * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Assign - struct members directly, instead of using BUF_BEGV etc. - (record_buffer_markers, fetch_buffer_markers): New functions for - recording and fetching special buffer markers. - (set_buffer_internal_1, set_buffer_temp): Use them. - - * lread.c (unreadchar): Use SET_BUF_PT_BOTH. - - * insdel.c (adjust_point): Use SET_BUF_PT_BOTH. - - * intervals.c (temp_set_point_both): Use SET_BUF_PT_BOTH. - (get_local_map): Use SET_BUF_BEGV_BOTH and SET_BUF_ZV_BOTH. - - * xdisp.c (hscroll_window_tree): - (reconsider_clip_changes): Use PT instead of BUF_PT. - -2011-03-17 Juanma Barranquero - - * xfaces.c (Fx_load_color_file): - Read color file from absolute filename (bug#8250). - -2011-03-11 Juanma Barranquero - - Backport revno:103582 from trunk. - * w32xfns.c (select_palette): Check success of RealizePalette against - GDI_ERROR, not zero. - -2011-03-11 YAMAMOTO Mitsuharu - - * fringe.c (update_window_fringes): Remove unused variables. - - * unexmacosx.c (copy_data_segment): Also copy __got section. - (Bug#8223) - -2011-03-07 Chong Yidong - - * Version 23.3 released. - -2011-02-22 Kenichi Handa - - * font.c (font_open_entity): Be sure to set scaled_pixel_size. - (font_find_for_lface): Check if attrs[LFACE_HEIGHT_INDEX] is - integer. - -2011-02-19 Chong Yidong - - * Makefile.in (prefix-args${EXEEXT}): Compile with ALL_CFLAGS. - -2011-02-13 Eli Zaretskii - - * xdisp.c (redisplay_internal): Resynchronize `w' if the selected - window is changed inside calls to do_pending_window_change. - (Bug#8020) - -2011-02-12 Eli Zaretskii - - * terminal.c (create_terminal): Use default-keyboard-coding-system - and default-terminal-coding-system to initialize coding systems of - the new terminal. (Bug#7840) - -2011-02-09 Martin Rudalics - - * window.c (select_window): Check inhibit_point_swap argument when - deciding whether to return immediately. - -2011-02-08 Jan Djärv - - * nsterm.m (setFrame, initFrame): Make sure pixel_height doesn't become - zero (Bug#7348). - -2011-02-03 Glenn Morris - - * xfaces.c (Finternal_set_lisp_face_attribute): - Try to clarify some error messages. (Bug#2659) - -2011-02-02 Stefan Monnier - - * editfns.c (save_restriction_restore): Don't forget to invalidate the - current_column cache (bug#7946). - -2011-02-02 Kenichi Handa - - * ftfont.c (ftfont_open): Use FC_DUAL only when it is defined. - - * xftfont.c (xftfont_open): Likewise. - -2011-02-01 Andreas Schwab - - * window.c (Fselect_window): Add missing return value. - -2011-01-29 Andreas Schwab - - * image.c (DEF_IMGLIB_FN): Add parameter rettype, use it instead - of int. All uses adjusted. - (PNG_JMPBUF, png_load, jpeg_load, tiff_load, gif_load) - (svg_load_image): Remove casts. - -2011-01-29 Chong Yidong - - * image.c (fn_png_longjmp, fn_png_set_longjmp_fn): New png - function definitions for compiling with libpng-1.5. - (PNG_LONGJMP, PNG_JMPBUF): New macros for libpng-1.5. - (my_png_error, png_load): Use them. Suggested by Thomas Klausner - (Bug#7908). - -2011-01-28 Chong Yidong - - * m/intel386.h: Define NO_ARG_ARRAY. Suggested by Dan Nicolaescu. - -2011-01-27 Chong Yidong - - * font.c (font_parse_fcname): Require GTK-style font sizes to - occur at the end of the font string (Bug#7853). - -2011-01-26 Chong Yidong - - * font.c (font_parse_fcname): Fix typo in string length. - -2011-01-24 Stefan Monnier - - * xdisp.c (handle_fontified_prop): Be careful with font-lock changing - the buffer's point-max (bug#7876). - -2011-01-23 Chong Yidong - - * lisp.h (XPNTR): Obey DATA_SEG_BITS in all non-USE_LSB_TAG cases. - Remove unused HAVE_SHM branch (Bug#6811). - -2011-01-23 Peter O'Gorman (tiny change) - - * s/hpux11.h: Set CANNOT_DUMP on IA64 (Bug#6811). - -2011-01-22 Martin Rudalics - - * window.c (select_window): New function. - (Fselect_window): Call it. - (inhibit_point_swap): Variable deleted. - (Fset_window_configuration): Call select_window directly. - -2011-01-16 Stefan Monnier - - * image.c (syms_of_image): Don't access XSYMBOL's internals directly. - -2011-01-16 Eli Zaretskii - - * image.c (syms_of_image): Don't use SET_SYMBOL_VALUE. (Bug#7848) - -2011-01-15 Martin Rudalics - - * window.c (inhibit_point_swap): New variable. - (Fselect_window): If inhibit_point_swap is nonzero, avoid swapping - point this time. - (Fset_window_configuration): Set inhibit_point_swap to 1 instead - of setting selected_window to nil (Bug#7728). - -2011-01-12 Chong Yidong - - * config.in (TERMINFO): New definition. - - * s/netbsd.h: Use it to choose between terminfo and termcap - (Bug#7642). - -2011-01-03 Jan Djärv - - * coding.h (ENCODE_UTF_8): Remove "Used by ..." comment. - - * nsfns.m (ns_set_name_iconic): Remove. - (ns_get_screen): Don't assign integer to f. - (ns_set_name_internal): New function (Bug#7517). - (Vicon_title_format): Extern declare. - (ns_set_name): Call ns_set_name_internal. - (x_explicitly_set_name): Remove call to ns_set_name_iconic. - (x_implicitly_set_name): Ditto. - (x_set_title): Remove commet about EXPLICIT. Call ns_set_name_internal. - (ns_set_name_as_filename): Encode name with ENCODE_UTF_8. - Always use buffer name for title and buffer filename only for - RepresentedFilename. Handle bad UTF-8 in buffer name (Bug#7517). - -2011-01-03 Eli Zaretskii - - * image.c (png_jmpbuf): Remove definition. - (my_png_error, png_load): Don't use png_jmpbuf. - -2010-12-31 Eli Zaretskii - - * image.c : New variable. - (syms_of_image): Intern and staticpro it. Set its value to the - version of PNG library we were compiled with. - (my_png_error, png_load): Avoid GCC warnings about direct access - to png_ptr->jmpbuf. (Bug#7716) - (png_jmpbuf): New macro. - (my_png_error, png_load): Use it instead of #ifdef'ing according - to PNG_LIBPNG_VER_MAJOR and PNG_LIBPNG_VER_MINOR. - -2010-12-27 Stefan Monnier - - * .gdbinit (xgetptr): Fix the union+lsb case. - (xbacktrace): Fix the union case. - -2010-12-26 Stefan Monnier - - * window.c (Fmove_to_window_line): Avoid abort when called in a buffer - different from selected-window's. - -2010-12-25 Eli Zaretskii - - * keyboard.c (parse_menu_item): Prepend " " to the key sequence - equivalent of a menu item when the key sequence is given by the - `:keys' attribute. (Bug#7662) - - * xdisp.c (Fformat_mode_line): Doc fix: no need to state that only - the basic faces are supported. - -2010-12-24 Jan Djärv - - * xterm.c (x_check_fullscreen): Fix pixel/character mixup. - -2010-12-17 Eli Zaretskii - - * xdisp.c (Fformat_mode_line): Fix last change. - -2010-12-16 Chong Yidong - - * xdisp.c (Fformat_mode_line): Restrict the FACE argument to basic - faces (Bug#7587). - -2010-12-13 Eli Zaretskii - - * fileio.c (Fexpand_file_name): One more doc fix. - -2010-12-12 Eli Zaretskii - - * fileio.c (Fexpand_file_name): Doc fix. (Bug#7617) - -2010-12-11 Eli Zaretskii - - * w32fns.c (Fx_show_tip): Call try_window with last argument - TRY_WINDOW_IGNORE_FONTS_CHANGE. Delete the TODO ifdef: problem - solved. Round up the tip height to an integral multiple of the - frame's line height. Add FRAME_COLUMN_WIDTH to the tip width. - (Bug#7398) - - * xdisp.c (string_pos_nchars_ahead, c_string_pos) - (face_before_or_after_it_pos, next_element_from_string) - (next_element_from_c_string, produce_stretch_glyph): Remove unused - calculations of maximum string length before calling - string_char_and_length and STRING_CHAR_AND_LENGTH. - (string_char_and_length): Update commentary: MAXLEN is no longer - needed. - -2010-12-10 Jan Djärv - - * keyboard.c (kbd_buffer_get_event): Construct SAVE_SESSION_EVENT - as (Qsave_session arg). - - * xsmfns.c (smc_interact_CB): Set arg to Qnil. - (smc_die_CB): Make an event with arg Qt. - (Fhandle_save_session): If event has Qt as argument, - call Fkill_emacs (Bug#7552). - -2010-12-07 Jan Djärv - - * xsmfns.c (smc_die_CB): Call Fkill_emacs (Bug#7552). - -2010-12-06 Chong Yidong - - * dispextern.h (struct it): New member overlay_strings_charpos. - - * xdisp.c (next_overlay_string, load_overlay_strings): Record the - charpos where we computed n_overlay_strings. - (next_overlay_string): Load overlay strings at recorded position, - which may not be the same as the iterator's charpos (Bug#7016). - -2010-12-05 Jan Djärv - - * nsterm.m (ns_dumpglyphs_image): If drawing cursor, fill background - with cursor color and draw a rectangle around the image (Bug#7412). - -2010-12-05 Chong Yidong - - * xdisp.c (try_scrolling): Avoid infloop if the first line is - obscured due to a vscroll (Bug#7537). - -2010-12-02 Jan Djärv - - * nsterm.h (FRAME_NS_TOOLBAR_HEIGHT): Rename to FRAME_TOOLBAR_HEIGHT. - - * nsterm.m (x_set_window_size, windowWillResize, initFrameFromEmacs): - Use FRAME_TOOLBAR_HEIGHT. - (x_set_offset): Handle XNegative and YNegative in - f->size_hint_flags (Bug#7510). - -2010-11-25 Kenichi Handa - - * charset.c (emacs_mule_charset): Make it an array of charset ID; - i.e. integer. - (Fdefine_charset_internal): Adjusted for the above change. - (init_charset_once): Likewise. - - * charset.h (emacs_mule_charset): Adjust the prototype. Delete - duplicated extern. - - * coding.c (emacs_mule_char): Adjust for the change of - emacs_mule_charset. - - * lread.c (read_emacs_mule_char): Adjust for the change of - emacs_mule_charset. - -2010-11-22 Eli Zaretskii - - * w32.c (_PROCESS_MEMORY_COUNTERS_EX): Don't define with versions - of w32api >= 3.15. (Bug#6989) (Bug#7452) - -2010-11-22 YAMAMOTO Mitsuharu - - * alloc.c (mark_terminals): Ensure that the image cache is marked - even if the terminal object was marked earlier (Bug#6301). - -2010-11-21 Chong Yidong - - * editfns.c (Fbyte_to_string): Signal an error arg is not a byte. - -2010-11-20 Jan Djärv - - * gtkutil.c (menubar_map_cb): New function (Bug#7425). - (xg_update_frame_menubar): Connect signal map to menubar_map_cb. - Use 23 as menubar height if 0. (Bug#7425). - -2010-11-14 Jan Djärv - - * xsettings.c (init_gconf): Check HAVE_G_TYPE_INIT. - - * config.in (HAVE_G_TYPE_INIT): New symbol. - -2010-11-12 Eli Zaretskii - - * lread.c (Fload): Mention `load-in-progress' and - `load-file-name'. (Bug#7346) - -2010-11-09 Eli Zaretskii - - * keyboard.c (kbd_buffer_nr_stored): Define only ifdef subprocesses. - (kbd_buffer_store_event_hold, kbd_buffer_get_event) - (tty_read_avail_input): Call kbd_buffer_nr_stored only ifdef - subprocesses. Use buffer_free only ifdef subprocesses. - - * process.c (init_process) [subprocesses]: Init kbd_is_on_hold in - the subprocesses version, not in the non-subprocesses one. - - * Makefile.in: Don't use ## comment, it breaks the MSDOS build. - - * xfns.c (x_real_positions): Fix declaration-after-statement - problem. - -2010-11-05 Chong Yidong - - * image.c (free_image): Don't garbage the frame here, since this - function can be called while redisplaying (Bug#7210). - (uncache_image): Garbage the frame here (Bug#6426). - -2010-11-04 Chong Yidong - - * process.c (Fmake_network_process): Don't apply Bug#5173 fix for - Windows. - -2010-11-04 YAMAMOTO Mitsuharu - - * process.c (Fmake_network_process): Don't call turn_on_atimers around - `connect' (Bug#5723). - -2010-11-04 Helmut Eller - - * process.c (Fmake_network_process): Call `select' for interrupted - `connect' rather than creating new socket (Bug#5173). - -2010-11-04 Kenichi Handa - - * font.c (font_delete_unmatched): Check Vface_ignored_fonts. - Don't sheck SPEC if it is nil. - (font_list_entities): Call font_delete_unmatched if - Vface_ignored_fonts is non-nil. - -2010-11-04 YAMAMOTO Mitsuharu - - * dispextern.h (TRY_WINDOW_CHECK_MARGINS) - (TRY_WINDOW_IGNORE_FONTS_CHANGE): New defines. - - * xdisp.c (try_window): Change arg from CHECK_MARGINS to FLAGS. - Don't abort with fonts change if TRY_WINDOW_IGNORE_FONTS_CHANGE is - set in FLAGS. Callers with non-zero CHECK_MARGINS changed to use - TRY_WINDOW_CHECK_MARGINS. - - * xfns.c (Fx_show_tip): Undo last change. Call try_window with - TRY_WINDOW_IGNORE_FONTS_CHANGE (Bug#2423). - -2010-11-04 Jan Djärv - - * xfns.c (x_real_positions): Only use _NET_FRAME_EXTENTS if our - parent is the root window. Check this after traversing window tree. - - * xterm.c (x_term_init): Initialize Xatom_net_frame_extents. - - * xterm.h (struct x_display_info): Xatom_net_frame_extents is new. - - * xfns.c (x_real_positions): Try to get _NET_FRAME_EXTENTS first - before traversing window tree (Bug#5721). - -2010-11-03 Glenn Morris - - * Makefile.in (CRT_DIR): New variable, set by configure. - * m/amdx86-64.h, m/ibms390x.h (START_FILES, LIB_STANDARD): - Use $CRT_DIR rather than HAVE_LIB64_DIR. (Bug#5655) - -2010-11-01 Jan Djärv - - * process.c (kbd_is_on_hold): New variable. - (hold_keyboard_input, unhold_keyboard_input, kbd_on_hold_p): - New functions. - (wait_reading_process_output): If kbd_on_hold_p returns non-zero, - select on empty input mask. - (init_process): Initialize kbd_is_on_hold to 0. - - * process.h (hold_keyboard_input, unhold_keyboard_input) - (kbd_on_hold_p): Declare. - - * keyboard.c (input_available_signal): Declare. - (kbd_buffer_nr_stored): New function. - (kbd_buffer_store_event_hold): If kbd_buffer_nr_stored returns - more than KBD_BUFFER_SIZE/2, stop reding input (Bug#6571). - (kbd_buffer_get_event): If input is suspended and kbd_buffer_nr_stored - returns less than KBD_BUFFER_SIZE/4, resume reding input (Bug#6571). - (tty_read_avail_input): If input is on hold, return. - Don't read more that free slots in kbd_buffer (Bug#6571). - -2010-10-31 Chong Yidong - - * xterm.c (x_connection_closed): Print informative error message - when aborting on GTK. This requires using shut_down_emacs - directly instead of Fkill_emacs. - -2010-10-25 Michael Albinus - - * dbusbind.c (Fdbus_call_method_asynchronously) - (Fdbus_register_signal, Fdbus_register_method): Check, whether - `dbus-registered-objects-table' is initialized. - -2010-10-24 Chong Yidong - - * xterm.c (x_connection_closed): Kill Emacs unconditionally. - -2010-10-22 Eli Zaretskii - - * frame.c (Fframep, Fwindow_system): Deprecate use as a predicate. - - * dispnew.c (syms_of_display) : - Deprecate use as a boolean flag. - -2010-10-18 Ken Brown - - * s/cygwin.h (SIGNALS_VIA_CHARACTERS): New define (bug#7225). - -2010-10-15 Kenichi Handa - - Fix incorrect font metrics when the same font is opened with - different pixelsizes. - - * xftfont.c: Include composite.h. - (xftfont_shape): New function. - (syms_of_xftfont): Set xftfont_driver.shape. - -2010-10-13 Damyan Pepper - - Fix handling of font properties on Windows (bug#6303). - * font.c (font_filter_properties): New function, refactored from - ftfont_filter_properties. - * font.h (font_filter_properties): Declare. - * ftfont.c (ftfont_filter_properties): Use font_filter_properties. - * w32font.c (w32font_booleans, w32font_non_booleans): New variables. - (w32font_filter_properties): New function. - (w32font_driver): Add w32font_filter_properties. - -2010-10-12 Juanma Barranquero - - * font.c (Ffont_variation_glyphs): - * ccl.c (Fccl_execute_on_string): Fix typo in docstring. - -2010-10-10 Jan Djärv - - * nsterm.m (Qleft): Declare. - (ns_right_alternate_modifier): New variable - (NSRightAlternateKeyMask): New define. - (EV_MODIFIERS): Parse NSRightAlternateKeyMask if - ns_right_alternate_modifier isn't Qleft. - (keyDown): If ns_right_alternate_modifier isn't Qleft, use it - as emacs modifier for NSRightAlternateKeyMask. - (syms_of_nsterm): DEFVAR_LISP ns-right-alternate-modifier. - -2010-10-08 Michael Albinus - - * dbusbind.c (xd_get_dispatch_status): Return a Lisp_Object. - (xd_pending_messages): Catch xd_get_dispatch_status calls. - -2010-10-08 Kenichi Handa - - * coding.c (complement_process_encoding_system): Fix previous change. - -2010-10-03 Michael Albinus - - * dbusbind.c (syms_of_dbusbind): Move putenv call ... - (Fdbus_init_bus): ... here. (Bug#7113) - -2010-10-03 Glenn Morris - - * buffer.c (before-change-functions, after-change-functions): - Three-year overdue doc fix following 2007-08-13 change. - -2010-10-02 Kenichi Handa - - * coding.c (coding_inherit_eol_type): If parent doesn't specify - eol-format, inherit from the system's default. - (complement_process_encoding_system): Make a new coding system - inherit the original eol-format. - -2010-09-30 Kenichi Handa - - * coding.c (complement_process_encoding_system): New function. - - * coding.h (complement_process_encoding_system): Extern it. - - * callproc.c (Fcall_process): Complement the coding system for - encoding arguments. - (Fcall_process_region): Complement the coding system for encoding - the input to the process. - - * process.c (Fstart_process): Complement the coding system for - encoding arguments. - (send_process): Complement the coding system for encoding what - sent to the process. - -2010-09-29 Kenichi Handa - - * xfont.c (xfont_open): Fix setting of font->average_width from - :avgwidth property (Bug#7123). - -2010-09-28 Michael Albinus - - * dbusbind.c (syms_of_dbusbind): Use putenv instead of setenv, it - is more portable. - - * keyboard.c (gobble_input): Move call of xd_read_queued_messages ... - (kbd_buffer_get_event): ... here. This is needed for cygwin, which - has not defined SIGIO. - -2010-09-27 Michael Albinus - - * dbusbind.c (syms_of_dbusbind): Set $DBUS_FATAL_WARNINGS to "0". - (Bug#7113) - -2010-09-26 Jan Djärv - - * xgselect.c (xg_select): Clear file descriptors not set from - rfds and wfds. - -2010-09-21 Stefan Monnier - - * syntax.c (back_comment): Detect the case where a 1-char comment - starter is also the 2nd char of a 2-char comment ender. - -2010-09-17 Jan Djärv - - * gtkutil.c (xg_tool_bar_menu_proxy): Set gtk-menu-items to TRUE. - -2010-09-12 Jan Djärv - - * xterm.c (get_current_vm_state): New function. - (do_ewmh_fullscreen): Call get_current_vm_state and compare with - want_fullscreen so set_wm_state calls are few (Bug#7013). - (x_handle_net_wm_state): Move code to get_current_vm_state and - call that function. - -2010-09-11 Courtney Bane (tiny change) - - * term.c (tty_set_terminal_modes): Don't initialize twice (bug#7002). - -2010-09-08 Kenichi Handa - - * coding.c (encode_coding_iso_2022): Don't optimize for ASCII if - we may use designation or locking-shift. - -2010-09-07 Kenichi Handa - - * coding.c (detect_coding_emacs_mule): Fix checking of multibyte - sequence when the source is multibyte. - -2010-08-31 Kenichi Handa - - * dispextern.h (FACE_FOR_CHAR): Use an ASCII face for 8-bit - characters. - - * term.c (encode_terminal_code): Fix the previous change. - (produce_glyphs): Don't set it->char_to_display here. - Don't handle unibyte-display-via-language-environment here. - (produce_special_glyphs): Set temp_it.char_to_display before - calling produce_glyphs. - - * xdisp.c (get_next_display_element): Set it->char_to_display - here. Convert all 8-bit bytes from unibyte buffer/string to 8-bit - characters. - (get_overlay_arrow_glyph_row): Set it.char_to_display too before - calling PRODUCE_GLYPHS. - (append_space_for_newline): Save and store it->char_to_display. - Set it->char_to_display before calling PRODUCE_GLYPHS. - (extend_face_to_end_of_line): Set it->char_to_display before - calling PRODUCE_GLYPHS. - (get_glyph_face_and_encoding): Set the glyph code an 8-bit - character to its byte value. - (get_char_glyph_code): New function. - (produce_stretch_glyph): Set it2.char_to_display too before - calling x_produce_glyphs. - (x_produce_glyphs): Simplify by using the same code for ASCII and - non-ASCII characters. Don't set it->char_to_display here. - Don't handle unibyte-display-via-language-environment here. For a - character of no glyph, use font->space_width instead of FONT_WIDTH. - -2010-08-29 Kenichi Handa - - * term.c (encode_terminal_code): Encode byte chars to the - correspnding bytes. - -2010-08-17 Andreas Schwab - - * eval.c (Flet, Feval, Fapply, apply_lambda): Use SAFE_ALLOCA_LISP - instead of SAFE_ALLOCA. - -2010-08-17 Chong Yidong - - * eval.c (Flet, Feval, Fapply, apply_lambda): Use SAFE_ALLOCA - (Bug#6214). - -2010-08-14 Jan Djärv - - * doc.c (Fsnarf_documentation): Set skip_file only if p[1] is S. - -2010-08-13 Jan Djärv - - * doc.c (Fsnarf_documentation): Initialize skip_file before - build-files test. - -2010-08-09 Peter O'Gorman (tiny change) - - * s/hpux10-20.h (HAVE_TERMIOS, NO_TERMIO, ORDINARY_LINK): - New definitions. - (HAVE_TERMIO): Remove. - -2010-08-06 Kenichi Handa - - * charset.c: Include - (struct charset_sort_data): New struct. - (charset_compare): New function. - (Fsort_charsets): New function. - (syms_of_charset): Declare Fsort_charsets as a Lisp function. - - * coding.c (decode_coding_iso_2022): Fix checking of dimension - number in CTEXT extended segment. - -2010-08-01 Juanma Barranquero - - * w32fns.c (syms_of_w32fns) : Fix typo in docstring. - * xfns.c (syms_of_xfns) : Reflow docstring. - -2010-07-30 Juanma Barranquero - - * fns.c (Fsubstring_no_properties, Fnthcdr, Ffeaturep) - (Fhash_table_size): Fix typos in docstrings. - (Fmake_hash_table): Doc fix. - -2010-07-28 Juanma Barranquero - - * minibuf.c (syms_of_minibuf) : - Doc fix (bug#5625). - -2010-07-27 Ken Brown - - * dired.c (DIRENTRY_NONEMPTY) [cygwin]: Use d_ino instead of - the MSDOS definition. - -2010-07-25 Christoph Scholtes - - * minibuf.c (Fread_buffer): Doc fix (bug#6528). - -2010-07-22 Christoph Scholtes - - * window.c (Fwindow_height): Doc fix (bug#6518). - -2010-07-21 Juanma Barranquero - - * buffer.c (syms_of_buffer) : Doc fix. - -2010-07-17 Jan Djärv - - * gtkutil.c (xg_event_is_for_menubar): Also check that event window - is related to the menu bar (Bug#6499). - -2010-07-14 Jan Djärv - - * xterm.h (x_menubar_window_to_frame): Second parameter is XEvent*. - - * xterm.c (handle_one_xevent): Pass event to x_menubar_window_to_frame. - - * xmenu.c (x_activate_menubar): Revert previous fix for Bug#6499, - i.e. don't put back ButtonRelease (Bug#6608). - - * xfns.c (x_menubar_window_to_frame): Take XEvent as second parameter - instead of Window. Call xg_event_is_for_menubar when - USE_GTK (Bug#6499). - - * gtkutil.h (xg_event_is_for_menubar): Declare. - - * gtkutil.c (xg_event_is_for_menubar): New function (Bug#6499). - -2010-07-14 Eli Zaretskii - - * w32fns.c (x_set_foreground_color): Fix setting the cursor color - when it's the same as the old foreground. (Bug#6609) - -2010-07-10 Chong Yidong - - * xfaces.c (realize_face): Garbage the frame if a face is removed - (Bug#6593). - -2010-07-05 Andreas Schwab - - * keyboard.c: Remove duplicate . - (read_key_sequence): Remove volatile qualifiers. - -2010-07-05 YAMAMOTO Mitsuharu - - * dispextern.h (FRINGE_HEIGHT_BITS): New define. - (struct glyph_row): New members left_fringe_offset and - right_fringe_offset. - - * xterm.c (x_draw_fringe_bitmap): Don't clip bottom aligned bitmap - specially. - * w32term.c (w32_draw_fringe_bitmap): Likewise. - * nsterm.m (ns_draw_fringe_bitmap): Likewise. - - * fringe.c (draw_fringe_bitmap_1): Don't clip bitmap here. - Take account of bitmap offset. - (draw_window_fringes): Take account of window vscroll. - (update_window_fringes): Likewise. Extend top-aligned top indicator - or bottom-aligned bottom indicator to adjacent rows if it doesn't fit - in one row. Don't set redraw_fringe_bitmaps_p outside row comparison. - Set left_fringe_offset and right_fringe_offset (Bug#5634, Bug#6325). - -2010-07-04 Juanma Barranquero - - * w32fns.c (Qtooltip): Declare. - Suggested by Andy Moreton . - -2010-07-03 Jan Djärv - - * xmenu.c (x_activate_menubar): Send Press/Release for Gtk+ to avoid - grab on just Press (Bug#6499). - -2010-07-02 Chong Yidong - - * frame.c (Qtooltip): New var. - (delete_frame): Use it. Fix faulty if statement. Don't update - mode line for tooltip frames. Suggested by Martin Rudalics. - - * xfns.c (x_create_tip_frame): - * w32fns.c (x_create_tip_frame): Use it. - -2010-06-30 Naohiro Aota (tiny change) - - * xftfont.c (xftfont_open): Check font width one by one also when - spacing is dual. - - * ftfont.c (ftfont_open): Ditto. - -2010-06-26 Andreas Schwab - - * alloc.c (Fmake_byte_code): Don't access undefined argument - (Bug#6517). - -2010-06-25 Chong Yidong - - * xdisp.c (next_element_from_image): Ensure that after-strings are - read the next time we hit handle_stop (Bug#1336). - -2010-06-23 Andreas Schwab - - * lread.c (read1): Signal error if #s is not followed by paren. - -2010-06-19 Chong Yidong - - * image.c (free_image): Mark frame as garbaged (Bug#6426). - - * keymap.c (Fdefine_key): Doc fix (Bug#6460). - -2010-06-15 Glenn Morris - - * editfns.c (Fbyte_to_string): Pacify compiler. - -2010-06-09 Stefan Monnier - - * dbusbind.c (xd_append_arg): Don't "make-unibyte" the string. - Check `object's type before accessing its guts. - -2010-06-08 Andreas Schwab - - * minibuf.c (Fall_completions): Add more checks. - -2010-06-08 Juanma Barranquero - - * minibuf.c (Fall_completions): Check COLLECTION's size (bug#6378). - -2010-06-03 Andreas Schwab - - * process.c (conv_lisp_to_sockaddr): Fix conversion of IPv4 - address. (Bug#6346) - -2010-06-03 Juanma Barranquero - - * ccl.c (Fccl_program_p): Fix typo in docstring. - -2010-05-31 Stefan Monnier - - * keymap.c (Fwhere_is_internal): Fix handling of remapping (in thread - of bug#6305). - -2010-05-27 Chong Yidong - - * xdisp.c (redisplay_window): After redisplay, check if point is - still valid before setting it (Bug#6177). - -2010-05-20 enami tsugutomo - - * s/netbsd.h: If terminfo is found, use it in preference to - termcap. (Bug#6190) [Backport from trunk] - -2010-05-20 Kevin Ryde - - * keyboard.c (Vlast_command, Vkeyboard_translate_table) - (Voverriding_terminal_local_map, Vsystem_key_alist) - (Vlocal_function_key_map): Fix manual link in docstring (Bug#6224). - -2010-05-19 Stefan Monnier - - * editfns.c (Fbyte_to_string): New function. - -2010-05-18 Chong Yidong - - * character.c (Fstring, Funibyte_string): Use SAFE_ALLOCA to - prevent stack overflow if number of arguments is too large - (Bug#6214). - -2010-05-11 Eli Zaretskii - - * makefile.w32-in ($(BLD)/w32fns.$(O)): Depend on $(SRC)/w32.h. - - * w32fns.c: Include w32.h. - (Fw32_shell_execute): Decode the error message before passing it - to `error'. (Bug#6126) - -2010-05-11 Karel Klic - - * ftfont.c: Fix incorrect parentheses of #if condition for - definining M17N_FLT_USE_NEW_FEATURE. - -2010-05-07 Chong Yidong - - * Version 23.2 released. - -2010-04-30 Andreas Schwab - - * composite.c (autocmp_chars): Save point as marker before calling - auto-composition-function (Bug#5984). - - * lisp.h (restore_point_unwind): Add prototype. - - * fileio.c (restore_point_unwind): Remove static attribute. - -2010-04-23 Kenichi Handa - - * ftfont.c (M17N_FLT_USE_NEW_FEATURE): Define it if we can use the - new feature of libotf and m17n-flt. - (ftfont_check_otf) [M17N_FLT_USE_NEW_FEATURE]: - Call OTF_check_features even if no specific feature is given. - (PACK_OTF_TAG) [M17N_FLT_USE_NEW_FEATURE]: New macro. - (ftfont_drive_otf) [M17N_FLT_USE_NEW_FEATURE]: Handle the case - that OUT is NULL. Use OTF_drive_gsub_with_log and - OTF_drive_gpos_with_log instead of OTF_drive_gsub and - OTF_drive_gpos. - (ftfont_try_otf) [M17N_FLT_USE_NEW_FEATURE]: New function. - (ftfont_shape_by_flt) [M17N_FLT_USE_NEW_FEATURE]: - Setup mflt_enable_new_feature and mflt_try_otf. - -2010-04-19 Juanma Barranquero - - * dired.c (Ffile_attributes): Fix typo in docstring. - -2010-04-13 Adrian Robert - - * nsmenu.m (EmacsDialog-runDialogAt:): Declare ret as - NSInteger (Bug#5811). - -2010-04-10 YAMAMOTO Mitsuharu - - * s/darwin.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF) - (PTY_OPEN): New defines. Use openpty (Bug#726, Bug#5819). - -2010-04-08 YAMAMOTO Mitsuharu - - * frame.h (FRAME_LINE_TO_PIXEL_Y): Add missing parenthesis. - -2010-04-07 Jan Djärv - - * frame.h (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Don't use - FRAME_LINE_TO_PIXEL_Y. - - * xterm.c (x_set_window_size_1): Don't add border_width/height to - pixelwidth/height. - -2010-04-05 Chong Yidong - - * xdisp.c (prepare_menu_bars): Don't call ns_set_doc_edited for - terminal frames (Bug#5837). - -2010-03-31 Chong Yidong - - * nsfns.m (ns_set_doc_edited): Remove unused arg OLDVAL. - * nsterm.h: Fix prototype. - -2010-03-31 Eli Zaretskii - - * w32fns.c (x_create_tip_frame): Copy `parms' before we modify it - in this function. (Bug#5703) - -2010-03-31 Chong Yidong - - * nsterm.h: Fix last change. - -2010-03-30 Bernhard Herzog (tiny change) - - * menu.c (Fx_popup_menu): Use last_event_timestamp (Bug#4930). - -2010-03-30 Jan Djärv - - * xdisp.c (note_mouse_highlight): Don't do highlight if pointer is - invisible (Bug#5766). - -2010-03-29 Adrian Robert - - * xdisp.c (x_consider_frame_title, update_window_cursor): Remove - HAVE_NS conditionals. - (prepare_menu_bars) [HAVE_NS]: Call ns_set_doc_edited. - - * nsfns.m (x_implicitly_set_name): If frame-title-format is t, use - filename for the title. - (ns_set_doc_edited): Do nothing if the selected window is a - minibuffer window. - - * nsterm.h: Add prototypes for ns_set_name_as_filename and - ns_set_doc_edited. - - * nsterm.m: Remove unneeded prototype. - -2010-03-28 Glenn Morris - - * Makefile.in (SOME_MACHINE_OBJECTS): Ensure dbus stuff is always - in the DOC file. (Bug#5336) - -2010-03-24 Chong Yidong - - * xdisp.c (pos_visible_p): Revert 2008-01-25 change (Bug#5730). - -2010-03-20 Jan Djärv - - * frame.c (x_get_arg): Handle RES_TYPE_BOOLEAN_NUMBER (bug #5736). - - * xfns.c (Fx_create_frame): Make menuBar a RES_TYPE_BOOLEAN_NUMBER. - - * dispextern.h (resource_types): RES_TYPE_BOOLEAN_NUMBER is new. - -2010-03-20 YAMAMOTO Mitsuharu - - * xfns.c (Fx_create_frame) [USE_LUCID]: Add BLOCK_INPUT around - XLoadQueryFont. - -2010-03-16 Kenichi Handa - - * coding.c (decode_coding_ccl): Fix previous change for the - multibyte case. - (encode_coding_ccl): Don't setup ccl program here. Fix for the - case that the output buffer is fullfilled. - (encode_coding): Setup ccl program here. - -2010-03-15 Andreas Politz (tiny change) - - * editfns.c (Fformat): Account for string precision when computing - field width (Bug#5710). - -2010-03-05 Stefan Monnier - - Make it possible to C-g in a tight bytecode loop again (bug#5680). - * lisp.h (ELSE_PENDING_SIGNALS): New macro. - (QUIT): Use it to consolidate code and remove redundancy. - * bytecode.c (BYTE_CODE_QUIT): Use it as well. - - * regex.c (regex_compile): Setup gl_state as well. - - * syntax.c (skip_chars): Setup gl_state (bug#3823). - (in_classes): Use CONSP before XCAR/XCDR. - -2010-03-03 Chong Yidong - - * keymap.c (Fwhere_is_internal): Use Fequal to compare - definitions, so that keyboard macros are correctly handled - (Bug#5481). - -2010-03-02 Eli Zaretskii - - * coding.c (decode_coding_emacs_mule): Fixup pointers to buffer - text that could be relocated inside the call to emacs_mule_char. - (emacs_mule_char): Use CODING_DECODE_CHAR instead of DECODE_CHAR. - (CODING_DECODE_CHAR): Add a comment describing its purpose. - -2010-03-02 Kenichi Handa - - * character.c (parse_str_as_multibyte): Fix handling of the - multibyte form of raw-bytes. - (str_as_multibyte): Likewise. - - * buffer.c (Fset_buffer_multibyte): Fix handling of the multibyte - form of raw-bytes. - -2010-02-28 Chong Yidong - - * charset.c (load_charset_map_from_file) - (load_charset_map_from_vector): Zero out allocated - charset_map_entries before using them. - -2010-02-27 Andreas Schwab - - * w32uniscribe.c (uniscribe_check_otf): Fix length check. - -2010-02-27 Chong Yidong - - * font.c (font_parse_fcname): Recognize "Book", "Condensed", - "Medium", and "Semi-Condensed" keywords in GTK names (Bug#5646). - -2010-02-26 Kenichi Handa - - * ftfont.c (ftfont_get_open_type_spec): Fix parsing of otf_spec. - - * xdisp.c (reseat_to_string): Fix previous change. - -2010-02-26 David Reitter - - * nsfont.m (nsfont_draw): ns_antialias_text should be a - Lisp_Object (Bug#4736). - -2010-02-25 Kenichi Handa - - * xdisp.c (reseat_to_string): Fix previous change (bug#5609). - -2010-02-24 Jan Djärv - - * xterm.c (XTflash): Move declarations before statements. - - * gtkutil.c (xg_get_gdk_display): Remove (unused). - (xg_get_pixbuf_from_pix_and_mask, xg_create_frame_widgets) - (xg_toggle_notify_cb, xg_set_toolkit_scroll_bar_thumb) - (xg_create_tool_bar): Remove unused variables. - (x_wm_set_size_hint): Move declarations before statements. - (xg_create_frame_widgets): Remove variable grav. - -2010-02-21 Chong Yidong - - * m/arm.h: Define the LIB_GCC flag to be -lgcc_s (Bug#5518). - -2010-02-18 Stefan Monnier - - * term.c (fatal): Add a final \n if needed (bug#5596). - -2010-02-18 Chong Yidong - - * nsterm.m (ns_ring_bell): Revert last change (Bug#5569). - -2010-02-18 Glenn Morris - - * callint.c (Finteractive): Doc fix. - -2010-02-18 Kazuhiro Ito (tiny change) - - * coding.c (record_conversion_result): - Handle CODING_RESULT_INSUFFICIENT_DST. - (decode_coding_object): Record CODING_RESULT_INSUFFICIENT_MEM on - memory allocation error. - -2010-02-17 Kenichi Handa - - * coding.c (decode_coding_ccl): Don't setup ccl program here. - Fix for the case that the output buffer is fullfilled. - (decode_coding): Setup ccl program here. Keep looping when the - decoder stopped because the output buffer is - fullfilled (bug#5534). - - * ccl.c (ccl_driver): Never reset ic to CCL_HEADER_MAIN. - -2010-02-13 Jan Djärv - - * xterm.c (x_clear_frame_area): Call gtk_widget_queue_draw if USE_GTK, - bug #5571. - (XTflash): Use Gdk-routines if USE_GTK so scroll bars don't get - overdrawn. - -2010-02-10 Jan Djärv - - * xsmfns.c (x_session_initialize): Move initialization of ice_fd and - doing_interact here. - (ice_connection_closed): New function. - (x_session_check_input, smc_die_CB, ice_io_error_handler) - (ice_conn_watch_CB, x_session_close): Call ice_connection_closed. - (x_session_check_input): Call IceCloseConnection if IceProcessMessages - returns I/O error. - (ice_conn_watch_CB): Call add_keyboard_wait_descriptor on ice_fd, - bug #5512. - -2010-02-08 Francis Devereux (tiny change) - - * nsfont.m (nsfont_open): The system's value for the font descent - is negative, so round it down to avoid clipping. - -2010-02-06 Chong Yidong - - * charset.c (load_charset_map_from_file) - (load_charset_map_from_vector): Fix last change to use SAFE_ALLOCA - instead of xmalloc (Bug#5526). Suggested by Vivek Dasmohapatra. - -2010-02-05 Chong Yidong - - * charset.c (load_charset_map_from_file): Allocate large - charset_map_entries structure on the heap rather than the stack. - (Bug#5526). - -2010-01-31 Kenichi Handa - - * font.c (font_parse_xlfd): If FONT is a font-entity and pixel - size in NAME is invalid, return -1 (Bug#5396). - -2010-01-31 Chong Yidong - - * nsterm.m (ns_defined_color): Block input. Suggested by Mike - (Bug#3605). - -2010-01-31 David De La Harpe Golden - - * fileio.c (Frename_file): Correctly rename symlinks to - directories (Bug#5496). - -2010-01-31 Filipe Cabecinhas (tiny change) - - * nsterm.m (ns_ring_bell): Handle visible bell like X. - -2010-01-30 Andreas Schwab - - * character.h (CHAR_PRINTABLE_P): Reparenthesize to avoid warning. - -2010-01-29 Chong Yidong - - * frame.c (DEFAULT_ROWS): Change default to 35. - - * xfns.c (x_default_font_parameter): Change default XFT font to - monospace-10 (Bug#3643). - -2010-01-29 Eli Zaretskii - - * w32inevt.c (key_event): Remove unnecessary comparison of - event->uChar.AsciiChar with 128. - -2010-01-28 Chong Yidong - - * fileio.c (Frename_file): Fix last change (Bug#5487). - - * m/mips.h: Remove DATA_START. Suggested by Dan Nicolaescu. - - * m/alpha.h: Don't define DATA_START on NetBSD (Bug#4629). - -2010-01-28 Jan Djärv - - * xfns.c (Fx_create_frame): Remove window size matching code from - 2010-01-15. - (x_get_current_desktop, x_get_desktop_workarea): Remove. - -2010-01-27 Jason Rumney - - * w32inevt.c (w32_kbd_patch_key): Save the unicode character. - (key_event): Use unicode for characters 128 and higher (Bug#4567). - -2010-01-27 Kenichi Handa - - * regex.c (analyse_first): Fix setting of fastmap for unibyte - pattern string (Bug#4209). - -2010-01-27 David De La Harpe Golden - - * fileio.c (Frename_file): Call copy-directory and - delete-directory for directories, in order to handle cross-device - renaming (Bug#3353). - -2010-01-25 Jan Djärv - - * xfns.c (Fx_create_frame): If frame height is too big, try - sizes 24 and 10. Bug #3643. - -2010-01-24 Stefan Monnier - - Try and fix bug#788, hopefully for real this time. - * keymap.c (shadow_lookup): Add `remap' arg. - (describe_map, describe_vector): Update calls to shadow_lookup. - (Fwhere_is_internal): Fix up handling of `remapped_sequences' and - `remapped' so this flag is applicable to `sequence'. Be careful to - perform remapping during shadow_lookup check of remapped_sequences. - -2010-01-24 Eric Bélanger (tiny change) - - * image.c (png_load): Use png_sig_cmp instead of the obsolete - png_check_sig, which has been removed in libpng 1.4. - -2010-01-23 Giorgos Keramidas (tiny change) - - * filelock.c: Include utmp.h only when HAVE_UTMP_H (FreeBSD 9.x - lacks this header file). - -2010-01-23 YAMAMOTO Mitsuharu - - * xdisp.c (draw_glyphs): Update `start' for left_overwritten case - as in Emacs 22. - -2010-01-22 YAMAMOTO Mitsuharu - - * lisp.h (make_pure_string): String pointer arg now points to const. - - * alloc.c (find_string_data_in_pure, make_pure_string): String pointer - args now point to const. - -2010-01-22 Eli Zaretskii - - * lread.c (Fload): Don't treat files without .elc extension as - byte-compiled if they are ``magic'', i.e. `openp' returned -2 for - them. (bug#5303) - -2010-01-20 Kenichi Handa - - * coding.c (consume_chars): If ! multibyte and the encoder is ccl, - treat the source as actual byte sequence. - -2010-01-19 Alan Mackenzie - - Fix spurious before-change-functions invocation from (insert ?\n). - * textprop.c (set_text_properties): Rename parameter - `signal_after_change_p' to `coherent_change_p', and make the - invocation of `modify_region' conditional on it. - -2010-01-19 Jan Djärv - - * xsettings.c (apply_xft_settings): Save settings in Vxft_settings - for debug purpose. - (syms_of_xsettings): Declare xft-settings. - -2010-01-18 Chong Yidong - - * editfns.c (Fcurrent_time_string): Doc fix (Bug#5408). - -2010-01-16 Stefan Monnier - - * xterm.c (event_handler_gdk): Block input (Bug#5037). - -2010-01-16 Chong Yidong - - * emacs.c (standard_args): Adjust arg priorities to reflect how - they are processed in startup.el. - -2010-01-16 Andreas Schwab - - * Makefile.in (lisp, shortlisp): Update. - -2010-01-16 Stefan Monnier - - * xterm.c (x_term_init): Instead of inhibiting GC while running Lisp - code, link the new kboard into all_kboard before running Lisp code, - and protect the new terminal with GCPRO (Bug#5365). - (x_term_init): Remove unused var `atom'. - (x_delete_display, x_delete_terminal): Remove unused var `i'. - -2010-01-15 Jan Djärv - - * xfns.c (x_get_current_desktop, x_get_desktop_workarea): New functions. - (Fx_create_frame): Call x_get_current_desktop and x_get_desktop_workarea - to find out usable size of the desktop. Don't make frames larger than - this. Bug #3643. - -2010-01-15 Kenichi Handa - - * xdisp.c (CHAR_COMPOSED_P): New arg END_CHARPOS. Callers changed. - -2010-01-15 Chong Yidong - - * nsterm.m (Qnone): Define. - - * nsfns.m (Qnone): Move definition to nsterm.m. - -2010-01-14 Kenichi Handa - - * coding.c (detect_coding_iso_2022): Fix handling of euc-xx coding - systems. - -2010-01-14 Kenichi Handa - - Make auto-composition work on all buffers even if they are - fundamental mode. - - * composite.c (Vauto_composition_mode): New variable. - (composition_compute_stop_pos): Check Vauto_composition_mode - instead of Vauto_composition_function. - (composition_adjust_point, Ffind_composition_internal): Likewise. - (syms_of_composite): Declare Lisp variable - "auto-composition-mode" here. - -2010-01-13 Chong Yidong - - * xterm.c (x_term_init): Avoid garbage-collecting the new terminal - during call to vendor-specific-keysyms (Bug#5365). - -2010-01-13 YAMAMOTO Mitsuharu - - * keyboard.c (input_available_signal) [SYNC_INPUT]: - Call SIGNAL_THREAD_CHECK (Bug#5333). - - * atimer.c (alarm_signal_handler) [!SYNC_INPUT]: - Call SIGNAL_THREAD_CHECK. - -2010-01-13 Stefan Monnier - - Try to fix bug#5314. This is probably not the final word, tho. - * buffer.c (Fset_buffer_modified_p): Try and be careful not to modify - recent-auto-save-p as a side-effect. - * buffer.h (BUF_AUTOSAVE_MODIFF): New macro. - * buffer.c (Fkill_buffer, reset_buffer): - * editfns.c (Fsubst_char_in_region): - * fileio.c (Finsert_file_contents, Fdo_auto_save) - (Fset_buffer_auto_saved, Frecent_auto_save_p): Use it. - -2010-01-13 Kenichi Handa - - Display buffer name, etc. in mode line by composing correctly. - - * xdisp.c (reseat_to_string): Call composition_compute_stop_pos if - STRING is not nil. - (display_mode_element): Adjust for the change of - decode_mode_spec and display_line. - (decode_mode_spec): Change arg MULTIBYTE to STRING. - (display_string): Handle the case that STRING is non-null and - LISP_STRING is not nil. - - * xterm.c (x_draw_composite_glyph_string_foreground): - Pay attention to s->face->overstrike. - - * composite.c (composition_reseat_it): Don't check PT if STRING is - non nil. - -2010-01-12 YAMAMOTO Mitsuharu - - * keyboard.c (read_char): Don't apply previous change when current - buffer is unchanged by command execution. - -2010-01-12 Jan Djärv - - * keyboard.c (read_char): Return after executing from special map. - -2010-01-12 Glenn Morris - - * emacs.c (REPORT_EMACS_BUG_PRETEST_ADDRESS): Set it to - bug-gnu-emacs rather than emacs-pretest-bug. - -2010-01-11 Chong Yidong - - * nsterm.m (syms_of_nsterm): Initialize Qcontrol etc. before - initializing the Lisp variables that depend on them. - -2010-01-11 YAMAMOTO Mitsuharu - - * xfns.c (x_set_menu_bar_lines) [!USE_X_TOOLKIT && !USE_GTK]: - Clear areas that will not be updated after change of menu bar lines. - Clear the menu bar window's current matrix when the window gets empty. - -2010-01-09 Chong Yidong - - * intervals.h, textprop.c (extend_property_ranges): Return value - and args changed. Discard properties that begin at or after the - new end (Bug#5306). - - * editfns.c (Fformat): Caller changed. - - * nsterm.m (ns_set_default_prefs): Delete function. - (syms_of_nsterm): Initialize ns_command_modifier, - ns_control_modifier, ns_function_modifier, ns_antialias_text, and - ns_antialias_threshold here, not in ns_term_init (Bug#4113). - - * xdisp.c (pos_visible_p): Check for invisible text at the correct - position (Bug#4040). - -2010-01-09 Eli Zaretskii - - * editfns.c (Ffloat_time): Doc fix. - -2010-01-09 Jan Djärv - - * xfns.c (Fx_create_frame): Don't create frame larger than display - by default bug#3643. - -2010-01-09 YAMAMOTO Mitsuharu - - * frame.h (FRAME_TOP_MARGIN_HEIGHT): New macro. - (FRAME_LINE_TO_PIXEL_Y, FRAME_PIXEL_Y_TO_LINE): Take account of pseudo - windows above internal border. - - * window.h (WINDOW_MENU_BAR_P, WINDOW_TOOL_BAR_P): New macros. - (WINDOW_TOP_EDGE_Y, WINDOW_BOTTOM_EDGE_Y): Take account of pseudo - windows above internal border. - - * xdisp.c (get_glyph_string_clip_rects, init_glyph_string): Don't treat - tool bar windows specially. - - * xfns.c (x_set_tool_bar_lines): Take account of menu bar height. - - * xterm.c (x_after_update_window_line): Don't treat tool bar windows - specially. - (XTflash): Take account of menu bar height. - - * w32term.c (x_after_update_window_line): Don't treat tool bar windows - specially. - -2010-01-08 Jan Djärv - - * dispnew.c (change_frame_size_1): newwidth == FRAME_COLS (f) must - also be true before we can return early (bug #5339). - -2010-01-06 David Reitter - - * nsfns.m (ns_get_screen): Rewrite, returning NULL for non-NS. - (Fns_display_usable_bounds): Rewrite, computing bounds properly - (Bug#3233). - -2010-01-06 Jan Djärv - - * font.c (font_open_entity): Enable chache and call cached_font_ok - for the driver if defined. - (QCuser_spec): New symbol. - (font_spec_from_name): Save name as user-spec. - (font_load_for_lface): Keep user-spec instead of name. - (font_open_by_name): Save name as user-spec. - (syms_of_font): Initialize QCuser_spec. - (font_clear_prop): Clear name if it exists in font (bug#5157). - - * xftfont.c (xftfont_open): Call xftfont_add_rendering_parameters. - (xftfont_add_rendering_parameters, xftfont_cached_font_ok): New. - (syms_of_xftfont): Initialize xftfont_driver.cached_font_ok. - - * font.h (struct font_driver): Add cached_font_ok. - - * xterm.c (x_clear_frame): Queue draw for scroll bars. - -2010-01-05 Jan Djärv - - * xterm.c (x_new_font): Move code for setting rows/cols before - resizing ... - (x_set_window_size): ... to here. Bug #2568. - - * gtkutil.c (xg_clear_under_internal_border): New function. - (xg_frame_resized, xg_frame_set_char_size): - Call xg_clear_under_internal_border. - (xg_update_scrollbar_pos): Clear under old scroll bar position. - -2010-01-05 Chong Yidong - - * keyboard.c (read_key_sequence): Catch keyboard switch after - making a new tty frame (Bug#5095). - -2010-01-05 Kenichi Handa - - * fontset.c (fontset_find_font): Fix getting the frame pointer. - -2010-01-04 Stefan Monnier - - * dbusbind.c (xd_remove_watch): Avoid trying to convert a void* to - Lisp_Object, preferring to convert a lisp_Object to a void* instead. - (Fdbus_init_bus): Use XHASH to get a scalar value from a Lisp_Object. - -2010-01-03 Michael Albinus - - * dbusbind.c (xd_add_watch): Improve debug message. - (xd_remove_watch): Improve debug message. If DATA is the session - bus, unset D-Bus session environment. - (Fdbus_init_bus): Pass the bus as argument to - dbus_connection_set_watch_functions. (Bug#5283) - -2010-01-01 Chong Yidong - - * nsterm.m (ns_get_color): Fix buffer overflow (Bug#4763). - - * lread.c (syms_of_lread): Make it clearer that these are the - names of loaded files (Bug#5068). - - * eval.c (run_hook_with_args): Handle the case where the global - value has the obsolete single-function form (Bug#5026). - -2009-12-27 Chong Yidong - - * minibuf.c (Fall_completions): Minor optimization. - -2009-12-26 Eli Zaretskii - - * .gdbinit (pgx): Fix display of composite glyphs. - Display cmp.from and cmp.to as well. - (pitx): Fix last change. - -2009-12-25 Kenichi Handa - - * composite.h (composition_adjust_point): Update prototype. - - * composite.c (composition_reseat_it): Don't make a composition - spanning over point. - (CHAR_COMPOSABLE_P): Treat U+200C (ZWNJ) and U+200D (ZWJ) as - composable characters. - (composition_adjust_point): New arg NEW_PT. Callers changed. - - * keyboard.c (command_loop_1): Force redisplay if the last point - was within a composition. - (adjust_point_for_property): Don't adjust point for automatic - composition when called after buffer modification. - -2009-12-19 Eli Zaretskii - - * .gdbinit (pitx): Don't use enum names, use their values. - Remove reference to non-existing value GET_FROM_COMPOSITION. - (pgx): Don't use enum names, use their values. - (pitmethod): New helper command. - (pitx): Use it to display iteration method. - (pgrowit): New command. - - * makefile.w32-in ($(BLD)/cmds.$(O)): Depend on frame.h. - - Update dependencies in Makefile.in. - - * Makefile.in (alloc.o): Depend on termhooks.h. - (atimer.o): Depend on blockinput.h. - (buffer.o): Depend on indent.h, keyboard.h, coding.h, keymap.h, - and frame.h. - (callint.o): Depend on systime.h, coding.h, and composite.h. - (callproc.o): Depend on buffer.h. - (casefiddle.o): Don't depend on charset.h. - (casetab.o): Depend on character.h. - (ccl.o): Depend on composite.h. - (chartab.o): Depend on ccl.h. - (cm.o): Depend on dispextern.h. - (cmds.o): Depend on systime.h, coding.h, frame.h, and composite.h. - (coding.o): Don't depend on $(INTERVALS_H). - (composite.o): Don't depend on dispextern.h explicitly (it's in - $(INTERVALS_H)). Depend on ccl.h. - (data.o): Depend on systime.h, coding.h, composite.h, - dispextern.h, font.h, and ccl.h. - (dired.o): Depend on composite.h. - (dispnew.o): Depend on coding.h. Don't depend explicitly on - composite.h (it's in $(INTERVALS_H)). - (doc.o): Depend on systime.h, coding.h, and composite.h. - (editfns.o): Don't depend explicitly on dispextern.h. - (emacs.o): Depend on frame.h and coding.h. - (eval.o): Depend on coding.h, composite.h, and xterm.h. - (fileio.o): Depend on frame.h and commands.h. Don't depend - explicitly on dispextern.h. - (filelock.o): Don't depend on epaths.h and charset.h. Depend on - composite.h. - (fns.o): Don't depend on termhooks.h. - (font.o): Depend on buffer.h, composite.h, fontset.h, and xterm.h. - (fontset.o): Depend on blockinput.h, atimer.h, systime.h, - coding.h, $(INTERVALS_H), window.h, xterm.h. - (frame.o): Depend on coding.h, composite.h, termhooks.h, and ccl.h. - (fringe.o): Depend on blockinput.h, atimer.h, and systime.h. - (ftfont.o): Depend on blockinput.h, atimer.h, systime.h, coding.h, - fontset.h, ccl.h, and ftfont.h. - (ftxfont.o): Depend on atimer.h, systime.h, fontset.h, and ccl.h. - (gtkutil.o): Depend on dispextern.h and composite.h. - (image.o): Depend on epaths.h, character.h, coding.h, composite.h, - termhooks.h, and ccl.h. - (indent.o): Depend on systime.h, coding.h, and $(INTERVALS_H). - (intervals.o): Depend on systime.h and coding.h. - (keyboard.o): Depend on composite.h and coding.h. - (keymap.o): Depend on coding.h and frame.h. - (lread.o): Depend on systime.h, frame.h, blockinput.h, and atimer.h. - (macros.o): Depend on systime.h, coding.h, and composite.h. - (menu.o): Depend on systime.h, coding.h, composite.h, window.h, - and atimer.h. - (minibuf.o): Depend on systime.h and coding.h. Don't depend on - dispextern.h explicitly. - (print.o): Depend on termhooks.h, coding.h, and ccl.h. - Don't depend explicitly on dispextern.h and composite.h. - (process.o): Depend on character.h, xgselect.h, and sysselect.h. - (regex.o): Don't depend on charset.h. - (scroll.o): Depend on systime.h, coding.h, composite.h, and window.h. - (search.o): Don't depend explicitly on composite.h. - (sound.o): Depend on atimer.h and systime.h. - (syntax.o): Don't depend explicitly on composite.h. - (sysdep.o): Depend on coding.h and composite.h. - (term.o): Depend on xterm.h and buffer.h. - (terminal.o): Depend on dispextern.h, composite.h, and systime.h. - (textprop.o): Don't depend on dispextern.h explicitly. - (undo.o): Depend on dispextern.h. - (window.o): Depend on coding.h and termhooks.h. Don't depend on - dispextern.h and composite.h explicitly. - (xdisp.o): Depend on ccl.h. - (xfaces.o): Depend on coding.h and ccl.h. - (xfns.o): Depend on $(INTERVALS_H) and ccl.h. - (xfont.o): Depend on atimer.h, systime.h, fontset.h, and ccl.h. - (xftfont.o): Depend on atimer.h, systime.h, fontset.h, ccl.h, and - ftfont.h. - (xgselect.o): New dependency. - (xmenu.o): Depend on composite.h, keymap.h, and sysselect.h. - (xselect.o): Depend on keyboard.h, coding.h, and composite.h. - (xsettings.o): Depend on dispextern.h, keyboard.h, systime.h, - coding.h, composite.h, blockinput.h, atimer.h, and termopts.h. - (xsmfns.o): Depend on frame.h and dispextern.h. - (xterm.o): Depend on intervals.h, keymap.h, xgselect.h, and - sysselect.h. - -2009-12-19 Andreas Schwab - - * font.c (Fclear_font_cache): Pass correct cache argument to - font_clear_cache. - -2009-12-16 Andreas Schwab - - * Makefile.in (prefix-args${EXEEXT}): Don't compile prefix-args.c - twice. - -2009-12-15 Chong Yidong - - * xdisp.c (decode_mode_spec): Inhibit garbage collection when - calling file-remote-p. Reported by Jim Meyering. - -2009-12-15 Michael Albinus - - * dbusbind.c (xd_retrieve_arg): Reorder declarations in order to - avoid compiler warnings. (Bug #5217) - -2009-12-14 Kenichi Handa - - * coding.c (decode_coding_iso_2022): Ignore ISO_CODE_SS2_7 (0x19) - in 8-bit encoding. - -2009-12-13 Pat Thoyts (tiny change) - - * xfns.c (x_create_tip_frame): Set the extended window manager hint for - tooltip windows. - -2009-12-13 Jan Djärv - - * xterm.h (struct x_display_info): Add Xatom_net_window_type_tooltip and - Xatom_net_window_type. - - * xterm.c (x_term_init): Initialize Xatom_net_window_type_tooltip and - Xatom_net_window_type. - - * xterm.c (my_log_handler): New function. - (x_term_init): Set my_log_handler as log handler during gtk_init - so we can filter out buggy messages. (Bug #5120). - - * xterm.c (xg_scroll_callback): Parameter list changed, - use parameter GtkScrollType to determine scroll/line/page. - Only allow dragging if a button < 4 is grabbed (bug #5177). - (xg_end_scroll_callback): New function. - (x_create_toolkit_scroll_bar): Pass xg_end_scroll_callback to - xg_create_scroll_bar. - - * gtkutil.c (xg_gtk_scroll_destroy): Remove XG_LAST_SB_DATA handling. - (scroll_end_callback): Remove. - (xg_create_scroll_bar): Add parameter end_callback, bind it to - button-release-event. Replace value-changed event with change-value, - bug #5177, - (xg_event_is_for_scrollbar): Only return true if button is less than 4, - bug #5177. - - * gtkutil.h (XG_LAST_SB_DATA): Remove. - (xg_create_scroll_bar): Add GCallback end_callback. - - * xftfont.c (QClcdfilter): New variable. - (xftfont_open): Parse constant names for RGBA, HINT_STYLE and LCDFILTER. - (syms_of_xftfont): Initialize QClcdfilter. - -2009-12-12 Jan Djärv - - * xsettings.c (struct xsettings): Add member seen. - (parse_xft_settings): Update member seen with what we have read. - Return non-zero if Xft-settings have been parsed, 0 otherwise. - (apply_xft_settings): Only update Xft settings with what member seen - indicates as new. - -2009-12-12 Eli Zaretskii - - * dispextern.h (struct text_pos): Use EMACS_INT; - (struct glyph): Use EMACS_INT for charpos. - (struct it): Use EMACS_INT for stop_charpos, end_charpos, - region_beg_charpos, region_end_charpos, - redisplay_end_trigger_charpos, and also for - iterator_stack_entry.end_charpos and - iterator_stack_entry.stop_charpos. - -2009-12-12 Jan Djärv - - * gtkutil.c (scroll_end_callback): New function (bug #5177). - (xg_create_scroll_bar): Call scroll_end_callback on button release - event (bug #5177). - (xg_event_is_for_scrollbar): != replaced with ==. - -2009-12-12 Kenichi Handa - - * ftfont.c (struct ftfont_info): New member matrix. - (ftfont_open): Setup xftfont_info->matrix. - (MFLTFontFT): New member matrix. - (FLOOR, CEIL, ROUND): New macros. - (ftfont_get_metrics): Handle matrix transformation. - (ftfont_shape_by_flt): New arg matrix. Callers changed. - - * xftfont.c (struct xftfont_info): New member matrix. - (xftfont_open): Setup xftfont_info->matrix. - -2009-12-10 Kenichi Handa - - * xdisp.c (append_space_for_newline): Consider face-remapping. - -2009-12-09 Andreas Schwab - - * xsettings.c: Include "keyboard.h". - - * gtkutil.c (xg_tool_bar_proxy_help_callback): Fix missing return. - - Fix implicit function declarations. - * cmds.c: Include "frame.h". - * frame.c: Include "font.h" also if !HAVE_WINDOW_SYSTEM. - * frame.h: Move declaration of delete_frame outside of - HAVE_WINDOW_SYSTEM. - -2009-12-09 Ken Brown (tiny change) - - * s/cygwin.h (G_SLICE_ALWAYS_MALLOC): New variable. - - * emacs.c (main): Set the G_SLICE environment variable for Cygwin - GTK builds. - -2009-12-07 Andreas Schwab - - * unexelf.c (unexec): Don't search for .data twice. - -2009-12-05 Chong Yidong - - * xdisp.c (push_display_prop): Don't set avoid_cursor_p. Return 0 - if push failed. - (handle_line_prefix): Set avoid_cursor_p here. Check return value - of push_display_prop (Bug#5000). - - * xfaces.c (Fx_family_fonts): Handle 2009-07-14 change to return - value of font_list_entities (Bug#5085). - -2009-12-04 Juanma Barranquero - - Fix `string-to-number' to deal consistently with integers and floats. - * lread.c (isfloat_string): New argument ignore_trailing to accept all - trailing characters, not just whitespace. - (read1): Pass new arg 0 to keep old behavior. - * data.c (Fstring_to_number): Pass 1 to isfloat_string to ignore - trailing chars, as it is already done for integers. Doc fixes. - * lisp.h (isfloat_string): Add new arg to declaration of isfloat_string. - -2009-12-04 Eli Zaretskii - - * dispextern.h (enum prop_idx) : - Delete unused enumeration value. - -2009-12-03 Eli Zaretskii - - * Makefile.in (lisp, shortlisp): Replace indian.el with indian.elc. - -2009-12-03 Daniel Hackney (tiny change) - - * process.c (Fmake_network_process): Fix up the tests for - "connectionless socket", so they DTRT for seqpacket sockets as well. - -2009-12-03 Stefan Monnier - - * process.c (Qseqpacket): New symbol. - (HAVE_SEQPACKET): New macro. - (Fmake_network_process): Accept new :type `seqpacket'. - (init_process): Add `seqpacket' feature when applicable. - (syms_of_process): Initialize Qseqpacket. - -2009-12-01 YAMAMOTO Mitsuharu - - * font.c (font_load_for_lface, font_open_by_name): Don't store name - if entity is Qnil. - -2009-11-30 Stefan Monnier - - * print.c (print_preprocess): Preprocess the key_and_value table of - hashtables, even tho they're "hidden" (bug#5082). - -2009-11-29 Jan Djärv - - * frame.c (frame_make_pointer_invisible) - (frame_make_pointer_visible): Declare f before statements. - -2009-11-28 Eli Zaretskii - - * Makefile.in [!AUTO_DEPEND]: Remove outdated comment about - omitted dependencies on lisp.h. - -2009-11-27 Jan Djärv - - * xftfont.c (xftfont_end_for_frame): Just return if dpyinfo->display - is NULL. - - * xterm.c (x_delete_terminal): Set dpyinfo->display to NULL. - - * frame.c (frame_make_pointer_invisible) - (frame_make_pointer_visible): Just return if there isn't any selected - frame. - - * search.c (simple_search): Remove warning by making *p const. - -2009-11-26 Dan Nicolaescu - - * xdisp.c (power_letter): Remove duplicate const. - -2009-11-25 Jan Djärv - - * term.c (delete_tty): Remove check for last terminal (bug#4970). - - * xsettings.c: Revert changes from 2009-11-23. Just use Xft - defaults (bug #5025). - -2009-11-24 Stefan Monnier - - * insdel.c (adjust_markers_for_delete): Move it in the - right direction! (bug#4803) - -2009-11-24 YAMAMOTO Mitsuharu - - * font.c (font_open_entity): Don't use ASET if font_object is Qnil. - - * xterm.c (x_new_font): Update f->scroll_bar_actual_width. - -2009-11-24 Glenn Morris - - * frame.c (focus-follows-mouse): Mention mouse-autoselect-window. - -2009-11-23 Jan Djärv - - * Makefile.in: Must create deps for ecrt0.o in its rule. - - * xfns.c (Fx_select_font): Try to convert Fontconfig name to Gtk name - because that is what Gtk+ font dialog understands. - - * font.c (font_make_object, Fcopy_font_spec): Use Fcopy_alist instead - of Fcopy_sequence. - (font_open_by_name): Put name given into QCname for font-object returned. - - * frame.c (x_set_font): Save original font name as frame parameter - font-parameter. - - * xsettings.c (set_default_xft_settings): New function. - (init_xfd_settings): Call set_default_xft_settings if no XSETTINGS window - is found. - -2009-11-22 Andreas Schwab - - * search.c (simple_search): Avoid CHAR_TO_BYTE in inner loop when - searching backwards through multibyte buffer. - -2009-11-21 Jan Djärv - - * xterm.c: #include xgselect.h. - (x_initialize): Call xgselect_initialize. - - * xsettings.c (something_changedCB): C++ comments => C comments. - (init_gconf): Do not deal with any GLib file descriptors, xg_select - does that now. - - * gtkutil.c (xg_timer, xg_process_timeouts, xg_start_timer) - (xg_stop_timer, menu_grab_callback_cnt, menu_grab_callback) - (scroll_bar_button_cb): Remove. - (create_menus): C++ comments => C comments. Don't bind grab-notify - event. - (xg_create_scroll_bar): Don't bind button-press-event and - button-release-event. - - * process.c: Include xgselect.h if defined (USE_GTK) || - defined (HAVE_GCONF). - (wait_reading_process_output): Call xg_select for the same condition. - - * xgselect.c (xg_select): New function to better integrate with - GLib/Gtk event handling. Needed if GConf daemon dies/restarts. - - * xgselect.h: New file, declare xg_select, xgselect_initialize. - - * Makefile.in (XOBJ): Add xgselect.o. - -2009-11-21 Andreas Schwab - - * character.h (STRING_CHAR, STRING_CHAR_AND_LENGTH): - Remove ignored second argument. All callers changed. - * regex.c (STRING_CHAR, STRING_CHAR_AND_LENGTH, RE_STRING_CHAR) - (RE_STRING_CHAR_AND_LENGTH): Likewise. - * xdisp.c (string_char_and_length): Likewise. - -2009-11-21 Dan Nicolaescu - - * xterm.c (x_new_font): - * print.c (print_object): - * cmds.c (Fself_insert_command): Move declarations before statements. - -2009-11-20 Ken Brown (tiny change) - - * s/cygwin.h: Remove unneeded linker flags. - -2009-11-20 Jan Djärv - - * xfns.c (x_default_font_parameter): Call xsettings_get_system_font. - - * xsettings.h: Declare xsettings_get_system_font. - - * xsettings.c (xsettings_get_system_font): New function. - (init_gconf): No use initiating gconf unless we have Xft also. - (syms_of_xsettings): Only provide system-font-setting if HAVE_XFT and - HAVE_GCONF. - - * gtkutil.c (xg_modify_menubar_widgets): If menubar is totally empty - add a blank entry so it doesn't collapse into nothing. - -2009-11-19 Stefan Monnier - - * lread.c (Funintern): Comment out last change. - -2009-11-19 Richard Stallman - - * lread.c (Funintern): Error if symbol is t or nil. - -2009-11-19 Stefan Monnier - - * insdel.c (make_gap_larger): Don't make as many assumptions about the - representation of Lisp integers. - Reported by MJ Chan . - -2009-11-17 Andreas Schwab - - * lisp.h: Remove declaration of Ffont_get_system_font. - * xfns.c: Move include of "xsettings.h". - * xsettings.h: Use EXFUN to declare Ffont_get_system_font. - -2009-11-17 Jan Djärv - - * xsettings.c (something_changedCB, Ffont_get_system_font): - Check use_system_font. - (syms_of_xsettings): DEFVAR font-use-system-font. - -2009-11-17 Andreas Schwab - - * xfns.c (x_default_font_parameter): Remove dead assignment. - - * lisp.h (Fbyteorder, init_font, Ffont_get_system_font): Declare. - -2009-11-17 Jan Djärv - - * xftfont.c (xftfont_fix_match): Older versions of fontconfig do - not have FC_LCD_*. #define them if not there. - - * xsettings.c (parse_xft_settings, apply_xft_settings): Ditto. - - * xterm.h (struct x_display_info): Add atoms and Window for xsettings. - - * xterm.c (handle_one_xevent): Call xft_settings_event for - ClientMessage, PropertyNotify and DestroyNotify. - (x_term_init): If we have XFT, get DPI from Xft.dpi. - Call xsettings_initialize. - - * xftfont.c (xftfont_fix_match): New function. - (xftfont_open): Call XftDefaultSubstitute before XftFontMatch. - Call xftfont_fix_match after XftFontMatch. - - * xfont.c (xfont_driver): Initialize all members. - - * xfns.c (x_default_font_parameter): - Try font from Ffont_get_system_font. - Do not get font from x_default_parameter if we got one from - Ffont_get_system_font. - (Fx_select_font): Get the defaut font name from :name of FRAME_FONT(f). - - * w32font.c (w32font_driver): Initialize all members. - - * termhooks.h (enum event_kind): CONFIG_CHANGED_EVENT is new. - - * lisp.h: Declare syms_of_xsettings. - - * keyboard.c (kbd_buffer_get_event, make_lispy_event): - Handle CONFIG_CHANGED_EVENT. - - * ftfont.c (ftfont_filter_properties): New function. - - * frame.c (x_set_font): Remove unused variable lval. - - * font.h (struct font_driver): Add filter_properties. - - * font.c (font_put_extra): Don't return if val is nil, it means - boolean option is off. - (font_parse_fcname): Collect all extra properties in extra_props - and call filter_properties for all drivers with extra_props and - font as parameter. - (font_open_entity): Do not use cache, it does not pick up new - fontconfig settings like hinting. - (font_load_for_lface): If spec had a name in it, store it in entity. - - * emacs.c (main): Call syms_of_xsettings. - - * config.in: HAVE_GCONF is new. - - * Makefile.in (GCONF_CFLAGS, GCONF_LIBS): New variables for HAVE_GCONF. - xsettings.o is new. - -2009-11-17 Kenichi Handa - - * xdisp.c (x_produce_glyphs): Consider face-remapping when falling - back to the default font in case that no suitable font is found. - -2009-11-17 Stefan Monnier - - * menu.c (Fx_popup_menu) [HAVE_NS]: Use generic code for window edge. - Suggested by Chad Brown . - (push_menu_item): Use MENU_ITEMS_ITEM_* names. - -2009-11-16 Jan Djärv - - * xmenu.c (x_menu_wait_for_event): Call XFlush before select. - -2009-11-14 Andreas Schwab - - * Makefile.in: Ignore errors from mkdir when creating deps directory. - -2009-11-14 Jan Djärv - - * gtkutil.c (xg_update_frame_menubar): Do nothing if menubar already - has a parent. - - * Makefile.in: If AUTO_DEPEND is defined, make gcc generate - dependency files in deps/. Include those files into Makefile. - - * config.in: Generated (AUTO_DEPEND). - -2009-11-13 Michael Albinus - - * dbusbind.c (Vdbus_registered_objects_table): Rename from - Vdbus_registered_functions_table, because it contains also - properties. Fix docstring. - (Fdbus_call_method, Fdbus_call_method_asynchronously): Fix docstring. - -2009-11-13 Stefan Monnier - - * alloc.c (mark_object): Don't reprocess marked strings. - Check vector's markbit earlier. Adjust calls to mark_vectorlike. - (mark_vectorlike, mark_char_table): Assume the object is unmarked. - -2009-11-13 Kenichi Handa - - * category.c (word_boundary_p): Adjust for the change of the - semantics of Vword_combining_categories. - (Vword_combining_categories): Describe the slight change of the - semantics. - -2009-11-13 Eli Zaretskii - - * menu.c (Fx_popup_menu): Call Fx_hide_tip only if HAVE_WINDOW_SYSTEM. - - * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Revert last change. - -2009-11-12 Stefan Monnier - - * xdisp.c (syms_of_xdisp): Fix typo in last change. - -2009-11-12 Juanma Barranquero - - * makefile.w32-in: Update dependencies; add dependencies to lisp.h. - -2009-11-11 David Reitter - - * menu.c (Fx_popup_menu): Remove left-over debugging code and rename - variables to fix 2009-11-09 change. - -2009-11-11 Dan Nicolaescu - - * process.c (ifflag_def): Make flag_sym constant. - (Fnetwork_interface_info): Use a constant pointer. - (ifflag_table): - * xfns.c (cursor_bits): - * xdisp.c (power_letter): - * termcap.c (speeds, esctab): - * sysdep.c (baud_convert): - * keyboard.c (lispy_accent_codes, modifier_names): - * image.c (xbm_format, xpm_format, pbm_format, png_format) - (jpeg_format, tiff_format, gif_format, svg_format) - (interlace_start, interlace_increment, gs_format): - * gtkutil.c (separator_names): - * fringe.c (swap_nibble): - * fns.c (base64_value_to_char, base64_char_to_value): - * fileio.c (make_temp_name_tbl): - * coding.c (suffixes): Make constant. - - * frame.c (make_initial_frame): - * buffer.c (init_buffer_once): Use make_pure_c_string instead of - build_string. - * alloc.c (syms_of_alloc): Build Vmemory_signal_data in pure memory. - - * s/freebsd.h: - * s/netbsd.h: Remove code referring to non-existent file: unexsunos4.o. - - * Makefile.in: Add dependencies to lisp.h. Remove dependencies - for non-existent files: unexmips.c, unexnext.c, abbrev.c, malloc.c. - - * xfns.c (syms_of_xfns): Use make_pure_string instead of build_string. - * xterm.c (syms_of_xterm): - * xfaces.c (syms_of_xfaces): - * xdisp.c (syms_of_xdisp): - * lread.c (syms_of_lread): - * keyboard.c (syms_of_keyboard): Use make_pure_c_string instead of - build_string. - - * doc.c (Fsnarf_documentation): Purecopy Vbuild_files. - -2009-11-10 Stefan Monnier - - * fns.c (Fplist_get): Merge the active and the commented out code. - -2009-11-10 Jan Djärv - - * keyboard.h: Declare timer_check. - - * keyboard.c (timer_check_2): New function that does what the old - timer_check did. - (timer_check): Call timer_check_2 until -1 or a non-zero time is - returned, i.e. don't return -1 with timers pending. - - * process.c: Remove extern declaration of timer_check. - - * xmenu.c (x_menu_wait_for_event): Remove code that did a timeout - even if timer_check returned -1. - - * gtkutil.c (xg_dialog_response_cb): Data is now a struct - xg_dialog_data. - (pop_down_dialog): Destroy widget (if any), cancel timer and unref - the event loop. - (xg_maybe_add_timer, xg_dialog_run): New functions (bug #4574). - (xg_get_file_name, xg_get_font_name): Call xg_dialog_run (bug #4574). - Destroy the dialog after xg_dialog_run. - -2009-11-10 Stefan Monnier - - * menu.c (Fx_popup_menu) [HAVE_NS]: Remove unused vars. - -2009-11-10 Jan Djärv - - * xmenu.c (xmenu_show): Must not be static after 2009-11-09 changes. - -2009-11-09 Juanma Barranquero - - * menu.c [HAVE_NTGUI]: Declare current_popup_menu. - -2009-11-09 Stefan Monnier - - * menu.c (Fx_popup_menu): Consolidate versions from xmenu.c, - w32menu.c, and nsmenu.m. - Simplify the obsolete case where position is nil. - (cleanup_popup_menu): New function, moved from nsmenu.m. - (struct skp): Remove slot `notreal'. - (single_keymap_panes, keymap_panes): Remove arg `notreal' and - adjust callers. - (single_menu_item): Adjust call to parse_menu_item. - (syms_of_menu): Defsubr x-popup-menu. - * menu.h (Vmenu_updating_frame): Consolidate declarations from *menu.c. - (keymap_panes): Don't export any more. - (mouse_position_for_popup, w32_menu_show, ns_menu_show) - (xmenu_show): Declare. - * keyboard.c (parse_menu_item): Remove arg `notreal'. - (menu_bar_item, read_char_minibuf_menu_prompt): Adjust callers. - * keyboard.h (parse_menu_item): Update declaration. - * xmenu.c (Fx_popup_menu): Remove. - (syms_of_xmenu): Don't defsubr x-popup-menu. - * w32menu.c (Fx_popup_menu): Remove. - (syms_of_w32menu): Don't defsubr x-popup-menu. - * nsmenu.m (cleanup_popup_menu): Remove. - (ns_menu_show): Rename from ns_popup_menu and remove all the code - moved to menu.c's Fx_popup_menu. - (Fx_popup_menu): Remove. - (syms_of_nsmenu): Don't defsubr x-popup-menu, and don't initialize - menu_items (it's done in menu.c already). - -2009-11-08 Stefan Monnier - - * keyboard.c (parse_menu_item): Handle `notreal' a bit earlier. - Use `tem' less. Make sure KEYEQ holds a string or nil (bug#4879). - -2009-11-08 Chong Yidong - - * xmenu.c (Fx_popup_menu): Extract event timestamp. Pass it to - xmenu_show. Hide any tooltip before opening a menu. - (xmenu_show): New arg. Pass it to create_and_show_popup_menu. - (create_and_show_popup_menu): New arg. Pass it to gtk_menu_popup. - -2009-11-06 Stefan Monnier - - Let integers use up 2 tags to give them one extra bit and thus double - their range. - * lisp.h (USE_2_TAGS_FOR_INTS): New macro. - (LISP_INT_TAG, case_Lisp_Int, LISP_STRING_TAG, LISP_INT_TAG_P): - New macros. - (enum Lisp_Type): Use them. Give explicit values. - (Lisp_Type_Limit): Remove. - (XINT, XUINT, make_number) [!USE_LISP_UNION_TYPE]: - (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM, INTMASK): - Pay attention to USE_2_TAGS_FOR_INTS. - (INTEGERP): Use LISP_INT_TAG_P. - * fns.c (internal_equal): Simplify the default case. - (sxhash): Use case_Lisp_Int. - * data.c (wrong_type_argument): Don't check against Lisp_Type_Limit - any more. - (Ftype_of): Use case_Lisp_Int. - (store_symval_forwarding): Take into account the fact that Ints can - now have more than one tag. - * buffer.c (syms_of_buffer): Use LISP_INT_TAG. - buffer_slot_type_mismatch): - * xfaces.c (face_attr_equal_p): - * print.c (print_object): - * alloc.c (mark_maybe_object, mark_object, survives_gc_p): - Use case_Lisp_Int. - -2009-11-06 Eli Zaretskii - - * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce by further 30K. - - * alloc.c (make_pure_c_string): Fix last change to avoid compiler - warning. - -2009-11-06 Jan Djärv - - * gtkutil.c (xg_event_is_for_scrollbar): New function (bug#4870). - - * gtkutil.h: Declare xg_event_is_for_scrollbar (bug#4870). - - * xterm.c (handle_one_xevent): Call xg_event_is_for_scrollbar for - ButtonPressRelease and MotionNotify (bug#4870). - -2009-11-06 Dan Nicolaescu - - * keymap.c (syms_of_keymap): Construct exclude_keys in pure memory. - - * xterm.c (syms_of_xterm): - * xselect.c (syms_of_xselect): - * xmenu.c (syms_of_xmenu): - * xfns.c (syms_of_xfns): - * xfaces.c (syms_of_xfaces): - * xdisp.c (syms_of_xdisp): - * window.c (syms_of_window): - * w32fns.c (syms_of_w32fns): - * undo.c (syms_of_undo): - * textprop.c (syms_of_textprop): - * terminal.c (syms_of_terminal): - * syntax.c (syms_of_syntax): - * sound.c (syms_of_sound): - * search.c (syms_of_search): - * print.c (syms_of_print): - * minibuf.c (syms_of_minibuf): - * macros.c (syms_of_macros): - * keymap.c (syms_of_keymap, initial_define_key) - (initial_define_lispy_key): - * keyboard.c (syms_of_keyboard): - * insdel.c (syms_of_insdel): - * image.c (syms_of_image): - * fringe.c (syms_of_fringe): - * frame.c (syms_of_frame): - * fontset.c (syms_of_fontset): - * fns.c (syms_of_fns): - * fns.c (syms_of_fns): - * fileio.c (syms_of_fileio): - * fileio.c (syms_of_fileio): - * eval.c (syms_of_eval): - * doc.c (syms_of_doc): - * dispnew.c (syms_of_display): - * dired.c (syms_of_dired): - * dbusbind.c (syms_of_dbusbind): - * data.c (syms_of_data): - * composite.c (syms_of_composite): - * coding.c (syms_of_coding): - * cmds.c (syms_of_cmds): - * charset.c (define_charset_internal, syms_of_character): - * ccl.c (syms_of_ccl): - * category.c (syms_of_category, init_category_once): - * casetab.c (syms_of_casetab): - * casefiddle.c (syms_of_casefiddle): - * callint.c (syms_of_callint): - * bytecode.c (syms_of_bytecode): - * buffer.c (keys_of_buffer, syms_of_buffer): - * alloc.c (syms_of_alloc): - * process.c (syms_of_process, init_process): - * lread.c (syms_of_lread, init_obarray): - * font.c (build_style_table): - * emacs.c (syms_of_emacs, main): Replace calls to intern with - intern_c_string, calls to make_pure_string with - make_pure_c_string. Use pure_cons instead of Fcons. - - * process.c (socket_options): Make it const. - (set_socket_option, init_process): Use a const pointer. - - * lread.c (intern_c_string): New function. - (defvar_kboard, defvar_lisp, defvar_lisp_nopro, defvar_bool) - (defvar_int): Uset it. Make the name const char*. - - * lisp.h (defvar_kboard, defvar_lisp, defvar_lisp_nopro, defvar_bool) - (defvar_int): Update prototypes. - (DEFUN, EXFUN): Support for prototypes is now required. - (intern_c_string): New prototype. - (struct Lisp_Subr): Make symbol_name constant. - - * font.c (struct table_entry): Remove unused member. Make NAMES - constant. - (weight_table, slant_table, width_table): Make constant. - - * emacs.c (struct standard_args): Make name and longname constant. - - * character.h (DEFSYM): Use intern_c_string. - -2009-11-06 Stefan Monnier - - * alloc.c (make_pure_c_string): New function. - - * eval.c (Fautoload): Purecopy all arguments. - -2009-11-05 Kenichi Handa - - * fileio.c (Finsert_file_contents): Be sure set coding-system of - the buffer in case of replace. - -2009-11-04 Dan Nicolaescu - - * puresize.h (BASE_PURESIZE): Increase to 1620000. - -2009-11-03 Stefan Monnier - - * editfns.c (save_restriction_restore): Update the (pt/begv/vz)_markers - when applicable (bug#4851). - - * lisp.h: Make USE_LSB_TAG work with USE_LISP_UNION_TYPE. - (P_): Support for prototypes is now required. - -2009-10-31 Chong Yidong - - * frame.c (Fmake_frame_invisible, Fframe_visible_p): Doc fix - (Bug#4827). - -2009-10-30 Eli Zaretskii - - * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Redefine to waste less pure space. - -2009-10-30 Dan Nicolaescu - - * puresize.h (BASE_PURESIZE): Increase to 1470000. - - * lread.c (Fload): Purecopy the file name when building - Vpreloaded_file_list. - -2009-10-29 Jason Rumney - - * w32fns.c (syms_of_w32fns): Change default value of - w32-scroll-lock-modifier to nil. (Bug#2827) - -2009-10-26 Juanma Barranquero - - * minibuf.c (Fall_completions): Fix typos in docstring. - -2009-10-26 Andreas Schwab - - * puresize.h (PURESIZE_RATIO): Increase back to 10/6. - -2009-10-26 Juanma Barranquero - - * window.c (grow_mini_window): Comment out "delta >= 0" assertion. - For delta < 0, skip check that only makes sense when the mini-window - is going to be enlarged. (Bug#4534) - -2009-10-25 Chong Yidong - - * keyboard.c (read_char_x_menu_prompt): Don't demand a prompt - string in menu maps (Bug#4471). - -2009-10-24 Chong Yidong - - * nsfns.m (ns_set_name, ns_set_name_as_filename): Don't call - FRAME_NS_VIEW on terminal frames (Bug#4765). - -2009-10-24 Andreas Schwab - - * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_INTnn and - DBUS_TYPE_UINTnn separately to get proper sign extension. - - * dired.c (Ffile_attributes): Simplify now that FIXNUM_OVERFLOW_P - can properly handle unsigned types. - (make_uid, make_gid): Remove. - - * lisp.h (FIXNUM_OVERFLOW_P): Fix last change to handle unsigned - types again. - - * sysdep.c (procfs_ttyname): Fix sprintf format to match argument type. - (system_process_attributes): Likewise. - -2009-10-24 Dan Nicolaescu - - * keymap.c (Fmake_sparse_keymap): Purecopy the name. - - * eval.c (Fautoload): Purecopy the filename. Simplify. - - * category.c (Fdefine_category): Purecopy docstring. - -2009-10-23 Andreas Schwab - - * lisp.h (FIXNUM_OVERFLOW_P): Remove cast to avoid overflow. - - * puresize.h (PURESIZE_RATIO): Decrease to 11/7. - -2009-10-23 Chong Yidong - - * window.c (Fwindow_edges, Fwindow_pixel_edges) - (Fwindow_inside_edges, Fwindow_inside_pixel_edges): Doc fix - (Bug#4775). - -2009-10-23 Stefan Monnier - - * fileio.c (syms_of_fileio): Initialize Vdirectory_sep_char. - (init_fileio_once): - * lisp.h (init_fileio_once): Remove. - * emacs.c (main): Don't call init_fileio_once. - -2009-10-23 Dan Nicolaescu - - * puresize.h (BASE_PURESIZE): Increase to 1430000. - -2009-10-21 Andreas Schwab - - * doprnt.c (doprnt): Fix overflow check. - -2009-10-21 Jan Djärv - - * xterm.c (x_term_init): Remove XSynchronize call done for debugging. - - * xterm.h (x_wait_for_event): Declare it. - - * xterm.c (pending_event_wait): New variable. - (handle_one_xevent): Set pending_event_wait.eventtype to 0 if we - see pending_event_wait.eventtype. - (handle_one_xevent): Don't change gravity when parent changes. - (x_new_font): Call change_frame_size with new rows/columns before we - try to resize the frame. - (x_wait_for_event): New function. - (x_set_window_size_1): Don't change gravity unless change_gravity - is set. - Call XResizeWindow with FRAME_OUTER_WINDOW. If we are visible, - don't change frame size, instead wait for the ConfigureNotify. - (x_set_window_size): Call x_set_window_size_1 for USE_X_TOOLKIT also. - (x_wm_set_size_hint): Remove ifdefs for USE_X_TOOLKIT. - (x_initialize): Initialize pending_event_wait. - - * xmenu.c (set_frame_menubar): Add internal border width to menu bar - size. - - * widget.c (EmacsFrameSetValues): Add comment. - (EmacsFrameSetCharSize): Just call x_set_window_size. - - * gtkutil.c (xg_frame_set_char_size): Flush events and call - x_wait_for_event. - (flush_and_sync): Remove again. - (xg_get_font_name): Suggest monospace if no previous font is known. - -2009-10-20 Stefan Monnier - - * character.c (char_resolve_modifier_mask): Don't resolve meta to the - 8th bit, since that only made sense in the ASCII world (bug#4751). - -2009-10-20 YAMAMOTO Mitsuharu - - * xterm.c (XTread_socket) [!USE_GTK && HAVE_X_I18N]: Don't quit - processing pending events when event is filtered for input method. - (Bug#3681) - -2009-10-20 Juanma Barranquero - - * fns.c: Add #endif accidentally removed in previous change. - -2009-10-19 Dan Nicolaescu - - * fns.c: Remove code for unsupported system: MAC_OS. - * image.c: Likewise. Include setjmp.h. - -2009-10-19 Jan Djärv - - * xterm.c (x_create_toolkit_scroll_bar): Don't allocate color for - pixel -1 (bug #4742). - -2009-10-19 Dan Nicolaescu - - * process.c (create_pty): Remove conditionals for no longer - supported systems: UNIPLUS and RTU. - - * xterm.c: - * xfns.c: Remove always true condition: XtSpecificationRelease >= 5. - - * alloc.c: Do not define struct catchtag. - * eval.c: Move struct catchtag definition ... - * lisp.h: ... here. - - * image.c: Move png.h #include earlier to avoid warnings. - - * xterm.c: - * xsmfns.c: - * xselect.c: - * xrdb.c: - * xmenu.c: - * xftfont.c: - * xfont.c: - * xfns.c: - * xfaces.c: - * xdisp.c: - * window.c: - * widget.c: - * w32xfns.c: - * w32uniscribe.c: - * w32term.c: - * w32select.c: - * w32reg.c: - * w32proc.c: - * w32menu.c: - * w32inevt.c: - * w32heap.c: - * w32font.c: - * w32fns.c: - * w32console.c: - * w32.c: - * w16select.c: - * vm-limit.c: - * unexsol.c: - * unexec.c: - * unexcw.c: - * unexaix.c: - * undo.c: - * tparam.c: - * textprop.c: - * terminfo.c: - * terminal.c: - * termcap.c: - * term.c: - * syntax.c: - * sound.c: - * sheap.c: - * search.c: - * scroll.c: - * region-cache.c: - * regex.c: - * ralloc.c: - * process.c: - * print.c: - * nsterm.m: - * nsselect.m: - * nsmenu.m: - * nsimage.m: - * nsfont.m: - * nsfns.m: - * msdos.c: - * minibuf.c: - * menu.c: - * marker.c: - * macros.c: - * keymap.c: - * keyboard.c: - * intervals.c: - * insdel.c: - * indent.c: - * gtkutil.c: - * ftxfont.c: - * ftfont.c: - * fringe.c: - * frame.c: - * fontset.c: - * font.c: - * fns.c: - * floatfns.c: - * filelock.c: - * fileio.c: - * emacs.c: - * editfns.c: - * dosfns.c: - * doprnt.c: - * doc.c: - * dispnew.c: - * dired.c: - * dbusbind.c: - * data.c: - * composite.c: - * coding.c: - * cmds.c: - * cm.c: - * chartab.c: - * charset.c: - * character.c: - * ccl.c: - * category.c: - * casetab.c: - * casefiddle.c: - * callproc.c: - * callint.c: - * bytecode.c: - * buffer.c: - * atimer.c: Include setjmp.h. (Bug#4643) - -2009-10-18 Stefan Monnier - - Remove leftover table unibyte_to_multibyte_table. - * character.c (unibyte_to_multibyte_table): Remove. - (Funibyte_char_to_multibyte): Use MAKE_CHAR_MULTIBYTE. - * charset.c (init_charset_once): Don't init unibyte_to_multibyte_table. - * character.h (UNIBYTE_TO_CHAR): New macro. - (MAKE_CHAR_MULTIBYTE): Use it. - (unibyte_to_multibyte_table, unibyte_char_to_multibyte): Remove. - * xdisp.c (get_next_display_element): USE ASCII_CHAR_P. - (message_dolog, set_message_1): - * search.c (Freplace_match): - * editfns.c (Fcompare_buffer_substrings): - * fns.c (Fcompare_strings): Use MAKE_CHAR_MULTIBYTE. - (concat): - * insdel.c (copy_text, count_size_as_multibyte): - Use ASCII_CHAR_P and BYTE8_TO_CHAR. - * term.c (produce_glyphs): - * syntax.c (skip_chars): Use BYTE8_TO_CHAR. - * regex.c (RE_CHAR_TO_MULTIBYTE): - * cmds.c (internal_self_insert): - * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use UNIBYTE_TO_CHAR. - - * cmds.c (internal_self_insert): `c' is already in "multibyte" form. - -2009-10-17 Dan Nicolaescu - - * puresize.h (BASE_PURESIZE): Increase to 1310000. - -2009-10-16 Juanma Barranquero - - * buffer.c (Fbuffer_name): Doc fix. (Bug#4728) - -2009-10-15 Adrian Robert - - * nsterm.h (NS_HAVE_NSINTEGER): Back out and augment with CGFloat, - still needed under Tiger. - - * nsterm.m (EmacsView-conversationIdentifier): Arg is long. - - * m/amdx86-64.h: Don't set LIB_STANDARD and START_FILES under - __Apple__. - - * m/intel386.h: Remove DARWIN_OS/_LP64 special case. - -2009-10-15 Kenichi Handa - - * print.c (print_object): Escape a symbol like "2E10" too. - -2009-10-11 Adrian Robert - - Cleanups and changes for 64-bit compile under Snow Leopard. - Based on suggestions by Erik Charlebois. - - * nsfns.m (xw-color-values): Use CGFloat where appropriate. - - * nsfont.m (ns_char_width): Replace deprecated call. - (ns_findfonts, nsfont_list_family): Use long format in printf, and - cast argument. - (nsfont_open): Use ns_char_width() everywhere. - (ns_uni_to_glyphs, NSGlyphStorage): Use NS[U]Integer where appropriate. - - * nsgui.h (NSPoint, NSSize) [!__OBJC__]: Define and use CGFloat. - - * nsimage.m (EmacsImage-setXBMColor:,-getPixelAtX:Y:): Use CGFloat - where appropriate. - - * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Use NSInteger - where appropriate. - (EmacsToolbar-addDisplayItemWithImage:idx:helpText:enabled:): - Use stringWithUTF8String. - (EmacsDialogPanel-initWithContentRect:styleMask:): Fix signature. - - * nsterm.h (EmacsView, EmacsMenu, EmacsToolbar, EmacsTooltip): - Add formal protocol mention to inheritance. - [NS_HAVE_NSINTEGER]: Drop conditional and contents. - - * nsterm.m (ns_color_to_lisp): Use CGFloat where appropriate. - Fix printf format. - (ns_query_color): Use CGFloat where appropriate. - (EmacsView, EmacsScroller): Fix method signatures. - (EmacsScroller-mouseDown:): Use long format in printf, and cast - argument. - - * config.in (NS_HAVE_NSINTEGER): Drop. - - * dbusbind.c (dbus-method-return-internal) - (dbus-method-error-internal): Use long format in printf, and cast - argument. - - * font.c (font_unparse_xlfd, font_unparse_fcname): Use long format - in printf, and cast argument. - - * process.c (list_processes_1): Use long format in printf, and - cast argument. - -2009-10-11 Glenn Morris - - * frame.c (Fframe_pixel_height): Doc fix. (Bug#4535) - -2009-10-08 Jan Djärv - - * gtkutil.c (create_menus): Call gtk_widget_set_size_request for - menu bar with a small width so it doesn't enlarge the frame. - -2009-10-08 Juanma Barranquero - - * fontset.c (Fset_fontset_font): Fix typos in error messages. - -2009-10-06 Glenn Morris - - * Makefile.in (emacs${EXEEXT}): Remove direct dependence on - SOME_MACHINE_LISP (this enters indirectly via DOC). - -2009-10-05 Eli Zaretskii - - * dired.c (Ffile_attributes): Doc fix. (Bug#4638) - -2009-10-04 Eli Zaretskii - - * xdisp.c (syms_of_xdisp) : - Doc fix. - -2009-10-03 Martin Rudalics - - * window.c (Fdelete_window): Check WINDOW argument. (Bug#4618) - -2009-10-02 Michael Albinus - - * lisp.h (Qdelete_directory_internal): Remove, because it is not - used anymore outside fileio.c. - - * w32fns.c (Fsystem_move_file_to_trash): Use delete-directory. - -2009-10-01 Juanma Barranquero - - * lisp.h (Qdelete_directory_internal): - Declare, instead of Qdelete_directory. - - * w32fns.c (Fsystem_move_file_to_trash): Use it. - -2009-10-01 Stefan Monnier - - * eval.c (Fcalled_interactively_p): Add `kind' argument. - -2009-10-01 Michael Albinus - - * fileio.c (Fdelete_directory_internal): Rename from - Fdelete_directory. It is not a command anymore. It has no file - name handler. - -2009-09-28 Stefan Monnier - - * xdisp.c (get_next_display_element): Use an enum in last change. - -2009-09-28 Kenichi Handa - - * xdisp.c (get_next_display_element): Pay attention to - unibyte_display_via_language_environment in handling - Vnobreak_char_display. - -2009-09-27 Adrian Robert - - * nsterm.h (ns_app_name): New extern variable. - - * nsterm.m (ns_app_name): New variable. - (ns_term_init): Set and use it. - (ns_term_shutdown): Use it. - - * nsmenu.m (ns_update_menubar): Use ns_app_name. Sync with xmenu.c. - (EmacsMenu-clear:, ns_popup_dialog): Use ns_app_name. - - * nsfns.m (ns_set_name_iconic, ns_set_name) - (ns_set_name_as_filename, x-create-frame, ns-get-resource) - (ns-set-resource): Use ns_app_name instead of NSProcessInfo call. - - * menu.c (find_and_return_menu_selection) [HAVE_NS]: - Remove double-casting in client_data comparison. - -2009-09-27 YAMAMOTO Mitsuharu - - * keyboard.c (make_lispy_event): Remember last wheel direction. - (syms_of_keyboard) : Compute array size at compile time. - -2009-09-26 Glenn Morris - - * Makefile.in (MSDOS_SUPPORT) [MSDOS]: Remove unneeded '/' in - internal.elc. Add term/pc-win.elc. - (WINDOW_SUPPORT) [HAVE_X_WINDOWS]: Add term/common-win.elc and - term/x-win.elc. - (WINNT_SUPPORT) [WINDOWSNT]: Add term/common-win.elc and - term/w32-win.elc. - (NS_SUPPORT): New. - (lisp): Add NS_SUPPORT. - (SOME_MACHINE_LISP): Add term/w32-win.elc and emacs-lisp/easymenu.elc. - -2009-09-25 David Reitter - - * nsmenu.m (EmacsMenu-clear): Recognize application menu - on Mac OS X 10.6+ (bug#4513). - -2009-09-24 Juanma Barranquero - - * frame.c (xrdb_get_resource): Return nil for empty string resources; - some parts of Emacs code (like font selection) don't grok them. - See http://lists.gnu.org/archive/html/emacs-devel/2009-09/msg00528.html - -2009-09-24 Andreas Schwab - - * coding.c (decode_coding_iso_2022): Fix operator precedence. - -2009-09-24 Juanma Barranquero - - * dired.c (Fdirectory_files): Fix typo in docstring. - -2009-09-23 Adrian Robert - - * nsterm.m (EV_TIMESTAMP, x_set_window_size) - (EmacsApp-application:openFiles:): Remove GNUstep conditionals. - (EmacsScroller-setPosition:portion:whole:): Remove -display call - under GNUstep. - (EmacsView-initFrameFromEmacs:): Set autoresizing mask. - - * nsfont.m (ns_glyph_metrics): Remove GNUstep conditional for - glyph advancement. - -2009-09-22 Adrian Robert - - * nsterm.m (CGContextSetFontRenderingMode): Drop declaration. - (EmacsScroller-mouseDown:): Use SCROLL_BAR_FIRST_DELAY. - - * nsmenu.m (EmacsMenu-menuNeedsUpdate): Ignore if frame has been - deleted (bug #4492). - - * nsfont.m (Vns_reg_to_script): New lisp variable. - (syms_of_nsfont): Declare it. - (ns_registry_to_script): New function. - (ns_get_req_script): Call it. - (ns_findfonts): Don't give up on non-unicode registry. - - * font.c (DEFAULT_ENCODING) [HAVE_NS]: Remove special case. - -2009-09-20 Tom Tromey - - * eval.c (find_handler_clause): Make stack-trace-on-error work in - batch mode (bug#4228). - -2009-09-18 Rob Christie (tiny change) - - * nsmenu.m (EmacsMenu-parseKeyEquiv:): Parse key equivalent more - carefully. (Bug #4339) - -2009-09-18 Chong Yidong - - * syntax.c (Fchar_syntax): Minor doc fix (Bug#4400). - -2009-09-18 Adrian Robert - - * emacs.c (inhibit_x_resources): Update doc string for NS. - (main) [HAVE_NS]: Don't process --no-init-file option. Remove - legacy code for -NXHost. Fix error printf in daemon case. - - * nsterm.h (ns_no_defaults): Remove. - - * nsterm.m (ns_no_defaults): Remove. - (ns_term_init): Switch ns_no_defaults -> inhibit_x_resources. - (ns_use_qd_smoothing): Remove legacy variable. - (EmacsView-windowShouldZoom:): Set frame left_pos, top_pos and - don't update the NSWindow itself. - (EmacsView-windowWillUseStandardFrame:defaultFrame:): Improve - state detection and store user rect ourselves. (Bug #3581) - - * nsfont.m (nsfont_draw) [NS_IMPL_COCOA]: Don't use - ns_use_qd_smoothing. - - * nsfns.m (x_get_string_resource): Ape just-previous changes to other - platform versions. Drop support for emacs-20-style face specs. - (x-close-connection): Drop PSFlush() under OS X. - (x-focus-frame): Activate the app first. (Bug #4180) - -2009-09-17 Juanma Barranquero - - * emacs.c (inhibit_x_resources): New variable. - (main) [HAVE_NS]: Don't process --quick command line option. - (syms_of_emacs) : DEFVAR_BOOL it. - - * lisp.h (inhibit_x_resources): Declare it extern. - - * w32reg.c (x_get_string_resource): - * xrdb.c (x_get_string_resource): Obey inhibit_x_resources. - -2009-09-17 Eli Zaretskii - - * Makefile.in (MSDOS_SUPPORT, SOME_MACHINE_LISP): - Add lisp/term/internal.elc. - -2009-09-17 Stefan Monnier - - * frame.c (x_get_resource_string): Re-add for non-toolkit builds - (bug#4461). - -2009-09-17 Dan Nicolaescu - - * puresize.h (BASE_PURESIZE): Increase to 1290000. - - * Makefile.in (OTHER_FILES): Define using autoconf, not cpp. - (OBJECTS_MACHINE): Remove, unused. - -2009-09-16 Stefan Monnier - - * frame.c (x_get_resource_string): Remove unused. - -2009-09-15 Jan Djärv - - * xterm.c (x_new_font): Call change_frame_size before calling - x_set_window_size, in case frame size won't change. - - * frame.c (x_set_font): Remove dead code. - -2009-09-15 Stefan Monnier - - * lread.c (Fload): Also run do-after-load-evaluation while dumping. - -2009-09-12 Stefan Monnier - - * lread.c (Fload): Don't output a message after loading an obsolete - package any more (done in Lisp now). - -2009-09-12 Chong Yidong - - * fns.c (syms_of_fns): Doc fix (Bug#4227). - -2009-09-12 Stefan Monnier - - * keymap.c (Fwhere_is_internal): Use nconc2. - -2009-09-11 Alan Mackenzie - - * dispnew.c (Fsend_string_to_terminal): Amend doc string to cover - batch mode. - -2009-09-11 Andreas Schwab - - * xdisp.c (display_mode_element): Detect cycles. - -2009-09-11 Stefan Monnier - - * keymap.c (where_is_internal): Don't erroneously return nil right after - filling the cache. - (where_is_internal_1): Fix up typo. - -2009-09-11 Glenn Morris - - * frame.c (Fx_parse_geometry): Unify the X and NS versions so that they - share a common doc-string. - -2009-09-11 Stefan Monnier - - * keymap.c (get_keymap): Return the actual keymap symbol rather than - t for autoloaded keymaps when autoloading is not allowed (bug#4393). - - * keymap.c (QCadvertised_binding): New constant. - (syms_of_keymap): Initialize it. - (Fwhere_is_internal): Try and use bindings from :advertised-binding - if applicable. - -2009-09-10 Stefan Monnier - - * keyboard.c (Qmenu_alias, Vdefine_key_rebound_commands): Remove. - (parse_menu_item): Streamline since bindings are recomputed all the - time anyway. Don't bother checking Vdefine_key_rebound_commands any - more and don't support lmenu's menu-alias any more either. - - * keymap.c (where_is_internal_data): Make noindirect a boolean. - (where_is_internal): Strip it down to only traverse the keymaps. - Move the cache handling from Fwhere_is_internal to here. - (Fwhere_is_internal): Move the handling of remapping and the choice of - the best binding from where_is_internal to here. - Unify the cached/noncached paths, so remapping is also handled - correctly when the cache is used, and so the cache can be used to - speed up remap-handling when applicable. - Give preference to non-remapped bindings. - * doc.c (Fsubstitute_command_keys): Let Fwhere_is_internal's prefer - non-remapped bindings. - * keyboard.c (parse_menu_item): Let Fwhere_is_internal handle - command remapping. - - * xdisp.c (display_mode_element): Move list length limit from 50 to - 5000 (see thread starting with ). - -2009-09-09 Adrian Robert - - * nsfont.m (ns_get_family): Don't force first letter to uppercase. - -2009-09-09 Stefan Monnier - - * xdisp.c (Vtruncate_partial_width_windows): Improve docstring. - (Bug#4334) - - * keymap.c (where_is_internal): Filter out shadowed remappings. - Assume that where_is_internal returns unshadowed bindings to simplify - the code and get rid of the gotos. Use ASIZE. - -2009-09-04 Jan Djärv - - * xterm.c (x_focus_changed): If we get a focusout and pointer - is invisible, make it visible. - - * xterm.h: Remove condition for declaration of - x_*_window_to_frame. - -2009-09-03 Stefan Monnier - - * dispnew.c (Fsend_string_to_terminal): Make it work again on the - initial terminal as well. - -2009-09-02 Jan Djärv - - * xterm.h: Rename x_non_menubar_window_to_frame to - x_menubar_window_to_frame. - - * xterm.c: Remove declarations also in xterm.h - (XTmouse_position): Do not return valid positions - for clicks in the menubar and the toolbar for Gtk+. - - * xfns.c (x_any_window_to_frame): Assume less about Gtk+ internals, - if the widget for the event has the same top level as a frame, - return the frame. - (x_menubar_window_to_frame): Detect menu bar even with Gtk+ - internal windows, bug #4122. - (x_non_menubar_window_to_frame): Remove. - -2009-09-02 Glenn Morris - - * buffer.c (default-major-mode): Move most of the doc from here... - (major-mode): ... to here. - -2009-08-30 Nick Roberts - - * process.c (wait_reading_process_output): Keep the descriptor - when pty is used by a non-child process, e.g., in I/O buffer of - GDB this allows inferior to be restarted. - -2009-08-29 Eli Zaretskii - - * xdisp.c (redisplay_internal): Remove redundant test and collapse - both branches into one. - -2009-08-29 Stefan Monnier - - * emacs.c (USAGE1): Remove --(no-)multibyte, --(no-)unibyte. - (main): Use enable-multibyte-characters rather than - default-enable-multibyte-characters. Output a warning message when - running a unibyte session. - -2009-08-28 YAMAMOTO Mitsuharu - - * unexmacosx.c (print_load_command_name) [LC_DYLD_INFO]: Add cases - LC_DYLD_INFO and LC_DYLD_INFO_ONLY. - (copy_data_segment): Also copy __program_vars section. - (copy_dyld_info) [LC_DYLD_INFO]: New function. - (dump_it) [LC_DYLD_INFO]: Use it. - - * s/darwin.h [temacs]: Undef HAVE_POSIX_MEMALIGN. - -2009-08-28 Eli Zaretskii - - * makefile.w32-in ($(BLD)/doc.$(O)): Depend on buildobj.h, not on - $(SRC)/buildobj.h. - (buildobj.h): Renamed from $(SRC)/buildobj.h. - (make-buildobj-CMD, make-buildobj-SH): Create buildobj.h, not - $(SRC)/buildobj.h. - (clean): Add buildobj.h. - -2009-08-28 Teodor Zlatanov - - * print.c (print_object): Set escapeflag to 1 when printing - hashtable keys and values. - -2009-08-27 Stefan Monnier - - * lread.c (read_integer): Use doubles (and potentially return a float - number) as we do in string-to-number. - (read1): Use strtol to read integers, signal errors on strtol's - overflow and use floats if strtol's output is too large for - Elisp integers. - -2009-08-27 Eli Zaretskii - - * makefile.w32-in ($(SRC)/buildobj.h, make-buildobj-CMD) - (make-buildobj-SH): Fix last change. - (SRC): Move to before where it's first used. - -2009-08-27 Kenichi Handa - - * process.c (send_process): Use encode_coding_object instead of - encode_coding_string to perform eol-conversion even if the string - is unibyte. - - * coding.c (encode_coding_utf_16): Fix checking of a Unicode - character. - - * cmds.c (Fself_insert_command): Avoid unnecessay - unibyte->multibyte conversion. (Bug#4240) (Bug#4037) - -2009-08-26 Dan Nicolaescu - - * callproc.c (Fcall_process): Remove always true #if. - - * lisp.h: Replace #if 0 code for checking with text pointing to - the --enable-checking configure flag. - - * emacs.c (main): Mention the --enable-profiling configure flag - instead of using CFLAGS. - -2009-08-26 Ken Raeburn - - * Makefile.in (buildobj.h): New target. - (doc.o): Depend on it. - (temacs${EXEEXT}): Don't generate buildobj.lst. - (mostlyclean): Delete buildobj.h, not buildobj.lst. - * makefile.w32-in ($(SRC)/buildobj.h): New target. - ($(BLD)/doc.$(O)): Depend on it. - (make-buildobj-CMD, make-buildobj-SH): New targets. (Syntax help - provided by Eli Zaretskii.) - ($(TEMACS)): Don't generate buildobj.lst. - * doc.c: Include buildobj.h. - (buildobj): New static variable. - (Fsnarf_documentation): Use it, instead of opening and reading - buildobj.lst. - -2009-08-25 Michael Albinus - - * dbusbind.c (Fdbus_call_method) - (Fdbus_call_method_asynchronously): Use English numeric format for - timeout values in doc string. - -2009-08-25 Kenichi Handa - - * alloc.c (mark_char_table): New function. - (mark_object): Use mark_char_table for a char-table. - - * lisp.h (CHAR_TABLE_REF_ASCII): New macro. - (CHAR_TABLE_REF): Use it. - -2009-08-23 Ken Raeburn - - * Makefile.in (emacs${EXEEXT}) [CANNOT_DUMP]: Set EMACSLOADPATH - before invoking the newly build emacs to check for load-path - shadowing. - -2009-08-22 Glenn Morris - - * Makefile.in (bootstrap_exe): New variable. - (.el.elc, ${lispsource}loaddefs.el, bootstrap-emacs${EXEEXT}): - Use ${bootstrap_exe}. - -2009-08-22 Eli Zaretskii - - * coding.h (encode_coding_string): Don't encode unibyte strings. - (Bug#4047) - -2009-08-22 Michael Albinus - - * config.in (HAVE_DBUS_WATCH_GET_UNIX_FD): Add. - - * dbusbind.c (XD_WITH_DBUS_WATCH_GET_UNIX_FD): Remove. It was - intended as hotfix only. - (xd_add_watch, xd_remove_watch): Use HAVE_DBUS_WATCH_GET_UNIX_FD. - -2009-08-21 Adrian Robert - - * nsterm.m (ns_get_color): Update documentation properly for last - change, and clean up loose ends in the code left by it. Fix - longstanding bug with 16-bit hex parsing, and add support for - yet another X11 format (rgb:r/g/b) for compatibility. - * nsfns.m (EmacsDialogPanel-runDialogAt): Add declaration of - timer_check() to avoid crash on Leopard/PPC. Bug #2154. - -2009-08-21 Stefan Monnier - - * eval.c (init_eval_once): Bump max_lisp_eval_depth to 500 for js.el. - -2009-08-20 Michael Albinus - - * dbusbind.c (XD_WITH_DBUS_WATCH_GET_UNIX_FD): New macro. - (xd_add_watch, xd_remove_watch): Use it. Print debug messages. - (xd_initialize, xd_pending_messages): Check, whether - $DBUS_SESSION_BUS_ADDRESS is set. - -2009-08-20 YAMAMOTO Mitsuharu - - * nsfns.m (Fxw_color_values): Return 3-element list. Doc fix. - - * nsterm.m (ns_get_color): Remove incompatible color formats again. - -2009-08-20 Glenn Morris - - * emacs.c (system-type): Doc fix. - -2009-08-19 Stefan Monnier - - * keyboard.c (syms_of_keyboard): Default to 5 buttons, which should be - enough for the most common situations. Avoid SET_SYMBOL_VALUE. - -2009-08-18 Michael Albinus - - * dbusbind.c (xd_add_watch, xd_remove_watch, Fdbus_init_bus): - New functions. - (xd_initialize): Revert change from 2009-08-16. - -2009-08-18 Kenichi Handa - - * fontset.c (Ffontset_font): If a nil element is found in a - font-group vector, return nil. - -2009-08-17 Chong Yidong - - * process.c (status_notify): Don't perform redisplay. - (Fdelete_process, list_processes_1, process_send_signal): - Expliticly perform redisplay. - (wait_reading_process_output): Always check process status, but - don't perform redisplay unless DO_DISPLAY is non-zero (Bug#2930). - -2009-08-17 Ken Raeburn - - * lisp.h (XFLOAT_DATA): Produce an rvalue by adding 0 to the value. - (XFLOAT_INIT): New macro for storing a float value. - * alloc.c (make_float, make_pure_float): Use XFLOAT_INIT. - * fns.c (sxhash): Copy out the value of a float in order to - examine its bytes. - * dbusbind.c (xd_append_arg): Likewise. - - * emacs.c (main): Don't call syms_of_data twice. - -2009-08-16 Michael Albinus - - * dbusbind.c (xd_initialize): Add connection file descriptor to - input_wait_mask, in order to let select() detect, whether a new - message has been arrived. - (Fdbus_call_method_asynchronously): Allow nil HANDLER. - -2009-08-15 Michael Albinus - - * dbusbind.c (xd_get_dispatch_status, xd_pending_messages): - New functions. - - * lisp.h (xd_pending_messages): Declare. - - * keyboard.c (readable_events): Call xd_pending_messages. - -2009-08-15 Chong Yidong - - * eval.c (Fcalled_interactively_p, Finteractive_p): Doc fix (Bug#3936). - - * xdisp.c (pop_it): Don't pop into a display vector (Bug#4131). - - * buffer.c (set_buffer_internal_1) - (swap_out_buffer_local_variables): Check for unbound local - variables (Bug#4138). - -2009-08-14 Eli Zaretskii - - * process.c (create_pty): Fix last change. - -2009-08-13 Chong Yidong - - * image.c (xbm_read_bitmap_data): New arg inhibit_image_error. - (xbm_load_image): Caller changed. - (xbm_file_p): Avoid signalling an image_error (Bug#4107). - -2009-08-13 Nick Roberts - - * process.c (create_pty): New function. - (Fstart_process): Use it to allow Emacs to just associate a pty - with the buffer. See associated change in gdb-mi.el. - (list_processes_1): Deal with no program name. - (start_process_unwind): Use pid == -2 to mean no process. - -2009-08-12 Stefan Monnier - - * cmds.c (nonundocount): New global variable. - (keys_of_cmds): Initialize it. - (Fself_insert_command): Use it to combine upto 20 sequential chars - into a single undo entry, just like the Qself_insert_command code in - keyboard.c does. - Call frame_make_pointer_invisible, also like the Qself_insert_command - code in keyboard.c does. - * keyboard.c (command_loop_1): Use the new global nonundocount rather - than its own local replacement for it. - -2009-08-10 Ken Raeburn - - * fns.c (concat): Don't re-set string length to its current value. - - * coding.h (decode_coding_string, encode_coding_string): - Use SBYTES macro. - - * doprnt.c (doprnt_lisp): Delete unused function. - (doprnt): Merge with doprnt1, discarding lispstrings code. - * lisp.h (doprnt_lisp): Don't declare. - -2009-08-07 Juri Linkov - - * puresize.h (BASE_PURESIZE): Increase to 1270000. - -2009-08-07 Dan Nicolaescu - - * print.c (syms_of_print): Undo previous change. - -2009-08-05 Teodor Zlatanov - - * lread.c (read1, syms_of_lread): Read hashtables back from the - readable format. - - * print.c (print_preprocess, print_object): Print hashtables fully - and readably. - (syms_of_print): Provide 'hashtable-print-readable. - -2009-08-02 Adrian Robert - - * nsfont.m (ns_descriptor_to_entity): Handle case when descriptor has - no family set. - (nsfont_open): Handle case when entity has no family. - -2009-07-29 Adrian Robert - - * nsfont.m (ns_findfonts): Fix 2009-07-24 change to return only one - element, not a list, for match case. - -2009-07-28 Kenichi Handa - - * font.c (font_parse_xlfd): Check DPI and AVGWIDTH properties more - rigidly. - - * xfont.c (xfont_list_pattern): Don't ignore the return value of - font_parse_xlfd. Check font properties more rigidly. - -2009-07-27 Dan Nicolaescu - - * s/netbsd.h (SIGNALS_VIA_CHARACTERS): Remove, already defined in - bsd-common.h. - -2009-07-27 Kenichi Handa - - * xfaces.c (face_with_height): Call font_clear_prop. - -2009-07-26 Chong Yidong - - * dispnew.c (init_display): Use Qx, Qw32, and Qns. - - * xterm.c (x_term_init): Use Qx. - - * nsfont.m (nsfont_draw): Revert 2009-07-15 change. - - * nsterm.m (ns_maybe_dumpglyphs_background): Revert 2009-07-15 change. - (ns_get_color): Revert 2009-07-16 change. - -2009-07-25 Eli Zaretskii - - * lread.c (syms_of_lread) : New variable. - (Fload): Use it to force load messages, even if NOMESSAGES is non-nil. - -2009-07-25 Ken Raeburn - - * coding.h (decode_coding_string, encode_coding_string): - Use SCHARS macro. - - * lread.c: Rewrite 2009-07-21 changes. - (load_depth): Delete. - (Qload_in_progress): New variable. - (load_unwind): Don't reference load_depth or load_in_progress. - (Fload): Likewise; specbind Qload_in_progress instead. - (init_lread): Don't initialize load_depth. - (syms_of_lread): Initialize and protect Qload_in_progress. - -2009-07-24 Adrian Robert - - * nsfont.m (ns_findfonts): Correctly return fallback in match case. - -2009-07-23 Yavor Doganov - - * nsfont.m (NSFontDescriptor.h): Explicitly include under GNUstep. - -2009-07-23 Adrian Robert - - * nsterm.m (EmacsView-keyUp:): Only act when running under Tiger. - Bugs 3792, 3720, 2402. - (ns_lookup_indexed_color): Check for bad index. - (ns_index_color): Init unused slot to 0. - (ns_dumpglyphs_box_or_relief): Replace useless xassert with an if(). - Bug 3714, possibly 3082. - -2009-07-22 Jason Rumney - - * w32fns.c (w32_wnd_proc) [WM_IME_STARTCOMPOSITION]: - Position IME window at cursor (Bug#2570). - (w32_wnd_proc) [WM_IME_CHAR]: Release context when finished. - (globals_of_w32fns): Dynamically load functions required above. - - * w32term.c (w32_draw_window_cursor): Send message to reposition - any IME window. - -2009-07-21 Chong Yidong - - * fileio.c: Revert 2009-07-16 changes. - (Vauto_save_include_big_deletions): New variable. - (Fdo_auto_save): Disable auto-save only if - auto-save-include-big-deletions is nil. - -2009-07-21 Chong Yidong - - * xdisp.c (move_it_to): For continued lines ending in a tab, take - the overflowed pixels into account (Bug#3879). - -2009-07-21 Ken Raeburn - - * lread.c (load_depth): New variable. - (Fload, load_unwind, init_lread): Set it to the load recursion - depth; set load_in_progress as a simple boolean based on the - current load_depth. (Bug#3892) - -2009-07-20 Adrian Robert - - * nsfont.m (ns_has_attribute): Remove. - (ns_findfonts, nsfont_open): Use ns_attribute_fvalue() instead. - -2009-07-18 Juri Linkov - - * process.c (Fset_process_query_on_exit_flag): Mention killing - a buffer in docstring. - -2009-07-17 Kenichi Handa - - * casetab.c (shuffle): Fix the logic of setting up the cycle. - -2009-07-16 YAMAMOTO Mitsuharu - - * nsfns.m (Fns_set_alpha): Remove function. - (syms_of_nsfns): Don't defsubr it. - - * nsterm.m (ns_get_color): Remove incompatible color formats. - (ns_color_to_lisp): Generate #rrggbb color format string. - -2009-07-16 Richard Stallman - - * fileio.c (Fwrite_region, Fdo_auto_save): Handle save_length = -2. - (Fset_buffer_auto_saved): Handle save_length = -2. - -2009-07-16 Chong Yidong - - * xterm.c (Qx_gtk_map_stock): New var. - - * gtkutil.c (update_frame_tool_bar): Use Qx_gtk_map_stock instead - of calling intern each time. - -2009-07-15 YAMAMOTO Mitsuharu - - * nsfont.m (nsfont_draw): Remove code for stippling, which actually - does tiling. - - * nsterm.m (ns_maybe_dumpglyphs_background): Likewise. - -2009-07-14 Kenichi Handa - - * font.c (font_vconcat_entity_vectors): New function. - (struct font_sort_data): New member font_driver_preference. - (font_compare): Check font_driver_preference. - (font_sort_entities): The format of the first argument changed. - (font_delete_unmatched): Likewise. - (font_list_entities): The return type changed. - (font_select_entity): The format of the second argument changed. - (font_find_for_lface): Adjuste for the above changes. - Don't suppress the checking of C even if the repertory supports it. - (Flist_fonts): Adjust for the above changes. - - * ftfont.c (ftfont_spec_pattern): New arg langname. Change caller. - (ftfont_list): Adjust for the change of ftfont_spec_pattern. - Reject a font who has adstyle property that is different from a - langname derived from registry property. - (ftfont_match): Adjust for the change of ftfont_spec_pattern. - -2009-07-13 Eli Zaretskii - - * dired.c (directory_files_internal) [WINDOWSNT]: Don't make a - local copy of dirfilename. - -2009-07-13 Kenichi Handa - - * chartab.c (sub_char_table_ref_and_range): Fix the range check - against max_char. - - * cmds.c (internal_self_insert): Check sym by SYMBOLP before - calling XSYMBOL (sym). - -2009-07-11 Eli Zaretskii - - * dired.c (directory_files_internal_w32_unwind) [WINDOWSNT]: - New function. - (directory_files_internal) [WINDOWSNT]: - Bind w32-get-true-file-attributes to either t or nil, depending whether - the filesystem of the directory is fast or slow. - - * w32.c (logon_network_drive): Don't assume PATH is an absolute - file name. - (is_slow_fs): New function. - (stat): Use it to determine whether to issue more system calls to - get accurate file attributes, when w32-get-true-file-attributes is - `local'. - -2009-07-10 Jan Djärv - - * xfns.c (Fx_select_font): Remember last font selected in - x_last_font_name and use that the next time. Also try the frame - parameter font-parameter as default to the font dialog. - -2009-07-10 Kenichi Handa - - * xftfont.c (xftfont_open): Fix typo: FC_RGBA->FC_HINT_STYLE. - -2009-07-09 Eli Zaretskii - - * w32proc.c (syms_of_ntproc) : Doc fix. - - * w32.c (stat): Treat UNC file names as residing on remote - drives. (Bug#3542) - -2009-07-09 Kenichi Handa - - * fontset.c (fontset_find_font): Fix previous change. - -2009-07-08 Michael Albinus - - * dbusbind.c (xd_initialize, Fdbus_call_method, xd_read_message) - (Fdbus_register_signal, Fdbus_register_method): Cleanup memory of - error flag. - -2009-07-08 Kenichi Handa - - * fontset.c (fontset_find_font): Fix the logic of handling - charset_matched. - (font_for_char): Delete unused var. - (generate_ascii_font_name): Delete it. - - * coding.h (JIS_TO_SJIS2): Fix the code range check. - - * coding.c (detect_coding_sjis): Handle shift_jis-2004 correctly. - (encode_coding_sjis): Fix the code range check. - -2009-07-07 Chong Yidong - - * fileio.c (Fsubstitute_in_file_name, Ffile_name_directory) - (Fexpand_file_name): Copy string data properly (Bug#3772). - -2009-07-07 Jan Djärv - - * xterm.c (handle_one_xevent): Only call x_check_fullscreen on the - first MapNotify. - -2009-07-07 Kenichi Handa - - * character.h (unibyte_has_multibyte_table): Delete extern. - (UNIBYTE_CHAR_HAS_MULTIBYTE_P): Delete it. - - * charset.c (Fset_charset_priority): Update charset_unibyte. - (syms_of_charset): Initialize charset_unibyte. - - * character.c (unibyte_has_multibyte_table): Delete it. - (multibyte_char_to_unibyte): Use CHAR_TO_BYTE8 instead of checking - charset_unibyte. - (multibyte_char_to_unibyte_safe): Likewise. - (Funibyte_char_to_multibyte): Don't check charset_unibyte. - - * xdisp.c (get_next_display_element): Decode it->c by charset_unibyte. - (x_produce_glyphs): Likewise. - - * .gdbinit (xcharset): Fix the treating $arg0. - -2009-07-04 Eli Zaretskii - - Emulation of `getloadavg' on MS-Windows. - * w32.c: Include float.h - (g_b_init_get_native_system_info, g_b_init_get_system_times) - (GetNativeSystemInfo_Proc, GetSystemTimes_Proc): Declare. - (get_native_system_info, get_system_times): New functions. - (buf_next, buf_prev, sample_system_load, getavg): New subroutines. - (getloadavg): Rewrite using GetSystemTimes and GetNativeSystemInfo. - (globals_of_w32): Initialize g_b_init_get_native_system_info, - g_b_init_get_system_times, and num_of_processors. - -2009-07-03 Jason Rumney - - * w32term.c (w32_initialize): Use standard types. - -2009-07-03 Eli Zaretskii - - * dired.c (Ffile_attributes): Decode user and group names by the - locale's encoding. (Bug#3443) - -2009-07-03 Dan Nicolaescu - - * sysdep.c (sys_suspend): Remove USG_JOBCTRL #ifdef, unused. - (mkdir): Remove MKDIR_PROTOTYPE #ifdef, unused. - - * callproc.c (child_setup): Use #else instead of a separate #ifdef. - - * term.c (init_tty): Remove spurious #ifdef. - - * m/mips.h: Mention this file is also used for netbsd. - * m/pmax.h: Remove file. - -2009-07-03 Jan Djärv - - * xterm.h (struct x_display_info): Add invisible_cursor. - (struct x_output): Add current_cursor. - - * xterm.c (XTtoggle_invisible_pointer): New function. - (x_define_frame_cursor): Don't define cursor if invisible or the - same as before. Set current_cursor. - (x_create_terminal): Set toggle_invisible_pointer_hook. - - * xfns.c (make_invisible_cursor): New function. - (x_set_mouse_color): Call make_invisible_cursor. - Set current_cursor. - (x_window): Set current_cursor. - - * termhooks.h (struct terminal): Add toggle_invisible_pointer_hook. - - * keyboard.c (command_loop_1): Call frame_make_pointer_invisible after - inserting a character. - (read_avail_input): Call frame_make_pointer_visible. - - * frame.c (Vmake_pointer_invisible): New variable. - (frame_make_pointer_invisible, frame_make_pointer_visible): - New functions. - (syms_of_frame): DEFVAR make-pointer-invisible, initialize to Qt. - - * frame.h: Declare frame_make_pointer_invisible and - frame_make_pointer_visible. - (struct frame): Add pointer_invisible. - -2009-07-02 Jan Djärv - - * gtkutil.c (xg_frame_set_char_size): Do set width/height if the - frame isn't visible. - (xg_frame_resized): If width/height is -1, get size of window - from X server. - - * xterm.c (handle_one_xevent): Call xg_frame_resized for USE_GTK - for MapNotify. - - * gtkutil.c (xg_frame_set_char_size): Do not set pixel width/height - here or call change_frame_size. Just call flush_and_sync. - (flush_and_sync): Reintroduce. - -2009-07-01 Jan Djärv - - * xterm.h (struct x_display_info): Add Xatom_net_wm_state_sticky. - - * xterm.c (x_handle_net_wm_state): Also look for sticky. - (x_term_init): Initialize Xatom_net_wm_state_sticky. - - * frame.h: Declare Qsticky. - - * w32fns.c (w32_frame_parm_handlers): Set 0 for sticky. - - * nsfns.m (ns_frame_parm_handlers): Ditto. - - * frame.c: Declare Qsticky. - (frame_parms): Add sticky. - - * xfns.c (x_frame_parm_handlers): Let x_set_sticky handle sticky. - - * xterm.h: Declare x_set_sticky. - - * xterm.c (x_set_sticky): New function. - - * gtkutil.c (xg_tool_bar_proxy_help_callback): New function. - (xg_tool_bar_menu_proxy): Attach enter/leave events to - xg_tool_bar_proxy_help_callback. - - * emacs.c (USAGE3, standard_args): Add -mm and --maximized. - - * frame.c: Qmaximized is new. - (x_set_frame_parameters): Do not handle fullscreen specially. - Only set width and height if explicitly set. - (x_set_fullscreen): Handle Qmaximized. - (x_set_font, x_figure_window_size): Do not handle fullscreen specially. - (syms_of_frame): Initialize Qmaximized. - - * frame.h (fullscreen_type): Add FULLSCREEN_MAXIMIZED. - Declare Qfullwidth, Qfullheight, Qfullboth, Qmaximized. - - * xterm.c (handle_one_xevent): Remove call to x_check_fullscreen - for Expose event. Add call to x_check_fullscreen for MapNotify event. - Remove all code w.r.t. fullscreen from ConfigureNotify event. Do not - set gravity to NorthWestGravity when USE_GTK. - (set_wm_state): New function. - (do_ewmh_fullscreen): Use set_wm_state. Also handle FULLSCREEN_MAXIMIZED. - (x_handle_net_wm_state): Handle FULLSCREEN_MAXIMIZED. - (x_check_fullscreen): Simplify so we only handle EMWH type of fullscreen - or the case when no window manager is running. That means remove calls - to x_real_positions and x_fullscreen_adjust. - - * gtkutil.c (flush_and_sync, x_wm_size_hint_off): Remove. - (xg_frame_set_char_size): Remove calls to x_wm_size_hint_off and - flush_and_sync. - (xg_height_changed): New function. - (xg_create_frame_widgets): Remove call to gtk_widget_set_size_request - and gtk_window_set_policy. Set frame gravity after parsing the - geometry string. - (xg_update_frame_menubar, free_frame_menubar) - (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback) - (update_frame_tool_bar, free_frame_tool_bar): Call xg_height_changed. - Remove calls to xg_frame_set_char_size. - -2009-07-01 Kenichi Handa - - * keyboard.c (decode_keyboard_code): New function. - (tty_read_avail_input): Decode the input bytes if necessary. - - * coding.c (setup_coding_system): - Initialize coding->carryover_bytes to 0. - (Fset_keyboard_coding_system_internal): If CODING-SYSTEM is nil, - use Qno_conversion. - -2009-07-01 YAMAMOTO Mitsuharu - - * Makefile.in (SOME_MACHINE_LISP): Add ../lisp/term/common-win.elc. - -2009-06-30 Chong Yidong - - * xftfont.c (xftfont_open): Avoid passing NULL argument to XftLockFace. - -2009-06-30 Jason Rumney - - * w32term.c (w32_initialize): Use GetModuleHandle for library that - is already loaded. - Set user model ID if supported (bug#1849). - -2009-06-29 Jim Meyering - - Remove useless if-before-xfree test. - * nsfont.m (nsfont_close): Remove useless test. - * term.c (delete_tty): Likewise. - * w32.c (system_process_attributes): Likewise. - * w32font.c (w32font_close): Likewise. - * xfaces.c (x_free_gc): Likewise. - * xselect.c (buffer): Likewise. - -2009-06-28 Andreas Schwab - - * process.c (send_process): Keep decoded string in a local - variable and protect it from GC. (Bug#3521) - -2009-06-28 Eli Zaretskii - - * term.c (create_tty_output) [MSDOS]: #ifdef away. - (tty_free_frame_resources) [MSDOS]: Add a DOS-specific version. - -2009-06-28 Chong Yidong - - * xdisp.c (start_display, handle_face_prop) - (move_it_vertically_backward, cursor_row_fully_visible_p) - (redisplay_window, try_window_id, produce_image_glyph): - Delete some #ifdef-ed out code chunks that are now obsolete. - - * xterm.c (x_update_window_begin, x_new_focus_frame) - (x_scroll_bar_handle_click, handle_one_xevent) - (handle_one_xevent, XTread_socket, x_focus_on_frame) - (x_make_frame_visible, x_make_frame_invisible) - (x_wm_set_icon_pixmap, x_initialize): Delete some #ifdef-ed out - code chunks that are now obsolete. - -2009-06-28 Michael Albinus - - * dbusbind.c (XD_SYMBOL_TO_DBUS_TYPE): Convert macro into function - xd_symbol_to_dbus_type. With Solaris 2.11, it was said to compile - for hours, when optimzation is enabled. - (xd_signature, xd_append_arg, xd_retrieve_arg, xd_initialize) - (xd_read_message): Make them static. - -2009-06-27 Chuck Blake (tiny change) - - * term.c (turn_on_face): Allow simultaneously bold and dim - terminal faces (Bug#3530). - -2009-06-27 Chong Yidong - - * frame.c (x_get_arg): Check if dpyinfo is non-NULL. - - * xdisp.c (mouse_face_from_buffer_pos): Fix detection of - truncation glyphs (Bug#3686). - -2009-06-27 Glenn Morris - - * m/pmax.h: Restore file, with only netbsd portions. - -2009-06-26 David Reitter - - * nsterm.m (keydown): Avoid infinite loop. - -2009-06-26 Peter Jolly (tiny change) - - * ftfont.c (get_adstyle_property): Call font_intern_prop with 1 as - the arg FORCE_SYMBOL. - -2009-06-25 Kenichi Handa - - * fontset.c (fontset_find_font): When a usable rfont_def is found - in a fallback font-group, make it the first element of the group. - -2009-06-24 Chong Yidong - - * emacs-icon.h: Always define gnu_xpm_bits on GTK (bug#3671). - -2009-06-24 Kenichi Handa - - * fontset.c (fontset_get_font_group): Return 0 if no font-group is - set for C. - (fontset_font): Record the availability of a font for C both in - the realized fontsets of the current one and the default one. - -2009-06-23 Dan Nicolaescu - - * sysdep.c (child_setup_tty): Remove SIGNALS_VIA_CHARACTERS - conditional, it is always defined on AIX. - -2009-06-23 Miles Bader - - * window.c (Vrecenter_redisplay): New variable. - (syms_of_window): Initialize it. - (Qtty): New extern declaration. - (Frecenter): Only do redisplay if Vrecenter_redisplay requests it. - -2009-06-23 Jim Meyering - - * src/ftfont.c (setup_otf_gstring, ftfont_shape_by_flt): - Use xmalloc and xrealloc (not malloc and realloc), so subsequent heap - pointer dereferences are guaranteed to be valid. - -2009-06-23 Kenichi Handa - - * emacs.c (main): Call init_font (). - - * font.h (Vfont_log): Extern it. - (FONT_ADD_LOG, FONT_DEFERRED_LOG): New macros. - - * font.c (font_sort_entities, font_list_entities) - (font_matching_entity, font_open_entity) - (font_close_object): Change font_add_log to FONT_ADD_LOG. - (Vfont_log): Delete static. - (font_log_env_checked): Delete this variable. - (font_add_log): Don't check font_log_env_checked. - (font_deferred_log): Check Vfont_log. - (init_font): New function. - - * ftfont.c: Change font_add_log to FONT_ADD_LOG. - - * w32font.c: Change font_add_log to FONT_ADD_LOG. - - * w32uniscribe.c: Change font_add_log to FONT_ADD_LOG. - - * xfont.c: Change font_add_log to FONT_ADD_LOG. - - * fontset.c (fontset_font): Call FONT_DEFERRED_LOG. - (face_for_char): Don't call font_deferred_log here. - (font_for_char): Likewise. - -2009-06-22 Chong Yidong - - * w32term.c (x_draw_glyph_string): Use the glyph string's width - rather than its background_width for drawing the overline and - underline (Bug#489). - - * xterm.c (x_draw_glyph_string): Use the glyph string's width - rather than its background_width for drawing the overline and - underline (Bug#489). - (xg_default_icon_file): New variable. - (syms_of_xterm): Initialize it to the Emacs SVG icon file. - (x_bitmap_icon): Under GTK, use xg_default_icon_file. - - * xdisp.c (Qbefore_string, Qafter_string): Add externs. - (load_overlay_strings): Remove externs. - (fast_find_position): Function deleted. - (mouse_face_from_buffer_pos): New function, based on - fast_find_position. Correctly handle before-strings, - display-strings, and after-strings (Bug#1220). - (note_mouse_highlight): Use mouse_face_from_buffer_pos. - -2009-06-21 Chong Yidong - - * xdisp.c (IT_DISPLAYING_WHITESPACE): Define for !HAVE_WINDOW_SYSTEM. - (move_it_in_display_line_to, move_it_in_display_line_to) - (display_line): Remove #ifdef HAVE_WINDOW_SYSTEM. - -2009-06-21 Chong Yidong - - * Branch for 23.1. - -2009-06-21 Jason Rumney - - * w32term.c (keyboard_codepage): New static variable. - (w32_read_socket) [WM_INPUTLANGCHANGE]: Update it. - (w32_read_socket) [WM_CHAR]: Use it to decode character - input (bug#3237). - (w32_initialize): Initialize it. - (codepage_for_locale): New function. - -2009-06-20 Ken Raeburn - - * process.c (status_message): Pass Faset index argument as a lisp - object, so as to work with USE_LISP_UNION_TYPE. - -2009-06-19 YAMAMOTO Mitsuharu - - * coding.c (Ffind_coding_systems_region_internal): - Cache checked characters. - -2009-06-18 Kenichi Handa - - * coding.c (decode_coding_iso_2022): Check MSB of bytes more rigidly. - -2009-06-18 Andreas Schwab - - * xdisp.c (redisplay_internal): Check that the frame is still - live after redisplay of its windows. - (redisplay_windows): Check that the window is still live. - -2009-06-17 Andreas Schwab - - * coding.c (detect_coding_utf_16): Fix previous change. - -2009-06-16 Kenichi Handa - - * coding.c (detect_coding_utf_16): Fix the logic of rejecting - UTF-16 by checking the dispersion of Eth and Oth bytes. - -2009-06-15 Andreas Schwab - - * coding.c (detect_coding_utf_16): Fix typo counting odd bytes. - -2009-06-15 Kenichi Handa - - * process.c (status_message): Fix previous change. Be sure to - decode a localized string. - -2009-06-15 YAMAMOTO Mitsuharu - - * xterm.c (x_delete_terminal): Put previous change in #if 0 and - add comment explaining why. - -2009-06-14 Sidney Markowitz - - * nsmenu.m (EmacsTooltip: setText): Set height of tooltip. - -2009-06-14 Adrian Robert - - * nsfont.m (ns_attribute_value): Remove. - (ns_attribute_fvalue): Incorporate code from ns_attribute_value. - (ns_has_attribute): Shrink the normal range. - (ns_findfonts): Don't worry about requested spec in determining - need for synthItal. - (ns_get_covering_families): Retain scriptToFamilies. - -2009-06-14 Seiji Zenitani - - * xdisp.c [USE_MAC_TOOLBAR]: Remove obsolete definition for Mac Carbon. - -2009-06-11 Kenichi Handa - - * xdisp.c (x_get_glyph_overhangs): Fix calculation of right - overhang for the static composition case. - -2009-06-11 YAMAMOTO Mitsuharu - - * xdisp.c (x_get_glyph_overhangs): Fix calculation of right - overhang for the automatic composition case. - - * xterm.c (x_compute_glyph_string_overhangs): Handle the automatic - composition case. - -2009-06-10 Chong Yidong - - * xdisp.c (get_next_display_element): When handling wrap-prefix - and line-prefix, treat \n as a control character (bug#3502). - -2009-06-10 Kenichi Handa - - * font.c (font_parse_family_registry): Fix for one-char foundry. - (font_sort_entities): Initialize prefer_prop[FONT_AVGWIDTH_INDEX]. - -2009-06-09 Dmitry Dzhus (tiny change) - - * process.c (status_message): Fix handling of multibyte signal - string (Bug#3499). - -2009-06-09 Jim Meyering - - * xfaces.c (Fx_load_color_file): Avoid array bounds error if the - color name is missing. - -2009-06-09 Kenichi Handa - - * charset.c (Fmap_charset_chars): In docstring, state clearly that - FROM-CODE and TO-CODE are codepoints of CHARSET. - -2009-06-08 Adrian Robert - - * nsterm.m (ns_use_system_highlight_color): Drop, unused. - -2009-06-08 Adrian Robert - - Changes to support :script/:lang/:otf in NS font driver. - * nsfont.m (nsfont_escape_name, nsfont_unescape_name) - (nsfont_get_family, nsfont_char_width): Rename to ns_ prefix to - indicate not part of font driver interface, and change callers. - (ns_get_family): Remove pointless null check. - (nsfont_spec_to_traits, nsfont_fmember_to_entity): Replace with - ns_spec_to_descriptor, ns_descriptor_to_entity. - (nsfont_trait_distance, nsfont_make_fontset_for_font): Remove. - (ns_attribute_value, ns_attribute_fvalue, ns_has_attribute) - (ns_spec_to_descriptor, ns_descriptor_to_entity) - (ns_charset_covers, ns_lang_to_script, ns_otf_to_script) - (ns_get_req_script, ns_accumulate_script_ranges) - (ns_script_to_charset, ns_get_covering_families, ns_findfonts): - New functions. - (nsfont_list, nsfont_match): Use ns_findfonts. - (nsfont_open): Use font descriptor instead of traits. - (nsfont_draw): Handle "automatic" (lookup-table) compositions. - (dump_glyphstring): Rename to ns_dump_glyphstring. - - * nsterm.h (dump_glyphstring): Rename to ns_dump_glyphstring. - - * nsfns.m (Fns_popup_font_panel): Use shared font manager. - - * fontset.c (fontset_from_font): Remove NS-specific code. - -2009-06-08 Peter Jones (tiny change) - - * nsterm.m (ns_draw_window_cursor): Respect cursor_type for - nonactive windows. - -2009-06-08 Felix Mueller (tiny change) - - * nsterm.m (ns_init_paths): Append path separator to INFOPATH variable. - -2009-06-08 Wolfgang Lux (tiny change) - - * keyboard.c (kbd_buffer_get_event): Null-check used_mouse_menu. - -2009-06-07 Chong Yidong - - * xdisp.c (move_it_in_display_line_to): On text-only terminals, - account for the overflowing of newlines into the last glyph on the - display line (Bug#3482). - -2009-06-05 David Reitter - - * nsselect.m (Fx_own_selection_internal, Fx_selection_exists_p) - (Fx_selection_owner_p): Rename from Fns_own_selection_internal, - Fns_selection_exists_p, Fns_selection_owner_p. - -2009-06-03 Jason Rumney - - * w32fns.c (x_create_tip_frame): Use the uniscribe font backend if - available. (Bug#3379) - -2009-05-29 Kenichi Handa - - * coding.c (get_translation_table): - Check Venable_character_translation. - -2009-05-26 David Reitter - - * nsterm.m (ns_raise_frame): Only raise frame if visible. - (x_make_frame_visible): Move frame to front rather than calling - ns_raise_frame(). - (keyDown:): Do not swallow events that aren't re-sent if frame - isn't key window. - (drawRect:): Do not set visibility/iconified flags because - drawRect may be called by NSView even if the frame is hidden. - - * nsfns.m (Fx_create_frame): Follow other ports in - determining visibility; default to t. Ensure async_visible is set. - -2009-05-23 Eli Zaretskii - - * dired.c (Ffile_attributes): Doc fix. - -2009-05-22 Chong Yidong - - * m/mips.h [GNU_LINUX]: Don't define DATA_START (Bug#2685). - -2009-05-21 Stefan Monnier - - * xfont.c (xfont_list_pattern): Don't initialize xfont_scripts_cache - and xfont_scratch_props. - (syms_of_xfont): Do it here instead. - (xfont_find_ccl_program): Delete, unused. - (xfont_open): Delete unused var `i'. - -2009-05-21 Kenichi Handa - - * fontset.c (Qlatin): Don't make it static. - - * xfont.c (xfont_chars_supported, xfont_supported_scripts): - New functions. - (xfont_scripts_cache, xfont_scratch_props): New variables. - (Qlatin, Vscalable_fonts_allowed): Extern it. - (xfont_list_pattern): Argument changed. Callers changed. - Check Vscalable_fonts_allowed. Check the support of a script. - (xfont_list): Don't reject a font spec with :script property. - (xfont_has_char): Fix setting of encoding. - (syms_of_xfont): Staticpro and initialize xfont_scripts_cache and - xfont_scratch_props. - -2009-05-19 Kenichi Handa - - * font.c (font_sort_entities): Rename from font_sort_entites. - Callers changed. - -2009-05-18 Kenichi Handa - - * font.c (font_find_for_lface): Copy SPEC's FONT_TYPE too. - -2009-05-19 Stefan Monnier - - * frame.c (do_switch_frame) [NS_IMPL_COCOA]: Don't raise any window. - (delete_frame) [NS_IMPL_COCOA]: Instead, do it here. - -2009-05-19 YAMAMOTO Mitsuharu - - * xterm.c (x_delete_display): Don't call XrmDestroyDatabase here. - (x_delete_terminal): Dissociate resource database from display and - then call XrmDestroyDatabase before closing display. - -2009-05-18 Adrian Robert - - * nsterm.m (ns_read_socket): Remove unused variable. - * frame.c (do_switch_frame): Under NS_IMPL_COCOA section, check - whether selected frame is viable before raising it (based on patch - by David Reitter), and improve commentary. - * nsfont.m (nsfont_make_fontset_for_font): Avoid a compiler warning. - -2009-05-15 Kenichi Handa - - * font.c (Ffont_spec): Check arguments. - -2009-05-14 Chong Yidong - - * xfaces.c (tty_supports_face_attributes_p): Recognize unspecified - weight when testing attributes (Bug#3282). - -2009-05-11 YAMAMOTO Mitsuharu - - * gtkutil.c (xg_frame_set_char_size): Set frame pixel width/height to - what we expect to get in the next ConfigureNotify event. - - * xftfont.c (xftfont_open): Make sure that Xrender extension is added - before Xft one (Bug#1696). - -2009-05-07 David Reitter - - * nsfns.m (Fx_display_planes): Compute bitplanes using - NSBitsPerPixelFromDepth (Bug#3207). - -2009-05-10 Chong Yidong - - * editfns.c (Ftranspose_regions): Doc fix (Bug#3248). - -2009-05-10 Ulrich Mueller - - * s/gnu-linux.h: Make GCPROs and UNGCPRO no-ops also on SuperH. - -2009-05-07 David Reitter - - * nsterm.m (ns_dumpglyphs_stretch, ns_dumpglyphs_image): - Respect mouse face background. - -2009-05-07 David Reitter - - * nsterm.m (note_mouse_movement, ns_frame_up_to_date): - Mouse movement/highlight: bracket drawing operations - in ns_update_begin and ns_update_end. - -2009-05-06 Stefan Monnier - - * nsfns.m (ns_get_screen): Rewrite. - Don't presume selected-frame is of type `ns'. - - * font.c (font_update_drivers): Sanity fallback to avoid disabling - all drivers. - - * nsterm.m (-windowDidResize:): Avoid inf-loop under GNUStep. - -2009-05-06 YAMAMOTO Mitsuharu - - * keyboard.h (add_user_signal): Fix typo in extern. - - * lisp.h (add_user_signal): Remove extern. - - * unexelf.c (unexec): Consider a section to precede the .bss section - if its addresses overlap that of .bss. - (unexec) [NS_IMPL_GNUSTEP]: Copy ObjC-related data from old file - instead of dumping process. - -2009-05-06 Stefan Monnier - - * keyboard.c (syms_of_keyboard): Staticpro pending_funcalls. - -2009-05-04 Stefan Monnier - - * Makefile.in (ctagsfiles1, ctagsfiles2): Include ObjC files in TAGS. - -2009-05-02 Dan Nicolaescu - - * xterm.c (x_handle_net_wm_state): Move declaration of lval before - any statements. - -2009-05-02 Andreas Schwab - - * process.c (read_process_output): Make sure the current buffer is - always restored. - - * coding.c (record_conversion_result): Don't modify - Vlast_code_conversion_error for successful result. - (alloc_destination): Don't clobber conversion result. (Bug#1650) - -2009-05-01 Emanuele Giaquinta (tiny change) - - * charset.c (load_charset): Reformat X==Y==Z to (X==Y)==Z. - (load_charset_map): Remove unnecessary code. - -2009-04-30 David Reitter - - * nsterm.m (convert_ns_to_X_keysym): Define function keys f16 - through f24. - -2009-04-30 Chong Yidong - - * xfaces.c (face_at_buffer_position): New arg base_face_id. - - * xdisp.c (handle_face_prop): Pass base_face_id of iterator to - face_at_buffer_position. - (face_before_or_after_it_pos, get_next_display_element) - (note_mouse_highlight): Update face_at_buffer_position call. - - * term.c (term_mouse_highlight): - * msdos.c (IT_note_mouse_highlight): - * fontset.c (Finternal_char_font): - * font.c (font_at, font_range): Update face_at_buffer_position call. - - * dispextern.h (face_at_buffer_position): Update prototype. - -2009-04-30 Kenichi Handa - - * fontset.c (fontset_find_font): Check if rfont_def is Qnil or not. - -2009-04-29 Andreas Schwab - - * callproc.c (Fcall_process): Fix GC protection. Make sure - current buffer is always restored. - -2009-04-29 YAMAMOTO Mitsuharu - - * atimer.c (init_atimer): Also clear stopped_atimers. - - * keyboard.c (init_keyboard) [POLL_FOR_INPUT]: Reset poll_timer. - - * process.c (create_process): Clean up merger residues of - 2008-07-17 change. - -2009-04-29 Ulrich Mueller - - * lread.c (Vread_circle): New variable. - (read1): Disable recursive read if Vread_circle is nil. - -2009-04-29 Kenichi Handa - - * fontset.h (set_default_ascii_font): Delete extern. - - * fontset.c (set_default_ascii_font): Delete this unused function. - - * frame.c (x_set_font): When ARG is a font-object, check if the - font-object matches with the ASCII font-spec of the frame's - fontset. If not, create a new fontset for the frame. (Bug #3075) - -2009-04-28 Andreas Schwab - - * fns.c (Flocale_info): Protect vector from GC during decoding. - - * process.c (Fstart_process): Protect argv strings from GC during - encoding. - -2009-04-27 Andreas Schwab - - * sysdep.c: Include . - -2009-04-27 David Reitter - - * nsfont.m (nsfont_open): Remove unused variable shrink. - Remove commented-out code. - -2009-04-26 Johan Bockgård - - * keyboard.c (syms_of_keyboard) : Doc fix. - -2009-04-25 Jason Rumney - - * w32font.c (clear_cached_metrics): Remove, unused since 2008-08-02. - -2009-04-25 YAMAMOTO Mitsuharu - - * fringe.c (init_fringe_bitmap) [HAVE_X_WINDOWS && WORDS_BIG_ENDIAN]: - Swap bytes in short integer if fringe bitmap width > 8. - -2009-04-23 Kenichi Handa - - * xfaces.c (Fx_list_fonts): If a font size is specified in - PATTERN, set it in returned scalable fonts. - -2009-04-22 Chong Yidong - - * keyboard.c (Fset_input_meta_mode): Doc fix. - - * dispnew.c (Fsend_string_to_terminal): Doc fix. - - * data.c (Fterminal_local_value, Fset_terminal_local_value): Doc fixes. - - * coding.c (Fterminal_coding_system): Doc fix. - - * xfns.c (Fx_display_grayscale_p, Fx_display_pixel_width) - (Fx_display_pixel_height, Fx_display_planes) - (Fx_display_color_cells, Fx_server_max_request_size) - (Fx_server_vendor, Fx_server_version, Fx_display_screens) - (Fx_display_mm_height, Fx_display_mm_width) - (Fx_display_backing_store, Fx_display_visual_class) - (Fx_display_save_under, Fx_close_connection, Fx_synchronize): - Doc fixes, replacing "terminal id" with "terminal object". - (check_x_display_info): Handle terminal objects instead of - terminal ids. - - * term.c (Ftty_display_color_p, Ftty_display_color_cells) - (Ftty_type, Fcontrolling_tty_p, Ftty_no_underline, Fsuspend_tty) - (Fresume_tty, Vsuspend_tty_functions, Vresume_tty_functions): - Doc fixes, replacing "terminal id" with "terminal object". - -2009-04-21 Kenichi Handa - - * font.c (font_load_for_lface): Cancel previous change (bug#2994). - (font_score): Check AVGWIDTH too. - - * coding.c (decode_coding_utf_16): Reduce charbuf_end for the - worst case. - (decode_coding_sjis, decode_coding_big5, decode_coding_charset) - (decode_coding_emacs_mule, decode_coding_iso_2022): Likewise. - -2009-04-19 Jason Rumney - - The following changes fix Bug#3005 for wide glyphs on each platform, - without reintroducing Bug#1258 for stretch glyphs. - - * xterm.c (x_draw_bar_cursor): Limit cursor width differently for - BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR using - get_phys_cursor_geometry. - - * w32term.c (x_draw_bar_cursor): Limit cursor width differently - for BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR - using get_phys_cursor_geometry. - - * nsterm.m (ns_draw_window_cursor): HBAR_CURSOR width already - correctly calculated. - -2009-04-19 Jan Djärv - - * gtkutil.c (xg_tool_bar_menu_proxy, update_frame_tool_bar): - Use G_CALLBACK instead of GTK_SIGNAL_FUNC which is deprecated. - (xg_initialize): Use g_type_class_ref instead of gtk_type_class which - is deprecated. - -2009-04-18 Andreas Schwab - - * font.c (font_put_frame_data): Use xfree instead of free. - -2009-04-17 Juanma Barranquero - - * w32font.c (Qja, Qko): Remove declarations. - (syms_of_w32font): Don't DEFSYM them. - -2009-04-17 Chong Yidong - - * font.c (Qja, Qko): Move definitions here from ftfont.c. - - * font.h (Qja, Qko): Extern them. - - * ftfont.c (Qja, Qko): Remove declarations. - - * xfont.c (Qja, Qko): Remove declarations. - -2009-04-17 Kenichi Handa - - * editfns.c (Ftranslate_region_internal): Use Fconcat to make a - string from a vector to handle Latin-1 characters correctly. - - * ftfont.c (ftfont_pattern_entity): Return a newly allocated - entity even if the cache hits. - -2009-04-16 Andreas Schwab - - * search.c (boyer_moore): Use zero as marker value for a possible - match instead of depending on overflow behavior. (Bug#2844) - - * search.c: Use EMACS_INT for buffer positions. Add prototypes. - * lisp.h: Adjust prototypes. - -2009-04-16 Chong Yidong - - * keyboard.c (adjust_point_for_property): Disable 2009-02-12 - change (Bug#3003). - -2009-04-16 Kenichi Handa - - * xfont.c (xfont_has_char): Special handling of `ja' and `ko' adstyle. - - * xftfont.c (xftfont_has_char): Special handling of `ja' and `ko' - adstyle. - - * ftfont.c (Qja, Qko): Don't make them static. - (enum ftfont_cache_for): New enum. - (fc_charset_table): Undo the previous change. - (ftfont_get_latin1_charset): Delete it. - (ftfont_pattern_entity): Check cache by ftfont_lookup_cache. - Set FONT_SIZE_INDEX of the entity to 0 for a scalable font. For a - non-scarable font, try to get AVERAGE_WIDTH. - (ftfont_lookup_cache): Argument FOR-FACE is changed to CACHE_FOR. - Change ft_face_cache from a list of a hash-table. Don't check - `ja' and `ko' adstyle here. - (ftfont_get_fc_charset): Call ftfont_lookup_cache with - FTFONT_CACHE_FOR_CHARET. - (ftfont_get_charset): Undo the previous change. - (ftfont_open): Call ftfont_lookup_cache with FTFONT_CACHE_FOR_FACE. - (ftfont_close): Likewise. - (ftfont_has_char): Special handling of `ja' and `ko' adstyle. - - * font.c (font_sort_entites): Change the meaning of the arg - BEST-ONLY. Don't optimize for VEC of lenght 1. - (font_select_entity): Just return the value of font_sort_entites. - - * xfaces.c (merge_face_vectors): Reflect font properties in - to[LFACE_FONT_INDEX] to the other face attributes. Don't call - font_clear_prop if a face attribute doesn't change. - - * charset.h (charset_ksc5601): Extern it. - - * charset.c (charset_ksc5601): New variable. - (Fdefine_charset_internal): Set charset_ksc5601. - (init_charset_once): Initialize charset_ksc5601 to -1. - -2009-04-15 Dan Nicolaescu - - * fileio.c (history_delete_duplicates): Remove unused declaration. - - * callint.c (history_delete_duplicates): New declaration. - (Fcall_interactively): Remove command history duplicates when - history_delete_duplicates is true. - -2009-04-14 Eli Zaretskii - - * buffer.c (syms_of_buffer) : Doc fix. - -2009-04-14 Kenichi Handa - - * font.c (Ffont_info): Fix docstring. Fix the second element of - the returned value (bug#2949). - -2009-04-14 Chong Yidong - - * xdisp.c (Vwrap_prefix, Vline_prefix): Reflow docstrings. - -2009-04-14 Kenichi Handa - - * xfont.c (xfont_has_char): The font has C if C is ASCII and the - encoding charset is ascii_compatible. - - * charset.c (Fdefine_charset_internal): Make charset - ascii-compatible if the method is CHARSET_METHOD_OFFSET, the - code_offset is 0, and covers all ASCII characters. - -2009-04-13 Stefan Monnier - - * nsselect.m (symbol_to_nsstring, clean_local_selection_data) - (ns_string_to_pasteboard_internal): - * nsmenu.m (process_dialog): - * nsimage.m (ns_load_image): Use SDATA and ASET where appropriate. - * nsfont.m (nsfont_open): Use XHASH to make it compile with LISP_UNION. - * lisp.h (Fx_load_color_file): Declare. - -2009-04-13 Kenichi Handa - - * font.c (font_delete_unmatched): Preserve the order of list elements. - (font_select_entity): Suppress the code to optimize for the same - kind of fonts. - (font_load_for_lface): Get a font that supports at least ASCII - characters. - - * ftfont.c (Qja, Qko): New variables. - (fc_charset_table): Delete uniquifier data for iso8859-1. - (ftfont_get_latin1_charset): New function. - (get_adstyle_property): New function. - (ftfont_pattern_entity): Set FONT_ADSTYLE_INDEX of entity for - bitmap fonts. - (ftfont_lookup_cache): Handle the case that KEY is a font-entity. - Delete iso-8859-1 range from the charset of fonts whose adstyle is - `ko' or `ja'. - (ftfont_get_fc_charset): Call ftfont_lookup_cache with ENTITY. - (ftfont_get_charset): For iso8859-1, call ftfont_get_latin1_charset. - (ftfont_list): Don't refuse a font spec with non-nil `adstyle' - property. - (ftfont_open): Call ftfont_lookup_cache with ENTITY. - (syms_of_ftfont): DEFSYM Qja and Qko. - -2009-04-09 Kenichi Handa - - * charset.c (map_charset_chars): For a charset of `superset' - method, fix calculation of code range. - - * font.c (font_put_extra): If VAL is nil, delete the slot for PROP - from the list of extra properties. - (font_clear_prop): Be sure to delete `:name' font property. - -2009-04-08 YAMAMOTO Mitsuharu - - * dispnew.c (redraw_overlapping_rows): Fix detection of - overlapping for topmost and bottommost rows. - - * ftfont.c (ftfont_text_extents): Fix calculation of metrics->descent. - -2009-04-06 Jason Rumney - - * frame.c (x_set_font): Avoid C99 mid-block variable declaration. - -2009-04-06 Kenichi Handa - - * ftxfont.c (ftxfont_draw_backgrond): Fix args to XFillRectangle. - - * xftfont.c (xftfont_open): Fix setting font->underline_thickness. - -2009-04-06 YAMAMOTO Mitsuharu - - * ftfont.c (ftfont_open): Fix checking of the return value of - FT_Load_Char. Fix setting font->underline_thickness. - -2009-04-04 Chong Yidong - - * terminal.c (Fterminal_name, Fdelete_terminal, Fterminal_name) - (Fterminal_parameters, Fterminal_parameter) - (Fset_terminal_parameter): In doc string, refer to terminal - objects rather than terminal ids. - -2009-04-04 Eli Zaretskii - - * dosfns.c (system_process_attributes) [SYSTEM_MALLOC]: Don't call - ret_lim_data. (Bug#2867) - -2009-04-03 Chong Yidong - - * term.c (produce_stretch_glyph): Reduce width of stretch glyphs - so they don't get wider than the window, matching 2006-01-23 - change to the partner function in xdisp.c (Bug#2800). - -2009-04-03 Kenichi Handa - - * print.c (print_object): Make each lowest sub_char_table start a - new line (Bug#2866). - -2009-04-02 Kenichi Handa - - * fontset.c (fontset_font): Record no-font when a fontset - explicitly tells not to try another font-specs. - -2009-03-30 Pierre Poissinger (tiny change) - - * charset.c (map_charset_for_dump): Add missing UNGCPRO. - -2009-03-30 Kenichi Handa - - * fontset.c (fontset_from_font): Specify only registry in a - font-spec for all characters supported by that registry. - - * ftfont.c: Fix previous change. Define ftfont_variation_glyphs - even if HAVE_M17N_FLT is not defined. - -2009-03-29 Sebastian Rose (tiny change) - - * ftfont.c: Conditionalize prototyping and use of - ftfont_variation_glyphs. - -2009-03-28 Stefan Monnier - - * frame.c (delete_frame): Work around compiler bug. - - * editfns.c (general_insert_function): Adjust to insdel.c changes. - * insdel.c (prepare_to_modify_buffer, signal_before_change): - Some more EMACS_INT. - * lisp.h (copy_text, count_size_as_multibyte): Fix last change. - - * xdisp.c (dump_glyph): Fix typo. - - * insdel.c (move_gap, move_gap_both, gap_left, gap_right) - (adjust_markers_gap_motion, adjust_markers_for_delete) - (adjust_markers_for_insert, adjust_point) - (adjust_markers_for_replace, make_gap_larger, make_gap_smaller) - (make_gap, copy_text, count_size_as_multibyte, insert) - (insert_and_inherit, insert_before_markers) - (insert_before_markers_and_inherit, insert_1) - (count_combining_before, count_combining_after, insert_1_both) - (insert_from_string, insert_from_string_before_markers) - (insert_from_string_1, insert_from_gap, insert_from_buffer) - (insert_from_buffer_1, adjust_after_replace) - (adjust_after_replace_noundo, adjust_after_insert, replace_range) - (replace_range_2, del_range, del_range_1, del_range_byte) - (del_range_both, del_range_2, modify_region) - (prepare_to_modify_buffer, signal_before_change) - (signal_after_change, Fcombine_after_change_execute): Use EMACS_INT - for buffer positions and sizes. - * lisp.h: Adjust prototypes accordingly. - - * fileio.c (adjust_markers_for_delete): Move declaration to lisp.h. - (non_regular_inserted, non_regular_nbytes, read_non_regular) - (Finsert_file_contents): Use EMACS_INT for buffer positions. - - * fileio.c (Finsert_file_contents): Don't limit size to INT_MAX/4. - -2009-03-27 Jan Djärv - - * frame.c (x_set_font): If the fullscreen property is non-nil, adjust - lines and columns so we keep the same pixel height and width. - - * xterm.c (handle_one_xevent): Call x_handle_net_wm_state if - the property _NET_WM_STATE has changed. - (x_handle_net_wm_state): New function to update frame parameter - fullscreen. - (x_term_init): Initialize atoms for _NET_WM_STATE. - - * xterm.h (struct x_display_info): Add atoms for _NET_WM_STATE. - -2009-03-27 Kevin Ryde - - * keyboard.c (tty_read_avail_input): Don't treat a -1 return from - Gpm_GetEvent as an error that justifies closing the filedescriptor. - * term.c (close_gpm): Get the filedescriptor as a (new) parameter. - (Fgpm_mouse_stop): Pass that new parameter. - * termhooks.h (close_gpm): Adjust prototype. - -2009-03-26 Stefan Monnier - - * lisp.h (Fx_focus_frame): Declare. - - * callint.c (Fcall_interactively): For '^' just delegate the work to - handle-shift-selection. - (syms_of_callint): Move declaration of shift-select-mode to simple.el. - -2009-03-24 Chong Yidong - - * editfns.c (Ffloat_time): Doc fix (Bug#2768). - - * data.c (Qinteractive_form): New variable. - (Finteractive_form): Use it. - - * eval.c (Fcommandp): Use Qinteractive_form. - -2009-03-24 Jason Rumney - - * fileio.c (Fsubstitute_in_file_name): Always work on a copy. - Calculate total size precisely. Decode environment variables - before substituting. (Bug#38) - -2009-03-24 Kenichi Handa - - * font.c (find_font_encoding): Return Qnil for unsupported - encoding (Bug#2722). - -2009-03-23 Jan Djärv - - * gtkutil.c (xg_display_open): Assign a value to gdpy_def, check - that gdpy is set. - -2009-03-22 Alan Mackenzie - - * callint.c (Finteractive): Clarify the doc string - even - promptless elements need \n separators. - -2009-03-22 Jason Rumney - - * w32term.c (syms_of_w32term): Doc fix for - x-use-underline-position-properties. - -2009-03-21 Eli Zaretskii - - * w32.c (getpwuid): Change argument type to unsigned. - (struct w32_id): Change type of `rid' member to unsigned. - (w32_cached_id, w32_add_to_cache, get_name_and_id): Change type of - argument ID to unsigned. All callers changed. - (getuid, geteuid, getgid, getegid): Change return type to unsigned. - -2009-03-20 Eli Zaretskii - - * editfns.c (Fuser_uid, Fuser_real_uid): If UID as EMACS_INT is - negative, produce a float value. - - * dired.c (make_uid, make_gid): New functions. - (Ffile_attributes): Use them to avoid negative UID and GID. - -2009-03-20 Juanma Barranquero - - * keyboard.c (Fcurrent_idle_time): Reflow docstring. - (syms_of_keyboard) : - Fix typos in docstrings. - -2009-03-19 Kenichi Handa - - * fontset.c (Fset_fontset_font): When a spec of ASCII font is - changed, use font_load_for_lface to get a new font object. - Call free_realized_fontset after handling ASCII font change. - - * frame.c (x_set_font): Handle the case that ARG is a cons. - -2009-03-19 Glenn Morris - - * fileio.c (Fsubstitute_in_file_name): Doc fix. - -2009-03-19 Chong Yidong - - * indent.c (Fvertical_motion): Undo 2005-01-19 change (Bug#2694). - -2009-03-19 Kenichi Handa - - * charset.c (load_charset_map_from_file): When a mapfile can't be - loaded, signal an error. - -2009-03-18 Eli Zaretskii - - * dired.c (Ffile_attributes): Make sure UID and GID are always - positive, even if the value is too large for a positive EMACS_INT. - Doc fix. - - * editfns.c (Fuser_login_name): Support float arguments. Doc fix. - -2009-03-18 YAMAMOTO Mitsuharu - - * xmenu.c (xdialog_show): Move Fredisplay call ... - (Fx_popup_dialog): ... here. - -2009-03-18 Stefan Monnier - - * dired.c (file_name_completion): Disable the first optimization just - installed, since it is not implemented correctly. - -2009-03-17 Stefan Monnier - - * dired.c (file_name_completion): Check completion-ignored-extensions - only if the entry can affect bestmatch. - Stop the search early, as Ftry_completion already does. - -2009-03-17 Chong Yidong - - * minibuf.c (Vminibuffer_completion_confirm): Doc fix. - -2009-03-15 Chong Yidong - - * keyboard.c (parse_menu_item): Don't display remappings as menu - equivalent bindings (Bug#788). - -2009-03-15 Jason Rumney - - * w32term.h (WM_EMACS_PAINT): New message. - * w32term.c (w32_read_socket): Use it instead of WM_PAINT. - * w32fns.c (w32_wnd_proc): Change WM_PAINT to WM_EMACS_PAINT - before passing to lisp thread. (Bug#950) - -2009-03-14 David Reitter - - * nsterm.m (ns_shutdown_properly, -terminate): Remove global state - variable as it was never reset. - (ns_term_init): Remove initialization of Lisp-settable defaults - and ns_expand_space. - (-setPanelFromDefaultValues): Remove ns_expand_space. - (-showPreferencesWindow): Send new KEY_NS_SHOW_PREFS key. - * nsfont.m (nsfont_open): Remove ns_expand_space, assume -0.5 - i.e. no additional spacing, similar to Carbon port. - - * nsterm.h: Define KEY_NS_SHOW_PREFS key. - * nsfns.m (ns-popup-prefs-panel): Remove. - -2009-03-14 Jan Djärv - - * sound.c (alsa_configure): Remove call to deprecated - snd_pcm_sw_params_set_xfer_align. - -2009-03-14 Stephen Berman - - * gtkutil.c (xg_tool_bar_callback): Set focus back to the frame - after clicking in a detached tool bar. - (xg_tool_bar_proxy_callback): Remove call to Fx_focus_frame. - -2009-03-13 Stefan Monnier - - * fontset.c (fontset_from_font, Ffontset_info): YAILOM (Yet another - int/Lisp_Object mixup). - -2009-03-13 Kenichi Handa - - * fontset.c (Ffontset_info, check_fontset_name): New arg frame. - Handle NAME nil and t correctly. Callers changed. - (font_def_arg, add_arg, from_arg, to_arg): Delete them. - (set_fontset_font): Change ARG to a vector. Handle range_list in - ARG correctly. - (Fset_fontset_font): Fix the case that TARGET is both a script - name and charset name. Adjust the arg to set_fontset_font for - the above change. - (fontset_from_font): Fix previous change. - (Ffontset_info): Adjust for the 2008-07-09 change of fontset - entry. If FONTSET is the default fontset, don't set the extra - slot of the returning char-table. - -2009-03-12 Juanma Barranquero - - * nsfns.m (Fx_close_connection): Doc fix. - (Fns_do_applescript): Reflow docstring. - (Fns_hide_others, Fns_hide_emacs, Fns_convert_utf8_nfd_to_nfc) - (Fx_display_pixel_width, Fx_display_pixel_height) - (Fns_display_usable_bounds, Fx_display_planes, Fx_show_tip): - Fix typos in docstrings. - (Fns_set_alpha): Fix typos in error messages. - -2009-03-12 David Reitter - - * termhooks.h [HAVE_NS]: Define NS_NONKEY_EVENT to be used for - non-key system events on NS. Formerly, NON_ASCII_KEYSTROKE_EVENT - were used for such events. - - * nsterm.m (newFrame, openFile, fulfillService, changeFont) - (toggleToolbar, performDragOperation, runHelp): Use it. - - * keyboard.c (parse_menu_item) [HAVE_NS]: Treat new event like - NON_ASCII_KEYSTROKE_EVENT, but set used_mouse_menu. - -2009-03-11 Kenichi Handa - - * font.h (font_open_by_spec): Extern it. - - * font.c (font_open_by_spec): New function. - (font_open_by_name): Use font_open_by_spec. - - * frame.c (x_set_font): When ARG is a font-object, don't alter the - fontset of the frame. - - * fontset.c (Fset_fontset_font): When a font for ASCII is changed, - modify the default font of frames that use this fontset. - (num_auto_fontsets): New variable. - (fontset_from_font): Use num_auto_fontsets to decide a fontset - name. Be sure to set FONTSET_ASCII to the correct font name. - (update_auto_fontset_alist): New function. - -2009-03-11 Juanma Barranquero - - * makefile.w32-in: Update dependencies. - -2009-03-06 Adrian Robert - - * nsfns.m (syms_of_nsfns): Remove Qbuffered. - -2009-03-10 Stefan Monnier - - * buffer.c (Fswitch_to_buffer): Revert part of 2008-10-21's change. - -2009-03-10 Chong Yidong - - * lread.c (Feval_buffer): Doc fix. - -2009-03-09 Kenichi Handa - - * charset.c (Qfile_name_handler_alist): Extern it. - (load_charset_map_from_file): Temporarily bind - `file-name-handler-alist' to nil while calling openp. (Bug#2435) - -2009-03-06 Aaron Ecay (tiny change) - - * nsterm.m (ns_draw_vertical_window_border): Draw 1 pixel wide, - not two, and use NSRectFill instead of NSDrawGroove. (Bug#2352) - -2009-03-06 Adrian Robert - - * nsterm.m: Include for SIGTERM used in ns_term_shutdown. - (x_set_window_size): Change back to calculated method of setting - toolbar height under Cocoa. (Bug#2546) - (EmacsView-windowWillUseStandardFrame:defaultFrame:): New method. - (EmacsView-drawRect:): Completely shortcircuit if ns_in_resize. - - * nsfns.m (ns_appkit_version_int): Fix typo in the version macro. - - * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Don't add - accelerator in parens under GNUstep. - -2009-03-06 Kenichi Handa - - These changes are to detect incorrect composition sequence without - looking ahead the source. (Bug#2370) - - * coding.h: Include "composite.h". - (enum compisition_state): New enum. - (struct compisition_status): New struct. - (struct iso_2022_spec): New member cmp_status. - (struct emacs_mule_spec): New struct. - (struct coding_system): New members ctext_extended_segment_len and - embedded_utf_8. Change the union member - spec.emacs_mule_full_support to spec.emacs_mule. - - * coding.c (CODING_ISO_CMP_STATUS): New macro. - (CODING_ISO_EXTSEGMENT_LEN, CODING_ISO_EMBEDDED_UTF_8): New macros. - (MAX_ANNOTATION_LENGTH): Define to 5. - (ADD_COMPOSITION_DATA): New arg nbytes. - (emacs_mule_char): New arg cmp_status. - (DECODE_EMACS_MULE_COMPOSITION_CHAR): Delete it. - (DECODE_EMACS_MULE_COMPOSITION_RULE_20): New arg c. - (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New arg c. - (DECODE_EMACS_MULE_21_COMPOSITION): Delete the arg c. - (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Likewise. - (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise. - (DECODE_EMACS_MULE_COMPOSITION_START): New macro. - (EMACS_MULE_COMPOSITION_END): New macro. - (emacs_mule_finish_composition): New function. - (EMACS_MULE_MAYBE_FINISH_COMPOSITION): New macro. - (decode_coding_emacs_mule): Avoid long looking ahead while - handling composition. - (DECODE_COMPOSITION_RULE): Argument changed to rule and nbytes. - (ENCODE_COMPOSITION_RULE): New macro. - (finish_composition): New function. - (MAYBE_FINISH_COMPOSITION): Call finish_composition. - (DECODE_COMPOSITION_START): New implementation. - (DECODE_COMPOSITION_END): Likewise. - (STORE_COMPOSITION_RULE): New macro. - (decode_coding_iso_2022): Avoid long looking ahead while handling - composition, CTEXT extended segment, and embedded UTF-8. - (setup_coding_system): For a coding of type iso-2022, reset - CODING_ISO_EXTSEGMENT_LEN (coding) and - CODING_ISO_EMBEDDED_UTF_8 (coding). - (get_translation): Delete arguments last_block, from_nchars, - to_nchars. Callers changed. - (produce_chars): Don't modify charbuf. Adjusted for the change of - get_translation. - (produce_composition): Adjust for the new annotation sequence. - (handle_composition_annotation): Likewise. - (consume_chars): Adjust for the change of get_translation. - -2009-03-05 Adrian Robert - - * nsterm.m (ns_select): Shortcircuit if reentrant call. (Bug#2564) - -2009-03-05 Kenichi Handa - - * font.c (font_select_entity): New function. - (font_find_for_lface): Use font_select_entity to select a font. - - * fontset.c (fontset_find_font): If a font found without - restricting to the characters C doesn't support C, try to find a - font with C restriction. - -2009-03-04 Nikolaj Schumacher - - * nsfont.m (nsfont_draw): Compare ns_antialias_text against lisp value. - -2009-03-04 Jason Rumney - - * w32fns.c (w32_wnd_proc): Only ignore IME messages for the - characters that have already been read. (Bug#2569) - - * image.c (xbm_read_bitmap_data, png_load, svg_load_image): - Log an error message if check_image_size failed. - (xpm_load_image, pbm_load, jpeg_load, tiff_load, gif_load) - (gs_load): Mention max-image-size in size error message. (Bug#2560) - -2009-03-02 Eli Zaretskii - - * callproc.c (Fcall_process): Bind inhibit-modification-hooks to t - when decoding process output. - -2009-03-01 Richard M Stallman - - * m/mips.h (DATA_SEG_BITS, XUINT, XSET): Definitions disabled. - - * emacs.c (gdb_data_seg_bits) [USE_LSB_TAG]: Make it 0. - -2009-02-28 Eli Zaretskii - - * coding.c (decode_coding_utf_8, decode_coding_utf_16) - (decode_coding_emacs_mule, decode_coding_iso_2022) - (encode_coding_iso_2022, decode_coding_sjis, decode_coding_big5) - (decode_coding_raw_text, decode_coding_charset) - (setup_coding_system, decode_eol, decode_coding, consume_chars): - Honor inhibit-eol-conversion. (Bug #2186) - -2009-02-28 Jason Rumney - - * coding.c (detect_coding_charset): If not checking latin extra, - fail on characters between 0x80 and 0xA0. (Bug#2354) - -2009-02-28 Eli Zaretskii - - * coding.c (detect_coding_charset): Fix change from 2008-10-21. - Also, check iso-latin-*, not only iso-8859-*. (Bug#2497) - -2009-02-27 Glenn Morris - - * callint.c (Finteractive): Doc fix. - -2009-02-27 Kenichi Handa - - * lread.c (read_escape): Signal an error for invalid \UXXXXXXXX. - -2009-02-27 Chong Yidong - - * font.c (font_style_to_value): Set value for unknown symbols to - 100 instead of 255. - (weight_table, slant_table, width_table): Treat "unspecified" as - the default value. - -2009-02-26 Juanma Barranquero - - * fileio.c (Fnext_read_file_uses_dialog_p): Fix typo in docstring. - -2009-02-25 Juanma Barranquero - - * lread.c (Fload): Stop checking Vloads_in_progress and signal - error as soon as a recursive load is detected. - -2009-02-24 Adrian Robert - - * nsterm.m (ns_ring_bell): Convert rect to window coordinates - before caching. - -2009-02-24 Kenichi Handa - - * fontset.c (fontset_find_font): Fix the condition for checking - unavailable font. - -2009-02-24 Glenn Morris - - * xfaces.c (Finternal_set_font_selection_order): Remove leading - whitespace that confuses documentation. - -2009-02-23 Miles Bader - - * process.c (Flist_system_processes, Fprocess_attributes) - (syms_of_process): Rename `system-process-attributes' to - `process-attributes'. - -2009-02-22 Andreas Schwab - - * coding.h (struct coding_system): Make safe_charsets a pointer to - unsigned char. - * coding.c (CODING_ISO_REQUEST): Check for safe_charsets content - being 255. - (SAFE_CHARSET_P): Likewise. - (setup_iso_safe_charsets): Properly setup safe_charsets. - (Fdefine_coding_system_internal): Likewise. - (setup_coding_system): Likewise. Remove unneeded casts. - (detect_coding_iso_2022): Compare Viso_2022_charset_list with - CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS. Remove - unneeded casts. - - * insdel.c (del_range_2): Don't modify gap contents when called - from decode_coding_object. (Bug#1809) - -2009-02-21 Chong Yidong - - * data.c (syms_of_data): Define Qfont_spec, Qfont_entity, and - Qfont_object. - (Ftype_of): Recognize font objects. - - * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern. - - * font.c (Qfont_spec, Qfont_entity, Qfont_object): Definitions - moved to data.c. - -2009-02-20 Adrian Robert - - * nsterm.m (x_make_frame_invisible): Unset async_visible, - async_iconified. Based on a patch by Christian Lynbech - . - (EmacsView-windowDidMiniaturize:): Unset async_visible. - -2009-02-20 Glenn Morris - - * syntax.c (Fskip_chars_forward): Fix doc typo. - -2009-02-20 Chong Yidong - - * keymap.c (Fkeymap_parent): Doc fix (Bug#2391). - -2009-02-19 Chong Yidong - - * xfns.c (Fx_create_frame): Give Xft driver a higher priority. - -2009-02-19 Kenichi Handa - - * coding.c (detect_coding): Preserve coding->mode. - Don't overflow coding->carryover. (Bug#2370) - -2009-02-18 Dan Nicolaescu - - * m/ibmrs6000.h (ADDR_CORRECT): Restore, removed by mistake on 2008-07-23. - -2009-02-18 Kenichi Handa - - * font.c (font_check_otf_features): Fix handling of `nil' element. - (Ffont_spec): Describe :lang and :otf in the docstring. - -2009-02-16 Andreas Schwab - - * coding.c (Fcheck_coding_systems_region): Fix test for unibyte - string. - -2009-02-16 Kenichi Handa - - * coding.c (Fcheck_coding_systems_region): Fix typo; Qt -> Qnil. - (Bug#1723) - -2009-02-14 Chong Yidong - - * dispextern.h (struct iterator_stack_entry): New line_wrap member. - - * xdisp.c (push_it, pop_it): Save and restore line_wrap. - (handle_line_prefix): Suppress wrapping of wrap prefixes. - -2009-02-14 Eli Zaretskii - - * msdos.c (MAX_SCREEN_BUF): New macro. - (IT_write_glyphs): Make screen_buf[] always be MAX_SCREEN_BUF-long. - Encode the entire run of glyphs sharing the same face, instead of - doing that one glyph at a time (fixes a bug with displaying - double-size characters). - -2009-02-13 Adrian Robert - - * nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog. - - * nsmenu.m (pop_down_menu): Check popup_activated_flag. - (ns_popup_dialog, EmacsDialogPanel-runDialogAt:): Let - pop_down_menu do the cleanup work as it is always called. (Bug#2154) - - * nsfont.m (nsfont_make_fontset_for_font): For now, don't try to - set fontset font for "mathematical-" sub-scripts. (Bug #2218) - -2009-02-12 Stefan Monnier - - * keyboard.c (adjust_point_for_property): Allow stopping between two - invisible areas. - -2009-02-12 Jason Rumney - - * w32font.c (check_face_name): Check for fake helv. (Bug#2275) - (add_font_entity_to_list): Call check_face_name even when family - is unspecified. - - * w32term.c (x_display_pixel_height, x_display_pixel_width): - Release DC when finished. Use NULL window to refer to desktop. - (w32_term_init): Use NULL window to refer to desktop. (Bug#460) - - * w32font.c (add_font_entity_to_list): Fix check for substituted - raster fonts. (Bug#2219) - -2009-02-12 Kenichi Handa - - * composite.c (MAX_AUTO_COMPOSITION_LOOKBACK): New macro. - (composition_gstring_width): Fix handling of LGLYPH_YOFF. - (autocmp_chars): Use fast_looking_at. Don't compose more - characters than MAX_COMPOSITION_COMPONENTS. - (find_automatic_composition): While looking forward and backward, - check static composition. Fix where to stop looking forward. - (composition_adjust_point): Fix checking of static composition. - (Fcomposition_get_gstring): Pay attention to - MAX_COMPOSITION_COMPONENTS. - - * lisp.h (fast_looking_at): Extern it. - - * search.c (fast_looking_at): New function. - - * term.c (encode_terminal_code): Adjust for the change of - .u.cmp.to. - (append_composite_glyph): Likewise. - - * xdisp.c (fill_gstring_glyph_string): Adjust for the change of - .u.cmp.to. Check if the glyph belongs to the same - composition. - (append_composite_glyph): Adjust for the change of - .u.cmp.to. - -2009-02-11 Juanma Barranquero - - * casetab.c (init_casetab_once): - * coding.c (ALLOC_CONVERSION_WORK_AREA): - * font.c (font_update_lface): - * fontset.c (Fnew_fontset): - * ftfont.c (ftfont_drive_otf): - * xfont.c (xfont_open): - * xftfont.c (xftfont_get_xft_draw): Remove spurious semicolons. - -2009-02-11 Stefan Monnier - - * fileio.c (Fwrite_region): !NILP -> CONSP. - -2009-02-10 Andreas Schwab - - * process.c (send_process): Properly relocate pointer into data - when using encoded data. (Bug#2272) - -2009-02-08 ARISAWA Akihiro - - * coding.c (detect_coding_charset): Fix previous change. - -2009-02-08 Jason Rumney - - * w32fns.c (w32_hide_hourglass): Handle case where frame - disappeared while hourglass was displayed. (Bug #2193) - -2009-02-07 Andreas Schwab - - * unexelf.c (unexec): Fix error message. - -2009-02-07 Adrian Robert - - * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event - when modal window is active. (Bug #2152) - (applicationShouldTerminate:): Remove now-unneeded while loop - around NSRunAlertPanel. - - * nsmenu.m (popupSession): New file-global variable. - (pop_down_menu): End the popupSession before closing dialog. - (ns_popup_dialog): BLOCK_INPUT around dialog presentation. - (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous), - don't query NSApp for events (just sleep instead). - -2009-02-07 Eli Zaretskii - - * coding.c (syms_of_coding) : - Modify doc string to discourage use for character code unification. - -2009-02-07 YAMAMOTO Mitsuharu - - * atimer.c (run_timers): Update pending_atimers. - -2009-02-06 Chong Yidong - - * image.c (svg_load_image): Fix last change. - - * xfns.c (Fx_create_frame): Signal an error if no font is - found (Bug#2147). - -2009-02-05 Juanma Barranquero - - * character.c (syms_of_character) : - Fix typo in docstring. - -2009-02-04 Adrian Robert - - * nsmenu.m (pop_down_menu): New function. - (ns_popup_dialog): Call it on unwind. - (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and - call timer_check() (Bug#2154). - (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if - handling_signal is set. - (EmacsMenu-fillWithWidgetValue:): Set submenu title. - - * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G. - - * s/darwin.h: Same and NO_SOCK_SIGIO as well. - - * nsterm.m (ns_read_socket): Same and don't set handling_signal. - - * keyboard.c (poll_for_input_1, handle_async_input): - Set handling_signal under HAVE_NS. - -2009-02-04 Glenn Morris - - * fileio.c (Fwrite_region): Doc fix (mention annotate-functions). - -2009-02-04 Kenichi Handa - - * Makefile.in (composite.o): Depends on frame.h and termhooks.h. - - * charset.c (Fchar_charset): New optional arg restriction. - - * coding.h (coding_system_charset_list): Extern it. - - * coding.c (coding_system_charset_list): New function. - - * composite.c: Include coding.h and termhooks.h. - (composition_gstring_p): Fix for the terminal case. - (composition_gstring_width): Likewise. - (fill_gstring_body): Likewise. - (autocmp_chars): For terminal, call Fcomposition_get_gstring with - the frame. - (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point - is within a composition. - (Fcomposition_get_gstring): Fix the terminal case. - - * term.c (encode_terminal_code): Fix handling of composition. - (produce_composite_glyph): For static composition, get pixel_width - from struct composition. - -2009-02-02 Andreas Schwab - - * unexelf.c (unexec): Handle unaligned bss offset. - -2009-02-01 Adrian Robert - - * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30 - XT,w32read_socket changes to ns_read_socket. - - * keyboard.c (handle_interrupt): Don't call - quit_throw_to_read_char() under NS. - - * blockinput.h: Remove NS-specific code. - -2009-01-30 Dan Nicolaescu - - * dispnew.c (window_change_signal): Don't try to get the size of a - suspended tty frame. - * term.c (Fresume_tty): Resize if the size has changed while the - tty was suspended. - - * alloc.c (mark_stack): Properly conditionalize previous change. - -2009-01-30 Juanma Barranquero - - * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]: - * w32term.c (w32_read_socket) [SYNC_INPUT]: - Remove; this code is not used on Windows. - -2009-01-30 Eli Zaretskii - - * coding.c (detect_eol, decode_eol): Handle text with DOS-style - EOLs that also has stray ^M characters. - -2009-01-30 Juanma Barranquero - - * atimer.c (run_timers, alarm_signal_handler): - * keyboard.c (pending_signals, handle_async_input, init_keyboard): - * w32inevt.c (w32_console_read_socket): - * w32term.c (w32_read_socket): - * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate. - -2009-01-30 Chong Yidong - - * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP. - Initialize it as a relative filename pattern. - (init_callproc): Don't initialize Vtemp_file_name_pattern here. - (Fcall_process_region): Simplify temp file creation using - temporary-file-directory. - -2009-01-29 Eli Zaretskii - - * msdos.c: Rename pending_signals to msdos_pending_signals. - (sig_suspender, sigprocmask): Adjust. - -2009-01-29 Chong Yidong - - * keyboard.c (pending_signals): New var. - (poll_for_input, input_available_signal, init_keyboard): Set it. - (process_pending_signals): New function. - - * lisp.h (QUIT): Check pending_signals instead of - interrupt_input_pending. Use process_pending_signals. - - * atimer.c (run_timers, alarm_signal_handler): Update pending_signals. - - * process.c (wait_reading_process_output): Use process_pending_signals. - - * sysdep.c (emacs_write): Use process_pending_signals. - - * xterm.c (XTread_socket): Update pending_signals. - - * w32term.c (w32_read_socket): Update pending_signals. - - * w32inevt.c (w32_console_read_socket): Update pending_signals. - -2009-01-29 Kenichi Handa - - * xftfont.c (xftfont_has_char): New function. - (syms_of_xftfont): Register xftfont_has_char in xftfont_driver. - -2009-01-29 Adrian Robert - - * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define - under GNUstep. - (ns_query_color): New declaration. - - * nsterm.m (ns_confirm_quit): New variable. - (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it. - (EmacsApp-applicationShouldTerminate:): Use it. - (EmacsPrefsController): Let user set it. - (ns_query_color): New function. - (ns_defined_color): Use it. - (ns_initialize): Drop. - (ns_term_init): Add two lines from ns_initialize(), and set - input_interrupt_mode to nil. - - * image.c (svg_load_image): Don't right-shift background RGB when - obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color. - -2009-01-28 Kenichi Handa - - * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit. - (fontset_get_font_group): Remember that no font-group is specified - for C. - -2009-01-27 Chong Yidong - - * fns.c (concat): Check for string overflow (bug#1787). - - * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit): - Quadruple undo limits (bug#1501). - -2009-01-27 Kenichi Handa - - * ftfont.c (ftfont_has_char): If the arg FONT is a font-object, - directly use GT_Get_Char_index. - - * xftfont.c (struct xftfont_info): New member `index'. - - * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit. - (Ffontset_font): Adjust for the change of fontset entry. - -2009-01-26 Kenichi Handa - - * fontset.c (fontset_find_font): Fix handling of non-cons return - value of fontset_get_font_group. - (fontset_font): Revert last change. - -2009-01-26 Jason Rumney - - * w32font.c (w32font_list_internal): Return quickly if registry is - unknown. Simplify final return. - (add_font_entity_to_list): Break complex logic down into more - manageable chunks. Move unknown registry check to - w32font_list_internal. - -2009-01-25 Adrian Robert - - Changes to remove Feval calls from GUI under NS. - - * nsterm.h: Move KEY_NS_... definitions here from nsterm.m. - Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT. - Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT. - - * nsterm.m: Move KEY_NS_... definitions to nsterm.h. - (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR. - (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT - instead of NON_ASCII_KEYSTROKE_EVENT. - (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval. - (EmacsApp-applicationShouldTerminate:): Query user. - (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS - instead of Feval. - - * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS. - - * keyboard.c (kbd_buffer_get_event): Check for it. - (keys_of_keyboard): Define lispy keys for - ns-put/unput-working-text. - - * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32 - versions. - (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode. - -2009-01-25 Chong Yidong - - * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of - setting current_buffer directly. (Bug#2044) - -2009-01-24 Chong Yidong - - * fontset.c (fontset_font): If we know there is no font, don't do - any work. (Bug#1952, bug#1990). - - * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802) - -2009-01-23 Adrian Robert - - * emacs.c (main): Do fork+exec under --daemon in Cocoa. - (ns_no_defaults): New declaration. - (main): Use it. - - * nsterm.h (ns_no_defaults): New declaration. - - * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults. - - * nsterm.m (ns_no_defaults): New variable. - (ns_initialize): Don't read defaults when ns_no_defaults. - (EmacsView-readSelectionFromPasteboard:) - (writeSelectionToPasteboard:types:): New stubbed-out methods for - NSServicesRequests protocol. (Bug#1435) - (ns_dumpglyphs_stretch): New function. - (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change - of 2008-11-15 to other terms. (Bug#615) - - * nsimage.m (setPixmapData:): Set to ignore image DPI. - -2009-01-23 Giorgos Keramidas (tiny change) - - * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly - call for Sparc64. - -2009-01-22 Adrian Robert - - * nsfns.m: - * nsgui.h: - * nsmenu.m: - * nsselect.m: - * nsterm.h: - * nsterm.m: Remove '23' comments that indicated code added during - update from emacs-20 -> emacs-23. - -2009-01-22 Adrian Robert - - * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for - ns_alternate_modifier. (Bug#1217) - - * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:): - Display all shortcuts, including those w/o super modifier. - - * nsfns.m (ns-read-file-name): Fix typo in assignment statement. - -2009-01-22 Chong Yidong - - * fileio.c (Vwrite_region_post_annotation_function) - (Vwrite_region_annotation_buffers): New vars. - (build_annotations_unwind): Just reset - Vwrite_region_annotation_buffers. - (Fwrite_region): Initialize Vwrite_region_annotation_buffers. - Call write-region-post-annotation-function. - (build_annotations): Add to Vwrite_region_annotation_buffers if - buffer changes. - -2009-01-21 Adrian Robert - - * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on - Tiger. - * nsfns.m (ns_do_applescript): - Conditionalize typeUTF16ExternalRepresentation on Tiger. - -2009-01-21 Wolfgang Lux (tiny change) - - * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window. - -2009-01-21 Adrian Robert - - * nsmenu.m (NSMENUPROFILE): Change #if style. - - * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues. - - * nsterm.m (x_set_frame_alpha): Add prototype. - (ns_fake_keydown, EmacsView-keyUp:): New variable and function to - handle Ctrl-tab. (Bug#1841) - (ns_get_color): Use unsigned long long for scanned hex string value. - (ns_term_shutdown): Abort on non SIGTERM signals. - (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame. - (EmacsPrefsController-setPanelFromDefaultValues): New function. - (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801) - (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused. - (ns_defined_color): Fix settings of the XColor variable fields: - red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663) - - * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image - DPI. (Bug#1316) - (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color - values in onTiger section. - -2009-01-19 Chong Yidong - - * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts): - Check return value of font_spec_from_name. - (Fx_list_fonts): Doc fix. (Bug#1951) - - * font.c (font_spec_from_name): Return Qnil if font name could not - be parsed. - (font_parse_name): Treat a `?' character as part of an XLFD. - - * fns.c (Fsubstring): Doc fix. - -2009-01-19 Kenichi Handa - - * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList. - (ftfont_list): Likewise. - -2009-01-18 Juanma Barranquero - - * dbusbind.c (Fdbus_register_signal): - * process.c (conv_sockaddr_to_lisp): - * w32fns.c (Fw32_battery_status): Use empty_unibyte_string. - - * callproc.c (Fgetenv_internal): Doc fix. - -2009-01-16 Chong Yidong - - * xfns.c (x_make_gc): Don't allocate stipple member for gc_values; - it is not even used. - -2009-01-16 Glenn Morris - - * font.c (Ffont_variation_glyphs): Silence compiler. - -2009-01-15 Juanma Barranquero - - * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility. - Reported by David Robinow . - -2009-01-15 Kenichi Handa - - * coding.c (detect_coding_system): Fix handling of null_byte_found. - -2009-01-14 Jason Rumney - - * frame.c (x_set_font): Always store a font to the font parameter, - never a fontset. (Bug#1562) - -2009-01-14 Kenichi Handa - - * coding.c (TWO_MORE_BYTES): New macro. - (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE. - -2009-01-13 Chong Yidong - - * font.c (font_clear_prop): If clearing the family, clear the font - width index too. - - * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change. - -2009-01-12 Juanma Barranquero - - * sound.c [WINDOWSNT] (SOUND_WARNING): New macro. - (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci - functions, use sizeof. - -2009-01-12 Martin Rudalics - - * keyboard.c (read_char): Fix case where last_nonmenu_event - returned a bad value with submenus. (Bug#447) - -2009-01-12 Chong Yidong - - * xfaces.c (Finternal_set_lisp_face_attribute): If setting the - family, clear the font width index too. - -2009-01-11 Jason Rumney - - * keyboard.c (cmd_error_internal): Exit when errors occur before - frame creation and not in daemon mode. (Bug#1836) - -2009-01-10 Chong Yidong - - * xdisp.c (pos_visible_p): When iterator stops on the last glyph - of a display vector, backtrack. - (try_window_reusing_current_matrix): Check glyph type before - referencing charpos member. - -2009-01-10 Eli Zaretskii - - Fix Bug #876: - - * coding.c (inhibit_null_byte_detection): New variable. - (detect_coding, detect_coding_system): Don't pay attention to null - bytes if inhibit_null_byte_detection is non-zero. - (syms_of_coding) : Declare and document. - : Doc fix. - -2009-01-09 Jason Rumney - - * w32font.c (add_font_entity_to_list): Don't report unknown - Windows charset as any unrecognized registry. (Bug#1548) - Only report Unicode Plane 2 fonts as unicode-sip. - -2009-01-09 Chong Yidong - - * xfaces.c (Fx_font_family_list): Delete function. - Move compatibility version to faces.el. - - * font.c (Ffont_family_list): Return a list of strings, not symbols. - -2009-01-09 Martin Rudalics - - * frame.c (x_set_frame_parameters): Remember requested value for - fullscreen before it's reset by the parameter handler. - -2009-01-09 Glenn Morris - - * keyboard.c (last_command_char): For clarity, rename to... - (last_command_event): ... and update all users. - (last_input_char): For clarity, rename to... - (last_input_event): ... and update all users. - (last-command-char, last-input-char): Move to subr.el as aliases. - * cmds.c, commands.h: Update for last_command_char rename. - -2009-01-08 Chong Yidong - - * font.c (font_open_for_lface): Handle unspecified height attribute. - -2009-01-08 Jason Rumney - - * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape) - (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape) - (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape): - Don't declare. - (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485) - (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code. - -2009-01-07 Kenichi Handa - - * fileio.c (Finsert_file_contents): In the case of replace, - remember the coding system used for decoding in - coding_system (Bug#1039). - - * coding.c (decode_coding_utf_8): Check byte_after_cr before - breaking the loop. (Bug#870) - (decode_coding_utf_16, decode_coding_emacs_mule) - (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5) - (decode_coding_charset): Likewise. - -2009-01-05 Martin Rudalics - - * frame.c (x_set_frame_parameters): Make sure height (width) get - applied when fullwidth (fullheight) is set. (Bug#1522) - -2009-01-04 Juanma Barranquero - - * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766) - (utc_base): Declare as ULONGLONG, not long double. - (convert_time_raw): Delete. - (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros. - (initialize_utc_base): New function. - (convert_time): Use FILETIME_TO_U64, initialize_utc_base. - (convert_from_time_t): Use initialize_utc_base; compute result with - 64-bit arithmetic. - (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME. - -2009-01-03 Eli Zaretskii - - * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess) - (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime) - (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs) - (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime) - [!subprocesses]: Define. - (syms_of_process) [!subprocesses]: Intern and staticpro them. - (Flist_system_processes, Fsystem_process_attributes) - [!subprocesses]: Call list_system_processes and - system_process_attributes instead of returning Qnil. - - * dosfns.c (system_process_attributes, list_system_processes): - New functions. - - * vm-limit.c (ret_lim_data) [MSDOS]: New function. - - * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]: - Don't use the default (no-op) implementation. - -2009-01-03 Jason Rumney - - * keyboard.c (parse_modifiers_uncached): Wheel events are - clicks (bug#687). - - * w32term.c (x_query_colors, x_query_color): New functions. - - * image.c (x_to_xcolors, png_load): Eliminate W32 specific code. - (svg_load_image): Cast returned pointers from dynamically loaded - functions. Eliminate W32 specific code. - -2009-01-02 Dan Nicolaescu - - * nsfns.m (x_set_foreground_color, x_set_background_color) - (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name) - (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use - x_ prefix instead of ns_. Update references. - (syms_of_nsfns): Add a FIXME comment. - - * nsterm.m (x_set_cursor_type): New prototype. - (setValuesFromPanel): Use it instead of the old ns_ prefixed name. - - * sysdep.c (system_process_attributes): Provide Qtime and Qctime - for Solaris instead of incorrectly providing Qutime and Qcutime. - -2009-01-02 Eli Zaretskii - - * w32.c (process_times): Compute sum of utime and stime. - (system_process_attributes): Add Qtime to the alist. - - * sysdep.c (system_process_attributes): Compute Qtime and Qctime - and add them to the alist. - - * process.c (top level) : New variables. - (syms_of_process): staticpro them. - (Fsystem_process_attributes): Add their documentation to the doc - string. - - * process.h: Declare Qtime and Qctime. - -2009-01-02 Jason Rumney - - * image.c (Qgobject): New symbol. - (syms_of_image): Initialize it. - (init_svg_functions): Load some functions from gobject library. - -2009-01-01 Dan Nicolaescu - - * frame.c (make_terminal_frame): Remove redundant code and useless - block. - -2009-01-01 Andreas Schwab - - * process.c (conv_sockaddr_to_lisp): Add workaround for - getsockname bug on BSD. - -2009-01-01 Chong Yidong - - * xfns.c (x_create_tip_frame): Set border width of the X window. - - * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message. - -2009-01-01 Jason Rumney - - * w32term.c (x_new_font): Return font object, not fontset. (Bug#119) - Don't block input, as per earlier xterm.c changes. - -2008-12-31 Adrian Robert - - * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version. - (ns_appkit_version_int): New function. - (x-server-version): Use ns_appkit_version_int and follow 21+ - convention of returning 3 integers. - -2008-12-30 Kenichi Handa - - * character.h (CHAR_VARIATION_SELECTOR_P): New macro. - (CHAR_SURROGATE_PAIR_P): New macro. - - * font.h (struct font_driver): New member get_variation_glyphs. - - * font.c (font_range): Don't require a font for a variation selector. - (Ffont_variation_glyphs): New function. - (syms_of_font): Defsubr it. - - * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to - ftfont_variation_glyphs. - (setup_otf_gstring): New function. - (ftfont_drive_otf): Use it. - (ftfont_shape_by_flt): Handle variation selector. - (ftfont_variation_glyphs): New function. - -2008-12-30 Martin Rudalics - - * frame.c (Vemacs_iconified): Remove. - -2008-12-30 Jason Rumney - - * frame.c (store_frame_param, x_get_arg): Enable newer code on - WINDOWSNT too, as related changes have already been synced. (Bug#117) - -2008-12-30 Chong Yidong - - * indent.c (Fvertical_motion): Don't advance iterator if we have - reseated to the desired position. - - * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when - checking for pos match. - -2008-12-30 Kenichi Handa - - * insdel.c (copy_text): To convert a non-ASCII char to unibyte, - just get the low 8-bit of the code. - - * font.c (font_intern_prop): Validate str as multibyte. - -2008-12-29 Dan Nicolaescu - - * dispextern.h (struct face): Move lface and hash from the middle - of bitfields. - - * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users. - -2008-12-29 Dan Nicolaescu - - * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h. - (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC - instead of intervals.h. - -2008-12-26 Andreas Schwab - - * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a - cons. - -2008-12-26 Martin Rudalics - - * textprop.c (Qminibuffer_prompt): New variable. - (syms_of_textprop): Initialize it. - * callint.c (Fcall_interactively): For `c', `k', and `K' prompt - in minibuffer-prompt face. (Bug#1662) - -2008-12-25 Jason Rumney - - * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE. - -2008-12-24 Jason Rumney - - * ralloc.c (r_alloc_reset_variable): New function. - - * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal - record of what points where. (Bug#716) - -2008-12-22 Dan Nicolaescu - - * minibuf.c (read_minibuf): Follow the non-interactive case when - running as a daemon, before detaching. - -2008-12-22 Andreas Schwab - - * buffer.c (init_buffer): Use realloc instead of xrealloc. - * gtkutil.c (free_widget_value): Use xfree instead of free. - -2008-12-22 Martin Rudalics - - * frame.c (delete_frame): New function derived from - Fdelete_frame to handle Qnoelisp value for FORCE argument. - Delete last frame iff FORCE equals Qnoelisp. (Bug#1450) - (Fdelete_frame): Call delete_frame. Remove line from doc-string - saying that FORCE non-nil doesn't run `delete-frame-functions'. - * frame.h: Extern delete_frame. - * window.c (window_loop): - * terminal.c (delete_terminal): - * xterm.c (x_connection_closed): - * xfns.c (Fx_hide_tip): - * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame. - -2008-12-21 Jason Rumney - - * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR - when character maps to .notdef character. - -2008-12-21 Stefan Monnier - - * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310. - -2008-12-20 Jason Rumney - - * frame.c (Fmake_terminal_frame): Raise an error when called from - a graphical frame on Windows. (Bug#1325) - -2008-12-20 Jan Djärv - - * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil. - -2008-12-20 Chong Yidong - - * minibuf.c (Fread_buffer): Doc fix. - -2008-12-20 Jason Rumney - - * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the - server name in UNC paths. (Bug#719) - - * coding.c (decode_coding): Clear chars_at_source flag when using - charbuf. (Bug#1035) - -2008-12-19 Daniel Engeler - - * sysdep.c (serial_configure): Fix typo. - -2008-12-19 Dan Nicolaescu - - * sysdep.c: Include alloca.h. - (system_process_attributes): Add implementation for Solaris. - - * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines. - -2008-12-19 Dan Nicolaescu - - Reorganize implementation of Flist_system_processes and - Fsystem_process_attributes. No functional changes. - * process.c: Don't #include pwd.h, grp.h and limits.h. - (Flist_system_processes): Just call list_system_processes. - (Fsystem_process_attributes): Just call system_process_attributes. - (procfs_list_system_processes, time_from_jiffies) - (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR) - (procfs_get_total_memory, procfs_system_process_attributes): Move ... - - * sysdep.c: ... here. Include pwd.h, grp.h and limits.h. - (list_system_processes): Rename from - procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS. - Provide a do nothing implementation. - (system_process_attributes): Rename from - procfs_list_system_processes. - (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR) - (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX. - - * w32.c (list_system_processes): Rename from - w32_list_system_processes. - (system_process_attributes): Rename from - w32_system_process_attributes. - - * s/gnu-linux.h (LISTPROC, PROCATTR): Remove. - - * process.h (w32_list_system_processes) - (w32_system_process_attributes): Remove. - (list_system_processes, system_process_attributes): - New prototypes. - -2008-12-19 Kenichi Handa - - * xfont.c (xfont_decode_coding_xlfd): New function. - (xfont_encode_coding_xlfd): New function. - (xfont_list_pattern): Decode XLFD by iso-8859-1. - (xfont_list): Decode and encode XLFD by iso-8859-1. - (xfont_match): Likewise. - (xfont_list_family): Likewise. - (xfont_open): Likewise. - - * ftfont.c (ftfont_open): Generate a multibyte string if given - names are utf-8. - - * xftfont.c (xftfont_open): Generate a multibyte string if given - names are utf-8. - -2008-12-18 Jan Djärv - - * gtkutil.c (xg_frame_resized): Remove check if rows/columns have - changed. - (xg_tool_bar_proxy_callback): Put focus on the frame after we have - clicked on a detached tool bar button. - -2008-12-18 Dan Nicolaescu - - * emacs.c (main): Print and error and exit when no data is read - from the pipe. - -2008-12-17 Jason Rumney - - * w32font.c (w32font_has_char): Always return -1. - -2008-12-16 Kenichi Handa - - * font.c (font_open_entity): Fix previous change. - -2008-12-16 Dan Nicolaescu - - * process.c: Include . - -2008-12-16 Chetan Pandya (tiny change) - - * font.c (font_update_drivers): Fix mistake in reconstructing the - driver list. - -2008-12-16 Chong Yidong - - * font.c (font_clear_cache): Fix format of font cache data. - -2008-12-15 Chong Yidong - - * xftfont.c (xftfont_open): Free Xft font pattern if - XftFontOpenPattern fails. - - * xterm.c (x_free_frame_resources): Remove extraneous call to - free_frame_faces. - -2008-12-13 Chong Yidong - - * xterm.c (x_delete_display): Move xim_close_dpy call to - x_delete_terminal. - (x_delete_terminal): Call xim_close_dpy. - -2008-12-13 Jason Rumney - - * w32font.c (intern_font_name): New function. - (add_font_name_to_list, w32_enumfont_pattern_entity): Use it. - (w32font_open_internal, Fx_select_font): Decode font name. - (fill_in_logfont, list_all_matching_fonts): Encode font name. - - * w32font.h (intern_font_name): Declare new function. - - * w32uniscribe.c (add_opentype_font_name_to_list): - Use intern_font_name. - -2008-12-13 Chong Yidong - - * frame.c (Fdelete_frame): Call free_font_driver_list. - - * font.c (free_font_driver_list): Implement missing function. - - * w32term.c (w32_term_init): Don't initialize the image cache - here; it will be done in init_frame_faces. - - * xterm.h (struct xim_inst_t): Definition moved from xterm.c. - (struct x_display_info): Remove unused member null_pixel. New - member xim_callback_data. - - * xterm.c (struct xim_inst_t): Definition moved to xterm.h. - (xim_initialize): Save pointer to callback function data. - (xim_close_dpy): Free callback function data. Call XCloseIM, - reverting 2008-11-04 change by David Smith. - (x_term_init): Don't initialize the image cache here; it will be - done in init_frame_faces. Remove ancient "null_pixel" cruft. - (x_delete_display): Free x_dnd_atoms member. - -2008-12-13 Kenichi Handa - - * font.c (font_rescale_ratio): Moved from xfaces.c. - Argument type changed. Handle a font-spec too. - (font_score): Check Vface_font_rescale_alist. - (font_open_entity): Likewise. (Bug#1547) - - * xfaces.c (font_rescale_ratio): Moved to font.c. - -2008-12-13 Chong Yidong - - * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame. - -2008-12-12 Jason Rumney - - * w32fns.c (x_display_info_for_name, Fx_open_connection): Set - Vwindow_system_version to the real w32 major version. - -2008-12-12 Dan Nicolaescu - - * term.c (init_tty): Move setting the terminal name before the - potential user: maybe_fatal. - -2008-12-11 Chong Yidong - - * term.c (tty_free_frame_resources): Renamed from delete_tty_output; - all callers changed. Call free_frame_faces to free the face cache. - -2008-12-11 Jason Rumney - - * w32font.c (fill_in_logfont): Don't assume symbol script means - SYMBOL_CHARSET. (Bug#547) - - * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer - size for surrogates. (Bug#1096, bug#872) - -2008-12-11 Juanma Barranquero - - * w32proc.c (Fw32_get_locale_info): Decode long form of locale name. - -2008-12-11 Juanma Barranquero - - * process.c (Fsystem_process_attributes, syms_of_process): - Fix typo in name of Ssystem_process_attributes. - Reported by Ulrich Mueller . - -2008-12-11 Juanma Barranquero - - * syntax.c (Fmodify_syntax_entry): Doc fix. - -2008-12-10 Juanma Barranquero - - * font.c (Ffont_spec): Move usage to end of docstring. - -2008-12-10 Jason Rumney - - * w32font.c (Qcham): New symbol. - (font_supported_scripts): Add cham, and comments for other new - scripts in bitfield from OpenType spec. - (add_font_entity_to_list): Limit unicode-sip fonts to those that - contain characters beyond the bmp. - -2008-12-10 Kenichi Handa - - * ftfont.c (fc_charset_table): Add "unicode-sip". - (ftfont_spec_pattern): Lookup fc_charset_table for the registry - Qunicode_sip. - -2008-12-10 Juanma Barranquero - - * coding.c (QCdefault_char): Rename from QCdefalut_char. - (Fcoding_system_put): Use QCdefault_char. - (syms_of_coding): Set QCdefault_char, not QCdefalut_char. - -2008-12-09 Chong Yidong - - * xftfont.c (syms_of_xftfont): Fix typo. - - * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer. - -2008-12-08 Dan Nicolaescu - - * emacs.c (main): Close daemon_pipe on exec. - -2008-12-08 Chong Yidong - - * termchar.h (struct tty): New members termcap_term_buffer and - termcap_strings_buffer. - - * term.c (encode_terminal_code): Free any previous memory blocks - before calling xmalloc for encode_terminal_src or encode_terminal_dst. - (maybe_fatal): Buffer argument deleted. Don't free buffer here. - All callers changed. - (init_tty): Store termcap data and string buffers in new struct - tty members termcap_term_buffer and termcap_strings_buffer. - (delete_tty): Free them. - (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst. - -2008-12-07 Seiji Zenitani - - * nsfns.m (ns_set_background_color): Remove code duplication. - It was a substitute for face-transparency on OS X 10.3. - -2008-12-06 Chong Yidong - - * coding.c (make_conversion_work_buffer): Disable buffer - modification hooks in the work buffer. - -2008-12-05 Eli Zaretskii - - * process.c (procfs_system_process_attributes): If `nread' has a - negative value, assign zero to it. - -2008-12-05 Chong Yidong - - * eval.c (Vdebug_on_error): Doc fix. - -2008-12-05 Kenichi Handa - - * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the - second character is a combining character. - -2008-12-05 Eli Zaretskii - - * process.c (procfs_system_process_attributes): Don't use cmd, - cmdsize, and q without initializing them first. - -2008-12-04 Jason Rumney - - * w32font.c (w32font_draw): Initialize orig_clip before getting - it, and delete it when finished. - -2008-12-04 Dan Nicolaescu - - * keyboard.c (kbd_buffer_get_event): Follow the non-interactive - case when running as a daemon before detaching. - -2008-12-03 Juanma Barranquero - - * w32.c (init_environment): Don't unload library shell32.dll. - -2008-12-03 Kenichi Handa - - * font.c (font_at): Set `multibyte' at first. - - * coding.c (decode_coding_charset): Check type of an element of - vector VALIDS. - (encode_coding_emacs_mule): Be sure to set `code'. - - * fontset.c (face_for_char): Handle invalid charset property correctly. - (font_for_char): Likewise. - -2008-12-03 Chong Yidong - - * font.c (Fopen_font): Compute pixel size correctly. - (font_update_lface): Handle fonts with corrupted size specs, - i.e. non-int and non-float. - - * ftfont.c (ftfont_match): Initialize entity variable. - (ftfont_resolve_generic_family): Avoid using uninitialized var. - (ftfont_list_family): Initialize list var earlier. - - * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak. - - * xterm.c (x_draw_glyph_string): Fall back on - underline_minimum_offset for underline position. - -2008-12-03 Dan Nicolaescu - - * keyboard.c (read_char_help_form_unwind): Specify the type for ARG. - - * character.c (c_string_width): Specify the type for LEN. - -2008-12-03 Kenichi Handa - - * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0. - (decode_coding_utf_8): Likewise. - (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil. - (produce_chars): Initialize consumed_chars to 0. - -2008-12-02 Chong Yidong - - * keyboard.c (make_lispy_position): Only use PT if the selected - window is current. - -2008-12-02 Andreas Schwab - - * font.c (font_unparse_fcname): Fix use of uninitialized variable. - - * doprnt.c (doprnt1): Fix size of charbuf. - -2008-12-02 Chong Yidong - - * keyboard.c (timer_check): Revert last change. - -2008-12-02 Juanma Barranquero - - * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo. - -2008-12-01 Juanma Barranquero - - * makefile.w32-in: Update dependencies. - (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h. - -2008-12-01 Andreas Schwab - - * font.c (register_font_driver): Use xmalloc. - (font_put_frame_data): Likewise. - -2008-12-01 Chong Yidong - - * xfaces.c (realize_x_face): Make abort condition clearer. - - * gtkutil.c (update_frame_tool_bar): Initialize variable. - -2008-11-30 Chong Yidong - - * keyboard.c (timer_check): After a timer runs, ensure that the - selected window's buffer is current. - -2008-11-30 Juanma Barranquero - - * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove. - It was accidentally restored by the Unicode merge. - - * w32proc.c (Fw32_get_locale_info): Fix typo in docstring. - -2008-11-29 Juanma Barranquero - - * w32proc.c: Include "coding.h". - (Fw32_short_file_name): Encode filename passed to Windows API. - (Fw32_long_file_name): Encode filename passed to Windows API and - decode back the result. (Bug#1433) - -2008-11-29 Kenichi Handa - - * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or - not before accessing it. - - * charset.c (Fdefine_charset_internal): After calculating - min_char, max_char, and fastmap, copy the charset structure again. - (encode_char): Fix the previous change. - -2008-11-28 Seiji Zenitani - - * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha. - - * nsfns.m (ns_frame_parm_handlers): Set alpha handler. - - * nsterm.m (x_set_frame_alpha): New function. - -2008-11-27 Eli Zaretskii - - * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change. - -2008-11-27 Juanma Barranquero - - * w32font.c (add_font_entity_to_list): Pass the right LOGFONT - pointer to check_face_name. - -2008-11-27 Kenichi Handa - - * category.h (SET_CATEGORY_SET): Call set_category_set. - (set_category_set): Extern it. - - * category.c (hash_get_category_set): New function. - (Fmodify_category_entry): Adjusted for the change of - char_table_ref_and_range. Call hash_get_category_set to get a - category set to store in the table. - - * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of - Funify_charset. - - * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED. - (DECODE_CHAR): Check if the decoder vector is ready. - (ENCODE_CHAR): Check if the encoder char-table is ready. - (maybe_unify_char): Extern it. - - * charset.c (Vchar_unified_charset_table): Delete it. - (inhibit_load_charset_map): New variable. - (temp_charset_work): New variable. - (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER) - (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER): - New macros. - (load_charset_map): Meaning of control_flag changed. If - inhibit_load_charset_map is nonzero, setup a table in - temp_charset_work. - (load_charset): New argument control_flag. - (map_charset_for_dump): New function. - (map_charset_chars): If inhibit_load_charset_map is nonzero, use - map_charset_for_dump. - (Fdefine_charset_internal): If the charset method is MAP, load - mapping tables by calling load_charset. - (Funify_charset): Don't load a mapping table but directly set - Vchar_unify_table. - (maybe_unify_char): New function. - (decode_char): Don't handle the deleted method MAP_DEFERRED. - Handle the case of inhibit_load_charset_map being nonzero. - (encode_char): Don't handle the deleted method MAP_DEFERRED. - Handle the case of inhibit_load_charset_map being nonzero. - (Fclear_charset_maps): Just free temp_charset_work. - (syms_of_charset): Make `inhibit-load-charset-map' a Lisp - variable. - - * chartab.c (sub_char_table_ref_and_range): Adjusted for the - change of char_table_ref_and_range. - (char_table_ref_and_range): Change the meaning of argument FROM - and TO. Now the caller must provide initial values for *FROM - and *TO. - - * fontset.c (fontset_add): Adjusted for the change of - char_table_ref_and_range. - (fontset_get_font_group): Likewise. - (Ffontset_info): Likewise. - - * keymap.c (describe_vector): Adjusted for the change of - char_table_ref_and_range. For char-table, put boundary between - non-ASCII and 8-bit characters. - - * print.c (print_object): For bool-vector, delete unnecessary - check of ASCII_BYTE_P. - -2008-11-26 Jason Rumney - - * w32font.c (w32font_open_internal): Don't include external - leading in font height. (Bug#879) - -2008-11-26 Glenn Morris - - * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el - redefinition with ifdef. (Bug#1383) - -2008-11-24 Adrian Robert - - * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044). - -2008-11-24 Wolfgang Lux (tiny change) - - * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged): - New EmacsView methods. - (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants. - Fixes bug #1048,1357,1414. - -2008-11-24 Adrian Robert - - Fix bug #1362. - * image.c (x_clear_image_1): Do not free background under HAVE_NS, it - is not an indexed color. - * nsterm.m (free_indexed_color): Add argument checking. - * nsfns.m: Move config.h to before system includes (advised by Dan N.). - -2008-11-24 Chong Yidong - - * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm): - Document confirm-after-completion value for - minibuffer-completion-confirm. - -2008-11-24 Jason Rumney - - * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler - warning. - -2008-11-23 Jason Rumney - - * w32uniscribe.c (uniscribe_encode_char): Ensure context is - restored before returning. - - * w32font.c (check_face_name): New function. - (add_font_entity_to_list): Use it to filter out common substituted - fonts. (Bug#642) - -2008-11-22 Martin Rudalics - - * buffer.c (Fswitch_to_buffer): Reword and mention new option - confirm-nonexistent-file-or-buffer in doc-string. - -2008-11-21 Stefan Monnier - - * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation. - Fix copy/paste typo. Add checks. - -2008-11-21 Kenichi Handa - - * coding.c (detect_coding_iso_2022): Reject invalid composition - sequence. - (DECODE_COMPOSITION_START): If the current source is the last - block, and the current composition doesn't end, regard this - sequence as invalid. - (decode_coding_iso_2022): Handle invalid composition sequence. - -2008-11-20 Martin Rudalics - - * window.c (coordinates_in_window): Don't return - ON_VERTICAL_BORDER for the rightmost position of a mode/header - line when the window is not the rightmost one. (Bug#1372) - -2008-11-16 Ben North (tiny change) - - * buffer.c (syms_of_buffer): Fix doc-string of cursor-type. - -2008-11-15 Eli Zaretskii - - * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw, - and bright_bg if noninteractive is non-zero. - -2008-11-15 YAMAMOTO Mitsuharu - - * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call - x_draw_glyph_string_background. - - * w32term.c (x_draw_glyph_string): Likewise. - -2008-11-15 Chong Yidong - - * xterm.c (x_draw_glyph_string): Stop drawing the background of - the next glyph string once past the overhang width. - - * nsterm.m (ns_draw_glyph_string): Likewise. - - * w32term.c (x_draw_glyph_string): Likewise. - -2008-11-14 Fabrice Popineau (tiny change) - - * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid - double file close. - -2008-11-14 Martin Rudalics - - * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset - dedicated status of window before attempting to display another - buffer in it. - -2008-11-14 Juanma Barranquero - - * msdos.c (Fmsdos_long_file_names): - (syms_of_msdos) : - * dosfns.c (Fint86): Fix typos in docstrings. - -2008-11-14 Eli Zaretskii - - * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace. - -2008-11-14 Katsumi Yamaoka - - * puresize.h (BASE_PURESIZE): Increase to 1260000. - -2008-11-12 Michal Nazarewicz (tiny change) - - * frame.c (x_set_alpha): Set alpha to -1 if nil given. - - * frame.h: Negative alpha means "don't touch". - - * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative. - - * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative. - -2008-11-12 Dan Nicolaescu - - * hftctl.c: - * chpdef.h: - * acldef.h: Remove files used only for systems no longer supported. - - * Makefile.in: Fix .o alphabetical ordering. - (hftctl.o): Remove dependency, file removed. - (keymap.o, print.o): Depend on charset.h. - -2008-11-10 Kenichi Handa - - * character.c (Fget_byte): Fix and make it faster for unibyte target. - -2008-11-08 Chong Yidong - - * dired.c (file_name_completion): If completion_ignore_case is - enabled, ignore case when checking completion-regexp-list. - -2008-11-08 Eli Zaretskii - - * vm-limit.c (get_lim_data): Fix last change. - -2008-11-08 Kenichi Handa - - * character.c (Fget_byte): New function. - (syms_of_character): Defsubr Fget_byte. - -2008-11-07 Chong Yidong - - * xdisp.c (try_window_reusing_current_matrix): Ensure that window - cursor position is valid after scrolling. - -2008-11-06 Juanma Barranquero - - * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix. - -2008-11-06 Glenn Morris - - * xterm.c (handle_one_xevent): Don't let popup menus cause - mouse-autoselect-window related window switching. (Bug#1261) - -2008-11-04 David Smith (tiny change) - - * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM. - -2008-11-04 Andreas Schwab - - * xfns.c (Fx_wm_set_size_hint): Add missing return value. - -2008-11-03 Chong Yidong - - * xfns.c (Fx_wm_set_size_hint): New function. - -2008-11-03 Martin Rudalics - - * textprop.c (Fprevious_single_char_property_change): Return 0 - when there's no change in a string. (Bug#1301) - -2008-11-02 Martin Rudalics - - * frame.c (do_switch_frame): New argument NORECORD passed to - Fselect_window. - (Fselect_frame): New argument NORECORD passed to - do_switch_frame. - (Fset_frame_selected_window): New argument NORECORD passed to - Fselect_frame. - (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument - in call of do_switch_frame. - (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame): - Handle NORECORD argument in call of Fselect_frame. - * lisp.h (do_switch_frame, Fselect_frame) - (Fset_frame_selected_window): Adjust declarations. - * window.c (select_frame_norecord): New function. - (run_window_configuration_change_hook): Use it and call - Fselect_frame with NORECORD set. - (Fselect_window): Pass NORECORD to Fselect_frame. - (Fset_window_configuration): Handle NORECORD argument in call of - do_switch_frame. - * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of - Fset_frame_selected_window. - * keyboard.c (command_loop_1): Handle NORECORD in call of - Fselect_frame (currently ifdefd). - -2008-11-02 Ulrich Mueller - - * emacs.c (USAGE2): Untabify. - -2008-11-01 Stefan Monnier - - * composite.c (fill_gstring_header): Fix copy/paste typo. - -2008-10-31 Martin Rudalics - - * window.c (Fnext_window, Fprevious_window): Rewrite doc-string. - (Fother_window): Rename argument and rewrite doc-string. - (select_window_norecord): Fix return value. (Bug#1276) - -2008-10-30 Juanma Barranquero - - * w32fns.c (x_create_tip_frame): Prevent default foreground color for - new frames overriding foreground for tooltips. Based on similar patch - from Martin Rudalics . (Bug#1032) - -2008-10-29 Chong Yidong - - * emacs.c (Fdaemon_initialized): Initialize nfd. - -2008-10-29 Martin Rudalics - - * window.c (Fwindow_height, Fdelete_window, set_window_buffer) - (Fwindow_text_height): Clarify doc-strings. - * xdisp.c (syms_of_xdisp): Mention set-window-buffer in - doc-string of window-scroll-functions. - -2008-10-28 Reiner Steib - - * category.c (syms_of_category): Fix typo in docstring. - -2008-10-28 Juanma Barranquero - - * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p) - (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right): - Fix typos in docstrings. - -2008-10-28 Dan Nicolaescu - - * emacs.c (daemon_pipe): Make non-static. - (IS_DAEMON): Move definition ... - * lisp.h (IS_DAEMON): ... here. - (daemon_pipe): Declare. - (is_daemon): Remove. - * dispnew.c (init_display): Use IS_DAEMON. - -2008-10-28 Stefan Monnier - - * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog) - (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively. - - * emacs.c (is_daemon): Remove. - (main): Don't set is_daemon. - (IS_DAEMON): New macro. - (Fdaemonp, Fdaemon_initialized): Use it. - (Fdaemon_initialized): Write a char into the pipe to make sure the - parent exits. - (syms_of_emacs): Explicitly initialize daemon_pipe[1]. - -2008-10-27 Chong Yidong - - * nsterm.m (ns_draw_window_cursor): When hbar cursor is on - over-sized glyph, draw it with the default glyph width. - - * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized - glyph, draw it with the default glyph width. - - * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized - glyph, draw it with the default glyph width. - - * xdisp.c (try_scrolling): When computing the distance from the - scroll margin to PT, try moving some distance past the window - bottom before giving up. - -2008-10-27 Martin Rudalics - - * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p) - (Fset_window_buffer): Explain in doc-string that a window can be - "strongly" dedicated to its buffer. - -2008-10-27 Dan Nicolaescu - - * emacs.c (daemon_name): New variable. - (main): Deal with --daemon=SERVER_NAME. - (Fdaemonp): Return a name if one was passed to --daemon. - -2008-10-26 Romain Francoise - - * emacs.c (daemon_pipe): New variable. - (main): Create a pipe before forking, make the parent exit only after - the child has closed its end of the pipe. Move closing the - descriptors ... - (Fdaemon_initialized): ... here. New function. - -2008-10-26 Stefan Monnier - - * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to - the previous unoptimized table. - - * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate - the distinction between non-nil and non-t value of `dedicated'. - -2008-10-25 Chong Yidong - - * keyboard.c (read_char_minibuf_menu_prompt): Ensure that - read_char_minibuf_menu_text is large enough to hold the menu string. - -2008-10-25 Martin Rudalics - - * window.c (Fget_buffer_window, Fdelete_windows_on) - (Freplace_buffer_in_windows): Make buffer argument optional and - rename to buffer_or_name. - -2008-10-24 Chong Yidong - - * xdisp.c (handle_single_display_spec, handle_display_prop): - Undo 2005-05-16 change. - (handle_stop): Pop iterator if it's loaded with an empty string. - (get_overlay_strings_1): Don't save iterator if it's loaded with - an empty string (bug#1201). - -2008-10-24 Kenichi Handa - - * ftfont.c (ftfont_otf_features): Fix previous change. - (ftfont_otf_capability): Check FeatureList.FeatureCount before - calling ftfont_otf_features. - -2008-10-24 Kenichi Handa - - * font.c (font_match_p): Fix for the case that a vector of - characters is in script-representative-chars. - -2008-10-24 Michael Albinus - - * dbusbind.c (xd_in_read_queued_messages): New variable. - (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error. - (xd_read_queued_messages): Catch Qdbus_error from the macros. - (all): Replace xsignal1, xsignal2, xsignal3 by the respective - macro. (Bug#1186) - -2008-10-23 Ali Bahrami (tiny change) - - * s/sol2-10.h: New file. - -2008-10-23 Juanma Barranquero - - * xdisp.c (fill_glyph_string): Fix typo in source (though the - poor beast has survived 9+ years and the jump from xterm.c!). - -2008-10-23 Martin Rudalics - - * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name. - Reword doc-string. - (Fbury_buffer): In doc-string say what happens to the buffer's window. - -2008-10-23 Juanma Barranquero - - * character.c (syms_of_character) : - : Doc fixes. - -2008-10-23 Noah Friedman - - * coding.c (make_conversion_work_buffer): Check that - Vcode_conversion_reused_workbuf is a live buffer, otherwise call - Fget_buffer_create. - -2008-10-23 Kenichi Handa - - * font.c (font_add_log): Check the values of extra properties. - -2008-10-22 Martin Rudalics - - * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p): - Reword doc-string. - (Fset_window_parameter): Use NILP. - (Fscroll_up, Fscroll_down, Fminibuffer_selected_window) - (Frecenter): Use "selected" instead of "current" window in doc-strings. - -2008-10-22 Juanma Barranquero - - * xdisp.c (next_element_from_buffer): Remove bogus xassert condition. - -2008-10-22 Adrian Robert - - * nsfns.m (ns_appkit_version): New function. - (x-server-version): Use it. - (syms_of_nsfns): Define ns-version-string here, not nsterm.m. - (x-server-vendor): Don't check_ns(). - - * nsterm.m (syms_of_nsterm): Drop ns-version-string. - -2008-10-22 Juanma Barranquero - - * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert. - Copied from 2005-02-03 change to xfns.c by Kim F. Storm. - -2008-10-22 Kenichi Handa - - * syntax.c (scan_words): Call word_boundary_p instead of comparing - scripts. - - * category.c (word_boundary_p): Check scripts instead of charset. - Handle nil value in word-separating-categories and - word-combining-categories. - (syms_of_category): Fix docstrings of word-separating-categories - and word-combining-categories. - -2008-10-21 Eli Zaretskii - - * coding.c (Fencode_coding_region, Fdecode_coding_region) - (Fdecode_coding_string, Fencode_coding_string): Doc fix. - -2008-10-21 Martin Rudalics - - * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1): - Rename arg "buffer" to "buffer_or_name". - (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make - it optional. - (no_switch_window): Remove since the return value is not used. - (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name". - Consider window as dedicated when Fwindow_dedicated_p returns a - non-nil value. - * lisp.h: Remove prototype for no_switch_window. - -2008-10-21 Jan Djärv - - * emacs.c (main): Unconditionally set PER_LINUX32 and exec - temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined. - -2008-10-21 Kenichi Handa - - * coding.c (detect_coding_charset): For iso-8859-* coding systems, - check Vlatin_extra_code_table. - -2008-10-20 Eli Zaretskii - - * fileio.c (Fset_file_modes): Doc fix. - -2008-10-19 Michael Albinus - - * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols - in arrays. - -2008-10-19 Martin Rudalics - - * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p): - Mention kill-buffer in doc-string. - (Fset_window_buffer): Reinsert tem check removed in last commit. - (Fenlarge_window, Fshrink_window): Have argument names and - doc-string follow Elisp manual more closely. - -2008-10-18 Eli Zaretskii - - * fileio.c (Fset_file_modes): Doc fix. - -2008-10-18 Martin Rudalics - - * window.c (Fwindow_width, Fset_window_start) - (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter) - (Fdelete_windows_on, Freplace_buffer_in_windows): - Make doc-strings follow code and Elisp manual more closely. - (Fwindow_dedicated_p): Make window argument optional. - (Fset_window_dedicated_p): Rename argument "arg" to "flag". - (Fset_window_buffer): Respect any non-nil dedicated value for - window. Rename "buffer" argument to "buffer_or_name". - -2008-10-18 Ulrich Mueller - - * m/sh3.h: New file, machine description for SuperH. - -2008-10-17 Martin Rudalics - - * window.c (Fsplit_window): Rename arg horflag to horizontal. - -2008-10-17 Kenichi Handa - - * ftfont.c (ftfont_otf_features): Fix indexing - gsub_gpos->FeatureList.Feature. Check the validity of indices. - -2008-10-16 Magnus Henoch - - * dbusbind.c (Fdbus_call_method): Unbreak usage line. - (Fdbus_call_method_asynchronously): Ditto. - This change makes C-h f display the argument list. - -2008-10-16 Chong Yidong - - * fileio.c (Fexpand_file_name): Doc fix. - - * xfaces.c (Finternal_set_lisp_face_attribute): Make null values - of :foreground and :background equivalent to unspecified (20.x - compatibility). - -2008-10-15 Eli Zaretskii - - * buffer.c (syms_of_buffer): Doc fix. - -2008-10-14 Kenichi Handa - - * font.c (font_clear_prop): When clearing font width, clear the - average width field too. - -2008-10-12 Andreas Schwab - - * ftfont.c (ftfont_shape_by_flt): Make static. - * ftfont.h (ftfont_shape_by_flt): Don't declare. - - * font.c: Don't include . - -2008-10-10 Eli Zaretskii - - * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000. - -2008-10-09 Eli Zaretskii - - * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed - away code. - -2008-10-09 Chong Yidong - - * dispnew.c (update_text_area): Avoid looping due to large glyph - overhangs (bug#1070). - -2008-10-09 Kenichi Handa - - * fontset.c (face_for_char): If face->fontset is negative, just - return ascii_face. - - * font.c (font_delete_unmatched): Fix previous change. - Don't reject an entity if DPI and AVGWIDTH of an entity are 0. - -2008-10-09 Martin Rudalics - - * frame.c (Fraise_frame): On text-only terminals select frame in - order to make it visible. (Bug#1061) - -2008-10-08 Chong Yidong - - * fontset.c (fontset_find_font): Check frame validity. - -2008-10-07 Chong Yidong - - * gtkutil.c (xg_display_open): Reset default display if none exists. - (xg_display_close): Allow Emacs to close all displays (bug#985). - -2008-10-06 Andreas Schwab - - * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively. - -2008-10-06 Chong Yidong - - * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el. - - * lisp.h (Vbefore_init_time, Vafter_init_time): Declare. - - * gtkutil.c (x_wm_set_size_hint): Return immediately if called - during initialization. - -2008-10-04 Eli Zaretskii - - * xdisp.c (redisplay_internal): If frame switched, redisplay the - whole thing on MSDOS frames as well as on a TTY. - - * dispnew.c (update_frame): Flush termscript for MSDOS frames as - well as for TTY. - (Fopen_termscript): Allow opening a termscript on MSDOS frames as - well as on a TTY. - - * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames - as well as for TTY. - - * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'. - - * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for - MSDOS frames as well. - -2008-10-02 Adrian Robert - - * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with - correct arguments. - * menu.c (find_and_return_menu_selection): Add cast. - -2008-10-03 Glenn Morris - - * emacs.c (USAGE1): Add --daemon. - -2008-10-02 Eli Zaretskii - - * process.c (procfs_system_process_attributes): Multiply `pcpu' by - 100, so it's in percents as advertised. - -2008-10-02 Adrian Robert - - * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color) - (ns_output.current_cursor, ns_output.desired_cursor) - (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR) - (FRAME_NEW_CURSOR_COLOR): Remove. - - * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR. - (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs - enumeration (HOLLOW_BOX_CURSOR, etc.). - - * nsterm.m (ns_frame_rehighlight): Remove commented code. - (draw_window_cursor): Simplify code. - (EmacsView-windowDidBecomeKey:,-windowDidResignKey:): - Don't change cursor type. In latter, call rehighlight instead of doing - updates manually. - (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel): - Use core Emacs cursor types. - - * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS. - -2008-10-02 Martin Rudalics - - * process.c (Faccept_process_output): Fix doc-string. - -2008-10-02 Dan Nicolaescu - - * gmalloc.c (__sbrk): Also define for uClibc. - - * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition - for uClibc. - -2008-10-01 Adrian Robert - - * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal - styles. - (nsfont_open): Reenable the cache. - -2008-10-01 Adrian Robert - - * font.c (font_matching_entity): Reflect ATTRS in font selection. - (font_find_for_lface) [HAVE_NS]: Don't ignore case. - -2008-09-30 Stefan Monnier - - * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to - a suspended terminal. - -2008-09-30 Michael Albinus - - * dbusbind.c (xd_signature): Use strcat instead of sprintf. - -2008-09-30 Eli Zaretskii - - * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc. - -2008-09-30 Chong Yidong - - * xdisp.c (move_it_to): Don't advance the iterator if the last tab - in a continued line coincides with a line beginning. - -2008-09-29 Adrian Robert - - * nsfont.m (nsfont_trait_distance): Fix bug. - (nsfont_list): Return a list rather than a vector (syncs with Handa - changes of 2008-05-14). - (nsfont_open): Improve logging. - -2008-09-29 Andreas Schwab - - * keyboard.c (syms_of_keyboard) : Doc fix. - -2008-09-28 Martin Rudalics - - * character.c (Fchar_resolve_modifiers): Rewrite Elisp function - name as char-resolve-modifiers. - Reported by: Markus Triska - -2008-09-28 Dan Nicolaescu - - * dispnew.c (init_display): Return earlier when running as a daemon. - -2008-09-27 Adrian Robert - - * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...). - -2008-09-27 Eli Zaretskii - - * composite.c (Fcomposition_get_gstring) - (Fcompose_region_internal, Fcompose_string_internal) - (Ffind_composition_internal): Doc fix. - (syms_of_composite) : Doc fix. - (syms_of_composite) : Doc fix. - (syms_of_composite) : Doc fix. - -2008-09-25 Chong Yidong - - * search.c (wordify): New argument for lax word-ends. - (Fword_search_forward_lax, Fword_search_backward_lax): New funs. - -2008-09-24 Dan Nicolaescu - - * lisp.h (is_daemon): Declare. - * dispnew.c (init_display): Do not try to initialize the terminal - when running as a daemon. - -2008-09-22 Chong Yidong - - * nsfns.m (compute_tip_xy): Use x_display_pixel_width and - x_display_pixel_height. - -2008-09-22 Martin Rudalics - - * undo.c (record_point): Don't call Fundo_boundary for first - change. (Bug#731) - -2008-09-22 Juanma Barranquero - - * emacs.c (Fdaemonp): Doc fix. - -2008-09-22 Dan Nicolaescu - - * emacs.c (main): Place #ifdef in the proper place. - -2008-09-21 Dan Nicolaescu - - * emacs.c (standard_args): Add --daemon. - (main): Disconnect from the terminal when --daemon is passed. - (is_daemon): New variable. - (Fdaemonp): New function. - (syms_of_emacs): Defsubr it. - -2008-09-20 Chong Yidong - - * xdisp.c (get_next_display_element): Handle string display - correctly when checking for the end of a box run. - -2008-09-20 Glenn Morris - - * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object. - (syms_of_fileio): Add Qdelete_by_moving_to_trash. - (Frename_file): Avoid copying to trash if a rename involves - a delete. (Bug#964). - -2008-09-20 Eli Zaretskii - - * keyboard.c (Fset_quit_char, Fset_input_meta_mode) - (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS - frames as well as termcap frames. - (handle_interrupt): Remove "#ifndef MSDOS" around the call to - get_named_tty. - -2008-09-19 Eli Zaretskii - - * process.c (procfs_system_process_attributes): Fix cmdline in - case /proc/PID/cmdline is empty. - - * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and - x_display_pixel_height. - -2008-09-19 Juanma Barranquero - - * frame.c (x_fullscreen_adjust): Declare var as Display_Info. - - * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height) - (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height. - -2008-09-19 Dan Nicolaescu - - * dispextern.h (struct it): Move line_wrap away from the middle of - bitfields. Move voffset in struct iterator_stack_entry after the - bitfields. Move tab_width near after another short. - -2008-09-18 Dan Nicolaescu - - * frame.h (struct frame): Move alpha from the middle of bitfields. - - * window.h (struct window): Move frozen_window_start_p after the - rest of the bitfields to reduce padding. - -2008-09-18 Chong Yidong - - * xterm.h (x_display_info): Remove `height' and `width' members. - - * nsterm.h (ns_display_info): Remove `height' and `width' members. - - * w32term.h (w32_display_info): Remove `height', `width', - `height_in', and `width_in' members. - - * xterm.c (x_display_pixel_height, x_display_pixel_width): - New functions. - (x_calc_absolute_position): Use them. - (x_term_init): Omit removed `height' and `width' members. - - * w32term.c (x_display_pixel_height, x_display_pixel_width): - New functions. - (w32_read_socket, x_calc_absolute_position): Use them. - (w32_initialize_display_info, w32_term_init): Omit removed members - of w32_display_info. - - * nsterm.m (x_display_pixel_height, x_display_pixel_width): - New functions. - (ns_initialize_display_info): Omit removed members of ns_display_info. - - * xterm.c (x_display_pixel_height, x_display_pixel_width): - New functions. - (x_calc_absolute_position): Use them. - (x_term_init): Omit removed `height' and `width' members. - - * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height) - (compute_tip_xy): - * frame.c (x_fullscreen_adjust): - * xmenu.c (menu_position_func): Use x_display_pixel_height and - x_display_pixel_width. - -2008-09-18 Kenichi Handa - - * composite.c (fill_gstring_header): Don't check FROM and TO here. - (composition_compute_stop_pos): Fix handling of static composition. - (Fcomposition_get_gstring): Check FROM and TO at first. - -2008-09-17 Stefan Monnier - - * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Object - mixup (YAILOM). - -2008-09-17 Chong Yidong - - * indent.c (Fvertical_motion): Use position reported by iterator - instead of PT for determining screen motion (bug#943). - -2008-09-17 Romain Francoise - - * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup. - -2008-09-17 Kenichi Handa - - * ftfont.c (ftfont_shape_by_flt): Downcase family name. - - * composite.c (Fcomposition_get_gstring): Make bigger gstring_work - if necessary. - -2008-09-16 Kenichi Handa - - * coding.c (make_conversion_work_buffer): Avoid calling - Fget_buffer_create if it is not necessary. - -2008-09-15 Martin Rudalics - - * window.c (Fselect_window): Don't update window_select_count and - use_time when norecord is not nil. - -2008-09-14 Kenichi Handa - - * fileio.c (Finsert_file_contents): Delete incorrect decrement of - specpdl_ptr. - -2008-09-12 Kenichi Handa - - * indent.c (scan_for_column): Don't handle automatic composition - if the current buffer is not associated with a window. - - * composite.c (composition_reseat_it): If the current buffer is - not associated with a window, ignore the automatic composition. - (find_automatic_composition): Likewise. - -2008-09-12 Stefan Monnier - - * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop. - (Fgpm_mouse_stop): Use it. - * termhooks.h (close_gpm): Declare. - * keyboard.c (tty_read_avail_input): Forcefully close the gpm - connection if Gpm_GetEvent fails. - - * window.c (set_window_buffer): Always preserve current-buffer. - -2008-09-12 Glenn Morris - - * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909) - -2008-09-11 Glenn Morris - - * charset.c (charset-map-path): Doc fix. - -2008-09-10 Kenichi Handa - - * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1. - - * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment - compose a grapheme cluster with the preceding base glyph. - - * composite.c (composition_compute_stop_pos): Fix previous change. - Reset cmp_it->id to -1 at first. - -2008-09-10 Glenn Morris - - * Makefile.in (character.o, chartab.o): Fix config.h typo. - -2008-09-09 Chong Yidong - - * keyboard.c (read_key_sequence): Reapply translation maps when - switching keyboards. - -2008-09-09 Kenichi Handa - - * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII - characters. - - * composite.c (FORWARD_CHAR): Fix calculation - of (POSITION).pos_byte. - (composition_compute_stop_pos): Limit the search of composition to - at most 500 characters ahead. If we reach the limit or find a - newline, set cmp_it->ch to -2 and return 0. - (composition_reseat_it): Handle the case that cmp_it->ch is -2. - -2008-09-08 Kenichi Handa - - * indent.c (Fvertical_motion): Be sure to set - it_overshoot_expected if it.cmp_it.id is non-negative. - -2008-09-07 Andreas Schwab - - * callproc.c (Fcall_process): Don't hold references to string data - across garbage collection. Move initialisation of new_argv down - to avoid compiler bug. - -2008-09-07 Roland Winkler - - * process.c (Fsystem_process_attributes): Doc fix. - -2008-09-07 Chong Yidong - - * callproc.c (Fcall_process): Canonicalize current directory name. - - * xdisp.c (move_it_to): When moving by vpos, ensure that the - iterator advances to the next line if the current line ends in a - continued tab. - -2008-09-07 Teodor Zlatanov - - * nsfont.m (nsfont_draw): Fix the references to missing gidx data - member to point to cmp_from. - - * xdisp.c: Doc fix for references to gidx data member. - -2008-09-07 Stefan Monnier - - * buffer.c (Fbuffer_swap_text): Reset window->point markers. - -2008-09-07 Kenichi Handa - - * composite.c (FORWARD_CHAR): Check STOP after - incrementing (POSITION).pos. - -2008-09-06 Roland Winkler - - * process.c (Fsystem_process_attributes): Doc fix. - -2008-09-06 Chong Yidong - - * keyboard.c (Ftop_level): Doc fix. - -2008-09-06 Eli Zaretskii - - * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a - minibuffer, don't let lower part of menu invade the echo area. - - * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a - "char *q" to access menu text and advance through it. Revert the - change that displayed ">" instead of ASCII character 0x10. - -2008-09-05 Eli Zaretskii - - * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of - toggle boxes and radio buttons on MS-DOS as well. - -2008-09-05 Kenichi Handa - - * composite.c (autocmp_chars): Check lookback count. - (composition_compute_stop_pos): Set cmp_it->lookback. - (composition_reseat_it): Check lookback count. - (struct position_record): New struct. - (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros. - (find_automatic_composition): New function. - (composition_adjust_point): Use find_automatic_composition. - - * dispextern.h (struct composition_it): New member lookback. - -2008-09-02 Chong Yidong - - * indent.c (Fvertical_motion): Don't call move_it_by_lines again - if moving by a single line. - -2008-09-02 Andreas Schwab - - * xterm.c (x_delete_display): Fix merge error. - - * fileio.c (Fexpand_file_name): Remove unused variables. - -2008-09-02 Eli Zaretskii - - * fileio.c (Fexpand_file_name): Copy argument `name' into local - storage on all platforms, not just on DOS_NT. - -2008-09-02 Jason Rumney - - * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show): - Ensure mouse is not grabbed after menu is finished. - -2008-09-01 Chong Yidong - - * xfaces.c (Finternal_set_alternative_font_family_alist) - (Finternal_set_alternative_font_registry_alist): Properly copy - entire alist structure. - -2008-09-01 Kenichi Handa - - * ftfont.c (ftfont_spec_pattern): Don't create a charset if the - representative chars of the script is a vector. - (ftfont_list): Handle the case where the representative chars of - the script is a vector. - - * character.c (syms_of_character): Docstring of - script-representative-chars fixed. - -2008-08-31 Eli Zaretskii - - * msdos.c (BUILD_CHAR_GLYPH): New macro. - (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct - the menu. Allocate larger buffer for `text', to account for - possible ^C characters. - -2008-08-31 Martin Rudalics - - * xdisp.c (prepare_menu_bars): Don't call - Vwindow_size_change_functions with arg Qt. - -2008-08-31 Stefan Monnier - - * font.h (font_range): - * fileio.c (report_file_error): - * composite.c (composition_update_it): Yet another int/Lisp_Object - mixup (YAILOM). - -2008-08-30 Glenn Morris - - * data.c (Fmake_variable_frame_local): Doc fix. - - * frame.c (Fmodify_frame_parameters): Doc fix. - -2008-08-30 Eli Zaretskii - - * w32.c (init_user_info): Allocate buf[] with xmalloc using the size - needed by GetTokenInformation. - (w32_system_process_attributes): Check return values of all system - APIs. - - * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript - only when the state changes. - (IT_update_begin, IT_update_end): Add termscript trace. - - * w16select.c (Fw16_set_clipboard_data): Don't encode text if - clipboard is unavailable. Set dst to NULL if it doesn't point to - malloc'ed data. - (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid - passing random values to xfree. - - * dispnew.c (init_display): Set `tty's association in frame's - parameters alist to the name of the terminal device, if that is known. - -2008-08-29 Jason Rumney - - * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script. - -2008-08-29 Eli Zaretskii - - * composite.c (fill_gstring_body): Avoid compiler warnings. - - * font.c (font_fill_lglyph_metrics): Use EMACS_INT in - LGLYPH_SET_CODE to avoid compiler warnings. - - * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h. - - * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT. - - * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in - LGLYPH_SET_CODE. - -2008-08-29 Kenichi Handa - - * fileio.c (report_file_error): Don't downcase the first character - of errstring if it is still unibyte. - -2008-08-29 Kenichi Handa - - These changes are to re-implement the automatic composition so - that it doesn't use text properties. - - * Makefile.in (ftfont.o): Depend on composite.h. - (composite.o): Depend dispextern.h, font.h, frame, and window.h. - - * character.h (Vunicode_category_table): Extern it. - - * character.c (Vunicode_category_table): New variable. - (syms_of_character): DEFVAR_LISP Vunicode_category_table. - - * chartab.c (optimize_sub_char_table): Perform more greedy - optimization. - - * composite.h (enum composition_method): - Delete COMPOSITION_WITH_GLYPH_STRING. - (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING. - (Vcomposition_function_table): Extern it. - (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h. - (composition_gstring_put_cache, composition_gstring_from_id) - (composition_gstring_p, composition_gstring_width) - (composition_compute_stop_pos, composition_reseat_it) - (composition_update_it, composition_adjust_point): Extern them. - (Fcomposition_get_gstring): EXFUN it. - - * composite.c: Include window.h, frame.h, dispextern.h, font.h. - (Vcomposition_function_table) - (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING. - (gstring_hash_table, gstring_work, gstring_work_headers): - New variables. - (gstring_lookup_cache, composition_gstring_put_cache) - (composition_gstring_from_id, composition_gstring_p) - (composition_gstring_width, fill_gstring_header) - (fill_gstring_body, autocmp_chars, composition_compute_stop_pos) - (composition_reseat_it, composition_update_it) - (composition_adjust_point, Fcomposition_get_gstring): New functions. - (syms_of_composite): Initialize gstring_hash_table, gstrint_work, - and gstring_work_headers. DEFVAR_LISP composition-function-table. - Defsubr composition_get_gstring. - - * dispextern.h (struct glyph): New union u.cmp. Delete the member - cmp_id. - (struct glyph_string): Delete the member gidx. New members - cmp_id, cmp_from, and cmp_to. - (enum it_method): Delete GET_FROM_COMPOSITION. - (struct composition_it): New struct. - (struct it): New member cmp_it, and iterator_stack_entry.cmp_it. - Delete c, len, cmp_id, cmp_len in u.comp. - - * font.h (enum lgstring_indices): Delete it. - (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h. - (enum lglyph_indices): Likewise. - (font_range): Adjust extern. - (font_fill_lglyph_metrics): Extern it. - - * font.c (QCf): New variable. - (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH. - (font_prepare_composition): Delete this function. - (font_range): Type and arguments changed. - (Ffont_make_gstring, Ffont_fill_gstring): Delete them. - (font_fill_lglyph_metrics): New function. - (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments. - (syms_of_font): DEFSYM QCf. Delete defsubr for - Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text. - Defsubr Sfont_shape_gstring. - - * fontset.h (font_for_char): Extern it. - - * fontset.c (font_for_char): New function. - - * ftfont.c: Include composite.h. - (ftfont_resolve_generic_family): Add langset "en" to pattern. - (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH. - - * indent.c: Include composite.h and dispextern.h. - (check_composition): Delete this function. - (scan_for_column): Handle composition by - composition_compute_stop_pos, composition_reseat_it, and - composition_update_it. - (compute_motion): Likewise. - (Fvertical_motion): Fix checking of composition. - - * keyboard.c (adjust_point_for_property): Check composition by - composition_adjust_point. - - * nsterm.m (ns_draw_glyph_string): Adjust for the change of - struct glyph_string. - - * term.c (encode_terminal_code): Adjust for the change of struct glyph. - (append_composite_glyph): Adjust for the change of struct it and - struct glyph. - (produce_composite_glyph): Likewise. - - * w32term.c (x_draw_composite_glyph_string_foreground): - Adjust for the change of struct glyph_string. - (x_draw_glyph_string): Likewise. - - * w32uniscribe.c (struct uniscribe_font_info): Include composite.h. - (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH. - - * xdisp.c: Include font.h. - (it_props): Delete the entry for Qauto_composed. - (init_iterator): Initialize it->cmp_it.id to -1. - (compute_stop_pos): Call composition_compute_stop_pos. - (face_before_or_after_it_pos): Adjust for the change of struct it. - (handle_auto_composed_prop): Delete it. - (handle_composition_prop): Handle only static composition. - (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION - from xassert. Initialize it->cmp_it.stop_pos. - (push_it): Adjust for the change of struct it. - (pop_it): Likewise. - (get_next_element): Delete next_element_from_composition. - (CHAR_COMPOSED_P): New macro. - (get_next_display_element): For automatic composition, get a face - from the font in the glyph-string. - (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING, - check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case. - (next_element_from_string): Check if the character at the current - position is composed by CHAR_COMPOSED_P. - (next_element_from_buffer): Likewise. - (next_element_from_composition): Adjust for the change of struct it. - Update it->cmp_it. - (dump_glyph): Adjust for the change of struct glyph. - (fill_composite_glyph_string): Adjust for the change of struct - it and struct glyph. Don't handle automatic composition here. - (fill_gstring_glyph_string): New function. - (x_get_glyph_overhangs): Handle automatic composition. - (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph. - (BUILD_GSTRING_GLYPH_STRING): New macro. - (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for - automatic composition. - (append_composite_glyph): Adjust for the change of struct it and - struct glyph. - (x_produce_glyphs): Adjust for the change of struct it. - - * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for - the change of struct glyph_string. - (x_draw_glyph_string): Likewise. - -2008-08-29 Glenn Morris - - * buffer.c (word-wrap): Doc fix. - * xdisp.c (truncate-partial-width-windows): Doc fix. - Increase default to 50. - -2008-08-29 Chong Yidong - - * xdisp.c (update_tool_bar_unwind): New function. - (update_tool_bar): Temporarily set selected frame before building - tool-bar items. - -2008-08-28 Michael Albinus - - * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and - snprintf, respectively. - (xd_append_arg): Convert strings with Fstring_make_unibyte. - -2008-08-28 Chong Yidong - - * Makefile.in: Revert (undocumented) 2008-08-20 change adding - LDFLAGS to GNUstep CC invocation. - -2008-08-27 Chong Yidong - - * indent.c (Fvertical_motion): Revert last change. Handle the - general case where we are moving forward, and PT spans multiple - screen lines. - - * eval.c (find_handler_clause): Temporarily increase - max-lisp-eval-depth while printing the backtrace buffer, to - guarantee that help-mode code can run. - -2008-08-27 Eli Zaretskii - - * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame - colors under -rv. - (IT_set_frame_parameters): Don't swap foreground and background - colors if `(reverse . t)' is present in the frame properties. - (internal_terminal_init): Call init_frame_faces only for the - initial frame. - -2008-08-27 Andreas Schwab - - * dired.c (Ffile_attributes): Avoid compiler warning in bitshift. - -2008-08-27 Andreas Schwab - - * search.c (search_buffer): Set char_base to zero only at the end. - -2008-08-27 Kenichi Handa - - * fileio.c (report_file_error): Fix handling of multibyte error string. - -2008-08-27 Andreas Seltenreich - - * xterm.c (x_term_init): Temporarily hide the partially - initialized terminal while calling vendor-specific-keysyms. - -2008-08-26 Eli Zaretskii - - * msdos.c (internal_terminal_init): Most initializations done only - once, especially initial_screen_colors[] and termscript open. - -2008-08-26 Chong Yidong - - * eval.c (Fcondition_case): Doc fix. - - * widgetprv.h (EmacsFramePart): Change font member to the new font - struct. - - * widget.c: Include character.h and font.h for XSETFONT. - (setup_frame_gcs): Compute X font id from font struct, just once. - -2008-08-26 Eli Zaretskii - - * term.c (get_named_tty): Fix last change. - -2008-08-26 Chong Yidong - - * indent.c (Fvertical_motion): If moving forward starting from a - multi-line string, move the iterator to the last line of that string. - -2008-08-25 Eli Zaretskii - - * frame.c (do_switch_frame): Mark previously displayed frame as - obscured for FRAME_MSDOS_P frames as well. - -2008-08-24 Eli Zaretskii - - * frame.c (make_terminal_frame): Initialize f->terminal, - f->terminal->reference_count, and scroll bars on MS-DOS as well. - Set the top frame to newly created frame. - (Fmake_terminal_frame): Reuse the_only_display_info. - - * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of - estimating available memory. - -2008-08-23 David Reitter - - * nsterm.m (ns_draw_window_cursor): Don't call - NSDisableScreenUpdates and NSEnableScreenUpdates on - non-NS_IMPL_COCOA systems. - -2008-08-23 Andreas Schwab - - * process.c (procfs_system_process_attributes): Fix use of - uninitialized variables. - -2008-08-23 Eli Zaretskii - - * emacs.c (main) [MSDOS]: Call syms_of_xmenu. - - * dispnew.c (init_display): Remove MS-DOS specific conditions for - calling tty-set-up-initial-frame-faces. - - * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show): - Allow MSDOS frames along with X frames. - - * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in - addition to output_termcap. - - * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode. - - * termchar.h (FRAME_TTY): Support output_msdos_raw. - (struct tty_display_info) [MSDOS]: Add fields related to mouse - highlight. - - * process.c [!subprocesses]: Define QCname. - (syms_of_process): Intern and staticpro it. - - * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data): - Adjust for changes in encoding/decoding routines. - Use encode_coding_object and decode_coding_object instead of - encode_coding and decode_coding. - - * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument. - - * dosfns.c: Include frame.h before termhooks.h. - (dos_cleanup): Use CURTTY ()->termscript instead of a global - variable termscript. - - * s/msdos.h (USER_FULL_NAME): Define. - (SYSTEM_PURESIZE_EXTRA): Bump up to 100K. - - * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined. - (Fuser_full_name): Use USER_FULL_NAME instead of a literal - pw->pw_gecos. - - * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with - SELECTED_FRAME as additional (1st) argument. - (tty_read_avail_input): Handle output_msdos_raw in - addition to output_termcap. - - * msdos.c: Include frame.h before termhooks.h. - (mouse_on, mouse_off, mouse_moveto, mouse_init) - (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs) - (show_mouse_face, IT_clear_end_of_line, IT_clear_screen) - (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto) - (IT_set_terminal_modes, IT_reset_terminal_modes) - (IT_set_frame_parameters): Use tty->termscript instead of a global - variable termscript. - (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a - global variable terminal_coding. Don't refer to - Vnonascii_translation_table. - (internal_terminal_init): Set Vwindow_system in current_kboard. - Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system. - Announce date and time of session start, if termscript is open. - Don't zero out the_only_display_info (it is done in - term.c:init_tty). Open termscript only of not already open. - Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse - here instead of dos_ttraw. Don't initialize display if this is an - initial tty. Don't set FRAME_FONT. - (Vwindow_system_version): Bump to 23. - (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse - is available, set up mouse_position_hook. - (dos_ttraw, IT_set_terminal_modes): If called with initial - terminal, do nothing. - (IT_set_frame_parameters): Handle the Qtty_type frame - parameter by calling internal_terminal_init. - (dos_set_window_size, show_mouse_face) - (clear_mouse_face, IT_note_mode_line_highlight) - (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date) - (dos_rawgetc): Use tty_display_info instead of x_display_info. - (initialize_msdos_display): New function. - (IT_cursor_to, IT_clear_to_end, IT_clear_screen) - (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs) - (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes) - (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin): - Accept additional argument: a pointer to a frame. Update all callers. - (request_sigio, unrequest_sigio): Don't define, now defined on - sysdep.c. - (IT_write_glyphs): Rewrite to use encode_terminal_code. - - * term.c [MSDOS]: Include msdos.h. - (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp - conditional to DOS_NT. Allow only one call to this function in a - session. Don't allocate a new struct tty_display_info; instead, - reuse the_only_display_info. Call get_tty_size to get screen - dimensions. Call init_baud_rate to set bad_rate. - (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body. - (Fsuspend_tty) [MSDOS]: Don't close input and output. - (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout. - (get_tty_terminal, get_named_tty, Ftty_type) - (Fcontrolling_tty_p): Handle output_msdos_raw in addition to - output_termcap. - (Fresume_tty, Fsuspend_tty, init_tty, delete_tty): - Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor - only when subprocesses are supported. - - * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of - f->output_data.x. - (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new - terminal devices. - - * msdos.h: Remove definition of struct x_display_info and struct - x_output. - (FRAME_FONT): Use output_data.tty. - (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define. - (struct x_display_info): Rename from display_info. Update all users in - msdos.c. - (struct x_output): Remove background_pixel and foreground_pixel. - (the_only_display_info): Rename from the_only_x_display. - (dos_ttraw): Update prototype. - - * Makefile.in (MSDOS_OBJ): Add xmenu.o. - (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc. - -2008-08-23 Jason Rumney - - * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword. - (fn_TIFFSetDirectory): New library function used. - (init_tiff_functions) [HAVE_NTGUI]: Initialize it. - (tiff_load): Use :index to select among multiple images. Set count - property when multiple images exist. - (gif_format): Use :index, not :image. - -2008-08-23 Chong Yidong - - * xdisp.c (try_scrolling): Check INT_MAX instead of - MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h - to obtain INT_MAX. - -2008-08-21 İsmail Dönmez (tiny change) - - * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+. - -2008-08-21 Christian Faulhammer (tiny change) - - * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate - GNUstep library location. - -2008-08-21 Chong Yidong - - * xfaces.c (x_update_menu_appearance): Check validity of menu font - before using it. - - * puresize.h (BASE_PURESIZE): Increase to 1250000. - -2008-08-20 Adrian Robert - - * nsfns.m (ns-read-file-name): Add casts to avoid warning. - (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly. - * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil. - * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration. - (EmacsApp-cursor_blink_handler): Remove declaration. - * nsterm.m (ns_draw_glyph_string): Update first conditional body to - match 01 Feb 2008 changes in xterm.c. - (ns_read_socket): Add cast to avoid warning. - (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on - GNUstep. - -2008-08-20 Chong Yidong - - * xselect.c (x_get_foreign_selection): Return nil if desired - selection could not be obtained, instead of signalling an error. - -2008-08-20 David Reitter - - * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c. - * nsterm.m: Remove ns-specific code for cursor blinking. - (ns_draw_window_cursor): Clear cursor properly rather than - redrawing the area. Respect width of bar cursors. - These changes enable the use of generic blink-cursor-mode and - generic cursor types in NS and support smooth cursor movements (do - not blink off after command). - * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on - Nextstep, too. - -2008-08-19 Kenichi Handa - - * font.c (Vfont_log_deferred): New variable. - (font_add_log): Check Vfont_log_deferred. - (font_deferred_log): New function. - - * font.h (font_deferred_log): Extern it. - - * fontset.c (reorder_font_vector): Use encoding charset of fonts - for sorting. - (face_for_char): Use deferred log. - -2008-08-18 Kenichi Handa - - * fontset.c (face_for_char): Add font log. - - * font.c (font_add_log): Add the font properties :script, :lang, - and :otf in the log. - -2008-08-17 Chong Yidong - - * xdisp.c: Remove dead code. - (handle_invisible_prop, next_overlay_string): Defer call to - setup_for_ellipsis. - (handle_stop, set_iterator_to_next): Call setup_for_ellipsis. - -2008-08-15 Chong Yidong - - * xfaces.c (lookup_derived_face): Properly handle possible zero - return value of get_lface_attributes. - (merge_faces): Don't tell lookup_derived_face to signal an error - if face is not found. - - * dired.c (Fdirectory_files): Doc fix. - - * process.c (make_process): Initialize kill_without_query struct - member. - -2008-08-15 Eli Zaretskii - - * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]: - Alternative calculation of totphys for Visual Studio 6. - - * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR. - - * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX): - Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX. - All users changed. - (stat): Only root directory passed to GetDriveType. Allow RAM - disk as well as local fixed disk when w32-get-true-file-attributes - is set to `local'. - (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs. - (equal_sid, get_length_sid, copy_sid): New wrapper functions. - (w32_cached_id, w32_add_to_cache): New functions. - (get_name_and_id): Look account names in the cache before calling - lookup_account_sid. - (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid): - New initialization flags. - (globals_of_w32): Initialize them to zero. - (w32_system_process_attributes): Use w32_cached_id and - w32_add_to_cache. - -2008-08-14 Lawrence Mitchell - - * lread.c (Fread_char, Fread_char_exclusive): If no character - event is read before timeout is reached, return nil, rather than - converting to a number. - -2008-08-14 Chong Yidong - - * fns.c (use_dialog_box): Doc fix. - - * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful - on OS X. - -2008-08-13 Chong Yidong - - * frame.c (Qns_parse_geometry): New var. - (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry. - -2008-08-11 Chong Yidong - - * xdisp.c (x_produce_glyphs): Handle the case when font has no - space character in calculating tabs. - -2008-08-11 Dan Nicolaescu - - * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case. - -2008-08-10 Glenn Morris - - * process.c (procfs_system_process_attributes): Use EMACS_INTs to - silence gcc "limited range of data type" warnings in some - make_fixnum_or_float calls. - -2008-08-09 Eli Zaretskii - - * w32.c (w32_system_process_attributes): If the process does not - exist, return nil. - - * w32.c: Include thelp32.h, psapi.h and coding.h. - (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct - declarations. - (CreateToolhelp32Snapshot_Proc, Process32First_Proc) - (Process32Next_Proc): New typedefs. - (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first) - (g_b_init_process32_next, g_b_init_open_thread_token) - (g_b_init_impersonate_self, g_b_init_revert_to_self) - (g_b_init_get_process_memory_info, g_b_init_global_memory_status) - (g_b_init_get_process_working_set_size) - (g_b_init_global_memory_status_ex): New static variables. - (globals_of_w32): Initialize them. - (create_toolhelp32_snapshot, process32_first, process32_next) - (open_thread_token, impersonate_self, revert_to_self) - (get_process_memory_info, get_process_working_set_size) - (global_memory_status, global_memory_status_ex): New wrapper - functions. - (w32_list_system_processes, w32_system_process_attributes) - (enable_privilege, restore_privilege, ltime, process_times): - New functions. - (convert_time_raw): New function. - (convert_time): Remove conversion of FILETIME into time in 100 - nsec units, call convert_time_raw instead. - - * process.h (w32_list_system_processes, w32_system_process_attributes): - Add prototypes. - (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname) - (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime) - (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup) - (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations. - - * process.c (Fsystem_process_attributes): Doc fix. - -2008-08-08 Chong Yidong - - * xdisp.c (move_it_to): When stopping at a charpos, check if that's - a continued multi-char glyph; if so, advance to the actual glyph. - -2008-08-07 Dan Nicolaescu - - * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in. - - * Makefile.in (ALL_OBJC_CFLAGS): New variable. - (.m.o): Use it. - * config.in: Regenerate. - -2008-08-07 Chong Yidong - - * xdisp.c (redisplay_window): Revert last change. - (try_window): Check bottom scroll margin too. - -2008-08-06 Adrian Robert - - * config.in: Regenerate. - - * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs - -list-load-path-shadows'. - (nsgui.h): Reduce number of things depending on it. - -2008-08-06 Chong Yidong - - * xdisp.c (try_scrolling): Use iterator to find the scroll margin, - instead of window-end which does the wrong thing at eob. - (try_cursor_movement): Minor optimization. - (redisplay_window): If scroll margin is defined, don't assume - window doesn't need scrolling. - -2008-08-06 Adrian Robert - - * config.in: Regenerate. - - * Makefile.in: Move nsXXX.m dependencies into big alphabetical list. - (mostlyclean): Don't delete *.d under NS. - - * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER. - -2008-08-06 Kenichi Handa - - * xfont.c (xfont_list_family): Return a list of symbols, not strings. - -2008-08-06 Andreas Schwab - - * config.in: Regenerate. - -2008-08-05 Chong Yidong - - * xdisp.c (redisplay_window): Don't enforce scroll-margin when - forcing a window start. - - * fileio.c (Vauto_save_list_file_name): Move here from file.el. - (auto_save_1): Update modtime when auto-save-list-file-name is on. - -2008-08-04 Adrian Robert - - * emacs.c (main): Under NS, set working dir to HOME when get a "psn" - argument. - -2008-08-05 Juanma Barranquero - - * buffer.c (syms_of_buffer) : - : - : Reflow docstrings. - -2008-08-04 Adrian Robert - Ken Raeburn - - Dock menu customization, based on a patch by Ken Raeburn, plus some - other fixes. - * nsmenu.m (dockMenu): New variable. - (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17. - - * nsterm.h (dockMenu): Declare. - - * nsterm.m (KEY_NS_NEW_FRAME): New definition. - (ns_term_init): Initialize dockMenu. - (EmacsApp -newFrame:, -applicationDockMenu:): New methods. - (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame - left. - - * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA. - -2008-08-04 Chong Yidong - - * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it. - - * config.in: Regenerate. - -2008-08-04 Seiji Zenitani - - * nsfns.m (x-create-frame): Set the frame parameter alpha to nil. - -2008-08-04 Chong Yidong - - * nsterm.h (find_and_call_menu_selection): Fix prototype. - -2008-08-04 Adrian Robert - - * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS. - - * keyboard.h: Comment an #endif. - - * lisp.h (have_menus_p): Adjust comment. - - * menu.c (find_and_return_menu_selection): Fix comparison with - client_data. - - * nsmenu.m (popup_activated_flag): New variable. - (popup_activated): New function. - (menu-or-popup-active-p): New exported lisp definition. - (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items() - when popup done. - (ns_popup_dialog): Set popup_activated_flag. - - * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger - version for GNUstep (handled by conditional typedef in nsterm.m). - (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now - in rgb.txt). - - * process.c (init_process): Use DARWIN_OS, not DARWIN. - - * sysselect.h: Conditionalize init_process undef on DARWIN_OS. - - * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS. - - * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS, - shortcircuit if popup_activated like GTK and X toolkit. - - * m/inter386.h: Change DARWIN to DARWIN_OS. - - * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def. - Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs - closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand - comment on NO_SOCK_SIGIO. - -2008-08-03 Chong Yidong - - * nsterm.m (windowDidResize): Remove stopModal call. - -2008-08-03 Andreas Schwab - - * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define. - (check_memory_limits): Don't handle HAVE_GETRLIMIT here. - -2008-08-02 Chong Yidong - - * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin. - Don't use uninitialized pointer variable when using getrlimit. - -2008-08-02 Jason Rumney - - * w32font.c (compute_metrics): Don't mess with glyph_idx setting here. - -2008-08-02 Eli Zaretskii - - * alloc.c (NSTATICS): Bump to 0x640. - - * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines. - - * lisp.h: Add prototype for directory_files_internal. - - * process.c (Fsystem_processes_list, Fsystem_process_attributes): - New functions. - (syms_of_process): Defsubr them. Add initializations for various - Q* symbols used in procfs_system_process_attributes. - (procfs_list_system_processes, procfs_system_process_attributes) - [HAVE_PROCFS]: New functions. - (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname) - (procfs_get_total_memory): New functions. - -2008-08-01 Juanma Barranquero - - * xfaces.c (Fx_load_color_file): Fix previous change; - it is #ifdef WINDOWSNT, not WINDOWS_NT. - -2008-08-01 Michael Albinus - - * dbusbind.c (xd_read_message): Handle D-Bus error messages. - -2008-08-01 Adrian Robert - - * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard. - -2008-08-01 Chong Yidong - - * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha. - - * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not - define NSApplicationDelegateReplySuccess. - (EmacsView -converstationIdentifier): Use long instead of - NSInteger for GNUstep, since it doesn't have NSInteger. - - * xmenu.c: Revert last change. - - * keyboard.h: Fix last change. - -2008-08-01 Juanma Barranquero - - * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting - on Windows. - -2008-08-01 Adrian Robert - - Warning clearing and clean-up in NS port. - * keyboard.h (xmalloc_widget_value, digest_single_submenu): - Add prototypes. - * nsgui.h (FACE_DEFAULT): Remove, unused. - (XGCValues): Change colors to unsigned long. - * nsterm.h (EmacsApp): Add declaration of all methods implemented in - nsterm.m. - (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class. - (ns_list_fonts): Remove, unused. - (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes. - * nsfns.m (interpret_services_menu): Use NSMenuItem class. - * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc. - (nsfont_draw): Compare face colors to 0, not nil. - * nsmenu.m (struct widget_value): Drop unneeded declaration. - (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:) - (-addSubmenuWithTitle:): Use NSMenuItem class. - (ns_popup_menu): Use NO, not NULL, for enabled setting. - * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0. - (ns_clip_to_row): Make gc arg a BOOL. - (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in - ns_clip_to_row() call. - (ns_draw_glyph_string): Drop face comparison to ~0 (no longer - used). Cast FRAME_FONT assignments. - (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:. - (ns_string_to_lispmod): Change arg to const char. - (ns_term_init): Use NSMenuItem class. - (EmacsApp -openFile:): Move to different section of file. - (EmacsApp -application:openFiles:): Don't return a value, call - -replyToOpenOrPrint:. - (EmacsView -keyDown:): Fix up cast. - (EmacsView -converstationIdentifier): Use NSInteger instead of long. - (EmacsView -menuDown:): Cast tag in call to - find_and_call_menu_selection(). - (ns_list_fonts): Remove, unused. - (ns_font_to_xlfd): Make static. Cast result of UTF8String. - (ns_fontname_to_xlfd): Make static. - * w32menu.c (xmalloc_widget_value, digest_single_submenu): - Remove prototypes (now in keyboard.h). - (next_menubar_widget_id): Remove, unused. - * xmenu.c (xmalloc_widget_value, digest_single_submenu): - Remove prototypes (now in keyboard.h). - * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused. - -2008-08-01 Dan Nicolaescu - - * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o) - (floatfns.o): Depend on syssignal.h. - (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC). - - * systty.h: Fix previous change that removed BSD_TERMIOS. - Add comments to #ifdefs. - -2008-08-01 Adrian Robert - - * w32fns.c (w32-load-color-file): Remove. - (x-open-connection): Use renamed Fx_load_color_file. - * xfaces.c (x-load-color-file): Add. - * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of - Emacs.clr. - (hide_hourglass): BLOCK_INPUT before UNBLOCK. - -2008-07-31 Michael Albinus - - * dbusbind.c (Fdbus_call_method_asynchronously) - (Fdbus_method_error_internal): New defuns. - (xd_read_message): Handle also reply messages. - (Vdbus_registered_functions_table): Extend docstring. - -2008-07-31 Juanma Barranquero - - * keyboard.c (gobble_input): Fix previous change. - -2008-07-31 Dan Nicolaescu - - * bitmaps/README: - * xfns.c: - * termcap.c: - * term.c: - * syswait.h: - * systty.h: - * systime.h: - * syssignal.h: - * sysdep.c: - * process.h: - * process.c: - * print.c: - * ndir.h: - * lread.c: - * keyboard.c: - * getpagesize.h: - * floatfns.c: - * fileio.c: - * emacs.c: - * doc.c: - * dispnew.c: - * dired.c: - * data.c: - * callproc.c: - * buffer.c: - * README: - * Makefile.in: - * s/template.h: - * s/msdos.h: - * m/vax.h: Remove VMS support. - * s/vms.h: - * vlimit.h: - * uaf.h: - * temacs.opt: - * param.h: - * ioctl.h: Remove file. - -2008-07-31 Dan Nicolaescu - - * s/ms-w32.h (MULTI_KBOARD): Remove. - * xterm.c: - * xselect.c: - * xfns.c: - * window.c: - * w32term.c: - * w32fns.c: - * terminal.c: - * termhooks.h: - * term.c: - * sysdep.c: - * keyboard.h: - * keyboard.c: - * frame.h: - * frame.c: - * frame.c: Remove references to MULTI_KBOARD, it is now the default. - * config.in: Regenerate. - -2008-07-30 Jason Rumney - - * w32font.h (struct w32font_info): Use unicode version of textmetrics. - - * w32font.c (w32font_encode_char): Leave as unicode if in range. - (w32font_open_internal): Get unicode version of textmetrics. - Don't enable or disable glyph indices here. - (w32font_open): Disable use of glyph indices. - - * w32uniscribe.c (uniscribe_open): Enable use of glyph indices. - -2008-07-30 Chong Yidong - - * minibuf.c (Vread_buffer_function): Doc fix. - -2008-07-30 John Paul Wallington - - * minibuf.c (read_buffer_completion_ignore_case): New var. - (Fread_buffer): Use it. - -2008-07-30 Dan Nicolaescu - - * systty.h (sensemode): Remove empty #if. Remove reference to - BSD_TERMIOS, unused. - - * sysdep.c: Remove reference to DGUX. - (closedir): Remove reference to BROKEN_CLOSEDIR, unused. - - * config.in: Regenerate. - -2008-07-30 Jason Rumney - - * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size. - -2008-07-29 Jason Rumney - - * w32uniscribe.c (uniscribe_shape): Avoid using context if cache - is populated. - (uniscribe_encode_char): Always use uniscribe. - Avoid using context if cache is populated. - -2008-07-29 Jan Djärv - - * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to - open menu. - - * gtkutil.c (menu_nav_ended): Remove. - (create_menus): Remove signal connect for menu_nav_ended. - -2008-07-28 Chong Yidong - - * xdisp.c (redisplay_window): Check return value of - compute_window_start_on_continuation_line before forcing a window - start. - -2008-07-28 Jason Rumney - - * w32font.c (w32font_text_extents): Use w32_metric_cache consistently. - - * w32term.c (w32_enable_unicode_output, cleartype_active): - Remove obsolete display options. - (x_draw_glyph_string_background): Don't use old cleartype_active - workaround. - (w32_initialize): Remove cleartype_active initialization. - (syms_of_w32term): Remove w32_enable_unicode_output initialization. - -2008-07-28 Andreas Schwab - - * lisp.h (init_weak_hash_tables, syms_of_font) - (xd_read_queued_messages, syms_of_dbusbind): Declare. - (remove_hash_entry): Don't declare. - * eval.c (maybe_call_debugger): Make static and move before use. - * gtkutil.c: Include if HAVE_XFT. - * xdisp.c: Include "gtkutil.h" if USE_GTK. - * xterm.h (x_set_frame_alpha): Declare. - -2008-07-28 Jan Djärv - - * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24. - (create_menus): Connect selection-done to menu_nav_ended. - -2008-07-27 Adrian Robert - - * nsfns.m (x-create-frame): Add copy of parms argument to beginning. - Set Vx_resource_name to a fallback. Replace read of 'buffered' - parameter with read of 'alpha' one. - (Qns_frame_parameter): Remove. - * nsselect.m (selection-coding-system) - (next-selection-coding-system, Vselection_coding_system) - (Vnext_selection_coding_system): Drop. - -2008-07-27 Adrian Robert - - * nsfns.m (do-applescript, do_applescript): Rename to - ns-do-applescript, ns_do_applescript, and move within file. - -2008-07-27 Dan Nicolaescu - - Remove support for Mac Carbon. - * mactoolbox.c: - * macterm.h: - * macterm.c: - * macselect.c: - * macmenu.c: - * macgui.h: - * macfns.c: - * mac.c: Remove file. - * s/darwin.h: - * m/intel386.h: - * xfaces.c: - * xdisp.c: - * window.c: - * tparam.c: - * termhooks.h: - * termcap.c: - * term.c: - * syssignal.h: - * sysselect.h: - * sysdep.c: - * process.c: - * lread.c: - * lisp.h: - * keyboard.c: - * image.c: - * fringe.c: - * frame.h: - * frame.c: - * fontset.c: - * font.h: - * font.c: - * fns.c: - * fileio.c: - * emacs.c: - * dispnew.c: - * dispextern.h: - * config.in: - * atimer.c: - * Makefile.in: Remove code for Carbon. - -2008-07-26 YAMAMOTO Mitsuharu - - * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return. - -2008-07-26 YAMAMOTO Mitsuharu - - * macterm.h (kCGBitmapByteOrder32Host): New define for - non-universal SDKs. - - * image.c (mac_create_cg_image_from_image, image_load_image_io) - [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host. - - * macterm.c (XDrawLine, XCreatePixmapFromBitmapData) - [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host. - -2008-07-26 David Robinow (tiny change) - - * w32inevt.c: Include dispextern.h. - -2008-07-26 Andreas Schwab - - * print.c (print_object): Fix off-by-one in last change. - -2008-07-25 Juanma Barranquero - - * term.c (syms_of_term): Don't initialize default_orig_pair, - default_set_foreground and default_set_background on Windows. - -2008-07-25 Jason Rumney - - * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to - ScriptItemize. Clean up return value checking. Remove unused - variables. - (uniscribe_encode_char): Encode non-BMP characters with uniscribe - shaping engine. - - * w32font.c (w32font_has_char): Handle the case where we can't - determine the script for a character. - -2008-07-25 Chong Yidong - - * term.c (syms_of_term): Initialize default_orig_pair, - default_set_foreground, and default_set_background. - - * getloadavg.c (nl): Rename to name_list to avoid ncurses.h - clash (bug#86). - (getloadavg): Callers changed. - - * image.c (svg_load_image): Fix last change. - (svg_load_image): Use rsvg_handle_get_dimensions to check that - image size is valid. Use g_object_unref instead of deprecated - rsvg_handle_free to free rsvg handle. - (x_from_xcolors): Don't initialize pixmap (silence compiler). - -2008-07-25 Jason Rumney - - * w32font.c (w32font_encode_char): Encode characters outside BMP as - surrogates before looking up glyph index. - (w32font_text_extents): Encode as surrogates if falling back to - functions that need UTF-16 wide chars. - - * w32uniscribe.c (uniscribe_encode_char): Encode characters outside - BMP as surrogates before looking up glyph index. - -2008-07-25 Chong Yidong - - * image.c (svg_load_image): Check for failure in return value of - rsvg_handle_get_pixbuf. Free rsvg handle when done. - -2008-07-25 Jason Rumney - - * w32font.c (Fx_select_font): Reverse sense of second arg. - -2008-07-24 Stefan Monnier - - * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos) - (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions. - - * puresize.h (PURESIZE_CHECKING_RATIO): New macro. - (PURESIZE): Use it. - -2008-07-24 Dan Nicolaescu - - * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs. - * m/alpha.h (TEXT_END): - * m/ibmrs6000.h (TEXT_END): - * m/macppc.h (TEXT_END): - * s/darwin.h (TEXT_END): - * s/msdos.h (TEXT_END): Remove, unused. - * s/gnu-linux.h (BSD_PGRPS): Add a comment. - * s/cygwin.h: Remove comment. - - * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused. - (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES. - * m/intel386.h (DOT_GLOBAL_START): - * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES. - (USG): Remove, file not used on USG platforms. - - * Makefile.in (HAVE_X11): Remove empty #else. - -2008-07-24 Andreas Schwab - - * fileio.c (Finsert_file_contents): Properly adjust undo list - after format conversion. - -2008-07-24 Jan Djärv - - * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG. - (menu_nav_ended): Remove. - (create_menus): Remove signal connect for menu_nav_ended. - (xg_update_menubar): Also take deactivate_cb as parameter, pass it to - create_menus. - (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar. - -2008-07-23 Jason Rumney - - * w32font.c (w32_enumfont_pattern_entity): Return height consistent - with opened font. - (w32font_open): Set font type to gdi. - - * w32uniscribe.c (uniscribe_open): Set font type to uniscribe. - -2008-07-23 Dan Nicolaescu - - * s/usg5-4.h (ADDR_CORRECT): Remove, unused. - * unexaix.c (ADDR_CORRECT): Remove conditional, the only user - defines it. - * unexec.c (ADDR_CORRECT): Define unconditionally. - - * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove. - - * unexec.c: Remove code depending on !COFF and USG, the file is - not used for such systems. - - * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): - * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused. - (LD_SWITCH_SYSTEM_1): Remove, update users. - - * s/darwin.h (DATA_END): - * m/intel386.h (DATA_END): - * m/ibmrs6000.h (DATA_END): - * m/alpha.h (DATA_END): Remove, unused. - - * config.in: Regenerate. - * s/ms-w32.h (subprocesses): Define unconditionally. - * s/template.h (subprocesses): Update comment. - * s/vms.h (subprocesses): - * s/usg5-4.h (subprocesses): - * s/hpux10-20.h (subprocesses): - * s/gnu-linux.h (subprocesses): - * s/cygwin.h (subprocesses): - * s/bsd-common.h (subprocesses): - * s/aix4-2.h (subprocesses): - * s/darwin.h (subprocesses): Do not define, defined by default now. - - * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused. - Remove all references. - (temacs): Add GNUstep specific ld flags. - - * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing, - similarly to what X does. - -2008-07-22 Adrian Robert - - * nsfns.m (x-list-fonts): Remove. - (syms_of_nsfns): Drop the x-list-fonts declaration. - * nsterm.m: Get rid of remaining "//" comments. - -2008-07-22 Chong Yidong - - * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix. - - * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p) - (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal) - (Fns_own_selection_internal, Fx_disown_selection_internal) - (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal): - - * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /* - ... */' style of docstrings. Doc fixes. - -2008-07-22 Dan Nicolaescu - - * terminfo.c (UP, BC, PC): Undo previous change. - - * nsfns.m: Rename ns prefixed functions/variables to the - corresponding x versions. Update references. - -2008-07-22 Stefan Monnier - - * syntax.c (char_quoted): Check "charpos > beg" before decrementing. - -2008-07-22 Dan Nicolaescu - - * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines): - Remove forwarding functions. - (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make - non-static. - (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make - non-static. - (ns_frame_parm_handlers): Use the new names. - (syms_of_nsfns): Move to the end of file. - - * nsterm.m (syms_of_nsterm): Move to the end of file. - - * dispnew.c (init_display): Remove code for X10. - -2008-07-22 Jason Rumney - - * w32proc.c (Fw32_long_file_name): Don't append dir separator to - bare drive. - -2008-07-22 Adrian Robert - - * nsterm.m (syms_of_nsterm): Remove debugging println. - -2008-07-22 David Reitter - - * nsfns.m (do_applescript, F_do_applescript): NS version of the - Carbon implementation of the same functionality: execute arbitrary - AppleScript code. - -2008-07-21 Adrian Robert - - * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource) - (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size) - (Fx_server_vendor, Fx_server_version, Fx_display_screens) - (Fx_display_mm_height, Fx_display_mm_width) - (Fx_display_backing_store, Fx_display_visual_class) - (Fx_display_save_under, Fx_open_connection) - (Fx_close_connection, Fx_hide_emacs, Fx_font_name) - (Fx_list_colors, Fx_perform_service, Fx_color_defined_p) - (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p) - (Fx_display_pixel_width, Fx_display_pixel_height) - (Fx_display_usable_bounds, Fx_display_planes) - (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /* - ... */' style of docstrings. - -2008-07-21 Dan Nicolaescu - - * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used - on this platform. - (mips): - * m/iris4d.h (mips): Do not define. - * sysdep.c (init_sys_modes): Use __mips__ instead of mips. - - * m/ibmrs6000.h (LD_SWITCH_SITE): Remove. - - * image.c: - * nsfns.m: - * nsselect.m: - * nsterm.h: - * nsterm.m: Rename ns prefixed functions/variables to the - corresponding x versions. Update references. - - * m/ibms390x.h (NO_REMAP): Do not undefine. - - * m/amdx86-64.h: Use SOLARIS2 instead of sun. - -2008-07-21 Chong Yidong - - * nsfns.m: Change NS to Nextstep in docstrings and error messages. - (Fns_create_frame, Fns_read_file_name, Fns_get_resource) - (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size) - (Fns_server_vendor, Fns_server_version, Fns_display_screens) - (Fns_display_mm_height, Fns_display_mm_width) - (Fns_display_backing_store, Fns_display_visual_class) - (Fns_display_save_under, Fns_open_connection) - (Fns_close_connection, Fns_hide_emacs, Fns_font_name) - (Fns_list_colors, Fns_perform_service, Fns_color_defined_p) - (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p) - (Fns_display_pixel_width, Fns_display_pixel_height) - (Fns_display_usable_bounds, Fx_display_planes) - (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes. - -2008-07-21 Ami Fischman (tiny change) - - * print.c (print_object): Check print_depth before searching for - circularities. - -2008-07-21 Michael Albinus - - * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead - only sprintf. - -2008-07-21 Kenichi Handa - - * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL. - -2008-07-20 Andreas Schwab - - * syntax.c (find_start_pos, find_start_value) - (find_start_value_byte, find_start_begv, find_defun_start) - (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions. - -2008-07-20 Dan Nicolaescu - - * s/sol2-3.h: Insert contents of s/sol2.h. - (LD_SWITCH_SYSTEM): Remove redundant definition. - * s/sol2.h: Remove, unused. - -2008-07-20 Adrian Robert - - * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV. - -2008-07-20 Adrian Robert - - * Makefile.in (ns_appdir): Fix typo in find command. - -2008-07-20 Dan Nicolaescu - - * m/intel386.h (NO_REMAP): Do no define for USG, not used. - - * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was - added not supported anymore. - - * s/usg5-4-2.h (LIBS_SYSTEM): - * s/sol2.h (LIBS_SYSTEM): Do not undefine. - - * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF): - * s/lynxos.h (GETPGRP_NO_ARG): - * s/hpux10-20.h (NO_SIOCTL_H): - * s/gnu.h (GETPGRP_NO_ARG): - * s/gnu-linux.h (NO_SIOCTL_H): - * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF): - * s/cygwin.h (GETPGRP_NO_ARG): - * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused. - (C_DEBUG_SWITCH): Remove duplicate definition. - - * m/ibms390.h: Remove boilerplate comments. - - * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4. - - * process.c (HAVE_SERIAL): Consolidate ifdefs. - (wait_reading_process_output): Remove code for SunOS, platform not - supported anymore. Use SOLARIS2 instead of sun. - -2008-07-19 Adrian Robert - - * font.c (font_open_by_name): Under NS, default lface height to zero. - (font_open_for_lface): Under NS, set size based on frame fontsize. - * nsterm.m (EmacsView-changeFont:): Remove some commented code. - * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef. - -2008-07-19 Adrian Robert - - * nsterm.m (ns_antialias_text, ns_use_qd_smoothing) - (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to - DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of - YES/NO. - * nsterm.h (prevUseHighlightColor): Make a Lisp_Object. - * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object. - * Makefile.in (clean): Clear out build destination dir. - -2008-07-19 Adrian Robert - - * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns, - xterm, xselect. - * lisp.h: Remove declaration of hash_remove. - * nsgui.h: Remove redefinitions of hash_remove. - * fns.c (hash_remove): Rename to hash_remove_from_table. - -2008-07-19 Seiji Zenitani - - * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font): - strdup() the family UTF8String before modifying it. - -2008-07-19 Adrian Robert - - * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from - NS_FACE_BACKGROUND with 0 instead of nil. - * nsfont.m (nsfont_draw): Same. - -2008-07-19 Chong Yidong - - * nsfns.m (ns_set_background_color): Fix crash. - -2008-07-18 Chong Yidong - - * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc. - -2008-07-18 Dan Nicolaescu - - * puresize.h (BASE_PURESIZE): Increase to 1240000. - -2008-07-17 YAMAMOTO Mitsuharu - - * gtkutil.c: Include instead of "config.h". - - * lisp.h (Foverlay_buffer): Add EXFUN. - - * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for - child process to complete child_setup. Undo 2005-09-21 change. - - * s/darwin.h: Mention setsid after vfork. - -2008-07-17 YAMAMOTO Mitsuharu - - * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o): - Depend on macgui.h. - - * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor, - gestaltSystemVersionMinor, or gestaltSystemVersionBugFix. - - * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18, - and f19. - [MAC_OSX] (fn_keycode_to_keycode_table): Likewise. - - * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor) - (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]: - Remove enumerators. - - * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event): - Check if FACE_FROM_ID returns NULL. - -2008-07-17 David Robinow (tiny change) - - * w32inevt.c (change_frame_size): Remove extern declaration. - (resize_event, maybe_generate_resize_event): Pass SAFE arg to - change_frame_size. - -2008-07-17 Adrian Robert - - * getloadavg.c: Revert last change (2008-07-15). - -2008-07-17 Adrian Robert - - * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables - set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc set - from configure. - -2008-07-17 Dan Nicolaescu - - * s/sol2.h: - * s/sol2-4.h: Reorganize conditionals. - - * ecrt0.c: Remove code depending on m68000, not used anymore. - - * fns.c (hash_remove): Make static. - * lisp.h (hash_remove): Don't prototype. - - * m/ibmrs6000.h: - * m/ibms390x.h: - * m/macppc.h: Remove boilerplate comments. - - * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on - Solaris, which does not need them. - - * m/vax.h: Remove comments about unsupported systems. - - * s/darwin.h: Reorganize ifdefs. - -2008-07-17 Andreas Schwab - - * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define. - -2008-07-17 Stefan Monnier - - Use SDATA. Follow coding convention of placing operators at - beginning of next line rather than end of previous line, and placing - spaces around infix operators. - - * Makefile.in: Undef LIB_STANDARD before defining it to silence warning - in case it was defined already. - USE @GNUSTEP_MAKEFILES@ rather than envvars. - * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to - ns_default. - (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare - Lisp_Objects. - * nsterm.h (Fx_display_grayscale_p, Fx_display_planes) - (ns_defined_color, ns_color_to_lisp): Declare. - * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear) - (Fns_own_selection_internal): Make the big ugly hack more explicit, so - it's accepted even with USE_LISP_UNION_TYPE. - * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects. - (update_frame_tool_bar): Remove apparently obsolete tests for - non-integerness of f->tool_bar_lines. - (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly - hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE. - * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast. - (nsfont_open): Don't confuse NULL for Qnil. - * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects. - * menu.h (find_and_call_menu_selection): - * menu.c (find_and_call_menu_selection): Use just int for vector size. - (find_and_return_menu_selection): Always return something. - * frame.h: Include dispextern.h for Display_Info. - (display_x_get_resource): Declare. - -2008-07-16 Adrian Robert - - * syntax.c: Remove stdio.h include accidentally introduced in - Emacs.app commit. - * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to - NS_IMPL_COCOA. - * keyboard.c (handle_async_input, input_available_signal): Remove - BSD4_1 conditional code, introduced accidentally in Emacs.app commit. - -2008-07-16 Stefan Monnier - - * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead. - (ns_lisp_to_color): Don't mess with internal Lisp data fields. - (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts): - Use SDATA. - - * keymap.c: Remove all NS-specific code. - (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars. - (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to - where_is_preferred_modifier, return a different value depending on how - preferred is the binding. - (where_is_internal): Adjust accordingly. - (Fwhere_is_internal): Refresh where_is_preferred_modifier. - Adjust to new preferred_sequence_p. - (syms_of_keymap): Declare `where-is-preferred-modifier'. - * keyboard.c (parse_solitary_modifier): Not static any more. - * keyboard.h (parse_solitary_modifier): Declare. - -2008-07-16 Andreas Schwab - - * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling - of easymenu. - -2008-07-16 Chong Yidong - - * xdisp.c (move_it_in_display_line): Account for word wrap, so - that we don't move off the line. - -2008-07-16 Stefan Monnier - - * keyboard.c (Qsuper): Remove. - (parse_menu_item): Don't call where_is_internal specially for NS. - -2008-07-16 Dan Nicolaescu - - * s/gnu-linux.h: Remove boilerplate comments. - - * m/alpha.h (__ELF__): Consolidate conditions. - - * m/m68k.h (linux): Use GNU_LINUX instead. - Remove boilerplate comments. - - * m/intel386.h: Undo refactoring from previous change. - (LIB_STANDARD): All systems that define USG define LIB_STANDARD - too, remove dead code. - (linux): Use GNU_LINUX instead. - -2008-07-16 Jason Rumney - - * w32gui.h: Repeat 26 June changes lost by last change. - -2008-07-16 Dan Nicolaescu - - * systty.h: Remove code for Aix on 386, unsupported platform. - - * s/ms-w32.h: Remove boilerplate comments. - (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused. - - * s/gnu-linux.h (TERM): Remove support. - (HAVE_SYSVIPC): Remove, unused. - (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used - for this system. - - * process.c: Remove support for IRIS, unused. - Remove support for TERM, not relevant anymore. - - * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only - used with the definition. - - * s/aix4-2.h (static): Do not undef. - - * m/ibmrs6000.h: Remove code depending on USG5_4, this file is - only used on Aix. - (HAVE_SYSVIPC): Remove, unused. - - * m/hp800.h (CANNOT_DUMP): Do not undef. - - * m/alpha.h: Fix comment. - - * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused. - (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not - used by this configuration. - * emacs.c: Remove code depending on USG_SHARED_LIBRARIES. - * unexec.c: Remove code depending on HPUX and - USG_SHARED_LIBRARIES, not used with this file. Remove code - depending on IRIS, unused. Remove if 0-ed code. - - * s/template.h: Remove comments about static. - - * sysdep.c: Remove code depending on NEED_PTEM_H, unused. - Remove if 0-ed code. - (baud_convert): Don't depend on BAUD_CONVERT, all definitions the - were the same as the default. - * s/vms.h (BAUD_CONVERT): Remove, same as the default. - Remove boilerplate comments. - * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default. - (HAVE_SYSVIPC): Remove, unused. - (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore. - - * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default. - Remove boilerplate comments. - * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default. - Remove boilerplate comments. - * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default. - Remove boilerplate comments. - * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally. - - * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on - USG systems which do not use DATA_SEG_BITS. - Refactor code. Remove boilerplate comments. - - * m/ibms390.h: - * m/m68k.h: - * s/bsd-common.h: - * s/cygwin.h: - * s/darwin.h: - * s/freebsd.h: - * s/gnu.h: - * s/msdos.h: Remove boilerplate comments. - - * m/iris4d.h: Remove boilerplate comments and code for systems that - do not use this file. - (IRIS_4D): Remove, unused. - - * m/mips.h: Remove boilerplate comments and code for systems that - do not use this file. - (SIGN_EXTEND_CHAR): - * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused. - * unexmips.c: Remove file, unused. - - * editfns.c (Fuser_full_name): Replace the only use of - USER_FULL_NAME with its value. - * config.in: Regenerate. - -2008-07-16 David Reitter - - * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and - easy-menu to SOME_MACHINE_LISP for the new NeXTstep port. - -2008-07-16 Glenn Morris - - * emacs.c (system-type): Doc fix. - -2008-07-15 Stefan Monnier - - * keyboard.c (parse_menu_item): Don't use cachelist, even under NS. - If the cache doesn't work, let's fix it, rather than work around it. - -2008-07-15 Adrian Robert - - * Makefile.in: Correct additions for nsfont.o in last commit. - * nsfont.m: New file (forgot last commit). - -2008-07-15 Chris Hall (tiny change) - - * callproc.c (set_initial_environment): Initialize - Vprocess_environment under CANNOT_DUMP (fixes crash when - batch-compiling for bootstrap). - -2008-07-15 Chris Hall (tiny change) - YAMAMOTO Mitsuharu - - (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_charset_table[]->lang. - (ftfont_list): Call ftfont_resolve_generic_family with `pattern'. - (ftfont_open): Fix args to ftfont_font_format. - (ftfont_font_format): New arg filename. - -2008-06-30 Chong Yidong - - * xfaces.c (Finternal_merge_in_global_face): If default face was - modified, realize it again. Update the font face attribute. - -2008-06-29 Jason Rumney - - * w32term.c (x_set_frame_alpha): Fix logic. - -2008-06-29 Kenichi Handa - - * fontset.c (Finternal_char_font): Return font-object instead of - font-name. - - * composite.c (get_composition_id): Fix the width calculation for TAB. - -2008-06-29 Stefan Monnier - - * indent.c (Fvertical_motion): Properly handle float column arg. - -2008-06-28 Jason Rumney - - * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer. - (pfnSetLayeredWindowAttributes): New function pointer. - (w32_initialize): Initialize it when supported. - (x_set_frame_alpha): New function. - - * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'. - (w32_frame_parm_handlers): Set alpha handler. - - * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha. - -2008-06-27 Jason Rumney - - * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight) - (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions. - (w32_to_x_charset, x_to_w32_charset) - (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default) - (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab) - (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem) - (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic) - (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek) - (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai) - (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c. - (Qw32_charset_unicode): Remove. - (syms_of_w32fns): Update for above changes. - - * w32font.c (w32_to_x_charset, x_to_w32_charset) - (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default) - (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab) - (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem) - (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic) - (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek) - (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai) - (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c. - (syms_of_w32font): Update for above changes. - -2008-06-27 Dan Nicolaescu - - * s/usg5-4.h: Fix previous change: keep the correct branch of a - removed #if. - (USG_SHARED_LIBRARIES): Remove duplicate definition. - -2008-06-26 Juanma Barranquero - Eli Zaretskii - - * makefile.w32-in (LOCAL_FLAGS): - Don't include WINDOWSNT, DOS_NT and _UCHAR_T. - - * sysdep.c (_spawnlp, _getpid): - Declare with explicit _cdecl instead of _CRTAPI1. - - * editfns.c (Fget_internal_run_time): - Check for WINDOWSNT with #ifdef, not #if. - -2008-06-26 Jason Rumney - - * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros. - - * w32term.c (x_draw_glyph_string_foreground) - (x_draw_composite_glyph_string_foreground): Sync with xterm.c. - Use FONT_HANDLE macro. - (x_draw_glyph_string): Use FONT_TEXTMETRIC macro. - - * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape) - (uniscribe_encode_char): Use FONT_HANDLE macro. - - * w32font.c (Fx_select_font): Use FONT_HANDLE macro. - (w32font_text_extents): Use precast w32_font. - (w32font_close): Free cached metrics. - (w32font_open_internal): Allocate space for name on stack. - -2008-06-26 Chong Yidong - - * xdisp.c (extend_face_to_end_of_line): Fix last change. - -2008-06-26 Jason Rumney - - * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro. - (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants. - -2008-06-26 Juanma Barranquero - - * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o. - -2008-06-26 Jason Rumney - - * w32bdf.c, w32bdf.h: Remove obsolete files. - - * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c. - - * w32gui.h: Don't include w32bdf.h. - (XCharStruct, enum w32_char_font_type, W32FontStruct): - Remove obsolete font support. - - * w32font.h (struct w32font_info): Remove compat_w32_font. - Add hfont member. - (FONT_COMPAT): Remove obsolete macro. - - * w32font.c (w32font_close): Remove compat code. Delete hfont member. - (w32font_encode_char, w32font_text_extents): Use new hfont member. - (w32font_open_internal): Remove compat code. Set new hfont member. - (Fx_select_font): Use new hfont member. - - * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape) - (uniscribe_encode_char): Use new hfont member. - - * w32term.c (x_draw_glyph_string_foreground) - (x_draw_composite_glyph_string_foreground): Use new hfont member. - (x_draw_glyph_string): Use metrics in w32font_info. - -2008-06-26 Kenichi Handa - - * xdisp.c (handle_auto_composed_prop): Fix for the terminal case. - -2008-06-26 Dan Nicolaescu - - * unexnext.c: - * m/ews4800.h: - * m/hp9000s300.h: - * m/ibm370aix.h: - * m/mips-siemens.h: - * m/ncr386.h: - * m/next.h: - * m/pmax.h: - * m/powerpcle.h: - * m/tandem-s2.h: - * s/386bsd.h: - * s/bsd386.h: - * s/bsd4-1.h: - * s/bsd4-2.h: - * s/bsdos2-1.h: - * s/bsdos2.h: - * s/bsdos3.h: - * s/bsdos4.h: - * s/nextstep.h: - * s/ultrix4-3.h: - * s/usg5-0.h: - * s/usg5-2-2.h: - * s/usg5-2.h: - * s/usg5-4-3.h: - * s/ux4800.h: - * s/uxpds.h: - * s/uxpv.h: Remove support for obsolete systems. - * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h: - Remove, insert contents in s/hpux10-20.h. - * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h: - Remove, insert contents in s/aix4-2.h. - * s/usg5-3.h: Remove, insert contents in s/usg5-4.h. - * s/bsd4-3.h: Rename to ... - * s/bsd-common.h: ... this. - * data.c: - * doc.c: - * ecrt0.c: - * emacs.c: - * fileio.c: - * floatfns.c: - * keyboard.c: - * mem-limits.h: - * print.c: - * process.c: - * sysdep.c: - * syssignal.h: - * systty.h: - * syswait.h: - * term.c: - * unexec.c: - * unexelf.c: - * unexhp9k800.c: - * m/hp800.h: - * m/ibmrs6000.h: - * m/mips.h: - * m/vax.h: - * s/darwin.h: - * s/freebsd.h: - * s/gnu.h: - * s/ms-w32.h: - * s/msdos.h: - * s/netbsd.h: - * s/template.h: Remove references to obsolete variables. - - * Makefile.in: Add dependencies for all unexec files. - (admindir): Remove unused variable. - (UNEXEC_SRC): Remove references. - -2008-06-25 Chong Yidong - - * xfns.c (x_default_font_parameter): If Xft is available, first - try Monospace-12 for the default font. - -2008-06-25 Jason Rumney - - * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0. - -2008-06-25 Stefan Monnier - - * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile. - - * buffer.c (syms_of_buffer): Remove default-word-wrap. - -2008-06-25 Juanma Barranquero - - * xdisp.c (syms_of_xdisp) : Doc fix. - : Fix typo in docstring. - - * xselect.c (Fx_send_client_event): Doc fix. - -2008-06-25 Kenichi Handa - - * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER. - - * font.c (font_parse_fcname): Remove unused variables. - (font_sort_entites): Delete the arg SPEC. Caller changed. - Fix for the case of ! best_only. - (font_delete_unmatched): Check DPI and AVGWIDTH too. - - * lisp.h (Fstring_to_unibyte): EXFUN it. - - * character.h (str_to_unibyte): Extern it. - - * character.c (str_to_unibyte): New function. - - * fns.c (Fstring_to_unibyte): New function. - (syms_of_fns): Defsubr it. - -2008-06-24 Kenichi Handa - - * font.c (font_score): Even if the PIXEL_SIZE is the same, check - DPI too. - (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too. - -2008-06-24 Andreas Schwab - - * Makefile.in (${lispsource}loaddefs.el): Rename from - ../lisp/loaddefs.el. - (bootstrap-clean): Do what distclean does but don't remove - Makefile. - (distclean): Depend on bootstrap-clean and remove Makefile. - -2008-06-24 Chong Yidong - - * buffer.h (struct buffer): New member word_wrap. - - * buffer.c (syms_of_buffer): New variables default-word-wrap and - word-wrap. - (init_buffer_once): Initialize them. - - * dispextern.h (struct it): Replace bool truncate_lines_p with a - line_wrap enum possessing three possible values. - - * termopts.h: Replace truncate_partial_width_windows with - Vtruncate_partial_width_windows. - - * dispnew.c (direct_output_for_insert): Avoid direct output when - inserting a space with word wrap on. - - * indent.c (compute_motion): Obey integer values of - truncate-partial-width-windows. - - * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object, - replacing truncate_partial_width_windows. - (init_iterator): If Vtruncate_partial_width_windows is an integer, - truncate only if the window width is below that integer. - (start_display, resize_mini_window, produce_stretch_glyph) - (display_string, move_it_in_display_line_to): Use line_wrap. - (back_to_previous_visible_line_start, reseat_1): Reset - string_from_display_prop_p. - (display_line): Extend default face to end of line when wrapping. - -2008-06-24 Kim F. Storm - - * xdisp.c (display_line, move_it_in_display_line_to): Add ability - to wrap continued lines at word boundaries. - -2008-06-24 Jason Rumney - - * font.c (Ffont_face_attributes): Multiply pixel size before point - conversion to avoid multiplying rounding error. - -2008-06-23 Jason Rumney - - * w32term.c (x_draw_glyph_string_background) - (x_draw_glyph_string): Remove old bdf font code. - - * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove. - -2008-06-22 Kenichi Handa - - * font.c (font_find_for_lface): Try the adstyle specified in - the property of LFACE_FONT of LFACE (if any). - -2008-06-21 Seiji Zenitani - Ryo Yoshitake - - * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437. - -2008-06-22 Stefan Monnier - - * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el): - Use $(BOOTSTRAPEMACS) rather than witness-emacs. - (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it. - (witness-emacs): Remove. - (lisp, shortlisp): Move loaddefs.el earlier. - (mostlyclean): Forget about witness-emacs. - -2008-06-22 Glenn Morris - - * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}. - (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes. - -2008-06-21 Stefan Monnier - - * Makefile.in (PRECOMP): Remove. - (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP. - (witness-emacs): Run `compile-first'. - (.el.elc): Use the new compile-onefile target. - -2008-06-21 Kenichi Handa - - * xftfont.c (xftfont_open): Handle QCembolden only when - FC_EMBOLDEN is defined. - -2008-06-21 Andreas Schwab - - * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource). - (.el.elc): Likewise. - -2008-06-21 Miles Bader - - * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp - build dir, not the lisp source dir. - -2008-06-21 Stefan Monnier - - * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs. - (bootstrapclean): Remove. - (.el.elc): New rule. - (PRECOMP): New var. - (../lisp/subdirs.el): Remove. - (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency. - (witness-emacs): New target. - (mostlyclean): Remove witness-emacs as well. - (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}): - Add witness-emacs dependency. - -2008-06-20 Chong Yidong - - * font.c (Ffont_face_attributes): Omit key-attribute pairs not - defined by the font. - -2008-06-20 Stefan Monnier - - * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files. - (bootstrap-clean): New target that keeps TAGS around. - (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets. - (bootstrap-emacs${EXEEXT}): Depend on subdirs.el. - -2008-06-20 Jason Rumney - - * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]: - Remove obsolete font code. - - * w32font.c (font_matches_spec): Use csb bitfield from font signature - to determine language support. - -2008-06-20 Stefan Monnier - - * sysdep.c (cfsetspeed): New fun extracted from the code. - (cfmakeraw): Move before first use. - -2008-06-20 Angelo Graziosi (tiny change) - - * sysdep.c (cfmakeraw): Provide fallback implementation. - (serial_configure): Provide fallback implementation of cfsetspeed. - -2008-06-20 Kenichi Handa - - * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to - the pattern. - - * fontset.c (fontset_from_font): Copy font_spec before changing - the elements. - - * xfns.c (x_default_font_parameter): Try "monospace-12" too. - -2008-06-20 Stefan Monnier - - * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param' - for explicit `font' parameters. - - * frame.c (x_set_font): Remove unexplained call to fix inf-recursion. - -2008-06-19 Kenichi Handa - - * frame.c: Include . - (x_set_font_backend): Allow spacing characters in the X resource - for FontBackend. - -2008-06-19 Stefan Monnier - - * w32fns.c, xfns.c (Qfont_param): New var. - (syms_of_w32fns): Initialize it. - (x_default_font_parameter): Record explicit `font' into - `font-parameter'. - -2008-06-18 Kenichi Handa - - * font.c (font_parse_xlfd): Fix previous change. - (font_parse_fcname): Don't use :fc-unknown-spec. - (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height. - (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA. - (font_add_log): Prepend the driver name to the resulting fonts. - - * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed. - (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname. - (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset. - - * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba) - (QCembolden): New variables. - (syms_of_xftfont): DEFSYM them. - (xftfont_open): Call XftFontMatch. Don't trust the result of - XftTextExtents8 if the pixel_size is less than 5. - -2008-06-18 Andreas Schwab - - * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM. - (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM. - -2008-06-18 Jason Rumney - - * w32font.c (w32font_list, w32font_match): Add logging. - - * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging. - -2008-06-17 Chong Yidong - - * font.c (font_parse_fcname): Store divider characters for - unknown-spec list. For known key symbols, intern using correct - symbol name. - -2008-06-17 Kenichi Handa - - * xfaces.c (realize_default_face): If the frame is not on window - system, set the fontset of face to nil. - -2008-06-17 Naohiro Aota (tiny change) - - * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters. - -2008-06-16 Juanma Barranquero - - * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector) - (build_font_name_from_vector): Delete externs. - - * xfaces.c (struct font_name): Don't declare. - -2008-06-16 Stefan Monnier - - * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects. - -2008-06-16 Chong Yidong - - * font.c (font_parse_fcname): Fix handling of unknown-spec string. - -2008-06-16 Juanma Barranquero - - * font.c (Ffont_spec): Fix usage in docstring. - (Ffont_face_attributes): Doc fix. - -2008-06-16 Andreas Schwab - - * font.c (Ffont_face_attributes): Fix definition. - -2008-06-16 Jason Rumney - - * font.h (font_style_symbolic_from_value): Remove. - - * font.c (font_style_symbolic_from_value): Remove. - (font_style_symbolic): Revert to pre 2008-06-13 version. - - * w32font.c (w32_to_fc_weight): New function. - (w32font_full_name, logfont_to_fcname): Use it. - -2008-06-16 Kenichi Handa - - * font.c (font_check_object): Delete it. - (font_clear_cache): Check if a font-object is alive. - (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a - font-object to nil. - (font_close_object): Don't check FONT_CLOSE_OBJECT. - (font_at): Don't call font_check_object. - (Ffont_get): Return a symbol for :weight, :slant, and :width. - -2008-06-16 Katsumi Yamaoka - - * puresize.h (BASE_PURESIZE): Increase to 1230000. - -2008-06-16 Chong Yidong - - * font.c (font_parse_fcname): Correctly parse KEY=VAL values. - -2008-06-15 Chong Yidong - - * font.c (font_parse_fcname): Only one decimal point. - (font_unparse_fcname): Handle data in family and foundry indices - as symbols, not strings. - (font_unparse_gtkname, Ffont_face_attributes): New functions. - - * xfns.c (Fx_select_font): Give GTK font dialog the default font name. - - * font.h (font_unparse_gtkname): Add prototype. - -2008-06-15 Naohiro Aota (tiny change) - - * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern. - -2008-06-15 Andreas Schwab - - * font.c (font_update_drivers): Fix crash when no drivers match. - -2008-06-15 Stefan Monnier - - * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk. - * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width. - -2008-06-14 Stefan Monnier - - * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1. - -2008-06-13 Stefan Monnier - - * process.c (Fserial_process_configure, Fprocess_send_eof): - Use EQ to compare Lisp_Objects. - -2008-06-13 Jason Rumney - - * w32fns.c (Fw32_select_font): Remove old font API function. - - * w32font.c (logfont_to_fcname): New function. - (Fx_select_font): New font dialog function compatible with - GTK/fontconfig version. - - * font.c (font_style_symbolic_from_value): New function. - (font_style_symbolic): Use it. - - * font.h (font_style_symbolic_from_value): Declare new function. - -2008-06-13 Juanma Barranquero - - * font.c (syms_of_font) : - : Fix typos in docstrings. - -2008-06-13 Daniel Engeler - - These changes add serial port access. - * process.c: Add HAVE_SERIAL. - (Fdelete_process, Fprocess_status, Fset_process_buffer) - (Fset_process_filter, Fset_process_sentinel, Fprocess_contact) - (list_processes_1, select_wrapper, Fstop_process) - (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes) - (status_notify): Modify to handle serial processes. - [HAVE_SERIAL] (Fserial_process_configure) - [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process): - New functions. - * process.h (struct Lisp_Process): Add `type'. - * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure): - New functions. - * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle - serial ports. - (serial_open, serial_configure): New functions. - * w32.h: Add FILE_SERIAL. - (struct _child_process): Add ovl_read, ovl_write. - -2008-06-13 Kenichi Handa - - * dispextern.h (enum lface_attribute_index): New member - LFACE_FOUNDRY_INDEX. - - * font.c (font_score): Delete arg alternate_families. Check only - weight, slant, width, and size. Ignore the difference of alias - style symbols. - (font_sort_entites): Adjust for the above change. Reflect the - order of font-driver to scores. - (font_list_entities): Don't check alternate_familes here. - (font_clear_prop): Handle foundry. - (font_update_lface): Don't parse "foundry-family" form here. - Handle FONT_FOUNDRY_INDEX. - (font_find_for_lface): Likewise. Handle alternate families here. - If registry is nil, try iso8859-1 and ascii-0. - (font_open_for_lface): Pay attention to size in ENTITY. - (font_open_by_name): Simplify by calling font_load_for_lface. - (free_font_driver_list): Delete it. - (font_update_drivers): Preserve the order of backends. - (syms_of_font): Setting of sort_shift_bits adjusted for the change - of font_score and font_sort_entites. - (font_update_sort_order): Likewise. - - * xfaces.c (LFACE_FOUNDRY): New macro. - (check_lface_attrs): Check foundry. - (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form. - (merge_face_vectors): Check foundry. - (merge_face_ref): Likewise. - (Finternal_set_lisp_face_attribute): Likewise. - (x_update_menu_appearance): Likewise. - (Finternal_get_lisp_face_attribute): Likewise. - (lface_hash): Likewise. - (lface_same_font_attributes_p): Likewise. - (x_supports_face_attributes_p): Likewise. - (tty_supports_face_attributes_p): Likewise. - (Finternal_set_alternative_font_family_alist): Intern strings. - (Finternal_set_alternative_font_registry_alist): Downcase strings. - (realize_default_face): Set LFACE_FOUNDRY (lface). - - * xfns.c (Fx_create_frame, x_create_tip_frame): Register X - font-driver at first. - - * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;". - -2008-06-12 Emanuele Giaquinta (tiny change) - - * lread.c (Fload): Use xfree, not free on saved_doc_string. - -2008-06-12 Jim Meyering - - Make unexec_free handle NULL the same way free does. - * unexmacosx.c (unexec_free): Ignore a NULL argument. - -2008-06-12 Stefan Monnier - - * character.h (CHAR_TO_BYTE_SAFE): New macro. - * character.c (Fmultibyte_char_to_unibyte): Obey the docstring. - * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro. - (WEAK_ALIAS): Simplify. - * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap - when searching a unibyte buffer. - -2008-06-12 Chong Yidong - - * xfns.c (Fx_select_font): Rename from x-font-dialog. - -2008-06-12 Juanma Barranquero - - * w32font.c: Include ctype.h. - -2008-06-11 Jason Rumney - - * w32font.c (w32font_encode_char): Detect missing glyphs that are - misreported as space. - (add_font_entity_to_list): Support unicode-bmp and unicode-sip - as aliases for registry iso10646-1. - -2008-06-11 Stefan Monnier - - * buffer.c (clone_per_buffer_values): Skip `name'. - -2008-06-11 Chong Yidong - - * font.c (font_parse_fcname): Fix last change; accept decimal - points in font size. - -2008-06-10 Jason Rumney - - * w32uniscribe.c (add_opentype_font_name_to_list): - Skip non unicode fonts. - -2008-06-10 Chong Yidong - - * xfns.c (Fx_font_dialog): New function. - - * gtkutil.c (xg_dialog_response_cb): Rename from - xg_file_response_callback. - (pop_down_dialog): Rename from pop_down_file_dialog. - (xg_get_file_name): Callers changed. - (xg_get_font_name): New function. - - * gtkutil.h (xg_get_font_name): Insert prototype. - -2008-06-10 Stefan Monnier - - * xdisp.c (underline_minimum_offset): Rename from xterm.c's - x_underline_minimum_display_offset. - (syms_of_xdisp): Declare it here rather than in xterm.c. - * dispextern.h (underline_minimum_offset): Declare it. - * w32term.c (x_draw_glyph_string): Use it. - * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c. - (syms_of_xterm): Don't declare it any more. - (x_draw_glyph_string): Adjust to the new name. - -2008-06-10 David De La Harpe Golden - - * xterm.c (x_underline_minimum_display_offset): New var. - (x_draw_glyph_string): Use it. - (syms_of_xterm): Declare it. - -2008-06-10 Chong Yidong - - * font.c (font_parse_fcname): Accept GTK-style font names too. - -2008-06-10 Stefan Monnier - - * dired.c (file_name_completion): Don't return t if the match is exact - but with different capitalization. - * minibuf.c (Ftry_completion): Simplify. - - * window.c (Vwindow_point_insertion_type): New var. - (set_window_buffer): Use it. - (syms_of_window): Init and export it to Lisp. - -2008-06-10 Kenichi Handa - - * font.h (font_intern_prop): Prototype adjusted. - - * font.c (font_intern_prop): New arg force_symbol. - (font_parse_xlfd, font_parse_fcname, font_parse_family_registry): - Adjust for the change of font_intern_prop. - - * ftfont.c (ftfont_pattern_entity): - * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity) - (w32_registry): - * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for - the change of font_intern_prop. - -2008-06-09 Juanma Barranquero - - * w32menu.c (digest_single_submenu): Declare extern. - -2008-06-09 Jason Rumney - - * w32term.c (x_make_frame_visible): Use alternate restore flags. - - * w32menu.c (Fx_popup_menu): Unwind protect while building menu. - (parse_single_submenu): Remove. - (digest_single_submenu): Remove. - (syms_of_w32menu): Don't initialise variables that have moved - to menu.c. - (set_frame_menubar): Sync with version in xmenu.c. - (w32_menu_show): Sync with xmenu_show in xmenu.c. - - * menu.c (single_keymap_panes, push_menu_pane, push_menu_item): - Make static again. - -2008-06-09 Jason Rumney - - Changes to w32 files related to the move of common menu code - to menu.c on 2008-06-08 by Chong Yidong. - - * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related - defs to w32gui.h. - (single_keymap_panes, push_menu_item, push_menu_pane): - Make globally visible. - - * w32menu.c (enum button_type, widget_value, local_heap, local_alloc) - (local_free, malloc_widget_value, free_widget_value) - (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE) - (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION) - (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP) - (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs. - (menu_items, menu_items_allocated, menu_items_used) - (menu_items_n_panes, menu_items_submenu_depth): Remove global vars. - (init_menu_items, finish_menu_items, discard_menu_items) - (grow_menu_items, push_submenu_start, push_submenu_end) - (push_left_right_boundary, push_menu_pane, push_menu_item) - (keymap_panes, single_keymap_panes, list_of_panes, list_of_items) - (free_menubar_widget_tree_value, parse_single_submenu) - (update_submenu_strings): Remove functions. - (xmalloc_widget_value): Remove and declare extern. - - * makefile.w32-in ($(SRC)/menu.$(O)): New target. - (OBJ1): Build it. - - * w32gui.h (widget_value, XtPointer, Boolean, enum button_type) - (local_heap, local_alloc, local_free, malloc_widget_value) - (free_widget_value): Define here. - -2008-06-09 Kenichi Handa - - * font.h (Qascii_0): Extern it. - - * font.c (Qascii_0): New variable. - (syms_of_font): DEFSYM it. - (font_open_by_name): If the registry "iso8859-1" fails, try also - "ascii-0". - - * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'. - -2008-06-08 Kenichi Handa - - * .gdbinit (xfont): New command. - -2008-06-08 Andreas Schwab - - * menu.c [HAVE_X_WINDOWS]: Include "xterm.h". - * Makefile.in (menu.o): Update dependencies. - - * Makefile.in (obj): Always add menu.o. - * emacs.c (main): Always call syms_of_menu. - * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW. - -2008-06-08 Chong Yidong - - * Makefile.in: Compile menu.c. - - * lisp.h: Declare syms_of_menu. - - * emacs.c (main): Call syms_of_menu. - - * keyboard.h: Relocate platform-independent menu definitions from - xmenu.c. - - * menu.c: New file. Relocate platform-independent menu - definitions from xmenu.c. Suggested by Adrian Robert. - - * xmenu.c: Remove platform-independent menu definitions. - (menu_items menu_items_inuse, menu_items_allocated) - (menu_items_used, menu_items_n_panes) - (menu_items_submenu_depth): Move to keyboard.h. - (init_menu_items, finish_menu_items, unuse_menu_items) - (discard_menu_items, restore_menu_items, save_menu_items) - (grow_menu_items, push_submenu_start, push_submenu_end) - (push_left_right_boundary, push_menu_pane, push_menu_item) - (keymap_panes, single_keymap_panes, single_menu_item) - (list_of_panes, list_of_items, find_and_call_menu_selection) - (xmalloc_widget_value, free_menubar_widget_value_tree) - (parse_single_submenu, digest_single_submenu) - (update_submenu_strings): Move to menu.c. - -2008-06-07 Stefan Monnier - - * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case. - -2008-06-06 Miles Bader - - * xdisp.c (x_produce_glyphs): Calculate tab width based on current - face, not frame default. - -2008-06-05 Martin Rudalics - - * window.c (pop_up_windows, pop_up_frames) - (display_buffer_reuse_frames, Vpop_up_frame_function) - (Vdisplay_buffer_function, Veven_window_heights) - (Vspecial_display_buffer_names, Vspecial_display_regexps) - (Vspecial_display_function, Vsame_window_buffer_names) - (Vsame_window_regexps, split_height_threshold) - (Vsplit_window_preferred_function): Move those vars to window.el. - (display_buffer_1, Fspecial_display_p, Fsame_window_p) - (Fdisplay_buffer): Move those functions to window.el. - (syms_of_window): Remove corresponding declarations. - (display_buffer): New function. - (temp_output_buffer_show, Fother_window_for_scrolling): Use it. - * dispnew.c (Flast_nonminibuf_frame): New function. - * buffer.c (Fpop_to_buffer): Move to window.el. - -2008-06-05 Stefan Monnier - - * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p. - -2008-06-05 Kenichi Handa - - * coding.c (detect_coding): Fix previous change. - (detect_coding_system): Likewise. - -2008-06-05 Stefan Monnier - - * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte. - - * keymap.c (Vminibuffer_local_filename_must_match_map): - Rename from Vminibuffer_local_must_match_filename_map. - (syms_of_keymap): - * minibuf.c (Fcompleting_read): Adjust accordingly. - * commands.h: Rename declaration as well. - -2008-06-05 Kenichi Handa - - * font.c (Ffont_spec): Don't use font_parse_family_registry for - family name. - (Ffont_put): Likewise. - - * fontset.c (fontset_find_font): Call font_open_for_lface with the - current font-spec. - - * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it - is unspecified. - - * xfaces.c (realize_x_face): If the font-related face attributes - are the same as those of default face, realize a new fontset from - default->fontset. - (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put. - -2008-06-05 Stefan Monnier - - * xdisp.c (move_it_in_display_line_to): Improve the type of its args. - (move_it_in_display_line): New wrapper. - - * window.c (window_scroll_pixel_based_preserve_x) - (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars. - (window_scroll_pixel_based, window_scroll_line_based): - Use them to preserve column positions. - (syms_of_window): Initialize them. - - * indent.c (Fvertical_motion): Extend first arg to allow passing an - (HPOS . VPOS) pair. - - * dispextern.h (move_it_in_display_line): Declare. - -2008-06-05 Juanma Barranquero - - * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE). - (Fwindow_parameters): Return copy of parameter alist. Doc fix. - (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix. - -2008-06-04 Juanma Barranquero - - * window.c (Fset_window_parameter): Doc fix. - (Fwindow_parameters, Fwindow_parameter): Remove redundant check. - -2008-06-04 Joakim Verona - - * window.h (struct window): Add new member window_parameters. - - * window.c (Fwindow_parameters, Fwindow_parameter) - (Fset_window_parameter): New defuns. - (syms_of_window): Defsubr the new defuns. - (make_window): Initialize window_parameters to nil. - -2008-06-04 John Paul Wallington - - * eval.c (Fdefmacro): Doc fix. - -2008-06-04 Kenichi Handa - - * coding.c (detect_coding): Fix handling of coding->head_ascii. - Be sure to call setup_coding_system when we find a proper coding system. - (detect_coding_system): Fix handling of coding->head_ascii. - -2008-06-03 Andreas Schwab - - * font.c (font_prop_validate_spacing): Fix last change. - -2008-06-03 Kenichi Handa - - * font.c (font_prop_validate_spacing): Handle uppercase symbols. - (font_parse_fcname): Fix handling of unknown key. - - * xfont.c (xfont_list): Try an alias. - - * charset.c (char_charset): Return NULL if the arg charset_list is - specified and C doesn't belong to any of them. - -2008-06-02 Chip Coldwell - - * font.c (font_pixel_size): Don't take cdr of an integer. - -2008-06-02 Jim Meyering - - Make "xfree (NULL)" a no-op; remove useless if-before-xfree. - * alloc.c (xfree): Return right away for a NULL arg. - * lread.c (nosuffix): Remove now-useless if-before-xfree tests. - * gtkutil.c (xg_gtk_scroll_destroy): Likewise. - * mac.c (create_apple_event_from_event_ref): Likewise. - (create_apple_event_from_drag_ref, cfstring_create_normalized): - Likewise. - * doprnt.c (doprnt1): Likewise. - * frame.c (frame): Likewise. - * keyboard.c (wipe_kboard): Likewise. - * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap) - (init_font_name_table, mac_unload_font, x_delete_display): Likewise. - * term.c (tty_default_color_capabilities, maybe_fatal) - (delete_tty): Likewise. - * w16select.c (string): Likewise. - * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise. - * w32bdf.c (w32_free_bdf_font): Likewise. - * w32fns.c (w32_unload_font): Likewise. - * w32font.c (w32font_close): Likewise. - * window.c (size_window): Likewise. - * xselect.c (receive_incremental_selection): Likewise. - * xterm.c (x_free_frame_resources, x_delete_display): Likewise. - * mactoolbox.c (create_apple_event_from_drag_ref): Likewise. - * w32.c (stat): Likewise. - - Remove useless if-before-free tests. - * editfns.c (Fset_time_zone_rule): Likewise. - * lread.c (nosuffix): Likewise. - * ralloc.c (get_bloc): Likewise. - * regex.c (reg_free): Likewise. - * xftfont.c (xftfont_open, xftfont_close): Likewise. - * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise. - * xsmfns.c (smc_save_yourself_CB): Likewise. - -2008-06-02 Kenichi Handa - - * font.c (font_find_for_lface): Handle float font size. - (font_open_for_lface): Likewise. - - * xfaces.c (x_supports_face_attributes_p): Check face->font before - comparing the properties. - -2008-06-01 Jason Rumney - - * w32font.c (w32_enumfont_pattern_entity): Use requested registry. - Treat iso10646-1 and Windows DEFAULT_CHARSET specially. - Duplicate iso8859-1 fonts as iso10646-1 if no registry specified. - Don't add empty script list. - (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here. - -2008-06-01 Dan Nicolaescu - - * Makefile.in (dot, dotdot): Remove, update users. - ".." has been used elsewhere in the file for a long time. - (LIBXT_STATIC): Remove conditional based on unused variable. - -2008-06-01 Miles Bader - - * xfaces.c (Vface_remapping_alist): New variable. - (syms_of_xfaces): Initialize it. - (enum named_merge_point_kind): New type. - (struct named_merge_point): Add `named_merge_point_kind' field. - (push_named_merge_point): Make cycle detection respect different - named-merge-point kinds. - (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'. - Remove face-name alias resolution. - (lface_from_face_name): New definition using - `lface_from_face_name_no_resolve'. - (get_lface_attributes_no_remap): Rename from `get_lface_attributes'. - Call lface_from_face_name_no_resolve instead of lface_from_face_name. - (get_lface_attributes): New definition that layers face-remapping on - top of get_lface_attributes_no_remap. New arg `named_merge_points'. - (lookup_basic_face): New function. - (lookup_derived_face): Pass new last arg to `get_lface_attributes'. - (realize_named_face): Call `get_lface_attributes_no_remap' instead of - `get_lface_attributes'. - (face_at_buffer_position): Use `lookup_basic_face' to lookup - DEFAULT_FACE_ID if necessary. When optimizing the default-face case, - return default_face's face-id instead of the constant DEFAULT_FACE_ID. - - * xdisp.c (init_iterator): Pass base_face_id through - `lookup_basic_face' when we actually use it as a face-id. - (handle_single_display_prop): Use `lookup_basic_face' to lookup - DEFAULT_FACE_ID. - - * fontset.c (Finternal_char_font): Use `lookup_basic_face' to - lookup the initial face-id. - - * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls. - -2008-06-01 Juanma Barranquero - - * textprop.c (syms_of_textprop) : - (Fremove_text_properties): Fix typos in docstrings. - -2008-05-31 Kenichi Handa - - * font.c (font_list_entities): Fix the car part of data to be - stored in the cache. - - * ftfont.c (ftfont_font_format): Don't use strcasestr. - -2008-05-30 Stefan Monnier - - * chartab.c (Foptimize_char_table, optimize_sub_char_table): - Add a `test' argument so another predicate than `equal' can be used. - (map_sub_char_table): Use `eq' rather than `equal' to merge ranges. - (map_char_table): Remove unused vars `c' and `i'. - * lisp.h (Foptimize_char_table): Adjust declaration. - * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table. - -2008-05-30 Kenichi Handa - - * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined. - (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is - defined. - -2008-05-30 Stefan Monnier - - * data.c (Fmake_variable_buffer_local, Fmake_local_variable) - (Fmake_variable_frame_local): Disallow mixing buffer-local and - frame-local settings for the same variable. - -2008-05-30 Kenichi Handa - - * fontset.c (Ffont_info): Move to font.c. - (syms_of_fontset): Delete defsubr of Sfont_info. - - * font.c (font_style_to_value, font_score): Delete casting of the - args to xstcasecmp. - (register_font_driver): Increment num_font_drivers only when - registering the driver globally. - (Ffont_info): Move from fontset.c. Handle a font object too. - (syms_of_font): Defsubr Sfont_info. - -2008-05-29 Kenichi Handa - - * coding.h (enum define_coding_utf8_arg_index): New enum. - (enum coding_attr_index): Change coding_attr_utf_16_bom to - coding_attr_utf_bom. - (enum utf_bom_type): Rename from utf_16_bom_type. - (struct utf_16_spec): Adjust for the above change. - (struct coding_system): Add utf_8_bom in `spec' union. - - * coding.c (CODING_UTF_8_BOM): New macro. - (enum coding_category): Delete coding_category_utf_8, add - coding_category_utf_8_auto, coding_category_utf_8_nosig, and - coding_category_utf_8_sig. - (CATEGORY_MASK_UTF_8): Delete it. - (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG) - (CATEGORY_MASK_UTF_8_SIG): New macros. - (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add - CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and - CATEGORY_MASK_UTF_8_SIG. - (CATEGORY_MASK_UTF_8): New macro. - (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros. - (detect_coding_utf_8): Check BOM. - (decode_coding_utf_8, encode_coding_utf_8): Handle BOM. - (decode_coding_utf_16): Adjust for the change of enum utf_bom_type. - (encode_coding_utf_16): Likewise. - (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding). - (detect_coding, detect_coding_system): Handle utf-8-auto. - (Fdefine_coding_system_internal): Handle `bom' property for utf-8. - (syms_of_coding): Fix setting up of Vcoding_category_table. - -2008-05-29 Stefan Monnier - - * process.c (Faccept_process_output): If `millisec' is non-nil, - `seconds' default to 0. - (wait_reading_process_output): Also return non-nil if we read output - from a non-running process. - -2008-05-29 Jason Rumney - - * w32font.c (w32font_open_internal): Prefer truetype fonts unless - `raster' specified. - (add_font_entity_to_list): Allow non-opentype truetype fonts back - in the uniscribe backend, but disallow any font that has no - unicode subrange support. - -2008-05-29 Juanma Barranquero - - * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face): - Fix typos in docstrings. - -2008-05-29 Kenichi Handa - - * xfaces.c (Fx_list_fonts): Make it return a list of font names. - (Fx_family_fonts): Set frame correctly. - -2008-05-28 Jason Rumney - - * w32term.c (x_draw_glyph_string): Use clipmask if specified. - -2008-05-28 Stefan Monnier - - * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after - calling build_annotations. - -2008-05-28 Juanma Barranquero - - * coding.c (Fdecode_coding_region, Fencode_coding_region) - (Fencode_coding_string): - (syms_of_coding) : - : Fix typos in docstrings. - (syms_of_coding) : Doc fix. - (syms_of_coding) : Reflow docstring. - -2008-05-28 Kenichi Handa - - * fontset.c (Ffont_info): Don't call font_close_object. - - * font.c (font_parse_family_registry): Use Ffont_put to validate - foundry and family. - (font_delete_unmatched): Don't check spacing. - (font_list_entities): Add spacing to the spec to list fonts. - - * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern. - (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset. - - * coding.c (encode_coding_raw_text): Fix previous change. - (encode_coding_object): When the dst_object is a buffer and is - different from src_object, move gap to PT. - -2008-05-27 Chong Yidong - - * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it. - -2008-05-27 Stefan Monnier - - * coding.c (encode_coding_raw_text): Set coding->produced_char for - all branches. Compute it differently. - - * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x. - -2008-05-27 Juanma Barranquero - - * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }" - into "else if () ... else ...". - -2008-05-27 Jason Rumney - - * w32font.c (w32font_open_internal): Determine if glyph indices - are likely to work here. - -2008-05-27 Chong Yidong - - * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to - draw overlap glyphs with appropriate highlighting. - -2008-05-27 Kenichi Handa - - * xfont.c (xfont_open): Fix calculation of font->average_width. - -2008-05-27 Stefan Monnier - - * casefiddle.c (casify_object): Try to guess better whether the - argument is a byte or a char. - -2008-05-26 Andreas Schwab - - * xselect.c (x_reply_selection_request): Properly handle format == 32. - Always send multiples of format size. - - * xterm.c (x_set_frame_alpha): Fix type mismatch. - -2008-05-26 Jason Rumney - - * w32font.c (w32font_text_extents): Zero whole metrics struct first. - (compute_metrics): Don't set failure if we just cleared the cache. - (w32_weight_table): Remove unused variable. - (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for - backwards compatibility. - -2008-05-25 Kenichi Handa - - * w32term.c (x_draw_glyph_string): - * xterm.c (x_draw_glyph_string): Fix calculation of underline position. - - * xfaces.c: Delete unused function prototypes. - (xstrlwr, font_frame): Delete them. - (clear_face_cache): Delete unused variable. - - * xftfont.c (xftfont_open): Delete unused variable. - If underline_thickness is not 1, adjust underline_position. - - * ftxfont.c (ftxfont_open): Delete unused variable. - - * fontset.c (face_for_char): Optimize for the case of no charset - property. - - * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE) - (check_gstring, check_otf_features, otf_list, otf_tag_symbol) - (otf_open, font_otf_capability, generate_otf_features) - (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor): - Comment out by surrounding "#if 0" and "#endif" for the moment. - (Ffont_drive_otf, Ffont_otf_alternates): Likewise. - (syms_of_font): Codes for accessing above commented out. - -2008-05-24 Eli Zaretskii - - * w32proc.c: Include dispextern.h. - - * w32.c: Include dispextern.h. - -2008-05-23 Juanma Barranquero - - * charset.c (Fencode_char, Fsplit_char): Doc fixes. - (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset): - Fix typos in docstrings. - -2008-05-23 Jason Rumney - - * xsmfns.c: Remove includes that are already included by config.h. - -2008-05-23 Kenichi Handa - - * charset.c (Qemacs, charset_emacs): New variables. - (char_charset): Fix for non-Unicode characters. - (syms_of_charset): Define charset_emacs. - - * w32term.c (x_draw_glyph_string): Be sure to update - s->underline_thickness and s->underline_position. Be sure to draw - underline within the current line area. - - * xterm.c (x_draw_glyph_string): Be sure to update - s->underline_thickness and s->underline_position. Be sure to draw - underline within the current line area. - - * fontset.c: Delete unused variables and add casting for char * - throughout the file. - (fontset_font): Try the fallback fonts of the current fontset - before consulting the default fontset. - - * ftfont.c (ftfont_spec_pattern): Free charset if necessary. - - * xfont.c (xfont_list_pattern): Free names returned from XListFonts. - -2008-05-22 Jason Rumney - - * font.c: Don't include strings.h. - - * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp. - - * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c: - * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c: - * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed - to call xstrcasecmp. - - * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp. - - * fontset.c (fs_query_fontset): Use xstrcasecmp. - - * font.c (font_style_to_value, font_score): Use xstrcasecmp. - - * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp. - -2008-05-22 Kenichi Handa - - * puresize.h (BASE_PURESIZE): Increase to 1220000. - - * font.c (font_prop_validate_style): Adjust for the format - change of font_style_table. - - * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with - two args. - - * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with - two args. - -2008-05-22 Stefan Monnier - - * minibuf.c (keys_of_minibuf): Delete. - * lisp.h (keys_of_minibuf): Delete. - * emacs.c (main): Don't call keys_of_minibuf. - -2008-05-22 Kenichi Handa - - * ftfont.c (ftfont_resolve_generic_family): Rename from - ftfont_list_generic_family. Return a single family for each - generic family. - (ftfont_spec_pattern): Add FC_FAMILY to pattern. - (ftfont_list): Adjust for the change of ftfont_resolve_generic_family. - Call font_add_log. - (ftfont_match): Call font_add_log. - - * font.h (Ffont_xlfd_name): EXFUN adjusted. - (FONT_DEBUG): Define it. - (font_add_log): Extern it. - (font_assert): Rename from xassert. - - * xfont.c (xfont_get_pcm): Change xassert to font_assert. - (xfont_list_family): Call font_add_log. - (xfont_match): Likewise. - (memq_no_quit): Delete. - - * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in - call of Ffont_xlfd_name. - - * xfaces.c (struct table_entry, slant_table, weight_table) - (swidth_table): Move to font.c. - - * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of - xassert are changed to font_assert. Delete many unused variables. - (Vfont_weight_table, Vfont_slant_table, Vfont_width_table): - New variables. - (struct table_entry): Move from xfaces.c and modified. - (weight_table, slant_table, width_table): Move from xfaces.c and - contents adjusted for the change of struct table_entry. - (font_style_to_value, font_style_symbolic): Adjust for the - format change of font_style_table. - (font_parse_family_registry): Don't overwrite existing foundry and - family of font_spec. - (font_score): Fix calculation of diff for sizes. - (font_sort_entites): Call font_add_log. - (font_delete_unmatched): Return a newly created list. - (font_list_entities): Fix previous change. Call font_add_log. - (font_matching_entity, font_open_entity, font_close_entity): - Call font_add_log. - (Ffont_xlfd_name): New arg FOLD-WILDCARDS. - (Finternal_set_font_style_table): Delete. - (BUILD_STYLE_TABLE): New macro. - (build_style_table): New function. - (Vfont_log, font_log_env_checked): New variables. - (font_add_log): New function. - (syms_of_font): Delete defsubr Sinternal_set_font_style_table. - Declare Lisp variables "font-weight-table", "font-slant-table", - "font-width-table", and "font-log". Initialize font_style_table. - -2008-05-21 Dan Nicolaescu - - * xterm.c (x_set_frame_alpha): Move declarations before statements. - -2008-05-21 Seiji Zenitani - Ryo Yoshitake - - * frame.c (Qalpha): Add a new frame parameter `alpha'. - (Vframe_alpha_lower_limit): New variable. - (x_set_alpha): New function. - - * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them. - - * xfns.c (x-create-frame, Qalpha): - Initialize the frame parameter `alpha'. - * xterm.c (OPAQUE, OPACITY): New. - (x_set_frame_alpha): New function. - (frame_highlight, frame_unhighlight): Call x_set_frame_alpha. - - * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha. - * w32fns.c (w32_frame_parm_handlers): Likewise. - -2008-05-20 Jason Rumney - - * w32font.c (add_font_entity_to_list): Don't add non-opentype - truetype fonts to opentype list. - -2008-05-20 Juanma Barranquero - - * fontset.c (Ffontset_info): Doc fix. - (syms_of_fontset) : - : Fix typos in docstrings. - - * font.c (syms-of-font) : - (Ffontp, Ffont_make_gstring): Fix typos in docstrings. - (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font) - (Ffont_otf_alternates): Doc fixes. - -2008-05-20 Kenichi Handa - - * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to - font.h through out the file. - (FONT_DRIVERS): Rename from FONTOBJ. - (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o. - (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS). - - * emacs.c (main): Call syms_of_font unconditionally. - - * font.h (find_font_encoding): Extern it. - - * font.c (Vfont_encoding_alist, find_font_encoding): Move from - fontset.c. - (font_pixel_size) [! HAVE_WINDOW_SYSTEM]: Return 1. - (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts, - FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f) - only when HAVE_WINDOW_SYSTEM is defined. - (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only - when HAVE_WINDOW_SYSTEM is defined. - - * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c. - (syms_of_fontset): Move declaration of font-encoding-alist to font.c. - - * xfaces.c: Include font.h unconditionally. - (merge_face_ref, merge_face_vectors) - (Finternal_set_lisp_face_attribute): Cancel the previous change. - -2008-05-20 Stefan Monnier - - * xdisp.c (select_frame_for_redisplay): Adjust for last change to - indirect_variable. - * eval.c (lisp_indirect_variable): New fun. - (Fuser_variable_p): Use it. - -2008-05-19 Stefan Monnier - - * lisp.h (indirect_variable): - * data.c (indirect_variable, let_shadows_buffer_binding_p): - Use Lisp_Symbol pointers rather than Lisp_Object. - Adjust callers. - * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument. - To this end, change calling-convention. - - * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers - if some non-hidden buffers are selected by string&pred. - -2008-05-19 Chong Yidong - - * process.c (wait_reading_process_output): Always check status - when in batch mode. - -2008-05-19 Kenichi Handa - - * font.c (font_list_entities): Fix handling of cache. - (font_matching_entity): Likewise. - - * ftfont.c (cs_iso8859_1): Delete. - (ft_face_cache): New variable. - (struct ftfont_info): New member fc_charset_idx. - (ftfont_build_basic_charsets): Delete. - (fc_charset_table): New variable. - (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME - . FC_CHARSET_IDX) as :font-entity property in the font entity. - Callers changed. - (ftfont_lookup_cache, ftfont_get_charset): New functions. - (ftfont_spec_pattern): New argument fc_charset_idx. - Check registry more rigidly. Change callers. - (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the - change of :font-entity property of the font. - - * xftfont.c (xftfont_open): Adjust for the change of :font-entity - property of the font. - -2008-05-18 Juanma Barranquero - - * coding.c (Fcoding_system_p): Rename argument to match docstring. - (Funencodable_char_position, Fcheck_coding_systems_region) - (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings. - (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region) - (Ffind_operation_coding_system, Fset_coding_system_priority) - (Fcoding_system_eol_type): Doc fixes. - -2008-05-17 Glenn Morris - - * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY. - -2008-05-16 Eli Zaretskii - - * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid - and st_gid. - - * frame.c (Fdelete_frame): Don't call font_update_drivers if - HAVE_WINDOW_SYSTEM is not defined. - - * xfaces.c (merge_face_ref, merge_face_vectors) - (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when - HAVE_WINDOW_SYSTEM is defined. - (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case. - -2008-05-16 Stefan Monnier - - * keyboard.c (parse_menu_item): Do not cache key shortcut any more. - -2008-05-15 YAMAMOTO Mitsuharu - - * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'. - -2008-05-15 Kenichi Handa - - * font.c (font_find_for_lface): Reflect LFACE_FONT in the font - preference. - -2008-05-15 Glenn Morris - - * emacs.c (USAGE1, standard_args): Remove -disable-font-backend. - -2008-05-15 Chong Yidong - - * fns.c (init_fns): Don't initialize weak_hash_tables here. - (init_weak_hash_tables): New fun. Initialize weak_hash_tables. - - * alloc.c (init_alloc_once): Call init_weak_hash_tables. - -2008-05-15 Kenichi Handa - - * ftfont.c (ftfont_list): Downcase family name to check generic - families. - - * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a - font-spec for QCfont value. - - * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte - buffer. Check the return value of it. - -2008-05-14 Jason Rumney - - * w32term.c (w32_get_glyph_overhangs): Remove. - (w32_redisplay_interface): Use x_get_glyph_overhangs instead. - -2008-05-14 Kenichi Handa - - * font.c (font_prop_validate): Make nil a valid value. - (font_clear_cache): Check if the cached vector of entities is nil - or not. - -2008-05-14 YAMAMOTO Mitsuharu - - * emacs.c (main_thread): Conditionalize on - FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD. - (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it. - - * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define. - (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on - FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD. - -2008-05-14 Kenichi Handa - - * coding.c (detect_coding_iso_2022): Ignore a coding category that - has no corresponding coding system. - -2008-05-14 Jason Rumney - - * font.h (struct font) [WINDOWSNT]: Remove codepage member. - - * w32font.h (w32font_open_internal): Update declaration. - - * w32font.c (w32font_open_internal): Change last argument from - w32font_info struct to font object. Fill in font object from - font_entity. Get Outline metrics if possible. Use them to - calculate underline position and thickness. Use xlfd name as name - property. Don't set codepage. - (w32font_open): Pass font_object to w32font_open_internal. Don't - update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width. - (w32font_draw): Use s->font. - (clear_cached_metrics): Don't clear non-existent blocks. - - * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if - font was not found. - (x_draw_glyph_string): Use underline position and thickness from font. - - * w32uniscribe.c (uniscribe_open): Pass font_object to - w32font_open_internal. - -2008-05-14 Kenichi Handa - - These changes are to delete all legacy font-handling codes, and - make Emacs use only font-backends. - - * Makefile.in: Delete USE_FONT_BACKEND conditionals. - (frame.o, image.o, print.o): Depend on $(FONTSRC). - - * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O). - - * charset.h (Vcharset_non_preferred_head) - (Vcurrent_iso639_language): Extern them. - - * charset.c (Vcharset_non_preferred_head): New variable. - (Vcurrent_iso639_language): New variable. - (syms_of_charset): Declare it as a Lisp variable. - (char_charset): Don't check non preferred charsets. As a last - resort, return charset_unicode. - (Fset_charset_priority): Update Vcharset_non_preferred_head. - - * composite.c: Throughout the file, delete all USE_FONT_BACKEND - conditionals. Don't check enable_font_backend. Delete all codes - used only when USE_FONT_BACKEND is not defined. - - * dispextern.h (struct glyph_string): Change type of `font' to - `struct font *'. - (struct glyph_string): New member underline_position and - underline_thickness. - (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX. - (struct face): Change type of `font' to `struct font *'. Remove - members `font_name', `font_info_id'. - (per_char_metric, encode_char): Delete externs. - (calc_pixel_width_or_height): Adjust the prototype. - - * emacs.c (enable_font_backend): Delete extern. - (main): Don't set enable_font_backend. Don't check the command - line argument "-disable-font-backend". - - * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them. - (enum font_property_index): New members FONT_DPI_INDEX, - FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX, - FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX, - FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX. - (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC) - (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC) - (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE) - (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC) - (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros. - (struct font_spec, struct font_entity): New structs. - (FONT_ENCODING_NOT_DECIDED): 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 initial revision when the - slash was only added when necessary and that can't trigger nowadays. - -2008-04-27 Kenichi Handa - - * font.c (font_prop_validate): Signal `error' instead of `font'. - -2008-04-29 Jason Rumney - - * w32fns.c (Fw32_battery_status): New defun. - (syms_of_w32fns): Defsubr it. - -2008-04-28 Andreas Schwab - - * dired.c (file_name_completion): Fix another mixing of encoded - and decoded names. - -2008-04-28 Juanma Barranquero - - * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring. - -2008-04-27 Juanma Barranquero - - * fringe.c (Fdefine_fringe_bitmap): Doc fix. - -2008-04-27 Andreas Schwab - - * dired.c (file_name_completion): Fix inappropriate mixing of - encoded and decoded names. - - * xterm.c (XTread_socket): Fix use of uninitialized variable. - - * puresize.h (BASE_PURESIZE): Increase to 1200000. - -2008-04-26 Eli Zaretskii - - * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from - 2008-03-31, it's not needed anymore with `struct stat' definition - on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13 - for the same reasons. - -2008-04-25 Dennis Gilmore (tiny change) - - * m/sparc.h: Additional redefinitions for GNU/Linux. - -2008-04-23 YAMAMOTO Mitsuharu - - * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable. - (syms_of_macterm) [USE_MAC_TSM]: Defvar it. - (Qmouse_drag_overlay) [MAC_OSX]: New variable. - (syms_of_macterm) [MAC_OSX]: Intern and staticpro it. - (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars) - (mac_ax_selected_text_range) [MAC_OSX]: New functions. - (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: - Likewise. - - * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern. - (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range) - (mac_ax_number_of_characters): Add externs. - (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars) - [USE_MAC_TSM]: Likewise. - (mac_handle_text_input_event) [MAC_OSX]: - Handle kEventTextInputOffsetToPos for no active input area case. - Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText. - (mac_handle_document_access_event) - [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function. - (install_application_handler) [MAC_OSX]: Register handlers for - kEventTextInputPosToOffset and kEventTextInputGetSelectedText. - (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: - Register mac_handle_document_access_event. - - * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]: - Make functions non-static. - -2008-04-23 Stefan Monnier - - * fileio.c (Vread_file_name_function, Vread_file_name_predicate) - (read_file_name_completion_ignore_case, insert_default_directory) - (Qdefault_directory): Move to minibuffer.el. - (Fread_file_name): Call the new `read-file-name' instead. - -2008-04-23 YAMAMOTO Mitsuharu - - * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]: - Make function non-static. - (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]: - Remove function. - (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]: - Move to mactoolbox.c. - (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function. - - * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef. - (mac_rect_make): New macro. - - * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat - instead of float. - (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise. - (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground) - (XSetBackground) [USE_CG_DRAWING]: Likewise. - (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of - CGRectMake. - (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise. - (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle) - (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise. - (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window - instead of WindowRef in argument type. - (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort. - (mac_invert_rectangle): Use CGContextSetBlendMode if available. - (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F - instead of DISPLAY. All uses changed. - (mac_handle_size_change): Don't call SET_FRAME_GARBAGED. - (x_calc_absolute_position): Simplify so as not to use - FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT. - - * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window - instead of WindowRef in argument type. - (create_apple_event_from_event_ref, create_apple_event_from_drag_ref) - [TARGET_API_MAC_CARBON]: Remove externs. - (create_apple_event, mac_event_parameters_to_lisp) - [TARGET_API_MAC_CARBON]: Add externs. - - * mactoolbox.c (Vmac_ts_script_language_on_focus) - (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs. - (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part - is clicked. - (x_activate_menubar): Remove extern for saved_menu_event_location. - (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]: - Move from mac.c. - -2008-04-23 YAMAMOTO Mitsuharu - - * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc) - [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex. - -2008-04-23 Jason Rumney - - * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get - attributes only for local files. - - * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes - default to Qlocal. - -2008-04-22 Juri Linkov - - * buffer.c (Fswitch_to_buffer): Change interactive spec to call - read-buffer-to-switch instead of using the letter "B". - -2008-04-21 Stefan Monnier - - * fileio.c (Qdefault_directory): New variable. - (Fread_file_name): Use it to pass `dir' to the completion functions. - -2008-04-20 Chong Yidong - - * xdisp.c (pos_visible_p): Check if iterator stops on a display string. - -2008-04-19 Stefan Monnier - - * keyboard.c (Vpre_help_message): Remove. - (show_help_echo): Remove default C code. - - * dired.c (directory_files_internal, file_name_completion): - Only call ENCODE_FILE if the string is indeed decoded. - -2008-04-18 Stefan Monnier - - * Makefile.in (TOOLKIT_DEFINES): Remove. - (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff. - -2008-04-18 YAMAMOTO Mitsuharu - - * Makefile.in (MAC_OBJ): Add mactoolbox.o. - (mactoolbox.o): New target. - - * mac.c [MAC_OSX] (select_and_poll_event, sys_select): - Use mac_run_loop_run_once instead of CFRunLoopRunInMode. - - * macfns.c (x_set_background_color, mac_window, x_create_tip_frame): - Use mac_set_frame_window_background instead of XSetWindowBackground. - (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: - Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible. - (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title - instead of SetWindowTitleWithCFString. - (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT. - Move function to mactoolbox.c. - (mac_update_title_bar) [TARGET_API_MAC_CARBON]: - Use mac_set_window_modified instead of SetWindowModified. - Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon. - (mac_window, x_create_tip_frame): Use mac_create_frame_window. - (Fx_focus_frame): Use mac_front_non_floating_window instead of - FrontNonFloatingWindow. Use mac_activate_window instead of - ActivateWindow. Use mac_active_non_floating_window instead of - ActiveNonFloatingWindow. - (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]: - Use mac_show_hourglass and mac_hide_hourglass. - (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse - instead of GetGlobalMouse. - (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window - instead of MoveWindow/SizeWindow/ShowWindow, respectively. - Use mac_bring_window_to_front instead of BringToFront. - (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to - mactoolbox.c. - (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to - mac_file_dialog in mactoolbox.c. Use mac_file_dialog. - (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to - mactoolbox.c. - - * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h. - (XtPointer): Move typedef from macmenu.c. - (enum button_type): Move enum from macmenu.c. - (widget_value): Move typedef from macmenu.c. - (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID) - (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN) - (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH) - (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE) - (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH) - (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE) - (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN) - (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c. - (Selection): Move typedef from macselect.c. - (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from - macterm.c. - (mac_set_window_title, mac_set_window_modified, mac_is_window_visible) - (mac_is_window_collapsed, mac_bring_window_to_front) - (mac_send_window_behind, mac_hide_window, mac_show_window) - (mac_collapse_window, mac_front_non_floating_window) - (mac_active_non_floating_window, mac_activate_window) - (mac_move_window_structure, mac_move_window, mac_size_window) - (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines. - - * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c. - (enum mac_menu_kind): Move enum to mactoolbox.c. - (min_menu_id): Move variable to mactoolbox.c. - (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise. - (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c. - (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P) - (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID) - [TARGET_API_MAC_CARBON]: Likewise. - (XtPointer): Move typedef to macgui.h. - (enum button_type): Move enum to macgui.h. - (widget_value): Move typedef to macgui.h. - (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN) - (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH) - (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE) - (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH) - (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE) - (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN) - (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h. - (popup_activated_flag): Make variable non-static. - (x_activate_menubar, install_menu_quit_handler, pop_down_menu) - (add_menu_item, fill_menu, dispose_menus): - Move functions to mactoolbox.c. - (restore_show_help_function, menu_target_item_handler) - (install_menu_target_item_handler, mac_handle_dialog_event) - (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog) - [TARGET_API_MAC_CARBON]: Likewise. - (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise. - (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise. - (find_and_call_menu_selection, name_is_separator): Make function - non-static. - (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern - to mactoolbox.c. - (set_frame_menubar): Don't call install_menu_quit_handler. - (menu_item_selection): New variable. - (mac_menu_show): Use create_and_show_popup_menu. - (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return - selection but set variable menu_item_selection. All uses changed. - (mac_fill_menubar): Rename from fill_menubar. All uses changed. - Call install_menu_quit_handler. Move to mactoolbox.c. - - * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h. - (Selection): Move typedef to macgui.h. - (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype) - (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id): - Make variables non-static. - (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise. - (mac_handle_apple_event, cleanup_all_suspended_apple_events): - Make functions non-static. - (Vmac_service_selection) [MAC_OSX]: Likewise. - (mac_get_selection_from_symbol, get_flavor_type_from_symbol) - (mac_valid_selection_target_p, mac_clear_selection) - (mac_get_selection_ownership_info, mac_valid_selection_value_p) - (mac_put_selection_value, mac_selection_has_target_p) - (mac_get_selection_value, mac_get_selection_target_list) - (init_apple_event_handler, install_drag_handler, remove_drag_handler): - Move functions to mactoolbox.c. - (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]: - Likewise. - (copy_scrap_flavor_data, mac_handle_service_event) - (install_service_handler) [MAC_OSX]: Likewise. - (syms_of_macselect) : - Use mac_dnd_default_known_types. - - * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): - Move to mactoolbox.c. - (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15. - (Fx_selection_owner_p): Add EXFUN. - (install_window_handler, remove_window_handler, XSetWindowBackground): - Remove externs. - (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise. - (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise. - (x_raise_frame, x_lower_frame, mac_alert_sound_play) - (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse) - (mac_convert_frame_point_to_global, mac_set_frame_window_background) - (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush) - (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip) - (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar) - (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar) - (create_and_show_popup_menu, mac_get_selection_from_symbol) - (mac_valid_selection_target_p, mac_clear_selection) - (mac_get_selection_ownership_info, mac_valid_selection_value_p) - (mac_put_selection_value, mac_selection_has_target_p) - (mac_get_selection_value, mac_get_selection_target_list): Add externs. - (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass) - (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog) - (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise. - (mac_run_loop_run_once) [MAC_OSX]: Likewise. - (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise. - (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise. - (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise. - (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise. - - * mactoolbox.c: New file. - -2008-04-18 Jason Rumney - - * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned. - -2008-04-18 Stefan Monnier - - * character.c (Fmultibyte_char_to_unibyte): - Return latin1 chars unchanged. - - * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only - relocated if it points to `name'. - -2008-04-17 Kenichi Handa - - * data.c (Faset): Allow setting a multibyte character in an - ASCII-only unibyte string. - - * lisp.h (STRING_SET_MULTIBYTE): New macro. - -2008-04-16 Stefan Monnier - - * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now - done in config.h. - -2008-04-16 Juanma Barranquero - - * character.c (Fchar_bytes, Fchar_width, Fstring_width) - (Fchar_direction): Add usage in the docstring. - -2008-04-15 Chong Yidong - - * keyboard.c (read_key_sequence): Remove always-true checks. - -2008-04-14 Jason Rumney - - * w32font.c (w32font_open_internal): Set max_bounds.descent in - compatibility struct, for better underline positioning. - -2008-04-13 David Hansen - - * dbusbind.c (dbus-get-unique-name): Remove extra copying of name - string. - -2008-04-12 Dan Nicolaescu - - * m/hp800.h (XUINT, XSET): Remove. - -2008-04-12 Juanma Barranquero - - * fileio.c (Fexpand_file_name): Add declaration for `p' missing in - previous change. - -2008-04-12 Stefan Monnier - - * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars. - Relocate `nm' after calling DECODE_FILE, in case the GC was run. - -2008-04-11 Stefan Monnier - - * keymap.h (map_keymap_canonical): Declare. - * xmenu.c (single_keymap_panes): Use it. - -2008-04-11 Glenn Morris - - * eval.c (Fdefvaralias): If the alias is bound and the target is not, - set the target's value to that of the alias. - -2008-04-11 Stefan Monnier - - * term.c (set_tty_color_mode): Left over typo. - -2008-04-10 Michael Albinus - - * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK - only after check for file name handler functions. Signal, when - native functionality is not supported. - (syms_of_fileio): Declare it unconditionally. - -2008-04-10 Jason Rumney - - * w32menu.c (is_simple_dialog, simple_dialog_show): New functions. - (Fx_popup_dialog): Handle simple yes/no questions as dialogs. - - * w32.c (logon_network_drive): Also logon to remote drives that - are mapped to drive letters. - -2008-04-10 Glenn Morris - - * xdisp.c (truncate-partial-width-windows): Doc fix. - -2008-04-10 Stefan Monnier - - * fileio.c (read_file_name_cleanup, Fread_file_name_internal): - Move functions to minibuffer.el. - (syms_of_fileio): Don't declare them. - -2008-04-09 Stefan Monnier - - * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el. - (syms_of_minibuf): Remove its initialization. - - * minibuf.c (temp_echo_area_glyphs): Remove unused function. - -2008-04-09 Juanma Barranquero - - * editfns.c (Ffield_string_no_properties): Fix typo in docstring. - -2008-04-09 Jason Rumney - - * makefile.w32-in (distclean): Delete makefile too. - (maintainer-clean): New target. - - * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change. - - * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs - for new font backend and composite cases. - -2008-04-09 Jan Djärv - - * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT. - Most of the code moved to run_timers. - (do_pending_atimers): Call run_timers. - (run_timers): New function. - - * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers, - run atimers. - - * process.c (wait_reading_process_output): The same as above. - -2008-04-09 Stefan Monnier - - * minibuf.c (last_exact_completion): Remove variable. - (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete) - (complete_and_exit_1, complete_and_exit_2) - (Fminibuffer_complete_and_exit, Fminibuffer_complete_word) - (Fdisplay_completion_list, display_completion_list_1) - (Fminibuffer_completion_help, Fself_insert_and_exit) - (Fexit_minibuffer, Fminibuffer_message): Move functions to - minibuffer.el. - (syms_of_minibuf): Remove corresponding initializations. - - * keyboard.c (Qdeactivate_mark): New var. - (command_loop_1): Use it to call `deactivate-mark'. - (syms_of_keyboard): Initialize it. - - * xdisp.c (redisplay_internal): Reset tty's color_mode when switching - to another frame. - * frame.c (do_switch_frame): Refine the top_frame/async_visible code. - Don't call set_tty_color_mode. - (store_frame_param): Reset previous_frame rather than call - set_tty_color_mode. - * term.c (set_tty_color_mode): Rewrite. - * dispextern.h (set_tty_color_mode): New type. - * termchar.h (struct tty_display_info): Add `previous_color_mode'. - -2008-04-08 Stefan Monnier - - * keymap.c (access_keymap): Remove the value 2 for t_ok which was used - for generic chars, which do not exist any more in emacs-unicode. - -2008-04-08 Michael Albinus - - * coding.c (detect_coding_emacs_mule) - (Ffind_operation_coding_system): Fix typo. - -2008-04-08 Jason Rumney - - * w32uniscribe.c (SNAME): Extract only symbol name. - - * w32font.h (struct w32_metric_cache): New struct. - (w32font_info): Use it. - (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL) - (CACHE_BLOCKSIZE): New constants. - - * w32font.c (Qja, Qko, Qzh): New symbols. - (syms_of_w32font): Initialise them. - (font_matches_spec): Use them to filter by language. - (recompute_cached_metrics): Remove function. - (compute_metrics, clear_cached_metrics): New functions. - (w32font_encode_char): Use them to manage metric cache. - (w32font_text_extents): Cache metrics for all glyphs on demand. - Delay converting glyph indices to WORD until needed. - (w32font_open_internal): Initialize metric cache to empty. - (registry_to_w32_charset): Charset should always be a symbol. - (fill_in_logfont, list_all_matching_fonts): Family should - always be a symbol. - -2008-04-06 Jason Rumney - - * w32uniscribe.c (uniscribe_shape): Increase items buffer size. - Give up if glyph indices not supported. Use uniscribe obtained - ABC widths for individual metrics. Map glyph clusters back to - characters using fClusterStart flag. Return number of glyphs - produced, not chars processed. - (uniscribe_shape): Map char at FROM to current glyph. - -2008-04-05 YAMAMOTO Mitsuharu - - * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]: - Use SetMenuItemHierarchicalMenu. - -2008-04-05 Jason Rumney - - * image.c (pbm_load): Allow color values up to 65535. - Throw an error if max_color_idx is outside the supported range. - Report an error when image size is invalid. - Read two bytes at a time when raw images have max_color_idx above 255. - -2008-04-05 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 Krishnamurthy (tiny change) - - * sound.c (alsa_configure): Declare vol at beginning of block. - - * fontset.c (Ffontset_info): Remove extra semicolon. - -2008-03-10 Stefan Monnier - - * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum - size of resulting string. - -2008-03-10 Jason Rumney - - * dispnew.c (adjust_glyph_matrix): Initialize window_height. - -2008-03-10 YAMAMOTO Mitsuharu - - * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes. - Don't pretend as if characters with display property haven't been - consumed for string-replacing-string case. - -2008-03-08 Kim F. Storm - - * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro. - (get_next_display_element, next_element_from_string) - (next_element_from_ellipsis, next_element_from_buffer): Use it. - -2008-03-08 Andreas Schwab - - * process.h (struct Lisp_Process): Declare bit fields as unsigned. - -2008-03-06 Jason Rumney - - * w32font.c (w32_registry): Take font_type argument. Use ANSI - when charset not specified. Only translate ANSI to unicode when - font_type is truetype. - (w32font_coverage_ok): New function. - (add_font_entity_to_list): Use it to filter unsuitable fonts. - -2008-03-05 Kenichi Handa - - * lread.c (Fread_char): Resolve modifiers. - (Fread_char_exclusive): Likewise. - - * character.c (char_resolve_modifier_mask): New function. - (char_string): Use char_resolve_modifier_mask. - (Fchar_resolve_modifiers): New function. - (syms_of_character): Declare Fchar_resolve_modifiers as Lisp - function. - -2008-03-04 Jason Rumney - - * makefile.w32-in: Always include w32font.c in the build. - * w32font.c: Wrap in USE_FONT_BACKEND conditional. - -2008-03-04 Andreas Schwab - - * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*. - (versionclean): Likewise. - -2008-03-04 Juanma Barranquero - - * .cvsignore: Add oo. - -2008-03-03 Andreas Schwab - - * coding.c (decode_coding_object): Inhibit gap shrinking while - decoding in place. - -2008-03-03 Dan Nicolaescu - - * w32term.c: Remove unused include "gnu.h". - * makefile.w32-in (w32term.o): Don't depend on gnu.h. - - * gnu.h: Rename to ... - * emacs-icon.h: ... this. - * xterm.c: Use emacs-icon.h instead of gnu.h. - * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h. - -2008-03-03 Juanma Barranquero - - * w32font.c: Include math.h. - -2008-03-03 Jason Rumney - - * w32font.c (recompute_cached_metrics): Change font arg to w32font_info. - Compute options separately. - (w32font_open_internal): Set glyph_idx before caching metrics. - - * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1): - Define if system headers don't. - (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx. - (w32font_encode_char): Don't declare here. - - * w32font.c (Quniscribe, QCformat): New symbols. - (syms_of_w32font): Define them. - (w32font_has_char): Indicate uncertainty. - (w32font_encode_char): Encode as glyph point. Make static. - (recompute_cached_metrics): New function. - (w32font_open_internal): Use it. Set font to use glyph points - initially. Set format based on type of font. - (w32font_text_extents, w32font_draw): Optionally use glyph points. - (w32_enumfont_pattern_entity): Accept backend arg. Set type based - on it. Set format based on information available here. - (add_font_entity_to_list): Identify backend based on opentype_only. - -2008-03-02 Andreas Schwab - - * ftfont.c (ftfont_pattern_entity): Fix aliasing violations. - - * coding.c (decode_coding_big5, produce_chars): - Fix typos in last change. - -2008-03-02 Kentaro Ohkouchi - - * gnu.h: New icon. - -2008-03-02 Kenichi Handa - - * coding.c (decode_coding_utf_8): When eol-type of CODING is - `dos', don't decode '\r' if that is the last in the source. - (decode_coding_utf_16, decode_coding_emacs_mule) - (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5) - (decode_coding_raw_text, decode_coding_charset): Likewise. - (produce_chars): Don't decode EOL here. Use EMACS_INT. - -2008-03-01 Jason Rumney - - * w32font.c (w32font_full_name): Report point size for scalable fonts. - -2008-03-01 Kim F. Storm - - * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face. - -2008-03-01 Jason Rumney - - * w32font.c (w32font_full_name): New function. - (w32font_open_internal): Use it. - -2008-03-01 Kim F. Storm - - * dispnew.c (line_draw_cost): Fix invalid glyph check. - -2008-03-01 Jason Rumney - - * font.c (font_unparse_fcname): Increase len when style is a symbol. - -2008-03-01 Jan Djärv - - * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call - xg_frame_resized when the event is for the edit widget. - - * gtkutil.h (xg_frame_resized): 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_Object mixups. - - * composite.h (Fcompose_region_internal, Fcompose_string_internal): - Declare. - - * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement. - -2008-02-05 Jason Rumney - - * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth. - Set smallest_font_height and smallest_char_width in display info. - -2008-02-05 Kenichi Handa - - * coding.c (decode_eol): Pay attention to coding->dst_multibyte. - -2008-02-05 Miles Bader - - * xfaces.c (get_lface_attributes, merge_named_face) - (lookup_named_face, lookup_derived_face, realize_named_face): - Revert 2008-02-01 change by cyd@stupidchicken.com. - -2008-02-04 Kenichi Handa - - * fontset.c (Ffontset_info): Handle the case of inhibitting the - fallback fonts. - (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names. - -2008-02-04 Jason Rumney - - * w32font.c (w32font_open_internal): Use font_unparse_fcname to - set full_name. - (w32font_open_internal): Use xmalloc, xrealloc, xfree. - -2008-02-03 Jason Rumney - - * makefile.w32-in (OBJ1): Include font.o here. - (FONTOBJ) [USE_FONTBACKEND]: Instead of here. - -2008-02-02 Jason Rumney - - * makefile.w32-in (temacs): Bump EMHEAP to 21. - -2008-02-01 Jason Rumney - - * s/cygwin.h: Define VIRT_ADDR_VARIES. - - * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition. - -2008-02-01 Andreas Schwab - - * Makefile.in (shortlisp, lisp): Update for rename of - ../lisp/language/myanmar.el. - -2008-02-01 Chong Yidong - - * xfaces.c (get_lface_attributes): Delete function. - (merge_named_face, lookup_named_face, lookup_derived_face) - (realize_named_face): Call lface_from_face_name directly, and use - the fact that merge_face_vectors does not alter its FROM argument. - -2008-02-01 Jason Rumney - - * w32term.c (w32_read_socket) : Decode non-Unicode - input in the default locale. Handle non-Unicode multibyte input. - -2008-02-01 Kenichi Handa - - * fontset.c (reorder_font_vector): Exclude nil elements from the - font group. Don't try multiple fonts. - (fontset_font): Adjust for the above change. - (Finternal_char_font): Return nil if the found font doesn't - contain the character ch. - - * Makefile.in (lisp, shortlisp): Add cham.el. - -2008-02-01 Kenichi Handa - - * font.h (FONTP): Make it return 1 also for a font-object. - - * .gdbinit (xfontset): New function. - - * font.c (font_find_for_lface): Check if the character C is - supported or not only for the first font. - - * fontset.c (reorder_font_vector): Fix typo. - (fontset_find_font): Don't add a font-spec specifying a script. - Use 0 (not Qt) for the indication of empty font-group. Change the - format of RFONT-DEF. Return Qt if no font in the font-group - support the character. - (fontset_font): Adjust for the above change. If no font was - found the character, remember that. - (face_for_char): Adjust for the change of RFONT-DEF. - (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify - no font for the target. - (Finternal_char_font): Adjust for the change of RFONT-DEF. - -2008-02-01 Kenichi Handa - - * font.c (font_load_for_face): Handle the case that the font in - face->lface is a string. - -2008-02-01 Kenichi Handa - - * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface. - -2008-02-01 Kenichi Handa - - * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: - Fix previous change. If the frame is not on a window system, - signal an error. - -2008-02-01 Kenichi Handa - - * coding.c (decode_coding_object, encode_coding_object): Adjust - marker positions after conversion. - - * lisp.h (struct Lisp_Marker): New member need_adjustment. - -2008-02-01 Kenichi Handa - - * font.c (font_find_for_lface): Fix the handling of the return - value of font_has_char. - (Ffont_shape_text): Fix previous change. - - * fontset.c (FONTSET_REF_AND_RANGE): Delete it. - (fontset_ref_and_range): Delete it. - (fontset_find_font): Call char_table_ref_and_range instead of - FONTSET_REF_AND_RANGE. - (make_fontset): Don't setup font groups of Latin here. - (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII. - (new_fontset_from_font): Make the specified font the default for - all Latin characters. - -2008-02-01 Kenichi Handa - - * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame - is on a window system before accessing the fontset of the frame. - -2008-02-01 Kenichi Handa - - * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el. - - * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only - when both HAVE_M17N_FLT and HAVE_LIBOTF are defined. - - * font.c (Ffont_shape_text): If the font driver doesn't have a - shaper function, make zero-width glyphs to have at least one-pixel - width. Fix setting of `to' field of glyphs. - -2008-02-01 Kenichi Handa - - * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of - glyphs. - - * font.h (struct font_driver): Improve docstring of member `shape'. - -2008-02-01 Kenichi Handa - - * composite.c (syms_of_composite): Fix docstring of - auto-composition-function. - - * font.h (LGLYPH_SIZE): New macro. - - * font.c (Ffont_fill_gstring): Stop filling when a character not - supported by the font is found. - (Ffont_shape_text): When a shape callback function returns nil, - try at most two more times with larger gstring. - (Ffont_at): Fix getting of w. Call font_at with correct 5th argument. - - * xdisp.c (handle_auto_composed_prop): Change the argument to - auto-composition-function. - - * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE. - (ftfont_shape_by_flt): If an element of lgstring is nil, make a - Lispy glyph and store it in the lgstring. - - * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE. - - * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE. - -2008-02-01 Kenichi Handa - - * font.c (Ffont_shape_text): Avoid unnecessary composition. - - * fontset.c (Vfont_encoding_charset_alist): New variable. - (syms_of_fontset): DEFVAR it. - (reorder_font_vector, fontset_find_font): Optimize for the case of - no need of reordering. - (face_for_char): Map the charset property by - Vfont_encoding_charset_alist. - -2008-02-01 Jason Rumney - - * w32font.c (logfonts_match): Don't check adstyle here. - (font_matches_spec): Check here against physical font instead. - (add_font_entity_to_list): Avoid some substitutions. - - * font.c (font_parse_fcname): Default weight and slant to normal. - (font_score): Prefer normal fonts if weight or slant unspecified. - (font_score) [WINDOWSNT]: Scale weight difference down to closer - match freetype scores. - -2008-02-01 Jason Rumney - - * w32font.c (w32font_text_extents): Don't use the frame stored in the - font, as it may have been deleted. - (w32_enumfont_pattern_entity): Map generic family to adstyle using - most common hyphenless variation. - (logfonts_match): Check generic family. - (font_matches_spec): Don't check generic family here. - (fill_in_logfont): Set generic family based on adstyle. - - * w32font.h (w32font_get_cache): Update declaration. - -2008-02-01 Kenichi Handa - - * ftfont.c (ftfont_get_cache): Adjust the argument type. - - * frame.c (x_set_font_backend): Don't call Fclear_font_cache. - If none of the new drivers are available, call font_update_drivers - with the old drivers. - - * w32font.c (w32font_get_cache): Adjust the argument type. - - * xfont.c (xfont_get_cache): Adjust the argument type. - - * font.h (struct font_driver): Change argument type of get_cache. - - * xftfont.c (xftfont_start_for_frame): Delete prototype. - - * font.c (Ffont_get): Fix arguments to Fassoc. - (font_prepare_cache, font_finish_cache, font_get_cache): New functions. - (font_clear_cache): New function. - (font_list_entities, font_matching_entity): Use font_get_cache. - (font_update_drivers): Call font_clear_cache when finishing a driver. - - * fontset.c (fontset_find_font): Fix previous change. - -2008-02-01 Kenichi Handa - - * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access - dpyinfo->font_table. - (x_delete_display) [USE_FONT_BACKEND]: Likewise. - (x_delete_terminal) [USE_FONT_BACKEND]: Likewise. - - * font.c (font_at): Handle the case that the arg C is negative. - Handle the unibyte case. - (Ffont_at): Call font_at with the arg C -1. - - * xdisp.c (handle_auto_composed_prop): Don't get a character at - the position here, and call font_at with the arg C -1. - Don't check the range of the existing composition at the point. - -2008-02-01 Kenichi Handa - - * fontset.c (fontset_add): New args charset_id and family. - Change caller. - (load_font_get_repertory, fontset_find_font): Assume that - font_spec is always a font-spec object. - (Fset_fontset_font): Always store a font-spec object in a fontset. - - * xdisp.c (handle_auto_composed_prop): Use Fget_text_property - instead of get_property_and_range. - -2008-02-01 Kenichi Handa - - * xftfont.c (struct xftfont_info): Delete the member ft_face. - (xftfont_open): Don't keep locking face. - (xftfont_close): Don't unlock face. - (xftfont_anchor_point, xftfont_shape): Lock and unlock face. - - * fontset.c (fontset_find_font): Don't prefer a font of - supplementary charset. - -2008-02-01 Kenichi Handa - - * ftfont.c (struct OpenTypeSpec): Rename members script_tag to - script, langsys_tag to langsys, new member script. - (OTF_TAG_STR): Terminate by '\0'. - (ftfont_get_open_type_spec): If :otf prop is spec, limit the - listing to the script specified in that property. Fix arg to - OTF_check_features. - -2008-02-01 Jason Rumney - - * w32font.h: New file. - - * w32font.c: Include it. - (struct w32font_info): Add owning_frame field. Move to w32font.h. - (w32font_open): Set owning_frame. - (w32font_text_extents): Use owning_frame. - (struct font_callback_data): Add opentype_only field. - (add_font_entity_to_list): Use it to filter fonts. - Don't check against full name. - (w32font_list_internal): New function. - (w32font_list): Use it. - (w32font_match_internal): New function. - (w32font_match): Use it. - (w32font_open_internal): New function. - (w32font_open): Use it. - (w32font_get_cache, w32font_close, w32font_has_char) - (w32font_encode_char, w32font_text_extents, w32font_draw): - Make non-static. - - * makefile.w32-in (w32font.o): Depend on w32font.h. - -2008-02-01 Kenichi Handa - - * charset.c (Fdefine_charset_internal): Record a supplementary - charset at the tail of Vcharset_order_list. - - * font.c (Ffont_shape_text): Fix the return value. - - * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names. - - * xdisp.c (handle_auto_composed_prop): Fix previous change. - -2008-02-01 Kenichi Handa - - * ftfont.c (struct OpenTypeSpec): New struct. - (OTF_SYM_TAG, OTF_TAG_STR): New macros. - (ftfont_get_open_type_spec): New function. - (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property. - - * lread.c (read1): Redo the previous change with checking Vpurify_flag. - -2008-02-01 Jason Rumney - - * w32font.c (add_font_entity_to_list): Compare only the beginning - of full name. - -2008-02-01 Kenichi Handa - - * xdisp.c (handle_auto_composed_prop): Simplify the code. - Never return HANDLED_RECOMPUTE_PROPS. - -2008-02-01 Kenichi Handa - - * font.c (font_gstring_produce): Delete it. - - * composite.h (COMPOSITION_METHOD): - Handle COMPOSITION_WITH_GLYPH_STRING. - -2008-02-01 Kenichi Handa - - * xfont.c (Qx): Delete. - (syms_of_xfont): Don't initialize Qx. - - * composite.h (enum composition_method): - Define COMPOSITION_WITH_GLYPH_STRING unconditionally. - -2008-02-01 Kenichi Handa - - * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally. - (choose_face_font): Accept new form of font-spec. - - * frame.h (font_driver_list): Declare it unconditionally. - (struct frame): Define members font_driver_list and font_data_list - unconditionally. - - * fontset.c: Include "font.h" unconditionally. - (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd. - (Fset_fontset_font): Accept a font-spec object. - - * font.c (font_unparse_xlfd): If pixel_size is zero, make the - PIXEL_SIZE part a wild card. - - * dispextern.h (struct glyph_string): Define members clip and - num_clips unconditionally. - (struct face): Define members font_info and extra unconditionally. - - * ftfont.c (ftfont_open): Set members maybe_otf and otf of - ftfont_info only when HAVE_LIBOTF is defined. - -2008-02-01 Andreas Schwab - - * xdisp.c (back_to_previous_visible_line_start): Fix type of beg - and end. - -2008-02-01 Jason Rumney - - * w32font.c (w32font_driver): Add new fields. - -2008-02-01 Kenichi Handa - - * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@. - (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally. - (LIBES): Add @M17N_FLT_CFLAGS@. - - * composite.c (compose_text): Don't treat the new style - composition specially. - - * emacs.c (main): Call syms_of_font unconditionally. - - * font.h (FONT_ENTITY_NOT_LOADABLE) - (FONT_ENTITY_SET_NOT_LOADABLE): New macros. - (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring. - (struct font_driver): New member shape. - (font_registry_charsets): Extern it. - (font_find_for_lface, font_prepare_composition): Adjust prototype. - (font_otf_capability, font_drive_otf): Delete their externs. - - * font.c [HAVE_M17N_FLT]: Include . - (font_charset_alist, font_registry_charsets): Move from xfont.c - and rename. - (font_prop_validate_otf): New function. - (font_property_table): Register it for QCotf. - (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER) - (font_drive_otf): Delete. - (font_prepare_composition): New arg F. Adjust for the change of - lispy gstring. - (font_find_for_lface): New arg C. - (font_load_for_face): Adjust for the change of font_find_for_lface. - (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of - lispy gstring. - (Ffont_shape_text): New function. - (Fopen_font): If the font size is not given, use 12-pixel. - (Ffont_at): New arg STRING. - (syms_of_font): Initialize font_charset_alist. - Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont - conditionally. - - * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple - fonts of the same font-spec. Change the format of RFONT-DEF. - (face_for_char, make_fontset_for_ascii_face, Finternal_char_font): - Adjust for the change of RFONT-DEF. - (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec. - - * ftfont.h: New file. - - * ftfont.c: Don't include Freetype headers. Include "ftfont.h". - (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf. - (ftfont_open) [HAVE_LIBOTF]: Initialize the above members. - (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set - font_otf_capability and font_drive_otf, set ftfont_shape. - (ftfont_list): Adjust for the change of :otf property value. - (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct. - (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf) - (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt) - (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function. - (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro. - (otf_gstring, gstring, m17n_flt_initialized): New variables. - - * w32term.c (x_draw_composite_glyph_string_foreground): - Adjust for the change of lispy gstring. - - * xdisp.c (handle_composition_prop): Adjust for the change of - lispy gstring. Call a function for auto-composition with the - third arg it->window. - (fill_composite_glyph_string): Adjust for the change of lispy string. - (x_produce_glyphs): Adjust for the change of font_prepare_compositionl. - - * xfaces.c (set_font_frame_param): Adjust for the change of - font_find_for_lface. - - * xfont.c (x_font_charset_alist): Move to font.c and rename. - (xfont_registry_charsets): Likewise. Change caller. - (syms_of_xfont): Don't handle x_font_charset_alist. - - * xftfont.c: Include "ftfont.h". - (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf. - (xftfont_open) [HAVE_LIBOTF]: Initialize the above members. - (xftfont_close) [HAVE_LIBOTF]: Close otf. - (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function. - (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]: - Set xftfont_driver.shape to xftfont_shape. - - * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for - the change of lispy gstring. - -2008-02-01 Kenichi Handa - - * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error. - -2008-02-01 Jason Rumney - - * w32font.c (w32font_draw): Fill background manually. - -2008-02-01 Jason Rumney - - * font.c (Qfontp): Remove unused symbol. - (QCantialias): New symbol. - (syms_of_font): Define it. - (font_property_table): Set a validator for QCantialias. - - * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY): - Define if not already. - (QCfamily): Share with xfaces.c. - (Qstandard, Qsubpixel, Qnatural): New symbols. - (syms_of_w32font): Define them. Don't define QCfamily here. - (w32_antialias_type, lispy_antialias_type): New functions. - (w32_enumfont_pattern_entity): New arg requested_font. - Set antialias parameter if non-default was requested. - (fill_in_logfont): Fill in lfQuality if :antialias specified. - -2008-02-01 Kenichi Handa - - * lread.c (read1): Undo the previous change. - -2008-02-01 CHENG Gao (tiny change) - - * frame.c (Fdelete_frame): Call font_update_drivers only when - USE_FONT_BACKEND is defined. - -2008-02-01 Kenichi Handa - - * font.h (struct font_bitmap): New member bits_per_pixel. - (struct font_driver): New members start_for_frame and end_for_frame. - (struct font_data_list): New struct. - (font_put_frame_data, font_get_frame_data): Extern them. - - * frame.h (struct frame): New member font_data_list. - - * font.c (font_update_drivers): Call driver->start_for_frame and - driver->end_for_frame at proper timings. - (font_put_frame_data, font_get_frame_data): New functions. - (Ffont_spec): Add usage in the docstring. - - * frame.c (make_frame): Initialize f->font_data_list to NULL. - (Fdelete_frame): Call font_update_drivers. - - * xftfont.c (struct xftface_info): Delete the member xft_draw. - (xftfont_prepare_face, xftfont_done_face): Adjust for the above change. - (xftfont_get_xft_draw): New function. - (xftfont_draw): Get XftDraw by xftfont_get_xft_draw. - (xftfont_end_for_frame): New function. - (syms_of_xftfont): Set xftfont_driver.end_for_frame. - - * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs. - Change argument. Cache GCs in the per-frame data. - (struct ftxfont_frame_data): New struct. - (ftxfont_draw_bitmap): New arg gc_fore and flush. - (ftxfont_prepare_face, ftxfont_done_face): Delete them. - (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs. - (ftxfont_end_for_frame): New function. - (syms_of_ftxfont): Set ftxfont_driver.end_for_frame. - - * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel. - -2008-02-01 Kenichi Handa - - * xselect.c (Vselection_coding_system) - (Vnext_selection_coding_system): Delete them. - (syms_of_xselect): Don't declare selection-coding-system and - next-selection-coding-system. They are declared in select.el. - -2008-02-01 Jason Rumney - - * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already. - - * w32fns.c: Include imm.h. - (get_composition_string_fn, get_ime_context_fn): New optional - system functions. - (globals_of_w32fns): Load them from imm32.dll. - (ignore_ime_char): New flag. - (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and - WM_IME_ENDCOMPOSITION messages. - - * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as - MULTIBYTE_CHAR_KEYSTROKE_EVENT. - -2008-02-01 Kenichi Handa - - * lread.c (READCHAR): Call readchar with the 2nd arg NULL. - (READCHAR_REPORT_MULTIBYTE): New macro. - (readchar): New 2nd arg MULTIBYTE. - (read1): Use READCHAR_REPORT_MULTIBYTE for the first read. - Make symbol's name multibyte according to the multibyteness of the - source. - -2008-02-01 Kenichi Handa - - * xfaces.c (face_for_overlay_string): Call lookup_face with - correct arguments (fix of synching with the trunk). - -2008-02-01 Kenichi Handa - - * font.c (font_prop_validate_symbol, font_prop_validate_style) - (font_prop_validate_non_neg, font_prop_validate_spacing): - Delete argument prop_index. - (font_property_table): Change arguments to validater. Change Callers. - (font_lispy_object): Delete. - (font_at): Use font_find_object instead fo font_lispy_object. - -2008-02-01 Kenichi Handa - - * fileio.c (Fexpand_file_name): Adjust multibyteness of directory - and file names. - -2008-02-01 Jason Rumney - - * w32font.c (add_font_name_to_list): Avoid vertical fonts. - (font_matches_spec): Remove debug output. - (add_font_entity_to_list): Avoid using substituted fonts. - -2008-02-01 Jason Rumney - - * doc.c (Fsnarf_documentation): - * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change. - -2008-02-01 Miles Bader - - * dispextern.h (struct glyph_row): Only define "clip" field if - HAVE_WINDOW_SYSTEM is defined. - -2008-02-01 Stefan Monnier - - Fix up multi-tty merge. - - * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting - and indentation. - - * xfaces.c (free_realized_face, clear_face_gcs): - Include font_done_for_face in the input_blocked section, just in case. - - * xdisp.c (decode_mode_spec): Use terminal-local coding systems. - (get_char_face_and_encoding): Undo last change and remove the *other* - duplicate definition (i.e. keep the one that's better scoped and that - includes code for the font-backend). - - * terminal.c (create_terminal): Default keyboard_coding to - `no-conversion' and terminal_coding to `undecided'. - - * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag. - - * fontset.c (free_realized_fontsets): Check that the table entry does - contain a fontset before trying to compare it to `base'. - - * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc, - syms_of_charset, and syms_of_coding earlier because init_window_once - now needs Vcoding_system_hash_table to be setup. - - * coding.h (default_buffer_file_coding): Remove. - - * coding.c (default_buffer_file_coding): Remove. - (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather - than ->symbol, and use the terminal-local coding system. - (syms_of_coding): Don't setup the coding-systems that are not - terminal-local. - (Fdefine_coding_system_internal): Use XCAR/XCDR. - - * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table): - Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore. - - * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now - in chartab.c and were re-added here by mistake. - (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector. - - * doc.c (Fsnarf_documentation): - * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from - src to etc. - - * ChangeLog.10: Add mistakenly removed entry. - -2008-02-01 Dan Nicolaescu - - * Makefile.in (fringe.o, minibuf.o): Fix dependencies. - -2008-02-01 Miles Bader - - * xdisp.c (get_char_face_and_encoding): Remove extraneous definition. - Add extra args to FACE_FOR_CHAR. - -2008-02-01 Kenichi Handa - - * keymap.c (where_is_internal_1): If key is a cons, store the copy - in sequence. - - * chartab.c (map_sub_char_table, map_char_table): If the range - contains just one character, call the function with that character - even if the depth is not 3. - -2008-02-01 Jason Rumney - - * w32font.c (w32font_text_extents): Calculate metrics for the - whole string. - -2008-02-01 Jason Rumney - - * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages. - -2008-02-01 Jason Rumney - - * w32term.c (x_set_glyph_string_clipping): Use - get_glyph_string_clip_rects. - (x_set_glyph_string_clipping_exactly, x_draw_glyph_string): - Adjust for the change of struct glyph_string. - - * w32font.c (w32font_draw): Do clipping here. - -2008-02-01 Kenichi Handa - - * xftfont.c (xftfont_draw): Adjust for the change of struct - glyph_string. - - * xterm.c (x_set_glyph_string_clipping): Use - get_glyph_string_clip_rects. - (x_set_glyph_string_clipping_exactly, x_draw_glyph_string): - Adjust for the change of struct glyph_string. - - * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to - the resulting clip(s}. - (expose_overlaps): Add arg r. Change callers. Set it to - row->clip temporarily. - (expose_window): Redraw rows overlapping the exposed area. - - * dispextern.h (struct glyph_row): New member clip. - (struct glyph_string): Delete members clip_x, clip_y, clip_width, - clip_height, new member clip, and num_clips. - -2008-02-01 Kenichi Handa - - * data.c (Fchar_or_string_p): Fix docstring. - -2008-02-01 Kenichi Handa - - * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info, - create a temporary XftDraw object. - -2008-02-01 Kenichi Handa - - * font.c (Ffontp): Fix docstring. - - * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a - strong evidence of ISO-2022. - -2008-02-01 Kenichi Handa - - * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not - SYNTAX_ENTRY_FOLLOW_PARENT. - -2008-02-01 Stefan Monnier - - * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change - its type. - (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns): - Update to the new type of weak_hash_tables and next_weak. - - * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to - a plain C pointer to Lisp_Hash_Table. - - * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP) - (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP) - (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP) - (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP) - (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP) - (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP) - (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP) - (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP) - (GC_EQ): Remove since they've been identical to their non-GC_ - alter-egos ever since the markbit was eradicated. - - * alloc.c: - * buffer.c: - * buffer.h: - * data.c: - * fileio.c: - * filelock.c: - * fns.c: - * frame.h: - * lisp.h: - * macterm.c: - * print.c: - * process.c: - * w32fns.c: - * w32menu.c: - * w32term.c: - * xfns.c: - * xmenu.c: - * xterm.c: Replace uses of GC_* macros with the non-GC_ versions. - -2008-02-01 Kenichi Handa - - * chartab.c (map_sub_char_table): Make it work for the top-level - char-table. Fix handling of parent char-table. - (map_char_table): Adjust for the above change. - -2008-02-01 Jason Rumney - - * w32font.c (Qgdi): Rename from Qw32. - -2008-02-01 Jason Rumney - - * w32bdf.c (get_quoted_string): Make function static. - -2008-02-01 Kenichi Handa - - * xftfont.c (xftfont_open): If one of font's ASCII glyph has - bigger ascent and descent than those of the font, use them as - font's ascent and descent. - -2008-02-01 Kenichi Handa - - * Makefile.in (${lispsource}international/charprop.el): Move this - target within "#ifdef HAVE_UNIDATA" and "#endif". - -2008-02-01 Kenichi Handa - - * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el. - (shortlisp): Add ../lisp/language/tai-viet.el. - -2008-02-01 Ulrich Mueller - - * Makefile.in (${lispsource}international/charprop.el): Depend on - temacs${EXEEXT}. - -2008-02-01 Jason Rumney - - * w32font.c (w32font_close): Delete the GDI font object. - - * w32menu.c: Include character.h. - - * w32proc.c: Likewise. - - * w32select.c: Likewise. - - * makefile.w32-in (w32proc.o): Depend on character.h. - -2008-02-01 Jason Rumney - - * w32fns.c (syms_of_w32fns): Use DEFSYM macro. - - * w32menu.c (syms_of_w32menu): Likewise. - - * w32proc.c (syms_of_ntproc): Likewise. - - * w32select.c (syms_of_w32select): Likewise. - - * w32term.c (syms_of_w32term): Likewise. - -2008-02-01 Jason Rumney - - * w32font.c (w32font_draw): Delete brush after using it. - -2008-02-01 Jason Rumney - - * w32font.c (w32font_open): Don't set font_idx. - (w32font_text_extents): Try GetTextExtentPoint32W before defaulting - to font settings. - (w32font_draw): Fill background explicitly. - -2008-02-01 Jason Rumney - - * w32term.c (w32_initialize): Don't call w32font_initialize. - - * w32font.c (w32font_info): Remove subranges. - (QCsubranges, Qmodern, Qswiss, Qroman): Remove. - (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif) - (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian) - (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali) - (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada) - (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian) - (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham) - (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan) - (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun) - (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical): - New symbols. - (font_callback_data): New struct. - (w32font_list, w32font_match): Use it. - (w32font_open): Don't populate subranges. - (w32font_has_char): Use script Lisp symbols, not subrange bitmask. - (w32font_encode_char): Always return unicode code-point as-is. - (w32font_text_extents): Supply a transformation matrix to - GetGlyphOutline. Never look up by glyph index. Avoid looping - twice. Use unicode version of GetTexExtentPoint32 instead of - glyph index version. - (set_fonts_frame): Remove. - (w32_enumfont_pattern_entity): Add frame parameter, use it to - set frame parameter. Use backward compatible fake foundries. - Save generic family in extra slot under QCfamily. Make width slot - constant. Save QCspacing value. Save list of scripts instead of - binary subranges. - (w32_generic_family, logfonts_match, font_matches_spec): New functions. - (add_font_entity_to_list): Use font_callback_data struct. Filter - unwanted fonts. - (add_one_font_entity_to_list): Use font_callback_data struct. - (w32_registry): Default to iso10646_1. - (fill_in_logfont): Use dpi from extra slot. Don't bother with - string font registries. Don't fill in font name if it is a generic - family name, fill family instead. Use spacing, family and script - extra info to fill pitch, family and charset fields. - (list_all_matching_fonts): Use font_callback_data struct. - (unicode_range_for_char): Remove. - (font_supported_scripts): New function. - (w32font_initialize): Remove. - (syms_of_w32font): Update which symbols are defined. - -2008-02-01 Jason Rumney - - * font.c (font_pixel_size): Reverse assq_no_quit args. - - * w32term.h (FONT_WIDTH): Report max width, not average. - (FONT_MAX_WIDTH): Remove. - (FONT_AVG_WIDTH): New macro. - - * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only - redefinition of FONT_WIDTH. - - * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH. - (w32_cache_char_metrics): Use FONT_WIDTH. - - * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH. - -2008-02-01 Jason Rumney - - * w32font.c (w32font_open): Make lfHeight negative. - - * w32fns.c (x_default_font_parameter): Use new style font name. - (Fx_create_frame, x_create_tip_frame): Initialize resx and resy. - -2008-02-01 Jason Rumney - - * w32font.c (QCsubranges): New symbol. - (w32font_open, w32font_has_char): Get subranges from subproperty - of extra. - (w32_enumfont_pattern_entity): Set subranges as subproperty of extra. - (syms_of_w32font): Define :subranges symbol. - - * font.c (font_put_extra): Expose externally. - - * font.h (font_put_extra): Move declaration from font.c. - - * font.c (Ffont_get): Use font driver to determine otf capability. - (adjust_anchor): Check if driver defines anchor_point before using. - - * w32font.c (w32font_open): Handle size, height and pixel_size better. - (w32font_draw): Use options. - (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts. - Fix detection of truetype fonts. - (registry_to_w32_charset): Handle charsets other than iso8859-1 - expressed as lisp symbols. - (w32_registry): Express charset as lisp symbol. - (fill_in_logfont): Reverse pixel and point height logic. - Don't set width here. Set quality to default. - - * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts. - (x_to_w32_font): Fill in lfPitchAndFamily correctly. - - * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]: - Remove redundant loop and allocation. - - * makefile.w32-in (font.o, w32font.o): New objects. - (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h. - (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND. - - * xdisp.c (fill_composite_glyph_string): Make the first arg to - STORE_XCHARB a valid l-value. - - * w32term.c (w32_native_per_char_metric): Swap width and rbearing - calculations for non-Truetype fonts. - (x_draw_glyph_string): Sync with xterm.c. - (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]: - Remove redundant code. - (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize. - - * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member. - (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h. - - * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c. - (x_to_w32_charset, w32_to_x_charset): Expose externally. - - * w32font.c: New file for w32 font backend. - -2008-02-01 Kenichi Handa - - * term.c: Don't include "buffer.h" twice. - -2008-02-01 Kenichi Handa - - * character.c (Funibyte_string): New function. - (syms_of_character): Defsubr it. - -2008-02-01 Jason Rumney - - * w32term.c [USE_FONT_BACKEND]: - (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc) - (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly) - (x_draw_glyph_string, x_draw_glyph_string_foreground) - (x_draw_composite_glyph_string_foreground, x_new_fontset2) - (x_free_frame_resources): Sync with xterm.c. - -2008-02-01 Andreas Schwab - - * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate - char-table size. - -2008-02-01 Kenichi Handa - - * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF. - -2008-02-01 Kenichi Handa - - * ftfont.c (ftfont_driver): Delete font_otf_gsub and - font_otf_gpos, add font_drive_otf. - - * fontset.c (fontset_find_font): Pay attention to font size - specified for a font. - (reorder_font_vector): Check contents of font_def. - - * font.c (struct otf_list): Delete it. - (otf_list): Make it a lisp variable. - (otf_open): Use lispy otf_list. - (generate_otf_features): Rename from parse_gsub_gpos_spec. - (check_otf_features): New function. - (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor): - New functions. - (font_drive_otf): New function merging font_otf_gsub and - font_otf_gpos. - (font_open_for_lface): New arg spec. Change argument order. - (font_load_for_face): Adjust for the change of font_open_for_lface. - (Ffont_drive_otf): New function merging Ffont_otf_gsub and - Ffont_otf_gpos. - (syms_of_font): Staticpro otf_list. Delete defsubr of - Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf. - - * xfaces.c (set_font_frame_param): Adjust for the change of - font_open_for_lface. - - * font.h (font_open_for_lface): Adjust prototype. - (struct font_driver): Delete members otf_gsub and otf_gpos, add - member otf_drive. - (font_otf_gsub, font_otf_gpos): Delete externs. - (font_drive_otf): Extern it. - -2008-02-01 Kenichi Handa - - * font.c (font_at): If the window W is not on a window system, - return Qnil. - - * coding.c (produce_chars, encode_coding): Don't call - insert_from_gap if no characters to produce. - -2008-02-01 Kenichi Handa - - * fontset.c (free_realized_fontsets): Avoid unnecessary call of - Fclear_face_cache. - - * xfaces.c (face_for_font): Check also face->font==font->font.font. - -2008-02-01 Miles Bader - - * emacs.c (main): Change default value of `enable_font_backend' to 1. - Parse "--disable-font-backend" option. - (standard_args): Add "--disable-font-backend" option. - -2008-02-01 Kenichi Handa - - * fontset.c (fontset_find_font): New function. - (fontset_font): Use fontset_find_font. - (make_fontset_for_ascii_face): Don't set face ID in rfont_def. - Register the specified font for all Latin characters. - (new_fontset_from_font): Register the specified font for all Latin - characters. - (dump_fontset): For a realized fontset, include the base fontset - name in the returned vector. - -2008-02-01 Kenichi Handa - - * character.h (CHAR_STRING): Cast C to unsigned on calling - char_string. - - * character.c (char_string): Type of arg C changed to unsigned. - Signal an error if C is an invalid character code. - - * editfns.c (general_insert_function, Fchar_to_string): - Use CHARACTERP, not INTEGERP. - -2008-02-01 Kenichi Handa - - * character.h (MIN_MULTIBYTE_LEADING_CODE) - (MAX_MULTIBYTE_LEADING_CODE): New macros. - - * regex.c (analyse_first): Fix for multibyte characters in "case - charset:" and "case categoryspec:". - -2008-02-01 Andreas Schwab - - * Makefile.in (LIBES): Move standard libraries to the end. - -2008-02-01 Kenichi Handa - - * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is - nonzero, don't shrink the buffer nextb. - - * buffer.h (struct buffer_text): New member inhibit_shrinking. - - * coding.c (coding_alloc_by_making_gap): New arg offset. - (alloc_destination): Call coding_alloc_by_making_gap with the arg - offset. - (decode_coding_iso_2022): Update coding->safe_charsets. - (decode_coding_gap): Temporarily set - current_buffer->text->inhibit_shrinking to 1. - -2008-02-01 Kenichi Handa - - * xterm.c (x_draw_composite_glyph_string_foreground): Fix - indexing into elements of s->cmp and s->char2b. - -2008-02-01 Juanma Barranquero - - * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'. - -2008-02-01 Kenichi Handa - - * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable - target_multibyte instead of multibyte. - (re_match_2_internal): Call bcmp_translate with target_multibyte. - (bcmp_translate): Change the argument name from multibyte to - target_multibyte. - -2008-02-01 Kenichi Handa - - These changes are to compile a regexp into a pattern that can be - used both for multibyte and unibyte targets. - - * Makefile.in (search.o): Depend on charset.h. - - * character.c (multibyte_char_to_unibyte_safe): New function. - - * search.c: Include "charset.h". - (compile_pattern_1): Delete argument multibyte. Don't set - cp->buf.target_multibyte here. Set cp->buf.charset_unibyte. - (compile_pattern): Don't compare cp->buf.target_multibyte. - Compare cp->buf.charset_unibyte. - (compile_pattern): Set cp->buf.target_multibyte. - - * lisp.h (multibyte_char_to_unibyte_safe): Extern it. - - * regex.h (struct re_pattern_buffer): New member charset_unibyte. - - * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg - multibyte. Change callers. - (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros. - (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers - to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively. - (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros. - (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table. - (regex_compile): Make the compiled pattern usable both for - multibyte and unibyte targets. - (analyse_first): Make the fastmap usable both for multibyte and - unibyte targets. - (TRANSLATE_VIA_MULTIBYTE): Delete. - (re_match_2_internal): Pay attention to the case that the - multibyteness of bufp and target may be different. - -2008-02-01 Kenichi Handa - - * xdisp.c (x_produce_glyphs): When a font is not found, make the - empty box occupy at least one column width. - -2008-02-01 Miles Bader - - * Makefile.in: Remove redundant HAVE_XFT clause. - -2008-02-01 Kenichi Handa - - * xrdb.c (x_load_resources): Setup the default fontSet X resource. - -2008-02-01 Kenichi Handa - - * fontset.c (Finternal_char_font): Fix for the case of POSITION - being nil. - -2008-02-01 Kenichi Handa - - * xftfont.c (xftfont_open): Call FcConfigSubstitute. - -2008-02-01 Kenichi Handa - - * xftfont.c (xftfont_open): Don't enable antialias explicitly. - -2008-02-01 Kenichi Handa - - * search.c (simple_search): Fix previous change. - -2008-02-01 Kenichi Handa - - * xftfont.c (ftfont_font_format): Extern declaration. - - * frame.c (x_set_font): Fix the second arg to fs_query_fontset. - - * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0. - (xfont_list): Don't directly use Lisp_Object as an operand of &&. - - * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0. - (ftfont_font_format): Fix previous change. - - * font.h (Ffont_xlfd_name): EXFUN it. - - * font.c (font_parse_xlfd): Fix the array size of `f'. - (register_font_driver): Use EQ to compare driver->type. - - * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function. - (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2. - (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise. - -2008-02-01 Kenichi Handa - - * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family) - (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined. - -2008-02-01 Kenichi Handa - - * xfont.c (xfont_open): Set font->format. - - * xftfont.c (xftfont_open): Set font->format. - - * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern. - (ftfont_list): Include FC_FONTFORMAT in FcObject. - (ftfont_open): Set font->format. - (ftfont_font_format): New function. - - * font.h (struct font): New member format. - - * font.c (Qopentype): New variable. - (syms_of_font): Defsym it. - (Fquery_font): Change the format of the last element of the return - value. - -2008-02-01 Kenichi Handa - - * xfns.c (xic_create_xfontset): Try the default fontset name as a - last resort. - -2008-02-01 Kenichi Handa - - * coding.c (detect_coding_charset): Fix detection of multi-byte - charset. - -2008-02-01 Bob Halley (tiny change) - - * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0. - -2008-02-01 Kenichi Handa - - * xdisp.c (get_next_display_element): Set it->face_id for the - first component of a composition. - (x_produce_glyphs): Check if the font is changed or not for composition. - -2008-02-01 Kenichi Handa - - * fontset.c (Qlatin): New variable. - (syms_of_fontset): Define it as a lisp symbol. - (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII. - -2008-02-01 Kenichi Handa - - * font.c (font_unparse_fcname): Pay attention to the case that - some of font property is a null string. - -2008-02-01 Kenichi Handa - - * term.c: Include "composite.h". - (encode_terminal_code): Output all components of composition. - Check the size of encode_terminal_src. - (produce_glyphs): For composition, call produce_composite_glyph. - (append_composite_glyph, produce_composite_glyph): New functions. - - * xdisp.c (x_produce_glyphs): In handling composition, if a font - is not found, get font_info from the current ascii face. - -2008-02-01 Kenichi Handa - - * fileio.c (Finsert_file_contents): On replacing, temporarily bind - buffer-file-name to Qnil before calling insert_from_buffer. - - * font.c (font_unparse_fcname): Pay attention to the case that - foundry is a null string. - -2008-02-01 Kenichi Handa - - * ftfont.c (ftfont_list): Allow registry "unicode-sip". - - * font.c (Qunicode_sip): New variable. - (syms_of_font): Declare it as a Lisp symbol. - - * font.h (Qunicode_sip): Extern it. - -2008-02-01 Kenichi Handa - - * composite.c (get_composition_id): Pay attention to TAB component. - - * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw - TAB. Adjust for the change of s->char2b which always points to - the first element of allocated memory. - - * xftfont.c (xftfont_text_extents): Fix calculation of descent value. - - * xdisp.c (handle_composition_prop): Set it->c to the first - non-TAB component. - (fill_composite_glyph_string): Change argument. - (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change. - (x_produce_glyphs): Fix handling of left/right padding. - -2008-02-01 Kenichi Handa - - * coding.c (detect_coding_system): Fix for handling off - inhibit_iso_escape_detection. Fix for the case that no coding - system is defined for a specific coding category. - -2008-02-01 Kenichi Handa - - * font.c (font_matching_entity): Delete unused local var. - - * xftfont.c (xftfont_open): Call XftDefaultSubstitute before - opening a font. - - * fileio.c (Finsert_file_contents): On recovering a file, assume - Unix-like eol. - (choose_write_coding_system): On auto-saving a file, force - Unix-like eol. - - * coding.c (setup_coding_system): Fix setting of - coding->common_flags based on eol_type. - (coding_inherit_eol_type): If PARENT is not nil, be sure to - inherit from it. - -2008-02-01 Kenichi Handa - - * alloc.c (NSTATICS): Increas to 0x600. - -2008-02-01 Kenichi Handa - - * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match. - (ftfont_list): Don't check :name property. - (ftfont_match): New function. - (ftfont_pattern_entity): If the pattern doesn't contain - FC_SPACING, don't assume FC_MONO. - - * font.h (struct font_driver): New member `match'. - (font_update_drivers): Adjust prototype. - - * font.c (font_parse_fcname, font_parse_name): Don't change :name - property of FONT. - (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define - them unconditionally. - (font_matching_entity): New function. - (font_open_by_name): Try font_matching_entity if exact match is - not found. - (font_update_drivers): Delete the arg FONT. Return a list of - actually used backends. Don't free faces, font caches here. - Don't store data in frame parameters. Don't call x_set_font. - (Ffont_spec): Store :name property as is. - (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability. - (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub. - (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos. - (Ffont_otf_alternates): Check if the driver has otf_gsub function. - Call font->driver->otf_gsub instead of font_otf_gsub. - - * frame.c (x_set_font_backend): Do more works that were done in - font_update_drivers before. - - * xfont.c (xfont_match): New function. - (xfont_driver): Set xfont_driver.match to xfont_match. - (xfont_draw): Set font in GC if necessary. - - * ftxfont.c (ftxfont_match): New function. - (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match. - - * xftfont.c (xftfont_match): New function. - (syms_of_xftfont): Set xftfont_driver.match to xftfont_match. - -2008-02-01 Kenichi Handa - - * font.h (struct font): New member scalable. - (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub. - (font_otf_gsub): Adjust prototype. - - * font.c (font_otf_capability): Fix handling of the default langsys. - (parse_gsub_gpos_spec): Change type to void. New arg nbytes. - Check the contents of SPEC. - (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros. - (check_gstring): New function. - (REPLACEMENT_CHARACTER): New macro. - (font_otf_gsub): New arg alternate_subst. Be sure to set all - glyph codes of GSTRING. - (font_otf_gpos): Be sure to set all glyph codes of GSTRING. - (font_prepare_composition): Set cmp->glyph_len. - (font_open_entity): Set font->scalable. - (Ffont_get): Handle :otf property. - (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New - functions. - (Fquery_font): Use font->font.full_name. - (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and - Sfont_otf_alternates. - - * ftfont.c (ftfont_open): Set font->font.full_name and - font->font.name properly. Fix calculation of font->font.height - and font->min_width. - - * ftxfont.c (ftxfont_create_gcs): New function. - (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap. - (ftxfont_draw_backgrond): Fix filling region. - (ftxfont_default_fid): New function. - (ftxfont_open): Set xfont->fid to the return value of - ftxfont_default_fid. - (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs. - (ftxfont_done_face): Free only GCs that are created by - ftxfont_create_gcs. - (ftxfont_draw): If face->gc != s->gc, create proper GCs. - - * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]: - Clip to src->width, etc (not src->clip_XXX). - - * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle - FontBackend frame parameter. - -2008-02-01 Kenichi Handa - - * font.h (struct font_driver_list): New member `on'. - (Fclear_font_cache): EXFUN it. - (font_update_drivers): Extern it. - - * font.c (font_unparse_fcname): Fix typo (swidth->width). - (font_list_entities): Check driver_list->on. - (register_font_driver): Initialize `on' member to 0. - (font_update_drivers): New function. - (Fclear_font_cache): Check driver_list->on. - - * frame.h (Qfont_backend): Extern it. - (x_set_font_backend): Extern it. - - * frame.c (Qfont_backend): New variable. - (frame_parms): New element for font-backend. - (x_set_font_backend): New function. - - * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle - FontBackend frame parameter. - (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element - x_set_font_backend. - - * xfont.c (xfont_list): Don't try listing by :name property if the - name is not for XLFD. - -2008-02-01 Kenichi Handa - - * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM) - (LGLYPH_SET_TO): New macros. - (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment - element of G is vector or not. - (font_at): Extern it. - - * font.c: Include window.h. - (font_lispy_object): New function. - (font_prepare_composition): Check LGLYPH_FORM (g) to detect the - end of valid glyph. - (font_close_object): Fix getting (struct font *). - (font_at): New function. - (Ffont_get): If FONT is a font-object, get entity from it. - (Ffont_make_gstring): Initialize elements of glyphs with nil. - (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix - range check. - (Ffont_at): New function. - (syms_of_font): Defsubr Sfont_at. - - * xdisp.c (it_props): Move the entry for Qauto_composed to just - before the entry for Qcomposition. - (handle_auto_composed_prop): Call auto-composition-function with 4 args. - (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from - the font in gstring. - (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check - LGLYPH_FORM (g) to detect the end of valid glyph. - (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if - we are composing with gstring. - - * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]: - Check if adjustment is vector or not. - - * Makefile.in (font.o): Make it depends on window.h. - -2008-02-01 Kenichi Handa - - * xterm.c (x_draw_composite_glyph_string_foreground): Check if - adjustment is vector or not. - -2008-02-01 Miles Bader - - * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE. - -2008-02-01 Kenichi Handa - - * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST) - (LGLYPH_SET_WIDTH): 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 character is an ASCII. - (simple_search): Fix calculation of byte length of matched text. - (boyer_moore): Fix handling of case-equivalent multibyte characters. - -2008-02-01 Kenichi Handa - - * coding.c (decode_coding): Fix handling of invalid bytes. - -2008-02-01 Kenichi Handa - - * xterm.c (handle_one_xevent): Handle keysyms directly mapped to - Unicode characters. - -2008-02-01 Kenichi Handa - - * coding.c (encode_coding_object): If a pre-write-conversion - function makes a new buffer, kill it. - -2008-02-01 Kenichi Handa - - * coding.c (QCascii_compatible_p): New variable. - (syms_of_coding): Initialize it. - (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before - calling string_char. - (record_conversion_result): Add `default:' case. - (coding_charset_list): Delete unused variable `coding_type'. - (Fdefine_coding_system_internal): Add `ascii-compatible-p' - property in the plist of the coding system. - (Fcoding_system_put): Check QCascii_compatible_p. - -2008-02-01 Miles Bader - - * xfaces.c (Finternal_lisp_face_equal_p): Restore previously - removed calculation of frame `f', as it's now used. - -2008-02-01 Kenichi Handa - - * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined. - (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally. - (UNIDATA): New variable. - (${lispsource}international/charprop.el): Depends on ${UNIDATA}. - (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run - $(RUN_TEMACS) unconditionally. - -2008-02-01 Kenichi Handa - - * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary. - (admindir): New variable. - ($(lispsource)international/charprop.el): New target. - -2008-02-01 Miles Bader - - * character.c (chars-in-region): Remove obsolete function. - (syms_of_character): Remove its initialization. - -2008-02-01 Benjamin Riefenstahl - - * w32select.c (validate_coding_system) - (setup_windows_coding_system): New functions. - (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use - setup_windows_coding_system. - (setup_config, Fw32_get_clipboard_data): Use - validate_coding_system. - (Fx_selection_exists): Move call to setup_config to a place - where signals are allowed. - - * lisp.h (Fcoding_system_base, Fcoding_system_eol_type) - (Fcheck_coding_system): Add declarations. - -2008-02-01 Kenichi Handa - - * charset.c (load_charset_map_from_vector): Fix for the first iteration. - -2008-02-01 YAMAMOTO Mitsuharu - - * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp - string as the second argument for x_new_fontset. - -2008-02-01 Kenichi Handa - - * coding.c (decode_coding_object): Use safe_call1 instead of call1. - (encode_coding_object): Use safe_call instead of call2. - -2008-02-01 Kenichi Handa - - * fontset.c (Fset_fontset_font): Check family element of a given vector. - - * Makefile.in (lisp): Include charprop.el. - -2008-02-01 YAMAMOTO Mitsuharu - - * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash. - Not sure if it's unnecessary. - -2008-02-01 Steven Tamm - - * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out - some possibly unnecessary fontset checking code that crashed - when creating a new frame. - -2008-02-01 Kenichi Handa - - * xfaces.c (merge_faces): Fix argument to lookup_derived_face and - lookup_face. - - * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face. - - * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face. - -2008-02-01 Kenichi Handa - - * coding.c: Cancel the change done in HEAD on 2008-02-01. - (coding_charset_list): New function. - - * coding.h (coding_charset_list): Extern it. - -2008-02-01 Kenichi Handa - - * fontset.c (Fset_fontset_font): Call find_font_encoding with - concatenation of family and registry. - -2008-02-01 Kenichi Handa - - * character.h (BYTE8_STRING): Fix typo. - - * editfns.c (Ftranslate_region_internal): Don't convert unibyte - string to multibyte (sync to HEAD). - - * casefiddle.c (casify_region): Handle changes in byte-length - using replace_range_2 (sync to HEAD). - -2008-02-01 Andreas Schwab - - * chartab.c (map_char_table): GCPRO table and arg. - -2008-02-01 Kenichi Handa - - * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is - already at limit. - -2008-02-01 Kenichi Handa - - * fontset.c (fs_load_font): Use fast_string_match_ignore_case - instead of fast_c_string_match_ignore_case. - (find_font_encoding): Change argument to Lisp_Object. Use - fast_string_match_ignore_case instead of - fast_c_string_match_ignore_case. Change caller. - -2008-02-01 Kenichi Handa - - * xdisp.c (get_next_display_element): In unibyte case, decide to - display in octal form by checking a character by - UNIBYTE_CHAR_HAS_MULTIBYTE_P. - - * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table. - - * character.c (unibyte_has_multibyte_table): New variable. - - * character.h (unibyte_has_multibyte_table): Extern it. - (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro. - -2008-02-01 Kenichi Handa - - * coding.c (encode_coding_iso_2022): Fix handling of charset - annotation. - -2008-02-01 Kenichi Handa - - * coding.c (setup_coding_system): If coding_system is nil, use - Qundecided. - (Fterminal_coding_system): Return nil if terminal coding system is - `undecided'. - (syms_of_coding): Define coding-system `undecided' here. Setup - terminal_coding as `undecided'. - -2008-02-01 Kenichi Handa - - * xdisp.c (message_dolog, set_message_1): Call - unibyte_char_to_multibyte with arg type int. - - * lread.c (read1): Fix reading of a char-table. - - * print.c (print_object): Include sub char-table in circularities - detection. - -2008-02-01 Kenichi Handa - - * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons. - Append the found sequences in car of ARGS instead of prepending. - -2008-02-01 Kenichi Handa - - * fileio.c (report_file_error): Make a unibyte string from - strerror (errorno). - (Fsubstitute_in_file_name): Fix the arg to - unibyte_char_to_multibyte. It is evaluated twice. - -2008-02-01 Kenichi Handa - - * charset.h (CHAR_CHARSET): Shortcut for ASCII case. - -2008-02-01 Kenichi Handa - - * coding.c (detect_coding_utf_16): Don't set detect_info->found if - BOM is not found. - (detect_coding, detect_coding_system): Optimization for ISO-2022 - when no 8-bit data is found. - -2008-02-01 Jason Rumney - - * w32fns.c (x_to_w32_font): Update to use new coding struct. - -2008-02-01 Kenichi Handa - - * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of - CHARS. - -2008-02-01 Steven Tamm - - * macterm.c (mac_encode_char): Add charset argument and update - to use encoding_type. - (x_new_font, x_new_fontset): Merge in changes from xterm.c; - switch to pure fontset. - (decode_mac_font_name): Temporarily remove decoding. - (x_font_name_to_mac_font_name): Temporarily remove encoding. - (x_load_font): Temporarily remove encoding. - -2008-02-01 Kenichi Handa - - * xfaces.c (Fface_font): If frame is not on a window system, - ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't - refer to face->font. - (split_font_name_into_vector, build_font_name_from_vector) - (lookup_non_ascii_face, realize_non_ascii_face): Define them only - when HAVE_WINDOW_SYSTEM is defined. - -2008-02-01 Kenichi Handa - - * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL. - (x_produce_glyphs): Fix setting of members of cmp in case - cmp->glyph_len is zero. - - * fontset.c (Fset_fontset_font): Fix docstring. - (Ffontset_info): Make it backward compatible. New arg ALL. - -2008-02-01 Kim F. Storm - - * process.c (read_process_output): Grow decoding_buf when needed; - this could cause a crash in allocate_string and compact_small_strings. - -2008-02-01 Kenichi Handa - - * fileio.c (WRITE_BUF_SIZE): Delete this macro. - -2008-02-01 Kenichi Handa - - * coding.c (setup_coding_system): Set coding->common_flags - correctly for raw-text. - (consume_chars): On encoding unibyte text by raw-text, don't check - multibyte form. - (encode_coding): On encoding by raw-text, never use translation tables. - - * fileio.c (e_write): Short cut for the case of no encoding. - -2008-02-01 Kenichi Handa - - * coding.c (detect_coding, detect_coding_system): Delete unused - variables. - -2008-02-01 Kenichi Handa - - * coding.c (encode_coding_utf_8): Fix handling of raw-byte char. - (consume_chars): Fix handling of 8-bit bytes in unibyte source. - -2008-02-01 Kenichi Handa - - * coding.c (Ffind_coding_systems_region_internal): Include - raw-text and no-conversion in the result. - -2008-02-01 Kenichi Handa - - * fontset.c (find_font_encoding): Return `ascii' for unknown encoding. - (load_font_get_repertory): Delete unnecessary check of ENCODING of - FONT_DEF. - (font_def_arg, add_arg, from_arg, to_arg): New args. - (set_fontset_font): Change argument. - (Fset_fontset_font): Fix for the case that TARGET is a script - name and charset name. - (new_fontset_from_font_name): Fix argument to Fnew_fontset. - -2008-02-01 Kenichi Handa - - * fontset.c (fontset_font): Rename from fontset_face. Change return - value. - (face_suitable_for_char_p, face_for_char): Adjust for the change - of fontset_font. - (make_fontset_for_ascii_face): Fix setting of the fontset element - for ASCII. - (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR - to get a font name. - (Ffontset_info): Adjust for the change of fontset_font. - - * coding.c (emacs_mule_char): Check invalid code more rigidly. - - * character.h (LEADING_CODE_LATIN_1_MIN) - (LEADING_CODE_LATIN_1_MAX): Delete these macros. - -2008-02-01 Kenichi Handa - - * editfns.c (check_translation): New function. - (Ftranslate_region_internal): Handle M:N mapping. - -2008-02-01 Kenichi Handa - - * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE]. - -2008-02-01 Kenichi Handa - - * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of - goto invalid_code. - (decode_coding_iso_2022): Fix handling of invalid designation. - - * fileio.c (Finsert_file_contents): Be sure to call unbind_to - after calling code_conversion_save. - -2008-02-01 Kenichi Handa - - * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup. - - * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup. - - * fontset.c: Include "intervals.h". - (fontset_face): Fix comparing of Lisp_Objects. - (free_face_fontset, new_fontset_from_font_name): Fix - Lisp_Object/int mixup. - - * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup. - - * coding.c: Add many prototypes for static functions. - (get_translation_table): Allow max_lookup to be NULL. - (decode_coding, Ffind_coding_systems_region_internal) - (Funencodable_char_position, Fcheck_coding_systems_region): Call - get_translation_table with max_lookup NULL. - -2008-02-01 Kenichi Handa - - * coding.c (get_translation_table): Declare it as Lisp_Object. - (LOOKUP_TRANSLATION_TABLE): New macro. - (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE - instead of CHAR_TABLE_REF. - -2008-02-01 Kenichi Handa - - * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of - annotation data format. - (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA): - Change arguments FROM and TO to single argument NCHARS. Change caller. - (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule) - (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5) - (decode_coding_ccl, decode_coding_charset): Pay attention to - coding->charbuf_used. - (get_translation): New function. - (produce_chars): New arguments translation_table and last_block. - Translate characters here. Return number of carryover chars. - Change caller. - (produce_composition): New argument pos. Change caller. - Adjust for the change of annotation data format. - (produce_charset, produce_annotation): Likewise. - (decode_coding, encode_coding): Don't call translate_chars. - (consume_chars): New arg translation_table. Change caller. - (translate_chars): Delete. - (syms_of_coding): Make translation-table's number of extra slots 2. - -2008-02-01 Kenichi Handa - - * search.c (simple_search): Fix setting this_pos_byte in backward - search. - - * coding.c (detect_coding_emacs_mule): Fix counting of encoded - byte sequence. - (detect_coding_ccl): Fix setting of the variable valids. - -2008-02-01 Kenichi Handa - - * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font. - - * coding.c (decode_coding_utf_16): Fix handling of surrogate pair. - - * editfns.c (Ftranslate_region_internal): Rename from - Ftranslate_region. Accept a char-table in TABLE. - (syms_of_editfns): Defsubr Stranslate_region_internal. - - * xfaces.c (set_lface_from_font_name): If a font is specified for - a frame, generate a fontset from the font. - (build_scalable_font_name): If the scalable font is requested for - a specific size, don't change that size. - (try_font_list): Try a scalable font also in the case that a - pattern string is specified. - -2008-02-01 Kenichi Handa - - * xfaces.c (Fface_font): New optional arg CHARACTER. - -2008-02-01 Kenichi Handa - - * charset.h (CHARSET_OFFSET): New macro. - -2008-02-01 Kenichi Handa - - * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset. - - * fontset.c (fontset_face): Handle the case that repertory is a - char-table. - (find_font_encoding): Return nil for unknown encoding. - (Fset_fontset_font): Ignore a font of unknown encoding. - -2008-02-01 Kenichi Handa - - * keymap.c (describe_vector): Handle default value of a char table. - - * fontset.c (fontset_face): Handle fallback fonts correctly. - (Ffontset_info): Return infomation about fallback fonts. - -2008-02-01 Kenichi Handa - - * fontset.c (FONTSET_DEFAULT): New macro. - (FONTSET_ADD, fontset_add): Handle the case that range is nil. - (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle - the case that it is nil. - (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK. - (syms_of_fontset): Set char-table-extra-slots property of fontset to 9. - - * charset.h (CHAR_CHARSET_P): Fix for the case that the method is - subset or superset. - -2008-02-01 Kenichi Handa - - * emacs.c (main): Call init_charset after syms_of_XXX. - - * charset.c (Vcharset_map_directory): Delete. - (Vcharset_map_path): New variable. - (load_charset_map_from_file): Use Vcharset_map_path instead. - (init_charset): Initialize Vcharset_map_path. - (syms_of_charset): Delete declaration of "charset-map-directory", - add declaration of "charset-map-path". - -2008-02-01 Kenichi Handa - - * fns.c (string_char_to_byte, string_byte_to_char): Optimize for - ASCII only string. - - * fileio.c (Finsert_file_contents): Avoid detecting a code twice. - - * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3. - (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte. - -2008-02-01 Kenichi Handa - - * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros. - - * coding.c (QCmnemonic, QCdefalut_char) - (QCdecode_translation_table, QCencode_translation_table) - (QCpost_read_conversion, QCpre_write_conversion): New variables. - (get_translation_table): Return a list of translation tables if - necessary. - (decode_coding): Call get_translation_table with ENCODEP 0. - (char_encodable_p): If translation_table is non-nil, always call - translate_char. - (Fdefine_coding_system_internal): Accept list of translation - tables as :encode-translation-table and :decode-translation-table. - (Fcoding_system_put): New function. - (syms_of_coding): Declare new symbols. Defsubr - Scoding_system_put. - (decode_coding_sjis, encode_coding_sjis): Handle 4th charset, - typically JISX0212. - - * charset.c (map_charset_chars): Fix arg to map_charset_chars in - when the charset is superset type. - - * character.c (translate_char): Accept list of translation tables. - -2008-02-01 Kenichi Handa - - * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl. - (CODING_ATTR_TRANS_TBL): New macro. - - * coding.c (get_translation_table): New function. - (translate_chars): Fix the bug of skipping annotation data. - (decode_coding, encode_coding): Utilize get_translation_table. - (char_encodable_p, Funencodable_char_position): Translate char if - necessary. - (Ffind_coding_systems_region_internal) - (Fcheck_coding_systems_region): Setup translation table for encode - in a coding system attribute vector in advance. - (Fdefine_coding_system_internal): Allow a symbol as translation - table. For shift-jis type coding system, allow 4th charset. - -2008-02-01 Kenichi Handa - - * coding.c (decode_coding_sjis): Check the first byte rigidly. - - * xdisp.c (get_next_display_element): Pass -1 as POS to - FACE_FOR_CHAR if displaying a C-string. - -2008-02-01 Kenichi Handa - - * composite.c (get_composition_id): Handle xoff and yoff in a - composition rule. - - * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff. - (struct composition): New member lbearing and rbearing. - - * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y). - (x_get_glyph_overhangs): Handle a composition glyph. - (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph. - - * xterm.c (x_compute_glyph_string_overhangs): Handle also a - composition glyph. - -2008-02-01 Kenichi Handa - - * print.c: Include charset.h. - (Vprint_charset_text_property): New variable. - (Qdefault): Extern it. - (PRINT_STRING_NON_CHARSET_FOUND) - (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros. - (print_check_string_result): New variable. - (print_check_string_charset_prop): New function. - (print_prune_charset_plist): New variable. - (print_prune_string_charset): New function. - (print_object): Call print_prune_string_charset if - Vprint_charset_text_property is not t. - (print_interval): Print nothing if interval->plist is nil. - (syms_of_print): Declare Vprint_charset_text_property as a lisp - variable. Init and staticpro print_prune_charset_plist. - -2008-02-01 Kenichi Handa - - * fontset.c (new_fontset_from_font_name): Use the specified font - for all characters in the new fontset. - - * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and - OBJECT args. - - * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and - OBJECT args for composition too. - - * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and - OBJECT args. - -2008-02-01 Kenichi Handa - - * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT. - - * fontset.c (reorder_font_vector): Adjust for the change of - FONT_DEF format. - (fontset_face): New arg id. Change caller. - (face_for_char): New args pos and object. - (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format. - (fs_query_fontset): Check NAME by Fassoc too. - (Fset_fontset_font): Allow non-XLFD font name. - (Ffontset_info): Adjust for the change of FONT_DEF format. - - * fontset.h (face_for_char): Adjust prototype. - - * xdisp.c (face_before_or_after_it_pos, get_next_display_element) - (append_space, extend_face_to_end_of_line) - (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING) - (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args. - - * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with - POS and OBJECT args. - - * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with - POS and OBJECT args. - -2008-02-01 Jason Rumney - - * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc - of GlobalAlloc'ed memory. - -2008-02-01 Kenichi Handa - - * ccl.c (Fccl_execute_on_string): Fix the condition of loop. - - * charset.h (charset_table_used): Delete extern. - - * charset.c (charset_table_used): Make it static. - (map_charset_chars): Fix args to c_function with. - - * chartab.c (map_sub_char_table_for_charset): Fix args to - c_function with. - - * coding.h (enum coding_result_code): Delete - CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC. - - * coding.c (Qinsufficient_source, Qinconsistent_eol) - (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables. - (Vlast_code_conversion_error): New variables. - (syms_of_coding): DEFSYM or DEFVAR_LISP them. - (ONE_MORE_BYTE): Record error if any instead of signaling an - error. If non-ASCII multibyte char is found, return the negative - value of the code. All callers changed to check it. - (ONE_MORE_BYTE_NO_CHECK): Likewise. - (record_conversion_result): New function. Change all codes setting - coding->result to call this function. - (detect_coding_utf_8, decode_coding_utf_8) - (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5): - Don't use the local variable incomplete. - (emacs_mule_char): Change the second arg to `const'. - (decode_coding): Fix of flushing out unprocessed data. - (make_conversion_work_buffer): Fix making of a work buffer. - (decode_coding_object): Return coding->dst_object. - - * fontset.c (set_fontset_font): Fix args. - - * lisp.h (CHARACTERBITS): Define as 22. - - * process.c (send_process): Be sure to set coding->src_multibyte. - - * xdisp.c (handle_auto_composed_prop): Fix setting of limit. - -2008-02-01 Kenichi Handa - - * xdisp.c (handle_auto_composed_prop): Give limit to - Fnext_single_char_property_change. - -2008-02-01 Kenichi Handa - - * composite.c (syms_of_composite): Don't make the composition hash - table weak. - - * fontset.c (Fset_fontset_font): Fix docstring. - - * lisp.h (detect_coding_system): Adjust prototype. - - * fileio.c (kill_workbuf_unwind): Delete this function. - (Finsert_file_contents): Adjust the call of detect_coding_system. - Get conversion_buffer by code_conversion_save. Use the macro - CODING_MAY_REQUIRE_DECODING. After decoding, update - coding_system. - - * coding.h (make_conversion_work_buffer): Delete extern. - (code_conversion_save): Extern it. - - * coding.c (enum iso_code_class_type): Delete ISO_carriage_return. - (CODING_GET_INFO): Delete argument eol_type. Change callers. - (decode_coding_utf_8): Don't do eol converion. - (detect_coding_utf_16): Check coding->src_chars, not - coding->src_bytes. Add heuristics for those that have no signature. - (decode_coding_emacs_mule, decode_coding_iso_2022) - (decode_coding_sjis, decode_coding_big5, decode_coding_charset): - Don't do eol converion. - (adjust_coding_eol_type): Return a new coding system. - (detect_coding): Don't detect eol. Fix for utf-16 detection. - (decode_eol): In case of CRLF->LF conversion, use del_range_2 on - each change. - (decode_coding): Pay attention to undo_list. Do eol conversion for - all types of coding-systems (if necessary). - (Vcode_conversion_work_buf_list): Delete it. - (Vcode_conversion_reused_workbuf): Rename from - Vcode_conversion_reused_work_buf. - (Vcode_conversion_workbuf_name): New variable. - (reused_workbuf_in_use): New variable. - (make_conversion_work_buffer): Delete the arg DEPTH. - (code_conversion_restore): Change argument to cons. - (code_conversion_save): Delete the argument BUFFER. Change callers. - (detect_coding_system): New argument src_chars. Change callers. - Fix for utf-16 detection. - (init_coding_once): Don't use ISO_carriage_return. - (syms_of_coding): Initialize Vcode_conversion_workbuf_name and - reused_workbuf_in_use. - -2008-02-01 Kenichi Handa - - * keymap.c (store_in_keymap): Pay attention to the case that idx - is a cons specifying a character range. - -2008-02-01 Kenichi Handa - - * xdisp.c (handle_auto_composed_prop): Fix the case of returning - HANDLED_RECOMPUTE_PROPS. - - * coding.c (Fdefine_coding_system_internal): Fix checking of - ascii compatibility. - -2008-02-01 Kenichi Handa - - * charset.c (find_charsets_in_text): Delete unused locale variable. - (Fset_charset_priority): Update Vemacs_mule_charset_list too. - - * coding.c (encode_coding_emacs_mule): Emit bytes with MSB. - Resync charset_list to Vemacs_mule_charset_list. - - * keymap.c (store_in_keymap): Pay attention to the case that idx - is a cons specifying a character range. - -2008-02-01 Kenichi Handa - - * composite.c (update_compositions): Bind inhibit-read-only, etc - to t before calling remove-list-of-text-properties. - - * print.c (print_object): Always print ASCII chars as is. - -2008-02-01 Kenichi Handa +2011-11-06 Chong Yidong + + * window.c (Fwindow_live_p, Fwindow_frame, Fframe_root_window) + (Fminibuffer_window, Fwindow_buffer, Fwindow_splits) + (Fset_window_splits, Fwindow_nest, Fset_window_nest) + (Fwindow_use_time, Fwindow_total_size, Fwindow_normal_size) + (Fwindow_new_normal, Fwindow_left_column, Fwindow_top_line) + (Fwindow_margins, Fwindow_fringes, Fwindow_scroll_bars) + (Fwindow_vscroll): Doc fix. + (Fwindow_top_child, Fwindow_left_child): Eliminate a nil default + argument, since it makes no sense to pass a live window and for + consistency with window-child. - * keymap.c (Fdefine_key): Fix handling of Lucid style event type list. +2011-11-05 Christoph Scholtes - * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE - is a char table. + * makefile.w32-in ($(TEMACS), (gl-stamp)): Use $(THISDIR) to + support MSVC. -2008-02-01 Kenichi Handa +2011-11-05 Jason Rumney - * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary. + * w32font.c (font_matches_spec): Filter out non-Japanese kana fonts. + (add_font_entity_to_list): Filter out non-Japanese Shift-JIS + fonts (Bug#6029). + (add_font_entity_to_list): Fix logic errors in mixed boolean and + bitwise arithmetic preventing use of unicode-sip and non-truetype + opentype fonts. -2008-02-01 Kenichi Handa +2011-11-05 Eli Zaretskii - * xfaces.c (set_lface_from_font_name): Fix for the case that - FONTNAME is not fontset name. + * s/ms-w32.h (fstat, stat, utime): Move redirections to + "emacs"-only part. -2008-02-01 Kenichi Handa + * w32fns.c (x_create_tip_frame, Fx_create_frame): Rearrange + initialization code to keep similarity to xfns.c after changes + from 2011-11-05. - * fns.c (base64_encode_1): Fix previous change. +2011-11-05 Jan Djärv -2008-02-01 Kenichi Handa + * nsfns.m: Declare image_cache_refcount if GLYPH_DEBUG. + (unwind_create_frame): New function (Bug#9943). + (Fx_create_frame): Restructure code to be more similar to the one in + xfns.c. Call record_unwind_protect with unwind_create_frame (Bug#9943). + Initialize image_cache_refcount if GLYPH_DEBUG (Bug#9943). + Move terminal->reference_count++ just before making the frame official + (Bug#9943). - * 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. + * nsterm.m (x_free_frame_resources): New function. + (x_destroy_window): Move code to x_free_frame_resources. -2008-02-01 Kenichi Handa + * xfns.c (unwind_create_frame): Fix comment. + (Fx_create_frame, x_create_tip_frame): Move + terminal->reference_count++ just before making the frame + official. Move initialization of image_cache_refcount and + dpyinfo_refcount before calling init_frame_faces (Bug#9943). - * 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. +2011-11-05 Eli Zaretskii -2008-02-01 Kenichi Handa + Support MSVC build with newer versions of Visual Studio. + * makefile.w32-in (TAGS-gmake): Don't use $(patsubst ...), as + Nmake barfs on that. Use $(OBJ*_c) variables instead, defined on + nt/gmake.defs. - * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts. + * lisp.h (ENUM_BF): New macro, for enumerated types in bitfields, + which are not supported by MSVC. + (Lisp_Symbol, Lisp_Misc_Any, Lisp_Marker, Lisp_Misc_Overlay) + (Lisp_Save_Value, Lisp_Free): Use ENUM_BF for enumerated types in + bitfields. + (Lisp_Object) [USE_LISP_UNION_TYPE]: Use ENUM_BF for enumerated + types in bitfields. + (DEFUN) [_MSC_VER]: Define in a different way for MSVC. -2008-02-01 Kenichi Handa + * w32fns.c [_MSC_VER]: DECLARE_HANDLE for any MSVC version. - * fontset.c (Fnew_fontset): Check NAME more rigidly. +2011-11-05 Fabrice Popineau (tiny change) -2008-02-01 Kenichi Handa + Support MSVC build with newer versions of Visual Studio. + * w32.c: Don't include w32api.h for MSVC. + (init_environment) [_MSC_VER]: Call sys_access, not _access. - * editfns.c (Fgoto_char): Fix docstring. + * s/ms-w32.h [_MSC_VER]: Typedefs for MSVC. + [_MSC_VER]: Include sys/timeb.h, sys/stat.h, and signal.h. + (fstat, stat, utime) [_MSC_VER]: Redirect to their sys_* cousins. + (malloc, free, realloc, calloc) [_MSC_VER]: Always redirect to the + e_* cousins. + (alloca) [_MSC_VER]: Define to _alloca. -2008-02-01 Kenichi Handa + * lisp.h (DECL_ALIGN) [_MSC_VER]: Define for MSVC. - * insdel.c (insert_from_gap): Adjust intervals correctly. + * regex.c [_MSC_VER]: A separate definition for MSVC. -2008-02-01 Jason Rumney +2011-11-04 Eli Zaretskii - * 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. + * xdisp.c (note_mouse_highlight): If either of + previous/next-single-property-change returns nil, treat that as + the beginning or the end of the buffer. (Bug#9955) - * 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. +2011-11-04 Jan Djärv - * makefile.w32-in (temacs): Increase EMHEAP. + * gtkutil.c (xg_make_tool_item): Add callbacks if one of wimage or + label is not null (Bug#9951). + (xg_tool_item_stale_p): Handle the fact that wimage and/or wlbl + may be NULL. -2008-02-01 Jason Rumney +2011-11-04 Eli Zaretskii - * 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. + * window.c (Fwindow_body_size): Mention in the doc string that the + return value is in frame's canonical units. (Bug#9949) - * w32term.h: Declare x_get_font_repertory. +2011-11-03 Eli Zaretskii - * 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. + * xdisp.c (note_mouse_highlight): Initialize `area'. (Bug#9947) - * 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. + * w32fns.c (unwind_create_frame): If needed, free the glyph + matrices of the partially constructed frame. (Bug#9943) + * xfns.c (unwind_create_frame): Likewise. - * 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. +2011-11-01 Eli Zaretskii - * w32bdf.c (w32_load_bdf_font): Clear font_info before filling. - encoding becomes encoding_type. + * xdisp.c (mouse_face_from_buffer_pos): Fix a typo in a comment. + Don't stop backward scan on the continuation glyph, even though + its CHARPOS is positive. + (mouse_face_from_buffer_pos, note_mouse_highlight): Rename + cover_string to disp_string. - * term.c (terminal_encode_buffer): Make externally visible. +2011-11-01 Martin Rudalics - * makefile.w32-in: Add character.h dependancies. - (character.o, chartab.o): New targets. + * window.c (temp_output_buffer_show): Don't use + Vtemp_buffer_show_specifiers. + (Vtemp_buffer_show_specifiers): Remove unused variable. -2008-02-01 Kenichi Handa +2011-10-30 Eli Zaretskii - * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro - CODING_ID_EOL_TYPE. + * xdisp.c (try_cursor_movement): Make sure ROW isn't decremented + past the beginning of the current glyph matrix. -2008-02-01 Andreas Schwab +2011-10-30 Adam Sjøgren (tiny change) - * coding.c (produce_chars): Revert last change. + * xterm.c: Include X11/Xproto.h if HAVE_GTK3. + (x_error_handler): Ignore BadMatch for X_SetInputFocus for + HAVE_GTK3 (Bug#9869). -2008-02-01 Kenichi Handa + * gtkutil.c (xg_win_to_widget, xg_event_is_for_menubar): Initialize + type to GDK_NOTHING so valgrind does not complain (Bug#9901). - * charset.h (charset_unicode): Extern it. + * xterm.h (x_display_info): Add Xatom_net_wm_state_hidden (Bug#9893). - * 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. + * xterm.c: Declare x_handle_net_wm_state to return int. + (handle_one_xevent): Check if we are iconified but don't have + _NET_WM_STATE_HIDDEN. If do, treat as deiconify (Bug#9893). + (get_current_wm_state): Return non-zero if not hidden, + check for _NET_WM_STATE_HIDDEN (Bug#9893). + (do_ewmh_fullscreen): Ignore return value from get_current_wm_state. + (x_handle_net_wm_state): Return what get_current_wm_state returns. + (x_term_init): Initialize dpyinfo->Xatom_net_wm_state_hidden. - * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP. +2011-10-29 Paul Eggert - * coding.c (Fdefine_coding_system_alias): Update - Vcoding_system_list. + * alloc.c (which_symbols): Declare EXTERNALLY_VISIBLE, + so that this new function doesn't get optimized away by a + whole-program optimizer. Make the 2nd arg EMACS_INT, not int. - * fontset.c (load_font_get_repertory): Pay attention to the case - that ENCODING of a font is specified by a char-table. +2011-10-29 Andreas Schwab - * xterm.c (x_get_font_repertory): Handle the case that the - encoding of font is other than Unicode. + * frame.h (MOUSE_HL_INFO): Remove excess parens. -2008-02-01 Kenichi Handa +2011-10-29 Eli Zaretskii - * 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. + Fix the `xbytecode' command. + * .gdbinit (xprintbytestr): New command. + (xwhichsymbols): Renamed from `which'; all callers changed. + (xbytecode): Print the byte-code string as well. -2008-02-01 Kenichi Handa +2011-10-29 Kim Storm - * 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. + * alloc.c (which_symbols): New function. - * coding.c (consume_chars): If coding->src_object is nil, don't - check annotation. +2011-10-29 Andreas Schwab -2008-02-01 Kenichi Handa + * minibuf.c (read_minibuf_noninteractive): Allow reading empty + line. (Bug#9903) - * character.c (char_string): Use ASCII_CHAR_P instead of - SINGLE_BYTE_CHAR_P. +2011-10-29 Glenn Morris -2008-02-01 Kenichi Handa + * process.c (wait_reading_process_output): Revert 2009-08-30 change. + Not clear what it was for, and it causes various bugs. (Bug#9839) - * 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. +2011-10-28 Eli Zaretskii -2008-02-01 Kenichi Handa + * xdisp.c (note_mouse_highlight): Initialize `part', to avoid a + possible random value that matches one of those tested as + condition to clear the mouse face. - * fns.c (concat): Don't change multibyteness of the result by - concatenating an 8-bit character. +2011-10-28 Chong Yidong - * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change - multibyteness of the result when newelt is an 8-bit character. + * xdisp.c (note_mouse_highlight): Fix use of uninitialized var. -2008-02-01 Dave Love +2011-10-28 Dan Nicolaescu - * 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 + * window.c (make_window): Initialize phys_cursor_on_p. - * coding.h (ENCODE_UTF_8): New. +2011-10-28 Stefan Monnier - * Makefile.in (gtkutil.o): Depend on coding.h. + * lisp.h (struct Lisp_Symbol): Update comments. - * coding.c (Fset_coding_system_priority): Doc fix. +2011-10-28 Juanma Barranquero -2008-02-01 Kenichi Handa + * w32font.c (w32_load_unicows_or_gdi32): Add missing return. - * fileio.c (Finsert_file_contents): Call setup_coding_system in - the case of auto saving. +2011-10-28 Eli Zaretskii -2008-02-01 Andreas Schwab + Fix Emacs on Windows 9X (bug#8562). Thanks to oslsachem + for helping to debug this. - * 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 + * w32font.c (g_b_init_is_w9x, g_b_init_get_outline_metrics_w) + (g_b_init_get_text_metrics_w, g_b_init_get_glyph_outline_w) + (g_b_init_get_glyph_outline_w): New static variables. + (GetOutlineTextMetricsW_Proc, GetTextMetricsW_Proc) + (GetGlyphOutlineW_Proc): New typedefs. + (w32_load_unicows_or_gdi32, get_outline_metrics_w) + (get_text_metrics_w, get_glyph_outline_w, globals_of_w32font): + New functions. + (w32font_open_internal, compute_metrics): + Call get_outline_metrics_w, get_text_metrics_w, and get_glyph_outline_w + instead of calling the "wide" APIs directly. - * 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. + * emacs.c (main) [HAVE_NTGUI]: Call globals_of_w32font. - * search.c (compile_pattern): Check the member target_multibyte, - not the member multibyte of buf. + * w32.h (syms_of_w32font): Add prototype. - * lread.c (read1): While reading a string, set force_singlebyte - and force_multibyte correctly. +2011-10-27 Juanma Barranquero - * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting - up of unibyte_to_multibyte_table. + * window.c (Fframe_root_window, Fframe_first_window, Fwindow_end) + (Fframe_selected_window, Ftemp_output_buffer_show, Fnext_window) + (Fdelete_window_internal, Fwindow_parameters): Fix typos in docstrings. + (Fmove_to_window_line): Doc fix. -2008-02-01 Kenichi Handa +2011-10-27 Chong Yidong - * 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). + * process.c (make_process): Set gnutls_state to NULL. -2008-02-01 Kenichi Handa + * gnutls.c (emacs_gnutls_deinit): Deinit the gnutls_state if it is + non-NULL, regardless of GNUTLS_INITSTAGE. + (Fgnutls_boot): Cleanups. Call emacs_gnutls_deinit if we signal + an error. Set process slots as soon as we allocate them. - * 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. + * gnutls.h (GNUTLS_LOG, GNUTLS_LOG2): Fix macros. -2008-02-01 Dave Love +2011-10-27 Chong Yidong - * lread.c (read_emacs_mule_char) [len==2]: Index - emacs_mule_charset correctly. + * gnutls.c (emacs_gnutls_deinit): New function. + Deallocate credentials structures as well as calling gnutls_deinit. + (Fgnutls_deinit, Fgnutls_boot): Use it. -2008-02-01 Dave Love + * process.c (make_process): Initialize GnuTLS credentials to NULL. + (deactivate_process): Call emacs_gnutls_deinit. - * 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. +2011-10-27 Juanma Barranquero -2008-02-01 Kenichi Handa + * image.c (x_create_x_image_and_pixmap): + * w32.c (sys_rename, w32_delayed_load): + * w32font.c (fill_in_logfont): + * w32reg.c (x_get_string_resource): Silence compiler warnings. - The following changes are to make the font rescaling facility - compatible with Emacs 21. +2011-10-26 Juanma Barranquero - * 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. + * w32fns.c (w32_default_color_map): New function, + extracted from Fw32_default_color_map. + (Fw32_default_color_map, Fx_open_connection): Use it. (Bug#9785) -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 +2011-10-25 Paul Eggert - * fileio.c (Finsert_file_contents): On replacing, before decoding - the file into the work buffer, set point of the work buffer to the end. + * dispextern.h (Fcontrolling_tty_p): New decl (Bug#6649 part 2). -2008-02-01 Dave Love +2011-10-25 Stefan Monnier - * coding.c (Fcheck_coding_systems_region): Fix type errors. + * keyboard.c (test_undefined): New function (bug#9751). + (read_key_sequence): Use it to detect when a key is bound to `undefined'. -2008-02-01 Dave Love +2011-10-25 Enami Tsugutomo - * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table - and fix C types. + * sysdep.c (init_sys_modes): Fix the check for the controlling + terminal (Bug#6649). -2008-02-01 Kenichi Handa +2011-10-20 Eli Zaretskii - * xdisp.c (SKIP_GLYPHS): New macro. - (set_cursor_from_row): Pay attention to string display properties. + * dispextern.h (struct bidi_it): New member next_en_type. - * category.c (copy_category_entry): Fix for the case that RANGE - is an integer. + * bidi.c (bidi_line_init): Initialize the next_en_type member. + (bidi_resolve_explicit_1): When next_en_pos is valid for the + current character, check also for next_en_type being WEAK_EN. + (bidi_resolve_weak): Don't enter the expensive loop if the current + position is before next_en_pos. Record the bidi type of the first + non-ET, non-BN character we find, in addition to its position. + (bidi_level_of_next_char): Invalidate next_en_type when + next_en_pos is over-stepped. - * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil. +2011-10-20 Paul Eggert - * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil. + Time zone name fixes for non-ASCII locales (Bug#641, Bug#9794) + * editfns.c: Rewrite current-time-zone so that it invokes + the equivalent of (format-time-string "%Z") to get the time zone name. + This fixes a bug when the time zone name contains characters that + need converting from the system time locale to Emacs internal format. + This fixes a shortcoming that I introduced in my 1999-10-19 patch: + that patch fixed format-time-string to do the conversion, but + I forgot to fix current-time-zone. + (format_time_string): New function, containing most of + what Fformat_time_string used to contain. + (Fformat_time_string): Rewrite in terms of format_time_string. + This doesn't change this function's behavior. + (current-time-zone): Rewrite to use format_time_string. + This fixes the bug reported by Michael Schierl in + . + Jason Rumney's 2007-06-07 change worked around this bug, but + didn't fix it. + * systime.h (tzname, timezone): Remove no-longer-used declarations. -2008-02-01 Kenichi Handa +2011-10-19 Eli Zaretskii - * charset.c (Fcharset_id_internal): New function. - (syms_of_charset): Defsubr it. + * xdisp.c (start_display): If the character at POS is displayed + via a display vector, reset IT->current.dpvec_index to zero. + (try_window_reusing_current_matrix): If a line ends in a display + vector or the next line starts in a display vector, continue + redrawing the window even though the character position of + start_row was reached. + (Bug#9771, part 2) - * 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. +2011-10-18 Chong Yidong - * coding.h (enum define_coding_ccl_arg_index): Set the first - member coding_arg_ccl_decoder to coding_arg_max. + * xdisp.c (get_next_display_element): Handle U+2010 and U+2011 + with nobreak-char-display too. - * ccl.h (ccl_driver): Adjust prototype. +2011-10-18 Eli Zaretskii - * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros. - (ccl_driver): New arg CHARSET_LIST. Use the above macros instead - of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET. - (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the - last arg Qnil. + Fix part 3 of bug#9771. + * bidi.c (bidi_line_init): Initialize next_en_pos to zero, not -1. + (bidi_resolve_neutral): Don't enter the expensive loop looking for + non-neutral characters if the current character is a paragraph + separator (a.k.a. Newline). This avoids running the same + expensive loop twice, once when we consume the preceding newline + and the other time when the line actually needs to be displayed. + Avoid the loop when we see neutrals on the base embedding level + following a character whose directionality is the same as the + paragraph's. This avoids running the expensive loop when a line + ends in a long sequence of neutrals, like control characters. + Add assertion against STRONG_AL type. Slightly rearrange code + that determines the type of a neutral given the first non-neutral + that follows it. + (bidi_level_of_next_char): Set next_en_pos to zero when + invalidating its info. -2008-02-01 Kenichi Handa +2011-10-17 Eli Zaretskii - * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET, - call encode_char. + * xdisp.c (push_display_prop): Determine whether to record string + or buffer position by IT->string, not by IT->method. Allow + GET_FROM_DISPLAY_VECTOR as IT->method on entry. (Bug#9771, part 4) + (move_it_vertically_backward): Don't look for character position + immediately after the newline when in a continuation line. + (Bug#9771, part 1) - * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET. +2011-10-15 Martin Rudalics -2008-02-01 Dave Love + * window.c (coordinates_in_window): Rewrite and delabelize + vertical border check. (Bug#5357) (Bug#9618) - * composite.c (syms_of_composite): Make composition_hash_table weak. +2011-10-14 Stefan Monnier -2008-02-01 Kenichi Handa + * xterm.c (frame_highlight, frame_unhighlight): Ignore unexplained + errors in XSetWindowBorder (bug#9310). - * 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. +2011-10-13 Dmitry Antipov - * 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. + * editfns.c (Fset_time_zone_rule): Replace free with xfree to + avoid crash when xmalloc overrun checking is enabled. - * 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. +2011-10-13 Eli Zaretskii - * 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. + * xdisp.c (Fcurrent_bidi_paragraph_direction): Initialize + itb.paragraph_dir to NEUTRAL_DIR. Fixes an occasional incorrect + cursor motion with and arrow keys. - * xterm.h (x_new_fontset): Adjust prototype. + * bidi.c (bidi_init_it): Don't initialize paragraph_dir here, as + some callers set that themselves. - * 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. +2011-10-12 Eli Zaretskii -2008-02-01 Kenichi Handa + * xdisp.c (find_row_edges): Handle the case where ROW comes from a + display string and the previous row comes from the same string and + is empty. (Bug#9739) (Bug#9738) - * 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. +2011-10-12 Stefan Monnier -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. + * doc.c (get_doc_string): Encode file name (bug#9735). - * syntax.c (skip_chars, skip_syntaxes): Fix type errors. +2011-10-12 Eli Zaretskii -2008-02-01 Kenichi Handa + * bidi.c (bidi_level_of_next_char): + * xdisp.c (get_visually_first_element): Remove old incorrect + comments regarding the Unicode Line Separator character. - * 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. + * bidi.c (bidi_init_it): Initialize paragraph_dir to NEUTRAL_DIR. - * 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. +2011-10-12 Dmitry Antipov -2008-02-01 Kenichi Handa + * alloc.c (Fgc_status): Do not access beyond zombies array + boundary if nzombies > MAX_ZOMBIES. + * alloc.c (dump_zombies): Add missing format specifier. - * charset.c (Fdefine_charset_internal): Setup charset.fast_map - correctly. +2011-10-12 Paul Eggert -2008-02-01 Dave Love + * xdisp.c (set_cursor_from_row): Simplify conditionals, + to pacify GCC 4.6.1 x86-64 with -O2 -Wstrict-overflow. - * fns.c (Flanginfo): Call synchronize_system_time_locale. + * lread.c (read_escape): Allow hex escapes as large as ?\xfffffff. + Some packages use them to denote characters with modifiers. -2008-02-01 Kenichi Handa +2011-10-11 Andreas Schwab - The following changes are to make character composition happen - automatically on displaying. + * lisp.h (GCPRO1_VAR, GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR) + (GCPRO5_VAR, GCPRO6_VAR, UNGCPRO_VAR): Add whitespace to avoid + matching a pp-number. Rename parameter var to var1. - * Makefile.in (lisp, shortlisp): Add composite.elc. +2011-10-11 Stefan Monnier - * composite.h (Qauto_composed, Vauto_composition_function) - (Qauto_composition_function): Extern them. + * minibuf.c (Finternal_complete_buffer): Fix last change (bug#9709). - * 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. +2011-10-08 Glenn Morris - * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX. + * callint.c (Fcall_interactively): Give a more explicit error for the + 'c' case with a non-character input. (Bug#8479) - * xdisp.c (it_props): Add an entry for Qauto_composed. - (handle_auto_composed_prop): New function. +2011-10-08 Eli Zaretskii - * 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. + * xdisp.c (hscroll_window_tree): Support hscroll in right-to-left + lines. + (set_cursor_from_row): Fix cursor positioning in mixed L2R+R2L + lines that are hscrolled on the left. -2008-02-01 Dave Love + * dispnew.c (buffer_posn_from_coords): Account for a possible + presence of header-line. (Bug#4426) - * xterm.c (XTread_socket): Fix changes for defined keysyms. - Add XK_ISO... case. - (xaw_scroll_callback): Revert last change. +2011-10-07 Stefan Monnier -2008-02-01 Kenichi Handa + * buffer.c (syms_of_buffer) : + Don't advertise functionality which we discourage or doesn't work. - * charset.c (Fset_charset_priority): Update Viso_2022_charset_list. +2011-10-07 Paul Eggert -2008-02-01 Kenichi Handa + * alloc.c (GC_LISP_OBJECT_ALIGNMENT): Use offsetof, not __alignof__ + or sizeof. __alignof__ gives the wrong answer on Fedora x86-64 + with GCC 4.6.1 when configured with CC='gcc -m32' --with-wide-int; + this makes Emacs dump core during garbage collection on rare + occasions. sizeof is obviously inferior to offsetof here, so + stick with offsetof. + (GC_POINTER_ALIGNMENT): New macro. + (mark_memory): Omit 3rd (offset) arg; caller changed. + Don't assume EMACS_INT alignment is the same as pointer alignment. - * 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. +2011-10-03 Stefan Monnier -2008-02-01 Dave Love + * keyboard.c (read_key_sequence_remapped): New var. + (read_key_sequence): Compute remapping in the right buffer. + (command_loop_1): Use read_key_sequence's remapping directly. - * xterm.c (xaw_scroll_callback): Cast correctly. +2011-10-02 Stefan Monnier -2008-02-01 Dave Love + * dired.c (file_name_completion): Don't expand file name. + (Ffile_name_completion, Ffile_name_all_completions): Expand file name + before checking file name handler. - * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend. - (lispy_kana_keys): Comment out. - (make_lispy_event) [XK_kana_A]: Comment out. + * minibuf.c (Finternal_complete_buffer): Only show internal buffers if + they've been requested explicitly (bug#9591). - * xterm.c (xaw_scroll_callback): Cast call_data. - (XTread_socket): Deal with ASCII keysyms. - (syms_of_xterm) : Fix args of make_hash_table. +2011-10-01 Andreas Schwab -2008-02-01 Dave Love + * keymap.c (Fsingle_key_description): Use make_specified_string + instead of build_string to build string from push_key_description. + (Bug#5193) - * 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. +2011-09-30 Paul Eggert -2008-02-01 Kenichi Handa + * buffer.h (struct buffer): Use time_t, not int, for a time stamp. + This fixes a Y2038 bug on 64-bit hosts. + * buffer.c (reset_buffer): + * fileio.c (Fdo_auto_save, Fset_buffer_auto_saved) + (Fclear_buffer_auto_save_failure): + Use 0, not -1, to represent an unset failure time, since time_t + might not be signed. - * coding.c (detect_coding_charset): If only ASCII bytes are found, - return 0. - (Fdefine_coding_system_internal): Setup - CODING_ATTR_ASCII_COMPAT (attrs) correctly. + Remove dependency on glibc malloc internals. + * alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE): + Move back here from lisp.h, but with their new implementations. + (XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT) + (XMALLOC_OVERRUN_SIZE_SIZE): Move these new lisp.h macros here. + * charset.c (charset_table_init): New static var. + (syms_of_charset): Use it instead of xmalloc. This removes a + dependency on glibc malloc internals. See Eli Zaretskii's comment in + . + * lisp.h (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE): + Move back to alloc.c. + (XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT) + (XMALLOC_OVERRUN_SIZE_SIZE): Move to alloc.c. -2008-02-01 Dave Love +2011-09-30 Jan Djärv - * coding.c (Fcheck_coding_system): Doc fix. + * nsterm.m (windowDidResize): Call x_set_window_size only when + ns_in_resize is true. Otherwise set pixelwidth/height and + call change_frame_size (Bug#9628). - * editfns.c (Finsert_byte): Return a proper value. +2011-09-30 Paul Eggert -2008-02-01 Kenichi Handa + Port --enable-checking=all to Fedora 14 x86-64. + * charset.c (syms_of_charset): Also account for glibc malloc's + internal overhead when calculating the initial malloc maximum. - * 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. + Port --enable-checking=all to Fedora 14 x86. + * alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE): + Move to lisp.h. + (xmalloc_put_size, xmalloc_get_size, overrun_check_malloc) + (overrun_check_realloc, overrun_check_free): + Use XMALLOC_OVERRUN_SIZE_SIZE, not sizeof (size_t). + That way, xmalloc returns a properly-aligned pointer even if + XMALLOC_OVERRUN_CHECK is defined. The old debugging code happened + to align OK on typical 64-bit hosts, but not on Fedora 14 x86. + * charset.c (syms_of_charset): Take XMALLOC_OVERRUN_CHECK_OVERHEAD + into account when calculating the initial malloc maximum. + * lisp.h (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE): + Move here from alloc.c, so that charset.c can use it too. + Properly align; the old code wasn't right for common 32-bit hosts + when configured with --enable-checking=all. + (XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT) + (XMALLOC_OVERRUN_SIZE_SIZE): New macros. - * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by - SINGLE_BYTE_CHAR_P. +2011-09-29 Eli Zaretskii - * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P, - not by SINGLE_BYTE_CHAR_P. + * sysdep.c (snprintf) [!EOVERFLOW]: If EOVERFLOW is not defined, + use EDOM. - * fns.c (concat): Check CH by ASCII_CHAR_P, not by - SINGLE_BYTE_CHAR_P. +2011-09-28 Eli Zaretskii - * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by - SINGLE_BYTE_CHAR_P. + * xdisp.c (compute_display_string_end): If there's no display + string at CHARPOS, return -1. - * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not - by SINGLE_BYTE_CHAR_P. + * bidi.c (bidi_fetch_char): When compute_display_string_end + returns a negative value, treat the character as a normal + character not covered by a display string. (Bug#9624) - * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by - SINGLE_BYTE_CHAR_P. +2011-09-28 Juanma Barranquero -2008-02-01 Dave Love + * lread.c (Fread_from_string): Fix typo in docstring. - * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix. +2011-09-27 Eli Zaretskii -2008-02-01 Dave Love + * xdisp.c (handle_invisible_prop): If invisible text ends on a + newline, reseat the iterator instead of bidi-iterating there one + character at a time. (Bug#9610) + (BUFFER_POS_REACHED_P, move_it_in_display_line_to): Bail when past + TO_CHARPOS if the bidi iterator is at base embedding level. - * fns.c (Flanginfo): Fix typo. +2011-09-27 Andreas Schwab - * unexelf.c (unexec): Make last change conditional on Irix 6.5. + * lread.c (readevalloop): Use correct code for NBSP. + (read1): Likewise. (Bug#9608) -2008-02-01 Kenichi Handa +2011-09-25 Michael Albinus - * 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. + * dbusbind.c (Fdbus_register_signal): When service is not + registered, use nil in Vdbus_registered_objects_table. (Bug#9581) -2008-02-01 Kenichi Handa +2011-09-25 Glenn Morris - * character.c (char_string): Rename from - char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK. - (string_char): Rename from string_char. + * buffer.c (truncate-lines): Doc fix. - * 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. +2011-09-24 Chong Yidong -2008-02-01 Dave Love + * window.c (Fwindow_prev_buffers, Fset_window_prev_buffers) + (Fset_window_next_buffers): Doc fix. - * coding.c (decode_coding_utf_8): Treat surrogates as invalid. +2011-09-24 Glenn Morris -2008-02-01 Kenichi Handa + * minibuf.c (read_minibuf): Disable line truncation. (Bug#5715) - * keymap.c (push_key_description): Pay attention to force_multibyte. +2011-09-24 Paul Eggert - * regex.c (re_search_2): Fix for the case of unibyte buffer. + Fix minor problems found by static checking. + * xdisp.c (string_from_display_spec): Don't assume vecsize fits in int. + * indent.c (Fvertical_motion): Fix == vs = typo. -2008-02-01 Dave Love +2011-09-24 Eli Zaretskii - * charset.c (define_charset_internal): Rename `supprementary'. + * dispnew.c (syms_of_display) : + Default value is now t. Doc fix. - * Makefile.in (lisp, shortlisp): Remove latin-N. + * indent.c (Fvertical_motion): Compute and apply the overshoot + logic when moving up, not only when moving down. Fix the + confusing name and values of the it_overshoot_expected variable; + logic changes accordingly. (Bug#9254) (Bug#9549) -2008-02-01 Dave Love + * xdisp.c (pos_visible_p): Produce correct pixel coordinates when + CHARPOS is covered by a display string which includes newlines. + (move_it_vertically_backward): Avoid inflooping when START_CHARPOS + is covered by a display string with embedded newlines. - * xfns.c (x_window, x_window): Use use_xim. +2011-09-24 Michael Albinus - * xterm.c (use_xim): Initialize. - (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim. - (x_term_init): Maybe set use_xim. + * dbusbind.c (Fdbus_register_signal): Add match rule to + Vdbus_registered_objects_table. (Bug#9581) + (Fdbus_register_method, Vdbus_registered_objects_table): + Fix docstring. - * xterm.h (use_xim) [HAVE_X_I18N]: Declare. +2011-09-24 Jim Meyering -2008-02-01 Kenichi Handa + do not ignore write error for any output size + The previous change was incomplete. + While it makes emacs --batch detect the vast majority of stdout + write failures, errors were still ignored whenever the output size is + k * (BUFSIZ+1) - 4. E.g., on a system with BUFSIZ of 4096, + $ emacs --batch --eval '(print (format "%4093d" 0))' > /dev/full \ + && echo FAIL: ignored write error + FAIL: ignored write error + $ emacs --batch --eval '(print (format "%20481d" 0))' > /dev/full \ + && echo FAIL: ignored write error + FAIL: ignored write error + * emacs.c (Fkill_emacs): Also test ferror. (Bug#9574) - * search.c (search_buffer): Fix case-fold-search of multibyte - characters. - (boyer_moore): Rename the last argument to char_high_bits. +2011-09-23 Andreas Schwab -2008-02-01 Kenichi Handa + * emacs.c (Fkill_emacs): In noninteractive mode exit + non-successfully if a write error occurred on stdout. (Bug#9574) - * xdisp.c (display_string): Fix for the case of zero width glyph. +2011-09-21 Eli Zaretskii - * xfns.c (x_set_font): Change the error message of the case that - x_new_fontset returns Qt. + * xdisp.c (pop_it): Allow it->object that is a cons cell to pass + the xassert test. - * 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. + * dispextern.h (struct it): Update the comment documenting what + can it->OBJECT be. - * xterm.c (x_new_fontset): If FONTSETNAME specifies the default - fontset, return Qt. +2011-09-20 Eli Zaretskii -2008-02-01 Dave Love + * xdisp.c (set_cursor_from_row): If the row ends in a newline from + a display string, extend search for cursor position to end of row. + (find_row_edges): If the row ends in a newline from a display + string, increment its MATRIX_ROW_END_CHARPOS by one. (Bug#9549) + Handle the case of a display string with multiple newlines. + (Fcurrent_bidi_paragraph_direction): Fix search for previous + non-empty line. Fixes confusing cursor motion with arrow keys at + the beginning of a line that starts with whitespace. - * unexelf.c (unexec): Make .got handling not SGI-specific. +2011-09-19 Lars Magne Ingebrigtsen - * syntax.c (syms_of_syntax) : Doc fix. + * lread.c (Fread_from_string): Document what FINAL-STRING-INDEX is + (bug#9493). - * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'. +2011-09-18 Chong Yidong - * keyboard.c (read_key_sequence): Fix type error. + * xfns.c (Fx_create_frame): Handle the bitmapIcon resource as + boolean (Bug#9154). - * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix - type error. +2011-09-18 Eli Zaretskii - * fontset.c (fontset_add): Return Lisp_Object. + * xdisp.c (display_line): Record maximum and minimum buffer + positions even if no glyphs were produced (e.g., by a zero-width + stretch). Fixes bug#9530 on a TTY. Under word-wrap, don't record + buffer positions that will be removed from the glyph row because + they don't fit. + (produce_stretch_glyph): Fix a bug in :align-to on a TTY when the + column is beyond frame width: don't subtract 1 "pixel" when + computing width of the stretch. + (reseat_at_next_visible_line_start): Undo the change made on + 2011-09-17 that saved paragraph information and restored it after + the call to `reseat'. (Bug#9545) -2008-02-01 Dave Love +2011-09-18 YAMAMOTO Mitsuharu - * charset.h (charset_ordered_list_tick): Declare extern. + * xdisp.c (expose_window): Save original value of phys_cursor_on_p + and turn window cursor on if cleared (Bug#9415). -2008-02-01 Kenichi Handa +2011-09-18 Andreas Schwab - 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. + * search.c (boyer_moore): Take unibyte characters from pattern + literally. (Bug#9458) - * abbrev.c (Fexpand_abbrev): Convert a unibyte character to - multibyte if necessary. +2011-09-18 Eli Zaretskii - * bytecode.c (Fbyte_code): Likewise. + * xdisp.c (reseat_at_next_visible_line_start): Fix last change. - * 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. +2011-09-18 Paul Eggert - * 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. + Fix minor problem found by static checking. + * xdisp.c (reseat_at_next_visible_line_start): Mark locals as + initialized, to pacify gcc -Wuninitialized. - * 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'. + * fileio.c: Report proper errno when syscall falls. + (Finsert_file_contents): Save and restore errno, + so that report_file_error outputs the correct diagnostic. + (Fwrite_region) [CLASH_DETECTION]: Likewise. - * 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. +2011-09-18 Eli Zaretskii - * lisp.h (unibyte_char_to_multibyte): Delete extern. + * .gdbinit (pgx): Fix references to fields of `struct glyph'. - * minibuf.c (Fminibuffer_complete_word): Use the macro - FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE. +2011-09-17 Eli Zaretskii - * regex.h (struct re_pattern_buffer): New member target_multibyte. + * xdisp.c (produce_stretch_glyph): Another fix for changes made on + 2011-08-30T17:32:44Z!eliz@gnu.org. (Bug#9530) - * 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. +2011-09-17 Eli Zaretskii - * 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. + * xdisp.c (reseat_at_next_visible_line_start): Keep information + about the current paragraph and restore it after the call to reseat. - * 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. + * bidi.c (MAX_PARAGRAPH_SEARCH): New macro. + (bidi_find_paragraph_start): Search back for paragraph beginning + at most MAX_PARAGRAPH_SEARCH lines; if not found, return BEGV_BYTE. + (bidi_move_to_visually_next): Only trigger paragraph-related + computations when the last character is a newline or at EOB, not + just any NEUTRAL_B. (Bug#9470) -2008-02-01 Kenichi Handa + * xdisp.c (set_cursor_from_row): Don't invoke special treatment of + truncated lines if point is covered by a display string. (Bug#9524) - * 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. +2011-09-16 Paul Eggert -2008-02-01 Kenichi Handa + * xselect.c: Relax test for outgoing X longs (Bug#9498). + (cons_to_x_long): New function. + (lisp_data_to_selection_data): Use it. Correct the test for + short-versus-long data; it was negated. Break out of vector + loop, for efficiency, when a long datum is discovered. - * 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. +2011-09-16 Stefan Monnier - * insdel.c (insert_from_gap): Make it work even if PT != GTP. + * eval.c (Fquote): Document its non-consing behavior (bug#9482). - * character.h (BYTE8_STRING): New macro. +2011-09-16 Eli Zaretskii - * fns.c (base64_decode_1): Insert eight-bit chars correctly. + * image.c (tiff_handler): Work around a bug in MinGW GCC 3.x (see + GCC PR/17406) by declaring this function with external scope. -2008-02-01 Kenichi Handa +2011-09-15 Paul Eggert - * xdisp.c (get_next_display_element): Don't display unibyte 8-bit - characters by octal form. + * editfns.c (Fformat): Fix bug in text-property fix (Bug#9514). + Don't mishandle (length (format "%%")) and (format "%4000s%%" ""). - * abbrev.c (Fexpand_abbrev): Fix for the multibyte case. +2011-09-15 Andreas Schwab - * 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. + * editfns.c (Fformat): Correctly handle text properties on "%%". - * casetab.c (set_canon, set_identity, shuffle): Simplify. +2011-09-15 Eli Zaretskii - * casefiddle.c (casify_object): Simplify. Handle the case that - the case conversion change the byte length. - (casify_region): Likewise. + * xterm.c (x_draw_composite_glyph_string_foreground): + * w32term.c (x_draw_composite_glyph_string_foreground): + * term.c (encode_terminal_code): + * composite.c (composition_update_it, get_composition_id): + * xdisp.c (get_next_display_element) + (fill_composite_glyph_string): Add comments about special meaning + of TAB characters in a composition. - * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros. +2011-09-15 Paul Eggert - * character.c (_fetch_multibyte_char_len): Delete this variable. - (syms_of_character): Setup Vprintable_chars. + * editfns.c (Fformat): Fix off-by-1 bug for "%%b" (Bug#9514). + This occurs when processing a multibyte format. + Problem reported by Wolfgang Jenker. - * editfns.c (Fchar_equal): Fix for the unibyte case. - (Finsert_byte): New function. - (syms_of_editfns): Defsubr it. +2011-09-15 Johan Bockgård - * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead - of direct code 0x3ffff. + * xdisp.c (try_cursor_movement): Only check for exact match if + cursor hpos found by set_cursor_from_row is valid. (Bug#9495) - * search.c (Freplace_match): Fix for the unibyte case. +2011-09-14 Paul Eggert -2008-02-01 Kenichi Handa + Remove unused external symbols. + * dispextern.h (calc_pixel_width_or_height): Remove decl. + * xdisp.c (calc_pixel_width_or_height): Now static. + * doprnt.c (exprintf) [! (HAVE_X_WINDOWS && USE_X_TOOLKIT)]: Remove. + * indent.c (check_display_width): + * w32term.c: Fix comment to match code. + * xterm.c, xterm.h (x_catching_errors): Remove. - * lread.c (safe_to_load_p): Fix the logic. +2011-09-14 Paul Eggert - * syntax.c (scan_words): Don't treat characters belonging to - different scripts as constituting a word. + * xselect.c: Use signed conversions more consistently (Bug#9498). + (selection_data_to_lisp_data): Assume incoming selection data are + signed integers, not unsigned. This is to be consistent with + outgoing selection data, which was modified to use signed integers + in as part of the fix to Bug#9196 in response to Jan D.'s comment + in that X11 + expects long, not unsigned long. - * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P. +2011-09-14 Eli Zaretskii - * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script. + * xdisp.c (try_window_reusing_current_matrix): Fix incorrect + computation of loop end. Reported by Johan Bockgård + . - * emacs.c (main): In the case of --unibyte, instead of aborting on - finding non-empty buffer, make it unibyte. +2011-09-13 Chong Yidong -2008-02-01 Kenichi Handa + * frame.c (Fother_visible_frames_p): Function deleted. - * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font' - to create a fontset. +2011-09-12 Eli Zaretskii -2008-02-01 Dave Love + * indent.c (compute_motion): Process display vector front to back + rather than the other way around. (Bug#2496) - * character.c (Funibyte_char_to_multibyte): Doc fix. +2011-09-12 Stefan Monnier - * xfns.c [HAVE_STDLIB_H]: Fix last change. + * fileio.c (Finsert_file_contents): Don't assume beg_offset is 0. -2008-02-01 Kenichi Handa +2011-09-11 Chong Yidong - * fontset.c (fontset_add): Make the type `int'. - (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined. + * minibuf.c (Fread_from_minibuffer): Doc fix. - * character.c (unibyte_char_to_multibyte) - (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to - charset_unibyte, not charset_primary. +2011-09-11 Eli Zaretskii - * charset.h (charset_unibyte): Extern it instead of charset_primary. + * xdisp.c (produce_stretch_glyph): Fix a typo made in changes from + 2011-08-30T17:32:44Z!eliz@gnu.org. (Bug#9475) - * 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. +2011-09-11 Lars Magne Ingebrigtsen - * 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. + * fileio.c (Fvisited_file_modtime): Document `(-1 65535)' as a + value for non-existent files. - * lisp.h (nonascii_insert_offset, Vnonascii_translation_table): - Delete extern. +2011-09-11 Eli Zaretskii -2008-02-01 Kenichi Handa + * fileio.c (Finsert_file_contents): If the file cannot be opened, + set its "size" to -1. This will set the modtime_size field of + the corresponding buffer to -1, which is what + verify-visited-file-modtime expects for files that do not exist. + (Bug#9139) - * coding.c (Fdefine_coding_system_internal): Fix category setting - for a coding system of type iso-2022. +2011-09-11 Paul Eggert -2008-02-01 Kenichi Handa + * keymap.h (KEY_DESCRIPTION_SIZE, push_key_description): Move decls + here ... + * lisp.h: ... from here. push_key_description is no longer + defined in keyboard.c, so its declaration should not be in + lisp.h's "Defined in keyboard.c" section, and KEY_DESCRIPTION_SIZE + logically belongs with push_key_description. - * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1. +2011-09-10 Paul Eggert -2008-02-01 Kenichi Handa + * buffer.h: Include instead of . + Otherwise, off_t wasn't defined on FreeBSD 9.0-BETA2 i386. + Problem reported by Herbert J. Skuhra. - * 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. +2011-09-10 Lars Magne Ingebrigtsen - * xterm.c (x_load_font): Initialize fontp->fontset to -1. + * xml.c (parse_region): Make the parsing work for + non-comment-starting XML files again (bug#9144). - * fontset.c (fs_load_font): If fontp->charset is not negative, - return fontp without setting its members. +2011-09-10 Andreas Schwab -2008-02-01 Dave Love + * image.c (gif_load): Fix calculation of bottom and right corner. + (Bug#9468) - * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo). +2011-09-10 Eli Zaretskii - * m/sparc.h (HAVE_ALLOCA): Delete. + * xdisp.c (MAX_DISP_SCAN): Decrease to 250. Prevents sluggish + redisplay in small windows. - * s/irix6-5.h: Don't include strings.h. - (bcopy, bzero, bcmp): Don't undef. +2011-09-09 Eli Zaretskii - * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef. + * frame.c (x_report_frame_params): Cast to avoid compiler warnings. - * s/usg5-4.h (NO_SIOCTL_H): Don't define. - (TIOCSIGSEND): Don't test IRIX6. - (bcopy, bzero, bcmp): Define conditionally. +2011-09-08 Martin Rudalics -2008-02-01 Kenichi Handa + * window.c (Fset_window_prev_buffers, Fset_window_next_buffers): + Operate on live windows only. - * 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. +2011-09-08 Juanma Barranquero - * callproc.c (Fcall_process): Don't call insert_1_both directly if - we are inserting a process output into a multibyte buffer. + * emacs.c (my_heap_start): #ifdef to avoid warnings when unused. - * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call - multibyte_char_to_unibyte. +2011-09-07 Eli Zaretskii - * 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. + * xdisp.c (move_it_in_display_line_to): Call RESTORE_IT on ppos_it + only under bidi iteration. - * 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. +2011-09-07 Jan Djärv - * charset.h (charset_8_bit): Extern it. + * gtkutil.c (xg_make_tool_item): Insert comment about eventbox. - * coding.c (make_conversion_work_buffer): Adjust for the change - of Fset_buffer_multibyte. - (encode_coding_raw_text): Increment p0 in the loop. +2011-09-06 Paul Eggert - * lisp.h (Fset_buffer_multibyte): Adjust prototype. + isnan: Fix porting problem to Solaris 10 with bundled gcc. + Without this fix, the command to link temacs failed due to an + undefined symbol __builtin_isnan. This is because + /usr/include/iso/math_c99.h #defines isnan(x) to + __builtin_isnan(x), but the bundled gcc, which identifies itself + as gcc 3.4.3 (csl-sol210-3_4-branch+sol_rpath), does not have + a __builtin_isnan. + * floatfns.c (isnan): #undef, and then #define to a clone of + what's in data.c. + (Fisnan): Always define, since it's always available now. + (syms_of_floatfns): Always define isnan at the Lisp level. - * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust - for the change of Fset_buffer_multibyte. +2011-09-06 Paul Eggert - * fns.c (Fstring_to_multibyte): New function. - (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine. + * Makefile.in (gl-stamp): move-if-change now in build-aux (Bug#9169). -2008-02-01 Dave Love +2011-09-06 Paul Eggert - * xfns.c (x_put_x_image): Declare args. + * fileio.c: Fix bugs with large file offsets (Bug#9428). + The previous code assumed that file offsets (off_t values) fit in + EMACS_INT variables, which is not true on typical 32-bit hosts. + The code messed up by falsely reporting buffer overflow in cases + such as (insert-file-contents "big" nil 1 2) into an empty buffer + when "big" contains more than 2**29 bytes, even though this + inserts just one byte and does not overflow the buffer. + (Finsert_file_contents): Store file offsets as off_t + values, not as EMACS_INT values. Check for overflow when + converting between EMACS_INT and off_t. When checking for + buffer overflow or for overlap, take the offsets into account. + Don't use EMACS_INT for small values where int suffices. + When checking for overlap, fix a typo: ZV was used where + ZV_BYTE was intended. + (Fwrite_region): Don't assume off_t fits into 'long'. + * buffer.h (struct buffer.modtime_size): Now off_t, not EMACS_INT. - * xfaces.c (font_name_registry, choose_face_font): Delete unused vars. - (try_font_list): Declare an arg. +2011-09-05 Michael Albinus - * xdisp.c (message2_nolog, set_message): Declare an arg. + * dbusbind.c (xd_signature_cat): Rename from signature_cat. - * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm. +2011-09-04 Paul Eggert - * syntax.c (scan_sexps_forward): Declare an arg. + sprintf-related integer and memory overflow issues (Bug#9412). - * scroll.c (calculate_scrolling, calculate_direct_scrolling): - Declare an arg. + * doprnt.c (doprnt): Support printing ptrdiff_t and intmax_t values. + (esprintf, exprintf, evxprintf): New functions. + * keyboard.c (command_loop_level): Now EMACS_INT, not int. + (cmd_error): Kbd macro iterations count is now EMACS_INT, not int. + (modify_event_symbol): Do not assume that the length of + name_alist_or_stem is safe to alloca and fits in int. + (Fexecute_extended_command): Likewise for function name and binding. + (Frecursion_depth): Wrap around reliably on integer overflow. + * keymap.c (push_key_description): First arg is now EMACS_INT, not int, + since some callers pass EMACS_INT values. + (Fsingle_key_description): Don't crash if symbol name contains more + than MAX_ALLOCA bytes. + * minibuf.c (minibuf_level): Now EMACS_INT, not int. + (get_minibuffer): Arg is now EMACS_INT, not int. + * lisp.h (get_minibuffer, push_key_description): Reflect API changes. + (esprintf, exprintf, evxprintf): New decls. + * window.h (command_loop_level, minibuf_level): Reflect API changes. - * lisp.h (Fnew_fontset): Declare. + * dbusbind.c (signature_cat): New function. + (xd_signature, Fdbus_register_signal): + Do not overrun buffer; instead, report string overflow. - * keymap.c (push_key_description): Call CHARACTERP correctly. + * dispnew.c (add_window_display_history): Don't overrun buffer. + Truncate instead; this is OK since it's just a log. - * fontset.c (fontset_add): Declare args. Call make_number correctly. - (face_for_char): Delete unused vars. - (Fset_fontset_font): Doc fix. Delete unused vars. + * editfns.c (Fcurrent_time_zone): Don't overrun buffer + even if the time zone offset is outlandishly large. + Don't mishandle offset == INT_MIN. - * doc.c (Fsubstitute_command_keys): Delete unused vars. + * emacs.c (main) [NS_IMPL_COCOA]: Don't overrun buffer + when creating daemon; the previous buffer-overflow check was incorrect. + + * eval.c (verror): Simplify by rewriting in terms of evxprintf, + which has the guts of the old verror function. + + * filelock.c (lock_file_1, lock_file): Don't blindly alloca long name; + use SAFE_ALLOCA instead. Use esprintf to avoid int-overflow issues. + + * font.c: Include , for DBL_MAX_10_EXP. + (font_unparse_xlfd): Don't blindly alloca long strings. + Don't assume XINT result fits in int, or that XFLOAT_DATA * 10 + fits in int, when using sprintf. Use single snprintf to count + length of string rather than counting it via multiple sprintfs; + that's simpler and more reliable. + (font_unparse_fcname): Use it to avoid sprintf buffer overrun. + (generate_otf_features) [0 && HAVE_LIBOTF]: Use esprintf, not + sprintf, in case result does not fit in int. + + * fontset.c (num_auto_fontsets): Now printmax_t, not int. + (fontset_from_font): Print it. + + * frame.c (tty_frame_count): Now printmax_t, not int. + (make_terminal_frame, set_term_frame_name): Print it. + (x_report_frame_params): In X, window IDs are unsigned long, + not signed long, so print them as unsigned. + (validate_x_resource_name): Check for implausibly long names, + and don't assume name length fits in 'int'. + (x_get_resource_string): Don't blindly alloca invocation name; + use SAFE_ALLOCA. Use esprintf, not sprintf, in case result does + not fit in int. + + * gtkutil.c: Include , for DBL_MAX_10_EXP. + (xg_check_special_colors, xg_set_geometry): + Make sprintf buffers a bit bigger, to avoid potential buffer overrun. + + * lread.c (dir_warning): Don't blindly alloca buffer; use SAFE_ALLOCA. + Use esprintf, not sprintf, in case result does not fit in int. + + * macros.c (executing_kbd_macro_iterations): Now EMACS_INT, not int. + (Fend_kbd_macro): Don't mishandle MOST_NEGATIVE_FIXNUM by treating + it as a large positive number. + (Fexecute_kbd_macro): Don't assume repeat count fits in int. + * macros.h (executing_kbd_macro_iterations): Now EMACS_INT, not int. + + * nsterm.m ((NSSize)windowWillResize): Use esprintf, not sprintf, + in case result does not fit in int. + + * print.c (float_to_string): Detect width overflow more reliably. + (print_object): Make sprintf buffer a bit bigger, to avoid potential + buffer overrun. Don't assume list length fits in 'int'. Treat + print length of 0 as 0, not as infinity; to be consistent with other + uses of print length in this function. Don't overflow print length + index. Don't assume hash table size fits in 'long', or that + vectorlike size fits in 'unsigned long'. + + * process.c (make_process): Use printmax_t, not int, to format + process-name gensyms. + + * sysdep.c (snprintf) [! HAVE_SNPRINTF]: New function. + + * term.c (produce_glyphless_glyph): Make sprintf buffer a bit bigger + to avoid potential buffer overrun. + + * xfaces.c (x_update_menu_appearance): Don't overrun buffer + if X resource line is longer than 512 bytes. + + * xfns.c (x_window): Make sprintf buffer a bit bigger + to avoid potential buffer overrun. + + * xterm.c (x_io_error_quitter): Don't overrun sprintf buffer. + + * xterm.h (x_check_errors): Add ATTRIBUTE_FORMAT_PRINTF. + +2011-09-04 Paul Eggert + + Integer overflow fixes for scrolling, etc. + Without these, Emacs silently mishandles large integers sometimes. + For example, "C-u 4294967297 M-x recenter" was treated as if + it were "C-u 1 M-x recenter" on a typical 64-bit host. + + * xdisp.c (try_window_id): Check Emacs fixnum range before + converting to 'int'. + + * window.c (window_scroll_line_based, Frecenter): + Check that an Emacs fixnum is in range before assigning it to 'int'. + (Frecenter, Fmove_to_window_line): Use EMACS_INT, not int, for + values converted from Emacs fixnums. + (Frecenter): Don't wrap around a line count if it is out of 'int' + range; instead, treat it as an extreme value. + (Fset_window_configuration, compare_window_configurations): + Use ptrdiff_t, not int, for index that might exceed 2 GiB. - * composite.c (update_compositions): Declare arg. + * search.c (Freplace_match): Use ptrdiff_t, not int, for indexes + that can exceed INT_MAX. Check that EMACS_INT value is in range + before assigning it to the (possibly-narrower) index. + (match_limit): Don't assume that a fixnum can fit in 'int'. - * cm.c (calccost, cmgoto): Declare args. + * print.c (print_object): Use ptrdiff_t, not int, for index that can + exceed INT_MAX. - * charset.c: Remove `emacs' conditional. Doc fixes. - (map_char_table_for_charset): Declare. + * indent.c (position_indentation): Now takes ptrdiff_t, not int. + (Fvertical_motion): Don't wrap around LINES values that don't fit + in 'int'. Instead, treat them as extreme values. This is good + enough for windows, which can't have more than INT_MAX lines anyway. - * character.c (syms_of_character) : Doc fix. +2011-09-03 Lars Magne Ingebrigtsen - * ccl.c: Remove `emacs' conditional. + * Require libxml/parser.h to avoid compilation warning. -2008-02-01 Kenichi Handa + * emacs.c (shut_down_emacs): Call xmlCleanupParser on shutdown. - The following changes are to allow specifying multiple font - patterns for a character range (specified by script or charset). + * xml.c (parse_region): Don't call xmlCleanupParser after parsing, + since this reportedly can destroy thread storage. - * Makefile.in (abbrev.o): Depend on syntax.h. - (xfaces.o): Depend on charset.h. +2011-08-30 Chong Yidong - * alloc.c (Fmake_string): Use ASCII_CHAR_P, not - SINGLE_BYTE_CHAR_P. + * syntax.c (find_defun_start): Update all cache variables if + exiting early (Bug#9401). - * ccl.c (Fccl_execute_on_string): Add `const' to local variables. +2011-08-30 Eli Zaretskii - * character.h (Vchar_script_table): Extern it. + * image.c (x_bitmap_pixmap): Cast to int to avoid compiler warnings. - * 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. + * xdisp.c (produce_stretch_glyph): No longer static, compiled also + when HAVE_WINDOW_SYSTEM is not defined. Support both GUI and TTY + frames. Call tty_append_glyph in the TTY case. (Bug#9402) - * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't - have property char-table-extra-slots, make no extra slot. + * term.c (tty_append_glyph): New function. + (produce_stretch_glyph): Static function and its prototype deleted. - * 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): + * dispextern.h (produce_stretch_glyph, tty_append_glyph): 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. +2011-08-29 Paul Eggert -2008-02-01 Dave Love + * image.c (parse_image_spec): Check for nonnegative, not for positive, + when checking :margin (Bug#9390). + (IMAGE_NON_NEGATIVE_INTEGER_VALUE_OR_PAIR): + Rename from IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, + so that the name doesn't mislead. All uses changed. - * coding.c: Doc fixes. - (Fcoding_system_aliases): Fix return value. - (Qmac): Remove (duplicated) definition. +2011-08-28 Johan Bockgård -2008-02-01 Dave Love + * term.c (init_tty) [HAVE_GPM]: Move mouse settings after + set_tty_hooks. - * 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 +2011-08-27 Eli Zaretskii + + * xdisp.c (move_it_to): Don't bail out early when reaching + position beyond to_charpos, if we are scanning backwards. + (move_it_vertically_backward): When DY == 0, make sure we get to + the first character in the line after the newline. - * coding.c (decode_coding_charset, encode_coding_charset): Handle - multiple charsets correctly. +2011-08-27 Paul Eggert -2008-02-01 Kenichi Handa + * ccl.c: Improve and simplify overflow checking (Bug#9196). + (ccl_driver): Do not generate an out-of-range pointer. + (Fccl_execute_on_string): Remove unnecessary check for + integer overflow, noted by Stefan Monnier in + . + Remove a FIXME that didn't need fixing. + Simplify the newly-introduced buffer reallocation code. - * 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. +2011-08-27 Juanma Barranquero + + * makefile.w32-in ($(BLD)/alloc.$(O)): Depend on lib/verify.h. + +2011-08-26 Paul Eggert + + Integer and memory overflow issues (Bug#9196). + + * doc.c (get_doc_string): Rework so that + get_doc_string_buffer_size is the actual buffer size, rather than + being 1 less than the actual buffer size; this makes xpalloc more + convenient. + + * image.c (x_allocate_bitmap_record, cache_image): + * xselect.c (Fx_register_dnd_atom): + Simplify previous changes by using xpalloc. + + * buffer.c (overlay_str_len): Now ptrdiff_t, not EMACS_INT, + since either will do and ptrdiff_t is convenient with xpalloc. + + * charset.c (charset_table_size) + (struct charset_sort_data.priority): Now ptrdiff_t. + (charset_compare): Don't overflow if priorities differ greatly. + (Fsort_charsets): Don't assume list length fits in int. + Check for size-calculation overflow when allocating sort data. + (syms_of_charset): Allocate an initial charset table that is + just under 64 KiB, to avoid problems with glibc malloc and mmap. + + * cmds.c (internal_self_insert): Check for size-calculation overflow. + + * composite.h (struct composition.glyph_len): Now int, not unsigned. + The actual value is always <= INT_MAX, and leaving it unsigned made + overflow checking harder. + + * dispextern.h (struct glyph_matrix.rows_allocated) + (struct face_cache.size): Now ptrdiff_t, for convenience in use + with xpalloc. The values are still always <= INT_MAX. + + * indent.c (compute_motion): Adjust to region_cache_forward sig change. + + * lisp.h (xnmalloc, xnrealloc, xpalloc): New decls. + (SAFE_NALLOCA): New macro. + + * region-cache.c (struct boundary.pos, find_cache_boundary) + (move_cache_gap, insert_cache_boundary, delete_cache_boundaries) + (set_cache_region, invalidate_region_cache) + (revalidate_region_cache, know_region_cache, region_cache_forward) + (region_cache_backward, pp_cache): + Use ptrdiff_t, not EMACS_INT, since either will do. This is needed + so that ptrdiff_t * can be passed to xpalloc. + (struct region_cache): Similarly, for gap_start, gap_len, cache_len, + beg_unchanged, end_unchanged, buffer_beg, buffer_end members. + (pp_cache): Don't assume cache_len fits in int. + * region-cache.h: Adjust extern decls to match. + + * search.c (scan_buffer, Freplace_match): Use ptrdiff_t, not + EMACS_INT, since either will do, for xpalloc. + + * alloc.c: Include verify.h, and check that int fits in ptrdiff_t. + (xnmalloc, xnrealloc, xpalloc): New functions. + + * bidi.c (bidi_shelve_header_size): New constant. + (bidi_cache_ensure_space, bidi_shelve_cache): Use it. + (bidi_cache_ensure_space): Avoid integer overflow when allocating. + + * bidi.c (bidi_cache_shrink): + * buffer.c (overlays_at, overlays_in, record_overlay_string) + (overlay_strings): + Don't update size of array until after memory allocation succeeds, + because xmalloc/xrealloc may not return. + (struct sortstrlist.bytes): Now ptrdiff_t, as EMACS_INT doesn't help + now that we have proper integer overflow checking. + (record_overlay_string, overlay_strings): Catch overflows when + calculating size of overlay_str_buf. + + * callproc.c (Fcall_process): Check for size overflow when + calculating size of args2. + (child_setup): Avoid overflow by using size_t rather than ptrdiff_t. + Normally we prefer signed values, but sticking with ptrdiff_t would + require adding more-complicated checks. + + * ccl.c (Fccl_execute_on_string): Check for memory overflow. + Use ptrdiff_t rather than EMACS_INT where ptrdiff_t will do. + Redo buffer-overflow calculations to avoid integer overflow. + Add a FIXME comment where memory seems to be over-allocated. + + * character.c (Fstring): Check for size-calculation overflow. + + * coding.c (produce_chars): Redo buffer-overflow calculations to avoid + unnecessary integer overflow. Check for size overflow. + (encode_coding_object): Don't update size until xmalloc succeeds. + + * composite.c (get_composition_id): Check for overflow in glyph + length calculations. + + Integer and memory overflow fixes for display code. + * dispextern.h (struct glyph_pool.nglyphs): Now ptrdiff_t, not int. + * dispnew.c (adjust_glyph_matrix, realloc_glyph_pool) + (scrolling_window): Check for overflow in size calculations. + (line_draw_cost, realloc_glyph_pool, add_row_entry): + Don't assume glyph table len fits in int. + (struct row_entry.bucket, row_entry_pool_size, row_entry_idx) + (row_table_size): Now ptrdiff_t, not int. + (scrolling_window): Avoid overflow in size calculations. + Don't update size until allocation succeeds. + * fns.c (concat): Check for overflow in size calculations. + (next_almost_prime): Verify NEXT_ALMOST_PRIME_LIMIT. + * lisp.h (RANGED_INTEGERP, TYPE_RANGED_INTEGERP): New macros. + (NEXT_ALMOST_PRIME_LIMIT): New constant. + + * doc.c (get_doc_string_buffer_size): Now ptrdiff_t, not int. + (get_doc_string): Check for size calculation overflow. + Don't update size until allocation succeeds. + (get_doc_string, Fsubstitute_command_keys): Use ptrdiff_t, not + EMACS_INT, where ptrdiff_t will do. + (Fsubstitute_command_keys): Check for string overflow. + + * editfns.c (set_time_zone_rule): Don't assume environment length + fits in int. + (message_length): Now ptrdiff_t, not int. + (Fmessage_box): Don't update size until allocation succeeds. + Don't assume message length fits in int. + (Fformat): Use ptrdiff_t, not EMACS_INT, where ptrdiff_t will do. + + * emacs.c (main): Do not reallocate argv, since there is a null at + the end that can be overwritten, and this way there's no need to + worry about size-calculation overflow. + (sort_args): Check for size-calculation overflow. + + * eval.c (init_eval_once, grow_specpdl): Don't update size until + alloc succeeds. + (call_debugger, grow_specpdl): Redo calculations to avoid overflow. + + * frame.c (set_menu_bar_lines, x_set_frame_parameters) + (x_set_scroll_bar_width, x_figure_window_size): + Check for integer overflow. + (x_set_alpha): Do not assume XINT fits in int. + + * frame.h (struct frame): Use int, not EMACS_INT, where int works. + This is for the members text_lines, text_cols, total_lines, total_cols, + where the system imposes an 'int' limit. + + * fringe.c (Fdefine_fringe_bitmap): + Don't update size until alloc works. + + * ftfont.c (ftfont_get_open_type_spec, setup_otf_gstring) + (ftfont_shape_by_flt): Check for integer overflow in size calculations. + + * gtkutil.c (get_utf8_string, xg_store_widget_in_map): + Check for size-calculation overflow. + (get_utf8_string): Use ptrdiff_t, not size_t, where either will + do, as we prefer signed integers. + (id_to_widget.max_size, id_to_widget.used) + (xg_store_widget_in_map, xg_remove_widget_from_map) + (xg_get_widget_from_map, xg_get_scroll_id_for_window) + (xg_remove_scroll_bar, xg_update_scrollbar_pos): + Use and return ptrdiff_t, not int. + (xg_gtk_scroll_destroy): Don't assume ptrdiff_t fits in int. + * gtkutil.h: Change prototypes to match the above. + + * image.c (RANGED_INTEGERP, TYPE_RANGED_INTEGERP): Remove; these + are duplicate now that they've been promoted to lisp.h. + (x_allocate_bitmap_record, x_alloc_image_color) + (make_image_cache, cache_image, xpm_load): + Don't update size until alloc is done. + (xpm_load, lookup_rgb_color, lookup_pixel_color, x_to_xcolors) + (x_detect_edges): + Check for size calculation overflow. + (ct_colors_allocated_max): New constant. + (x_to_xcolors, x_detect_edges): Reorder multiplicands to avoid + overflow. -2008-01-26 Eli Zaretskii + * keyboard.c (read_char, menu_bar_items, tool_bar_items) + (read_char_x_menu_prompt, read_char_minibuf_menu_width) + (read_char_minibuf_menu_prompt, follow_key, read_key_sequence): + Use ptrdiff_t, not int, to count maps. + (read_char_minibuf_menu_prompt): Check for overflow in size + calculations. Don't update size until allocation succeeds. + Redo calculations to avoid overflow. + * keyboard.h: Change prototypes to match the above. + + * keymap.c (cmm_size, current_minor_maps): Use ptrdiff_t, not int, + to count maps. + (current_minor_maps): Check for size calculation overflow. + * keymap.h: Change prototypes to match the above. + + * lread.c (read1, init_obarray): Don't update size until alloc done. + + * macros.c (Fstart_kbd_macro): Don't update size until alloc done. + (store_kbd_macro_char): Reorder multiplicands to avoid overflow. + + * nsterm.h (struct ns_color_table.size, struct ns_color_table.avail): + Now ptrdiff_t, not int. + * nsterm.m (ns_index_color): Use ptrdiff_t, not int, for table indexes. + (ns_draw_fringe_bitmap): Rewrite to avoid overflow. + + * process.c (Fnetwork_interface_list): Check for overflow + in size calculation. + + * region-cache.c (move_cache_gap): Check for size calculation overflow. + + * scroll.c (do_line_insertion_deletion_costs): Check for size calc + overflow. Don't bother calling xmalloc when xrealloc will do. + + * search.c (Freplace_match): Check for size calculation overflow. + (Fset_match_data): Don't assume list lengths fit in 'int'. + + * sysdep.c (system_process_attributes): Use ptrdiff_t, not int, + for command line length. Do not attempt to address one before the + beginning of an array, as that's not portable. + + * term.c (max_frame_lines): Remove; unused. + (encode_terminal_src_size, encode_terminal_dst_size): Now ptrdiff_t, + not int. + (encode_terminal_code, calculate_costs): Check for size + calculation overflow. + (encode_terminal_code): Use ptrdiff_t, not int, to record glyph + table lengths and related sizes. Don't update size until alloc + done. Redo calculations to avoid overflow. + (calculate_costs): Don't bother calling xmalloc when xrealloc will do. + + * termcap.c (tgetent): Use ptrdiff_t, not int, to record results of + subtracting pointers. + (gobble_line): Check for overflow more carefully. Don't update size + until alloc done. + + * tparam.c (tparam1): Use ptrdiff_t, not int, for sizes. + Don't update size until alloc done. + Redo size calculations to avoid overflow. + Check for size calculation overflow. + (main) [DEBUG]: Fix typo in invoking tparam1. + + * xdisp.c (store_mode_line_noprop_char, x_consider_frame_title): + Use ptrdiff_t, not int, for sizes. + (store_mode_line_noprop_char): Don't update size until alloc done. + + * xfaces.c (lface_id_to_name_size, Finternal_make_lisp_face): + Use ptrdiff_t, not int, for sizes. + (Finternal_make_lisp_face, cache_face): + Check for size calculation overflow. + (cache_face): Treat size calculation overflows as if they were + memory exhaustion (the usual treatment), rather than aborting. + + * xfns.c (x_encode_text, x_set_name_internal) + (Fx_change_window_property): Use ptrdiff_t, not int, to count + sizes, since they can exceed INT_MAX in size. Check for size + calculation overflow. + + * xgselect.c (gfds_size): Now ptrdiff_t, for convenience with xpalloc. + (xg_select): Check for size calculation overflow. + Don't update size until alloc done. + + * xrdb.c (get_environ_db): Don't assume path length fits in int, + as sprintf is limited to int lengths. + + * xselect.c (X_LONG_SIZE, X_SHRT_MAX, X_SHRT_MIN, X_LONG_MAX) + (X_LONG_MIN): New macros. + Use them to make the following changes clearer. + (MAX_SELECTION_QUANTUM): Make the other bounds on this value clearer. + This change doesn't affect the value now, but it may help remind + future maintainers not to raise the value too much later. + (SELECTION_QUANTUM): Remove, replacing with ... + (selection_quantum): ... new function, which avoids overflow. + All uses changed. + (struct selection_data.size): Now ptrdiff_t, not int, to avoid + assumption that selection length fits in 'int'. + (x_reply_selection_request, x_handle_selection_request) + (x_get_window_property, receive_incremental_selection) + (x_get_window_property_as_lisp_data, selection_data_to_lisp_data) + (lisp_data_to_selection_data, clean_local_selection_data): + Use ptrdiff_t, not int, to record length of selection. + (x_reply_selection_request, x_get_window_property) + (receive_incremental_selection, x_property_data_to_lisp): + Redo calculations to avoid overflow. + (x_reply_selection_request): When sending hint, ceiling it at + X_LONG_MAX rather than relying on wraparound overflow to send + something. + (x_get_window_property, receive_incremental_selection) + (lisp_data_to_selection_data, x_property_data_to_lisp): + Check for size-calculation overflow. + (x_get_window_property, receive_incremental_selection) + (lisp_data_to_selection_data, Fx_register_dnd_atom): + Don't store size until memory allocation succeeds. + (x_get_window_property): Plug memory leak on memory exhaustion. + Don't double-block input; malloc is safe here. Don't assume 2**34 + - 4 fits in unsigned long. Add an xassert to check + XGetWindowProperty overflow. Be more careful about overflow + calculations, and distinguish size from memory overflow better. + (receive_incremental_selection): When tracing, don't assume + unsigned int is less than INT_MAX. + (x_selection_data_to_lisp_data): Remove unnecessary (and in theory + harmful) conversions of unsigned short to int. + (lisp_data_to_selection_data): Don't assume that integers + in the range -65535 through -1 fit in an X unsigned short. + Don't assume that ULONG_MAX == X_ULONG_MAX. Don't store into + result parameters unless successful. Rely on cons_to_unsigned + to report problems with elements; the old code wasn't right anyway. + (x_check_property_data): Check for int overflow; we cannot use + a wider type due to X limits. + (x_handle_dnd_message): Use unsigned int, to avoid int overflow. + + * xsmfns.c (smc_save_yourself_CB): Check for size calc overflow. + + * xterm.c (x_color_cells, x_send_scrollbar_event, handle_one_xevent) + (x_term_init): Check for size calculation overflow. + (x_color_cells): Don't store size until memory allocation succeeds. + (handle_one_xevent): Use ptrdiff_t, not int, for byte counts. + Don't assume alloca size is less than MAX_ALLOCA. + (x_term_init): Don't assume length fits in int (sprintf is limited + to int size). + + Use ptrdiff_t for composition IDs. + * character.c (lisp_string_width): + * composite.c (composition_table_size, n_compositions) + (get_composition_id, composition_gstring_from_id): + * dispextern.h (struct glyph_string.cmp_id, struct composition_it.id): + * xdisp.c (BUILD_COMPOSITE_GLYPH_STRING): + * window.c (Frecenter): + Use ptrdiff_t, not int, for composition IDs. + * composite.c (get_composition_id): Check for integer overflow. + * composite.h: Adjust prototypes to match the above changes. + + Use ptrdiff_t for hash table indexes. + * category.c (hash_get_category_set): + * ccl.c (ccl_driver): + * charset.h (struct charset.hash_index, CHECK_CHARSET_GET_ID): + * coding.c (coding_system_charset_list, detect_coding_system): + * coding.h (struct coding_system.id): + * composite.c (get_composition_id, gstring_lookup_cache): + * fns.c (hash_lookup, hash_put, Fgethash, Fputhash): + * image.c (xpm_get_color_table_h): + * lisp.h (hash_lookup, hash_put): + * minibuf.c (Ftest_completion): + Use ptrdiff_t for hash table indexes, not int (which is too + narrow, on 64-bit hosts) or EMACS_INT (which is too wide, on + 32-bit --with-wide-int hosts). + + * charset.c (Fdefine_charset_internal): Check for integer overflow. + Add a FIXME comment about memory leaks. + (syms_of_charset): Don't assume xmalloc returns. + + Don't assume that stated character widths fit in int. + * character.c (Fchar_width, c_string_width, lisp_string_width): + * character.h (CHAR_WIDTH): + * indent.c (MULTIBYTE_BYTES_WIDTH): + Use sanitize_char_width to avoid undefined and/or bad behavior + with outlandish widths. + * character.h (sanitize_tab_width): Rename from sanitize_width, + now that we have two such functions. All uses changed. + (sanitize_char_width): New inline function. + + Don't assume that tab-width fits in int. + * character.h (sanitize_width): New inline function. + (SANE_TAB_WIDTH): New macro. + (ASCII_CHAR_WIDTH): Use it. + * indent.c (sane_tab_width): Remove. All uses replaced by + SANE_TAB_WIDTH (current_buffer). + * xdisp.c (init_iterator): Use SANE_TAB_WIDTH. + + * fileio.c: Integer overflow issues with file modes. + (Fset_file_modes, auto_save_1): Don't assume EMACS_INT fits in int. + + * charset.c (read_hex): New arg OVERFLOW. All uses changed. + Remove unreachable code. + (read_hex, load_charset_map_from_file): Check for integer overflow. + + * xterm.c: don't go over XClientMessageEvent limit + (scroll_bar_windows_size): Now ptrdiff_t, as we prefer signed. + (x_send_scroll_bar_event): Likewise. Check that the size does not + exceed limits imposed by XClientMessageEvent, as well as the usual + ptrdiff_t and size_t limits. + + * keyboard.c: Overflow, signedness and related fixes. + (make_lispy_movement): Use same integer type in forward decl + that is used in the definition. + (read_key_sequence, keyremap_step): + Change bufsize argument back to int, undoing my 2011-03-30 change. + We prefer signed types, and int is wide enough here. + (parse_tool_bar_item): Don't assume tool_bar_max_label_size is less + than TYPE_MAXIMUM (EMACS_INT) / 2. Don't let the label size grow + larger than STRING_BYTES_BOUND. Use ptrdiff_t for Emacs string + length, not size_t. Use ptrdiff_t for index, not int. + (keyremap_step, read_key_sequence): Redo bufsize check to avoid + possibility of integer overflow. + + Overflow, signedness and related fixes for images. + + * dispextern.h (struct it.stack[0].u.image.image_id) + (struct_it.image_id, struct image.id, struct image_cache.size) + (struct image_cache.used, struct image_cache.ref_count): + * gtkutil.c (update_frame_tool_bar): + * image.c (x_reference_bitmap, Fimage_size, Fimage_mask_p) + (Fimage_metadata, free_image_cache, clear_image_cache, lookup_image) + (cache_image, mark_image_cache, x_kill_gs_process, Flookup_image): + * nsmenu.m (update_frame_tool_bar): + * xdisp.c (calc_pixel_width_or_height): + * xfns.c (image_cache_refcount): + Image IDs are now ptrdiff_t, not int, to avoid arbitrary limits + on typical 64-bit hosts. + + * image.c (RANGED_INTEGERP, TYPE_RANGED_INTEGERP): New macros. + (x_bitmap_pixmap, x_create_x_image_and_pixmap): + Omit unnecessary casts to int. + (parse_image_spec): Check that integers fall into 'int' range + when the callers expect that. + (image_ascent): Redo ascent calculation to avoid int overflow. + (clear_image_cache): Avoid overflow when sqrt (INT_MAX) < nimages. + (lookup_image): Remove unnecessary tests. + (xbm_image_p): Locals are now of int, not EMACS_INT, + since parse_image_check makes sure they fit into int. + (png_load, gif_load, svg_load_image): + Prefer int to unsigned where either will do. + (tiff_handler): New function, combining the cores of the + old tiff_error_handler and tiff_warning_handler. + This function is rewritten to use vsnprintf and thereby avoid + stack buffer overflows. It uses only the features of vsnprintf + that are common to both POSIX and native Microsoft. + (tiff_error_handler, tiff_warning_handler): Use it. + (tiff_load, gif_load, imagemagick_load_image): + Don't assume :index value fits in 'int'. + (gif_load): Omit unnecessary cast to double, and avoid double-rounding. + (imagemagick_load_image): Check that crop parameters fit into + the integer types that MagickCropImage accepts. Don't assume + Vimagemagick_render_type has a nonnegative value. Don't assume + size_t fits in 'long'. + (gs_load): Use printmax_t to print the widest integers possible. + Check for integer overflow when computing image height and width. + +2011-08-26 Eli Zaretskii + + * xdisp.c (redisplay_window): Don't force window start if point + will be invisible in the resulting window. (Bug#9324) + +2011-08-25 Eli Zaretskii + + * xdisp.c (compute_display_string_pos): Return 2 in DISP_PROP when + the display spec is of the form `(space ...)'. + (handle_display_spec): Return the value returned by + handle_single_display_spec, not just 1 or zero. + (handle_single_display_spec): If the display spec is of the form + `(space ...)', and specifies display in the text area, return 2 + rather than 1. + (try_cursor_movement): Check for the need to scroll more + accurately, and prefer exact match for point under bidi. + Don't advance `row' beyond the last row of the window. + + * dispextern.h (struct bidi_it): Rename the disp_prop_p member + into disp_prop; all users changed. + + * bidi.c (bidi_fetch_char): If compute_display_string_pos returns + DISP_PROP = 2, substitute the u+2029 PARAGRAPH SEPARATOR character + for the text covered by the display property. + +2011-08-25 Chong Yidong + + * buffer.c (Fbury_buffer_internal): Rename from Funrecord_buffer. + Change return value to nil. + (Frecord_buffer): Delete unused function. + +2011-08-24 Eli Zaretskii + + * xdisp.c (Fcurrent_bidi_paragraph_direction): For unibyte + buffers, return left-to-right. + (set_cursor_from_row): Consider candidate row a win if its glyph + represents a newline and point is on that newline. Fixes cursor + positioning on the newline at EOL of R2L text within L2R + paragraph, and vice versa. + (try_cursor_movement): Check continued rows, in addition to + continuation rows. Fixes unwarranted scroll when point enters a + continued line of R2L text within an L2R paragraph, or vice versa. + (cursor_row_p): Consider the case of point being equal to + MATRIX_ROW_END_CHARPOS. Prevents cursor being stuck when moving + from the end of a short line to the beginning of a continued line + of R2L text within L2R paragraph. + (RECORD_MAX_MIN_POS): For max_pos, use IT_CHARPOS even for + composed characters. + + * bidi.c (bidi_check_type): Use xassert. + (bidi_cache_iterator_state): Update the disp_pos and disp_prop_p + members. - * 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. +2011-08-23 Eli Zaretskii -2008-01-26 Jason Rumney + * bidi.c (bidi_get_type): Abort if we get zero as the bidi type of + a character. - * w32.c (logon_network_drive): New function. - (stat): Use it. +2011-08-23 Chong Yidong -2008-01-26 Chong Yidong + * nsfont.m (ns_otf_to_script): Fix typo. - * xdisp.c (pos_visible_p): Handle the case where charpos falls on - invisible text covered with an ellipsis. +2011-08-22 Kenichi Handa -2008-01-25 Richard Stallman + * chartab.c (Fset_char_table_extra_slot): Do not inhibit setting a + extra slot even if the purpose is char-code-property-table. - * 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. +2011-08-23 Eli Zaretskii - * keyboard.c (read_char): Restore echo_message_buffer after redisplay. + * xdisp.c (redisplay_window): When computing centering_position, + account for the height of the header line. (Bug#8874) - * buffer.c (reset_buffer_local_variables): - Implement `permanent-local-hook'. - (Qpermanent_local_hook): New variable. - (syms_of_buffer): Init and staticpro it. + * dispnew.c (buffer_posn_from_coords): Use buf_charpos_to_bytepos + instead of CHAR_TO_BYTE. Fixes a crash when a completion + candidate is selected by the mouse, and that candidate has a + composed character under the mouse. -2008-01-25 Michael Albinus + * xdisp.c (x_produce_glyphs): Set it->nglyphs to 1. Fixes pixel + coordinates reported by pos-visible-in-window-p for a composed + character in column zero. - * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux. +2011-08-23 Stefan Monnier -2008-01-25 Thien-Thi Nguyen + * cmds.c (Fself_insert_command): Mention post-self-insert-hook. - * fns.c (Fclrhash): Return TABLE. +2011-08-22 Eli Zaretskii -2008-01-23 YAMAMOTO Mitsuharu + * xdisp.c (BUFFER_POS_REACHED_P): If this is a composition, + consider it a hit if to_charpos is anywhere in the range of the + composed buffer positions. - * 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. +2011-08-22 Chong Yidong - * macterm.h (struct scroll_bar): New member `redraw_needed_p'. + * image.c (gif_load): Don't assume that each subimage has the same + dimensions as the base image. Handle disposal method that is + "undefined" by the gif spec (Bug#9335). -2008-01-23 Jason Rumney +2011-08-20 Chong Yidong - * xterm.c (handle_one_xevent): Revert to counting chars not bytes. + * eval.c (Fsignal): Handle `debug' symbol in error handler (Bug#9329). + (Fcondition_case): Document `debug' symbol in error handler. - * 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. +2011-08-19 Eli Zaretskii -2008-01-23 YAMAMOTO Mitsuharu + * xfaces.c (face_at_buffer_position): Avoid repeated evaluation of + face ID by FACE_FROM_ID, and avoid a crash when mouse is moved + from an Org mode buffer to a Speedbar frame. - * 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. + * xdisp.c (RECORD_MAX_MIN_POS): If the display element comes from + a composition, take its buffer position from IT->cmp_it.charpos. + Fixes cursor positioning at the beginning of a line that begins + with a composed character. -2008-01-21 Michael Albinus +2011-08-18 Eli Zaretskii - * 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. + * bidi.c (bidi_get_type): If bidi_type_table reports zero as the + character bidirectional type, use STRONG_L instead. Fixes crashes + in a buffer produced by `describe-categories'. -2008-01-20 Martin Rudalics + * dispextern.h (struct bidi_it): Move disp_pos and disp_prop_p + members before the level stack, so they would be saved and + restored when copying iterator state. Fixes incorrect reordering + around TABs covered by display properties. - * 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. +2011-08-18 Andreas Schwab -2008-01-19 Stefan Monnier + * process.c (Fnetwork_interface_list): Correctly determine buffer size. - * process.c (list_processes_1): Don't use SCHARS on a nil buffer name. +2011-08-17 Chong Yidong - * 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. + * eval.c (internal_condition_case, internal_condition_case_1) + (internal_condition_case_2, internal_condition_case_n): + Remove unnecessary aborts (Bug#9081). - * window.c (set_window_buffer): Don't unnecessarily reset hscroll and - vscroll if we're setting window-buffer to the value it already has. +2011-08-17 Eli Zaretskii -2008-01-18 Dan Nicolaescu + * lread.c (Fload) [DOS_NT]: If `openp' returns -2, but the file + has no `load' handler, try opening the file locally. (Bug#9311) - * m/intel386.h: Remove references to XENIX. +2011-08-16 Ken Brown -2008-01-17 Andreas Schwab + * gmalloc.c: Expand comment. - * 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. +2011-08-16 Eli Zaretskii -2008-01-17 Glenn Morris + * xdisp.c (set_cursor_from_row): Don't accept a previous candidate + if it fails the cursor_row_p test. Fixes cursor positioning at ZV. - * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according - to HAVE_X86_64_LIB64_DIR. +2011-08-16 Ken Brown -2008-01-16 Dan Nicolaescu + Fix memory allocation problems in Cygwin build (Bug#9273). - * 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. + * unexcw.c ( __malloc_initialized): Declare external variable. + (fixup_executable): Force the dumped emacs to reinitialize malloc. - * sysdep.c: Remove code containing references to symbols defined - by unsupported systems. + * gmalloc.c [CYGWIN] (bss_sbrk_heapbase, bss_sbrk_heapinfo): + New variables. + (malloc_initialize_1) [CYGWIN]: Prepare for reinitializing the + dumped emacs. + (_free_internal_nolock) [CYGWIN]: Ignore requests to free storage + in the static heap. + [CYGWIN] (special_realloc): New function. + (_realloc_internal_nolock) [CYGWIN]: Use the new function on + requests to realloc storage in the static heap. -2008-01-16 Glenn Morris +2011-08-15 Paul Eggert - * coding.c (select-safe-coding-system-function): Doc fix. + * bidi.c (bidi_initialize): Remove unused local. -2008-01-15 Glenn Morris +2011-08-15 Eli Zaretskii - * config.in: Revert 2008-01-13 change: this is a generated file. + * bidimirror.h: + * biditype.h: Remove file. + * makefile.w32-in ($(BLD)/bidi.$(O)): + * deps.mk (bidi.o): Remove biditype.h and bidimirror.h. -2008-01-13 Tom Tromey + * dispextern.h: Fix a typo in the comment to bidi_type_t. - * lisp.h: Fix typo. + * chartab.c: Improve commentary for the uniprop_table API. -2008-01-13 Dan Nicolaescu + * bidi.c (bidi_paragraph_init): Support zero value of + bidi_ignore_explicit_marks_for_paragraph_level. + (bidi_initialize): Use uniprop_table instead of including + biditype.h and bidimirror.h. - * 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 + * xdisp.c (move_it_in_display_line_to): Don't reset pixel + coordinates of the iterator when restoring from ppos_it. + (Bug#9296) - * textprop.c (get_char_property_and_overlay): - Signal error if POSITION is out of range in a buffer. +2011-08-14 Kenichi Handa -2007-12-29 Martin Rudalics + * process.c (create_process): Call setup_process_coding_systems + after the pid of the process is set to -1 (Bug#8162). - * w32fns.c (Fx_create_frame): Make copy of frame parameters - because the original parameters are in pure storage now. +2011-08-14 Eli Zaretskii -2007-12-24 YAMAMOTO Mitsuharu + * xdisp.c (move_it_in_display_line_to): Don't invoke + IT_RESET_X_ASCENT_DESCENT when iterator position was restored from + ppos_it. Fixes vertical cursor motion when line beginning is + covered by an image. (Bug#9296) - * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area. +2011-08-14 Jan Djärv -2007-12-22 Eli Zaretskii + * nsterm.h (ns_run_ascript): Declare. + (NSAPP_DATA2_RUNASSCRIPT): Define. - * callint.c (syms_of_callint) : Add reference to - history-length in the doc string. + * nsfns.m (as_script, as_result, as_status): New static variables. + (ns_run_ascript): New function. + (Fns_do_applescript): Set variables as_*. Make an NSApplicationDefined + event with data2 set to NSAPP_DATA2_RUNASSCRIPT, post it and then start + the event loop. Get status from as_status (Bug#7276). -2007-12-17 Jason Rumney + * nsterm.m (sendEvent): If event is NSApplicationDefined and + data2 is NSAPP_DATA2_RUNASSCRIPT, call ns_run_ascript and then exit + the event loop (Bug#7276). - * w32fns.c (w32_wnd_proc) : Cast char to unsigned - before passing as wParam. +2011-08-14 Andreas Schwab -2007-12-22 Michael Albinus + * gnutls.c (QCgnutls_bootprop_priority) + (QCgnutls_bootprop_trustfiles, QCgnutls_bootprop_keylist) + (QCgnutls_bootprop_crlfiles, QCgnutls_bootprop_callbacks) + (QCgnutls_bootprop_loglevel, QCgnutls_bootprop_hostname) + (QCgnutls_bootprop_min_prime_bits, QCgnutls_bootprop_verify_flags) + (QCgnutls_bootprop_verify_hostname_error) + (QCgnutls_bootprop_callbacks_verify): Rename from + Qgnutls_bootprop_..., all uses changed. - * 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. + * xfaces.c (QCignore_defface): Rename from Qignore_defface, all + uses changed. -2007-12-21 Michael Albinus +2011-08-14 Paul Eggert - * 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. + * xfaces.c (Qframe_set_background_mode): Now static. + * dispextern.h (Qframe_set_background_mode): Remove decl. -2007-12-19 Michael Albinus + * process.c (Fnetwork_interface_info): Declare local only if needed. - * 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. +2011-08-13 Jan Djärv -2007-12-16 Michael Albinus + * process.c: Include ifaddrs.h and net/if_dl.h if available (Bug#8477). + (Fnetwork_interface_list): Allocate in increments of bytes instead + of sizeof (struct ifreq). Iterate over ifconf.ifc_req by counting + bytes (Bug#8477). Count bytes correctly when ifr_addr is a struct + sockaddr. + (struct ifflag_def): notrailers is smart on OSX. + (Fnetwork_interface_info): Handle case when ifr_flags is negative. + Get hardware address with getifaddrs if available. - * 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. +2011-08-12 Eli Zaretskii -2007-12-16 Andreas Schwab + * xdisp.c (iterate_out_of_display_property): xassert that + IT->position is set to within IT->object's boundaries. Break from + the loop as soon as EOB is reached; avoids infloops in redisplay + when IT->position is set up wrongly due to some bug. + Set IT->current to match the bidi iterator unconditionally. + (push_display_prop): Allow GET_FROM_STRING as IT->method on + entry. Force push_it to save on the stack the current + buffer/string position, to be restored by pop_it. Fix flags in + the iterator structure wrt the object coming from a display + property, as `line-prefix' and `wrap-prefix' are not ``replacing'' + properties. (Bug#9284) - * fileio.c (Finsert_file_contents): Fix overflow check to not - depend on undefined integer overflow. +2011-08-09 Andreas Schwab -2007-12-14 Jason Rumney + * fontset.c (fontset_get_font_group): Add proper type checks. + (Bug#9172) - * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT - for characters above 127. +2011-08-09 YAMAMOTO Mitsuharu -2007-12-13 Jason Rumney + * unexmacosx.c (print_load_command_name): Add cases LC_FUNCTION_STARTS + and LC_VERSION_MIN_MACOSX. + (copy_linkedit_data) [LC_FUNCTION_STARTS]: New function. + (dump_it) [LC_FUNCTION_STARTS]: Use it. - * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check - before dereferencing array. - (lookup_vk_code): Remove zero comparison. +2011-08-08 Eli Zaretskii -2007-12-14 Michael Albinus + * xdisp.c (forward_to_next_line_start): Allow to use the + no-display-properties-and-no-overlays under bidi display. + Set disp_pos in the bidi iterator to avoid searches for display + properties and overlays. - * 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. +2011-08-08 Chong Yidong -2007-12-14 Eli Zaretskii + * editfns.c (Fset_time_zone_rule): Document relationship with the + setenv function. - * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT. + * ftfont.c (ftfont_pattern_entity): Copy the extras argument to + the font entity extracted from the cache (Bug#8109). -2007-12-12 Juri Linkov +2011-08-07 Chong Yidong - * 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. + * composite.c (autocmp_chars): Don't reset point. That is done by + restore_point_unwind (Bug#5984). -2007-12-10 Stefan Monnier +2011-08-07 Juri Linkov - * 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'. + * editfns.c (Fformat_time_string): Doc fix, add tag `usage:' + to show the arg `TIME' instead of `TIMEVAL'. - * 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. +2011-08-06 Eli Zaretskii -2007-12-09 Juri Linkov + * xdisp.c (set_cursor_from_row): Fix cursor positioning when a + display property strides EOL and includes a newline, as in + longlines-mode. (Bug#9254) + (move_it_in_display_line_to): Fix vertical-motion in a buffer with + word-wrap under bidirectional display. (Bug#9224) - * buffer.c (Frename_buffer): Change interactive spec from "s" to - Lisp code that uses `read-buffer' with current buffer as default. + * bidi.c (bidi_unshelve_cache): Don't reset the cache if JUST_FREE + is non-zero, even if the data buffer is NULL. Fixes a crash in + vertical-motion with longlines-mode. (Bug#9254) -2007-12-08 Michael Albinus +2011-08-05 Eli Zaretskii - * 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. + * bidi.c : Now static. + (bidi_initialize): Initialize bidi_cache_total_alloc. -2007-12-07 Michael Albinus + * xdisp.c (display_line): Release buffer allocated for shelved bidi + cache. (Bug#9221) - * 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. + * bidi.c (bidi_shelve_cache, bidi_unshelve_cache): Track total + amount allocated this far in `bidi_cache_total_alloc'. + (bidi_unshelve_cache): Accept an additional argument JUST_FREE; if + non-zero, only free the data buffer without restoring the cache + contents. All callers changed. -2007-12-05 Magnus Henoch + * dispextern.h (bidi_unshelve_cache): Update prototype. - * process.c (make_process): Initialize pty_flag to 0. + * xdisp.c (SAVE_IT, pos_visible_p, move_it_in_display_line_to) + (move_it_in_display_line, move_it_to) + (move_it_vertically_backward, move_it_by_lines): Replace the call + to xfree to an equivalent call to bidi_unshelve_cache. + (move_it_in_display_line_to): Fix logic of returning + MOVE_POS_MATCH_OR_ZV in the bidi case. (Bug#9224) -2007-12-05 Jason Rumney +2011-08-05 Eli Zaretskii - * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly - specified XBMs. + * xdisp.c (set_cursor_from_row): Prefer the candidate glyph that + came from a string character with a `cursor' property. (Bug#9229) -2007-12-05 Richard Stallman +2011-08-04 Jan Djärv - * xdisp.c (syms_of_xdisp) : Doc fix. + * Makefile.in (LIB_PTHREAD): New variable. + (LIBES): Add LIB_PTHREAD (Bug#9216). -2007-12-05 YAMAMOTO Mitsuharu + * alloc.c, emacs.c, gmalloc.c, gtkutil.c, keyboard.c, syssignal.h: + Rename HAVE_GTK_AND_PTHREAD to HAVE_PTHREAD (Bug#9216). - * 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. +2011-08-04 Andreas Schwab - * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]: - Use mac_try_close_socket. + * regex.c (re_iswctype): Remove some redundant boolean conversions. -2007-12-05 YAMAMOTO Mitsuharu +2011-08-04 Jan Djärv - * 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. + * xterm.c (x_find_topmost_parent): New function. + (x_set_frame_alpha): Find topmost parent window with + x_find_topmost_parent and set the property there also (bug#9181). + (handle_one_xevent): Call x_set_frame_alpha on ReparentNotify. -2007-12-05 Jason Rumney +2011-08-04 Paul Eggert - * w32proc.c (sys_spawnve): Quote args with wildcards. + * callproc.c (Fcall_process): Avoid vfork clobbering + the local vars buffer, coding_systems, current_dir. -2007-12-05 YAMAMOTO Mitsuharu +2011-08-03 Stefan Monnier - * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and - __objc_* sections. - (unrelocate) [_LP64]: Set relocation base to address of data segment. + * keymap.c (Fmake_composed_keymap): Move to subr.el. -2007-12-05 Michael Albinus +2011-08-03 Paul Eggert - * 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. + * fontset.c (dump_fontset) [FONTSET_DEBUG]: Declare EXTERNALLY_VISIBLE + so that it is not optimized away. -2007-12-04 Michael Albinus + * xdisp.c (compute_display_string_pos): Remove unused local. - * 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. +2011-08-02 Eli Zaretskii -2007-12-03 Jan Djärv + Fix slow cursor motion and scrolling in large buffers with + selective display, like Org Mode buffers. (Bug#9218) - * xterm.c: Update URL to Window Manager Specification in comment. + * dispextern.h (struct bidi_it): New member disp_prop_p. -2007-12-02 Michael Albinus + * xdisp.c: Remove one-slot cache of display string positions. + (compute_display_string_pos): Accept an additional argument + DISP_PROP_P; callers changed. Scan at most 5K characters forward + for a display string or property. If found, set DISP_PROP_P + non-zero. - * config.in (HAVE_DBUS): Add. + * bidi.c (bidi_fetch_char): Accept an additional argument + DISP_PROP_P, and pass it to compute_display_string_pos. + Only handle text covered by a display string if DISP_PROP_P is returned + non-zero. All callers of bidi_fetch_char changed. - * 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. +2011-08-02 Stefan Monnier - * dbusbind.c: New file. + * keymap.c (Fdefine_key): Fix Lisp_Object/int mixup; apply some CSE. - * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined. +2010-12-03 Don March - * 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. + * keymap.c (Fdefine_key): Fix non-prefix key error message when + last character M-[char] is translated to ESC [char] (bug#7541). - * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined. +2011-08-02 Kenichi Handa -2007-12-01 Richard Stallman + * lisp.h (uniprop_table): Extern it. - * search.c (syms_of_search) : Doc fix. + * chartab.c (uniprop_table): Make it non-static. -2007-11-30 Jason Rumney +2011-08-01 Eli Zaretskii - * 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. + * xdisp.c (forward_to_next_line_start): Accept additional argument + BIDI_IT_PREV, and store into it the state of the bidi iterator had + on the newline. + (reseat_at_next_visible_line_start): Use the bidi iterator state + returned by forward_to_next_line_start to restore the state of + it->bidi_it after backing up to previous newline. (Bug#9212) - * xfaces.c (map_tty_color, tty_color_name): Remove special case for - WINDOWSNT. +2011-07-30 Andreas Schwab - * w32console.c, w32term.h (vga_stdcolor_name): Remove. + * regex.c (re_comp): Protoize. + (re_exec): Fix return type. + (regexec): Fix type of `ret'. (Bug#9203) -2007-11-29 Jason Rumney +2011-07-28 Paul Eggert - * 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. + * image.c (check_image_size): Use 1024x1024 if unknown frame (Bug#9189). + This is needed if max-image-size is a floating-point number. -2007-11-29 Andreas Schwab +2011-07-28 Andreas Schwab - * keyboard.c (apply_modifiers): Fix typo. + * print.c (print_object): Print empty symbol as ##. -2007-11-29 Richard Stallman + * lread.c (read1): Read ## as empty symbol. - * keymap.c (Fcurrent_local_map): Doc fix. +2011-07-28 Alp Aker -2007-11-28 Petr Salinger (tiny change) + * nsfns.m (x_set_foreground_color): Set f->foreground_pixel when + setting frame foreground color (Bug#9175). + (x_set_background_color): Likewise. - * s/gnu-kfreebsd.h: New file. + * nsmenu.m (-setText): Size tooltip dimensions precisely to + contents (Bug#9176). + (EmacsTooltip -init): Remove bezels and add shadows to + tooltip windows. -2007-11-28 Stefan Monnier + * nsterm.m (ns_dumpglyphs_stretch): Avoid overwriting left fringe + or scroll bar (Bug#8470). - * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): - Don't cast redundantly. + * nsfont.m (nsfont_open): Remove assignment to voffset and + unnecessary vars hshink, expand, hd, full_height, min_height. + (nsfont_draw): Use s->ybase as baseline for glyph drawing (Bug#8913). - * 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. + * nsterm.h (nsfont_info): Remove voffset field. -2007-11-27 Dan Nicolaescu +2011-07-28 Alp Aker - * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not - compiled anymore. + Implement strike-through and overline on NextStep (Bug#8863). -2007-11-26 Andreas Schwab + * nsfont.m (nsfont_open): Use underline position provided by font, + instead of hard-coded value of 2. + (nsfont_draw): Call ns_draw_text_decoration instead. - * process.c (list_processes_1): Fix indentation level of the - command column. + * nsterm.h: Add declaration for ns_draw_text_decoration. -2007-11-23 Andreas Schwab + * nsterm.m (ns_draw_text_decoration): New function for drawing + underline, overline, and strike-through. + (ns_dumpglyphs_image, ns_dumpglyphs_stretch): Add call to + ns_draw_text_decoration. Change treatment of cursor drawing to + accommodate underlining, etc. - * editfns.c (Fformat): Handle %c specially since it requires the - argument to be of type int. +2011-07-28 Eli Zaretskii -2007-11-23 Markus Triska + * buffer.c (init_buffer_once): Set bidi-display-reordering to t by + default. + +2011-07-28 Paul Eggert + + * alloc.c (memory_full) [!SYNC_INPUT]: Fix signal-related race. + Without this fix, if a signal arrives just after memory fills up, + 'malloc' might be invoked reentrantly. + + * image.c (x_check_image_size) [!HAVE_X_WINDOWS]: Return 1. + In other words, assume that every image size is allowed, on non-X + hosts. This assumption is probably wrong, but it lets Emacs compile. + +2011-07-28 Andreas Schwab + + * regex.c (re_iswctype): Convert return values to boolean. + +2011-07-28 Eli Zaretskii + + * xdisp.c (compute_display_string_pos): Don't use cached display + string position if the buffer had its restriction changed. + (Bug#9184) + +2011-07-28 Paul Eggert + + * callproc.c (Fcall_process): Use 'volatile' to avoid vfork clobbering. + +2011-07-28 Paul Eggert + + Integer signedness and overflow and related fixes. (Bug#9079) + + * bidi.c: Integer size and overflow fixes. + (bidi_cache_size, bidi_cache_idx, bidi_cache_last_idx) + (bidi_cache_start, bidi_cache_fetch_state, bidi_cache_search) + (bidi_cache_find_level_change, bidi_cache_ensure_space) + (bidi_cache_iterator_state, bidi_cache_find, bidi_cache_start_stack) + (bidi_find_other_level_edge): + Use ptrdiff_t instead of EMACS_INT where either will do. + This works better on 32-bit hosts configured --with-wide-int. + (bidi_cache_ensure_space): Check for size-calculation overflow. + Use % rather than repeated addition, for better worst-case speed. + Don't set bidi_cache_size until after xrealloc returns, because it + might not return. + (bidi_dump_cached_states): Use ptrdiff_t, not int, to avoid overflow. + (bidi_cache_ensure_space): Also check that the bidi cache size + does not exceed that of the largest Lisp string or buffer. See Eli + Zaretskii in . + + * alloc.c (__malloc_size_t): Remove. + All uses replaced by size_t. See Andreas Schwab's note + . + + * image.c: Improve checking for integer overflow. + (check_image_size): Assume that f is nonnull, since + it is always nonnull in practice. This is one less thing to + worry about when checking for integer overflow later. + (x_check_image_size): New function, which checks for integer + overflow issues inside X. + (x_create_x_image_and_pixmap, xbm_read_bitmap_data): Use it. + This removes the need for a memory_full check. + (xbm_image_p): Rewrite to avoid integer multiplication overflow. + (Create_Pixmap_From_Bitmap_Data, xbm_load): Use x_check_image_size. + (xbm_read_bitmap_data): Change locals back to 'int', since + their values must fit in 'int'. + (xpm_load_image, png_load, tiff_load): + Invoke x_create_x_image_and_pixmap earlier, + to avoid much needless work if the image is too large. + (tiff_load): Treat overly large images as if + x_create_x_image_and_pixmap failed, not as malloc failures. + (gs_load): Use x_check_image_size. + + * gtkutil.c: Omit integer casts. + (xg_get_pixbuf_from_pixmap): Remove unnecessary cast. + (xg_set_toolkit_scroll_bar_thumb): Rewrite to avoid need for cast. + + * image.c (png_load): Don't assume height * row_bytes fits in 'int'. + + * xfaces.c (Fbitmap_spec_p): Fix integer overflow bug. + Without this fix, (bitmap-spec-p '(34359738368 1 "x")) + would wrongly return t on a 64-bit host. + + * dispnew.c (init_display): Use *_RANGE_OVERFLOW macros. + The plain *_OVERFLOW macros run afoul of GCC bug 49705 + + and therefore cause GCC to emit a bogus diagnostic in some cases. + + * image.c: Integer signedness and overflow and related fixes. + This is not an exhaustive set of fixes, but it's time to + record what I've got. + (lookup_pixel_color, check_image_size): Remove redundant decls. + (check_image_size): Don't assume that arbitrary EMACS_INT values + fit in 'int', or that arbitrary 'double' values fit in 'int'. + (x_alloc_image_color, x_create_x_image_and_pixmap, png_load) + (tiff_load, imagemagick_load_image): + Check for overflow in size calculations. + (x_create_x_image_and_pixmap): Remove unnecessary test for + xmalloc returning NULL; that can't happen. + (xbm_read_bitmap_data): Don't assume sizes fit into 'int'. + (xpm_color_bucket): Use better integer hashing function. + (xpm_cache_color): Don't possibly over-allocate memory. + (struct png_memory_storage, tiff_memory_source, tiff_seek_in_memory) + (gif_memory_source): + Use ptrdiff_t, not int or size_t, to record sizes. + (png_load): Don't assume values greater than 2**31 fit in 'int'. + (our_stdio_fill_input_buffer): Prefer ptrdiff_t to size_t when + either works, as we prefer signed integers. + (tiff_read_from_memory, tiff_write_from_memory): + Return tsize_t, not size_t, since that's what the TIFF API wants. + (tiff_read_from_memory): Don't fail simply because the read would + go past EOF; instead, return a short read. + (tiff_load): Omit no-longer-needed casts. + (Fimagemagick_types): Don't assume size fits into 'int'. + + Improve hashing quality when configured --with-wide-int. + * fns.c (hash_string): New function, taken from sxhash_string. + Do not discard information about ASCII character case; this + discarding is no longer needed. + (sxhash-string): Use it. Change sig to match it. Caller changed. + * lisp.h: Declare it. + * lread.c (hash_string): Remove, since we now use fns.c's version. + The fns.c version returns a wider integer if --with-wide-int is + specified, so this should help the quality of the hashing a bit. + + * emacs.c: Integer overflow minor fix. + (heap_bss_diff): Now uprintmax_t, not unsigned long. All used changed. + Define only if GNU_LINUX. + (main, Fdump_emacs): Set and use heap_bss_diff only if GNU_LINUX. + + * dispnew.c: Integer signedness and overflow fixes. + Remove unnecessary forward decls, that were a maintenance hassle. + (history_tick): Now uprintmax_t, so it's more likely to avoid overflow. + All uses changed. + (adjust_glyph_matrix, realloc_glyph_pool, adjust_frame_message_buffer) + (scrolling_window): Use ptrdiff_t, not int, for byte count. + (prepare_desired_row, line_draw_cost): + Use int, not unsigned, where either works. + (save_current_matrix, restore_current_matrix): + Use ptrdiff_t, not size_t, where either works. + (init_display): Check for overflow more accurately, and without + relying on undefined behavior. + + * editfns.c (pWIDE, pWIDElen, signed_wide, unsigned_wide): + Remove, replacing with the new symbols in lisp.h. All uses changed. + * fileio.c (make_temp_name): + * filelock.c (lock_file_1, lock_file): + * xdisp.c (message_dolog): + Don't assume PRIdMAX etc. works; this isn't portable to pre-C99 hosts. + Use pMd etc. instead. + * lisp.h (printmax_t, uprintmax_t, pMd, pMu): New types and macros, + replacing the pWIDE etc. symbols removed from editfns.c. + + * keyboard.h (num_input_events): Now uintmax_t. + This is (very slightly) less likely to mess up due to wraparound. + All uses changed. - * emacs.c (main): Call init_editfns before init_process, since - init_process sets Vprocess_connection_type depending on OS release. + * buffer.c: Integer signedness fixes. + (alloc_buffer_text, enlarge_buffer_text): + Use ptrdiff_t rather than size_t when either will do, as we prefer + signed integers. + + * alloc.c: Integer signedness and overflow fixes. + Do not impose an arbitrary 32-bit limit on malloc sizes when debugging. + (__malloc_size_t): Default to size_t, not to int. + (pure_size, pure_bytes_used_before_overflow, stack_copy_size) + (Fgarbage_collect, mark_object_loop_halt, mark_object): + Prefer ptrdiff_t to size_t when either would do, as we prefer + signed integers. + (XMALLOC_OVERRUN_CHECK_OVERHEAD): New macro. + (xmalloc_overrun_check_header, xmalloc_overrun_check_trailer): + Now const. Initialize with values that are in range even if char + is signed. + (XMALLOC_PUT_SIZE, XMALLOC_GET_SIZE): Remove, replacing with ... + (xmalloc_put_size, xmalloc_get_size): New functions. All uses changed. + These functions do the right thing with sizes > 2**32. + (check_depth): Now ptrdiff_t, not int. + (overrun_check_malloc, overrun_check_realloc, overrun_check_free): + Adjust to new way of storing sizes. Check for size overflow bugs + in rest of code. + (STRING_BYTES_MAX): Adjust to new overheads. The old code was + slightly wrong anyway, as it missed one instance of + XMALLOC_OVERRUN_CHECK_OVERHEAD. + (refill_memory_reserve): Omit needless cast to size_t. + (mark_object_loop_halt): Mark as externally visible. + + * xselect.c: Integer signedness and overflow fixes. + (Fx_register_dnd_atom, x_handle_dnd_message): + Use ptrdiff_t, not size_t, since we prefer signed. + (Fx_register_dnd_atom): Check for ptrdiff_t (and size_t) overflow. + * xterm.h (struct x_display_info): Use ptrdiff_t, not size_t, for + x_dnd_atoms_size and x_dnd_atoms_length. + + * doprnt.c: Prefer signed to unsigned when either works. + * eval.c (verror): + * doprnt.c (doprnt): + * lisp.h (doprnt): + * xdisp.c (vmessage): + Use ptrdiff_t, not size_t, when using or implementing doprnt, + since the sizes cannot exceed ptrdiff_t bounds anyway, and we + prefer signed arithmetic to avoid comparison confusion. + * doprnt.c (doprnt): Avoid a "+ 1" that can't overflow, + but is a bit tricky. + + Assume freestanding C89 headers, string.h, stdlib.h. + * data.c, doprnt.c, floatfns.c, print.c: + Include float.h unconditionally. + * gmalloc.c: Assume C89-at-least behavior for preprocessor, + limits.h, stddef.h, string.h. Use memset instead of 'flood'. + * regex.c: Likewise for stddef.h, string.h. + (ISASCII): Remove; can assume it returns 1 now. All uses removed. + * s/aix4-2.h (HAVE_STRING_H): Remove obsolete undef. + * s/ms-w32.h (HAVE_LIMITS_H, HAVE_STRING_H, HAVE_STDLIB_H) + (STDC_HEADERS): Remove obsolete defines. + * sysdep.c: Include limits.h unconditionally. + + Assume support for memcmp, memcpy, memmove, memset. + * lisp.h, sysdep.c (memcmp, memcpy, memmove, memset): + * regex.c (memcmp, memcpy): + Remove; we assume C89 now. + + * gmalloc.c (memcpy, memset, memmove): Remove; we assume C89 now. + (__malloc_safe_bcopy): Remove; no longer needed. + + * lisp.h (struct vectorlike_header, struct Lisp_Subr): Signed sizes. + Use EMACS_INT, not EMACS_UINT, for sizes. The code works equally + well either way, and we prefer signed to unsigned. + +2011-07-27 Lars Magne Ingebrigtsen + + * gnutls.c (emacs_gnutls_read): Don't message anything if the peer + closes the connection while we're reading (bug#9182). + +2011-07-25 Jan Djärv + + * nsmenu.m (ns_popup_dialog): Add an "ok" button if no buttons + are specified (Bug#9168). + +2011-07-25 Paul Eggert + + * bidi.c (bidi_dump_cached_states): Fix printf format mismatch. + Found by GCC static checking and --with-wide-int on a 32-bit host. + +2011-07-25 Eli Zaretskii + + * xdisp.c (compute_display_string_pos): Fix logic of caching + previous display string position. Initialize cached_prev_pos to + -1. Fixes slow-down at the beginning of a buffer. + +2011-07-24 Eli Zaretskii + + * xfaces.c (check_lface_attrs) [HAVE_WINDOW_SYSTEM]: Allow `nil' + for attrs[LFACE_FONTSET_INDEX]. + +2011-07-23 Paul Eggert + + * xml.c (parse_region): Remove unused local + that was recently introduced. + +2011-07-23 Eli Zaretskii + + * xfns.c (unwind_create_frame) [GLYPH_DEBUG]: Adapt to changes in + 2008-02-22T17:42:09Z!monnier@iro.umontreal.ca. + + * xdisp.c (move_it_in_display_line_to): Record the best matching + position for TO_CHARPOS while scanning the line, and restore it on + exit if none of the characters scanned was an exact match. + Fixes vertical-motion and pos-visible-in-window-p under bidi redisplay + when exact match is impossible due to invisible text, and the + lines are truncated. + +2011-07-23 Jan Djärv + + * nsterm.m (initFrameFromEmacs): Set NSTitledWindowMask in styleMask + for OSX >= 10.7. + +2011-07-22 Eli Zaretskii + + Fix a significant slow-down of cursor motion with C-n, C-p, + C-f/C-b, and C-v/M-v that couldn't keep up with keyboard + auto-repeat under bidi redisplay in fontified buffers. + * xdisp.c (compute_stop_pos_backwards): New function. + (next_element_from_buffer): Call compute_stop_pos_backwards to + find a suitable prev_stop when we find ourselves before + base_level_stop. + (reseat): Don't look for prev_stop, as that could mean a very long + run. + + : Cache for last found display string + position. + (compute_display_string_pos): Return the cached position if asked + about the same buffer in the same area of character positions, and + the buffer wasn't changed since the time the display string + position was cached. -2007-11-22 Stefan Monnier +2011-07-22 Eli Zaretskii - * data.c (do_symval_forwarding): Use same code as in find_symbol_value. - (find_symbol_value): Use do_symval_forwarding. + * xdisp.c (rows_from_pos_range): Don't ignore glyphs whose object + is an integer, which is important for empty lines. (Bug#9149) - * data.c (set_internal): Set the value in the `cons-cell' (for - Buffer_Local_values) not only for frame-local variables. +2011-07-22 Chong Yidong -2007-11-22 Andreas Schwab + * frame.c (Fmodify_frame_parameters): In tty case, update the + default face if necessary (Bug#4238). - * 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. +2011-07-21 Chong Yidong -2007-11-22 Jan Djärv + * editfns.c (Fstring_to_char): No need to explain what a character + is in the docstring (Bug#6576). - * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if - file for image is nil. +2011-07-20 Lars Magne Ingebrigtsen -2007-11-22 Dan Nicolaescu + * xml.c (parse_region): Make sure we always return a tree. - * term.c: Include stdarg.h. - (fatal): Implement using varargs. - * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change). +2011-07-20 HAMANO Kiyoto -2007-11-21 Stefan Monnier + * xml.c (parse_region): If a document contains only comments, + return that, too. - * 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. +2011-07-20 Lars Magne Ingebrigtsen -2007-11-21 Jason Rumney + * xml.c (make_dom): Return comments, too. - * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font): - CreateFileMapping returns NULL on failure. +2011-07-19 Paul Eggert -2007-11-21 Stefan Monnier + Port to OpenBSD. + See http://lists.gnu.org/archive/html/emacs-devel/2011-07/msg00688.html + and the surrounding thread. + * minibuf.c (read_minibuf_noninteractive): Rewrite to use getchar + rather than fgets, and retry after EINTR. Otherwise, 'emacs + --batch -f byte-compile-file' fails on OpenBSD if an inactivity + timer goes off. + * s/openbsd.h (BROKEN_SIGIO): Define. + * unexelf.c (unexec) [__OpenBSD__]: + Don't update the .mdebug section of the Alpha COFF symbol table. - * search.c (Fset_match_data): Remove the `evaporate' feature. - (unwind_set_match_data): Don't use the `evaporate' feature. +2011-07-19 Lars Magne Ingebrigtsen -2007-11-21 Jason Rumney + * lread.c (syms_of_lread): Clarify when `lexical-binding' is used + (bug#8460). - * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type. +2011-07-18 Paul Eggert - * w32console.c (w32con_write_glyphs): Remove unused variables. + * fileio.c (Fcopy_file) [!MSDOS]: Tighten created file's mask. + This fixes some race conditions on the permissions of any newly + created file. -2007-11-20 Dan Nicolaescu + * alloc.c (valid_pointer_p): Use pipe, not open. + This fixes some permissions issues when debugging. - * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor. + * fileio.c (Fcopy_file): Adjust mode if fchown fails. (Bug#9002) + If fchown fails to set both uid and gid, try to set just gid, + as that is sometimes allowed. Adjust the file's mode to eliminate + setuid or setgid bits that are inappropriate if fchown fails. - * s/darwin.h (MULTI_KBOARD): Remove. +2011-07-18 Stefan Monnier - * macfns.c (x_create_tip_frame, Fx_create_frame) - (x_create_tip_frame): Don't deal with MULTI_KBOARD. + * xdisp.c (next_element_from_string, next_element_from_buffer): Use EQ + to compare Lisp_Objects. + * gnutls.c (syms_of_gnutls): Rename Vgnutls_log_level to + global_gnutls_log_level, don't mistake it for a Lisp_Object. + (init_gnutls_functions, emacs_gnutls_handle_error): Fix up uses. -2007-11-19 Stefan Monnier +2011-07-17 Andreas Schwab - * 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. + * lread.c (read_integer): Unread even EOF character. + (read1): Likewise. Properly record start position of symbol. - * data.c (store_symval_forwarding, set_internal): - * eval.c (specbind): Remove dead code. + * lread.c (read1): Read `#:' as empty uninterned symbol if no + symbol character follows. - * 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. +2011-07-17 Paul Eggert -2007-11-18 Jan Djärv + * fileio.c (Fcopy_file): Pacify gcc re fchown. (Bug#9002) + This works around a problem with the previous change to Fcopy_file. + Recent glibc declares fchown with __attribute__((warn_unused_result)), + and without this change, GCC might complain about discarding + fchown's return value. - * sysdep.c (init_system_name): Use getaddrinfo if available. +2011-07-16 Juanma Barranquero - * 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. + * makefile.w32-in (GLOBAL_SOURCES): Add gnutls.c (followup to bug#9059). -2007-11-17 Dan Nicolaescu +2011-07-16 Paul Eggert - * puresize.h (BASE_PURESIZE): Increase to 1190000. + * fileio.c (Fcopy_file): Don't diagnose fchown failures. (Bug#9002) -2007-11-16 Stefan Monnier +2011-07-16 Lars Magne Ingebrigtsen - * buffer.h (struct buffer): Move `undo_list' back to before `name'. - This undoes Richard's change of 14-Oct-2002. + * gnutls.c (syms_of_gnutls): Define `gnutls-log-level' here, since + it's used from the C level. - * alloc.c (allocate_other_vector): - * lisp.h (allocate_other_vector): Remove. + * process.c: Use the same condition for POLL_FOR_INPUT in both + keyboard.c and process.c (bug#1858). - * 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. +2011-07-09 Lawrence Mitchell -2007-11-14 Juanma Barranquero + * gnutls.c (Qgnutls_bootprop_min_prime_bits): New variable. + (Fgnutls_boot): Use it. - * 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. +2011-07-15 Andreas Schwab -2007-11-13 Juanma Barranquero + * doc.c (Fsubstitute_command_keys): Revert last change. - * w32fns.c (Fw32_register_hot_key): Don't try to register hot key - if w32_parse_hot_key returned nil. +2011-07-15 Lars Magne Ingebrigtsen -2007-11-10 Stefan Monnier + * doc.c (Fsubstitute_command_keys): Clarify that \= really only + quotes the next character, and doesn't affect other longer + sequences (bug#8935). - * xdisp.c (load_overlay_strings): Fix copy&paste typo. + * lread.c (syms_of_lread): Clarify that is isn't only + `eval-buffer' and `eval-defun' that's affected by + `lexical-binding' (bug#8460). -2007-11-09 Jason Rumney +2011-07-15 Eli Zaretskii - * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define. + * xdisp.c (move_it_in_display_line_to): Fix vertical motion with + bidi redisplay when a line includes both an image and is truncated. - * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT. +2011-07-14 Paul Eggert - * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]: - Remove W32_SCROLL_BAR_CLICK_EVENT. + Fix minor problems found by static checking. + * bidi.c (bidi_cache_size): Now EMACS_INT, not size_t. + (elsz): Now a signed constant, not a size_t var. We prefer signed + types to unsigned, to avoid integer comparison confusion. Without + this change, GCC 4.6.1 with -Wunsafe-loop-optimizations complains + "cannot optimize loop, the loop counter may overflow", a symptom + of the confusion. + * indent.c (Fvertical_motion): Mark locals as initialized. + * xdisp.c (reseat_to_string): Fix pointer signedness issue. - * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise. - Add MULTIMEDIA_KEY_EVENT. +2011-07-14 Lars Magne Ingebrigtsen - * 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. + * search.c (Fre_search_backward): Mention `case-fold-search' in + all the re_search_* functions (bug#8138). - * w32term.h (WM_APPCOMMAND): Define if not already. - (GET_APPCOMMAND_LPARAM): Likewise. + * keyboard.c (Fopen_dribble_file): Document when the file is + closed (bug#8056). - * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from - WM_APPCOMMAND. +2011-07-14 Eli Zaretskii - * 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. + * bidi.c (bidi_dump_cached_states): Fix format of displaying + bidi_cache_idx. -2007-11-09 Chong Yidong + Support bidi reordering of display and overlay strings. + * xdisp.c (compute_display_string_pos) + (compute_display_string_end): Accept additional argument STRING. + (init_iterator, reseat_1): Initialize bidi_it->string.s to NULL. + (reseat_to_string): Initialize bidi_it->string.s and + bidi_it->string.schars. + (Fcurrent_bidi_paragraph_direction): Initialize itb.string.s to + NULL (avoids a crash in bidi_paragraph_init). + Initialize itb.string.lstring. + (init_iterator): Call bidi_init_it only of a valid + buffer position was specified. Initialize paragraph_embedding to + L2R. + (reseat_to_string): Initialize the bidi iterator. + (display_string): If we need to ignore text properties of + LISP_STRING, set IT->stop_charpos to IT->end_charpos. (The + original value of -1 will not work with bidi.) + (compute_display_string_pos): First arg is now struct + `text_pos *'; all callers changed. Support display properties on + Lisp strings. + (compute_display_string_end): Support display properties on Lisp + strings. + (init_iterator, reseat_1, reseat_to_string): Initialize the + string.bufpos member to 0 (zero, for compatibility with IT_CHARPOS + when iterating on a string not from display properties). + (compute_display_string_pos, compute_display_string_end): + Fix calculation of the object to scan. Fixes an error when using + arrow keys. + (next_element_from_buffer): Don't abort when IT_CHARPOS is before + base_level_stop; instead, set base_level_stop to BEGV. + Fixes crashes in vertical-motion. + (next_element_from_buffer): Improve commentary for when + the iterator is before prev_stop. + (init_iterator): Initialize bidi_p from the default value of + bidi-display-reordering, not from buffer-local value. Use the + buffer-local value only if initializing for buffer iteration. + (handle_invisible_prop): Support invisible properties on strings + that are being bidi-reordered. + (set_iterator_to_next): Support bidi reordering of C strings and + Lisp strings. + (next_element_from_string): Support bidi reordering of Lisp + strings. + (handle_stop_backwards): Support Lisp strings as well. + (display_string): Support display of R2L glyph rows. + Use IT_STRING_CHARPOS when displaying from a Lisp string. + (init_iterator): Don't initialize it->bidi_p for strings + here. + (reseat_to_string): Initialize it->bidi_p for strings here. + (next_element_from_string, next_element_from_c_string) + (next_element_from_buffer): Add xassert's for correspondence + between IT's object being iterated and it->bidi_it.string + structure. + (face_before_or_after_it_pos): Support bidi iteration. + (next_element_from_c_string): Handle the case of the first string + character that is not the first one in the visual order. + (get_visually_first_element): New function, refactored from common + parts of next_element_from_buffer, next_element_from_string, and + next_element_from_c_string. + (tool_bar_lines_needed, redisplay_tool_bar) + (display_menu_bar): Force left-to-right direction. Add a FIXME + comment for making that be controlled by a user option. + (push_it, pop_it): Save and restore the state of the + bidi iterator. Save and restore the bidi_p flag. + (pop_it): Iterate out of display property for string iteration as + well. + (iterate_out_of_display_property): Support iteration over strings. + (handle_single_display_spec): Set up it->bidi_it for iteration + over a display string, and call bidi_init_it. + (handle_single_display_spec, next_overlay_string) + (get_overlay_strings_1, push_display_prop): Set up the bidi + iterator for displaying display or overlay strings. + (forward_to_next_line_start): Don't use the shortcut if + bidi-iterating. + (back_to_previous_visible_line_start): If handle_display_prop + pushed the iterator stack, restore the internal state of the bidi + iterator by calling bidi_pop_it same number of times. + (reseat_at_next_visible_line_start): If ON_NEWLINE_P is non-zero, + and we are bidi-iterating, don't decrement the iterator position; + instead, set the first_elt flag in the bidi iterator, to produce + the same effect. + (reseat_1): Remove redundant setting of string_from_display_prop_p. + (push_display_prop): xassert that we are iterating a buffer. + (push_it, pop_it): Save and restore paragraph_embedding member. + (handle_single_display_spec, next_overlay_string) + (get_overlay_strings_1, reseat_1, reseat_to_string) + (push_display_prop): Set up the `unibyte' member of bidi_it.string + correctly. Don't assume unibyte strings are not bidi-reordered. + (compute_display_string_pos) + (compute_display_string_end): Fix handling the case of C string. + (push_it, pop_it): Save and restore from_disp_prop_p. + (handle_single_display_spec, push_display_prop): Set the + from_disp_prop_p flag. + (get_overlay_strings_1): Reset the from_disp_prop_p flag. + (pop_it): Call iterate_out_of_display_property only if we are + popping after iteration over a string that came from a display + property. Fix a typo in popping stretch info. Add an assertion + for verifying that the iterator position is in sync with the bidi + iterator. + (handle_single_display_spec, get_overlay_strings_1) + (push_display_prop): Fix initialization of paragraph direction for + string when that of the parent object is not yet determined. + (reseat_1): Call bidi_init_it to resync the bidi + iterator with IT's position. (Bug#7616) + (find_row_edges): If ROW->start.pos gives position + smaller than min_pos, use it as ROW->minpos. (Bug#7616) + (handle_stop, back_to_previous_visible_line_start, reseat_1): + Reset the from_disp_prop_p flag. + (SAVE_IT, RESTORE_IT): New macros. + (pos_visible_p, face_before_or_after_it_pos) + (back_to_previous_visible_line_start) + (move_it_in_display_line_to, move_it_in_display_line) + (move_it_to, move_it_vertically_backward, move_it_by_lines) + (try_scrolling, redisplay_window, display_line): Use them when + saving a temporary copy of the iterator and restoring it back. + (back_to_previous_visible_line_start, reseat_1) + (init_iterator): Empty the bidi cache "stack". + (move_it_in_display_line_to): If iterator ended up at + EOL, but we never saw any buffer positions smaller than + to_charpos, return MOVE_POS_MATCH_OR_ZV. Fixes vertical cursor + motion in bidi-reordered lines. + (move_it_in_display_line_to): Record prev_method and prev_pos + immediately before the call to set_iterator_to_next. Fixes cursor + motion in bidi-reordered lines with stretch glyphs and strings + displayed in margins. (Bug#8133) (Bug#8867) + Return MOVE_POS_MATCH_OR_ZV only if iterator position is past + TO_CHARPOS. + (pos_visible_p): Support positions in bidi-reordered lines. + Save and restore bidi cache. + + * bidi.c (bidi_level_of_next_char): clen should be EMACS_NT, not int. + (bidi_paragraph_info): Delete unused struct. + (bidi_cache_idx, bidi_cache_last_idx): Declare EMACS_INT. + (bidi_cache_start): New variable. + (bidi_cache_reset): Reset bidi_cache_idx to bidi_cache_start, not + to zero. + (bidi_cache_fetch_state, bidi_cache_search) + (bidi_cache_find_level_change, bidi_cache_iterator_state) + (bidi_cache_find, bidi_peek_at_next_level) + (bidi_level_of_next_char, bidi_find_other_level_edge) + (bidi_move_to_visually_next): Compare cache index with + bidi_cache_start rather than with zero. + (bidi_fetch_char): Accept new argument STRING; all callers + changed. Support iteration over a string. Support strings with + display properties. Support unibyte strings. Fix the type of + `len' according to what STRING_CHAR_AND_LENGTH expects. + (bidi_paragraph_init, bidi_resolve_explicit_1) + (bidi_resolve_explicit, bidi_resolve_weak) + (bidi_level_of_next_char, bidi_move_to_visually_next): + Support iteration over a string. + (bidi_set_sor_type, bidi_resolve_explicit_1) + (bidi_resolve_explicit, bidi_type_of_next_char): ignore_bn_limit + can now be zero (for strings); special values 0 and -1 were + changed to -1 and -2, respectively. + (bidi_char_at_pos): New function. + (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak): + Call it instead of FETCH_MULTIBYTE_CHAR. + (bidi_move_to_visually_next): Abort if charpos or bytepos were not + initialized to valid values. + (bidi_init_it): Don't initialize charpos and bytepos with invalid + values. + (bidi_level_of_next_char): Allow the sentinel "position" to pass + the test for valid cached positions. Fix the logic for looking up + the sentinel state in the cache. GCPRO the Lisp string we are + iterating. + (bidi_push_it, bidi_pop_it): New functions. + (bidi_initialize): Initialize the bidi cache start stack pointer. + (bidi_cache_ensure_space): New function, refactored from part of + bidi_cache_iterator_state. Don't assume the required size is just + one BIDI_CACHE_CHUNK away. + (bidi_cache_start_stack, bidi_push_it): Use IT_STACK_SIZE. + (bidi_count_bytes, bidi_char_at_pos): New functions. + (bidi_cache_search): Don't assume bidi_cache_last_idx is + always valid if bidi_cache_idx is valid. + (bidi_cache_find_level_change): xassert that bidi_cache_last_idx + is valid if it's going to be used. + (bidi_shelve_cache, bidi_unshelve_cache): New functions. + (bidi_cache_fetch_state, bidi_cache_search) + (bidi_cache_find_level_change, bidi_cache_ensure_space) + (bidi_cache_iterator_state, bidi_cache_find) + (bidi_find_other_level_edge, bidi_cache_start_stack): + All variables related to cache indices are now EMACS_INT. - * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE - twice. + * dispextern.h (struct bidi_string_data): New structure. + (struct bidi_it): New member `string'. Make flag members be 1-bit + fields, and put them last in the struct. + (compute_display_string_pos, compute_display_string_end): + Update prototypes. + (bidi_push_it, bidi_pop_it): Add prototypes. + (struct iterator_stack_entry): New members bidi_p, + paragraph_embedding, and from_disp_prop_p. + (struct it): Member bidi_p is now a bit field 1 bit wide. + (bidi_shelve_cache, bidi_unshelve_cache): + Declare prototypes. - * xdisp.c (handle_face_prop): Fix last change. + * .gdbinit (xvectype, xvector, xcompiled, xchartable, xboolvector) + (xpr, xfont, xbacktrace): Use "header.size" when accessing vectors + and vector-like objects. -2007-11-09 Richard Stallman + * dispnew.c (buffer_posn_from_coords): Save and restore the bidi + cache around display iteration. - * 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. + * window.c (Fwindow_end, window_scroll_pixel_based) + (displayed_window_lines, Frecenter): Save and restore the bidi + cache around display iteration. - * xfaces.c (face_for_overlay_string): Function renamed from - face_at_buffer_position_no_overlays, and add arg OVERLAY. +2011-07-14 Lars Magne Ingebrigtsen - * 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. + * editfns.c (Fdelete_region): Clarify the use of the named + parameters (bug#6788). -2007-11-09 Richard Stallman +2011-07-14 Martin Rudalics - * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays - to get the base face for an overlay string. + * indent.c (Fvertical_motion): Set and restore w->pointm when + saving and restoring the window's buffer (Bug#9006). - * dispextern.h (face_at_buffer_position_no_overlays): Add decl. +2011-07-13 Lars Magne Ingebrigtsen - * xfaces.c (face_at_buffer_position_no_overlays): New function. + * editfns.c (Fstring_to_char): Clarify just what is returned + (bug#6576). Text by Eli Zaretskii. - * xdisp.c (handle_stop): Move some code out of loop. +2011-07-13 Juanma Barranquero -2007-11-09 YAMAMOTO Mitsuharu + * gnutls.c (init_gnutls_functions): Honor gnutls_log_level (bug#9059). - * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes): - Fix conversion from Lisp object to ATSUFontID. +2011-07-13 Eli Zaretskii -2007-11-09 Jason Rumney + * buffer.c (mmap_find): Fix a typo. - * xdisp.c (Fformat_mode_line): Do nothing when noninteractive. +2011-07-13 Johan Bockgård -2007-11-09 YAMAMOTO Mitsuharu + Fix execution of x selection hooks. + * xselect.c (Qx_lost_selection_functions) + (Qx_sent_selection_functions): New vars. + (syms_of_xselect): DEFSYM them. + (x_handle_selection_request): Pass Qx_sent_selection_functions + rather than Vx_sent_selection_functions to Frun_hook_with_args. + (x_handle_selection_clear,x_clear_frame_selections): + Pass Qx_lost_selection_functions rather than + Vx_lost_selection_functions to Frun_hook_with_args. - * 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. +2011-07-13 Paul Eggert -2007-11-09 Richard Stallman + * buffer.c (Fget_buffer_create): Initialize inhibit_shrinking. + The old code sometimes used this field without initializing it. - * emacs.c (syms_of_emacs) : Reflow docstring. + * alloc.c (gc_sweep): Don't read past end of array. + In theory, the old code could also have corrupted Emacs internals, + though it'd be very unlikely. -2007-11-07 Jason Rumney +2011-07-12 Andreas Schwab - * s/windows95.h: Remove. + * character.c (Fcharacterp): Don't advertise optional ignored + argument. (Bug#4026) -2007-11-06 Jan Djärv +2011-07-12 Lars Magne Ingebrigtsen - * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and - abort with a message on unhandled store_type values. + * keymap.c (syms_of_keymap): Clarify that "modifier" is "modifier + key" (bug#4257). -2007-11-01 Jan Djärv + * window.c (Fset_window_start): Doc fix (bug#4199). + (Fset_window_hscroll): Ditto. - * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h: - Remove HAVE_X11R5 and HAVE_X11R4. +2011-07-12 Paul Eggert -2007-11-01 Dan Nicolaescu + Fix minor new problems caught by GCC 4.6.1. + * term.c (init_tty): Remove unused local. + * xsettings.c (store_monospaced_changed): Define this function only + if (defined HAVE_GSETTINGS || defined HAVE_GCONF), as it's + not used otherwise. - * Makefile.in: Remove references to sunfns.c and sunfns.o. +2011-07-12 Chong Yidong -2007-11-01 Johan Bockgård + * xdisp.c (Vresize_mini_windows): Minor doc fix (Bug#3300). - * 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. +2011-07-11 Lars Magne Ingebrigtsen -2007-11-01 Dan Nicolaescu + * xdisp.c (syms_of_xdisp): Make it explicit that the mini-windows + are the mini-buffer and the echo area (bug#3320). - * sunfns.c: Remove file. + * term.c (init_tty): Remove support for supdup, c10 and perq + terminals, which are no longer supported (bug#1482). - * m/sun386.h: - * m/sun2.h: - * m/sparc.h: Remove Sun windows code. +2011-07-10 Johan Bockgård -2007-10-31 Stefan Monnier + * xdisp.c (Ftool_bar_lines_needed): Fix WINDOWP check. - * 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. +2011-07-10 Jan Djärv -2007-10-31 Dan Nicolaescu + * xmenu.c (menu_highlight_callback): Only pass frame to show_help_event + for non-popups (Bug#3642). - * 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. +2011-07-10 Andreas Schwab - * dispnew.c (syms_of_display): Don't mention version 10. + * alloc.c (reset_malloc_hooks): Protoize. + * buffer.c (mmap_init, mmap_find, mmap_free_1, mmap_enlarge) + (mmap_set_vars, mmap_alloc, mmap_free, mmap_realloc): Likewise. + * cm.c (losecursor): Likewise. + * data.c (fmod): Likewise. + * dispnew.c (swap_glyphs_in_rows): Likewise. + * emacs.c (memory_warning_signal): Likewise. + * floatfns.c (float_error): Likewise. + * font.c (check_gstring, check_otf_features, otf_tag_symbol) + (otf_open, font_otf_capability, generate_otf_features) + (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor): + Likewise. + * image.c (pbm_read_file): Likewise. + * indent.c (string_display_width): Likewise. + * intervals.c (check_for_interval, search_for_interval) + (inc_interval_count, count_intervals, root_interval) + (adjust_intervals_for_insertion, make_new_interval): Likewise. + * lread.c (defalias): Likewise. + * ralloc.c (r_alloc_check): Likewise. + * regex.c (set_image_of_range_1, set_image_of_range) + (regex_grow_registers): Likewise. + * sysdep.c (strerror): Likewise. + * termcap.c (valid_filename_p, tprint, main): Likewise. + * tparam.c (main): Likewise. + * unexhp9k800.c (run_time_remap, save_data_space) + (update_file_ptrs, read_header, write_header, calculate_checksum) + (copy_file, copy_rest, display_header): Likewise. + * widget.c (mark_shell_size_user_specified, create_frame_gcs): + Likewise. + * xdisp.c (check_it): Likewise. + * xfaces.c (register_color, unregister_color, unregister_colors): + Likewise. + * xfns.c (print_fontset_result): Likewise. + * xrdb.c (member, fatal, main): Likewise. -2007-10-28 Juanma Barranquero +2011-07-10 Paul Eggert - * makefile.w32-in (OBJ1): Remove abbrev.$(O). - ($(BLD)/abbrev.$(O)): Remove. + Fix minor problems found by static checking (Bug#9031). + * chartab.c (char_table_set_range, map_sub_char_table): + Remove unused locals. + (uniprop_table): Now static. + * composite.c (_work_char): Remove unused static var. -2007-10-28 Stefan Monnier +2011-07-09 Juanma Barranquero - 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. + * chartab.c (uniprop_table_uncompress): Remove unused local variable. -2007-10-26 Martin Rudalics +2011-07-09 Jan Djärv - * window.c (window_min_size_2): Don't count header-line. + * gtkutil.c (qttip_cb): Remove code without function. -2007-10-26 Dan Nicolaescu +2011-07-09 Eli Zaretskii - * 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. + * w32.c (pthread_sigmask): New stub. -2007-10-26 Juanma Barranquero +2011-07-08 Paul Eggert - * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings. + Use pthread_sigmask, not sigprocmask (Bug#9010). + sigprocmask is portable only for single-threaded applications, and + Emacs can be multi-threaded when it uses GTK. + * Makefile.in (LIB_PTHREAD_SIGMASK): New macro. + (LIBES): Use it. + * callproc.c (Fcall_process): + * process.c (create_process): + * sysdep.c (sys_sigblock, sys_sigunblock, sys_sigsetmask): + Use pthread_sigmask, not sigprocmask. - * 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. +2011-07-08 Jan Djärv - * frame.c (syms_of_frame) : - Fix typo in docstring. + * gtkutil.c (qttip_cb): Set line wrap to FALSE for tooltip widget. + (xg_prepare_tooltip): Revert text in x->ttip_lbl, margins was + wrong (Bug#8591). -2007-10-25 Juanma Barranquero +2011-07-08 Jan Djärv - * w32.c (init_environment): Fix tiny memory leak. - (w32_get_resource): Remove unused variable `ok'. + * gtkutil.c (xg_prepare_tooltip): Fix indentation and comment. + Put text in x->ttip_lbl instead of gtk_tooltip_set_text (Bug#8591). + (xg_hide_tooltip): Fix comment. -2007-10-25 Stefan Monnier + * nsterm.m (initFrameFromEmacs): Don't use ns_return_types + in registerServicesMenuSendTypes. + (validRequestorForSendType): Don't check ns_return_types. - Make `window-system' into a keyboard-local variable (rather than - frame-local as done originally by multi-tty). + * nsfns.m (Fx_open_connection): Put NSStringPboardType into + ns_return_type. - * keyboard.h (struct kboard): Add Vwindow_system. - * keyboard.c (init_kboard): Set a default for Vwindow_system. - (mark_kboards): Mark Vwindow_system. +2011-07-08 Jason Rumney - * dispnew.c (syms_of_display) : Declare terminal-local. - (init_display): Don't set the obsolete `window-system' frame-param. + * w32term.c (x_make_frame_visible): Use SH_SHOWNORMAL rather than + SH_SHOW for hidden windows (Bug#5482). - * 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. + * w32fns.c (w32_wnd_proc) [WM_TIMER, WM_SET_CURSOR]: Avoid using + frame struct members of non-existent frames (Bug#6284). - * 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. +2011-07-08 Jan Djärv - * 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. + * nsterm.m (keyDown): Call to wantsToDelayTextChangeNotifications and + variable firstTime not needed on OSX >= 10.6. + (setPosition): setFloatValue:knobProportion: is deprecated on OSX + >= 10.5. Use setKnobProportion, setDoubleValue. -2007-10-24 Richard Stallman + * nsterm.h (MAC_OS_X_VERSION_10_3, MAC_OS_X_VERSION_10_4) + (MAC_OS_X_VERSION_10_5): Define if not defined. + (EmacsView, EmacsTooltip): Implements NSWindowDelegate on OSX >= 10.6. + (EmacsMenu): Implements NSMenuDelegate on OSX >= 10.6. + (EmacsToolbar): Implements NSToolbarDelegate on OSX >= 10.6. - * frame.c (x_figure_window_size): For fullscreen case, - set USPosition | PPosition without clobbering rest of window_prompting. + * nsselect.m (ns_string_from_pasteboard): Don't use deprecated methods + cString and lossyCString on OSX >= 10.4 - * keyboard.c (Fcurrent_idle_time): Doc fix. + * nsmenu.m (fillWithWidgetValue): Don't use depercated method + sizeToFit on OSX >= 10.2. - * print.c (Fwith_output_to_temp_buffer): Doc fix. + * nsimage.m (allocInitFromFile): Don't use deprecated method + bestRepresentationForDevice on OSX >= 10.6. -2007-10-23 Stefan Monnier + * nsfns.m (check_ns_display_info): Cast to long and use %ld in error + to avoid warning. - * process.c (unwind_request_sigio): Only define if __ultrix__. + * emacs.c: Declare unexec_init_emacs_zone. - * callproc.c (child_setup): Remove spurious *. + * nsgui.h: Fix compiler warning about gnulib redefining verify. - * 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. + * nsselect.m (ns_get_local_selection): Change to extern (Bug#8842). - * 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. + * nsmenu.m (ns_update_menubar): Remove useless setDelegate call + on svcsMenu (Bug#8842). -2007-10-22 Jason Rumney + * nsfns.m (Fx_open_connection): Remove NSStringPboardType from + ns_return_types. + (Fns_list_services): Just return Qnil on 10.6, code not working there. - * w32fns.c: Include math.h. - (w32_abort): Declaration moved to nt/config.nt. + * nsterm.m (QUTF8_STRING): Declare. + (initFrameFromEmacs): Call registerServicesMenuSendTypes. + (validRequestorForSendType): Return type is (id). + Change indexOfObjectIdenticalTo to indexOfObject. + Check if we have local selection before returning self (Bug#8842). + (writeSelectionToPasteboard): Put local selection into paste board + if we have a local selection (Bug#8842). + (syms_of_nsterm): DEFSYM QUTF8_STRING. - * s/ms-w32.h (HAVE_STDLIB_H): Define. - (abort): Redefinition moved to nt/config.nt. + * nsterm.h (MAC_OS_X_VERSION_10_6): Define here instead of nsterm.m. + (ns_get_local_selection): Declare. - * m/windowsnt.h: Remove. +2011-07-07 Lars Magne Ingebrigtsen -2007-10-22 Juanma Barranquero + * keymap.c (describe_map_tree): Don't insert a double newline at + the end of the buffer (bug#1169) and return whether we inserted + something. - * emacs.c (Fdump_emacs): Fix typo in message. - (syms_of_emacs) : Fix typo in docstring. - : Reflow docstring. + * callint.c (Fcall_interactively): Change "reading args" to + "providing args" to try to clarify what it does (bug#1010). -2007-10-22 Juri Linkov +2011-07-07 Kenichi Handa - * 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. + * composite.c (composition_compute_stop_pos): Ignore a static + composition starting before CHARPOS (Bug#8915). -2007-10-21 Michael Albinus + * xdisp.c (handle_composition_prop): Likewise. - * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid. +2011-07-07 Eli Zaretskii -2007-10-20 Juanma Barranquero + * term.c (produce_glyphs) : Allow IT_GLYPHLESS in it->what. + (Bug#9015) - * doc.c (Fdocumentation): Check for advice in all cases. +2011-07-07 Kenichi Handa -2007-10-19 Chong Yidong + * character.h (unicode_category_t): New enum type. + + * chartab.c (uniprop_decoder_t, uniprop_encoder_t): New types. + (Qchar_code_property_table): New variable. + (UNIPROP_TABLE_P, UNIPROP_GET_DECODER) + (UNIPROP_COMPRESSED_FORM_P): New macros. + (char_table_ascii): Uncompress the compressed values. + (sub_char_table_ref): New arg is_uniprop. Callers changed. + Uncompress the compressed values. + (sub_char_table_ref_and_range): Likewise. + (char_table_ref_and_range): Uncompress the compressed values. + (sub_char_table_set): New arg is_uniprop. Callers changed. + Uncompress the compressed values. + (sub_char_table_set_range): Args changed. Callers changed. + (char_table_set_range): Adjuted for the above change. + (map_sub_char_table): Delete args default_val and parent. Add arg + top. Give decoded values to a Lisp function. + (map_char_table): Adjust for the above change. Give decoded + values to a Lisp function. Gcpro more variables. + (uniprop_table_uncompress) + (uniprop_decode_value_run_length): New functions. + (uniprop_decoder, uniprop_decoder_count): New variables. + (uniprop_get_decoder, uniprop_encode_value_character) + (uniprop_encode_value_run_length, uniprop_encode_value_numeric): + New functions. + (uniprop_encoder, uniprop_encoder_count): New variables. + (uniprop_get_encoder, uniprop_table) + (Funicode_property_table_internal, Fget_unicode_property_internal) + (Fput_unicode_property_internal): New functions. + (syms_of_chartab): DEFSYM Qchar_code_property_table, defsubr + Sunicode_property_table_internal, Sget_unicode_property_internal, + and Sput_unicode_property_internal. Defvar_lisp + char-code-property-alist. + + * composite.c (CHAR_COMPOSABLE_P): Adjust for the change of + Vunicode_category_table. + + * font.c (font_range): Adjust for the change of + Vunicode_category_table. + +2011-07-07 Dan Nicolaescu + + * m/iris4d.h: Remove file, move contents ... + * s/irix6-5.h: ... here. + +2011-07-06 Paul Eggert + + Remove unportable assumption about struct layout (Bug#8884). + * alloc.c (mark_buffer): + * buffer.c (reset_buffer_local_variables, Fbuffer_local_variables) + (clone_per_buffer_values): Don't assume that + sizeof (struct buffer) is a multiple of sizeof (Lisp_Object). + This isn't true in general, and it's particularly not true + if Emacs is configured with --with-wide-int. + * buffer.h (FIRST_FIELD_PER_BUFFER, LAST_FIELD_PER_BUFFER): + New macros, used in the buffer.c change. + +2011-07-05 Jan Djärv + + * xsettings.c: Use both GConf and GSettings if both are available. + (store_config_changed_event): Add comment. + (dpyinfo_valid, store_font_name_changed, map_tool_bar_style) + (store_tool_bar_style_changed): New functions. + (store_monospaced_changed): Add comment. Call dpyinfo_valid. + (struct xsettings): Move font inside HAVE_XFT. + (GSETTINGS_TOOL_BAR_STYLE, GSETTINGS_FONT_NAME): New defines. + (GSETTINGS_MONO_FONT): Rename from SYSTEM_MONO_FONT. + Move inside HAVE_XFT. + (something_changed_gsettingsCB): Rename from something_changedCB. + Check for changes in GSETTINGS_TOOL_BAR_STYLE and GSETTINGS_FONT_NAME + also. + (GCONF_TOOL_BAR_STYLE, GCONF_FONT_NAME): New defines. + (GCONF_MONO_FONT): Rename from SYSTEM_MONO_FONT. Move inside HAVE_XFT. + (something_changed_gconfCB): Rename from something_changedCB. + Check for changes in GCONF_TOOL_BAR_STYLE and GCONF_FONT_NAME also. + (parse_settings): Move check for font inside HAVE_XFT. + (read_settings, apply_xft_settings): Add comment. + (read_and_apply_settings): Add comment. Call map_tool_bar_style and + store_tool_bar_style_changed. Move check for font inside HAVE_XFT and + call store_font_name_changed. + (xft_settings_event): Add comment. + (init_gsettings): Add comment. Get values for GSETTINGS_TOOL_BAR_STYLE + and GSETTINGS_FONT_NAME. Move check for fonts within HAVE_XFT. + (init_gconf): Add comment. Get values for GCONF_TOOL_BAR_STYLE + and GCONF_FONT_NAME. Move check for fonts within HAVE_XFT. + (xsettings_initialize): Call init_gsettings last. + (xsettings_get_system_font, xsettings_get_system_normal_font): + Add comment. + +2011-07-05 Paul Eggert + + Random fixes. E.g., (random) never returned negative values. + * fns.c (Frandom): Use GET_EMACS_TIME for random seed, and add the + subseconds part to the entropy, as that's a bit more random. + Prefer signed to unsigned, since the signedness doesn't matter and + in general we prefer signed. When given a limit, use a + denominator equal to INTMASK + 1, not to VALMASK + 1, because the + latter isn't right if USE_2_TAGS_FOR_INTS. + * sysdep.c (get_random): Return a value in the range 0..INTMASK, + not 0..VALMASK. Don't discard "excess" bits that random () returns. + +2011-07-04 Stefan Monnier + + * textprop.c (text_property_stickiness): + Obey Vtext_property_default_nonsticky. + (syms_of_textprop): Add `display' to Vtext_property_default_nonsticky. + * w32fns.c (syms_of_w32fns): + * xfns.c (syms_of_xfns): Don't Add `display' since it's there by default. - * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags. +2011-07-04 Paul Eggert -2007-10-19 Richard Stallman + * fileio.c (barf_or_query_if_file_exists): Use S_ISDIR. + This is more efficient than Ffile_directory_p and avoids a minor race. - * doc.c (Fdocumentation): Check for and handle an advised function. +2011-07-04 Lars Magne Ingebrigtsen -2007-10-19 Juanma Barranquero + * buffer.c (Foverlay_put): Say what the return value is + (bug#7835). - * process.c (Fset_process_filter): Doc fix. + * fileio.c (barf_or_query_if_file_exists): Check first if the file + is a directory before asking whether to use the file name + (bug#7564). + (barf_or_query_if_file_exists): Make the "File is a directory" + error be more correct. -2007-10-18 Stefan Monnier + * fns.c (Frequire): Remove the mention of the .gz files, since + that's installation-specific, but keep the mention of + `get-load-suffixes'. - * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty - which caused key-translation-map to applied repeatedly (thus breaking - double-mode). +2011-07-04 Paul Eggert -2007-10-17 Stefan Monnier + * editfns.c (Fformat_time_string): Don't assume strlen fits in int. + Report string overflow if the output is too long. - * 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. +2011-07-04 Juanma Barranquero -2007-10-17 Chong Yidong + * gnutls.c (Fgnutls_boot): Don't mention :verify-error. + (syms_of_gnutls): Remove duplicate DEFSYM for + Qgnutls_bootprop_verify_hostname_error, an error for + Qgnutls_bootprop_verify_error (which is no longer used). - * process.c: Link to libs for calling res_init() if available. - (Fmake_network_process): Call res_init() before getaddrinfo or - gethostbyname, if possible. + * eval.c (find_handler_clause): Remove parameters `sig' and `data', + unused since 2011-01-26T20:02:07Z!monnier@iro.umontreal.ca. All callers changed. + Also (re)move comments that are misplaced or no longer relevant. -2007-10-17 Stefan Monnier +2011-07-03 Lars Magne Ingebrigtsen - * lread.c (read1): Set pvectype for char_tables. + * callint.c (Finteractive): Clarify the meaning of "@" (bug#8813). - * 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. +2011-07-03 Chong Yidong - * alloc.c (free_misc): Use XMISCTYPE. - (live_misc_p, gc_sweep): Use Lisp_Misc_Any. + * xfaces.c (Finternal_merge_in_global_face): Modify the foreground + and background color parameters if they have been changed. -2007-10-17 Glenn Morris +2011-07-03 Lars Magne Ingebrigtsen - * 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. + * editfns.c (Fformat): Clarify the - and 0 flags (bug#6659). - * coding.c (Qcompletion_ignore_case): New external Lisp_Object. - (Fread_coding_system): Ignore case of user input. +2011-07-03 Paul Eggert -2007-10-16 YAMAMOTO Mitsuharu + * xsettings.c (SYSTEM_FONT): Define only when used. + No need to define when HAVE_GSETTINGS || !HAVE_XFT. - * 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. + * keymap.c (access_keymap_1): Now static. -2007-10-16 Stefan Monnier +2011-07-02 Chong Yidong - * 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. + * keyboard.c (command_loop_1): If a down-mouse event is unbound, + leave any prefix arg for the up event (Bug#1586). - * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors. +2011-07-02 Lars Magne Ingebrigtsen - * 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. + * lread.c (syms_of_lread): Mention single symbols defined by + `defvar' or `defconst' (bug#7154). - * doc.c (Fsnarf_documentation): Simplify. + * fns.c (Frequire): Mention .el.gz files (bug#7314). + (Frequire): Mention get-load-suffixes. -2007-10-14 Juanma Barranquero +2011-07-02 Martin Rudalics - * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static. - (syms_of_w32term) : Fix typo in docstring. + * window.h (window): Remove clone_number slot. + * window.c (Fwindow_clone_number, Fset_window_clone_number): + Remove. + (make_parent_window, make_window, saved_window) + (Fset_window_configuration, save_window_save): Don't deal with + clone numbers. + * buffer.c (Qclone_number): Remove declaration. + (sort_overlays, overlay_strings): Don't deal with clone numbers. -2007-10-14 Stefan Monnier +2011-07-02 Stefan Monnier - * buffer.c (Fmake_indirect_buffer): Set the buffer's tag. + Add multiple inheritance to keymaps. + * keymap.c (Fmake_composed_keymap): New function. + (Fset_keymap_parent): Simplify. + (fix_submap_inheritance): Remove. + (access_keymap_1): New function extracted from access_keymap to handle + embedded parents and handle lists of maps. + (access_keymap): Use it. + (Fkeymap_prompt, map_keymap_internal, map_keymap, store_in_keymap) + (Fcopy_keymap): Handle embedded parents. + (Fcommand_remapping, define_as_prefix): Simplify. + (Fkey_binding): Simplify. + (syms_of_keymap): Move minibuffer-local-completion-map, + minibuffer-local-filename-completion-map, + minibuffer-local-must-match-map, and + minibuffer-local-filename-must-match-map to Elisp. + (syms_of_keymap): Defsubr make-composed-keymap. + * keyboard.c (menu_bar_items): Use map_keymap_canonical. + (parse_menu_item): Trivial simplification. -2007-10-14 Juanma Barranquero +2011-07-01 Glenn Morris - * eval.c (do_autoload): Don't save autoloads. + * Makefile.in (SETTINGS_LIBS): Fix typo. - * data.c (Ffset): Save autoload of the function being set. +2011-07-01 Kazuhiro Ito (tiny patch) -2007-10-07 John Paul Wallington + * coding.c (Fencode_coding_string): Record the last coding system + used, as the function doc string says (bug#8738). - * xfns.c (x_create_tip_frame): Set the `display-type' frame - parameter before setting up faces. +2011-07-01 Jan Djärv -2007-10-13 Eli Zaretskii + * xsettings.c (store_monospaced_changed): Take new font as arg and + check for change against current_mono_font. + (EMACS_TYPE_SETTINGS): Remove this and related defines. + (emacs_settings_constructor, emacs_settings_get_property) + (emacs_settings_set_property, emacs_settings_class_init) + (emacs_settings_init, gsettings_obj): Remove. + (something_changedCB): New function for HAVE_GSETTINGS. + (something_changedCB): HAVE_GCONF: Call store_monospaced_changed + with value as argument. + (init_gsettings): Check that GSETTINGS_SCHEMA exists before calling + g_settings_new (Bug#8967). Do not create gsettings_obj. + Remove calls to g_settings_bind. Connect something_changedCB to + "changed". - * ccl.c (Fregister_code_conversion_map): - * keyboard.c (append_tool_bar_item): Reformat last change. + * xgselect.c: Add defined (HAVE_GSETTINGS). + (xgselect_initialize): Ditto. - * lisp.h (eabs): Rename from `abs'. All callers changed. + * process.c: Add defined (HAVE_GSETTINGS) for xgselect.h + (wait_reading_process_output): Add defined (HAVE_GSETTINGS) for + xg_select. -2007-10-05 Dmitry Antipov +2011-07-01 Paul Eggert - * 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. + * eval.c (struct backtrace): Simplify and port the data structure. + Do not assume that "int nargs : BITS_PER_INT - 2;" produces a + signed bit field, as this assumption is not portable and it makes + Emacs crash when compiled with Sun C 5.8 on sparc. Do not use + "char debug_on_exit : 1" as this is not portable either; instead, + use the portable "unsigned int debug_on_exit : 1". Remove unused + member evalargs. Remove obsolete comments about cc bombing out. + +2011-06-30 Jan Djärv + + * xsettings.c: Include glib-object.h, gio/gio.h if HAVE_GSETTINGS. + Let HAVE_GSETTINGS override HAVE_GCONF. + (store_monospaced_changed): New function. + (EMACS_SETTINGS): A new type derived from GObject to handle + GSettings notifications. + (emacs_settings_constructor, emacs_settings_get_property) + (emacs_settings_set_property, emacs_settings_class_init): + New functions. + (gsettings_client, gsettings_obj): New variables. + (GSETTINGS_SCHEMA): New define. + (something_changedCB): Call store_monospaced_changed. + (init_gsettings): New function. + (xsettings_initialize): Call init_gsettings. + (syms_of_xsettings): Initialize gsettings_client, gsettings_obj + to NULL. -2007-10-13 Eli Zaretskii + * Makefile.in (SETTINGS_CFLAGS, SETTINGS_LIBS): Rename from + GCONF_CFLAGS/LIBS. - * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving - selected frame'' on MSDOS). +2011-06-29 Martin Rudalics -2007-10-12 Martin Rudalics + * window.c (resize_root_window, grow_mini_window) + (shrink_mini_window): Rename Qresize_root_window to + Qwindow_resize_root_window and Qresize_root_window_vertically to + Qwindow_resize_root_window_vertically. - * frame.c (Qexplicit_name): New variable. - (x_report_frame_params): Report it in parameter alist. - (syms_of_frame): Intern and staticpro it. +2011-06-28 Paul Eggert -2007-10-10 Patrick Mahan (tiny change) + * gnutls.c (Qgnutls_bootprop_verify_error): Remove unused var. - * macfns.c (x_create_tip_frame): Set terminal for frame. +2011-06-27 Juanma Barranquero -2007-10-10 Stefan Monnier + * makefile.w32-in: Redesign dependencies so they reflect more + clearly which files are directly included by each source file, + and not through other includes. - * 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. +2011-06-27 Martin Rudalics - * frame.c (Fframe_with_environment): Remove. - (syms_of_frame) : Don't declare. + * buffer.c (Qclone_number): Declare static and DEFSYM it. + (sort_overlays, overlay_strings): When an overlay's clone number + matches the window's clone number process the overlay even if + the overlay's window property doesn't match the current window. - * lisp.h (Fframe_with_environment): Don't declare. + * window.c (Fwindow_vchild): Rename to Fwindow_top_child. + (Fwindow_hchild): Rename to Fwindow_left_child. + (Fwindow_next): Rename to Fwindow_next_sibling. + (Fwindow_prev): Rename to Fwindow_prev_sibling. + (resize_window_check): Rename to window_resize_check. + (resize_window_apply): Rename to window_resize_apply. + (Fresize_window_apply): Rename to Fwindow_resize_apply. + (Fdelete_other_windows_internal, resize_frame_windows) + (Fsplit_window_internal, Fdelete_window_internal) + (grow_mini_window, shrink_mini_window) + (Fresize_mini_window_internal): Fix callers accordingly. -2007-10-10 Juanma Barranquero +2011-06-26 Jan Djärv - * indent.c (indent_tabs_mode, last_known_column) - (last_known_column_modified): Make static. - (syms_of_indent) : Remove redundant info in docstring. + * emacsgtkfixed.h: State that this is only used with Gtk+3. + (emacs_fixed_set_min_size): Remove. + (emacs_fixed_new): Take frame as argument. -2007-10-10 Katsumi Yamaoka + * emacsgtkfixed.c: State that this is only used with Gtk+3. + (_EmacsFixedPrivate): Remove minwidth/height. + Add struct frame *f. + (emacs_fixed_init): Initialize priv->f. + (get_parent_class, emacs_fixed_set_min_size): Remove. + (emacs_fixed_new): Set priv->f to argument. + (emacs_fixed_get_preferred_width) + (emacs_fixed_get_preferred_height): Use min_width/height from + frames size_hint to set minimum and natural (Bug#8919). + (XSetWMSizeHints, XSetWMNormalHints): Override these functions + and use min_width/height from frames size_hint to set + min_width/height (Bug#8919). - * puresize.h (BASE_PURESIZE): Increase to 1170000. + * gtkutil.c (xg_create_frame_widgets): Pass f to emacs_fixed_new. + (x_wm_set_size_hint): Remove call to emacs_fixed_set_min_size. + Fix indentation. -2007-10-09 Jason Rumney +2011-06-26 Eli Zaretskii - * w32term.c (x_set_window_size): Disable code that attempts to tell - Lisp code about a size change before it actually happens. + * bidi.c (bidi_paragraph_init): Test for ZV_BYTE before calling + bidi_at_paragraph_end, since fast_looking_at doesn't like to be + called at ZV. -2007-10-09 Richard Stallman +2011-06-26 Chong Yidong - * xdisp.c (handle_invisible_prop): After setting up an ellipsis, - return HANDLED_RETURN. + * process.c (wait_reading_process_output): Bypass select if + waiting for a cell while ignoring keyboard input, and input is + pending. Suggested by Jan Djärv (Bug#8869). -2007-10-08 Martin Rudalics +2011-06-25 Paul Eggert - * keyboard.c (kbd_buffer_get_event): Break loop waiting for input - when there's an unread command event. + Use gnulib's dup2 module instead of rolling our own. + * sysdep.c (dup2) [!HAVE_DUP2]: Remove; gnulib now does this. - * 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. +2011-06-25 YAMAMOTO Mitsuharu -2007-10-08 YAMAMOTO Mitsuharu + * dispnew.c (scrolling_window): Before scrolling, turn off a + mouse-highlight in the window being scrolled. - * macterm.c (mac_load_query_font): Fix missing return value. - [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap): - Add BLOCK_INPUT. +2011-06-24 Juanma Barranquero -2007-10-08 Richard Stallman + Move DEFSYM to lisp.h and use everywhere. - * xdisp.c (get_window_cursor_type): Implement documented behavior - for cursor-in-non-selected-windows = t. + * character.h (DEFSYM): Move declaration... + * lisp.h (DEFSYM): ...here. -2007-10-08 Jason Rumney + * gnutls.c: + * minibuf.c: + * w32menu.c: + * w32proc.c: + * w32select.c: Don't include character.h. - * w32.c (w32_get_resource): Always close registry keys. + * alloc.c (syms_of_alloc): + * buffer.c (syms_of_buffer): + * bytecode.c (syms_of_bytecode): + * callint.c (syms_of_callint): + * casefiddle.c (syms_of_casefiddle): + * casetab.c (init_casetab_once): + * category.c (init_category_once, syms_of_category): + * ccl.c (syms_of_ccl): + * cmds.c (syms_of_cmds): + * composite.c (syms_of_composite): + * dbusbind.c (syms_of_dbusbind): + * dired.c (syms_of_dired): + * dispnew.c (syms_of_display): + * doc.c (syms_of_doc): + * editfns.c (syms_of_editfns): + * emacs.c (syms_of_emacs): + * eval.c (syms_of_eval): + * fileio.c (syms_of_fileio): + * fns.c (syms_of_fns): + * frame.c (syms_of_frame): + * fringe.c (syms_of_fringe): + * insdel.c (syms_of_insdel): + * keymap.c (syms_of_keymap): + * lread.c (init_obarray, syms_of_lread): + * macros.c (syms_of_macros): + * msdos.c (syms_of_msdos): + * print.c (syms_of_print): + * process.c (syms_of_process): + * search.c (syms_of_search): + * sound.c (syms_of_sound): + * syntax.c (init_syntax_once, syms_of_syntax): + * terminal.c (syms_of_terminal): + * textprop.c (syms_of_textprop): + * undo.c (syms_of_undo): + * w32.c (globals_of_w32): + * window.c (syms_of_window): + * xdisp.c (syms_of_xdisp): + * xfaces.c (syms_of_xfaces): + * xfns.c (syms_of_xfns): + * xmenu.c (syms_of_xmenu): + * xsettings.c (syms_of_xsettings): + * xterm.c (syms_of_xterm): Use DEFSYM. + +2011-06-24 Teodor Zlatanov + + * gnutls.c (syms_of_gnutls): Use the DEFSYM macro from character.h. + +2011-06-23 Paul Eggert + + Integer and buffer overflow fixes (Bug#8873). + + * print.c (printchar, strout): Check for string overflow. + (PRINTPREPARE, printchar, strout): + Don't set size unless allocation succeeds. + + * minibuf.c (read_minibuf_noninteractive): Use ptrdiff_t, not int, + for sizes. Check for string overflow more accurately. + Simplify newline removal at end; this suppresses a GCC 4.6.0 warning. + + * macros.c: Integer and buffer overflow fixes. + * keyboard.h (struct keyboard.kbd_macro_bufsize): + * macros.c (Fstart_kbd_macro, store_kbd_macro_char): + Use ptrdiff_t, not int, for sizes. + Don't increment bufsize until after realloc succeeds. + Check for size-calculation overflow. + (Fstart_kbd_macro): Use EMACS_INT, not int, for XINT result. + + * lisp.h (DEFVAR_KBOARD): Use offsetof instead of char * finagling. + + * lread.c: Integer overflow fixes. + (read_integer): Radix is now EMACS_INT, not int, + to improve quality of diagnostics for out-of-range radices. + Calculate buffer size correctly for out-of-range radices. + (read1): Check for integer overflow in radices, and in + read-circle numbers. + (read_escape): Avoid int overflow. + (Fload, openp, read_buffer_size, read1) + (substitute_object_recurse, read_vector, read_list, map_obarray): + Use ptrdiff_t, not int, for sizes. + (read1): Use EMACS_INT, not int, for sizes. + Check for size overflow. + + * image.c (cache_image): Check for size arithmetic overflow. + + * lread.c: Integer overflow issues. + (saved_doc_string_size, saved_doc_string_length) + (prev_saved_doc_string_size, prev_saved_doc_string_length): + Now ptrdiff_t, not int. + (read1): Don't assume doc string length fits in int. Check for + out-of-range doc string lengths. + (read_list): Don't assume file position fits in int. + (read_escape): Check for hex character overflow. + +2011-06-22 Leo Liu + + * minibuf.c (Fcompleting_read_default, Vcompleting_read_function): + Move to minibuffer.el. + +2011-06-22 Paul Eggert + + Fixes for GLYPH_DEBUG found by GCC 4.6.0 static checking. + The following patches are for when GLYPH_DEBUG && !XASSERT. + * dispextern.h (trace_redisplay_p, dump_glyph_string): + * dispnew.c (flush_stdout): + * xdisp.c (dump_glyph_row, dump_glyph_matrix, dump_glyph): + Mark as externally visible. + * dispnew.c (check_window_matrix_pointers): Now static. + * dispnew.c (window_to_frame_vpos): + * xfns.c (unwind_create_frame): + * xterm.c (x_check_font): Remove unused local. + * scroll.c (CHECK_BOUNDS): + * xfaces.c (cache_fache): Rename local to avoid shadowing. + * xfns.c, w32fns.c (image_cache_refcount, dpyinfo_refcount): Now static. + * xdisp.c (check_window_end): Now a no-op if !XASSERTS. + (debug_first_unchanged_at_end_vpos, debug_last_unchanged_at_beg_vpos) + (debug_dvpos, debug_dy, debug_delta, debug_delta_bytes, debug_end_vpos): + Now static. + (debug_method_add): Use va_list and vsprintf rather than relying + on undefined behavior with wrong number of arguments. + (dump_glyph, dump_glyph_row, Fdump_glyph_matrix): + Don't assume ptrdiff_t and EMACS_INT are the same width as int. + In this code, it's OK to assume C99 behavior for ptrdiff_t formats + since we're not interested in debugging glyphs with old libraries. + * xfaces.c (cache_face): Move debugging code earlier; this pacifies + GCC 4.6.0's static checking. + +2011-06-22 Paul Eggert + + Integer overflow and signedness fixes (Bug#8873). + A few related buffer overrun fixes, too. + + * font.c (font_score): Use EMACS_INT, not int, to store XINT value. + + * dispextern.h (struct face.stipple): + * image.c (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap) + (x_bitmap_mask, x_allocate_bitmap_record) + (x_create_bitmap_from_data, x_create_bitmap_from_file) + (x_destroy_bitmap, x_destroy_all_bitmaps, x_create_bitmap_mask) + (x_create_bitmap_from_xpm_data): + * nsterm.h (struct ns_display_info.bitmaps_size, .bitmaps_last): + * w32term.h (struct w32_display_info.icon_bitmap_id, .bitmaps_size) + (.bitmaps_last): + * xfaces.c (load_pixmap): + * xterm.c (x_bitmap_icon, x_wm_set_icon_pixmap): + * xterm.h (struct x_display_info.icon_bitmap_id, .bitmaps_size) + (.bitmaps_last, struct x_output.icon_bitmap): + Use ptrdiff_t, not int, for bitmap indexes. + (x_allocate_bitmap_record): Check for size overflow. + * dispextern.h, lisp.h: Adjust to API changes elsewhere. + + Use ptrdiff_t, not int, for overlay counts. + * buffer.h (overlays_at, sort_overlays, GET_OVERLAYS_AT): + * editfns.c (overlays_around, get_pos_property): + * textprop.c (get_char_property_and_overlay): + * xdisp.c (next_overlay_change, note_mouse_highlight): + * xfaces.c (face_at_buffer_position): + * buffer.c (OVERLAY_COUNT_MAX): New macro. + (overlays_at, overlays_in, sort_overlays, Foverlays_at) + (Fnext_overlay_change, Fprevious_overlay_change) + (mouse_face_overlay_overlaps, Foverlays_in): + Use ptrdiff_t, not int, for sizes. + (overlays_at, overlays_in): Check for size-calculation overflow. + + * xterm.c (xim_initialize, same_x_server): Strlen may not fit in int. + + * xsmfns.c (smc_save_yourself_CB, x_session_initialize): Avoid strlen. + (x_session_initialize): Do not assume string length fits in int. + + * xsettings.c (apply_xft_settings): Fix potential buffer overrun. + This is unlikely, but can occur if DPI is outlandish. + + * xsettings.c (Ffont_get_system_normal_font, Ffont_get_system_font): + * xselect.c (Fx_get_atom_name): Avoid need for strlen. + + * xrdb.c: Don't assume strlen fits in int; avoid some strlens. + * xrdb.c (magic_file_p, search_magic_path): + Omit last arg SUFFIX; it was always 0. All callers changed. + (magic_file_p): Use ptrdiff_t, not int. Check for size overflow. + + * xfont.c (xfont_match): Avoid need for strlen. + + * xfns.c: Don't assume strlen fits in int. + (xic_create_fontsetname, x_window): Use ptrdiff_t, not int. + + * xdisp.c (message_log_check_duplicate): Return intmax_t, + not unsigned long, as we prefer signed integers. All callers changed. + Detect integer overflow in repeat count. + (message_dolog): Don't assume print length fits in 39 bytes. + (display_mode_element): Don't assume strlen fits in int. + + * termcap.c: Don't assume sizes fit in int and never overflow. + (struct termcap_buffer, tgetent): Use ptrdiff_t, not int, for sizes. + (gobble_line): Check for size-calculation overflow. + + * minibuf.c (Fread_buffer): + * lread.c (intern, intern_c_string): + * image.c (xpm_scan) [HAVE_NS && !HAVE_XPM]: + Don't assume string length fits in int. + + * keyboard.c (parse_tool_bar_item): + * gtkutil.c (style_changed_cb): Avoid need for strlen. + + * font.c: Don't assume string length fits in int. + (font_parse_xlfd, font_parse_fcname, font_unparse_fcname): + Use ptrdiff_t, not int. + (font_intern_prop): Don't assume string length fits in int. + Don't assume integer property fits in fixnum. + * font.h (font_intern_prop): 2nd arg is now ptrdiff_t, not int. + + * filelock.c: Fix some buffer overrun and integer overflow issues. + (get_boot_time): Don't assume gzip command string fits in 100 bytes. + Reformulate so as not to need the command string. + Invoke gzip -cd rather than gunzip, as it's more portable. + (lock_info_type, lock_file_1, lock_file): + Don't assume pid_t and time_t fit in unsigned long. + (LOCK_PID_MAX): Remove; we now use more-reliable bounds. + (current_lock_owner): Prefer signed type for sizes. + Use memcpy, not strncpy, where memcpy is what is really wanted. + Don't assume (via atoi) that time_t and pid_t fit in int. + Check for time_t and/or pid_t out of range, e.g., via a network share. + Don't alloca where an auto var works fine. + + * fileio.c: Fix some integer overflow issues. + (file_name_as_directory, Fexpand_file_name, Fsubstitute_in_file_name): + Don't assume string length fits in int. + (directory_file_name): Don't assume string length fits in long. + (make_temp_name): Don't assume pid fits in int, or that its print + length is less than 20. + + * data.c (Fsubr_name): Rewrite to avoid a strlen call. + + * coding.c (make_subsidiaries): Don't assume string length fits in int. + + * callproc.c (child_setup): Rewrite to avoid two strlen calls. + + * process.c (Fformat_network_address): Use EMACS_INT, not EMACS_UINT. + We prefer signed integers, even for size calculations. + + * emacs.c: Don't assume string length fits in 'int'. + (DEFINE_DUMMY_FUNCTION, sort_args): Use ptrdiff_t, not int. + (main): Don't invoke strlen when not needed. + + * dbusbind.c (XD_ERROR): Don't arbitrarily truncate string. + (XD_DEBUG_MESSAGE): Don't waste a byte. + + * callproc.c (getenv_internal_1, getenv_internal) + (Fgetenv_internal): + * buffer.c (init_buffer): Don't assume string length fits in 'int'. + + * lread.c (invalid_syntax): Omit length argument. + All uses changed. This doesn't fix a bug, but it simplifies the + code away from its former Hollerith-constant appearance, and it's + one less 'int' to worry about when looking at integer-overflow issues. + (string_to_number): Simplify 2011-04-26 change by invoking xsignal1. + + * lisp.h (DEFUN): Remove bogus use of sizeof (struct Lisp_Subr). + This didn't break anything, but it didn't help either. + It's confusing to put a bogus integer in a place where the actual + value does not matter. + (LIST_END_P): Remove unused macro and its bogus comment. + (make_fixnum_or_float): Remove unnecessary cast to EMACS_INT. -2007-10-08 Jason Rumney + * lisp.h (union Lisp_Object.i): EMACS_INT, not EMACS_UINT. + This is for consistency with the ordinary, non-USE_LISP_UNION_TYPE, + implementation. + (struct Lisp_Bool_Vector.size): EMACS_INT, not EMACS_UINT. + We prefer signed types, and the value cannot exceed the EMACS_INT + range anyway (because otherwise the length would not be representable). + (XSET) [USE_LISP_UNION_TYPE]: Use uintptr_t and intptr_t, + not EMACS_UINT and EMACS_INT, when converting pointer to integer. + This avoids a GCC warning when WIDE_EMACS_INT. + + * indent.c (sane_tab_width): New function. + (current_column, scan_for_column, Findent_to, position_indentation) + (compute_motion): Use it. This is just for clarity. + (Fcompute_motion): Don't assume hscroll and tab offset fit in int. + + * image.c (xbm_image_p): Don't assume stated width, height fit in int. + + * lisp.h (lint_assume): New macro. + * composite.c (composition_gstring_put_cache): + * ftfont.c (ftfont_shape_by_flt): Use it to pacify GCC 4.6.0. + + * editfns.c, insdel.c: + Omit unnecessary forward decls, to simplify future changes. + + * ftfont.c (ftfont_shape_by_flt): Use signed integers for lengths. + + * font.c (Ffont_shape_gstring): Don't assume glyph len fits in 'int'. + + * fns.c (Ffillarray): Don't assume bool vector size fits in 'int'. + Use much-faster test for byte-length change. + Don't assume string byte-length fits in 'int'. + Check that character arg fits in 'int'. + (mapcar1): Declare byte as byte, for clarity. + + * alloc.c (Fmake_bool_vector): Avoid unnecessary multiplication. + + * fns.c (concat): Catch string overflow earlier. + Do not rely on integer wraparound. + + * dispextern.h (struct it.overlay_strings_charpos) + (struct it.selective): Now EMACS_INT, not int. + * xdisp.c (forward_to_next_line_start) + (back_to_previous_visible_line_start) + (reseat_at_next_visible_line_start, next_element_from_buffer): + Don't arbitrarily truncate the value of 'selective' to int. + + * xdisp.c (init_iterator): Use XINT, not XFASTINT; it might be < 0. + + * composite.c: Don't truncate sizes to 'int'. + (composition_gstring_p, composition_reseat_it) + (composition_adjust_point): Use EMACS_INT, not int. + (get_composition_id, composition_gstring_put_cache): Use EMACS_INT, + not EMACS_UINT, for indexes. - * makefile.w32-in (LIBS): Add COMCTL32. + * category.h (CATEGORY_SET_P): Remove unnecessary cast to EMACS_INT. - * w32fns.c (globals_of_w32fns): Init common controls. + * buffer.c: Include . + (struct sortvec.priority, struct sortstr.priority): + Now EMACS_INT, not int. + (compare_overlays, cmp_for_strings): Avoid subtraction overflow. + (struct sortstr.size, record_overlay_string) + (struct sortstrlist.size, struct sortlist.used): + Don't truncate size to int. + (record_overlay_string): Check for size-calculation overflow. + (init_buffer_once): Check at compile-time, not run-time. -2007-10-08 Richard Stallman +2011-06-22 Jim Meyering - * image.c (our_memory_buffer): Rename from omfib_buffer. + Don't leak an XBM-image-sized buffer + * image.c (xbm_load): Free the image buffer after using it. -2007-10-08 Richard Stallman +2011-06-21 Paul Eggert - * buffer.c (Foverlays_at): Doc fix. + Port to Sun C. + * composite.c (find_automatic_composition): Omit needless 'return 0;' + that Sun C diagnosed. + * fns.c (secure_hash): Fix pointer signedness issue. + * intervals.c (static_offset_intervals): New function. + (offset_intervals): Use it. -2007-10-08 Stefan Monnier +2011-06-21 Leo Liu - * fns.c (Fplist_put): Preserve uneven tail data. + * deps.mk (fns.o): + * makefile.w32-in ($(BLD)/fns.$(O)): Include sha256.h and + sha512.h. -2007-10-08 Peter O'Gorman (tiny change) + * fns.c (secure_hash): Rename from crypto_hash_function and change + the first arg to accept symbols. + (Fsecure_hash): New primitive. + (syms_of_fns): New symbols. - * termhooks.h (enum event_kind): Remove trailing comma. +2011-06-20 Deniz Dogan - * frame.h (enum): Remove trailing comma. + * process.c (Fset_process_buffer): Clarify return value in + docstring. -2007-10-08 Dhruva Krishnamurthy (tiny change) +2011-06-18 Chong Yidong - * w32proc.c (delete_child): Don't terminate threads of zombies. + * dispnew.c (add_window_display_history): Use BVAR. -2007-10-08 Martin Rudalics + * xdisp.c (debug_method_add): Use BVAR. + (check_window_end, dump_glyph_matrix, dump_glyph) + (dump_glyph_row, dump_glyph_string): Convert arglist to ANSI C. - * keyboard.h (struct kboard): New elt Vlast_repeatable_command. + * xfaces.c (check_lface_attrs, check_lface, dump_realized_face): + Likewise. - * 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. + * xfns.c (Fx_create_frame, x_create_tip_frame): Delay image cache + check till after the cache is created in init_frame_faces. -2007-10-08 Richard Stallman +2011-06-17 Stefan Monnier - * eval.c (condition-case): Doc fix. + * fns.c (Fsafe_length): Yet another int/Lisp_Object mixup. -2007-10-08 Masatake YAMATO +2011-06-16 Paul Eggert - * xfaces.c (tty_supports_face_attributes_p): Fix code - for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code - was copied and not edited. + * lisp.h: Include , for INT_MAX, LONG_MAX, LLONG_MAX. + Without this, prin1 mishandles Lisp_Misc_Save_Value printing on + hosts with pre-C99 libraries, because pD is wrongly defined to "t". -2007-10-09 Stefan Monnier + Improve buffer-overflow checking (Bug#8873). + * fileio.c (Finsert_file_contents): + * insdel.c (insert_from_buffer_1, replace_range, replace_range_2): + Remove the old (too-loose) buffer overflow checks. + They weren't needed, since make_gap checks for buffer overflow. + * insdel.c (make_gap_larger): Catch buffer overflows that were missed. + The old code merely checked for Emacs fixnum overflow, and relied + on undefined (wraparound) behavior. The new code avoids undefined + behavior, and also checks for ptrdiff_t and/or size_t overflow. + + * editfns.c (Finsert_char): Don't dump core with very negative counts. + Tune. Don't use wider integers than needed. Don't use alloca. + Use a bigger 'string' buffer. Rewrite to avoid 'n > 0' test. + + * insdel.c (replace_range): Fix buf overflow when insbytes < outgoing. + + * insdel.c, lisp.h (buffer_overflow): New function. + (insert_from_buffer_1, replace_range, replace_range_2): + * insdel.c (make_gap_larger): + * editfns.c (Finsert_char): + * fileio.c (Finsert_file_contents): Use it, to normalize wording. + + * buffer.h (BUF_BYTES_MAX): Cast to ptrdiff_t so that it's signed. + +2011-06-15 Paul Eggert + + Integer overflow and signedness fixes (Bug#8873). + + * ccl.c (ASCENDING_ORDER): New macro, to work around GCC bug 43772. + (GET_CCL_RANGE, IN_INT_RANGE): Use it. + + * fileio.c: Don't assume EMACS_INT fits in off_t. + (emacs_lseek): New static function. + (Finsert_file_contents, Fwrite_region): Use it. + Use SEEK_SET, SEEK_CUR, SEEK_END as appropriate. + + * fns.c (Fload_average): Don't assume 100 * load average fits in int. + + * fns.c: Don't overflow int when computing a list length. + * fns.c (QUIT_COUNT_HEURISTIC): New constant. + (Flength, Fsafe_length): Use EMACS_INT, not int, to avoid unwanted + truncation on 64-bit hosts. Check for QUIT every + QUIT_COUNT_HEURISTIC entries rather than every other entry; that's + faster and is responsive enough. + (Flength): Report an error instead of overflowing an integer. + (Fsafe_length): Return a float if the value is not representable + as a fixnum. This shouldn't happen except in contrived situations. + (Fnthcdr, Fsort): Don't assume list length fits in int. + (Fcopy_sequence): Don't assume vector length fits in int. + + * alloc.c: Check that resized vectors' lengths fit in fixnums. + (header_size, word_size): New constants. + (allocate_vectorlike): Don't check size overflow here. + (allocate_vector): Check it here instead, since this is the only + caller of allocate_vectorlike that could cause overflow. + Check that the new vector's length is representable as a fixnum. + + * fns.c (next_almost_prime): Don't return a multiple of 3 or 5. + The previous code was bogus. For example, next_almost_prime (32) + returned 39, which is undesirable as it is a multiple of 3; and + next_almost_prime (24) returned 25, which is a multiple of 5 so + why was the code bothering to check for multiples of 7? + + * bytecode.c (exec_byte_code): Use ptrdiff_t, not int, for vector length. + + * eval.c, doprnt.c (SIZE_MAX): Remove; inttypes.h defines this now. + + Variadic C functions now count arguments with ptrdiff_t. + This partly undoes my 2011-03-30 change, which replaced int with size_t. + Back then I didn't know that the Emacs coding style prefers signed int. + Also, in the meantime I found a few more instances where arguments + were being counted with int, which may truncate counts on 64-bit + machines, or EMACS_INT, which may be unnecessarily wide. + * lisp.h (struct Lisp_Subr.function.aMANY) + (DEFUN_ARGS_MANY, internal_condition_case_n, safe_call): + Arg counts are now ptrdiff_t, not size_t. + All variadic functions and their callers changed accordingly. + (struct gcpro.nvars): Now size_t, not size_t. All uses changed. + * bytecode.c (exec_byte_code): Check maxdepth for overflow, + to avoid potential buffer overrun. Don't assume arg counts fit in 'int'. + * callint.c (Fcall_interactively): Check arg count for overflow, + to avoid potential buffer overrun. Use signed char, not 'int', + for 'varies' array, so that we needn't bother to check its size + calculation for overflow. + * editfns.c (Fformat): Use ptrdiff_t, not EMACS_INT, to count args. + * eval.c (apply_lambda): + * fns.c (Fmapconcat): Use XFASTINT, not XINT, to get args length. + (struct textprop_rec.argnum): Now ptrdiff_t, not int. All uses changed. + (mapconcat): Use ptrdiff_t, not int and EMACS_INT, to count args. + + * callint.c (Fcall_interactively): Don't use index var as event count. + + * vm-limit.c (check_memory_limits): Fix incorrect extern function decls. + * mem-limits.h (SIZE): Remove; no longer used. + + * xterm.c (x_alloc_nearest_color_1): Prefer int to long when int works. + + Remove unnecessary casts. + * xterm.c (x_term_init): + * xfns.c (x_set_border_pixel): + * widget.c (create_frame_gcs): Remove casts to unsigned long etc. + These aren't needed now that we assume ANSI C. - 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. + * sound.c (Fplay_sound_internal): Remove cast to unsigned long. + It's more likely to cause problems (due to unsigned overflow) + than to cure them. - * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore. - This was made redundant by the previous introduction of XSETPVECTYPE. + * dired.c (Ffile_attributes): Don't use 32-bit hack on 64-bit hosts. -2007-10-09 Richard Stallman + * unexelf.c (unexec): Don't assume BSS addr fits in unsigned. - * image.c (free_bitmap_record): Rename from Free_Bitmap_Record. + * xterm.c (handle_one_xevent): Omit unnecessary casts to unsigned. -2007-09-29 Richard Stallman + * keyboard.c (modify_event_symbol): Don't limit alist len to UINT_MAX. - * 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. + * lisp.h (CHAR_TABLE_SET): Omit now-redundant test. -2007-10-06 Andreas Schwab + * lread.c (Fload): Don't compare a possibly-garbage time_t value. - * fileio.c (Fwrite_region): Ignore EINVAL error from fsync. + GLYPH_CODE_FACE returns EMACS_INT, not int. + * dispextern.h (merge_faces): + * xfaces.c (merge_faces): + * xdisp.c (get_next_display_element, next_element_from_display_vector): + Don't assume EMACS_INT fits in int. + + * character.h (CHAR_VALID_P): Remove unused parameter. + * fontset.c, lisp.h, xdisp.c: All uses changed. + + * editfns.c (Ftranslate_region_internal): Omit redundant test. + + * fns.c (concat): Minor tuning based on overflow analysis. + This doesn't fix any bugs. Use int to hold character, instead + of constantly refetching from Emacs object. Use XFASTINT, not + XINT, for value known to be a character. Don't bother comparing + a single byte to 0400, as it's always less. + + * floatfns.c (Fexpt): + * fileio.c (make_temp_name): Omit unnecessary cast to unsigned. + + * editfns.c (Ftranslate_region_internal): Use int, not EMACS_INT + for characters. + + * doc.c (get_doc_string): Omit (unsigned)c that mishandled negatives. + + * data.c (Faset): If ARRAY is a string, check that NEWELT is a char. + Without this fix, on a 64-bit host (aset S 0 4294967386) would + incorrectly succeed when S was a string, because 4294967386 was + truncated before it was used. + + * chartab.c (Fchar_table_range): Use CHARACTERP to check range. + Otherwise, an out-of-range integer could cause undefined behavior + on a 64-bit host. + + * composite.c: Use int, not EMACS_INT, for characters. + (fill_gstring_body, composition_compute_stop_pos): Use int, not + EMACS_INT, for values that are known to be in character range. + This doesn't fix any bugs but is the usual style inside Emacs and + may generate better code on 32-bit machines. + + Make sure a 64-bit char is never passed to ENCODE_CHAR. + This is for reasons similar to the recent CHAR_STRING fix. + * charset.c (Fencode_char): Check that character arg is actually + a character. Pass an int to ENCODE_CHAR. + * charset.h (ENCODE_CHAR): Verify that the character argument is no + wider than 'int', as a compile-time check to prevent future regressions + in this area. + + * character.c (char_string): Remove unnecessary casts. + + Make sure a 64-bit char is never passed to CHAR_STRING. + Otherwise, CHAR_STRING would do the wrong thing on a 64-bit platform, + by silently ignoring the top 32 bits, allowing some values + that were far too large to be valid characters. + * character.h: Include . + (CHAR_STRING, CHAR_STRING_ADVANCE): Verify that the character + arguments are no wider than unsigned, as a compile-time check + to prevent future regressions in this area. + * data.c (Faset): + * editfns.c (Fchar_to_string, general_insert_function, Finsert_char) + (Fsubst_char_in_region): + * fns.c (concat): + * xdisp.c (decode_mode_spec_coding): + Adjust to CHAR_STRING's new requirement. + * editfns.c (Finsert_char, Fsubst_char_in_region): + * fns.c (concat): Check that character args are actually + characters. Without this test, these functions did the wrong + thing with wildly out-of-range values on 64-bit hosts. + + Remove incorrect casts to 'unsigned' that lose info on 64-bit hosts. + These casts should not be needed on 32-bit hosts, either. + * keyboard.c (read_char): + * lread.c (Fload): Remove casts to unsigned. + + * lisp.h (UNSIGNED_CMP): New macro. + This fixes comparison bugs on 64-bit hosts. + (ASCII_CHAR_P): Use it. + * casefiddle.c (casify_object): + * character.h (ASCII_BYTE_P, CHAR_VALID_P) + (SINGLE_BYTE_CHAR_P, CHAR_STRING): + * composite.h (COMPOSITION_ENCODE_RULE_VALID): + * dispextern.h (FACE_FROM_ID): + * keyboard.c (read_char): Use UNSIGNED_CMP. + + * xmenu.c (dialog_selection_callback) [!USE_GTK]: Cast to intptr_t, + not to EMACS_INT, to avoid GCC warning. + + * xfns.c (x_set_scroll_bar_default_width): Remove unused 'int' locals. + + * buffer.h (PTR_BYTE_POS, BUF_PTR_BYTE_POS): Remove harmful cast. + The cast incorrectly truncated 64-bit byte offsets to 32 bits, and + isn't needed on 32-bit machines. + + * buffer.c (Fgenerate_new_buffer_name): + Use EMACS_INT for count, not int. + (advance_to_char_boundary): Return EMACS_INT, not int. + + * data.c (Qcompiled_function): Now static. + + * window.c (window_body_lines): Now static. + + * image.c (gif_load): Rename local to avoid shadowing. + + * lisp.h (SAFE_ALLOCA_LISP): Check for integer overflow. + (struct Lisp_Save_Value): Use ptrdiff_t, not int, for 'integer' member. + * alloc.c (make_save_value): Integer argument is now of type + ptrdiff_t, not int. + (mark_object): Use ptrdiff_t, not int. + * lisp.h (pD): New macro. + * print.c (print_object): Use it. + + * alloc.c: Use EMACS_INT, not int, to count objects. + (total_conses, total_markers, total_symbols, total_vector_size) + (total_free_conses, total_free_markers, total_free_symbols) + (total_free_floats, total_floats, total_free_intervals) + (total_intervals, total_strings, total_free_strings): + Now EMACS_INT, not int. All uses changed. + (Fgarbage_collect): Compute overall total using a double, so that + integer overflow is less likely to be a problem. Check for overflow + when converting back to an integer. + (n_interval_blocks, n_string_blocks, n_float_blocks, n_cons_blocks) + (n_vectors, n_symbol_blocks, n_marker_blocks): Remove. + These were 'int' variables that could overflow on 64-bit hosts; + they were never used, so remove them instead of repairing them. + (nzombies, ngcs, max_live, max_zombies): Now EMACS_INT, not 'int'. + (inhibit_garbage_collection): Set gc_cons_threshold to max value. + Previously, this ceilinged at INT_MAX, but that doesn't work on + 64-bit machines. + (allocate_pseudovector): Don't use EMACS_INT when int would do. + + * alloc.c (Fmake_bool_vector): Don't assume vector size fits in int. + (allocate_vectorlike): Check for ptrdiff_t overflow. + (mark_vectorlike, mark_char_table, mark_object): Avoid EMACS_UINT + when a (possibly-narrower) signed value would do just as well. + We prefer using signed arithmetic, to avoid comparison confusion. + + * alloc.c: Catch some string size overflows that we were missing. + (XMALLOC_OVERRUN_CHECK_SIZE) [!XMALLOC_OVERRUN_CHECK]: Define to 0, + for convenience in STRING_BYTES_MAX. + (STRING_BYTES_MAX): New macro, superseding the old one in lisp.h. + The definition here is exact; the one in lisp.h was approximate. + (allocate_string_data): Check for string overflow. This catches + some instances we weren't catching before. Also, it catches + size_t overflow on (unusual) hosts where SIZE_MAX <= min + (PTRDIFF_MAX, MOST_POSITIVE_FIXNUM), e.g., when size_t is 32 bits + and ptrdiff_t and EMACS_INT are both 64 bits. + + * character.c, coding.c, doprnt.c, editfns.c, eval.c: + All uses of STRING_BYTES_MAX replaced by STRING_BYTES_BOUND. + * lisp.h (STRING_BYTES_BOUND): Rename from STRING_BYTES_MAX. + + * character.c (string_escape_byte8): Fix nbytes/nchars typo. + + * alloc.c (Fmake_string): Check for out-of-range init. + +2011-06-15 Stefan Monnier + + * eval.c (Fdefvaralias): Also mark the target as variable-special-p. + +2011-06-14 Jan Djärv + + * xfns.c (x_set_scroll_bar_default_width): Remove argument to + xg_get_default_scrollbar_width. + + * gtkutil.c: Include emacsgtkfixed.h if HAVE_GTK3. + (int_gtk_range_get_value): Move to the scroll bar part of the file. + (style_changed_cb): Call update_theme_scrollbar_width and call + x_set_scroll_bar_default_width and xg_frame_set_char_size for + all frames (Bug#8505). + (xg_create_frame_widgets): Call emacs_fixed_new if HAVE_GTK3 (Bug#8505). + Call gtk_window_set_resizable if HAVE_GTK3. + (x_wm_set_size_hint): Call emacs_fixed_set_min_size with min width + and height if HAVE_GTK3 (Bug#8505). + (scroll_bar_width_for_theme): New variable. + (update_theme_scrollbar_width): New function. + (xg_get_default_scrollbar_width): Move code to + update_theme_scrollbar_width, just return scroll_bar_width_for_theme. + (xg_initialize): Call update_theme_scrollbar_width. + + * gtkutil.h (xg_get_default_scrollbar_width): Remove argument. + + * emacsgtkfixed.c, emacsgtkfixed.h: New files. + +2011-06-12 Martin Rudalics + + * frame.c (make_frame): Call other_buffer_safely instead of + other_buffer. + + * window.c (temp_output_buffer_show): Call display_buffer with + second argument Vtemp_buffer_show_specifiers and reset latter + immediately after the call. + (Vtemp_buffer_show_specifiers): New variable. + (auto_window_vscroll_p, next_screen_context_lines) + (Vscroll_preserve_screen_position): Remove leading asterisks from + doc-strings. + +2011-06-12 Paul Eggert + + Fix minor problems found by GCC 4.6.0 static checking. + * buffer.c (Qclone_number): Remove for now, as it's unused. + (record_buffer, Funrecord_buffer): Rename local to avoid shadowing. + (record_buffer): Remove unused local. + * frame.c (other_visible_frames, frame_buffer_list): Now static. + (set_frame_buffer_list): Remove; unused. + * frame.h (other_visible_frames): Remove decl. + * keyboard.h (menu_items_inuse): Declare only if USE_GTK || USE_MOTIF. + * lisp.h (frame_buffer_list, set_frame_buffer_list): Remove decls. + (add_gpm_wait_descriptor, delete_gpm_wait_descriptor): Declare only + if HAVE_GPM. + * menu.c (menu_items_inuse): Now static unless USE_GTK || USE_MOTIF. + * process.c (add_gpm_wait_descriptor, delete_gpm_wait_descriptor): + Define only if HAVE_GPM. + * widget.c (EmacsFrameResize, emacsFrameClassRec): Now static. + (update_hints_inhibit): Remove; never set. All uses removed. + * widgetprv.h (emacsFrameClassRec): Remove decl. + * window.c (delete_deletable_window): Now returns void, since it + wasn't returning anything. + (compare_window_configurations): Remove unused locals. + * xfns.c (x_set_scroll_bar_default_width): Remove unused locals. + * xmenu.c (x_menu_set_in_use): Define only if USE_GTK || USE_MOTIF. + (dialog_selection_callback) [!USE_GTK]: Prefer intptr_t for integers + the same widths as pointers. This follows up on the 2011-05-06 patch. + * xterm.c (x_alloc_lighter_color_for_widget): Define only if USE_LUCID. + * xterm.h: Likewise. + (x_menu_set_in_use): Declare only if USE_GTK || USE_MOTIF. + +2011-06-12 Juanma Barranquero -2007-10-04 Juanma Barranquero + * makefile.w32-in: Update dependencies. + (LISP_H): Add lib/intprops.h. + +2011-06-11 Chong Yidong + + * image.c (gif_load): Add animation frame delay to the metadata. + (syms_of_image): Use DEFSYM. New symbol `delay'. + +2011-06-11 Martin Rudalics + + * window.c (delete_deletable_window): Re-add. + (Fset_window_configuration): Rewrite to handle dead buffers and + consequently deletable windows. + (window_tree, Fwindow_tree): Remove. Supply functionality in + window.el. + (compare_window_configurations): Simplify code. + +2011-06-11 Andreas Schwab + + * image.c (imagemagick_load_image): Fix type mismatch. + (Fimagemagick_types): Likewise. + + * window.h (replace_buffer_in_windows): Declare. + +2011-06-11 Martin Rudalics + + * buffer.c: New Lisp objects Qbuffer_list_update_hook and + Qclone_number. Remove external declaration of Qdelete_window. + (Fbuffer_list): Rewrite doc-string. Minor restructuring of + code. + (Fget_buffer_create, Fmake_indirect_buffer, Frename_buffer): + Run Qbuffer_list_update_hook if allowed. + (Fother_buffer): Rewrite doc-string. Major rewrite for new + buffer list implementation. + (other_buffer_safely): New function. + (Fkill_buffer): Replace call to replace_buffer_in_all_windows by + calls to replace_buffer_in_windows and + replace_buffer_in_windows_safely. Run Qbuffer_list_update_hook + if allowed. + (record_buffer): Inhibit quitting and rewrite using quittable + functions. Run Qbuffer_list_update_hook if allowed. + (Frecord_buffer, Funrecord_buffer): New functions. + (switch_to_buffer_1, Fswitch_to_buffer): Remove. + Move switch-to-buffer to window.el. + (bury-buffer): Move to window.el. + (Vbuffer_list_update_hook): New variable. + + * lisp.h (other_buffer_safely): Add prototype in buffer.c + section. + + * window.h (resize_frame_windows): Move up in code. + (Fwindow_frame): Remove EXFUN. + (replace_buffer_in_all_windows): Remove prototype. + (replace_buffer_in_windows_safely): Add prototype. + + * window.c: Declare Qdelete_window static again. Move down + declaration of select_count. + (Fnext_window, Fprevious_window): Rewrite doc-strings. + (Fother_window): Move to window.el. + (window_loop): Remove DELETE_BUFFER_WINDOWS and UNSHOW_BUFFER + cases. Add REPLACE_BUFFER_IN_WINDOWS_SAFELY case. + (Fdelete_windows_on, Freplace_buffer_in_windows): Move to + window.el. + (replace_buffer_in_windows): Implement by calling + Qreplace_buffer_in_windows. + (replace_buffer_in_all_windows): Remove with some functionality + moved into replace_buffer_in_windows_safely. + (replace_buffer_in_windows_safely): New function. + (select_window_norecord, select_frame_norecord): Move in front + of run_window_configuration_change_hook. Remove now obsolete + declarations. + (Fset_window_buffer): Rewrite doc-string. + Call Qrecord_window_buffer. + (keys_of_window): Move binding for other-window to window.el. + +2011-06-11 Chong Yidong + + * dispextern.h (struct image): Replace data member, whose int_val + and ptr_val fields were not used by anything, with a single + lisp_val object. + + * image.c (Fimage_metadata, make_image, mark_image, tiff_load) + (gif_clear_image, gif_load, imagemagick_load_image) + (gs_clear_image, gs_load): Callers changed. + +2011-06-10 Paul Eggert + + * buffer.h: Include , for time_t. + Needed to build on FreeBSD 8.2. Problem reported by Herbert J. Skuhra. + + Fix minor problems found by static checking. + + * image.c (PixelGetMagickColor): Declare if ImageMagick headers don't. + + Make identifiers static if they are not used in other modules. + * data.c (Qcompiled_function, Qframe, Qvector): + * image.c (QimageMagick, Qsvg): + * minibuf.c (Qmetadata): + * window.c (resize_window_check, resize_root_window): Now static. + * window.h (resize_window_check, resize_root_window): Remove decls. + + * window.c (window_deletion_count, delete_deletable_window): + Remove; unused. + (window_body_lines): Now static. + (Fdelete_other_windows_internal): Mark vars as initialized. + Make sure 'resize_failed' is initialized. + (run_window_configuration_change_hook): Rename local to avoid shadowing. + (resize_window_apply): Remove unused local. + * window.h (delete_deletable_window): Remove decl. + + * image.c (gif_load, svg_load_image): Rename locals to avoid shadowing. + (imagemagick_load_image): Fix pointer signedness problem by changing + last arg from unsigned char * to char *. All uses changed. + Also, fix a local for similar reasons. + Remove unused locals. Remove locals to avoid shadowing. + (fn_rsvg_handle_free): Remove; unused. + (svg_load, svg_load_image): Fix pointer signedness problem. + (imagemagick_load_image): Don't use garbage pointer image_wand. + + * ftfont.c (ftfont_get_metrics, ftfont_drive_otf): Remove unused locals. + +2011-06-10 Chong Yidong + + * image.c (gif_load): Fix omitted cast error introduced by + 2011-06-06 change. + +2011-06-10 Martin Rudalics + + * window.h (resize_proportionally, orig_total_lines) + (orig_top_line): Remove from window structure. + (set_window_height, set_window_width, change_window_heights) + (Fdelete_window): Remove prototypes. + (resize_frame_windows): Remove duplicate declaration. + +2011-06-10 Eli Zaretskii + + * window.h (resize_frame_windows, resize_window_check) + (delete_deletable_window, resize_root_window) + (resize_frame_windows): Declare prototypes. + + * window.c (resize_window_apply): Make definition be "static" to + match the prototype. + +2011-06-10 Martin Rudalics + + * window.c: Remove declarations of Qwindow_size_fixed, + window_min_size_1, window_min_size_2, window_min_size, + size_window, window_fixed_size_p, enlarge_window, delete_window. + Remove static from declaration of Qdelete_window, it's + temporarily needed by Fbury_buffer. + (replace_window): Don't assign orig_top_line and + orig_total_lines. + (Fdelete_window, delete_window): Remove. Window deletion is + handled by window.el. + (window_loop): Remove DELETE_OTHER_WINDOWS case. + Replace Fdelete_window calls with calls to Qdelete_window. + (Fdelete_other_windows): Remove. Deleting other windows is + handled by window.el. + (window_fixed_size_p): Remove. Fixed-sizeness of windows is + handled in window.el. + (window_min_size_2, window_min_size_1, window_min_size): Remove. + Window minimum sizes are handled in window.el. + (shrink_windows, size_window, set_window_height) + (set_window_width, change_window_heights, window_height) + (window_width, CURBEG, CURSIZE, enlarge_window) + (adjust_window_trailing_edge, Fadjust_window_trailing_edge) + (Fenlarge_window, Fshrink_window): Remove. Window resizing is + handled in window.el. + (make_dummy_parent): Rename to make_parent_window and give it a + second argument horflag. + (make_window): Don't set resize_proportionally any more. + (Fsplit_window): Remove. Windows are split in window.el. + (save_restore_action, save_restore_orig_size) + (shrink_window_lowest_first, save_restore_orig_size): Remove. + Resize mini windows in window.el. + (grow_mini_window, shrink_mini_window): Implement by calling + Qresize_root_window_vertically, resize_window_check and + resize_window_apply. + (saved_window, Fset_window_configuration, save_window_save): + Do not handle orig_top_line, orig_total_lines, and + resize_proportionally. + (window_min_height, window_min_width): Move to window.el. + (keys_of_window): Move bindings for delete-other-windows, + split-window, delete-window and enlarge-window to window.el. + + * buffer.c: Temporarily extern Qdelete_window. + (Fbury_buffer): Temporarily call Qdelete_window instead of + Fdelete_window (Fbury_buffer will move to window.el soon). + + * frame.c (set_menu_bar_lines_1): Remove code handling + orig_top_line and orig_total_lines. + + * dispnew.c (adjust_frame_glyphs_initially): Don't use + set_window_height but set heights directly. + (change_frame_size_1): Use resize_frame_windows. + + * xdisp.c (init_xdisp): Don't use set_window_height but set + heights directly. + + * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines): + Use resize_frame_windows instead of change_window_heights and run + run_window_configuration_change_hook. + + * w32fns.c (x_set_tool_bar_lines): Use resize_frame_windows + instead of change_window_heights and run + run_window_configuration_change_hook. + +2011-06-09 Martin Rudalics + + * window.c (replace_window): Rename second argument REPLACEMENT to + NEW. New third argument SETFLAG. Rewrite. + (delete_window, make_dummy_parent): Call replace_window with + third argument 1. + (window_list_1): Move down in code. + (run_window_configuration_change_hook): Move set_buffer part + before select_frame_norecord part in order to unwind correctly. + Rename count1 to count. + (recombine_windows, delete_deletable_window, resize_root_window) + (Fdelete_other_windows_internal) + (Frun_window_configuration_change_hook, make_parent_window) + (resize_window_check, resize_window_apply, Fresize_window_apply) + (resize_frame_windows, Fsplit_window_internal) + (Fdelete_window_internal, Fresize_mini_window_internal): + New functions. + (syms_of_window): New variables Vwindow_splits and Vwindow_nest. - * image.c (syms_of_image) : Fix typo in docstring. +2011-06-08 Martin Rudalics -2007-10-03 Stefan Monnier + * window.h (window): Add some new members to window structure - + normal_lines, normal_cols, new_total, new_normal, clone_number, + splits, nest, prev_buffers, next_buffers. + (WINDOW_TOTAL_SIZE): Move here from window.c. + (MIN_SAFE_WINDOW_WIDTH, MIN_SAFE_WINDOW_HEIGHT): Define here. - * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used. + * window.c (Fwindow_height, Fwindow_width, Fwindow_full_width_p): + Remove. + (make_dummy_parent): Set new members of windows structure. + (make_window): Move down in code. Handle new members of window + structure. + (Fwindow_clone_number, Fwindow_splits, Fset_window_splits) + (Fwindow_nest, Fset_window_nest, Fwindow_new_total) + (Fwindow_normal_size, Fwindow_new_normal, Fwindow_prev_buffers) + (Fset_window_prev_buffers, Fwindow_next_buffers) + (Fset_window_next_buffers, Fset_window_clone_number): + New functions. + (Fwindow_hscroll, Fwindow_at, Fwindow_point, Fwindow_start) + (Fwindow_end, Fwindow_line_height, Fset_window_dedicated_p): + Doc-string fixes. + (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter): + Argument WINDOW can be now internal window too. + (Fwindow_use_time): Move up in code. + (Fget_buffer_window): Rename argument FRAME to ALL-FRAMES. + Rewrite doc-string. + (Fset_window_configuration, saved_window) + (Fcurrent_window_configuration, save_window_save): Handle new + members of window structure. + (WINDOW_TOTAL_SIZE, MIN_SAFE_WINDOW_WIDTH) + (MIN_SAFE_WINDOW_HEIGHT): Move to window.h. + (syms_of_window): New Lisp objects Qrecord_window_buffer, + Qwindow_deletable_p, Qdelete_window, Qreplace_buffer_in_windows, + Qget_mru_window, Qresize_root_window, + Qresize_root_window_vertically, Qsafe, Qabove, Qbelow, + Qauto_buffer_name; staticpro them. + +2011-06-07 Martin Rudalics + + * window.c (Fwindow_total_size, Fwindow_left_column) + (Fwindow_top_line, window_body_lines, Fwindow_body_size) + (Fwindow_list_1): New functions. + (window_box_text_cols): Replace with window_body_cols. + (Fwindow_width, Fscroll_left, Fscroll_right): + Use window_body_cols instead of window_box_text_cols. + (delete_window, Fset_window_configuration): + Call delete_all_subwindows with window as argument. + (delete_all_subwindows): Take a window as argument and not a + structure. Rewrite. + (window_loop): Remove handling of GET_LRU_WINDOW and + GET_LARGEST_WINDOW. + (Fget_lru_window, Fget_largest_window): Move to window.el. + + * window.h: Extern window_body_cols instead of + window_box_text_cols. delete_all_subwindows now takes a + Lisp_Object as argument. + + * indent.c (compute_motion, Fcompute_motion): + Use window_body_cols instead of window_box_text_cols. + + * frame.c (delete_frame): Call delete_all_subwindows with root + window as argument. + +2011-06-07 Daniel Colascione + + * fns.c (Fputhash): Document return value. + +2011-06-06 Chong Yidong + + * image.c (gif_load): Implement gif89a spec "no disposal" method. + +2011-06-06 Paul Eggert + + Cons<->int and similar integer overflow fixes (Bug#8794). + + Check for overflow when converting integer to cons and back. + * charset.c (Fdefine_charset_internal, Fdecode_char): + Use cons_to_unsigned to catch overflow. + (Fencode_char): Use INTEGER_TO_CONS. + * composite.h (LGLYPH_CODE): Use cons_to_unsigned. + (LGLYPH_SET_CODE): Use INTEGER_TO_CONS. + * data.c (long_to_cons, cons_to_long): Remove. + (cons_to_unsigned, cons_to_signed): New functions. + These signal an error for invalid or out-of-range values. + * dired.c (Ffile_attributes): Use INTEGER_TO_CONS. + * fileio.c (Fset_visited_file_modtime): Use CONS_TO_INTEGER. + * font.c (Ffont_variation_glyphs): + * fontset.c (Finternal_char_font): Use INTEGER_TO_CONS. + * lisp.h: Include . + (INTEGER_TO_CONS, CONS_TO_INTEGER): New macros. + (cons_to_signed, cons_to_unsigned): New decls. + (long_to_cons, cons_to_long): Remove decls. + * undo.c (record_first_change): Use INTEGER_TO_CONS. + (Fprimitive_undo): Use CONS_TO_INTEGER. + * xfns.c (Fx_window_property): Likewise. + * xselect.c: Include . + (x_own_selection, selection_data_to_lisp_data): + Use INTEGER_TO_CONS. + (x_handle_selection_request, x_handle_selection_clear) + (x_get_foreign_selection, Fx_disown_selection_internal) + (Fx_get_atom_name, x_send_client_event): Use CONS_TO_INTEGER. + (lisp_data_to_selection_data): Use cons_to_unsigned. + (x_fill_property_data): Use cons_to_signed. + Report values out of range. + + Check for buffer and string overflow more precisely. + * buffer.h (BUF_BYTES_MAX): New macro. + * lisp.h (STRING_BYTES_MAX): New macro. + * alloc.c (Fmake_string): + * character.c (string_escape_byte8): + * coding.c (coding_alloc_by_realloc): + * doprnt.c (doprnt): + * editfns.c (Fformat): + * eval.c (verror): + Use STRING_BYTES_MAX, not MOST_POSITIVE_FIXNUM, + since they may not be the same number. + * editfns.c (Finsert_char): + * fileio.c (Finsert_file_contents): + Likewise for BUF_BYTES_MAX. -2007-10-02 Stefan Monnier + * image.c: Use ptrdiff_t, not int, for sizes. + (slurp_file): Switch from int to ptrdiff_t. + All uses changed. + (slurp_file): Check that file size fits in both size_t (for + malloc) and ptrdiff_t (for sanity and safety). + + * fileio.c (Fverify_visited_file_modtime): Avoid time overflow + if b->modtime has its maximal value. + + * dired.c (Ffile_attributes): Don't assume EMACS_INT has >32 bits. + + Don't assume time_t can fit into int. + * buffer.h (struct buffer.modtime): Now time_t, not int. + * fileio.c (Fvisited_file_modtime): No need for time_t cast now. + * undo.c (Fprimitive_undo): Use time_t, not int, for time_t value. + + Minor fixes for signed vs unsigned integers. + * character.h (MAYBE_UNIFY_CHAR): + * charset.c (maybe_unify_char): + * keyboard.c (read_char, reorder_modifiers): + XINT -> XFASTINT, since the integer must be nonnegative. + * ftfont.c (ftfont_spec_pattern): + * keymap.c (access_keymap, silly_event_symbol_error): + XUINT -> XFASTINT, since the integer must be nonnegative. + (Fsingle_key_description, preferred_sequence_p): XUINT -> XINT, + since it makes no difference and we prefer signed. + * keyboard.c (record_char): Use XUINT when all the neighbors do. + (access_keymap): NATNUMP -> INTEGERP, since the integer must be + nonnegative. + +2011-06-06 Stefan Monnier + + * window.h (Fwindow_frame): Declare. + +2011-06-06 Paul Eggert + + * alloc.c: Simplify handling of large-request failures (Bug#8800). + (SPARE_MEMORY): Always define. + (LARGE_REQUEST): Remove. + (memory_full): Use SPARE_MEMORY rather than LARGE_REQUEST. + +2011-06-06 Martin Rudalics + + * lisp.h: Move EXFUNS for Fframe_root_window, + Fframe_first_window and Fset_frame_selected_window to window.h. + + * window.h: Move EXFUNS for Fframe_root_window, + Fframe_first_window and Fset_frame_selected_window here from + lisp.h. + + * frame.c (Fwindow_frame, Fframe_first_window) + (Fframe_root_window, Fframe_selected_window) + (Fset_frame_selected_window): Move to window.c. + (Factive_minibuffer_window): Move to minibuf.c. + (Fother_visible_frames_p): New function. + + * minibuf.c (Factive_minibuffer_window): Move here from frame.c. + + * window.c (decode_window, decode_any_window): Move up in code. + (Fwindowp, Fwindow_live_p): Rewrite doc-strings. + (inhibit_frame_unsplittable): Remove unused variable. + (Fwindow_buffer): Move up and rewrite doc-string. + (Fwindow_parent, Fwindow_vchild, Fwindow_hchild, Fwindow_next) + (Fwindow_prev): New functions. + (Fwindow_frame): Move here from frame.c. Accept any window as + argument. + (Fframe_root_window, Fframe_first_window) + (Fframe_selected_window): Move here from frame.c. Accept frame + or arbitrary window as argument. Update doc-strings. + (Fminibuffer_window): Move up in code. + (Fwindow_minibuffer_p): Move up in code and simplify. + (Fset_frame_selected_window): Move here from frame.c. + Marginal rewrite. + (Fselected_window, select_window, Fselect_window): Move up in + code. Minor doc-string fixes. - * 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. +2011-06-06 Paul Eggert - * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end. - Turn `count' into an integer. + * alloc.c (memory_full) [SYSTEM_MALLOC]: Port to MacOS (Bug#8800). + Do not assume that spare memory exists; that assumption is valid + only if SYSTEM_MALLOC. + (LARGE_REQUEST): New macro, so that the issue of large requests + is separated from the issue of spare memory. - * 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. +2011-06-05 Andreas Schwab - * 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. + * editfns.c (Fformat): Correctly handle zero flag with hexadecimal + format. (Bug#8806) - * frame.c (Fframe_parameters): Minor simplification. + * gtkutil.c (xg_get_default_scrollbar_width): Avoid warning. - * insdel.c (adjust_markers_for_insert): Generalize assertion checks. + * xfns.c (x_set_scroll_bar_default_width): Move declarations + before statements. - * marker.c (Fmarker_buffer): Make test for odd case into a failure. +2011-06-05 Jan Djärv - * buffer.c (Fget_buffer_create, init_buffer_once): - * lread.c (defsubr): - * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE. + * gtkutil.c (xg_get_default_scrollbar_width): New function. - * 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. + * gtkutil.h: Declare xg_get_default_scrollbar_width. - * buffer.c (syms_of_buffer) : Move from abbrev.c. - (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c. + * xfns.c (x_set_scroll_bar_default_width): If USE_GTK, get + min width by calling x_set_scroll_bar_default_width (Bug#8505). - * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER): - * lread.c (defvar_per_buffer): - * abbrev.c (syms_of_abbrev) : Move to buffer.c. +2011-06-05 Juanma Barranquero - * window.c (candidate_window_p): Only consider as visible frames that - are on the same terminal. + * xdisp.c (single_display_spec_intangible_p): Remove declaration. - * m/ibms390x.h (MARKBIT): Remove unused macro. +2011-06-04 Chong Yidong -2007-10-01 Juanma Barranquero + * xselect.c (x_clipboard_manager_save): Remove redundant arg. + (x_clipboard_manager_save): Add return value. + (x_clipboard_manager_error_1, x_clipboard_manager_error_2): + New error handlers. + (x_clipboard_manager_save_frame, x_clipboard_manager_save_all): + Obey Vx_select_enable_clipboard_manager. Catch errors in + x_clipboard_manager_save (Bug#8779). + (Vx_select_enable_clipboard_manager): New variable. + (x_get_foreign_selection): Reduce scope of x_catch_errors (Bug#8790). - * lread.c (Fload): Fix typo in docstring. +2011-06-04 Dan Nicolaescu -2007-10-01 Michaël Cadilhac + * emacs.c (main): Warn when starting a GTK emacs in daemon mode. - * floatfns.c (Fexpt): Manually check for overflows, so that a power - of a non-zero value can't yield zero. +2011-06-04 YAMAMOTO Mitsuharu -2007-09-29 Stefan Monnier + * fringe.c (update_window_fringes): Don't update overlay arrow bitmap + in the current matrix if keep_current_p is non-zero. - * term.c (term_clear_mouse_face, term_mouse_highlight) - (tty_write_glyphs_with_face): Only define is HAVE_GPM. +2011-06-04 Eli Zaretskii + + * bidi.c (bidi_level_of_next_char): Fix last change. + +2011-06-03 Eli Zaretskii + + Support bidi reordering of text covered by display properties. + + * bidi.c (bidi_copy_it): Use offsetof instead of emulating it. + (bidi_fetch_char, bidi_fetch_char_advance): New functions. + (bidi_cache_search, bidi_cache_iterator_state) + (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak) + (bidi_level_of_next_char, bidi_move_to_visually_next): + Support character positions inside a run of characters covered by a + display string. + (bidi_paragraph_init, bidi_resolve_explicit_1) + (bidi_level_of_next_char): Call bidi_fetch_char and + bidi_fetch_char_advance instead of FETCH_CHAR and + FETCH_CHAR_ADVANCE. + (bidi_init_it): Initialize new members. + (LRE_CHAR, RLE_CHAR, PDF_CHAR, LRO_CHAR, RLO_CHAR): Remove macro + definitions. + (bidi_explicit_dir_char): Lookup character type in bidi_type_table, + instead of using explicit *_CHAR codes. + (bidi_resolve_explicit, bidi_resolve_weak): + Use FETCH_MULTIBYTE_CHAR instead of FETCH_CHAR, as reordering of + bidirectional text is supported only in multibyte buffers. + (bidi_init_it): Accept additional argument FRAME_WINDOW_P and use + it to initialize the frame_window_p member of struct bidi_it. + (bidi_cache_iterator_state, bidi_resolve_explicit_1) + (bidi_resolve_explicit, bidi_resolve_weak) + (bidi_level_of_next_char, bidi_move_to_visually_next): Abort if + bidi_it->nchars is non-positive. + (bidi_level_of_next_char): Don't try to lookup the cache for the + next/previous character if nothing is cached there yet, or if we + were just reseat()'ed to a new position. + + * xdisp.c (set_cursor_from_row): Set start and stop points + according to the row's direction when priming the loop that looks + for the glyph on which to display cursor. + (single_display_spec_intangible_p): Function deleted. + (display_prop_intangible_p): Reimplement to call + handle_display_spec instead of single_display_spec_intangible_p. + Accept 3 additional arguments needed by handle_display_spec. + This fixes incorrect cursor motion across display property with complex + values: lists, `(when COND...)' forms, etc. + (single_display_spec_string_p): Support property values that are + lists with the argument STRING its top-level element. + (display_prop_string_p): Fix the condition for processing a + property that is a list to be consistent with handle_display_spec. + (handle_display_spec): New function, refactored from the + last portion of handle_display_prop. + (compute_display_string_pos): Accept additional argument + FRAME_WINDOW_P. Call handle_display_spec to determine whether the + value of a `display' property is a "replacing spec". + (handle_single_display_spec): Accept 2 additional arguments BUFPOS + and FRAME_WINDOW_P. If IT is NULL, don't set up the iterator from + the display property, but just return a value indicating whether + the display property will replace the characters it covers. + (Fcurrent_bidi_paragraph_direction): Initialize the nchars and + frame_window_p members of struct bidi_it. + (compute_display_string_pos, compute_display_string_end): + New functions. + (push_it): Accept second argument POSITION, where pop_it should + jump to continue iteration. + (reseat_1): Initialize bidi_it.disp_pos. + + * keyboard.c (adjust_point_for_property): Adjust the call to + display_prop_intangible_p to its new signature. + + * dispextern.h (struct bidi_it): New member frame_window_p. + (bidi_init_it): Update prototypes. + (display_prop_intangible_p): Update prototype. + (compute_display_string_pos, compute_display_string_end): + Declare prototypes. + (struct bidi_it): New members nchars and disp_pos. ch_len is now + EMACS_INT. - * print.c (safe_debug_print): Use XHASH. +2011-06-02 Paul Eggert + + Malloc failure behavior now depends on size of allocation. + * alloc.c (buffer_memory_full, memory_full): New arg NBYTES. + * lisp.h: Change signatures accordingly. + * alloc.c, buffer.c, editfns.c, menu.c, minibuf.c, xterm.c: + All callers changed. (Bug#8762) + + * gnutls.c: Use Emacs's memory allocators. + Without this change, the gnutls library would invoke malloc etc. + directly, which causes problems on non-SYNC_INPUT hosts, and which + runs afoul of improving memory_full behavior. (Bug#8761) + (fn_gnutls_global_set_mem_functions): New macro or function pointer. + (emacs_gnutls_global_init): Use it to specify xmalloc, xrealloc, + xfree instead of the default malloc, realloc, free. + (Fgnutls_boot): No need to check for memory allocation failure, + since xmalloc does that for us. + + Remove arbitrary limit of 2**31 entries in hash tables. (Bug#8771) + * category.c (hash_get_category_set): + * ccl.c (ccl_driver): + * charset.c (Fdefine_charset_internal): + * charset.h (struct charset.hash_index): + * composite.c (get_composition_id, gstring_lookup_cache) + (composition_gstring_put_cache): + * composite.h (struct composition.hash_index): + * dispextern.h (struct image.hash): + * fns.c (next_almost_prime, larger_vector, cmpfn_eql) + (cmpfn_equal, cmpfn_user_defined, hashfn_eq, hashfn_eql) + (hashfn_equal, hashfn_user_defined, make_hash_table) + (maybe_resize_hash_table, hash_lookup, hash_put) + (hash_remove_from_table, hash_clear, sweep_weak_table, SXHASH_COMBINE) + (sxhash_string, sxhash_list, sxhash_vector, sxhash_bool_vector) + (Fsxhash, Fgethash, Fputhash, Fmaphash): + * image.c (make_image, search_image_cache, lookup_image) + (xpm_put_color_table_h): + * lisp.h (struct Lisp_Hash_Table): + * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion): + * print.c (print): Use 'EMACS_UINT' and 'EMACS_INT' + for hashes and hash indexes, instead of 'unsigned' and 'int'. + * alloc.c (allocate_vectorlike): + Check for overflow in vector size calculations. + * ccl.c (ccl_driver): + Check for overflow when converting EMACS_INT to int. + * fns.c, image.c: Remove unnecessary static decls that would otherwise + need to be updated by these changes. + * fns.c (make_hash_table, maybe_resize_hash_table): + Check for integer overflow with large hash tables. + (make_hash_table, maybe_resize_hash_table, Fmake_hash_table): + Prefer the faster XFLOAT_DATA to XFLOATINT where either will do. + (SXHASH_REDUCE): New macro. + (sxhash_string, sxhash_list, sxhash_vector, sxhash_bool_vector): + Use it instead of discarding useful hash info with large hash values. + (sxhash_float): New function. + (sxhash): Use it. No more need for "& INTMASK" due to above changes. + * lisp.h (FIXNUM_BITS): New macro, useful for SXHASH_REDUCE etc. + (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM, INTMASK): + Rewrite to use FIXNUM_BITS, as this simplifies things. + (next_almost_prime, larger_vector, sxhash, hash_lookup, hash_put): + Adjust signatures to match updated version of code. + (consing_since_gc): Now EMACS_INT, since a single hash table can + use more than INT_MAX bytes. - * 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. +2011-06-01 Dan Nicolaescu - * 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. + Make it possible to build with GCC-4.6+ -O2 -flto. - * 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. + * emacs.c (__malloc_initialize_hook): Mark as EXTERNALLY_VISIBLE. - * 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. +2011-06-01 Stefan Monnier -2007-09-28 Dan Nicolaescu + * minibuf.c (get_minibuffer, read_minibuf_unwind): + Call minibuffer-inactive-mode. - * Makefile.in (lisp, shortlisp): Delete server.elc, it is not - loaded by default. +2011-05-31 Juanma Barranquero -2007-09-28 Stefan Monnier + * makefile.w32-in ($(BLD)/data.$(O), $(BLD)/editfns.$(O)): + Update dependencies. - * 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. +2011-05-31 Dan Nicolaescu - * 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. + * data.c (init_data): Remove code for UTS, this system is not + supported anymore. -2007-09-27 Stefan Monnier +2011-05-31 Dan Nicolaescu - * sysdep.c (narrow_foreground_group, widen_foreground_group): Static. - (init_sys_modes): Check that gpm_tty is the current tty. + Don't force ./temacs to start in terminal mode. - * 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. + * frame.c (make_initial_frame): Initialize faces in all cases, not + only when CANNOT_DUMP is defined. + * dispnew.c (init_display): Remove CANNOT_DUMP condition. - * termhooks.h (struct terminal): Move all Lisp_Object fields traced by - the GC to the beginning. +2011-05-31 Dan Nicolaescu - * indent.h: - * indent.c: Use EMACS_INT for ints coming from Elisp data. + * dispnew.c (add_window_display_history): Use const for the string + pointer. Remove declaration, not needed. - * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions. +2011-05-31 Paul Eggert -2007-09-25 Jason Rumney + Use 'inline', not 'INLINE'. + + * alloc.c, fontset.c (INLINE): Remove. + * alloc.c, bidi.c, charset.c, coding.c, dispnew.c, fns.c, image.c: + * intervals.c, keyboard.c, process.c, syntax.c, textprop.c, w32term.c: + * xdisp.c, xfaces.c, xterm.c: Replace all uses of INLINE with inline. + * gmalloc.c (register_heapinfo): Use inline unconditionally. + * lisp.h (LISP_MAKE_RVALUE): Use inline, not __inline__. - * frame.c (make_terminal_frame): Remove special case for WINDOWSNT. +2011-05-31 Dan Nicolaescu - * w32console.c (create_w32cons_output): Remove. + Make it possible to run ./temacs. - * term.c (init_tty): Call init_sys_modes on WINDOWSNT also. + * callproc.c (set_initial_environment): Remove CANNOT_DUMP code, + syms_of_callproc does the same thing. Remove test for + "initialized", do it in the caller. + * emacs.c (main): Avoid calling set_initial_environment when dumping. - * sysdep.c (init_sys_modes): Use set_terminal_modes_hook. - (reset_sys_modes): Use reset_terminal_modes_hook. +2011-05-31 Stefan Monnier -2007-09-24 Stefan Monnier + * minibuf.c (Finternal_complete_buffer): Return `category' metadata. + (read_minibuf): Use get_minibuffer. + (syms_of_minibuf): Use DEFSYM. + (Qmetadata): New var. + * data.c (Qbuffer): Don't make it static. + (syms_of_data): Use DEFSYM. - * eval.c (do_autoload): Don't output any message. +2011-05-31 Paul Eggert -2007-09-24 Juri Linkov + * ccl.c (CCL_CODE_RANGE): Allow negative numbers. (Bug#8751) + (CCL_CODE_MIN): New macro. - * emacs.c (standard_args): Change priority of "--no-splash" - from 40 to 3. Add "--no-desktop" with the same priority. +2011-05-30 Paul Eggert -2007-09-23 Dmitry Antipov + * alloc.c (lisp_align_malloc): Omit unnecessary val==NULL tests. - * alloc.c (gc_sweep): Check cons cell mark bits word by word - and optimize the case where they are all 1. + * eval.c (Qdebug): Now static. + * lisp.h (Qdebug): Remove decl. This reverts a part of the + 2011-04-26T11:26:05Z!dan.colascione@gmail.com that inadvertently undid part of + 2011-04-14T06:48:41Z!eggert@cs.ucla.edu. -2007-09-23 Johannes Weiner +2011-05-29 Chong Yidong - * 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. + * image.c: Various fixes to ImageMagick code comments. + (Fimagemagick_types): Doc fix. -2007-09-22 Eli Zaretskii +2011-05-29 Paul Eggert - * 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. + Minor fixes prompted by GCC 4.6.0 warnings. -2007-09-21 Dan Nicolaescu + * xselect.c (converted_selections, conversion_fail_tag): Now static. - * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning - up the tty state. + * emacs.c [HAVE_X_WINDOWS]: Include "xterm.h". + (x_clipboard_manager_save_all): Move extern decl to ... + * xterm.h: ... here, so that it can be checked for consistency. -2007-09-21 Stefan Monnier +2011-05-29 Chong Yidong - * 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. + * xselect.c (x_clipboard_manager_save_frame) + (x_clipboard_manager_save_all): New functions. + (Fx_clipboard_manager_save): Lisp function deleted. -2007-09-21 Juanma Barranquero + * emacs.c (Fkill_emacs): Call x_clipboard_manager_save_all. + * frame.c (delete_frame): Call x_clipboard_manager_save_frame. - * w32term.c (x_draw_glyph_string): Use strike_through_color, not - underline_color, to draw strike-through. + * xterm.h: Update prototype. -2007-09-21 Stefan Monnier +2011-05-28 William Xu - * lisp.h (allocate_terminal): Declare. + * nsterm.m (ns_term_shutdown): Synchronize user defaults before + exiting (Bug#8239). - * 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). +2011-05-28 Jim Meyering - * frame.c (Qdisplay_environment_variable): - * frame.h (Qdisplay_environment_variable): Delete. + Avoid a sign-extension bug in crypto_hash_function. + * fns.c (to_uchar): Define. + (crypto_hash_function): Use it to convert some newly-signed + variables to unsigned, to avoid sign-extension bugs. For example, + without this change, (md5 "truc") would evaluate to + 45723a2aff78ff4fff7fff1114760e62 rather than the expected + 45723a2af3788c4ff17f8d1114760e62. Reported by Antoine Levitt in + https://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00883.html. - * .gdbinit (xbacktrace): Print the arg's address rather than the value - of the first arg, since that value may be a union. +2011-05-27 Paul Eggert - * 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. + Integer overflow fixes. -2007-09-21 Glenn Morris + * dbusbind.c: Serial number integer overflow fixes. + (CHECK_DBUS_SERIAL_GET_SERIAL): New macro. + (Fdbus_call_method_asynchronously, xd_read_message_1): Use a float + to hold a serial number that is too large for a fixnum. + (Fdbus_method_return_internal, Fdbus_method_error_internal): + Check for serial numbers out of range. Decode any serial number + that was so large that it became a float. (Bug#8722) + + * dbusbind.c: Use XFASTINT rather than XUINT, and check for nonneg. + (Fdbus_call_method, Fdbus_call_method_asynchronously): + Use XFASTINT rather than XUINT when numbers are nonnegative. + (xd_append_arg, Fdbus_method_return_internal): + (Fdbus_method_error_internal): Likewise. Also, for unsigned + arguments, check that Lisp number is nonnegative, rather than + silently wrapping negative numbers around. (Bug#8722) + (xd_read_message_1): Don't assume dbus_uint32_t can fit in int. + (Bug#8722) + + * data.c (arith_driver, Flsh): Avoid unnecessary casts to EMACS_UINT. + + * ccl.c (ccl_driver): Redo slightly to avoid the need for 'unsigned'. + + ccl: add integer overflow checks + * ccl.c (CCL_CODE_MAX, GET_CCL_RANGE, GET_CCL_CODE, GET_CCL_INT): + (IN_INT_RANGE): New macros. + (ccl_driver): Use them to check for integer overflow when + decoding a CCL program. Many of the new checks are whether XINT (x) + fits in int; it doesn't always, on 64-bit hosts. The new version + doesn't catch all possible integer overflows, but it's an + improvement. (Bug#8719) + + * alloc.c (make_event_array): Use XINT, not XUINT. + There's no need for unsigned here. + + * mem-limits.h (EXCEEDS_LISP_PTR) [!USE_LSB_TAG]: EMACS_UINT -> uintptr_t + This follows up to the 2011-05-06 change that substituted uintptr_t + for EMACS_INT. This case wasn't caught back then. + + Rework Fformat to avoid integer overflow issues. + * editfns.c: Include unconditionally, as it's everywhere + now (part of C89). Include . + (MAX_10_EXP, CONVERTED_BYTE_SIZE): Remove; no longer needed. + (pWIDE, pWIDElen, signed_wide, unsigned_wide): New defns. + (Fformat): Avoid the prepass trying to compute sizes; it was only + approximate and thus did not catch overflow reliably. Instead, walk + through the format just once, formatting and computing sizes as we go, + checking for integer overflow at every step, and allocating a larger + buffer as needed. Keep track separately whether the format is + multibyte. Keep only the most-recently calculated precision, rather + than them all. Record whether each argument has been converted to + string. Use EMACS_INT, not int, for byte and char and arg counts. + Support field widths and precisions larger than INT_MAX. Avoid + sprintf's undefined behavior with conversion specifications such as %#d + and %.0c. Fix bug with strchr succeeding on '\0' when looking for + flags. Fix bug with (format "%c" 256.0). Avoid integer overflow when + formatting out-of-range floating point numbers with int + formats. (Bug#8668) + + * lisp.h (FIXNUM_OVERFLOW_P): Work even if arg is a NaN. + + * data.c: Avoid integer truncation in expressions involving floats. + * data.c: Include . + (arith_driver): When there's an integer overflow in an expression + involving floating point, convert the integers to floating point + so that the resulting value does not suffer from catastrophic + integer truncation. For example, on a 64-bit host (* 4 + most-negative-fixnum 0.5) should yield about -4.6e+18, not zero. + Do not rely on undefined behavior after integer overflow. + + merge count_size_as_multibyte, parse_str_to_multibyte + * character.c, character.h (count_size_as_multibyte): + Rename from parse_str_to_multibyte; all uses changed. + Check for integer overflow. + * insdel.c, lisp.h (count_size_as_multibyte): Remove, + since it's now a duplicate of the other. This is more of + a character than a buffer op, so better that it's in character.c. + * fns.c, print.c: Adjust to above changes. + +2011-05-27 Stefan Monnier + + * xselect.c (x_convert_selection): Yet another int/Lisp_Object mixup. + +2011-05-27 Paul Eggert + + * xselect.c: Fix minor problems prompted by GCC 4.6.0 warnings. + (x_handle_selection_request, frame_for_x_selection): Remove unused vars. + (x_clipboard_manager_save): Now static. + (Fx_clipboard_manager_save): Rename local to avoid shadowing. + + * fns.c: Fix minor problems prompted by GCC 4.6.0 warnings. + (crypto_hash_function): Now static. + Fix pointer signedness problems. Avoid unnecessary initializations. + +2011-05-27 Chong Yidong + + * termhooks.h (Vselection_alist): Make it terminal-local. + + * terminal.c (create_terminal): Initialize it. + + * xselect.c: Support for clipboard managers. + (Vselection_alist): Move to termhooks.h as terminal-local var. + (LOCAL_SELECTION): New macro. + (x_atom_to_symbol): Handle x_display_info_for_display fail case. + (symbol_to_x_atom): Remove gratuitous arg. + (x_handle_selection_request, lisp_data_to_selection_data) + (x_get_foreign_selection, Fx_register_dnd_atom): Callers changed. + (x_own_selection, x_get_local_selection, x_convert_selection): + New arg, specifying work frame. Use terminal-local Vselection_alist. + (some_frame_on_display): Delete unused function. + (Fx_own_selection_internal, Fx_get_selection_internal) + (Fx_disown_selection_internal, Fx_selection_owner_p) + (Fx_selection_exists_p): New optional frame arg. + (frame_for_x_selection, Fx_clipboard_manager_save): New functions. + (x_handle_selection_clear): Don't treat other terminals with the + same keyboard specially. Use the terminal-local Vselection_alist. + (x_clear_frame_selections): Use Frun_hook_with_args. + + * xterm.c (x_term_init): Intern ATOM and CLIPBOARD_MANAGER atoms. + + * xterm.h: Add support for those atoms. + +2011-05-26 Chong Yidong + + * xselect.c: ICCCM-compliant handling of MULTIPLE targets. + (converted_selections, conversion_fail_tag): New global variables. + (x_selection_request_lisp_error): Free the above. + (x_get_local_selection): Remove unnecessary code. + (x_reply_selection_request): Args changed; handle arbitrary array + of converted selections stored in converted_selections. + Separate the XChangeProperty and SelectionNotify steps. + (x_handle_selection_request): Rewrite to handle MULTIPLE target. + (x_convert_selection): New function. + (x_handle_selection_event): Simplify. + (x_get_foreign_selection): Don't ignore incoming requests while + waiting for an answer; this will fail when we implement + SAVE_TARGETS, and seems unnecessary anyway. + (selection_data_to_lisp_data): Recognize ATOM_PAIR type. + (Vx_sent_selection_functions): Doc fix. + +2011-05-26 Leo Liu + + * editfns.c (Ftranspose_regions): Allow empty regions. (Bug#8699) - * Makefile.in (emacstool): Remove target. - (lisp, shortlisp): Remove termdev.elc. +2011-05-25 YAMAMOTO Mitsuharu -2007-09-21 Markus Triska + * dispextern.h (struct glyph_row): New member fringe_bitmap_periodic_p. - * xterm.c (x_delete_display): Compile session management conditionally. + * dispnew.c (shift_glyph_matrix, scrolling_window): Mark scrolled row + for fringe update if it has periodic bitmap. + (row_equal_p): Also compare left_fringe_offset, right_fringe_offset, + and fringe_bitmap_periodic_p. -2007-09-20 Stefan Monnier + * fringe.c (get_fringe_bitmap_data): New function. + (draw_fringe_bitmap_1, update_window_fringes): Use it. + (update_window_fringes): Record periodicity of fringe bitmap in glyph + row. Mark glyph row for fringe update if periodicity changed. - * callproc.c (getenv_internal_1): New function. - (getenv_internal): Use it. - (Fgetenv_internal): Use it. Accept an env-list as optional arg. + * xdisp.c (try_window_reusing_current_matrix): Don't mark scrolled row + for fringe update unless it has periodic bitmap. - * 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. +2011-05-25 Kenichi Handa - * 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. + * xdisp.c (get_next_display_element): Set correct it->face_id for + a static composition. - * 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. +2011-05-24 Leo Liu - * 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. + * deps.mk (fns.o): + * makefile.w32-in ($(BLD)/fns.$(O)): Include sha1.h. - * termhooks.h (struct terminal): Make it into a pseudovector. - Remove `deleted' replaced by checking `name's nullness. + * fns.c (crypto_hash_function, Fsha1): New function. + (Fmd5): Use crypto_hash_function. + (syms_of_fns): Add Ssha1. - * print.c (print_object): Handle terminals. +2011-05-22 Paul Eggert - * lisp.h (enum pvec_type): New `terminal' pseudovector. - (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros. + * gnutls.c: Remove unused macros. + (fn_gnutls_transport_set_lowat, fn_gnutls_transport_set_pull_function): + (fn_gnutls_transport_set_push_function) [!WINDOWSNT]: + Remove macros that are defined and never used. + Caught by gcc -Wunused-macros (GCC 4.6.0, Fedora 14). - * 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. +2011-05-22 Chong Yidong -2007-09-20 Glenn Morris + * xselect.c (syms_of_xselect): Remove unused symbol SAVE_TARGETS. + (Fx_get_selection_internal): Minor cleanup. + (Fx_own_selection_internal): Rename arguments for consistency with + select.el. - * process.c (Fmake_network_process): Doc fix. +2011-05-22 Paul Eggert -2007-09-19 Jason Rumney + * xselect.c (QSAVE_TARGETS): New static var, to fix build failure. - * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument. +2011-05-22 Chong Yidong -2007-09-19 Michaël Cadilhac + * xselect.c (syms_of_xselect): Include character.h; use DEFSYM. - * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form): - Fix a C warning regarding variable constness. +2011-05-21 YAMAMOTO Mitsuharu - * xterm.c (handle_one_xevent): Fix a C warning. + * dispnew.c (scrolling_window): Don't exclude the case that the + last enabled row in the desired matrix touches the bottom boundary. -2007-09-18 Jason Rumney +2011-05-21 Glenn Morris - * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame. + * Makefile.in ($(etc)/DOC): Make second command line even shorter. + (SOME_MACHINE_OBJECTS): Replace FONT_OBJ by its maximal expansion, + and add some more files. -2007-09-17 Jan Djärv +2011-05-20 Eli Zaretskii - * 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. + * callproc.c (Fcall_process) [MSDOS]: Fix arguments to + report_file_error introduced by the change from 2011-05-07. -2007-09-16 Jan Djärv +2011-05-20 Paul Eggert - * 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. + * systime.h (Time): Define only if emacs is defined. + This is to allow ../lib-src/profile.c to be compiled on FreeBSD, + where the include path doesn't have X11/X.h by default. See + . -2007-09-16 Andreas Schwab +2011-05-20 Kenichi Handa - * alloc.c (reset_malloc_hooks): Set the hooks to the previous - values instead of zapping them. + * composite.c (find_automatic_composition): Fix previous change. -2007-09-14 Glenn Morris +2011-05-20 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. + * lisp.mk: New file, split from Makefile.in. + * Makefile.in (lisp): Move to separate file, inserted by @lisp_frag@. + (shortlisp): Remove. + ($(etc)/DOC): Edit lisp.mk rather than using $shortlisp. -2007-09-14 Kenichi Handa +2011-05-19 Glenn Morris - * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero. + * Makefile.in (MSDOS_SUPPORT_REAL, MSDOS_SUPPORT, NS_SUPPORT) + (REAL_MOUSE_SUPPORT, GPM_MOUSE_SUPPORT, MOUSE_SUPPORT, TOOLTIP_SUPPORT) + (BASE_WINDOW_SUPPORT, X_WINDOW_SUPPORT, WINDOW_SUPPORT): Remove. + (lisp): Set the order to that of loadup.el. + (shortlisp): Make it a copy of $lisp. + (SOME_MACHINE_LISP): Remove. + ($(etc)/DOC): Depend just on $lisp, not $SOME_MACHINE_LISP too. + Use just $shortlisp, not $SOME_MACHINE_LISP too. -2007-09-13 Jason Rumney +2011-05-18 Kenichi Handa - * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument. + * composite.c (CHAR_COMPOSABLE_P): Add more check for efficiency. + (BACKWARD_CHAR): Wrap the arg STOP by parenthesis. + (find_automatic_composition): Mostly rewrite for efficiency. - * w32term.c (w32_term_init): Pass rif to w32_init_fringe. +2011-05-18 Juanma Barranquero - * macterm.c (mac_initialize): Don't call mac_init_fringe here. - (mac_term_init): Call here instead, passing rif. + * makefile.w32-in: Update dependencies. -2007-09-13 Glenn Morris +2011-05-18 Christoph Scholtes - * s/hpux.h: No longer define `static' as nothing. + * menu.c: Include limits.h (fixes the MS-Windows build broken by + 2011-06-18T18:49:19Z!cyd@stupidchicken.com). -2007-09-13 Johan Bockgård +2011-05-18 Paul Eggert - * callint.c (Fcall_interactively): Remove unused var `fun'. + Fix some integer overflow issues, such as string length overflow. -2007-09-12 Romain Francoise + * insdel.c (count_size_as_multibyte): Check for string overflow. - * window.c (prefer_window_split_horizontally, display_buffer): - Revert 2007-09-08 change. + * character.c (lisp_string_width): Check for string overflow. + Use EMACS_INT, not int, for string indexes and lengths; in + particular, 2nd arg is now EMACS_INT, not int. Do not crash if + the resulting string length overflows an EMACS_INT; instead, + report a string overflow if no precision given. When checking for + precision exhaustion, use a check that cannot possibly have + integer overflow. (Bug#8675) + * character.h (lisp_string_width): Adjust to new signature. -2007-09-12 Glenn Morris + * alloc.c (string_overflow): New function. + (Fmake_string): Use it. This doesn't change behavior, but saves + a few bytes and will simplify future changes. + * character.c (string_escape_byte8): Likewise. + * lisp.h (string_overflow): New decl. - * 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. + Fixups, following up to the user-interface timestamp change. + * nsterm.m (last_mouse_movement_time, ns_mouse_position): Use Time + for UI timestamps, instead of unsigned long. + * msdos.c (mouse_get_pos): Likewise. + * w32inevt.c (movement_time, w32_console_mouse_position): Likewise. + * w32gui.h (Time): Define by including "systime.h" rather than by + declaring it ourselves. (Bug#8664) - * Makefile.in (SOURCES, unlock, relock): Delete. + * dispextern.h (struct image): Don't assume time_t <= unsigned long. + * image.c (clear_image_cache): Likewise. - * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity. - (menu_grab_callback): All uses changed. + * term.c (term_mouse_position): Don't assume time_t wraparound. - * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity. - (x_reply_selection_request): All uses changed. + Be more systematic about user-interface timestamps. + Before, the code sometimes used 'Time', sometimes 'unsigned long', + and sometimes 'EMACS_UINT', to represent these timestamps. + This change causes it to use 'Time' uniformly, as that's what X uses. + This makes the code easier to follow, and makes it easier to catch + integer overflow bugs such as Bug#8664. + * frame.c (Fmouse_position, Fmouse_pixel_position): + Use Time, not unsigned long, for user-interface timestamps. + * keyboard.c (last_event_timestamp, kbd_buffer_get_event): Likewise. + (button_down_time, make_lispy_position, make_lispy_movement): Likewise. + * keyboard.h (last_event_timestamp): Likewise. + * menu.c (Fx_popup_menu) [!HAVE_X_WINDOWS]: Likewise. + * menu.h (xmenu_show): Likewise. + * term.c (term_mouse_position): Likewise. + * termhooks.h (struct input_event.timestamp): Likewise. + (struct terminal.mouse_position_hook): Likewise. + * xmenu.c (create_and_show_popup_menu, xmenu_show): Likewise. + * xterm.c (XTmouse_position, x_scroll_bar_report_motion): Likewise. + * systime.h (Time): New decl. Pull it in from if + HAVE_X_WINDOWS, otherwise define it as unsigned long, which is + what it was before. + * menu.h, termhooks.h: Include "systime.h", for Time. + + * keyboard.c (make_lispy_event): Fix problem in integer overflow. + Don't assume that the difference between two unsigned long values + can fit into an integer. At this point, we know button_down_time + <= event->timestamp, so the difference must be nonnegative, so + there's no need to cast the result if double-click-time is + nonnegative, as it should be; check that it's nonnegative, just in + case. This bug is triggered when events are more than 2**31 ms + apart (about 25 days). (Bug#8664) + + * xselect.c (last_event_timestamp): Remove duplicate decl. + (x_own_selection): Remove needless cast to unsigned long. + + * xmenu.c (set_frame_menubar): Use int, not EMACS_UINT, for indexes + that always fit in int. Use a sentinel instead of a counter, to + avoid a temp and to allay GCC's concerns about possible int overflow. + * frame.h (struct frame): Use int for menu_bar_items_used + instead of EMACS_INT, since it always fits in int. + + * menu.c (grow_menu_items): Check for int overflow. + + * xmenu.c (set_frame_menubar): Don't mishandle vectors with no nils. + + * xterm.c: Use EMACS_INT for Emacs modifiers, and int for X modifiers. + Before, the code was not consistent. These values cannot exceed + 2**31 - 1 so there's no need to make them unsigned. + (x_x_to_emacs_modifiers): Accept int and return EMACS_INT. + (x_emacs_to_x_modifiers): Accept EMACS_INT and return int. + (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Reject non-integers + as modifiers. + * xterm.h (x_x_to_emacs_modifiers): Adjust to signature change. + + * lisp.h (XINT) [USE_LISP_UNION_TYPE]: Cast to EMACS_INT. + (XUINT) [USE_LISP_UNION_TYPE]: Cast to EMACS_UINT. + Otherwise, GCC 4.6.0 warns about printf (pI, XINT (...)), + presumably because the widths might not match. + + * window.c (size_window): Avoid needless test at loop start. + +2011-05-18 Courtney Bane (tiny change) + + * term.c (Fresume_tty): Restore hooks before reinitializing (bug#8687). + +2011-05-12 Drew Adams -2007-09-11 Stefan Monnier + * textprop.c (Fprevious_single_char_property_change): Doc fix (bug#8655). - * lread.c (load_warn_old_style_backquotes): Change message to look - better when it appears in the middle of byte-compiler messages. +2011-05-12 YAMAMOTO Mitsuharu -2007-09-10 Dan Nicolaescu + * w32term.c (w32_draw_fringe_bitmap): Rename local vars `left' and + `width' to `bar_area_x' and `bar_area_width', respectively. + (x_scroll_run): Take account of fringe background extension. - * s/darwin.h (MULTI_KBOARD): Only define for Carbon. + * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]: + Rename local vars `left' and `width' to `bar_area_x' and + `bar_area_width', respectively. + (x_scroll_run) [USE_TOOLKIT_SCROLL_BARS]: Take account of fringe + background extension. - * xterm.c (x_create_terminal): Add comment. +2011-05-10 Jim Meyering - * term.c (clear_tty_hooks, set_tty_hooks): Add comments. + * xdisp.c (x_intersect_rectangles): Fix typo "the the -> the". -2007-09-10 Richard Stallman +2011-05-10 Juanma Barranquero - * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME. + * image.c (Finit_image_library): Return t for built-in image types, + like pbm and xbm. (Bug#8640) -2007-09-10 Michaël Cadilhac +2011-05-09 Andreas Schwab - * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'. - (DEFUN): Document `intspec', use it instead of `prompt'. + * w32menu.c (set_frame_menubar): Fix submenu allocation. - * eval.c (Fcommandp): Change `->prompt' to `->intspec'. +2011-05-07 Eli Zaretskii - * data.c (Finteractive_form): If the interactive specification starts - with a `(', use it as a Lisp form. + * w32console.c (Fset_screen_color): Doc fix. + (Fget_screen_color): New function. + (syms_of_ntterm): Defsubr it. - * fileio.c (Fset_file_modes): Add an interactive spec that reads a file - name and file modes. + * callproc.c (call_process_cleanup) [MSDOS]: Don't close and + unlink the temporary file if Fcall_process didn't create it in the + first place. + (Fcall_process) [MSDOS]: Don't create tempfile if stdout of the + child process will be redirected to a file specified with `:file'. + Don't try to re-open tempfile in that case, and set fd[0] to -1 as + cue to call_process_cleanup not to close that handle. - * callint.c (Fcall_interactively): Comment fixes. +2011-05-07 Ben Key -2007-09-10 Stefan Monnier + * makefile.w32-in: The bootstrap-temacs rule now makes use of + one of two shell specific rules, either bootstrap-temacs-CMD or + bootstrap-temacs-SH. The bootstrap-temacs-SH rule is identical + to the previous implementation of the bootstrap-temacs rule. + The bootstrap-temacs-CMD rule is similar to the previous + implementation of the bootstrap-temacs rule except that it + makes use of the ESC_CFLAGS variable instead of the CFLAGS + variable. - * callint.c (Fcall_interactively): Use Finteractive_form also for subrs - and compiled functions. + These changes, along with some changes to nt/configure.bat, + nt/gmake.defs, and nt/nmake.defs, are required to extend my + earlier fix to add support for --cflags and --ldflags options + that include quotes so that it works whether make uses cmd or + sh as the shell. -2007-09-08 Fredrik Axelsson +2011-05-06 Michael Albinus - * window.c (prefer_window_split_horizontally): New variable. - (display_buffer): Consider splitting window horizontally depending - on prefer_window_split_horizontally. + * dbusbind.c (QCdbus_type_unix_fd): Declare static. + (xd_remove_watch): Don't check QCdbus_type_unix_fd for SYMBOLP, it + is a constant. + (Fdbus_init_bus, xd_read_queued_messages): Bus can be a symbol or + a string. Handle both cases. + (Fdbus_call_method_asynchronously, Fdbus_register_signal) + (Fdbus_register_method): Use Qinvalid_function. -2007-09-08 Eli Zaretskii +2011-05-06 Juanma Barranquero - * sysdep.c [WINDOWSNT]: Don't include sysselect.h. + * makefile.w32-in: Update dependencies. + (LISP_H): Add inttypes.h and stdin.h. + (PROCESS_H): Add unistd.h. + +2011-05-06 Eli Zaretskii + + * lread.c: Include limits.h (fixes the MS-Windows build broken by + 2011-05-06T07:13:19Z!eggert@cs.ucla.edu). + +2011-05-06 Paul Eggert + + * image.c (Finit_image_library) [!HAVE_NTGUI]: Omit unused local. + + * term.c (vfatal): Remove stray call to va_end. + It's not needed and the C Standard doesn't allow it here anyway. + + Use C99's va_copy to avoid undefined behavior on x86-64 GNU/Linux. + * eval.c (verror): doprnt a copy of ap, not the original. (Bug#8545) + + * eval.c (verror): OK to create a string of up to MOST_POSITIVE_FIXNUM + bytes. + + * term.c: Don't include , as does that. + + * callproc.c (Fcall_process): Use 'volatile' to avoid vfork clobbering. + + * process.c (Fformat_network_address): Fix typo: args2 -> *args2. + + * xmenu.c (set_frame_menubar): Fix typo: int * -> int (3 times). + + * coding.c (detect_coding_charset): Fix typo: * 2 -> *4 (Bug#8601). + + * charset.h (struct charset.code_space): Now has 15 elements, not 16. + * charset.c (Fdefine_charset_internal): Don't initialize + charset.code_space[15]. The value was garbage, on hosts with + 32-bit int (Bug#8600). -2007-09-07 Stefan Monnier + * lread.c (read_integer): Be more consistent with string-to-number. + Use string_to_number to do the actual conversion; this avoids + rounding errors and fixes some other screwups. Without this fix, + for example, #x1fffffffffffffff was misread as -2305843009213693952. + (digit_to_number): Move earlier, for benefit of read_integer. + Return -1 if the digit is out of range for the base, -2 if it is + not a digit in any supported base. (Bug#8602) - * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking. + * doprnt.c (doprnt): Support arbitrary pI values, such as "I64". - * frame.c (x_set_frame_parameters): Check number is positive before - using XFASTINT. + * dispnew.c (scrolling_window): Return 1 if we scrolled, + to match comment at start of function. This also removes a + GCC warning about overflow in a 32+64-bit port. - * 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. + * lisp.h (EMACS_INT, EMACS_UINT, BITS_PER_EMACS_INT, pI): Simplify. -2007-09-07 Angelo Graziosi (tiny change) + * dbusbind.c: Do not use XPNTR on a value that may be an integer. + Reported by Stefan Monnier in + . + (xd_remove_watch, Fdbus_init_bus, xd_read_queued_messages): + Use SYMBOLP-guarded XSYMBOL, not XPNTR. - * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN. + * lisp.h (EMACS_INTPTR): Remove. All uses changed to intptr_t. + (EMACS_UINTPTR): Likewise, with uintptr_t. -2007-09-07 Stefan Monnier + * lisp.h: Prefer 64-bit EMACS_INT if available. + (EMACS_INT, EMACS_UINT, BITS_PER_EMACS_INT, pI): Define to 64-bit + on 32-bit hosts that have 64-bit int, so that they can access + large files. + However, temporarily disable this change unless the temporary + symbol WIDE_EMACS_INT is defined. - * window.c (Vsplit_window_preferred_function): New var. - (Fdisplay_buffer): Use it. - (syms_of_window): Export, and initialize it. + * lread.c, process.c: Do not include ; lisp.h does it now. -2007-09-06 Pixel (tiny change) + Prefer intptr_t/uintptr_t for integers the same widths as pointers. + This removes an assumption that EMACS_INT and long are the same + width as pointers. The assumption is true for Emacs porting targets + now, but we want to make other targets possible. + * lisp.h: Include , for INTPTR_MAX, UINTPTR_MAX. + (EMACS_INTPTR, EMACS_UINTPTR): New macros. + In the rest of the code, change types of integers that hold casted + pointers to EMACS_INTPTR and EMACS_UINTPTR, systematically + replacing EMACS_INT, long, EMACS_UINT, and unsigned long. + (XTYPE): Don't cast arg to EMACS_UINT; normally is not needed. + (XSET): Cast type of XTYPE arg to EMACS_INTPTR; it is needed here. + No need to cast type when ORing. + (XPNTR): Return a value of type EMACS_INTPTR or EMACS_UINTPTR. + * alloc.c (lisp_align_malloc): Remove a no-longer-needed cast. + * doc.c (store_function_docstring): Use EMACS_INTPTR, so as not to + assume EMACS_INT is the same width as char *. + * gtkutil.c (xg_gtk_scroll_destroy, xg_tool_bar_button_cb): + (xg_tool_bar_callback, xg_tool_bar_help_callback, xg_make_tool_item): + Remove no-longer-needed casts. + (xg_create_scroll_bar, xg_tool_bar_button_cb, xg_tool_bar_callback): + (xg_tool_bar_help_callback, xg_make_tool_item): + Use EMACS_INTPTR to hold an integer + that will be cast to void *; this can avoid a GCC warning + if EMACS_INT is not the same width as void *. + * menu.c (find_and_call_menu_selection): Remove no-longer-needed cast. + * xdisp.c (display_echo_area_1, resize_mini_window_1): + (current_message_1, set_message_1): + Use a local to convert to proper width without a cast. + * xmenu.c (dialog_selection_callback): Likewise. - * image.c (gif_load): Fix bug: Handle nonexistent colormap. + * sysdep.c (get_random): Don't assume EMACS_INT is no wider than long. + Also, don't assume VALBITS / RAND_BITS is less than 5, + and don't rely on undefined behavior when shifting a 1 left into + the sign bit. + * lisp.h (get_random): Change signature to match. + + * lread.c (hash_string): Use size_t, not int, for hash computation. + Normally we prefer signed values; but hashing is special, because + it's better to use unsigned division on hash table sizes so that + the remainder is nonnegative. Also, size_t is the natural width + for hashing into memory. The previous code used 'int', which doesn't + retain enough info to hash well into very large tables. + (oblookup, oblookup_last_bucket_number, Funintern): Likewise. + + * dbusbind.c: Don't possibly lose pointer info when converting. + (xd_remove_watch, Fdbus_init_bus, xd_read_queued_messages): + Use XPNTR rather than XHASH, so that the high-order bits of + the pointer aren't lost when converting through void *. + + * eval.c (Fautoload): Don't double-shift a pointer. + + * fns.c (Frandom): Let EMACS_UINT be wider than unsigned long. + +2011-05-06 Juanma Barranquero + + * gnutls.c (DEF_GNUTLS_FN): + * image.c (DEF_IMGLIB_FN): Make function pointers static. + +2011-05-05 Andreas Schwab + + * lread.c (lisp_file_lexically_bound_p): Stop scanning at end + marker. (Bug#8610) + +2011-05-05 Eli Zaretskii -2007-09-06 Glenn Morris + * w32heap.c (allocate_heap) [USE_LISP_UNION_TYPE || USE_LSB_TAG]: + New version that can reserve upto 2GB of heap space. - * gtkutil.c (menu_grab_callback) : - * xselect.c (x_reply_selection_request) : Move static - variable to file scope. +2011-05-05 Chong Yidong -2007-09-06 Stefan Monnier + * nsfns.m (Fns_read_file_name): Doc fix (Bug#8534). - * xdisp.c (redisplay_internal): Make sure Elisp code always sees - consistent values of selected_frame and selected_window. +2011-05-05 Teodor Zlatanov -2007-09-04 Jason Rumney + * gnutls.c (fn_gnutls_certificate_set_x509_key_file): Add alias to + `gnutls_certificate_set_x509_key_file'. - * w32console.c (initialize_w32_display): Zero unused hooks. +2011-05-05 Juanma Barranquero -2007-09-04 Dan Nicolaescu + * makefile.w32-in ($(BLD)/image.$(O), $(BLD)/process.$(O)): + Update dependencies. - * term.c (Vsuspend_tty_functions, Vresume_tty_functions) - (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change. +2011-05-04 Juanma Barranquero -2007-09-04 Jason Rumney + * gnutls.h (emacs_gnutls_write, emacs_gnutls_read): + * gnutls.c (emacs_gnutls_write, emacs_gnutls_read): + Remove unused parameter `fildes'. + * process.c (read_process_output, send_process): Don't pass it. - * 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. +2011-05-04 Juanma Barranquero - * s/ms-w32.h (MULTI_KBOARD): Define. + Fix previous change: the library cache is defined in w32.c. + * image.c (CACHE_IMAGE_TYPE) [!HAVE_NTGUI]: Define to noop. + (Finit_image_library): Wrap Vlibrary_cache on "#ifdef HAVE_NTGUI". - * w32console.c (one_and_only_w32cons): Remove. - (initialize_w32_display): Take terminal argument. +2011-05-04 Juanma Barranquero - * term.c (init_tty) [WINDOWSNT]: Pass terminal to - initialize_w32_display. - (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too. + Implement dynamic loading of GnuTLS on Windows. - * termhooks.h (enum event_kind) : New event. + * gnutls.h (GNUTLS_EMACS_ERROR_NOT_LOADED): New macro. + (emacs_gnutls_write, emacs_gnutls_read): Mark as extern. + (emacs_gnutls_record_check_pending, emacs_gnutls_transport_set_errno): + Declare. - * 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. + * gnutls.c (Qgnutls_dll): Define. + (DEF_GNUTLS_FN, LOAD_GNUTLS_FN): New macros. + (gnutls_*): Declare function pointers. + (init_gnutls_functions): New function to initialize function pointers. + (emacs_gnutls_handshake, Fgnutls_error_string, Fgnutls_deinit) + (emacs_gnutls_global_init, Fgnutls_bye): Use function pointers. + (emacs_gnutls_record_check_pending, emacs_gnutls_transport_set_errno): + Wrappers for gnutls_record_check_pending and gnutls_transport_set_errno. + (emacs_gnutls_write, emacs_gnutls_read) + (emacs_gnutls_handle_error, Fgnutls_error_fatalp) + (Fgnutls_available_p): New function. + (Fgnutls_boot): Call Fgnutls_available_p. Use function pointers. + (syms_of_gnutls) : Initialize and staticpro it. + (syms_of_gnutls) : defsubr it. - * w32fns.c (w32_wnd_proc) : Merge with WM_MOUSEWHEEL. - : Pass new system message to lisp. + * image.c: Include w32.h. + (Vimage_type_cache): Delete. + (syms_of_image) : Don't initialize and staticpro it. + (CACHE_IMAGE_TYPE, Finit_image_library): Use Vlibrary_cache instead. + (w32_delayed_load): Move to w32.c. - * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't. + * w32.h (VlibraryCache, QCloaded_from, w32_delayed_load): Declare. - * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT - from WM_MOUSEHWHEEL. - (w32_read_socket) : Treat as WM_MOUSEWHEEL. + * w32.c (QCloaded_from, Vlibrary_cache): Define. + (w32_delayed_load): Move from image.c. When loading a library, record + its filename in the :loaded-from property of the library id. + (globals_of_w32) : + Initialize and staticpro them. + (emacs_gnutls_pull, emacs_gnutls_push): Call emacs_gnutls_* functions. - * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from - terminal. + * process.c: Include lisp.h before w32.h, not after. + (wait_reading_process_output): Call emacs_gnutls_record_check_pending + instead of gnutls_record_check_pending. - * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new - keyboard for the terminal. + * callproc.c, emacs.c: Include lisp.h before w32.h, not after. -2007-09-04 Dan Nicolaescu +2011-05-04 Teodor Zlatanov - * 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. + * gnutls.c (Fgnutls_boot): Support :keylist and :crlfiles options + instead of :keyfiles. Give GnuTLS the keylist and the CRL lists + as passed in. -2007-09-02 Jan Djärv +2011-05-03 Jan Djärv - * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon - if it starts with "n:". + * xterm.c (x_set_frame_alpha): Do not set property on anything + else than FRAME_X_OUTER_WINDOW (Bug#8608). -2007-08-31 Jan Djärv +2011-05-02 Juanma Barranquero - * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL. + * sysdep.c (get_tty_size) [WINDOWSNT]: Implement. (Bug#8596) -2007-08-31 Stefan Monnier +2011-05-02 Juanma Barranquero - * frame.h: - * frame.c (Qterm_environment_variable): Remove. - (syms_of_frame): Don't init and staticpro it. + * gnutls.c (Qgnutls_log_level, Qgnutls_code, Qgnutls_anon) + (Qgnutls_x509pki, Qgnutls_e_interrupted, Qgnutls_e_again) + (Qgnutls_e_invalid_session, Qgnutls_e_not_ready_for_handshake) + (gnutls_global_initialized, Qgnutls_bootprop_priority) + (Qgnutls_bootprop_trustfiles, Qgnutls_bootprop_keyfiles) + (Qgnutls_bootprop_callbacks, Qgnutls_bootprop_loglevel) + (Qgnutls_bootprop_hostname, Qgnutls_bootprop_verify_flags) + (Qgnutls_bootprop_verify_error, Qgnutls_bootprop_verify_hostname_error) + (Qgnutls_bootprop_callbacks_verify): Make static. - * callproc.c (getenv_internal): Remove special case for $TERM. +2011-05-01 Andreas Schwab - * 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. + * callproc.c: Indentation fixup. -2007-08-29 Dan Nicolaescu + * sysdep.c (wait_for_termination_1): Make static. + (wait_for_termination, interruptible_wait_for_termination): + Move after wait_for_termination_1. - * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here... - * s/darwin.h: ... do it here. +2011-05-01 Lars Magne Ingebrigtsen -2007-08-29 Stefan Monnier + * sysdep.c (interruptible_wait_for_termination): New function + which is like wait_for_termination, but allows keyboard + interruptions. - * lisp.h (set_initial_environment): Rename from set_global_environment. + * callproc.c (Fcall_process): Add (:file "file") as an option for + the STDOUT buffer. + (Fcall_process_region): Ditto. - * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been - removed by mistake on the multi-tty branch. +2011-04-30 Eli Zaretskii - * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup. - (Fmodify_frame_parameters): Return a value. + * dosfns.c (Fint86, Fdos_memget, Fdos_memput): Use `ASIZE (FOO)' + rather than `XVECTOR (FOO)->size'. - * image.c (png_load): Comment-out var only used in commented-out code. + * process.c: Remove HAVE_INTTYPES_H condition from inclusion of + inttypes.h, as a gnulib replacement is used if it not available in + system headers. - * term.c (mark_ttys): Don't bother checking top_frame (incorrectly) - before passing it to mark_object. +2011-04-21 Eli Zaretskii - * xfaces.c (internal_resolve_face_name): Return a value. - (internal_resolve_face_name, resolve_face_name_error): Comment out. + Lift the MOST_POSITIVE_FIXNUM/4 limitation on visited files. + * fileio.c (Finsert_file_contents): Don't limit file size to 1/4 + of MOST_POSITIVE_FIXNUM. (Bug#8528) - * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup. - (x_icon): Comment-out var only used in commented-out code. + * coding.c (coding_alloc_by_realloc): Error out if destination + will grow beyond MOST_POSITIVE_FIXNUM. + (decode_coding_emacs_mule): Abort if there isn't enough place in + charbuf for the composition carryover bytes. Reserve an extra + space for up to 2 characters produced in a loop. + (decode_coding_iso_2022): Abort if there isn't enough place in + charbuf for the composition carryover bytes. -2007-08-29 Romain Francoise +2011-04-21 Eli Zaretskii - * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if - QUIT hasn't been provided. + * doprnt.c (doprnt) [!HAVE_LONG_LONG_INT]: Error out instead of + aborting when %lld or %lll format is passed. + [!HAVE_UNSIGNED_LONG_LONG_INT]: Error out instead of aborting when + %llo or %llx format is passed. (Bug#8545) -2007-08-29 Dan Nicolaescu + * window.c (window_scroll_line_based): Use a marker instead of + simple variables to record original value of point. (Bug#7952) - * callproc.c (child_setup, getenv_internal): Use the - display-environment-variable and term-environment-variable frame params. - (set_initial_environment): Initialise Vprocess_environment. + * doprnt.c (doprnt): Fix the case where a multibyte sequence + produced by %s or %c overflows available buffer space. (Bug#8545) - * config.in: Disable multi-keyboard support on a mac. +2011-04-28 Paul Eggert - * frame.c (Qterm_environment_variable) - (Qdisplay_environment_variable): New variables. - (syms_of_frame): Intern and staticpro them. - (Fmake_terminal_frame): Disable output method test. + * doprnt.c (doprnt): Omit useless test; int overflow check (Bug#8545). + (SIZE_MAX): Move defn after all includes, as they might #define it. - * frame.h: Declare them here. +2011-04-28 Juanma Barranquero - * 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. + * w32.c (init_environment): Warn about defaulting HOME to C:\. - * macmenu.c: Reorder includes. - (Fx_popup_menu): Use terminal specific mouse_position_hook. +2011-04-28 Juanma Barranquero - * 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. + * keyboard.c (Qdelayed_warnings_hook): Define. + (command_loop_1): Run `delayed-warnings-hook' + if Vdelayed_warnings_list is non-nil. + (syms_of_keyboard) : DEFSYM it. + (syms_of_keyboard) : DEFVAR_LISP it. - * macterm.h (struct mac_display_info): Add terminal. - (mac_initialize): Delete declaration. +2011-04-28 Eli Zaretskii - * puresize.h (BASE_PURESIZE): Increase base value to 1164000. + * doprnt.c (doprnt): Don't return value smaller than the buffer + size if the message was truncated. (Bug#8545). - * sysdep.c: Comment out text after #endif. +2011-04-28 Juanma Barranquero - * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD - is defined. Better initialize ttys in windows. Use terminal - specific mouse_position_hook. + * w32fns.c (Fx_change_window_property, Fx_delete_window_property) + (Fx_window_property): #if-0 the whole functions, not just the bodies. - * termhooks.h (union display_info): Add mac_display_info. +2011-04-27 Paul Eggert - * 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. + * doprnt.c (doprnt): Support "ll" length modifier, for long long. - * w32term.c (w32_initialize): Make static. +2011-04-27 Juanma Barranquero - * xselect.c (x_handle_selection_clear): Only access - terminal->kboard when MULTI_KBOARD is defined. + * makefile.w32-in: Update dependencies. - * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here. - (SYSTEM_PURESIZE_EXTRA): Only define on Carbon. +2011-04-27 Eli Zaretskii -2007-08-29 Jason Rumney + Improve `doprnt' and its usage. (Bug#8545) + * doprnt.c (doprnt): Make sure `format' is never accessed beyond + `format_end'. Remove support for %l as a conversion specifier. + Don't use xrealloc. Improve diagnostics when the %l size modifier + is used. Update the commentary. - * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined. - (make_terminal_frame) [WINDOWSNT]: Initialize terminal. + * eval.c (verror): Simplify calculation of size_t. - * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]: - (mac_init_fringe) [MAC_OS]: Get rif from selected_frame. + * coding.c (Ffind_operation_coding_system): Fix diagnostic error + messages. - * keyboard.c (restore_kboard_configuration): Only define when - MULTI_KBOARD defined. +2011-04-27 Yoshiaki Kasahara (tiny change) - * makefile.w32-in: Update dependancies from Makefile.in. - (OBJ1): Add terminal.$(O) + * buffer.c (init_buffer) [USE_MMAP_FOR_BUFFERS]: Adjust to aliasing + change. - * term.c (dissociate_if_controlling_tty) [WINDOWSNT]: - Don't define function body. - (init_tty) [WINDOWSNT]: Use selected_frame for initializing. +2011-04-27 Paul Eggert - * termhooks.h (display_info) [WINDOWSNT]: Add w32. + * nsmenu.m: Replace all uses of XVECTOR with ASIZE and AREF. + This makes this file independent of the recent pseudovector change. - * w32.c (request_sigio, unrequest_sigio): Remove. +2011-04-26 Paul Eggert - * 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. + * keyboard.c (handle_user_signal): Fix pointer signedness problem. - * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first - arg a frame. + * gnutls.c (emacs_gnutls_handle_error): Remove unused local. + (Fgnutls_boot): gnutls_certificate_verify_peers2 wants unsigned *. + Remove unused local. + (emacs_gnutls_write): Don't use uninitialized rtnval if nbyte <= 0. - * 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. + * lisp.h: Fix a problem with aliasing and vector headers. (Bug#8546) + GCC 4.6.0 optimizes based on type-based alias analysis. + For example, if b is of type struct buffer * and v of type struct + Lisp_Vector *, then gcc -O2 was incorrectly assuming that &b->size + != &v->size, and therefore "v->size = 1; b->size = 2; return + v->size;" must therefore return 1. This assumption is incorrect + for Emacs, since it type-puns struct Lisp_Vector * with many other + types. To fix this problem, this patch adds a new type struct + vectorlike_header that documents the constraints on layout of vectors + and pseudovectors, and helps optimizing compilers not get fooled + by Emacs's type punning. It also adds the macros XSETTYPED_PVECTYPE + XSETTYPED_PSEUDOVECTOR, TYPED_PSEUDOVECTORP, for similar reasons. + * lisp.h (XSETTYPED_PVECTYPE): New macro, specifying the name of + the size member. + (XSETPVECTYPE): Rewrite in terms of new macro. + (XSETPVECTYPESIZE): New macro, specifying both type and size. + This is a bit clearer, and further avoids the possibility of + undesirable aliasing. + (XSETTYPED_PSEUDOVECTOR): New macro, specifying the size. + (XSETPSEUDOVECTOR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR. + (XSETSUBR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR and XSIZE, + since Lisp_Subr is a special case (no "next" field). + (ASIZE): Now uses header.size rather than size. + All previous uses of XVECTOR (foo)->size replaced to use this macro, + to avoid the hassle of writing XVECTOR (foo)->header.size. + (struct vectorlike_header): New type. + (TYPED_PSEUDOVECTORP): New macro, also specifying the C type of the + object, to help avoid aliasing. + (PSEUDOVECTORP): Rewrite in terms of TYPED_PSEUDOVECTORP. + (SUBRP): Likewise, since Lisp_Subr is a special case. + * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table): + (struct Lisp_Sub_Char_Table, struct Lisp_Bool_Vector): + (struct Lisp_Hash_Table): Combine first two members into a single + struct vectorlike_header member. All uses of "size" and "next" members + changed to be "header.size" and "header.next". + * buffer.h (struct buffer): Likewise. + * font.h (struct font_spec, struct font_entity, struct font): Likewise. + * frame.h (struct frame): Likewise. + * process.h (struct Lisp_Process): Likewise. + * termhooks.h (struct terminal): Likewise. + * window.c (struct save_window_data, struct saved_window): Likewise. + * window.h (struct window): Likewise. + * alloc.c (allocate_buffer, Fmake_bool_vector, allocate_pseudovector): + Use XSETPVECTYPESIZE, not XSETPVECTYPE, to avoid aliasing problems. + * buffer.c (init_buffer_once): Likewise. + * lread.c (defsubr): Use XSETTYPED_PVECTYPE, since Lisp_Subr is a + special case. + * process.c (Fformat_network_address): Use local var for size, + for brevity. - * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook. + * bytecode.c (exec_byte_code): Don't use XVECTOR before CHECK_VECTOR. - * 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. + Make the Lisp reader and string-to-float more consistent (Bug#8525) + * data.c (atof): Remove decl; no longer used or needed. + (digit_to_number): Move to lread.c. + (Fstring_to_number): Use new string_to_number function, to be + consistent with how the Lisp reader treats infinities and NaNs. + Do not assume that floating-point numbers represent EMACS_INT + without losing information; this is not true on most 64-bit hosts. + Avoid double-rounding errors, by insisting on integers when + parsing non-base-10 numbers, as the documentation specifies. + * lisp.h (string_to_number): New decl, replacing ... + (isfloat_string): Remove. + * lread.c: Include , for uintmax_t and strtoumax. + (read1): Do not accept +. and -. as integers; this + appears to have been a coding error. Similarly, do not accept + strings like +-1e0 as floating point numbers. Do not report + overflow for integer overflows unless the base is not 10 which + means we have no simple and reliable way to continue. + Break out the floating-point parsing into a new + function string_to_number, so that Fstring_to_number parses + floating point numbers consistently with the Lisp reader. + (digit_to_number): Move here from data.c. Make it static inline. + (E_CHAR, EXP_INT): Remove, replacing with ... + (E_EXP): New macro, to solve the "1.0e+" problem mentioned below. + (string_to_number): New function, replacing isfloat_string. + This function checks for valid syntax and produces the resulting + Lisp float number too. Rework it so that string-to-number + no longer mishandles examples like "1.0e+". Use strtoumax, + so that overflow for non-base-10 numbers is reported only when + there's no portable and simple way to convert to floating point. + + * textprop.c (set_text_properties_1): Rewrite for clarity, + and to avoid GCC warning about integer overflow. + + * intervals.h (struct interval): Use EMACS_INT for members + where EMACS_UINT might cause problems. See + . + (CHECK_TOTAL_LENGTH): Remove cast to EMACS_INT; no longer needed. + * intervals.c (interval_deletion_adjustment): Now returns EMACS_INT. + All uses changed. + (offset_intervals): Tell GCC not to worry about length overflow + when negating a negative length. + + * alloc.c (overrun_check_malloc, overrun_check_realloc): Now static. + (overrun_check_free): Likewise. + + * alloc.c (SDATA_SIZE) [!GC_CHECK_STRING_BYTES]: Avoid runtime check + in the common case where SDATA_DATA_OFFSET is a multiple of Emacs + word size. + + * gnutls.c: Fix problems found by GCC 4.6.0 on Ubuntu 10.10. + (gnutls_make_error): Rename local to avoid shadowing. + (gnutls_emacs_global_deinit): ifdef out; not used. + (Fgnutls_boot): Use const for pointer to readonly storage. + Comment out unused local. Fix pointer signedness problems. + + * lread.c (openp): Don't stuff size_t into an 'int'. + Use <= on length, not < on length + 1, to avoid GCC 4.6.0 warning + about possible signed overflow. + + * gtkutil.c: Fix problems found by GCC 4.6.0 on Ubuntu 10.10. + (GDK_KEY_g): Don't define if already defined. + (xg_prepare_tooltip): Avoid pointer signedness problem. + (xg_set_toolkit_scroll_bar_thumb): Redo to avoid two casts. + + * process.c (Fnetwork_interface_info): Avoid left-shift undefined + behavior with 1 << 31. GCC 4.6.0 warns about this on 32-bit hosts. + + * xfns.c (Fx_window_property): Simplify a bit, + to make a bit faster and to avoid GCC 4.6.0 warning. + * xselect.c (x_get_window_property, x_handle_dnd_message): Likewise. + + * fns.c (internal_equal): Don't assume size_t fits in int. + + * alloc.c (compact_small_strings): Tighten assertion a little. + + Replace pEd with more-general pI, and fix some printf arg casts. + * lisp.h (pI): New macro, generalizing old pEd macro to other + conversion specifiers. For example, use "...%"pI"d..." rather + than "...%"pEd"...". + (pEd): Remove. All uses replaced with similar uses of pI. + * src/m/amdx86-64.h, src/m/ia64.h, src/m/ibms390x.h: Likewise. + * alloc.c (check_pure_size): Don't overflow by converting size to int. + * bidi.c (bidi_dump_cached_states): Use pI to avoid cast. + * data.c (Fnumber_to_string): Use pI instead of if-then-else-abort. + * dbusbind.c (xd_append_arg): Use pI to avoid cast. + (Fdbus_method_return_internal, Fdbus_method_error_internal): Likewise. + * font.c (font_unparse_xlfd): Avoid potential buffer overrun on + 64-bit hosts. + (font_unparse_xlfd, font_unparse_fcname): Use pI to avoid casts. + * keyboard.c (record_char, modify_event_symbol): Use pI to avoid casts. + * print.c (safe_debug_print, print_object): Likewise. + (print_object): Don't overflow by converting EMACS_INT or EMACS_UINT + to int. + Use pI instead of if-then-else-abort. Use %p to avoid casts, + avoiding the 0 flag, which is not portable. + * process.c (Fmake_network_process): Use pI to avoid cast. + * region-cache.c (pp_cache): Likewise. + * xdisp.c (decode_mode_spec): Likewise. + * xrdb.c (x_load_resources) [USE_MOTIF]: Use pI to avoid undefined + behavior on 64-bit hosts with printf arg. + * xselect.c (x_queue_event): Use %p to avoid casts, avoiding 0 flag. + (x_stop_queuing_selection_requests): Likewise. + (x_get_window_property): Don't truncate byte count to an 'int' + when tracing. + + * frame.c (frame_name_fnn_p): Get rid of strtol, which isn't right + here, since it parses constructs like leading '-' and spaces, + which are not wanted; and it overflows with large numbers. + Instead, simply match F[0-9]+, which is what is wanted anyway. + + * alloc.c: Remove unportable assumptions about struct layout. + (SDATA_SELECTOR, SDATA_DATA_OFFSET): New macros. + (SDATA_OF_STRING, SDATA_SIZE, allocate_string_data): + (allocate_vectorlike, make_pure_vector): Use the new macros, + plus offsetof, to remove unportable assumptions about struct layout. + These assumptions hold on all porting targets that I know of, but + they are not guaranteed, they're easy to remove, and removing them + makes further changes easier. + + * alloc.c (BLOCK BYTES): Fix typo by changing "ablock" to "ablocks". + This doesn't fix a bug but makes the code clearer. + (string_overrun_cookie): Now const. Use initializers that + don't formally overflow signed char, to avoid warnings. + (allocate_string_data) [GC_CHECK_STRING_OVERRUN]: Fix typo that + can cause Emacs to crash when string overrun checking is enabled. + (allocate_buffer): Don't assume sizeof (struct buffer) is a + multiple of sizeof (EMACS_INT); it need not be, if + alignof(EMACS_INT) < sizeof (EMACS_INT). + (check_sblock, check_string_bytes, check_string_free_list): Protoize. + +2011-04-26 Juanma Barranquero + + * keyboard.c (QCrtl): Rename from Qrtl. All uses changed. + +2011-04-26 Teodor Zlatanov + + * gnutls.c (emacs_gnutls_handshake): Return an error if we're not + supposed to be handshaking. (Bug#8556) + Reported by Paul Eggert . + +2011-04-26 Daniel Colascione + + * lisp.h (Qdebug): List symbol. + * eval.c (Qdebug): Restore global linkage. + * keyboard.c (debug-on-event): New variable. + (handle_user_signal): Break into debugger when debug-on-event + matches the current signal symbol. + +2011-04-25 Dan Nicolaescu + + * alloc.c (check_sblock, check_string_bytes) + (check_string_free_list): Convert to standard C. + +2011-04-25 Teodor Zlatanov + + * w32.c (emacs_gnutls_push): Fix typo. + +2011-04-25 Eli Zaretskii + + * gnutls.c (emacs_gnutls_handshake): Avoid compiler warnings about + "cast to pointer from integer of different size". + + Improve doprnt and its use in verror. (Bug#8545) + * doprnt.c (doprnt): Document the set of format control sequences + supported by the function. Use SAFE_ALLOCA instead of always + using `alloca'. + + * eval.c (verror): Don't limit the buffer size at size_max-1, that + is one byte too soon. Don't use xrealloc; instead xfree and + xmalloc anew. + +2011-04-24 Teodor Zlatanov + + * gnutls.h: Add GNUTLS_STAGE_CALLBACKS enum to denote we're in the + callbacks stage. + + * gnutls.c: Renamed global_initialized to + gnutls_global_initialized. Added internals for the + :verify-hostname-error, :verify-error, and :verify-flags + parameters of `gnutls-boot' and documented those parameters in the + docstring. Start callback support. + (emacs_gnutls_handshake): Add Woe32 support. Retry handshake + unless a fatal error occurred. Call gnutls_alert_send_appropriate + on error. Return error code. + (emacs_gnutls_write): Call emacs_gnutls_handle_error. + (emacs_gnutls_read): Likewise. + (Fgnutls_boot): Return handshake error code. + (emacs_gnutls_handle_error): New function. + (wsaerror_to_errno): Likewise. + + * w32.h (emacs_gnutls_pull): Add prototype. + (emacs_gnutls_push): Likewise. - * 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. + * w32.c (emacs_gnutls_pull): New function for GnuTLS on Woe32. + (emacs_gnutls_push): Likewise. - * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type. +2011-04-24 Claudio Bley (tiny change) - * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k. + * process.c (wait_reading_process_output): Check if GnuTLS + buffered some data internally if no FDs are set for TLS + connections. -2007-08-29 Kalle Olavi Niemitalo (tiny change) + * makefile.w32-in (OBJ2): Add gnutls.$(O). + (LIBS): Link to USER_LIBS. + ($(BLD)/gnutls.$(0)): New target. - * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char): - Fix get_named_tty calls for the controlling tty. +2011-04-24 Eli Zaretskii -2007-08-29 ARISAWA Akihiro (tiny change) + * xdisp.c (handle_single_display_spec): Rename the + display_replaced_before_p argument into display_replaced_p, to + make it consistent with the commentary. Fix typos in the + commentary. - * term.c (dissociate_if_controlling_tty) [USG]: Fix parse error. + * textprop.c (syms_of_textprop): Remove dead code. + (copy_text_properties): Delete obsolete commentary about an + interface that was deleted long ago. Fix typos in the description + of arguments. -2007-08-29 Yoshiaki Kasahara (tiny change) + * msdos.c (XMenuActivate, XMenuAddSelection): Adjust argument list + to changes in oldXMenu/XMenu.h from 2011-04-16. + : Constify. + (IT_menu_make_room): menu->help_text is now `const char **'; + adjust. - * term.c (tty_insert_glyphs): Add missing first parameter. + * msdos.h (XMenuActivate, XMenuAddSelection): Adjust prototypes + to changes in oldXMenu/XMenu.h from 2011-04-16. + (struct XMenu): Declare `help_text' `const char **'. -2007-08-29 Károly Lőrentey + * xfaces.c : Make extern again. - * buffer.c (Fbuffer_list, Fbury_buffer): - Take frame->buried_buffer_list into account. + * syntax.c: Include sys/types.h before including regex.h, as + required by Posix. - * 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(). + * doc.c (get_doc_string): Improve the format passed to `error'. - * 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. + * doprnt.c (doprnt): Improve commentary. - * 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. + * term.c (init_tty) [MSDOS]: Fix 1st argument to maybe_fatal. - * 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. + * Makefile.in (TAGS): Depend on $(M_FILE) and $(S_FILE), and scan + them with etags. - * keymap.h (Fset_keymap_parent): Add EXFUN. + * makefile.w32-in (globals.h): Add a dummy recipe, to make any + changes in globals.h immediately force recompilation. + (TAGS): Depend on $(CURDIR)/m/intel386.h and + $(CURDIR)/s/ms-w32.h. + (TAGS-gmake): Scan $(CURDIR)/m/intel386.h and $(CURDIR)/s/ms-w32.h. - * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL) - * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): - Remove redundant definition. + * character.c (Fchar_direction): Function deleted. + (syms_of_character): Don't defsubr it. + : Deleted. - * macfns.c (x_set_mouse_color, x_make_gc): - Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL. +2011-04-23 Eli Zaretskii - * w32term.c (x_free_frame_resources): - Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL. - (w32_initialize): Use the accessor macros for terminal characteristics. + Fix doprnt so it could be used again safely in `verror'. (Bug#8435) + * doprnt.c: Include limits.h. + (SIZE_MAX): New macro. + (doprnt): Return a size_t value. 2nd arg is now size_t. + Many local variables are now size_t instead of int or unsigned. + Improve overflow protection. Support `l' modifier for integer + conversions. Support %l conversion. Don't assume an EMACS_INT + argument for integer conversions and for %c. - * 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. + * lisp.h (doprnt): Restore prototype. - * termopts.h (no_redraw_on_reenter): Declare. + * makefile.w32-in ($(BLD)/callint.$(O)): Depend on + $(SRC)/character.h. - * alloc.c (emacs_blocked_malloc): Disable mallopt call. - (mark_terminals, mark_ttys): Declare. - (Fgarbage_collect): Call them. - (mark_object): Mark buried_buffer_list. + * Makefile.in (base_obj): Add back doprnt.o. - * prefix-args.c: Include stdlib.h for exit. + * deps.mk (doprnt.o): Add back prerequisites. + (callint.o): Depend on character.h. - * syssignal.h: Add comment. + * eval.c (internal_lisp_condition_case): Include the handler + representation in the error message. + (verror): Call doprnt instead of vsnprintf. Fix an off-by-one bug + when breaking from the loop. - * indent.c: Include stdio.h. + * xdisp.c (vmessage): Call doprnt instead of vsnprintf. - * window.h (Vinitial_window_system): Declare. - (Vwindow_system): Delete declaration. + * callint.c (Fcall_interactively): When displaying error message + about invalid control letter, pass the character's codepoint, not + a pointer to its multibyte form. Improve display of the character + in octal and display also its hex code. - * fontset.c (Finternal_char_font): Use FRAME_RIF. + * character.c (char_string): Use %x to display the (unsigned) + codepoint of an invalid character, to avoid displaying a bogus + negative value. - * image.c (lookup_image): Don't initialize `c' until the xasserts - have been run. + * font.c (check_otf_features): Pass SDATA of SYMBOL_NAME to + `error', not SYMBOL_NAME itself. - * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and - FRAME_FOREGROUND_PIXEL. + * coding.c (Fencode_sjis_char, Fencode_big5_char): Use %c for + character arguments to `error'. - * print.c (print_preprocess): Don't lose print_depth levels while - iterating. + * charset.c (check_iso_charset_parameter): Fix incorrect argument + to `error' in error message about FINAL_CHAR argument. Make sure + FINAL_CHAR is a character, and use %c when it is passed as + argument to `error'. - * widget.c (update_from_various_frame_slots): - Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL. +2011-04-23 Eli Zaretskii - * 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. + * s/ms-w32.h (localtime): Redirect to sys_localtime. - * fileio.c (Fread_file_name): Update comment. + * w32.c: Include . + (sys_localtime): New function. - * 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. +2011-04-23 Chong Yidong - * 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. + * xdisp.c (init_xdisp): Initialize echo_area_window (Bug#6451). -2007-08-24 Jason Rumney + * buffer.c (syms_of_buffer): Doc fix (Bug#6902). - * 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. +2011-04-23 Samuel Thibault (tiny change) -2007-08-23 YAMAMOTO Mitsuharu + * sysdep.c (wait_for_termination): On GNU Hurd, kill returns -1 on + zombies (Bug#8467). - * 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). +2011-04-19 Eli Zaretskii - * image.c (svg_load_image): Blend with specified background if exists. - Use IMAGE_BACKGROUND. Add Mac OS Support. + * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Fix setting of + gl_state.e_property when gl_state.object is Qt. - * 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. + * insdel.c (make_gap_larger): Remove limitation of buffer size + to <= INT_MAX. -2007-08-22 Glenn Morris +2011-04-18 Chong Yidong - * image.c (x_find_image_file): Search in etc/images/ rather than etc/. + * xdisp.c (lookup_glyphless_char_display) + (produce_glyphless_glyph): Handle cons cell entry in + glyphless-char-display. + (Vglyphless_char_display): Document it. -2007-08-22 Paul Pogonyshev + * term.c (produce_glyphless_glyph): Handle cons cell entry in + glyphless-char-display. - * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS. +2011-04-17 Chong Yidong - * 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. + * xdisp.c (get_next_display_element): Remove unnecessary ifdefs. -2007-08-23 Stefan Monnier + * termhooks.h (FRAME_WINDOW_P): Remove duplicated definitions. - * lread.c (load_warn_old_style_backquotes): Fix up array size typo. + * dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P): Add missing + definition for no-X builds. -2007-08-22 Stefan Monnier +2011-04-16 Paul Eggert - * 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. + Static checks with GCC 4.6.0 and non-default toolkits. - * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare. + * s/sol2-6.h, s/unixware.h (PTY_TTY_NAME_SPRINTF): Protoize decl. - * 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. + * process.c (keyboard_bit_set): Define only if SIGIO. + (send_process_trap): Mark it with NO_RETURN if it doesn't return. + (send_process): Repair possible setjmp clobbering. -2007-08-22 Jason Rumney + * s/usg5-4-common.h (SETUP_SLAVE_PTY): Don't pass extra arg to 'fatal'. - * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator. + * eval.c: Include , for vsnprintf on non-GNU/Linux hosts. -2007-08-22 Katsumi Yamaoka + * data.c (arith_error): Mark with NO_RETURN if it doesn't return. - * puresize.h (BASE_PURESIZE): Increase to 1140000. + * alloc.c (bytes_used_when_full, SPARE_MEMORY, BYTES_USED): + Define only if needed. -2007-08-19 Richard Stallman + * sysdep.c (_FILE_OFFSET_BITS): Make this hack even uglier + by pacifying GCC about it. Maybe it's time to retire it? + * xfaces.c (USG, __TIMEVAL__): Likewise. - * eval.c (Ffunction, Fquote): Signal error if not 1 argument. + * dispextern.h (struct redisplay_interface): Rename param + to avoid shadowing. + * termhooks.h (struct terminal): Likewise. + * xterm.c (xembed_send_message): Likewise. -2007-08-19 Andreas Schwab + * insdel.c (make_gap_smaller): Define only if + USE_MMAP_FOR_BUFFERS || REL_ALLOC || DOUG_LEA_MALLOC. - * alloc.c (pure): Round PURESIZE up. + * keyboard.c (read_char): Make a var volatile so longjmp won't clobber + it. -2007-08-17 Jan Djärv + * emacs.c (MAX_HEAP_BSS_DIFF, my_edata): Move to where they're used, + so that we aren't warned about unused symbols. - * xterm.c (handle_one_xevent): Remove check that mouse click is in - active frame. + * xfns.c (Fx_file_dialog): Rename local to avoid shadowing. -2007-08-16 Richard Stallman + * xdisp.c (x_produce_glyphs): Mark var as initialized (Bug#8512). - * eval.c (Fcommandp): Add parens to clarify. + * xfns.c (x_real_positions): Mark locals as initialized. - * minibuf.c (Fall_completions): Use enum for type of table. + * xmenu.c (xmenu_show): Don't use uninitialized vars. - * emacs.c (USAGE2): Improve text. + * xterm.c: Fix problems found by static analysis with other toolkits. + (toolkit_scroll_bar_interaction): Define and use only if USE_X_TOOLKIT. + (x_dispatch_event): Declare static if USE_GTK, and + define if USE_GTK || USE_X_TOOLKIT. + (SET_SAVED_BUTTON_EVENT): Define only if USE_X_TOOLKIT || USE_GTK. + * xterm.h (x_dispatch_event): Extern only if USE_X_TOOLKIT. + * xterm.c, xterm.h (x_mouse_leave): Bring this function back, but only + if defined HAVE_MENUS && !defined USE_X_TOOLKIT && !defined USE_GTK. -2007-08-15 Philippe Waroquiers + * xmenu.c (menu_help_callback): Pointer type fixes. + Use const pointers when pointing at readonly data. Avoid pointer + signedness clashes. + (FALSE): Remove unused macro. + (update_frame_menubar): Remove unused decl. - * term.c (tty_default_color_capabilities): Declare static - variables in file scope, to avoid HPUX compiler problem. + * xfns.c (Fx_hide_tip): Move locals to avoid shadowing. -2007-08-13 Jan Djärv + * menu.c (push_submenu_start, push_submenu_end): Do not define unless + USE_X_TOOLKIT || USE_GTK || HAVE_NS || defined HAVE_NTGUI. + (single_menu_item): Rename local to avoid shadowing. - * gtkutil.c (update_frame_tool_bar): Use -1 as index - to gtk_toolbar_insert. + * keyboard.c (make_lispy_event): Remove unused local var. -2007-08-13 Stefan Monnier + * frame.c, frame.h (x_get_resource_string): Bring this back, but + only if HAVE_X_WINDOWS && !USE_X_TOOLKIT. - * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup. + * bitmaps: Change bitmaps from unsigned char back to the X11 + compatible char. Avoid the old compiler warnings about + out-of-range initializers by using, for example, '\xab' rather + than 0xab. - * 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. + * xgselect.c (xgselect_initialize): Check vs interface + even if ! (defined (USE_GTK) || defined (HAVE_GCONF)). -2007-08-11 YAMAMOTO Mitsuharu + * xmenu.c (xmenu_show): Rename parm to avoid shadowing. - * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when - filling pixmap with stippled background. + * xterm.c (x_create_toolkit_scroll_bar): Use const * for pointers + to read-only memory. -2007-08-10 YAMAMOTO Mitsuharu + * fns.c (vector): Remove; this old hack is no longer needed. - * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event): - Don't use invisible frame as parent window for repositioning. + * xsmfns.c (create_client_leader_window): Rename shadowing arg. + Remove unused var. + (gdk_x11_set_sm_client_id) [!USE_GTK]: Don't define. -2007-08-10 Stefan Monnier + * xrdb.c (x_load_resources): Omit unused local. - * 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. + * xfns.c (free_frame_menubar, atof): Remove duplicate decls. + (x_window): Rename locals to avoid shadowing. + (USG): Use the kludged USG macro, to pacify gcc. -2007-08-09 YAMAMOTO Mitsuharu + * xterm.c (x_alloc_nearest_color_for_widget): Remove; unused. + (x_term_init): Remove local to avoid shadowing. - * gmalloc.c (posix_memalign): New function. + * xfns.c, xterm.c (_XEditResCheckMessages): Protoize decl. - * 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. + * xdisp.c, dispextern.h (set_vertical_scroll_bar): Now extern if + USE_TOOLKIT_SCROLL_BARS && !USE_GTK, as xterm.c needs it then. -2007-08-08 Glenn Morris +2011-04-16 Eli Zaretskii - * Replace `iff' in doc-strings and comments. + * gnutls.c (Fgnutls_boot): Don't pass Lisp_Object to `error'. -2007-08-07 Chong Yidong + Fix regex.c, syntax.c and friends for buffers > 2GB. + * syntax.h (struct gl_state_s): Declare character position members + EMACS_INT. - * xdisp.c (move_it_by_lines): Remove incorrect optimization. + * syntax.c (update_syntax_table): Declare 2nd argument EMACS_INT. -2007-08-07 Martin Rudalics + * textprop.c (verify_interval_modification, interval_of): + Declare arguments EMACS_INT. - * 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. + * intervals.c (adjust_intervals_for_insertion): Declare arguments + EMACS_INT. -2007-08-07 YAMAMOTO Mitsuharu + * intervals.h (CHECK_TOTAL_LENGTH): Cast to EMACS_INT, not `int'. - * emacs.c (main) - [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]: - Call malloc_enable_thread on interactive startup. + * indent.c (Fvertical_motion): Local variable it_start is now + EMACS_INT. - * 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. + * regex.c (re_match, re_match_2, re_match_2_internal) + (bcmp_translate, regcomp, regexec, print_double_string) + (group_in_compile_stack, re_search, re_search_2, regex_compile) + (re_compile_pattern, re_exec): Declare arguments and local + variables `size_t' and `ssize_t' and return values `regoff_t', as + appropriate. + (POP_FAILURE_REG_OR_COUNT) : Declare `long'. + (CHECK_INFINITE_LOOP) : Declare `ssize_t'. + : `size' and `avail' are now `size_t'. -2007-08-06 Chong Yidong + * regex.h : Use ssize_t, not int. + (re_search, re_search_2, re_match, re_match_2): Arguments that + specify buffer/string position and length are now ssize_t and + size_t. Return type is regoff_t. - * xdisp.c (redisplay_window): When restoring original buffer - position, make sure it is still valid. +2011-04-16 Ben Key - * image.c (png_load): Ignore png-supplied background color. + * nsfont.m: Fixed bugs in ns_get_family and + ns_descriptor_to_entity that were caused by using free to + deallocate memory blocks that were allocated by xmalloc (via + xstrdup). This caused Emacs to crash when compiled with + XMALLOC_OVERRUN_CHECK defined (when Emacs was configured with + --enable-checking=xmallocoverrun). xfree is now used to + deallocate these memory blocks. + +2011-04-15 Paul Eggert + + * sysdep.c (emacs_read): Remove unnecessary check vs MAX_RW_COUNT. + + emacs_write: Accept and return EMACS_INT for sizes. + See http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00514.html + et seq. + * gnutls.c, gnutls.h (emacs_gnutls_read, emacs_gnutls_write): + Accept and return EMACS_INT. + (emacs_gnutls_write): Return the number of bytes written on + partial writes. + * sysdep.c, lisp.h (emacs_read, emacs_write): Likewise. + (emacs_read, emacs_write): Remove check for negative size, as the + Emacs source code has been audited now. + * sysdep.c (MAX_RW_COUNT): New macro, to work around kernel bugs. + (emacs_read, emacs_write): Use it. + * process.c (send_process): Adjust to the new signatures of + emacs_write and emacs_gnutls_write. Do not attempt to store + a byte offset into an 'int'; it might overflow. + See http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00483.html + + * sound.c: Don't assume sizes fit in 'int'. + (struct sound_device.period_size, alsa_period_size): + Return EMACS_INT, not int. + (struct sound_device.write, vox_write, alsa_write): + Accept EMACS_INT, not int. + (wav_play, au_play): Use EMACS_INT to store sizes and to + record read return values. + +2011-04-15 Ben Key + + * keyboard.c (Qundefined): Don't declare static since it is used + in nsfns.m. + * xfaces.c (Qbold, Qexpanded, Qitalic, Qcondensed): Don't declare + static since they are used in nsfont.m. + +2011-04-15 Stefan Monnier + + * process.c (Qprocessp): Don't declare static. + * lisp.h (Qprocessp): Declare again. + +2011-04-15 Juanma Barranquero + + * font.c (Qopentype): Don't make static (used from w32uniscribe.c). + +2011-04-14 Paul Eggert + + Improve C-level modularity by making more things 'static'. + + Don't publish debugger-only interfaces to other modules. + * lisp.h (safe_debug_print, debug_output_compilation_hack): + (verify_bytepos, count_markers): Move decls to the only modules + that need them. + * region-cache.h (pp_cache): Likewise. + * window.h (check_all_windows): Likewise. + * marker.c, print.c, region-cache.c, window.c: Decls moved here. + + * sysdep.c (croak): Now static, if + defined TIOCNOTTY || defined USG5 || defined CYGWIN. + * syssignal.h (croak): Declare only if not static. + + * alloc.c (refill_memory_reserve): Now static if + !defined REL_ALLOC || defined SYSTEM_MALLOC. + * lisp.h (refill_memory_reserve): Declare only if not static. + + * xsettings.c, xsettings.h (xsettings_get_system_normal_font): + Define only if USE_LUCID. + + * xrdb.c (x_customization_string, x_rm_string): Now static. + + * xmenu.c (x_menu_wait_for_event): Export only if USE_MOTIF. + * xterm.h (x_menu_wait_for_event): Declare only if USE_MOTIF. + + * xdisp.c (draw_row_with_mouse_face): Now static. + * dispextern.h (draw_row_with_mouse_fave): Remove decl. + + * window.h (check_all_windows): Mark externally visible. + + * window.c (window_deletion_count): Now static. + + * undo.c: Make symbols static if they're not exported. + (last_undo_buffer, last_boundary_position, pending_boundary): + Now static. -2007-08-06 YAMAMOTO Mitsuharu + * textprop.c (interval_insert_behind_hooks): Now static. + (interval_insert_in_front_hooks): Likewise. + + * term.c: Make symbols static if they're not exported. + (tty_turn_off_highlight, get_tty_terminal, max_frame_cols): + (max_frame_lines, tty_set_terminal_modes): + (tty_reset_terminal_modes, tty_turn_off_highlight): + (get_tty_terminal): Now static. + (term_mouse_moveto): Do not define if HAVE_WINDOW_SYSTEM. + * termhooks.h (term_mouse_moveto): Do not declare if + HAVE_WINDOW_SYSTEM. + * dispextern.h (tty_set_terminal_modes, tty_reset_terminal_modes): + (tty_turn_off_highlight, get_tty_terminal): Remove decls. + + * sysdep.c: Make symbols static if they're not exported. + (emacs_get_tty, emacs_set_tty, old_fcntl_flags, old_fcntl_owner): + Now static. + (sigprocmask_set, full_mask): Remove; unused. + (wait_debugging): Mark as visible. + * syssignal.h (SIGFULLMASK, full_mask): Remove decls. + * systty.h (emacs_get_tty, emacs_set_tty): Remove decls. + + * syntax.c (syntax_temp): Define only if !__GNUC__. + + * sound.c (current_sound_device, current_sound): Now static. + + * search.c (searchbufs, searchbuf_head): Now static. + + * scroll.c (scroll_cost): Remove; unused. + * dispextern.h (scroll_cost): Remove decl. + + * region-cache.h (pp_cache): Mark as externally visible. + + * process.c: Make symbols static if they're not exported. + (process_tick, update_tick, create_process, chan_process): + (Vprocess_alist, proc_buffered_char, datagram_access): + (fd_callback_data, send_process_frame, process_sent_to): Now static. + (deactivate_process): Mark defn as static, as well as decl. + * lisp.h (create_process): Remove decl. + * process.h (chan_process, Vprocess_alist): Remove decls. + + * print.c: Make symbols static if they're not exported. + (print_depth, new_backquote_output, being_printed, print_buffer): + (print_buffer_size, print_buffer_pos, print_buffer_pos_byte): + (print_interval, print_number_index, initial_stderr_stream): + Now static. + * lisp.h (Fprinc): Remove decl. + (debug_output_compilation_hack): Mark as externally visible. + + * sysdep.c (croak): Move decl from here to syssignal.h. + * syssignal.h (croak): Put it here, so the API can be checked when + 'croak' is called from dissociate_if_controlling_tty. + + * minibuf.c: Make symbols static if they're not exported. + (minibuf_save_list, choose_minibuf_frame): Now static. + * lisp.h (choose_minibuf_frame): Remove decl. + + * lisp.h (verify_bytepos, count_markers): Mark as externally visible. + + * lread.c: Make symbols static if they're not exported. + (read_objects, initial_obarray, oblookup_last_bucket_number): + Now static. + (make_symbol): Remove; unused. + * lisp.h (initial_obarray, make_symbol): Remove decls. + + * keyboard.c: Make symbols static if they're not exported. + (single_kboard, recent_keys_index, total_keys, recent_keys): + (this_command_key_count_reset, raw_keybuf, raw_keybuf_count): + (this_single_command_key_start, echoing, last_auto_save): + (read_key_sequence_cmd, dribble, recursive_edit_unwind): + (command_loop, echo_now, keyboard_init_hook, help_char_p): + (quit_throw_to_read_char, command_loop_2, top_level_1, poll_timer): + (Vlispy_mouse_stem, double_click_count): + Now static. + (force_auto_save_soon): Define only if SIGDANGER. + (ignore_mouse_drag_p): Now static if + !defined HAVE_WINDOW_SYSTEM || defined USE_GTK || defined HAVE_NS. + (print_help): Remove; unused. + (stop_character, last_timer_event): Mark as externally visible. + * keyboard.h (ignore_mouse_drag_p): Declare only if + defined HAVE_WINDOW_SYSTEM && !defined USE_GTK && !defined HAVE_NS. + (echo_now, help_char_p, quit_throw_to_read_char): Remove decls. + * lisp.h (echoing): Remove decl. + (force_auto_save_soon): Declare only if SIGDANGER. + * xdisp.c (redisplay_window): Simplify code, to make it more + obvious that ignore_mouse_drag_p is not accessed if !defined + USE_GTK && !defined HAVE_NS. + + * intervals.c: Make symbols static if they're not exported. + (merge_properties_sticky, merge_interval_right, delete_interval): + Now static. + * intervals.h (merge_interval_right, delete_interval): Remove decls. + + * insdel.c: Make symbols static if they're not exported. + However, leave prepare_to_modify_buffer alone. It's never + called from outside this function, but that appears to be a bug. + (combine_after_change_list, combine_after_change_buffer): + (adjust_after_replace, signal_before_change): Now static. + (adjust_after_replace_noundo): Remove; unused. + * lisp.h (adjust_after_replace, adjust_after_replace_noundo): + (signal_before_change): Remove decls. + + * indent.c (val_compute_motion, val_vmotion): Now static. + + * image.c: Make symbols static if they're not exported. + * dispextern.h (x_create_bitmap_from_xpm_data): Do not declare + if USE_GTK. + * image.c (x_create_bitmap_from_xpm_data): Do not define if USE_GTK. + (xpm_color_cache, ct_table, ct_colors_allocated): Now static. + + * fringe.c (standard_bitmaps): Now static. + (max_used_fringe_bitmap): Now static, unless HAVE_NS. + + * frame.c: Make symbols static if they're not exported. + (x_report_frame_params, make_terminal_frame): Now static. + (get_frame_param): Now static, unless HAVE_NS. + (x_fullscreen_adjust): Define if WINDOWSNT, not if HAVE_WINDOW_SYSTEM. + (x_get_resource_string): Remove; not used. + * frame.h (make_terminal_frame, x_report_frame_params): + (x_get_resource_string); Remove decls. + (x_fullscreen_adjust): Declare only if WINDOWSNT. + * lisp.h (get_frame_param): Declare only if HAVE_NS. + + * font.c, fontset.c: Make symbols static if they're not exported. + * dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P): New macro. + (FACE_SUITABLE_FOR_CHAR_P): Use it. + * font.c (font_close_object): Now static. + * font.h (font_close_object): Remove. + * fontset.c (FONTSET_OBJLIST): Remove. + (free_realized_fontset) #if-0 the body, which does nothing. + (face_suitable_for_char_p): #if-0, as it's never called. + * fontset.h (face_suitable_for_char_p): Remove decl. + * xfaces.c (face_at_string_position): + Use FACE_SUITABLE_FOR_ASCII_CHAR_P, not FACE_SUITABLE_FOR_CHAR_P, + since 0 is always ASCII. + + * fns.c (weak_hash_tables): Now static. + + * fileio.c: Make symbols static if they're not exported. + (auto_saving, auto_save_mode_bits, auto_save_error_occurred): + (Vwrite_region_annotation_buffers): Now static. + + * eval.c: Make symbols static if they're not exported. + (backtrace_list, lisp_eval_depth, when_entered_debugger): Now static. + * lisp.h (backtrace_list): Remove decl. + + * emacs.c: Make symbols static if they're not exported. + (malloc_state_ptr, malloc_using_checking, syms_of_emacs): + (fatal_error_code, fatal_error_signal_hook, standard_args): + Now static. + (fatal_error_signal): Now static, unless FLOAT_CATCH_SIGKILL. + (DEFINE_DUMMY_FUNCTION): Mark function as externally visible. + (__CTOR_LIST__, __DTOR_LIST__): Now externally visible. + * lisp.h (fatal_error_signal_hook): Remove decl. + (fatal_error_signal): Declare only if FLOAT_CATCH_SIGKILL. + + * editfns.c: Move a (normally-unused) function to its only use. + * editfns.c, lisp.h (get_operating_system_release): Remove. + * process.c (init_process) [DARWIN_OS]: Do it inline, as it is not + worth the hassle of breaking this out. + + * xterm.c: Make symbols static if they're not exported. + (x_raise_frame, x_lower_frame, x_wm_set_window_state): + (x_wm_set_icon_pixmap, x_initialize, XTread_socket_fake_io_error): + (x_destroy_window, x_delete_display): + Now static. + (x_dispatch_event): Now static if ! (USE_MOTIF || USE_X_TOOLKIT). + (x_mouse_leave): Remove; unused. + * xterm.h (x_display_info_for_name, x_raise_frame, x_lower_frame): + (x_destroy_window, x_wm_set_window_state, x_wm_set_icon_pixmap): + (x_delete_display, x_initialize, x_set_border_pixel, x_screen_planes): + Remove decls. + (x_mouse_leave): Declare only if WINDOWSNT. + (x_dispatch_event): Declare only if USE_MOTIF or USE_X_TOOLKIT. + (xic_create_fontsetname): Declare only if HAVE_X_WINDOWS && + USE_X_TOOLKIT. + + * ftxfont.c: Make symbols static if they're not exported. + (ftxfont_driver): Export only if !defined HAVE_XFT && def8ined + HAVE_FREETYPE. + * font.h (ftxfont_driver): Likewise. + + * xfns.c: Make symbols static if they're not exported. + (x_last_font_name, x_display_info_for_name): + (x_set_foreground_color, x_set_background_color, x_set_mouse_color): + (x_set_cursor_color, x_set_border_pixel, x_set_border_color): + (x_set_cursor_type, x_set_icon_type, x_set_icon_name): + (x_set_scroll_bar_foreground, x_set_scroll_bar_background): + (x_explicitly_set_name, x_set_title, xic_defaut_fontset, tip_timer): + (last_show_tip_args): Now static. + (xic_defaut_fontset, xic_create_fontsetname): Define only if + defined HAVE_X_WINDOWS && defined USE_X_TOOLKIT + (x_screen_planes): Remove; unused. + * dispextern.h (x_screen_planes): Remove decl. + + * dispnew.c: Make symbols static if they're not exported. + * dispextern.h (redraw_garbaged_frames, scrolling): + (increment_row_positions): Remove. + * dispnew.c (new_glyph_matrix, increment_row_positions, scrolling): + (delayed_size_change, glyph_matrix_count, glyph_pool_count): + Now static. + (redraw_garbaged_frames): Remove; unused. + + * xfaces.c: Make symbols static if they're not exported. + * dispextern.h (ascii_face_of_lisp_face, free_realized_face): + Remove decls. + * xterm.h (defined_color): Remove decls. + (x_free_dpy_colors): Declare only if USE_X_TOOLKIT. + * xfaces.c (tty_suppress_bold_inverse_default_colors_p): + (menu_face_changed_default, defined_color, free_realized_face): + (x_free_dpy_colors): Define only if USE_X_TOOLKIT. + (ascii_face_of_lisp_face): Remove; unused. + + * xdisp.c: Make symbols static if they're not exported. + * dispextern.h (scratch_glyph_row, window_box_edges): + (glyph_to_pixel_coords, set_cursor_from_row): + (get_next_display_element, set_iterator_to_next): + (highlight_trailing_whitespace, frame_to_window_pixel_xy): + (show_mouse_face): Remove decls + * frame.h (message_buf_print): Likewise. + * lisp.h (pop_message, set_message, check_point_in_composition): + Likewise. + * xterm.h (set_vertical_scroll_bar): Likewise. + * xdisp.c (list_of_error, Vmessage_stack, line_number_displayed): + (message_buf_print, scratch_glyph_row, displayed_buffer): + (set_iterator_to_next, pop_message, set_message, set_cursor_from_row): + (get_next_display_element, show_mouse_face, window_box_edges): + (frame_to_window_pixel_xy, check_point_in_composition): + (set_vertical_scroll_bar, highlight_trailing_whitespace): Now static. + (glyph_to_pixel_coords): Remove; unused. + + * dired.c (file_name_completion): Now static. + + * dbusbind.c (xd_in_read_queued_messages): Now static. + + * lisp.h (circular_list_error, FOREACH): Remove; unused. + * data.c (circular_list_error): Remove. + + * commands.h (last_point_position, last_point_position_buffer): + (last_point_position_window): Remove decls. + * keyboard.c: Make these variables static. + + * coding.h (coding, code_convert_region, encode_coding_gap): + Remove decls. + * coding.c (Vsjis_coding_system, Vbig5_coding_system): + (iso_code_class, detect_coding, code_convert_region): Now static. + (encode_coding_gap): Remove; unused. + + * chartab.c (chartab_chars, chartab_bits): Now static. + + * charset.h (charset_iso_8859_1): Remove decl. + * charset.c (charset_iso_8859_1, charset_emacs, map_charset_for_dump): + Now static. + + * ccl.h (check_ccl_update, Vccl_program_table): Remove decls. + * ccl.c (Vccl_program_table): Now static. + (check_ccl_update): Remove; unused. + + * category.c (SET_CATEGORY_SET, set_category_set): Move here. + * category.h: ... from here. + * category.c (check_category_table, set_category_set): Now static. + + * casetab.c (Vascii_upcase_table, Vascii_eqv_table): Now static. + * lisp.h: Remove these decls. + + * buffer.c (buffer_count): Remove unused var. + + * bidi.c (bidi_dump_cached_states): Mark as externally visible, + so that it's not optimized away. + (bidi_ignore_explicit_marks_for_paragraph_level): Likewise. + * dispextern.h (bidi_dump_cached_states): Remove, since it's + exported only to the debugger. + + * atimer.c (alarm_signal_handler, run_all_atimers): Now static. + * atimer.h (run_all_atimers): Remove; not exported. + + font.c: Make copy_font_spec and merge_font_spec ordinary C functions. + * font.c (copy_font_spec): Rename from Fcopy_font_spec, since it + was inaccessible from Lisp. + (merge_font_spec): Likewise, renaming from Fmerge_font_spec. + * font.c, font.h, fontset.c, xfaces.c, xfont.c: Change all uses. + + alloc.c: Import and export fewer symbols, and remove unused items. + * lisp.h (suppress_checking, die): Declare only if ENABLE_CHECKING + is defined. + (suppress_checking): Add EXTERNALLY_VISIBLE attribute, so that + it's not optimized away by whole-program optimization. + (message_enable_multibyte, free_misc): Remove. + (catchlist, handlerlist, mark_backtrace): + Declare only if BYTE_MARK_STACK. + (mark_byte_stack): Likewise, fixing a ifdef-vs-if typo. + * alloc.c (pure): Export only if VIRT_ADDR_VARIES is defined. + (message_enable_multibyte): Remove decl. + (free_misc, interval_free_list, float_block, float_block_index): + (n_float_blocks, float_free_list, cons_block, cons_block_index): + (cons_free_list, last_marked_index): + Now static. + (suppress_checking, die): Define only if ENABLE_CHECKING is defined. + * eval.c (catchlist, handlerlist): Export only if BYTE_MARK_STACK. + (mark_backtrace): Define only if BYTE_MARK_STACK. + * xdisp.c (message_enable_multibyte): Now static. + + Declare Lisp_Object Q* variables to be 'static' if not exported. + This makes it easier for human readers (and static analyzers) + to see whether these variables are used from other modules. + * alloc.c, buffer.c, bytecode.c, callint.c, casetab.c, category.c: + * ccl.c, character.c, charset.c, cmds.c, coding.c, composite.c: + * data.c, dbusbind.c, dired.c, editfns.c, eval.c, fileio.c, fns.c: + * font.c, frame.c, fringe.c, ftfont.c, image.c, keyboard.c, keymap.c: + * lread.c, macros.c, minibuf.c, print.c, process.c, search.c: + * sound.c, syntax.c, textprop.c, window.c, xdisp.c, xfaces.c, xfns.c: + * xmenu.c, xselect.c: + Declare Q* vars static if they are not used in other modules. + * ccl.h, character.h, charset.h, coding.h, composite.h, font.h: + * frame.h, intervals.h, keyboard.h, lisp.h, process.h, syntax.h: + Remove decls of unexported vars. + * keyboard.h (EVENT_HEAD_UNMODIFIED): Remove now-unused macro. + + * lisp.h (DEFINE_FUNC): Make sname 'static'. + + Make Emacs functions such as Fatom 'static' by default. + This makes it easier for human readers (and static analyzers) + to see whether these functions can be called from other modules. + DEFUN now defines a static function. To make the function external + so that it can be used in other C modules, use the new macro DEFUE. + * lisp.h (Funibyte_char_to_multibyte, Fsyntax_table_p): + (Finit_image_library): + (Feval_region, Fbacktrace, Ffetch_bytecode, Fswitch_to_buffer): + (Ffile_executable_p, Fmake_symbolic_link, Fcommand_execute): + (Fget_process, Fdocumentation_property, Fbyte_code, Ffile_attributes): + Remove decls, since these functions are now static. + (Funintern, Fget_internal_run_time): New decls, since these functions + were already external. + + * alloc.c, buffer.c, callint.c, callproc.c, casefiddle.c, casetab.c: + * ccl.c, character.c, chartab.c, cmds.c, coding.c, data.c, dispnew.c: + * doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, floatfns.c: + * fns.c, font.c, fontset.c, frame.c, image.c, indent.c: + * keyboard.c, keymap.c, lread.c: + * macros.c, marker.c, menu.c, minibuf.c, print.c, process.c, search.c: + * syntax.c, term.c, terminal.c, textprop.c, undo.c: + * window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xsettings.c: + Mark functions with DEFUE instead of DEFUN, + if they are used in other modules. + * buffer.c (Fset_buffer_major_mode, Fdelete_overlay): New forward + decls for now-static functions. + * buffer.h (Fdelete_overlay): Remove decl. + * callproc.c (Fgetenv_internal): Mark as internal. + * composite.c (Fremove_list_of_text_properties): Remove decl. + (Fcomposition_get_gstring): New forward static decl. + * composite.h (Fcomposite_get_gstring): Remove decl. + * dired.c (Ffile_attributes): New forward static decl. + * doc.c (Fdocumntation_property): New forward static decl. + * eval.c (Ffetch_bytecode): New forward static decl. + (Funintern): Remove extern decl; now in .h file where it belongs. + * fileio.c (Fmake_symbolic_link): New forward static decl. + * image.c (Finit_image_library): New forward static decl. + * insdel.c (Fcombine_after_change_execute): Make forward decl static. + * intervals.h (Fprevious_property_change): + (Fremove_list_of_text_properties): Remove decls. + * keyboard.c (Fthis_command_keys): Remove decl. + (Fcommand_execute): New forward static decl. + * keymap.c (Flookup_key): New forward static decl. + (Fcopy_keymap): Now static. + * keymap.h (Flookup_key): Remove decl. + * process.c (Fget_process): New forward static decl. + (Fprocess_datagram_address): Mark as internal. + * syntax.c (Fsyntax_table_p): New forward static decl. + (skip_chars): Remove duplicate decl. + * textprop.c (Fprevious_property_change): New forward static decl. + * window.c (Fset_window_fringes, Fset_window_scroll_bars): + Now internal. + (Fset_window_margins, Fset_window_vscroll): New forward static decls. + * window.h (Fset_window_vscroll, Fset_window_margins): Remove decls. + + * editfns.c (Fformat): Remove unreachable code. + +2011-04-14 Andreas Schwab + + * fileio.c (Finsert_file_contents): Fix typo in 2005-05-13 + change. (Bug#8496) + +2011-04-13 Eli Zaretskii + + * xdisp.c (handle_invisible_prop): Don't call bidi_paragraph_init + when at ZV. (Bug#8487) + +2011-04-12 Andreas Schwab + + * charset.c (Fclear_charset_maps): Use xfree instead of free. + (Bug#8437) + * keyboard.c (parse_tool_bar_item): Likewise. + * sound.c (sound_cleanup, alsa_close): Likewise. + * termcap.c (tgetent): Likewise. + * xfns.c (x_default_font_parameter): Likewise. + * xsettings.c (read_and_apply_settings): Likewise. + + * alloc.c (overrun_check_malloc, overrun_check_realloc) + (overrun_check_free): Protoize. + +2011-04-12 Paul Eggert + + * sysdep.c (emacs_read, emacs_write): Check for negative sizes + since callers should never pass a negative size. + Change the signature to match that of plain 'read' and 'write'; see + . + * lisp.h: Update prototypes of emacs_write and emacs_read. + +2011-04-11 Eli Zaretskii + + * xdisp.c (redisplay_window): Don't try to determine the character + position of the scroll margin if the window start point w->startp + is outside the buffer's accessible region. (Bug#8468) + +2011-04-10 Eli Zaretskii + + Fix write-region and its subroutines for buffers > 2GB. + * fileio.c (a_write, e_write): Modify declaration of arguments and + local variables to support buffers larger than 2GB. + (Fcopy_file): Use EMACS_INT for return value of emacs_read. + + * sysdep.c (emacs_write, emacs_read): Use ssize_t for last + argument, local variables, and return value. + + * lisp.h: Update prototypes of emacs_write and emacs_read. + + * sound.c (vox_write): Use ssize_t for return value of emacs_write. + +2011-04-10 Paul Eggert + + * xdisp.c (vmessage): Use memchr, not strnlen, which some hosts lack. + + Fix more problems found by GCC 4.6.0's static checks. + + * xdisp.c (vmessage): Use a better test for character truncation. + + * charset.c (load_charset_map): <, not <=, for optimization, + and to avoid potential problems with integer overflow. + * chartab.c (sub_char_table_set_range, char_table_set_range): Likewise. + * casetab.c (set_identity, shuffle): Likewise. + * editfns.c (Fformat): Likewise. + * syntax.c (skip_chars): Likewise. + + * xmenu.c (set_frame_menubar): Allocate smaller local vectors. + This also lets GCC 4.6.0 generate slightly better loop code. + + * callint.c (Fcall_interactively): <, not <=, for optimization. + (Fcall_interactively): Count the number of arguments produced, + not the number of arguments given. This is simpler and lets GCC + 4.6.0 generate slightly better code. + + * ftfont.c: Distingish more carefully between FcChar8 and char. + The previous code passed unsigned char * to a functions like + strlen and xstrcasecmp that expect char *, which does not + conform to the C standard. + (get_adstyle_property, ftfont_pattern_entity): Use FcChar8 for + arguments to FcPatternGetString, and explicitly cast FcChar8 * to + char * when the C standard requires it. - * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value. - Use kCFAbsoluteTimeIntervalSince1970. + * keyboard.c (read_char): Remove unused var. - * 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. + * eval.c: Port to Windows vsnprintf (Bug#8435). + Include . + (SIZE_MAX): Define if the headers do not. + (verror): Do not give up if vsnprintf returns a negative count. + Instead, grow the buffer. This ports to Windows vsnprintf, which + does not conform to C99. Problem reported by Eli Zaretskii. + Also, simplify the allocation scheme, by avoiding the need for + calling realloc, and removing the ALLOCATED variable. - * 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. + * eval.c (verror): Initial buffer size is 4000 (not 200) bytes. -2007-08-04 Jan Djärv + Remove invocations of doprnt, as Emacs now uses vsnprintf. + But keep the doprint source code for now, as we might revamp it + and use it again (Bug#8435). + * lisp.h (doprnt): Remove. + * Makefile.in (base_obj): Remove doprnt.o. + * deps.mk (doprnt.o): Remove. - * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s, - add comment explaining why. + error: Print 32- and 64-bit integers portably (Bug#8435). + Without this change, on typical 64-bit hosts error ("...%d...", N) + was used to print both 32- and 64-bit integers N, which relied on + undefined behavior. + * lisp.h, src/m/amdx86-64.h, src/m/ia64.h, src/m/ibms390x.h (pEd): + New macro. + * lisp.h (error, verror): Mark as printf-like functions. + * eval.c (verror): Use vsnprintf, not doprnt, to do the real work. + Report overflow in size calculations when allocating printf buffer. + Do not truncate output string at its first null byte. + * xdisp.c (vmessage): Use vsnprintf, not doprnt, to do the real work. + Truncate the output at a character boundary, since vsnprintf does not + do that. + * charset.c (check_iso_charset_parameter): Convert internal + character to string before calling 'error', since %c now has the + printf meaning. + * coding.c (Fdecode_sjis_char, Fdecode_big5_char): Avoid int + overflow when computing char to be passed to 'error'. Do not + pass Lisp_Object to 'error'; pass the integer instead. + * nsfns.m (Fns_do_applescript): Use int, not long, since it's + formatted with plain %d. -2007-08-03 Richard Stallman + * eval.c (internal_lisp_condition_case): Don't pass spurious arg. - * fileio.c (Fvisited_file_modtime): Use make_time. + * keyboard.c (access_keymap_keyremap): Print func name, not garbage. -2007-08-01 Ryo Yoshitake (tiny change) + * coding.c (Fdecode_sjis_char): Don't assume CODE fits in int. - * mac.c (init_mac_osx_environment): Adjust load-path on self-contained - build. + * xterm.c (x_catch_errors): Remove duplicate declaration. -2007-07-31 Stefan Monnier + * term.c (maybe_fatal): Mark its 3rd arg as a printf format, too. - * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT. + * xdisp.c, lisp.h (message_nolog): Remove; unused. -2007-07-30 Katsumi Yamaoka +2011-04-10 Jim Meyering - * puresize.h (BASE_PURESIZE): Increase to 1130000. + use ssize_t and size_t for read- and write-like emacs_gnutls_* functions + * gnutls.c (emacs_gnutls_read): Adjust signature to be more read-like: + return ssize_t not "int", and use size_t as the buffer length. + (emacs_gnutls_write): Likewise, and make the buffer pointer "const". + * gnutls.h: Update declarations. + * process.c (read_process_output): Use ssize_t, to match. + (send_process): Likewise. -2007-07-30 Richard Stallman +2011-04-09 Chong Yidong - * lread.c (readevalloop, read1): Treat NBSP as whitespace. + * image.c (Fimagemagick_types): Doc fix, and comment cleanup. -2007-07-29 Jan Djärv +2011-04-09 Chong Yidong + + * ftfont.c (get_adstyle_property, ftfont_pattern_entity): + Use unsigned char, to match FcChar8 type definition. - * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed. + * xterm.c (handle_one_xevent): + * xmenu.c (create_and_show_popup_menu): + * xselect.c (x_decline_selection_request) + (x_reply_selection_request): Avoid type-punned deref of X events. -2007-07-28 Nick Roberts +2011-04-09 Eli Zaretskii - * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for - remote default-directory. + Fix some uses of `int' instead of EMACS_INT. + * search.c (string_match_1, fast_string_match) + (fast_c_string_match_ignore_case, fast_string_match_ignore_case) + (scan_buffer, find_next_newline_no_quit) + (find_before_next_newline, search_command, Freplace_match) + (Fmatch_data): Make some `int' variables be EMACS_INT. - * buffer.c (mode-line-format): Update doc string. + * xdisp.c (display_count_lines): 3rd argument and return value now + EMACS_INT. All callers changed. + (pint2hrstr): Last argument is now EMACS_INT. -2007-07-27 YAMAMOTO Mitsuharu + * coding.c (detect_coding_utf_8, detect_coding_emacs_mule) + (detect_coding_iso_2022, detect_coding_sjis, detect_coding_big5) + (detect_coding_ccl, detect_coding_charset, 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) + : Declare EMACS_INT. + (decode_coding_iso_2022, decode_coding_emacs_mule) + (decode_coding_sjis, decode_coding_big5, decode_coding_charset) + : Declare EMACS_INT. + (encode_coding_utf_8, encode_coding_utf_16) + (encode_coding_emacs_mule, encode_invocation_designation) + (encode_designation_at_bol, encode_coding_iso_2022) + (encode_coding_sjis, encode_coding_big5, encode_coding_ccl) + (encode_coding_raw_text, encode_coding_charset) : + Declare EMACS_INT. + (ASSURE_DESTINATION): Declare more_bytes EMACS_INT. + (encode_invocation_designation): Last argument P_NCHARS is now + EMACS_INT. + (decode_eol): Declare pos_byte, pos, and pos_end EMACS_INT. + (produce_chars): from_nchars and to_nchars are now EMACS_INT. - * 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. + * coding.h (struct coding_system) : Declare EMACS_INT. + All users changed. - * w32term.h (struct scroll_bar): New member fringe_extended_p. - (w32_fill_area): Enclose multiple statements with do ... while (0). + * ccl.c (Fccl_execute_on_string): Declare some variables + EMACS_INT. - * 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. +2011-04-08 Samuel Thibault (tiny change) - * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: - New member fringe_extended_p. + * term.c (init_tty): Fix incorrect ifdef placement (Bug#8450). -2007-07-25 Glenn Morris +2011-03-19 Christoph Scholtes - * Relicense all FSF files to GPLv3 or later. + * process.c (Fformat_network_address): Doc fix. - * COPYING: Switch to GPLv3. +2011-04-08 T.V. Raman (tiny change) -2007-07-25 Stefan Monnier + * xml.c (parse_region): Avoid creating spurious whiespace nodes. - * eval.c (Fcommandp): Pay attention to the `interactive-form' property. +2011-04-08 Chong Yidong - * data.c (Finteractive_form): Check for the presence of an - `interactive-form' symbol property more thoroughly. + * keyboard.c (read_char): Call Lisp function help-form-show, + instead of using internal_with_output_to_temp_buffer. + (Qhelp_form_show): New var. + (syms_of_keyboard): Use DEFSYM macro. - * data.c (Finteractive_form): Use an `interactive-form' property if - present, analogous to the function-documentation property. + * print.c (internal_with_output_to_temp_buffer): Function deleted. -2007-07-24 Jason Rumney + * lisp.h (internal_with_output_to_temp_buffer): Remove prototype. - * w32fns.c (x_real_positions): Get real position from OS instead of - calculating it. +2011-04-06 Chong Yidong -2007-07-23 Jason Rumney + * process.c (Flist_processes): Remove to Lisp. + (list_processes_1): Delete. - * filelock.c (current_lock_owner): Allow for @ sign in username. +2011-04-06 Eli Zaretskii -2007-07-22 Nick Roberts + * msdos.c (careadlinkat, careadlinkatcwd): MS-DOS replacements. - * xdisp.c (decode_mode_spec): Add case 'R' for to test for - remote default-directory. + * w32.c (careadlinkat, careadlinkatcwd): New always-fail stubs. - * buffer.c (mode-line-format): Describe above case in doc string. +2011-04-06 Paul Eggert -2007-07-20 Eli Zaretskii + Fix more problems found by GCC 4.6.0's static checks. - * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32): - Define if not defined. + * xmenu.c (Fx_popup_dialog): Don't assume string is free of formats. -2007-07-18 Jason Rumney + * menu.c (Fx_popup_menu): Don't assume error_name lacks printf formats. - * w32proc.c (w32_executable_type): Handle 64 bit executables. + * lisp.h (message, message_nolog, fatal): Mark as printf-like. -2007-07-18 Richard Stallman + * xdisp.c (vmessage): Mark as a printf-like function. - * data.c (Fsetq_default): Doc fix. + * term.c (vfatal, maybe_fatal): Mark as printf-like functions. - * eval.c (Fsetq): Doc fix. + * sound.c (sound_warning): Don't crash if arg contains a printf format. -2007-07-18 Juanma Barranquero + * image.c (tiff_error_handler, tiff_warning_handler): Mark as + printf-like functions. + (tiff_load): Add casts to remove these marks before passing them + to system-supplied API. - * coding.c (Ffind_operation_coding_system): - * eval.c (For, Fand): Doc fixes. - Reported by Johan Bockgård. + * eval.c (Fsignal): Remove excess argument to 'fatal'. -2007-07-18 Jan Djärv + * coding.c (EMIT_ONE_BYTE, EMIT_TWO_BYTES): Use unsigned, not int. + This avoids several warnings with gcc -Wstrict-overflow. + (DECODE_COMPOSITION_RULE): If the rule is invalid, goto invalid_code + directly, rather than having caller test rule sign. This avoids + some unnecessary tests. + * composite.h (COMPOSITION_ENCODE_RULE_VALID): New macro. + (COMPOSITION_ENCODE_RULE): Arguments now must be valid. This + affects only one use, in DECODE_COMPOSITION_RULE, which is changed. - * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame. + * xfont.c (xfont_text_extents): Remove var that was set but not used. + (xfont_open): Avoid unnecessary tests. - * xterm.h: Declare x_ewmh_activate_frame. + * composite.c (composition_gstring_put_cache): Use unsigned integer. - * xterm.c (x_ewmh_activate_frame): New function. - (XTframe_raise_lower): Move code to x_ewmh_activate_frame. + * composite.h, composite.c (composition_gstring_put_cache): + Use EMACS_INT, not int, for length. -2007-07-17 Martin Rudalics + * composite.h (COMPOSITION_DECODE_REFS): New macro, + breaking out part of COMPOSITION_DECODE_RULE. + (COMPOSITION_DECODE_RULE): Use it. + * composite.c (get_composition_id): Remove unused local vars, + by using the new macro. - * 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. + * textprop.c (set_text_properties_1): Change while to do-while, + since the condition is always true at first. -2007-07-17 Glenn Morris + * intervals.c (graft_intervals_into_buffer): Mark var as used. + (interval_deletion_adjustment): Return unsigned value. + All uses changed. - * 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. + * process.c (list_processes_1, create_pty, read_process_output): + (exec_sentinel): Remove vars that were set but not used. + (create_pty): Remove unnecessary "volatile"s. + (Fnetwork_interface_info): Avoid possibility of int overflow. + (read_process_output): Do adaptive read buffering even if carryover. + (read_process_output): Simplify nbytes computation if buffered. -2007-07-17 Stefan Monnier + * bytecode.c (exec_byte_code): Rename local to avoid shadowing. - * process.c (Fstart_process, Fmake_network_process) - (read_process_output): Fix up last changes. + * syntax.c (scan_words): Remove var that was set but not used. + (update_syntax_table): Use unsigned instead of int. -2007-07-16 Eli Zaretskii + * lread.c (lisp_file_lexically_bound_p): Use ints rather than endptrs. + (lisp_file_lexically_bound_p, read1): Use unsigned instead of int. + (safe_to_load_p): Make the end-of-loop test the inverse of the in-loop. - * makefile.w32-in (clean): Don't delete *~. + * print.c (print_error_message): Avoid int overflow. -2007-07-16 Andreas Schwab + * font.c (font_list_entities): Redo for clarity, + so that reader need not know FONT_DPI_INDEX + 1 == FONT_SPACING_INDEX. - * window.c (Fdisplay_buffer): Use NILP. - (Fset_window_scroll_bars): Likewise. + * font.c (font_find_for_lface, Ffont_get_glyphs): Remove unused vars. + (font_score): Avoid potential overflow in diff calculation. -2007-07-15 Martin Rudalics + * fns.c (substring_both): Remove var that is set but not used. + (sxhash): Redo loop for clarity and to avoid wraparound warning. - * 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. + * eval.c (funcall_lambda): Rename local to avoid shadowing. - * window.h: Add EXFUN for Fwindow_full_width_p. + * alloc.c (mark_object_loop_halt, mark_object): Use size_t, not int. + Otherwise, GCC 4.6.0 optimizes the loop check away since the check + can always succeed if overflow has undefined behavior. -2007-07-14 Jason Rumney + * search.c (boyer_moore, wordify): Remove vars set but not used. + (wordify): Omit three unnecessary tests. - * process.c [WINDOWSNT]: Don't undefine AF_INET6. + * indent.c (MULTIBYTE_BYTES_WIDTH): Don't compute wide_column. + All callers changed. This avoids the need for an unused var. -2007-07-14 Richard Stallman + * casefiddle.c (casify_region): Remove var that is set but not used. - * 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. + * dired.c (file_name_completion): Remove var that is set but not used. -2007-07-14 Juanma Barranquero + * fileio.c (Finsert_file_contents): Make EOF condition clearer. - * eval.c (Fprogn): - * keyboard.c (Ftrack_mouse): - * print.c (Fwith_output_to_temp_buffer): - * window.c (Fsave_window_excursion): Doc fix. + * fileio.c (Finsert_file_contents): Avoid signed integer overflow. + (Finsert_file_contents): Remove unnecessary code checking fd. -2007-07-13 Stefan Monnier + * minibuf.c (read_minibuf_noninteractive): Use size_t for sizes. + Check for integer overflow on size calculations. - * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400. + * buffer.c (Fprevious_overlay_change): Remove var that is set + but not used. -2007-07-12 Stefan Monnier + * keyboard.c (menu_bar_items, read_char_minibuf_menu_prompt): + Remove vars that are set but not used. + (timer_check_2): Don't assume timer-list and idle-timer-list are lists. + (timer_check_2): Mark vars as initialized. - * 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. + * gtkutil.c (xg_get_file_with_chooser): Mark var as initialized. -2007-07-12 Richard Stallman + * image.c (lookup_image): Remove var that is set but not used. + (xbm_load): Use parse_p, for gcc -Werror=unused-but-set-variable. - * term.c: Include unistd.h only if HAVE_UNISTD_H. + * fontset.c (Finternal_char_font, Ffontset_info): Remove vars + that are set but not used. -2007-07-11 Jason Rumney + * xfns.c (make_invisible_cursor): Don't return garbage + if XCreateBitmapFromData fails (Bug#8410). - * makefile.w32-in (LIBS): Include OLE32. + * xselect.c (x_get_local_selection, x_handle_property_notify): + Remove vars that are set but not used. - * w32fns.c (w32_msg_pump) : Initialize COM. - (w32_msg_pump) : Uninitialize COM. + * xfns.c (x_create_tip_frame): Remove var that is set but not used. + (make_invisible_cursor): Initialize a possibly-uninitialized variable. -2007-07-11 Stefan Monnier + * xterm.c (x_scroll_bar_to_input_event) [!USE_GTK]: + Remove var that is set but not used. + (scroll_bar_windows_size): Now size_t, not int. + (x_send_scroll_bar_event): Use size_t, not int, for sizes. + Check for overflow. - * 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. + * xfaces.c (realize_named_face): Remove vars that are set but not used. + (map_tty_color) [!defined MSDOS]: Likewise. - * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'. + * term.c (tty_write_glyphs): Use size_t; this avoids overflow warning. - * 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. + * coding.c: Remove vars that are set but not used. + (DECODE_COMPOSITION_RULE): Remove 2nd arg, which is unused. + All callers changed. + (decode_coding_utf_8, decode_coding_utf_16 decode_coding_emacs_mule): + (decode_coding_iso_2022, encode_coding_sjis, encode_coding_big5): + (decode_coding_charset): Remove vars that are set but not used. -2007-07-10 Stefan Monnier + * bytecode.c (Fbyte_code) [!defined BYTE_CODE_SAFE]: Remove var + that is set but not used. - * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using - USE_LSB_TAG. Suggested by Dmitry Antipov . + * print.c (print_object): Remove var that is set but not used. - * 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. + Replace 2 copies of readlink code with 1 gnulib version (Bug#8401). + The gnulib version avoids calling malloc in the usual case, + and on 64-bit hosts doesn't have some arbitrary 32-bit limits. + * fileio.c (Ffile_symlink_p): Use emacs_readlink. + * filelock.c (current_lock_owner): Likewise. + * lisp.h (READLINK_BUFSIZE, emacs_readlink): New function. + * sysdep.c: Include allocator.h, careadlinkat.h. + (emacs_no_realloc_allocator): New static constant. + (emacs_readlink): New function. + * deps.mk (sysdep.o): Depend on ../lib/allocator.h and on + ../lib/careadlinkat.h. - * editfns.c (Ftranspose_regions): Use EMACS_INT for positions. +2011-04-04 Stefan Monnier - * 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. + * keyboard.c (safe_run_hook_funcall): Fix last change (don't stop at the + first non-nil return value). - * keymap.h (map_keymap_function_t): More informative prototype. +2011-04-03 Jan Djärv -2007-07-10 Guanpeng Xu + * nsterm.m (ns_update_auto_hide_menu_bar): Define MAC_OS_X_VERSION_10_6 + if not defined (Bug#8403). - * 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. +2011-04-02 Juanma Barranquero -2007-07-01 Stefan Monnier + * xdisp.c (display_count_lines): Remove parameter `start', + unused since 1998-01-01T02:27:27Z!rms@gnu.org. All callers changed. + (get_char_face_and_encoding): Remove parameter `multibyte_p', + unused since 2008-05-14T01:40:23Z!handa@m17n.org. All callers changed. + (fill_stretch_glyph_string): Remove parameters `row' and `area', + unused at least since Kim's GUI unification at 2003-03-16T20:45:46Z!storm@cua.dk + and thereabouts. All callers changed. + (get_per_char_metric): Remove parameter `f', unused since + 2008-05-14T01:40:23Z!handa@m17n.org. All callers changed. - * minibuf.c (Fcompleting_read): New value `confirm-only' - for `require-match'. +2011-04-02 Jim Meyering -2007-06-28 Stefan Monnier + do not dereference NULL upon failed strdup + * nsfont.m (ns_descriptor_to_entity): Use xstrdup, not strdup. + (ns_get_family): Likewise. + +2011-04-02 Juanma Barranquero - * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as - part of the 2007-06-27 change to syms_of_fileio. + * eval.c (unwind_to_catch) [DEBUG_GCPRO]: Remove redundant assignment. + +2011-04-02 Jan Djärv -2007-06-28 YAMAMOTO Mitsuharu + * nsterm.m (ns_update_auto_hide_menu_bar): Only for OSX 10.6 or + later (Bug#8403). - * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event): - Check WINDOWP before using XWINDOW. Consolidate return statements. +2011-04-01 Stefan Monnier + + Add lexical binding. -2007-06-27 Richard Stallman + * window.c (Ftemp_output_buffer_show): New fun. + (Fsave_window_excursion): + * print.c (Fwith_output_to_temp_buffer): Move to subr.el. - * fileio.c (syms_of_fileio) : Doc fix. + * lread.c (lisp_file_lexically_bound_p): New function. + (Fload): Bind Qlexical_binding. + (readevalloop): Remove `evalfun' arg. + Bind Qinternal_interpreter_environment. + (Feval_buffer): Bind Qlexical_binding. + (defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard): + Mark as dynamic. + (syms_of_lread): Declare `lexical-binding'. -2007-06-27 Juanma Barranquero + * lisp.h (struct Lisp_Symbol): New field `declared_special'. - * buffer.c (syms_of_buffer) : Fix typo in docstring. + * keyboard.c (eval_dyn): New fun. + (menu_item_eval_property): Use it. -2007-06-26 YAMAMOTO Mitsuharu + * image.c (parse_image_spec): Use Ffunctionp. - * 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. + * fns.c (concat, mapcar1): Accept byte-code-functions. -2007-06-26 Kenichi Handa + * eval.c (Fsetq): Handle lexical vars. + (Fdefun, Fdefmacro, Ffunction): Make closures when needed. + (Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic. + (FletX, Flet): Obey lexical binding. + (Fcommandp): Handle closures. + (Feval): New `lexical' arg. + (eval_sub): New function extracted from Feval. Use it almost + everywhere where Feval was used. Look up vars in lexical env. + Handle closures. + (Ffunctionp): Move from subr.el. + (Ffuncall): Handle closures. + (apply_lambda): Remove `eval_flags'. + (funcall_lambda): Handle closures and new byte-code-functions. + (Fspecial_variable_p): New function. + (syms_of_eval): Initialize the Vinternal_interpreter_environment var, + but without exporting it to Lisp. - * coding.c (Ffind_operation_coding_system): Docstring improved. - (syms_of_coding): Docstring of `file-coding-system-alist' improved. + * doc.c (Fdocumentation, store_function_docstring): + * data.c (Finteractive_form): Handle closures. -2007-06-25 David Kastrup + * callint.c (Fcall_interactively): Preserve lexical-binding mode for + interactive spec. - * keymap.c (Fcurrent_active_maps): Add `position' argument. - (Fwhere_is_internal): Adjust call to `current-active-maps' to - cater for additional parameter. + * bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN): + New byte-codes. + (exec_byte_code): New function extracted from Fbyte_code to handle new + calling convention for byte-code-functions. Add new byte-codes. - * keymap.h: Adjust number of parameters to `current-active-maps'. + * buffer.c (defvar_per_buffer): Set new `declared_special' field. - * doc.c (Fsubstitute_command_keys): Adjust call of - `current-active-maps'. + * alloc.c (Fmake_symbol): Init new `declared_special' field. -2007-06-25 David Kastrup +2011-03-31 Juanma Barranquero - * callint.c (Fcall_interactively): Make the parsing of interactive - specs somewhat more readable. + * xdisp.c (redisplay_internal): Fix prototype. -2007-06-23 YAMAMOTO Mitsuharu +2011-03-31 Eli Zaretskii - * 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. + * xdisp.c (SCROLL_LIMIT): New macro. + (try_scrolling): Use it when setting scroll_limit. + Limit scrolling to 100 screen lines. + (redisplay_window): Even when falling back on "recentering", + position point in the window according to scroll-conservatively, + scroll-margin, and scroll-*-aggressively variables. (Bug#6671) -2007-06-22 YAMAMOTO Mitsuharu + (try_scrolling): When point is above the window, allow searching + as far as scroll_max, or one screenful, to compute vertical + distance from PT to the scroll margin position. This prevents + try_scrolling from unnecessarily failing when + scroll-conservatively is set to a value slightly larger than the + window height. Clean up the case of PT below the margin at bottom + of window: scroll_max can no longer be INT_MAX. When aggressive + scrolling is in use, don't let point enter the opposite scroll + margin as result of the scroll. + (syms_of_xdisp) : Document the + threshold of 100 lines for never-recentering scrolling. - * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI. - (USE_MAC_TOOLBAR): Require USE_CG_DRAWING. +2011-03-31 Juanma Barranquero - * 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. + * dispextern.h (move_it_by_lines): + * xdisp.c (move_it_by_lines): Remove parameter `need_y_p', unused + since 2000-12-29T14:24:09Z!gerd@gnu.org. All callers changed. + (message_log_check_duplicate): Remove parameters `prev_bol' and + `this_bol', unused since 1998-01-01T02:27:27Z!rms@gnu.org. All callers changed. + (redisplay_internal): Remove parameter `preserve_echo_area', + unused since 1999-07-21T21:43:52Z!gerd@gnu.org. All callers changed. -2007-06-21 Jason Rumney + * indent.c (Fvertical_motion): + * window.c (window_scroll_pixel_based, Frecenter): + Don't pass `need_y_p' to `move_it_by_lines'. - * image.c (convert_mono_to_color_image): Swap fore and background. +2011-03-30 Stefan Monnier -2007-06-20 Jason Rumney + * eval.c (struct backtrace): Don't cheat with negative numbers, but do + steal a few bits to be more compact. + (interactive_p, Fbacktrace, Fbacktrace_frame, mark_backtrace): + Remove unneeded casts. - * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished. - (w32_free_bdf_font): Unmap memory not handle. + * bytecode.c (Fbyte_code): CAR and CDR can GC. -2007-06-20 Sam Steingold +2011-03-30 Zachary Kanfer (tiny change) - * gmalloc.c (__morecore): Fix the declaration to comply with the - definition. + * keyboard.c (Fexecute_extended_command): Do log the "suggest key + binding" message (bug#7967). -2007-06-20 Juanma Barranquero +2011-03-30 Paul Eggert - * w32term.c (w32_delete_display): Remove leftover declaration. - (w32_define_cursor, w32_initialize): Make static. + Fix more problems found by GCC 4.6.0's static checks. - * w32.c (_wsa_errlist): Fix typo in error message. - (init_environment): Ignore any environment variable from the - registry having a null value. + * unexelf.c (unexec) [! (defined _SYSTYPE_SYSV || defined __sgi)]: + Remove unused local var. -2007-06-20 Glenn Morris + * editfns.c (Fmessage_box): Remove unused local var. - * Makefile.in (LIBGIF): Default to -lgif. + * xdisp.c (try_window_reusing_current_matrix, x_produce_glyphs): + (note_mode_line_or_margin_highlight, note_mouse_highlight): + Omit unused local vars. + * window.c (shrink_windows): Omit unused local var. + * menu.c (digest_single_submenu): Omit unused local var. + * dispnew.c (update_window) [PERIODIC_PREEMPTION_CHECKING]: + Omit unused local var. + + * keyboard.c (parse_modifiers_uncached, parse_modifiers): + Don't assume string length fits in int. + (keyremap_step, read_key_sequence): Use size_t for sizes. + (read_key_sequence): Don't check last_real_key_start redundantly. -2007-06-17 Jason Rumney + * callproc.c (Fcall_process, Fcall_process_region): Use SAFE_ALLOCA + instead of alloca (Bug#8344). - * w32menu.c (add_menu_item): Don't use multibyte string functions on - unicode strings. + * eval.c (Fbacktrace): Don't assume nargs fits in int. + (Fbacktrace_frame): Don't assume nframes fits in int. -2007-06-16 Juanma Barranquero + * syntax.c (scan_sexps_forward): Avoid pointer wraparound. - * xdisp.c (syms_of_xdisp) : - Fix typo in docstring. + * xterm.c (x_make_frame_visible, same_x_server): Redo to avoid overflow + concerns. -2007-06-16 Eli Zaretskii + * term.c (produce_glyphless_glyph): Remove unnecessary test. - * w32menu.c (add_menu_item): Escape `&' characters in menu items - and their keybindings. + * cm.c (calccost): Turn while-do into do-while, for clarity. -2007-06-15 Chong Yidong + * keyboard.c (syms_of_keyboard): Use the same style as later + in this function when indexing through an array. This also + works around GCC bug 48267. - * composite.c (update_compositions): Fix last fix. + * image.c (tiff_load): Fix off-by-one image count (Bug#8336). -2007-06-14 Jason Rumney + * xselect.c (x_check_property_data): Return correct size (Bug#8335). - * 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. + * chartab.c (sub_char_table_ref_and_range): Redo for slight + efficiency gain, and to bypass a gcc -Wstrict-overflow warning. - * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it. + * keyboard.c, keyboard.h (num_input_events): Now size_t. + This avoids undefined behavior on integer overflow, and is a bit + more convenient anyway since it is compared to a size_t variable. -2007-06-14 Kenichi Handa + Variadic C functions now count arguments with size_t, not int. + This avoids an unnecessary limitation on 64-bit machines, which + caused (substring ...) to crash on large vectors (Bug#8344). + * lisp.h (struct Lisp_Subr.function.aMANY): Now takes size_t, not int. + (DEFUN_ARGS_MANY, internal_condition_case_n, safe_call): Likewise. + All variadic functions and their callers changed accordingly. + (struct gcpro.nvars): Now size_t, not int. All uses changed. + * data.c (arith_driver, float_arith_driver): Likewise. + * editfns.c (general_insert_function): Likewise. + * eval.c (struct backtrace.nargs, interactive_p) + (internal_condition_case_n, run_hook_with_args, apply_lambda) + (funcall_lambda, mark_backtrace): Likewise. + * fns.c (concat): Likewise. + * frame.c (x_set_frame_parameters): Likewise. + * fns.c (get_key_arg): Now accepts and returns size_t, and returns + 0 if not found, not -1. All callers changed. - * composite.c (update_compositions): Check the validness of - compositions. + * alloc.c (garbage_collect): Don't assume stack size fits in int. + (stack_copy_size): Now size_t, not int. + (stack_copy, stack_copy_size): Define only if MAX_SAVE_STACK > 0. -2007-06-14 YAMAMOTO Mitsuharu +2011-03-28 Juanma Barranquero - * frame.h (struct frame) [MAC_OS]: New member external_tool_bar. - (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it. + * coding.c (encode_designation_at_bol): Remove parameter `charbuf_end', + unused since 2002-03-01T01:17:24Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org. + All callers changed. - * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity. - (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR. + * lisp.h (multibyte_char_to_unibyte): + * character.c (multibyte_char_to_unibyte): Remove parameter `rev_tbl', + unused since 2002-03-01T01:16:34Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org. + * character.h (CHAR_TO_BYTE8): + * cmds.c (internal_self_insert): + * editfns.c (general_insert_function): + * keymap.c (push_key_description): + * search.c (Freplace_match): + * xdisp.c (message_dolog, set_message_1): All callers changed. - * macgui.h (USE_MAC_TOOLBAR): New define. +2011-03-28 Stefan Monnier - * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler): - Return immediately unless popup is activated. + * keyboard.c (safe_run_hook_funcall): New function. + (safe_run_hooks_1, safe_run_hooks_error, safe_run_hooks): On error, + don't set the hook to nil, but remove the offending function instead. + (Qcommand_hook_internal): Remove, unused. + (syms_of_keyboard): Don't initialize Qcommand_hook_internal nor define + Vcommand_hook_internal. - * 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. + * eval.c (enum run_hooks_condition): Remove. + (funcall_nil, funcall_not): New functions. + (run_hook_with_args): Call each function through a `funcall' argument. + Remove `cond' argument, now redundant. + (Frun_hooks, Frun_hook_with_args, Frun_hook_with_args_until_success) + (Frun_hook_with_args_until_failure): Adjust accordingly. + (run_hook_wrapped_funcall, Frun_hook_wrapped): New functions. - * 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. +2011-03-28 Juanma Barranquero - * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window) - [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display. + * dispextern.h (string_buffer_position): Remove declaration. -2007-06-14 Chong Yidong + * print.c (strout): Remove parameter `multibyte', unused since + 1999-08-21T19:30:21Z!gerd@gnu.org. All callers changed. - * image.c (search_image_cache): Remove unused variable. + * search.c (boyer_moore): Remove parameters `len', `pos' and `lim', + never used since function introduction in 1998-02-08T21:33:56Z!rms@gnu.org. + All callers changed. -2007-06-13 Chong Yidong + * w32.c (_wsa_errlist): Use braces for struct initializers. - * xfns.c, xmenu.c: Link to xaw3d if available. + * xdisp.c (string_buffer_position_lim): Remove parameter `w', + never used since function introduction in 2001-03-09T18:41:50Z!gerd@gnu.org. + All callers changed. + (string_buffer_position): Likewise. Also, make static (it's never + used outside xdisp.c). + (cursor_row_p): Remove parameter `w', unused since + 2000-10-17T16:08:57Z!gerd@gnu.org. All callers changed. + (decode_mode_spec): Remove parameter `precision', introduced during + Gerd Moellmann's rewrite at 1999-07-21T21:43:52Z!gerd@gnu.org, but never used. + All callers changed. -2007-06-13 YAMAMOTO Mitsuharu +2011-03-27 Jan Djärv - * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members - frame_foreground and frame_background. + * nsterm.m (syms_of_nsterm): Use doc: for ns-auto-hide-menu-bar. - * image.c (lookup_image): Save frame foreground and background colors. - (search_image_cache): Check if saved and current frame colors match. +2011-03-27 Anders Lindgren -2007-06-12 Stefan Monnier + * nsterm.m (ns_menu_bar_is_hidden): New variable. + (ns_constrain_all_frames, ns_menu_bar_should_be_hidden) + (ns_update_auto_hide_menu_bar): New functions. + (ns_update_begin): Call ns_update_auto_hide_menu_bar. + (applicationDidBecomeActive): Call ns_update_auto_hide_menu_bar and + ns_constrain_all_frames. + (constrainFrameRect): Return at once if ns_menu_bar_should_be_hidden. + (syms_of_nsterm): DEFVAR ns-auto-hide-menu-bar, init to Qnil. - * regex.c (regex_compile): Remove the `regnum' counter. - Use bufp->re_nsub instead. Add support for \(?N:RE\). +2011-03-27 Jan Djärv -2007-06-11 Stefan Monnier + * nsmenu.m (runDialogAt): Remove argument to timer_check. - * term.c: Include intervals.h to declare Fget_text_property. +2011-03-27 Glenn Morris -2007-06-10 Jason Rumney + * syssignal.h: Replace RETSIGTYPE with void. + * atimer.c, data.c, dispnew.c, emacs.c, floatfns.c, keyboard.c: + * keyboard.h, lisp.h, process.c, sysdep.c, xterm.c: + Replace SIGTYPE with void everywhere. + * s/usg5-4-common.h (SIGTYPE): Remove definition. + * s/template.h (SIGTYPE): Remove commented out definition. - * w32fns.c (Fx_file_dialog): Take size from struct not pointer. +2011-03-26 Eli Zaretskii -2007-06-08 Juanma Barranquero + * xdisp.c (redisplay_window): Don't check buffer's clip_changed + flag as a prerequisite for invoking try_scrolling. (Bug#6671) - * 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. +2011-03-26 Juanma Barranquero -2007-06-05 Juanma Barranquero + * w32.c (read_unc_volume): Use parameter `henum', instead of + global variable `wget_enum_handle'. - * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops. + * keymap.c (describe_vector): Remove parameters `indices' and + `char_table_depth', unused since 2002-03-01T01:43:26Z!handa@m17n.org. + (describe_map, Fdescribe_vector): Adjust calls to `describe_vector'. -2007-06-03 Nick Roberts + * keyboard.h (timer_check, show_help_echo): Remove unused parameters. - * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case. + * keyboard.c (timer_check): Remove parameter `do_it_now', + unused since 1996-04-12T06:01:29Z!rms@gnu.org. + (show_help_echo): Remove parameter `ok_to_overwrite_keystroke_echo', + unused since 2008-04-19T19:30:53Z!monnier@iro.umontreal.ca. - * frame.c (Fmouse_position, Fmouse_pixel_position): - Condition on HAVE_GPM too. + * keyboard.c (read_char): + * w32menu.c (w32_menu_display_help): + * xmenu.c (show_help_event, menu_help_callback): + Adjust calls to `show_help_echo'. - * 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. + * gtkutil.c (xg_maybe_add_timer): + * keyboard.c (readable_events): + * process.c (wait_reading_process_output): + * xmenu.c (x_menu_wait_for_event): Adjust calls to `timer_check'. - * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM. + * insdel.c (adjust_markers_gap_motion): + Remove; no-op since 1998-01-02T21:29:48Z!rms@gnu.org. + (gap_left, gap_right): Don't call it. -2007-06-03 Chong Yidong +2011-03-25 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. + * xdisp.c (handle_fontified_prop): Discard changes to clip_changed + incurred during fontification. -2007-06-01 Juanma Barranquero +2011-03-25 Juanma Barranquero - * window.c (Fshrink_window): Reflow docstring. + * buffer.c (defvar_per_buffer): Remove unused parameter `doc'. + (DEFVAR_PER_BUFFER): Don't pass it. -2007-06-02 Chong Yidong + * dispnew.c (row_equal_p, add_row_entry): Remove unused parameter `w'. + (scrolling_window): Don't pass it. - * Version 22.1 released. +2011-03-25 Juanma Barranquero -2007-06-01 Richard Stallman + * dispextern.h (glyph_matric): Use #if GLYPH_DEBUG, not #ifdef. - * xfns.c (x_encode_text): Add GCPRO. + * fileio.c (check_executable) [DOS_NT]: Remove unused variables `len' + and `suffix'. + (Fset_file_selinux_context) [HAVE_LIBSELINUX]: Move here declaration + of variables specific to SELinux and computation of `encoded_absname'. -2007-06-01 YAMAMOTO Mitsuharu + * image.c (XPutPixel): Remove unused variable `height'. - * xfns.c (x_set_name_internal): Save encoded name before - x_encode_text in case string data is relocated. + * keyboard.c (make_lispy_event): Remove unused variable `hpos'. -2007-05-31 Richard Stallman + * unexw32.c (get_section_info): Remove unused variable `section'. - * buffer.c (syms_of_buffer): Doc fix. + * w32.c (stat): Remove unused variables `drive_root' and `devtype'. + (system_process_attributes): Remove unused variable `sess'. + (sys_read): Remove unused variable `err'. -2007-05-30 Nick Roberts + * w32fns.c (top): Wrap variables with #if GLYPH_DEBUG, not #ifdef. + (w32_wnd_proc): Remove unused variable `isdead'. + (unwind_create_frame): Use #if GLYPH_DEBUG, not #ifdef. + (Fx_server_max_request_size): Remove unused variable `dpyinfo'. + (x_create_tip_frame): Remove unused variable `tem'. - * sysdep.c (init_sys_modes): Add rather than replace with - O_NONBLOCK. + * w32inevt.c (w32_console_read_socket): + Remove unused variable `no_events'. - * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to - term_mouse_moveto. + * w32term.c (x_draw_composite_glyph_string_foreground): + Remove unused variable `width'. - * termhooks.h (term_mouse_moveto): New extern. +2011-03-24 Juanma Barranquero - * 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. + * w32term.c (x_set_glyph_string_clipping): + Don't pass uninitialized region to CombineRgn. -2007-05-28 YAMAMOTO Mitsuharu +2011-03-23 Juanma Barranquero - * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t - around current_column call. + * w32fns.c (x_set_menu_bar_lines): Remove unused variable `olines'. + (w32_wnd_proc): Pass NULL to Windows API, not uninitialized buffer. + (Fx_close_connection): Remove unused variable `i'. -2007-05-26 Dan Nicolaescu + * w32font.c (w32font_draw): Return number of glyphs. + (w32font_open_internal): Remove unused variable `i'. + (w32font_driver): Add missing initializer. - * 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. + * w32menu.c (utf8to16): Remove unused variable `utf16'. + (fill_in_menu): Remove unused variable `items_added'. -2007-05-24 YAMAMOTO Mitsuharu + * w32term.c (last_mouse_press_frame): Remove static global variable. + (w32_clip_to_row): Remove unused variable `f'. + (x_delete_terminal): Remove unused variable `i'. - * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event): - Call mac_wakeup_from_rne on window size change. + * w32uniscribe.c (uniscribe_shape): Remove unused variable `nclusters'. + (NOTHING): Remove unused static global variable. + (uniscribe_check_otf): Remove unused variable `table'. + (uniscribe_font_driver): Add missing initializers. -2007-05-25 Chong Yidong +2011-03-23 Julien Danjou - * image.c (uncache_image): Fix typo. + * term.c (Fsuspend_tty, Fresume_tty): + * minibuf.c (read_minibuf, run_exit_minibuf_hook): + * window.c (temp_output_buffer_show): + * insdel.c (signal_before_change): + * frame.c (Fhandle_switch_frame): + * fileio.c (Fdo_auto_save): + * emacs.c (Fkill_emacs): + * editfns.c (save_excursion_restore): + * cmds.c (internal_self_insert): + * callint.c (Fcall_interactively): + * buffer.c (Fkill_all_local_variables): + * keyboard.c (Fcommand_execute, Fsuspend_emacs, safe_run_hooks_1): + Use Frun_hooks. + (command_loop_1): Use Frun_hooks. Call safe_run_hooks + unconditionnaly since it does the check itself. + +2011-03-23 Paul Eggert + + Fix more problems found by GCC 4.5.2's static checks. + + * coding.c (encode_coding_raw_text): Avoid unnecessary test + the first time through the loop, since we know p0 < p1 then. + This also avoids a gcc -Wstrict-overflow warning. + + * lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Avoid 'int' overflow + leading to a memory leak, possible in functions like + load_charset_map_from_file that can allocate an unbounded number + of objects (Bug#8318). + + * xmenu.c (set_frame_menubar): Use EMACS_UINT, not int, for indexes + that could (at least in theory) be that large. + + * xdisp.c (message_log_check_duplicate): Return unsigned long, not int. + This is less likely to overflow, and avoids undefined behavior if + overflow does occur. All callers changed. Use strtoul to scan + for the unsigned long integer. + (pint2hrstr): Simplify and tune code slightly. + This also avoids a (bogus) GCC warning with gcc -Wstrict-overflow. + + * scroll.c (do_scrolling): Work around GCC bug 48228. + See . + + * frame.c (Fmodify_frame_parameters): Simplify loop counter. + This also avoids a warning with gcc -Wstrict-overflow. + (validate_x_resource_name): Simplify count usage. + This also avoids a warning with gcc -Wstrict-overflow. + + * fileio.c (Fcopy_file): Report error if fchown or fchmod + fail (Bug#8306). + + * emacs.c (Fdaemon_initialized): Do not ignore I/O errors (Bug#8303). + + * process.c (Fmake_network_process): Use socklen_t, not int, + where POSIX says socklen_t is required in portable programs. + This fixes a porting bug on hosts like 64-bit HP-UX, where + socklen_t is wider than int (Bug#8277). + (Fmake_network_process, server_accept_connection): + (wait_reading_process_output, read_process_output): + Likewise. -2007-05-23 Johannes Weiner (tiny change) + * process.c: Rename or move locals to avoid shadowing. + (list_processes_1, Fmake_network_process): + (read_process_output_error_handler, exec_sentinel_error_handler): + Rename or move locals. + (Fmake_network_process): Define label "retry_connect" only if needed. + (Fnetwork_interface_info): Fix pointer signedness. + (process_send_signal): Add cast to avoid pointer signedness problem. + (FIRST_PROC_DESC, IF_NON_BLOCKING_CONNECT): Remove unused macros. + (create_process): Use 'volatile' to avoid vfork clobbering (Bug#8298). - * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too. + Make tparam.h and terminfo.c consistent. + * cm.c (tputs, tgoto, BC, UP): Remove extern decls. + Include tparam.h instead, since it declares them. + * cm.h (PC): Remove extern decl; tparam.h now does this. + * deps.mk (cm.o, terminfo.o): Depend on tparam.h. + * terminfo.c: Include tparam.h, to check interfaces. + (tparm): Make 1st arg a const pointer in decl. Put it at top level. + (tparam): Adjust signature to match interface in tparam.h; + this removes some undefined behavior. Check that outstring and len + are zero, which they always are with Emacs. + * tparam.h (PC, BC, UP): New extern decls. -2007-05-22 Richard Stallman + * xftfont.c (xftfont_shape): Now static, and defined only if needed. + (xftfont_open): Rename locals to avoid shadowing. - * xterm.c (x_connection_closed): Remove NO_RETURN. + * ftfont.c (ftfont_resolve_generic_family): Fix pointer signedness. + (ftfont_otf_capability, ftfont_shape): Omit decls if not needed. + (OTF_TAG_SYM): Omit macro if not needed. + (ftfont_list): Remove unused local. + (get_adstyle_property, ftfont_pattern_entity): + (ftfont_lookup_cache, ftfont_open, ftfont_anchor_point): + Rename locals to avoid shadowing. -2007-05-22 Martin Rudalics + * xfont.c (xfont_list_family): Mark var as initialized. - * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD. + * xml.c (make_dom): Now static. -2007-05-21 Chong Yidong + * composite.c (composition_compute_stop_pos): Rename local to + avoid shadowing. + (composition_reseat_it): Remove unused locals. + (find_automatic_composition, composition_adjust_point): Likewise. + (composition_update_it): Mark var as initialized. + (find_automatic_composition): Mark vars as initialized, + with a FIXME (Bug#8290). - * image.c (uncache_image): New function. - (Fimage_refresh): New function. + character.h: Rename locals to avoid shadowing. + * character.h (PREV_CHAR_BOUNDARY, FETCH_STRING_CHAR_ADVANCE): + (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE, FETCH_CHAR_ADVANCE): + (FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, BUF_INC_POS): + (BUF_DEC_POS): Be more systematic about renaming local temporaries + to avoid shadowing. -2007-05-20 Jan Djärv + * textprop.c (property_change_between_p): Remove; unused. - * Makefile.in: Move GPM check outside HAVE_X_WINDOWS. + * intervals.c (interval_start_pos): Now static. -2007-05-20 Nick Roberts + * intervals.h (CHECK_TOTAL_LENGTH): Avoid empty "else". - * config.in, keyboard.c, Makefile.in, sysdep.c, term.c, - * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H. + * atimer.c (start_atimer, append_atimer_lists, set_alarm): + Rename locals to avoid shadowing. -2007-05-20 Nick Roberts + * sound.c (wav_play, au_play, Fplay_sound_internal): + Fix pointer signedness. + (alsa_choose_format): Remove unused local var. + (wav_play): Initialize a variable to 0, to prevent undefined + behavior (Bug#8278). - * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT - conditional on [HAVE_GPM_H]. + * region-cache.c (insert_cache_boundary): Redo var to avoid shadowing. -2007-05-19 Stefan Monnier + * region-cache.h (pp_cache): New decl, for gcc -Wmissing-prototypes. - * syntax.c (skip_chars): Update syntax-table only after we checked that - the new location is valid. + * callproc.c (Fcall_process): Use 'volatile' to avoid vfork + clobbering (Bug#8298). + * sysdep.c (sys_subshell): Likewise. + Previously, the sys_subshell 'volatile' was incorrectly IF_LINTted out. -2007-05-19 YAMAMOTO Mitsuharu + * lisp.h (child_setup): Now NO_RETURN unless DOS_NT. + This should get cleaned up, so that child_setup has the + same signature on all platforms. - * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around - mac_get_window_bounds. + * callproc.c (call_process_cleanup): Now static. + (relocate_fd): Rename locals to avoid shadowing. -2007-05-20 Nick Roberts +2011-03-22 Chong Yidong - * Makefile.in (LIBGPM): Allow it to be set from configure. - If set then link Emacs with it. + * xterm.c (x_clear_frame): Remove XClearWindow call. This appears + not to be necessary, and produces flickering. - * config.in: Regenerate. +2011-03-20 Glenn Morris - * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor): - New externs. + * config.in: Remove file. - * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT. - Include gpm.h. - (handle_one_term_event, term_gpm): New externs. +2011-03-20 Juanma Barranquero - * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking - and allow it to be interrupted by SIGIO. + * minibuf.c (Vcompleting_read_function): Don't declare, global variables + are now in src/globals.h. + (syms_of_minibuf): Remove spurious & from previous change. - * 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. +2011-03-20 Leo - * 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. + * minibuf.c (completing-read-function): New variable. + (completing-read-default): Rename from completing-read. + (completing-read): Call completing-read-function. - * 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. +2011-03-19 Juanma Barranquero -2007-05-19 Chong Yidong + * xfaces.c (Fx_load_color_file): + Read color file from absolute filename (bug#8250). - * xdisp.c (redisplay_window): If first window line is a - continuation line, recompute the new window start instead of - recentering. +2011-03-19 Juanma Barranquero -2007-05-18 Glenn Morris + * makefile.w32-in: Update dependencies. - * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD. - Suggested by Alfred M. Szmidt . +2011-03-17 Eli Zaretskii -2007-05-17 Glenn Morris + * makefile.w32-in ($(BLD)/unexw32.$(O)): Depend on $(SRC)/unexec.h. - * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD. +2011-03-17 Paul Eggert -2007-05-16 YAMAMOTO Mitsuharu + Fix more problems found by GCC 4.5.2's static checks. - * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert - dead key repeat and up events. + * process.c (make_serial_process_unwind, send_process_trap): + (sigchld_handler): Now static. -2007-05-14 Chong Yidong + * process.c (allocate_pty): Let PTY_ITERATION declare iteration vars. + That way, the code declares only the vars that it needs. + * s/aix4-2.h (PTY_ITERATION): Declare iteration vars. + * s/cygwin.h (PTY_ITERATION): Likewise. + * s/darwin.h (PTY_ITERATION): Likewise. + * s/gnu-linux.h (PTY_ITERATION): Likewise. - * image.c (pbm_load): Check image size for monochrome pbm. + * s/irix6-5.h (PTY_OPEN): Declare stb, to loosen coupling. + * process.c (allocate_pty): Don't declare stb unless it's needed. -2007-05-13 Chong Yidong + * bytecode.c (MAYBE_GC): Rewrite so as not to use empty "else". + (CONSTANTLIM): Remove; unused. + (METER_CODE, Bscan_buffer, Bread_char, Bset_mark): + Define only if needed. - * xterm.c (XTread_socket): Revert last change. + * unexelf.c (unexec): Name an expression, + to avoid gcc -Wbad-function-cast warning. + Use a different way to cause a compilation error if anyone uses + n rather than nn, a way that does not involve shadowing. + (ELF_BSS_SECTION_NAME, OLD_PROGRAM_H): Remove; unused. -2007-05-12 Chong Yidong + * deps.mk (unexalpha.o): Remove; unused. - * image.c (pbm_load): Correctly check image size for greyscale pbm. + New file unexec.h, the (simple) interface for unexec (Bug#8267). + * unexec.h: New file. + * deps.mk (emacs.o, unexaix.o, unexcw.o, unexcoff.o, unexelf.o): + (unexhp9k800.o, unexmacosx.o, unexsol.o, unexw32.o): + Depend on unexec.h. + * emacs.c [!defined CANNOT_DUMP]: Include unexec.h. + * unexaix.c, unexcoff.c, unexcw.c, unexelf.c, unexhp9k800.c: + * unexmacosx.c, unexsol.c, unexw32.c: Include unexec.h. + Change as necessary to match prototype in unexec.h. - * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC). + * syntax.c (Fforward_comment, scan_lists): Rename locals to avoid + shadowing. + (back_comment, skip_chars): Mark vars as initialized. + + * character.h (FETCH_STRING_CHAR_ADVANCE_NO_CHECK, BUF_INC_POS): + Rename locals to avoid shadowing. + + * lread.c (read1): Rewrite so as not to use empty "else". + (Fload, readevalloop, read1): Rename locals to avoid shadowing. + + * print.c (Fredirect_debugging_output): Fix pointer signedess. + + * lisp.h (debug_output_compilation_hack): Add decl here, to avoid + warning when compiling print.c. + + * font.c (font_unparse_fcname): Abort in an "impossible" situation + instead of using an uninitialized var. + (font_sort_entities): Mark var as initialized. + + * character.h (FETCH_CHAR_ADVANCE): Rename locals to avoid shadowing. + + * font.c (font_unparse_xlfd): Don't mix pointers to variables with + pointers to constants. + (font_parse_fcname): Remove unused vars. + (font_delete_unmatched): Now static. + (font_get_spec): Remove; unused. + (font_style_to_value, font_prop_validate_style, font_unparse_fcname): + (font_update_drivers, Ffont_get_glyphs, font_add_log): + Rename or move locals to avoid shadowing. + + * fns.c (require_nesting_list, require_unwind): Now static. + (Ffillarray): Rename locals to avoid shadowing. + + * floatfns.c (domain_error2): Define only if needed. + (Ffrexp, Fldexp): Rename locals to avoid shadowing. + + * alloc.c (mark_backtrace): Move decl from here ... + * lisp.h: ... to here, so that it can be checked. + + * eval.c (call_debugger, do_debug_on_call, grow_specpdl): Now static. + (Fdefvar): Rewrite so as not to use empty "else". + (lisp_indirect_variable): Name an expression, + to avoid gcc -Wbad-function-cast warning. + (Fdefvar): Rename locals to avoid shadowing. + + * callint.c (quotify_arg, quotify_args): Now static. + (Fcall_interactively): Rename locals to avoid shadowing. + Use const pointer when appropriate. + + * lisp.h (get_system_name, get_operating_system_release): + Move decls here, to check interfaces. + * process.c (get_operating_system_release): Move decl to lisp.h. + * xrdb.c (get_system_name): Likewise. + * editfns.c (init_editfns, Fuser_login_name, Fuser_uid): + (Fuser_real_uid, Fuser_full_name): Remove unnecessary casts, + some of which prompt warnings from gcc -Wbad-function-cast. + (Fformat_time_string, Fencode_time, Finsert_char): + (Ftranslate_region_internal, Fformat): + Rename or remove local vars to avoid shadowing. + (Ftranslate_region_internal): Mark var as initialized. + + * doc.c (Fdocumentation, Fsnarf_documentation): Move locals to + avoid shadowing. + + * lisp.h (eassert): Check that the argument compiles, even if + ENABLE_CHECKING is not defined. + + * data.c (Findirect_variable): Name an expression, to avoid + gcc -Wbad-function-cast warning. + (default_value, arithcompare, arith_driver, arith_error): Now static. + (store_symval_forwarding): Rename local to avoid shadowing. + (Fmake_variable_buffer_local, Fmake_local_variable): + Mark variables as initialized. + (do_blv_forwarding, do_symval_forwarding): Remove; unused. + + * alloc.c (check_cons_list): Do not define unless GC_CHECK_CONS_LIST. + (Fmake_vector, Fvector, Fmake_byte_code, Fgarbage_collect): + Rename locals to avoid shadowing. + (mark_stack): Move local variables into the #ifdef region where + they're used. + (BLOCK_INPUT_ALLOC, UNBLOCK_INPUT_ALLOC): Define only if + ! defined SYSTEM_MALLOC && ! defined SYNC_INPUT, as they are not + needed otherwise. + (CHECK_ALLOCATED): Define only if GC_CHECK_MARKED_OBJECTS. + (GC_STRING_CHARS): Remove; not used. + (Fmemory_limit): Cast sbrk's returned value to char *. + + * lisp.h (check_cons_list): Declare if GC_CHECK_CONS_LIST; this + avoids undefined behavior in theory. + + * regex.c (IF_LINT): Add defn, for benefit of ../lib-src. + + Use functions, not macros, for up- and down-casing (Bug#8254). + * buffer.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP): + (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Remove. All callers changed + to use the following functions instead of these macros. + (downcase): Adjust to lack of DOWNCASE_TABLE. Return int, not + EMACS_INT, since callers assume the returned value fits in int. + (upcase1): Likewise, for UPCASE_TABLE. + (uppercasep, lowercasep, upcase): New static inline functions. + * editfns.c (Fchar_equal): Remove no-longer-needed workaround for + the race-condition problem in the old DOWNCASE. + + * regex.c (CHARSET_LOOKUP_RANGE_TABLE_RAW, POP_FAILURE_REG_OR_COUNT): + Rename locals to avoid shadowing. + (regex_compile, re_match_2_internal): Move locals to avoid shadowing. + (regex_compile, re_search_2, re_match_2_internal): + Remove unused local vars. + (FREE_VAR): Rewrite so as not to use empty "else", + which gcc can warn about. + (regex_compile, re_match_2_internal): Mark locals as initialized. + (RETALLOC_IF): Define only if needed. + (WORDCHAR_P): Likewise. This one is never needed, but is used + only in a comment talking about a compiler bug, so put inside + the #if 0 of that comment. + (CHARSET_LOOKUP_BITMAP, FAIL_STACK_FULL, RESET_FAIL_STACK): + (PUSH_FAILURE_ELT, BUF_PUSH_3, STOP_ADDR_VSTRING): + Remove; unused. + + * search.c (boyer_moore): Rename locals to avoid shadowing. + * character.h (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): + (PREV_CHAR_BOUNDARY): Likewise. + + * search.c (simple_search): Remove unused var. + + * dired.c (compile_pattern): Move decl from here ... + * lisp.h: ... to here, so that it can be checked. + (struct re_registers): New forward decl. + + * character.h (INC_POS, DEC_POS): Rename locals to avoid shadowing. + + * indent.c (MULTIBYTE_BYTES_WIDTH): New args bytes, width. + All uses changed. + (MULTIBYTE_BYTES_WIDTH, scan_for_column, compute_motion): + Rename locals to avoid shadowing. + (Fvertical_motion): Mark locals as initialized. + + * casefiddle.c (casify_object, casify_region): Now static. + (casify_region): Mark local as initialized. + + * cmds.c (internal_self_insert): Rename local to avoid shadowing. + + * lisp.h (GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR, GCPRO5_VAR, GCPRO6_VAR): + New macros, so that the caller can use some names other than + gcpro1, gcpro2, etc. + (GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6): Reimplement in terms + of the new macros. + (GCPRO1_VAR, UNGCPRO_VAR): Change the meaning of the second + argument, for consistency with GCPRO2_VAR, etc: it is now the + prefix of the variable, not the variable itself. All uses + changed. + * dired.c (directory_files_internal, file_name_completion): + Rename locals to avoid shadowing. + + Fix a race condition diagnosed by gcc -Wsequence-point (Bug#8254). + An expression of the form (DOWNCASE (x) == DOWNCASE (y)), found in + dired.c's scmp function, had undefined behavior. + * lisp.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP): + (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Move from here ... + * buffer.h: ... to here, because these macros use current_buffer, + and the new implementation with inline functions needs to have + current_buffer in scope now, rather than later when the macros + are used. + (downcase, upcase1): New static inline functions. + (DOWNCASE, UPCASE1): Reimplement using these functions. + This avoids undefined behavior in expressions like + DOWNCASE (x) == DOWNCASE (y), which previously suffered + from race conditions in accessing the global variables + case_temp1 and case_temp2. + * casetab.c (case_temp1, case_temp2): Remove; no longer needed. + * lisp.h (case_temp1, case_temp2): Remove their decls. + * character.h (ASCII_CHAR_P): Move from here ... + * lisp.h: ... to here, so that the inline functions mentioned + above can use them. + + * dired.c (directory_files_internal_unwind): Now static. + + * fileio.c (file_name_as_directory, directory_file_name): + (barf_or_query_if_file_exists, auto_save_error, auto_save_1): + Now static. + (file_name_as_directory): Use const pointers when appropriate. + (Fexpand_file_name): Likewise. In particular, newdir might + point at constant storage, so make it a const pointer. + (Fmake_directory_internal, Fread_file_name): Remove unused vars. + (Ffile_selinux_context, Fset_file_selinux_context): Fix pointer + signedness issues. + (Fset_file_times, Finsert_file_contents, auto_save_error): + Rename locals to avoid shadowing. + + * minibuf.c (choose_minibuf_frame_1): Now static. + (Ftry_completion, Fall_completions): Rename or remove locals + to avoid shadowing. + + * marker.c (bytepos_to_charpos): Remove; unused. + + * lisp.h (verify_bytepos, count_markers): New decls, + so that gcc does not warn that these functions aren't declared. + + * insdel.c (check_markers, make_gap_larger, make_gap_smaller): + (reset_var_on_error, Fcombine_after_change_execute_1): Now static. + (CHECK_MARKERS): Redo to avoid gcc -Wempty-body diagnostic. + (copy_text): Remove unused local var. + + * filelock.c (within_one_second): Now static. + (lock_file_1): Rename local to avoid shadowing. + + * buffer.c (fix_overlays_before): Mark locals as initialized. + (fix_start_end_in_overlays): Likewise. This function should be + simplified by using pointers-to-pointers, but that's a different + matter. + (switch_to_buffer_1): Now static. + (Fkill_buffer, record_buffer, Fbury_buffer, Fset_buffer_multibyte): + (report_overlay_modification): Rename locals to avoid shadowing. + + * sysdep.c (system_process_attributes): Rename vars to avoid shadowing. + Fix pointer signedness issue. + (sys_subshell): Mark local as volatile if checking for lint, + to suppress a gcc -Wclobbered warning that does not seem to be right. + (MAXPATHLEN): Define only if needed. + + * process.c (serial_open, serial_configure): Move decls from here ... + * systty.h: ... to here, so that they can be checked. + + * fns.c (get_random, seed_random): Move extern decls from here ... + * lisp.h: ... to here, so that they can be checked. + + * sysdep.c (reset_io): Now static. + (wait_for_termination_signal): Remove; unused. + + * keymap.c (keymap_parent, keymap_memberp, map_keymap_internal): + (copy_keymap_item, append_key, push_text_char_description): + Now static. + (Fwhere_is_internal): Don't test CONSP (sequences) unnecessarily. + (DENSE_TABLE_SIZE): Remove; unused. + (get_keymap, access_keymap, Fdefine_key, Fwhere_is_internal): + (describe_map_tree): + Rename locals to avoid shadowing. + + * keyboard.c: Declare functions static if they are not used elsewhere. + (echo_char, echo_dash, cmd_error, top_level_2): + (poll_for_input, handle_async_input): Now static. + (read_char, kbd_buffer_get_event, make_lispy_position): + (make_lispy_event, make_lispy_movement, apply_modifiers): + (decode_keyboard_code, tty_read_avail_input, menu_bar_items): + (parse_tool_bar_item, read_key_sequence, Fread_key_sequence): + (Fread_key_sequence_vector): Rename locals to avoid shadowing. + (read_key_sequence, read_char): Mark locals as initialized. + (Fexit_recursive_edit, Fabort_recursive_edit): Mark with NO_RETURN. + + * keyboard.h (make_ctrl_char): New decl. + (mark_kboards): Move decl here ... + * alloc.c (mark_kboards): ... from here. + + * lisp.h (force_auto_save_soon): New decl. + + * emacs.c (init_cmdargs): Rename local to avoid shadowing. + (DEFINE_DUMMY_FUNCTION): New macro. + (__do_global_ctors, __do_global_ctors_aux, __do_global_dtors, __main): + Use it. + (main): Add casts to avoid warnings + if GCC considers string literals to be constants. + + * lisp.h (fatal_error_signal): Add decl, since it's exported. + + * dbusbind.c: Pointer signedness fixes. + (xd_signature, xd_append_arg, xd_initialize): + (Fdbus_call_method, Fdbus_call_method_asynchronously): + (Fdbus_method_return_internal, Fdbus_method_error_internal): + (Fdbus_send_signal, xd_read_message_1, Fdbus_register_service): + (Fdbus_register_signal): Use SSDATA when the context wants char *. + + * dbusbind.c (Fdbus_init_bus): Add cast to avoid warning + if GCC considers string literals to be constants. + (Fdbus_register_service, Fdbus_register_method): Remove unused vars. + +2011-03-16 Stefan Monnier + + * print.c (PRINT_CIRCLE_CANDIDATE_P): New macro. + (print_preprocess, print_object): New macro to fix last change. + + * print.c (print_preprocess): Don't forget font objects. + +2011-03-16 Juanma Barranquero + + * emacs.c (USAGE3): Doc fixes. + +2011-03-15 Andreas Schwab -2007-05-07 Stefan Monnier + * coding.c (detect_coding_iso_2022): Reorganize code to clarify + structure. - * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object - mixup (YAILOM). +2011-03-14 Juanma Barranquero -2007-05-07 Andreas Schwab + * lisp.h (VWindow_system, Qfile_name_history): + * keyboard.h (lispy_function_keys) [WINDOWSNT]: + * w32term.h (w32_system_caret_hwnd, w32_system_caret_height) + (w32_system_caret_x, w32_system_caret_y): Declare extern. - * keymap.c (Flookup_key): Fix typo in last change. + * w32select.c: Don't #include "keyboard.h". + (run_protected): Add extern declaration for waiting_for_input. -2007-05-07 Stefan Monnier + * w32.c (Qlocal, noninteractive1, inhibit_window_system): + * w32console.c (detect_input_pending, read_input_pending) + (encode_terminal_code): + * w32fns.c (quit_char, lispy_function_keys, Qtooltip) + (w32_system_caret_hwnd, w32_system_caret_height, w32_system_caret_x) + (w32_system_caret_y, Qfile_name_history): + * w32font.c (w32font_driver, QCantialias, QCotf, QClang): + * w32inevt.c (reinvoke_input_signal, lispy_function_keys): + * w32menu.c (Qmenu_bar, QCtoggle, QCradio, Qoverriding_local_map) + (Qoverriding_terminal_local_map, Qmenu_bar_update_hook): + * w32proc.c (Qlocal, report_file_error): + * w32term.c (Vwindow_system, updating_frame): + * w32uniscribe.c (initialized, uniscribe_font_driver): + Remove unneeded extern declarations. - * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier - mapping for unibyte strings. +2011-03-14 Chong Yidong -2007-05-01 YAMAMOTO Mitsuharu + * buffer.c (Fmake_indirect_buffer): Fix incorrect assertions. - * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c. - (Fx_popup_dialog) [MAC_OSX]: Likewise. +2011-03-13 Chong Yidong -2007-04-29 Richard Stallman + * buffer.h (BUF_BEGV, BUF_BEGV_BYTE, BUF_ZV, BUF_ZV_BYTE, BUF_PT) + (BUF_PT_BYTE): Rewrite to handle indirect buffers (Bug#8219). + These macros can no longer be used for assignment. - * insdel.c (replace_range): For undo, record insertion first. + * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): + Assign struct members directly, instead of using BUF_BEGV etc. + (record_buffer_markers, fetch_buffer_markers): New functions for + recording and fetching special buffer markers. + (set_buffer_internal_1, set_buffer_temp): Use them. -2007-04-29 Andreas Schwab + * lread.c (unreadchar): Use SET_BUF_PT_BOTH. - * lisp.h (VECSIZE): Use OFFSETOF. + * insdel.c (adjust_point): Use SET_BUF_PT_BOTH. -2007-04-29 YAMAMOTO Mitsuharu + * intervals.c (temp_set_point_both): Use SET_BUF_PT_BOTH. + (get_local_map): Use SET_BUF_BEGV_BOTH and SET_BUF_ZV_BOTH. - * xdisp.c (try_window_reusing_current_matrix): Fix number of - disabled lines. + * xdisp.c (hscroll_window_tree): + (reconsider_clip_changes): Use PT instead of BUF_PT. -2007-04-28 Richard Stallman +2011-03-13 Eli Zaretskii + + * makefile.w32-in ($(BLD)/editfns.$(O)): Depend on + $(EMACS_ROOT)/lib/intprops.h. + +2011-03-13 Paul Eggert + + Fix more problems found by GCC 4.5.2's static checks. + + * gtkutil.c (xg_get_pixbuf_from_pixmap): Add cast from char * + to unsigned char * to avoid compiler diagnostic. + (xg_free_frame_widgets): Make it clear that a local variable is + needed only if USE_GTK_TOOLTIP. + (gdk_window_get_screen): Make it clear that this macro is needed + only if USE_GTK_TOOLTIP. + (int_gtk_range_get_value): New function, which avoids a diagnostic + from gcc -Wbad-function-cast. + (xg_set_toolkit_scroll_bar_thumb): Use it. + (xg_tool_bar_callback, xg_tool_item_stale_p): Rewrite to avoid + diagnostic from gcc -Wbad-function-cast. + (get_utf8_string, xg_get_file_with_chooser): + Rename locals to avoid shadowing. + (create_dialog): Move locals to avoid shadowing. + + * xgselect.c (xg_select): Remove unused var. + + * image.c (four_corners_best): Mark locals as initialized. + (gif_load): Initialize transparent_p to zero (Bug#8238). + Mark another local as initialized. + (my_png_error, my_error_exit): Mark with NO_RETURN. + + * image.c (clear_image_cache): Now static. + (DIM, HAVE_STDLIB_H_1): Remove unused macros. + (xpm_load): Redo to avoid "discards qualifiers" gcc warning. + (x_edge_detection): Remove unnecessary cast that + gcc -Wbad-function-cast diagnoses. + (gif_load): Fix pointer signedness. + (clear_image_cache, xbm_read_bitmap_data, x_detect_edges): + (jpeg_load, gif_load): Rename locals to avoid shadowing. + +2011-03-12 Paul Eggert + + Improve quality of tests for time stamp overflow. + For example, without this patch (encode-time 0 0 0 1 1 + 1152921504606846976) returns the obviously-bogus value (-948597 + 62170) on my RHEL 5.5 x86-64 host. With the patch, it correctly + reports time overflow. See + . + * deps.mk (editfns.o): Depend on ../lib/intprops.h. + * editfns.c: Include limits.h and intprops.h. + (TIME_T_MIN, TIME_T_MAX): New macros. + (time_overflow): Move earlier, to before first use. + (hi_time, lo_time): New functions, for an accurate test for + out-of-range times. + (Fcurrent_time, Fget_internal_run_time, make_time): Use them. + (Fget_internal_run_time): Don't assume time_t fits in int. + (make_time): Use list2 instead of Fcons twice. + (Fdecode_time): More accurate test for out-of-range times. + (check_tm_member): New function. + (Fencode_time): Use it, to test for out-of-range times. + (lisp_time_argument): Don't rely on undefined left-shift and + right-shift behavior when checking for time stamp overflow. + + * editfns.c (time_overflow): New function, refactoring common code. + (Fformat_time_string, Fdecode_time, Fencode_time): + (Fcurrent_time_string): Use it. + + Move 'make_time' to be next to its inverse 'lisp_time_argument'. + * dired.c (make_time): Move to ... + * editfns.c (make_time): ... here. + * systime.h: Note the move. + +2011-03-12 YAMAMOTO Mitsuharu - * lread.c (read_escape): In a string, \s is always space. + * fringe.c (update_window_fringes): Remove unused variables. -2007-04-27 Jan Djärv + * unexmacosx.c (copy_data_segment): Also copy __got section. + (Bug#8223) - * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog. +2011-03-12 Eli Zaretskii + + * termcap.c [MSDOS]: Include "msdos.h". + (find_capability, tgetnum, tgetflag, tgetstr, tputs, tgetent): + Constify `char *' arguments and their references according to + prototypes in tparam.h. + + * deps.mk (termcap.o): Depend on tparam.h and msdos.h. + + * msdos.c (XMenuAddPane): 3rd argument is `const char *' now. + Adapt all references accordingly. + + * msdos.h (XMenuAddPane): 3rd argument is `const char *' now. + +2011-03-11 Tom Tromey + + * buffer.c (syms_of_buffer): Remove obsolete comment. + +2011-03-11 Eli Zaretskii + + * termhooks.h (encode_terminal_code): Declare prototype. + + * msdos.c (encode_terminal_code): Don't declare prototype. + + * term.c (encode_terminal_code): Now external again, used by + w32console.c and msdos.c. + + * makefile.w32-in ($(BLD)/term.$(O), ($(BLD)/tparam.$(O)): + Depend on $(SRC)/tparam.h, see 2011-03-11T07:24:21Z!eggert@cs.ucla.edu. + +2011-03-11 Paul Eggert + + Fix some minor problems found by GCC 4.5.2's static checks. + + * fringe.c (update_window_fringes): Mark locals as initialized + (Bug#8227). + (destroy_fringe_bitmap, init_fringe_bitmap): Now static. + + * alloc.c (mark_fringe_data): Move decl from here ... + * lisp.h (mark_fringe_data) [HAVE_WINDOW_SYSTEM]: ... to here, + to check its interface. + (init_fringe_once): Do not declare unless HAVE_WINDOW_SYSTEM. + + * fontset.c (free_realized_fontset): Now static. + (Fset_fontset_font): Rename local to avoid shadowing. + (fontset_font): Mark local as initialized. + (FONTSET_SPEC, FONTSET_REPERTORY, RFONT_DEF_REPERTORY): Remove; unused. + + * xrdb.c: Include "xterm.h", to check x_load_resources's interface. + + * xselect.c (x_disown_buffer_selections): Remove; not used. + (TRACE3) [!defined TRACE_SELECTION]: Remove; not used. + (x_own_selection, Fx_disown_selection_internal): Rename locals + to avoid shadowing. + (x_handle_dnd_message): Remove local to avoid shadowing. + + * lisp.h (GCPRO1_VAR, UNGCPRO_VAR): New macros, + so that the caller can use some name other than gcpro1. + (GCPRO1, UNGCPRO): Reimplement in terms of the new macros. + * xfns.c (Fx_create_frame, x_create_tip_frame, Fx_show_tip): + (Fx_backspace_delete_keys_p): + Use them to avoid shadowing, and rename vars to avoid shadowing. + (x_decode_color, x_set_name, x_window): Now static. + (Fx_create_frame): Add braces to silence GCC warning. + (Fx_file_dialog, Fx_select_font): Fix pointer signedness. + (x_real_positions, xg_set_icon_from_xpm_data, x_create_tip_frame): + Remove unused locals. + (Fx_create_frame, x_create_tip_frame, Fx_show_tip): + (Fx_backspace_delete_keys_p): Rename locals to avoid shadowing. + Some of these renamings use the new GCPRO1_VAR and UNGCPRO_VAR + macros. + + * xterm.h (x_mouse_leave): New decl. + + * xterm.c (x_copy_dpy_color, x_focus_on_frame, x_unfocus_frame): + Remove unused functions. + (x_shift_glyphs_for_insert, XTflash, XTring_bell): + (x_calc_absolute_position): Now static. + (XTread_socket): Don't define label "out" unless it's used. + Don't declare local "event" unless it's used. + (x_iconify_frame, x_free_frame_resources): Don't declare locals + unless they are used. + (XEMBED_VERSION, xembed_set_info): Don't define unless needed. + (x_fatal_error_signal): Remove; not used. + (x_draw_image_foreground, redo_mouse_highlight, XTmouse_position): + (x_scroll_bar_report_motion, handle_one_xevent, x_draw_bar_cursor): + (x_error_catcher, x_connection_closed, x_error_handler): + (x_error_quitter, xembed_send_message, x_iconify_frame): + (my_log_handler): Rename locals to avoid shadowing. + (x_delete_glyphs, x_ins_del_lines): Mark with NO_RETURN. + (x_connection_closed): Tell GCC not to suggest NO_RETURN. + + * xfaces.c (clear_face_cache, Fx_list_fonts, Fface_font): + Rename or move locals to avoid shadowing. + (tty_defined_color, merge_face_heights): Now static. + (free_realized_faces_for_fontset): Remove; not used. + (Fx_list_fonts): Mark variable that gcc -Wuninitialized + does not deduce is never used uninitialized. + (STRDUPA, LSTRDUPA, FONT_POINT_SIZE_QUANTUM): Remove; not used. + (LFACEP): Define only if XASSERTS, as it's not needed otherwise. + + * terminal.c (store_terminal_param): Now static. + + * xmenu.c (menu_highlight_callback): Now static. + (set_frame_menubar): Remove unused local. + (xmenu_show): Rename parameter to avoid shadowing. + (xmenu_show, xdialog_show, xmenu_show): Make local pointers "const" + since they might point to immutable storage. + (next_menubar_widget_id): Declare only if USE_X_TOOLKIT, + since it's unused otherwise. + + * xdisp.c (produce_glyphless_glyph): Initialize lower_xoff. + Add a FIXME, since the code still doesn't look right. (Bug#8215) + (Fcurrent_bidi_paragraph_direction): Simplify slightly; this + avoids a gcc -Wuninitialized diagnostic. + (display_line, BUILD_COMPOSITE_GLYPH_STRING, draw_glyphs): + (note_mouse_highlight): Mark variables that gcc -Wuninitialized + does not deduce are never used uninitialized. + + * lisp.h (IF_LINT): New macro, copied from ../lib-src/emacsclient.c. + + * xdisp.c (redisplay_window): Rename local to avoid shadowing. + * window.c (window_loop, size_window): + (run_window_configuration_change_hook, enlarge_window): Likewise. + + * window.c (display_buffer): Now static. + (size_window): Mark variables that gcc -Wuninitialized + does not deduce are never used uninitialized. + * window.h (check_all_windows): New decl, to forestall + gcc -Wmissing-prototypes diagnostic. + * dispextern.h (bidi_dump_cached_states): Likewise. + + * charset.h (CHECK_CHARSET_GET_CHARSET): Rename locals to avoid + shadowing. + * charset.c (map_charset_for_dump, Fchar_charset): Likewise. + Include . + (Fsort_charsets): Redo min/max calculation to shorten the code a bit + and to avoid gcc -Wuninitialized warning. + (load_charset_map): Mark variables that gcc -Wuninitialized + does not deduce are never used uninitialized. + (load_charset): Abort instead of using uninitialized var (Bug#8229). + + * coding.c (coding_set_source, coding_set_destination): + Use "else { /* comment */ }" rather than "else /* comment */;" + for clarity, and to avoid gcc -Wempty-body warning. + (Fdefine_coding_system_internal): Don't redeclare 'i' inside + a block, when the outer 'i' will do. + (decode_coding_utf_8, decode_coding_utf_16, detect_coding_emacs_mule): + (emacs_mule_char, decode_coding_emacs_mule, detect_coding_iso_2022): + (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5): + (decode_coding_raw_text, decode_coding_charset, get_translation_table): + (Fdecode_sjis_char, Fdefine_coding_system_internal): + Rename locals to avoid shadowing. + * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise. + * coding.c (emacs_mule_char, encode_invocation_designation): + Now static, since they're not used elsewhere. + (decode_coding_iso_2022): Add "default: abort ();" as a safety check. + (decode_coding_object, encode_coding_object, detect_coding_system): + (decode_coding_emacs_mule): Mark variables that gcc + -Wuninitialized does not deduce are never used uninitialized. + (detect_coding_iso_2022): Initialize a local variable that might + be used uninitialized. Leave a FIXME because it's not clear that + this initialization is needed. (Bug#8211) + (ISO_CODE_LF, ISO_CODE_CR, CODING_ISO_FLAG_EUC_TW_SHIFT): + (ONE_MORE_BYTE_NO_CHECK, UTF_BOM, UTF_16_INVALID_P): + (SHIFT_OUT_OK, ENCODE_CONTROL_SEQUENCE_INTRODUCER): + (ENCODE_DIRECTION_R2L, ENCODE_DIRECTION_L2R): + Remove unused macros. + + * category.c (hash_get_category_set): Remove unused local var. + (copy_category_table): Now static, since it's not used elsewhere. + * character.c (string_count_byte8): Likewise. + + * ccl.c (CCL_WRITE_STRING, CCL_ENCODE_CHAR, Fccl_execute_on_string): + (Fregister_code_conversion_map): Rename locals to avoid shadowing. + + * chartab.c (copy_sub_char_table): Now static, since it's not used + elsewhere. + (sub_char_table_ref_and_range, char_table_ref_and_range): + Rename locals to avoid shadowing. + (ASET_RANGE, GET_SUB_CHAR_TABLE): Remove unused macros. + + * bidi.c (bidi_check_type): Now static, since it's not used elsewhere. + (BIDI_BOB): Remove unused macro. + + * cm.c (cmgoto): Mark variables that gcc -Wuninitialized does not + deduce are never used uninitialized. + * term.c (encode_terminal_code): Likewise. + + * term.c (encode_terminal_code): Now static. Remove unused local. + + * tparam.h: New file. + * term.c, tparam.h: Include it. + * deps.mk (term.o, tparam.o): Depend on tparam.h. + * term.c (tputs, tgetent, tgetflag, tgetnum, tparam, tgetstr): + Move these decls to tparam.h, and make them agree with what + is actually in tparam.c. The previous trick of using incompatible + decls in different modules does not conform to the C standard. + All callers of tparam changed to use tparam's actual API. + * tparam.c (tparam1, tparam, tgoto): + Use const pointers where appropriate. + + * cm.c (calccost, cmgoto): Use const pointers where appropriate. + * cm.h (struct cm): Likewise. + * dispextern.h (do_line_insertion_deletion_costs): Likewise. + * scroll.c (ins_del_costs, do_line_insertion_deletion_costs): Likewise. + * term.c (tty_ins_del_lines, calculate_costs, struct fkey_table): + (term_get_fkeys_1, append_glyphless_glyph, produce_glyphless_glyph): + (turn_on_face, init_tty): Likewise. + * termchar.h (struct tty_display_info): Likewise. + + * term.c (term_mouse_position): Rename local to avoid shadowing. + + * alloc.c (mark_ttys): Move decl from here ... + * lisp.h (mark_ttys): ... to here, so that it's checked against defn. + +2011-03-11 Andreas Schwab + + * .gdbinit (pwinx, xbuffer): Fix access to buffer name. + +2011-03-09 Juanma Barranquero + + * search.c (compile_pattern_1): Remove argument regp, unused since + revid:rms@gnu.org-19941211082627-3x1g1wyqkjmwloig. + (compile_pattern): Don't pass it. + +2011-03-08 Jan Djärv + + * xterm.h (DEFAULT_GDK_DISPLAY): New define. + (GDK_WINDOW_XID, gtk_widget_get_preferred_size): New defines + for ! HAVE_GTK3. + (GTK_WIDGET_TO_X_WIN): Use GDK_WINDOW_XID. + + * xmenu.c (menu_position_func): Call gtk_widget_get_preferred_size. + + * gtkutil.c: Include gtkx.h if HAVE_GTK3. If ! HAVE_GTK3, define + gdk_window_get_screen, gdk_window_get_geometry, + gdk_x11_window_lookup_for_display and GDK_KEY_g. + (xg_set_screen): Use DEFAULT_GDK_DISPLAY. + (xg_get_pixbuf_from_pixmap): New function. + (xg_get_pixbuf_from_pix_and_mask): Change parameters from GdkPixmap + to Pixmap, take frame as parameter, remove GdkColormap parameter. + Call xg_get_pixbuf_from_pixmap instead of + gdk_pixbuf_get_from_drawable. + (xg_get_image_for_pixmap): Do not make GdkPixmaps, call + xg_get_pixbuf_from_pix_and_mask with Pixmap parameters instead. + (xg_check_special_colors): Use GtkStyleContext and its functions + for HAVE_GTK3. + (xg_prepare_tooltip, xg_hide_tooltip): Call gdk_window_get_screen. + (xg_prepare_tooltip, create_dialog, menubar_map_cb) + (xg_update_frame_menubar, xg_tool_bar_detach_callback) + (xg_tool_bar_attach_callback, xg_update_tool_bar_sizes): + Call gtk_widget_get_preferred_size. + (xg_frame_resized): gdk_window_get_geometry only takes 5 + parameters. + (xg_win_to_widget, xg_event_is_for_menubar): + Call gdk_x11_window_lookup_for_display. + (xg_set_widget_bg): New function. + (delete_cb): New function. + (xg_create_frame_widgets): Connect delete-event to delete_cb. + Call xg_set_widget_bg. Only set backgrund pixmap for ! HAVE_GTK3 + (xg_set_background_color): Call xg_set_widget_bg. + (xg_set_frame_icon): Call xg_get_pixbuf_from_pix_and_mask. + (xg_create_scroll_bar): vadj is a GtkAdjustment for HAVE_GTK3. + Only call gtk_range_set_update_policy if ! HAVE_GTK3. + (xg_make_tool_item): Only connect xg_tool_bar_item_expose_callback + if ! HAVE_GTK3. + (update_frame_tool_bar): Call gtk_widget_hide. + (xg_initialize): Use GDK_KEY_g. + + * xsmfns.c (gdk_set_sm_client_id): Define to gdk_set_sm_client_id + if ! HAVE_GTK3 + (x_session_initialize): Call gdk_x11_set_sm_client_id. + + * xterm.c (XFillRectangle): Use cairo routines for HAVE_GTK3. + (x_term_init): Disable Xinput(2) with GDK_CORE_DEVICE_EVENTS. + Load ~/emacs.d/gtkrc only for ! HAVE_GTK3. + +2011-03-08 Juanma Barranquero - * gtkutil.c (xg_update_menubar, create_menus): Create empty - submenu for menu bar items. + * w32xfns.c (select_palette): Check success of RealizePalette against + GDI_ERROR, not zero. -See ChangeLog.10 for earlier changes. +See ChangeLog.11 for earlier changes. ;; Local Variables: ;; coding: utf-8 diff --cc src/xmenu.c index 7fcd2ad3724,bd3aea89e3a..0dd652b566d --- a/src/xmenu.c +++ b/src/xmenu.c @@@ -1604,9 -1658,20 +1604,20 @@@ create_and_show_popup_menu (FRAME_PTR f #endif /* not USE_GTK */ + static Lisp_Object + cleanup_widget_value_tree (Lisp_Object arg) + { + struct Lisp_Save_Value *p = XSAVE_VALUE (arg); + widget_value *wv = p->pointer; + + free_menubar_widget_value_tree (wv); + + return Qnil; + } + Lisp_Object xmenu_show (FRAME_PTR f, int x, int y, int for_click, int keymaps, - Lisp_Object title, char **error, EMACS_UINT timestamp) + Lisp_Object title, const char **error_name, Time timestamp) { int i; widget_value *wv, *save_wv = 0, *first_wv = 0, *prev_wv = 0;