Merge from emacs-23
[bpt/emacs.git] / src / ChangeLog
index 7ffb580..b656b0e 100644 (file)
+2010-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * sysdep.c (child_setup_tty): Move the non-canonical initialization to
+       the HAVE_TERMIO where it belongs (bug#6149).
+
+2010-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * keymap.c (Fwhere_is_internal): Fix handling of remapping (in thread
+       of bug#6305).
+
+2010-05-30  Eli Zaretskii  <eliz@gnu.org>
+
+       * bidi.c (bidi_move_to_visually_next): Make sure the sentinel
+       state is always cached (bug#6306).
+
+2010-05-29  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix cursor motion in bidi-reordered continued lines.
+       * xdisp.c (try_cursor_movement): Backup to non-continuation line
+       only after finding point's row.  Fix the logic.  Rewrite the loop
+       over continuation lines in bidi-reordered buffers.  Return
+       CURSOR_MOVEMENT_MUST_SCROLL upon failure to find a suitable row,
+       rather than CURSOR_MOVEMENT_CANNOT_BE_USED.
+
+2010-05-28  Michael Albinus  <michael.albinus@gmx.de>
+
+       * fileio.c (Fdelete_file): Pass TRASH arg to handler call.
+
+2010-05-28  Kenichi Handa  <handa@m17n.org>
+
+       * font.c (font_delete_unmatched): Check Vface_ignored_fonts.
+       Don't sheck SPEC if it is nil.
+       (font_list_entities): Call font_delete_unmatched if
+       Vface_ignored_fonts is non-nil.  (Bug#6287)
+
+2010-05-28  Glenn Morris  <rgm@gnu.org>
+
+       * Makefile.in (LIBES): Remove $LOADLIBES, it is never set.
+
+2010-05-27  Chong Yidong  <cyd@stupidchicken.com>
+
+       * fileio.c (Fdelete_file): Change meaning of optional arg to mean
+       whether to trash.
+       (internal_delete_file, Frename_file): Callers changed.
+       (delete_by_moving_to_trash): Doc fix.
+       (Fdelete_directory_internal): Don't move to trash.
+
+       * callproc.c (delete_temp_file):
+       * buffer.c (Fkill_buffer): Callers changed.
+
+       * lisp.h: Update prototype.
+
+2010-05-27  Chong Yidong  <cyd@stupidchicken.com>
+
+       * xdisp.c (redisplay_window): After redisplay, check if point is
+       still valid before setting it (Bug#6177).
+
+2010-05-27  Glenn Morris  <rgm@gnu.org>
+
+       * Makefile.in, autodeps.mk, deps.mk, ns.mk:
+       Convert comments to Makefile format.
+
+       * Makefile.in (bootstrap-clean): No more Makefile.c.
+
+2010-05-26  Glenn Morris  <rgm@gnu.org>
+
+       * Makefile.in (YMF_PASS_LDFLAGS): Remove.
+       (temacs${EXEEXT}): Use PRE_EDIT_LDFLAGS, POST_EDIT_LDFLAGS.
+
+       * Makefile.in (NS_IMPL_GNUSTEP_INC, NS_IMPL_GNUSTEP_TEMACS_LDFLAGS):
+       Remove.
+       (TEMACS_LDFLAGS): Do not use NS_IMPL_GNUSTEP_TEMACS_LDFLAGS.
+
+2010-05-26  Kenichi Handa  <handa@m17n.org>
+
+       * composite.c (composition_compute_stop_pos): Fix condition for
+       backward scanning.
+
+2010-05-25  Glenn Morris  <rgm@gnu.org>
+
+       * Makefile.in (@NS_IMPL_GNUSTEP_INC@, NS_IMPL_GNUSTEP_TEMACS_LDFLAGS):
+       Move before TEMACS_LDFLAGS.
+       (TEMACS_LDFLAGS): Use $NS_IMPL_GNUSTEP_TEMACS_LDFLAGS.
+       (temacs${EXEEXT}): Do not use $NS_IMPL_GNUSTEP_TEMACS_LDFLAGS.
+
+       * Makefile.in (NOT_C_CODE): No longer define.
+       (config.h): No longer include.
+
+       * Makefile.in (LD_SWITCH_SYSTEM_TEMACS): Move definition after some
+       variables it may reference.
+
+       * Makefile.in (LD_SWITCH_SYSTEM_EXTRA): Remove.
+       (TEMACS_LDFLAGS): Remove LD_SWITCH_SYSTEM_EXTRA.
+
+2010-05-25  Kenichi Handa  <handa@m17n.org>
+
+       * dispextern.h (struct composition_it): New members rule_idx and
+       charpos.
+
+       * xdisp.c (set_iterator_to_next): While scanning backward, assume
+       that the character positions of IT point the last character of the
+       current grapheme cluster.
+       (next_element_from_composition): Don't change character positions
+       of IT.
+       (append_composite_glyph): Set glyph->charpos to
+       it->cmp_it.charpos.
+
+       * composite.c (autocmp_chars): Change the first argument to RULE,
+       and try composition with RULE only.
+       (composition_compute_stop_pos): Record the index number of the
+       composition rule in CMP_IT->rule_idx.
+       (composition_reseat_it): Call autocmp_chars repeatedly until the
+       correct rule of the composition is found.
+       (composition_update_it): Set CMP_IT->charpos.  Assume the CHARPOS
+       is at the last character of the current grapheme cluster when
+       CMP_IT->reversed_p is nonzero.
+
+2010-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * editfns.c (Fbyte_to_string): New function.
+
+2010-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * process.c (Fmake_network_process): Set :host to nil if it's not used.
+       Suggested by Masatake YAMATO <yamato@redhat.com>.
+
+2010-05-23  Eli Zaretskii  <eliz@gnu.org>
+
+       * dispextern.h (init_iterator): Sync prototype with changed definition.
+
+2010-05-20  enami tsugutomo  <tsugutomo.enami@jp.sony.com>
+
+       * s/netbsd.h: If terminfo is found, use it in preference to
+       termcap.  (Bug#6190)  [Backport from trunk]
+
+2010-05-19  Eli Zaretskii  <eliz@gnu.org>
+
+       Redesign and reimplement bidi-aware edge positions of glyph rows.
+
+       * dispextern.h (struct glyph_row): New members minpos and maxpos.
+       (MATRIX_ROW_START_CHARPOS, MATRIX_ROW_START_BYTEPOS)
+       (MATRIX_ROW_END_CHARPOS, MATRIX_ROW_END_BYTEPOS): Reference minpos
+       and maxpos members instead of start.pos and end.pos, respectively.
+
+       * xdisp.c (display_line): Compare IT_CHARPOS with the position in
+       row->start.pos, rather than with MATRIX_ROW_START_CHARPOS.
+       (cursor_row_p): Use row->end.pos rather than MATRIX_ROW_END_CHARPOS.
+       (try_window_reusing_current_matrix, try_window_id):
+       Use ROW->minpos rather than ROW->start.pos.
+       (init_from_display_pos, init_iterator): Use EMACS_INT for
+       character and byte positions.
+       (find_row_edges): Rename from find_row_end.  Accept additional
+       arguments for minimum and maximum buffer positions seen by
+       display_line for this row.  Don't use iterator to find the
+       position following the maximum one; instead, increment the
+       position found by display_line directly.  Fix logic; eol_pos
+       should be tested before the rest.  Handle the case of characters
+       delivered from display vector (bug#6036).  Fix tests related to
+       it->method.  Handle the truncated_on_right_p rows.
+       (RECORD_MAX_MIN_POS): New macro.
+       (display_line): Use it to record the minimum and maximum buffer
+       positions for glyphs in the row being assembled.  Record the
+       position of the newline that terminates the line.  If word wrap is
+       in effect, restore minimum and maximum positions seen up to the
+       wrap point, when iterator returns to it.
+       (try_window_reusing_current_matrix): Give up if in bidi-reordered
+       row and cursor not already at point.  Restore original pre-bidi
+       code for unidirectional buffers.
+
+       * dispnew.c (increment_row_positions, check_matrix_invariants):
+       Increment and check row->start.pos and row->end.pos, in addition
+       to MATRIX_ROW_START_CHARPOS and MATRIX_ROW_END_CHARPOS.
+
+       * .gdbinit (prowlims): Display row->minpos and row->maxpos.
+       Display truncated_on_left_p and truncated_on_right_p flags.
+       Formatting fixes.
+       (pmtxrows): Display the ordinal number of each row.  Don't display
+       rows beyond the last one.
+
+       * bidi.c (bidi_cache_iterator_state): Don't zero out new_paragraph:
+       it is not copied by bidi_copy_it.
+
+2010-05-22  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32.c (sys_write): Break writes into chunks smaller than 32MB.
+       (Bug#6237)
+
+2010-05-22  Chong Yidong  <cyd@stupidchicken.com>
+
+       * image.c (Fimage_flush): Rename from image-refresh.
+
+2010-05-21  Chong Yidong  <cyd@stupidchicken.com>
+
+       * xdisp.c (redisplay_internal): Clear caches even if redisplaying
+       just one window.
+
+       * image.c (Vimage_cache_eviction_delay): Decrease to 300.
+       (clear_image_cache): If the number of cached images is unusually
+       large, decrease the cache eviction delay (Bug#6230).
+
+2010-05-21  Glenn Morris  <rgm@gnu.org>
+
+       * Makefile.in (${ns_appdir}, ${ns_appbindir}Emacs, ns-app):
+       Move these rules to ns.mk.
+       * ns.mk: New file.
+
+       * Makefile.in (../src/$(OLDXMENU), $(OLDXMENU)): Always define rules.
+
+       * Makefile.in (CANNOT_DUMP): New, set by configure.
+       (emacs${EXEEXT}, bootstrap-emacs${EXEEXT}): Use $CANNOT_DUMP.
+
+2010-05-20  Juri Linkov  <juri@jurta.org>
+
+       * fileio.c (Fdelete_file): Change interative spec to use
+       `read-file-name' like in `find-file-read-args' where the default
+       value is `default-directory' instead of `buffer-file-name'.
+       http://lists.gnu.org/archive/html/emacs-devel/2010-05/msg00533.html
+
+2010-05-20  Kevin Ryde  <user42@zip.com.au>
+
+       * keyboard.c (Vlast_command, Vkeyboard_translate_table)
+       (Voverriding_terminal_local_map, Vsystem_key_alist)
+       (Vlocal_function_key_map): Fix manual link in docstring (Bug#6224).
+
+2010-05-20  Glenn Morris  <rgm@gnu.org>
+
+       * Makefile.in (DEPDIR): New constant.
+       (DEPFLAGS): Set with configure, not cpp.
+       (MKDEPDIR): New, set by configure.
+       (.c.o, .m.o, ecrt0.o): Use $MKDEPDIR.
+       (clean): Use $DEPDIR.
+       (deps_frag): Include from configure.
+       Move static/dynamic dependency stuff to deps.mk/autodeps.mk.
+       * deps.mk, autodeps.mk: New files, extracted from Makefile.in.
+
+       * bidi.c (bidi_cache_shrink, bidi_cache_iterator_state): Fix
+       reallocation of the cache.  (Bug#6210)
+
+2010-05-19  Glenn Morris  <rgm@gnu.org>
+
+       * s/msdos.h (ORDINARY_LINK): Move to sed2v2.inp.
+
+       * Makefile.in (LD, YMF_PASS_LDFLAGS): Set with configure, not cpp.
+       (GNULIB_VAR): Remove.
+       (LIBES): Use LIB_GCC instead of GNULIB_VAR.
+
+       * m/ibms390x.h (LINKER):
+       * m/macppc.h (LINKER) [GNU_LINUX]:
+       * s/aix4-2.h (ORDINARY_LINK):
+       * s/cygwin.h (LINKER):
+       * s/darwin.h (ORDINARY_LINK):
+       * s/gnu.h (ORDINARY_LINK):
+       * s/netbsd.h (LINKER):
+       * s/usg5-4.h (ORDINARY_LINK):
+       Move to configure.
+
+       * s/aix4-2.h (LINKER): Remove; this file sets ORDINARY_LINK.
+
+2010-05-18  Chong Yidong  <cyd@stupidchicken.com>
+
+       * character.c (Fstring, Funibyte_string): Use SAFE_ALLOCA to
+       prevent stack overflow if number of arguments is too large
+       (Bug#6214).
+
+2010-05-18  Juanma Barranquero  <lekktu@gmail.com>
+
+       * charset.c (load_charset_map_from_file): Don't call close after fclose.
+
+2010-05-18  Glenn Morris  <rgm@gnu.org>
+
+       * s/gnu-linux.h: Combine two conditionals.
+
+       * Makefile.in (otherobj): Include $(VMLIMIT_OBJ) separately from
+       $(POST_ALLOC_OBJ).
+
+       * Makefile.in (RALLOC_OBJ): New, set by configure.
+       (rallocobj): Replace with the previous variable.
+       (otherobj): Use $RALLOC_OBJ.
+
+       * s/gnu.h (REL_ALLOC) [DOUG_LEA_MALLOC]:
+       * s/gnu-linux.h (REL_ALLOC) [DOUG_LEA_MALLOC]: Move undef to configure.
+
+       * Makefile.in (GMALLOC_OBJ, VMLIMIT_OBJ): New, set by configure.
+       (gmallocobj, vmlimitobj): Replace with previous two variables.
+       (otherobj): Use $GMALLOC_OBJ, $VMLIMIT_OBJ.
+
+2010-05-17  Glenn Morris  <rgm@gnu.org>
+
+       * Makefile.in (OLDXMENU_DEPS): New, set by configure.
+       (stamp-oldxmenu): Use $OLDXMENU_DEPS.
+
+2010-05-16  Glenn Morris  <rgm@gnu.org>
+
+       * Makefile.in (${ns_appbindir}Emacs, ns-app): Always define these rules.
+
+       * Makefile.in (clean): Get rid of HAVE_NS conditional.
+
+       * Makefile.in (ns_appdir, ns_appbindir): Now configure adds the
+       trailing "/".
+
+       * Makefile.in (TEMACS_LDFLAGS2): New, set by configure.
+       (temacs${EXEEXT}): Combine the NS_IMPL_GNUSTEP case with the default.
+
+       * Makefile.in (GNUSTEP_SYSTEM_LIBRARIES): Remove, unused.
+       (NS_IMPL_GNUSTEP_TEMACS_LDFLAGS): New, set by configure.
+       (LD) [NS_IMPL_GNUSTEP]: Set to $(CC) -rdynamic.
+       (temacs${EXEEXT}): Remove $LOCALCPP, never defined or referenced.
+       Make most of the NS_IMPL_GNUSTEP case the same as the default case.
+
+       * Makefile.in (temacs${EXEEXT}) [!NS_IMPL_GNUSTEP]:
+       Remove ${STARTFLAGS}, nothing ever sets it.
+
+2010-05-16  Dan Nicolaescu  <dann@ics.uci.edu>
+
+       * m/ia64.h (UNEXEC): Remove, set in s/*.h.
+
+2010-05-16  Glenn Morris  <rgm@gnu.org>
+
+       * Makefile.in (LIBX_BASE): Always define.
+
+       * Makefile.in (LIBX_OTHER): Move out of cpp section.
+
+       * Makefile.in (LIBXT): Always define.
+
+2010-05-15  Glenn Morris  <rgm@gnu.org>
+
+       * Makefile.in (OLDXMENU, LIBXMENU, LIBX_OTHER): Always define.
+
+       * Makefile.in (FONT_DRIVERS): Remove, replace with $FONT_OBJ.
+       (obj, SOME_MACHINE_OBJECTS): Use $FONT_OBJ.
+
+2010-05-15  Ken Raeburn  <raeburn@raeburn.org>
+
+       * lisp.h (XFLOAT_DATA): Use "0?x:x" to generate an rvalue.  (Bug#5916)
+       (LISP_MAKE_RVALUE) [!USE_LISP_UNION_TYPE && !__GNUC__]: Likewise.
+
+       * emacs.c (main): Initialize initial-environment and
+       process-environment before generating from env, not after.
+
+       Handle --version reasonably in CANNOT_DUMP configuration.
+       * emacs.c (emacs_version, emacs_copyright): New string variables.
+       (Vemacs_version, Vemacs_copyright): New Lisp_Object variables.
+       (syms_of_emacs): Defvar them, and initialize them from the C
+       string variables.
+       (main): If initialization hasn't been done, print initial version
+       info from the C strings, instead of starting an interactive session.
+
+2010-05-15  Eli Zaretskii  <eliz@gnu.org>
+
+       * bidi.c (bidi_paragraph_init): Don't leave alone garbage values
+       of bidi_it->paragraph_dir.  Call bidi_initialize if needed.
+       (bidi_paragraph_init): Remove redundant assertion that we are at
+       the beginning of a line after call to bidi_find_paragraph_start.
+
+       * xdisp.c (Fcurrent_bidi_paragraph_direction): New function.
+       (syms_of_xdisp): Defsubr it.
+
+       * cmds.c (Fforward_char, Fbackward_char): Doc fix.
+
+       * Makefile.in: Fix MSDOS-related comments.
+
+2010-05-15  Glenn Morris  <rgm@gnu.org>
+
+       * Makefile.in (OLDXMENU_TARGET): New, set by configure.
+       (really-lwlib, really-oldXMenu): Always define.
+       ($OLDXMENU): Depend on $OLDXMENU_TARGET.
+
+       * Makefile.in: Simplify cpp conditional.
+
+       * Makefile.in (${ns_appdir}): Simplify using umask.
+
+       * Makefile.in (${ns_appdir}): Remove references to CVS-related files.
+
+2010-05-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * eval.c (specbind): Remove left-over duplicate test.
+       Disallow let-binding frame-local vars.  Add comment.
+
+2010-05-14  Eli Zaretskii  <eliz@gnu.org>
+
+       Make the cache of bidi iterator states dynamically allocated.
+       * bidi.c (bidi_cache_shrink): New function.
+       (bidi_init_it): Call it.
+       (bidi_cache_iterator_state): Enlarge the cache if needed.
+
+       * bidi.c (bidi_move_to_visually_next): Rename from
+       bidi_get_next_char_visually.  All callers changed.
+
 2010-05-14  Kenichi Handa  <handa@m17n.org>
 
-       * font.c (font_range): Return the range for the font found at
-       first.
+       * dispextern.h (struct composition_it): New member reversed_p.
+
+       * composite.c (composition_compute_stop_pos): Search backward if
+       ENDPOS < CHARPOS.
+       (composition_reseat_it): Handle the case that ENDPOS < CHARPOS.
+       Set CMP_IT->reversed_p.
+       (composition_update_it): Pay attention to CMP_IT->reversed_p.
+
+       * xdisp.c (set_iterator_to_next):
+       Call composition_compute_stop_pos with negative ENDPOS if we are
+       scanning backward.  Call composition_compute_stop_pos if scan
+       direction is changed.
+       (next_element_from_buffer): Call composition_compute_stop_pos with
+       negative ENDPOS if we are scanning backward.
+       (next_element_from_composition): Pay attention to
+       IT->cmp_it.reversed_p.
+
+2010-05-14  Kenichi Handa  <handa@m17n.org>
+
+       * font.c (font_range): Return the range for the font found at first.
 
 2010-05-14  Glenn Morris  <rgm@gnu.org>
 
+       * Makefile.in (ns_appdir, ns_appbindir, ns_appsrc): Always define.
+
        * Makefile.in (mktime, X11, register): Move undefs to configure.
 
        * Makefile.in (MSDOS_OBJ): Default to empty, let msdos scripts set it.
        (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,
+       (xg_create_frame_widgets): Remove variable grav.
 
 2010-02-21  Chong Yidong  <cyd@stupidchicken.com>
 
 
        * xfns.c (Fx_create_frame): Remove window size matching code from
        2010-01-15.
-       (x_get_current_desktop, x_get_desktop_workarea): Remove
+       (x_get_current_desktop, x_get_desktop_workarea): Remove.
 
 2010-01-27  Jason Rumney  <jasonr@gnu.org>
 
        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
+       * emacs.c (main): Call syms_of_xsettings.
 
        * config.in: HAVE_GCONF is new.
 
        (composition_adjust_point, Fcomposition_get_gstring): New functions.
        (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
        and gstring_work_headers.  DEFVAR_LISP composition-function-table.
-       Defsubr compostion_get_gstring.
+       Defsubr composition_get_gstring.
 
        * dispextern.h (struct glyph): New union u.cmp.  Delete the member
        cmp_id.
        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, 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)