* font.c (font_range): Add pos_byte argument. Adjust comment
[bpt/emacs.git] / src / ChangeLog
index dc0ae08..bf27fd4 100644 (file)
@@ -1,3 +1,217 @@
+2013-02-13  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * font.c (font_range): Add pos_byte argument.  Adjust comment
+       and break long line.
+       * font.h (font_range): Adjust prototype.
+       * composite.c (autocmp_chars): Pass byte position to font_range.
+       Break long line.  Remove useless prototype and format comment.
+
+2013-02-13  Glenn Morris  <rgm@gnu.org>
+
+       * keyboard.c (input-decode-map, key-translation-map): Doc fixes.
+
+2013-02-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Improve AIX port some more (Bug#13650).
+       With this, it should be as good as it was in 23.3, though it's
+       still pretty bad: the dumped emacs does not run.  See Mark Fleishman in
+       http://lists.gnu.org/archive/html/help-gnu-emacs/2011-04/msg00287.html
+       * unexaix.c (start_of_text): Remove.
+       (_data, _text): Declare as char[], not int, as AIX manual suggests.
+       (bias, lnnoptr, text_scnptr, data_scnptr, load_scnptr)
+       (orig_load_scnptr, orig_data_scnptr):
+       Now off_t, not long, since they are file offsets.
+       (make_hdr): Use _data, not start_of_data ().
+       This is the key part of the fix.
+       (make_hdr, unrelocate_symbols): Use off_t for file offsets.
+       (unrelocate_symbols): Cast pointers to intptr_t, not to ulong.
+
+       * pre-crt0.c (data_start): Initialize to 1.
+       This ports to compilers that optimize the external declaration
+       'int x = 0;' as if it were 'int x;' to shrink the executable.
+
+       Improve AIX port (Bug#13650).
+       This doesn't fix the bug, but it makes progress: Emacs builds now.
+       * unexaix.c: Include inttypes.h, stdarg.h.
+       (report_error, report_error_1): Mark as _Noreturn.
+       (report_error): Don't report the wrong errno.
+       (report_error_1): Now varargs.  All callers changed.
+       (make_hdr): Use uintptr_t, not unsigned, when converting pointers
+       to unsigned.  Don't use ADDR_CORRECT, as it no longer exists.
+       (write_ptr): Use %p to print address rather than %lx and a cast
+       to unsigned long.  Grow buffer a bit, to be safer.
+
+2013-02-13  Eli Zaretskii  <eliz@gnu.org>
+
+       * bidi.c (bidi_resolve_neutral): After finding the next
+       non-neutral character, accept NEUTRAL_ON type as well, because
+       directional control characters, such as LRE and RLE, have their
+       type converted to that by bidi_resolve_weak.  This avoids aborts
+       when LRE/RLE follows a run of neutrals.
+       (bidi_move_to_visually_next): Assert that return value of
+       bidi_peek_at_next_level is non-negative.  Negative values will
+       cause an infloop.
+
+2013-02-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Minor getenv-related fixes.
+       * callproc.c (Fcall_process_region) [!DOS_NT]:
+       Avoid unnecessary duplicate call to getenv.
+       * callproc.c (init_callproc):
+       * dispnew.c (init_display):
+       * sysdep.c (sys_subshell):
+       Omit unnecessary cast of getenv or egetenv.
+
+2013-02-13  Juanma Barranquero  <lekktu@gmail.com>
+
+       * makefile.w32-in ($(BLD)/filelock.$(O), $(BLD)/sysdep.$(O)):
+       Update dependencies.
+
+2013-02-12  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (redisplay_internal): Don't set w->region_showing to the
+       marker's position.
+       (display_line): Set w->region_showing to the value of
+       it->region_beg_charpos, not to -1.  This fixes redisplay
+       optimization when cursor is moved up after M->.  (Bug#13623)
+       (Bug#13626)
+       (try_scrolling): Scroll text up more if point is too close to ZV
+       and inside the scroll margin.  This makes sure point is moved
+       outside the scroll margin in these cases.
+
+       * window.h (struct window): region_showing can no longer be
+       negative.
+
+2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Tune by using memchr and memrchr.
+       * doc.c (Fsnarf_documentation):
+       * fileio.c (Fsubstitute_in_file_name):
+       * search.c (find_newline, scan_newline):
+       * xdisp.c (pos_visible_p, display_count_lines):
+       Use memchr and memrchr rather than scanning byte-by-byte.
+       * search.c (find_newline): Rename from scan_buffer.
+       Omit first arg TARGET, as it's always '\n'.  All callers changed.
+
+       Clean up read_key_sequence a tiny bit more.
+       * keyboard.c (read_char_x_menu_prompt) [HAVE_MENUS]:
+       (read_key_sequence): Remove unused locals.
+
+2013-02-11  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Clean up read_key_sequence a bit; reread active keymaps after first event.
+       * keyboard.c (read_char, read_char_x_menu_prompt)
+       (read_char_minibuf_menu_prompt):
+       Replace nmaps+maps with a single `map' arg.
+       (follow_key): Operate on a single map.
+       (active_maps): New function.
+       (test_undefined): Also return true for nil bindings.
+       (read_key_sequence): Use active_maps to replace the arrays of keymaps with
+       a single (composed) keymap.  Remember `first_event' to choose the right
+       set of active keymaps.  Recompute the set of keymaps after receiving
+       the first event.  Remove GOBBLE_FIRST_EVENT.
+       (syms_of_keyboard): Remove inhibit_local_menu_bar_menus.
+       * keyboard.h (read_char): Update declaration.
+       * lread.c (read_filtered_event): Adjust call to read_char.
+
+2013-02-11  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (move_it_vertically_backward, move_it_by_lines):
+       Don't use the limitation on backwards movement when lines are truncated
+       in the window.  (Bug#13675)
+
+2013-02-11  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * marker.c (set_marker_internal): If desired position is passed
+       as a marker, avoid call to buf_charpos_to_bytepos.
+       * window.c (Fset_window_point): Omit redundant type checking.
+       (Fset_window_start): Likewise.  Format comment.
+       (window_scroll_pixel_based): Use set_marker_restricted_both
+       with character and byte positions obtained from an iterator.
+       (Fset_window_configuration): Use set_marker_restricted_both.
+       * xdisp.c (message_dolog): Likewise.
+
+2013-02-10  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (move_it_vertically_backward, move_it_by_lines):
+       When text lines are longer than window's screen lines, don't move back
+       too far.  This speeds up some redisplay operations.  (Bug#13675)
+
+2013-02-10  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * syntax.c (scan_sexps_forward): Fix byte position calculation
+       Bug#13664 (a.k.a Bug#13667) introduced with 2013-02-08 change.
+
+2013-02-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * fileio.c (Fexpand_file_name): Omit confusing pointer comparison
+       that was not needed.
+
+2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Minor hashing refactoring.
+       * fns.c (SXHASH_REDUCE): Move to lisp.h.
+       (sxhash_float): Return EMACS_UINT, for consistency with the other
+       hash functions.
+       * lisp.h (INTMASK): Now a macro, since SXHASH_REDUCE is now a
+       non-static inline function and therefore can't use static vars.
+       (SXHASH_REDUCE): Move here from fns.c, and make it inline.
+       * profiler.c (hashfn_profiler): Use SXHASH_REDUCE, to be consistent
+       with the other hash functions.
+
+2013-02-09  Eli Zaretskii  <eliz@gnu.org>
+
+       * callproc.c (Fcall_process_region) [WINDOWSNT]: Make sure the
+       XXXXXX part of the temporary file pattern is not downcased even
+       when w32-downcase-file-names is non-nil.  (Bug#13661)
+
+       * xdisp.c (decode_mode_spec): Remove handling of %t.
+
+       * msdos.c (careadlinkatcwd): Remove.
+
+2013-02-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lread.c (skip_dyn_bytes): New function (bug#12598).
+       (read1): Use it.  Use getc instead of READCHAR to read bytes.
+       (load_each_byte): Remove.  Update users.
+
+2013-02-08  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * search.c (scan_buffer): Calculate end byte position just once.
+       (scan_newline): Do not recalculate start_byte.
+       (search_command): Use eassert.
+       * syntax.c (struct lisp_parse_state): New member location_byte.
+       (scan_sexps_forward): Record from_byte and avoid redundant
+       character to byte position calculation ...
+       (Fparse_partial_sexp): ... here.  Break too long line.
+
+2013-02-08  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * lisp.h (make_uninit_vector): New function.
+       * alloc.c (Fvector, Fmake_byte_code):
+       * ccl.c (Fregister_ccl_program):
+       * charset.c (Fdefine_charset_internal, define_charset_internal):
+       * coding.c (make_subsidiaries, Fdefine_coding_system_internal):
+       * composite.c (syms_of_composite):
+       * font.c (Fquery_font, Ffont_info, syms_of_font):
+       * fontset.c (FONT_DEF_NEW, Fset_fontset_font):
+       * ftfont.c (ftfont_shape_by_flt):
+       * indent.c (recompute_width_table):
+       * nsselect.m (clean_local_selection_data):
+       * syntax.c (init_syntax_once):
+       * w32unsubscribe.c (uniscribe_shape):
+       * window.c (Fcurrent_window_configuration):
+       * xfaces.c (Fx_family_fonts):
+       * xselect.c (selection_data_to_lisp_data): Use it.
+
+2013-02-07  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * coding.c (Fdefine_coding_system_internal): Use AREF where
+       argument is known to be a vector.
+       * fns.c (Flocale_info): Likewise for ASET.
+       * xselect.c (selection_data_to_lisp_data): Likewise for ASET.
+       * w32fns.c (w32_parse_hot_key): Likewise for ASIZE and AREF.
+
 2013-02-05  Jan Djärv  <jan.h.d@swipnet.se>
 
        * nsmenu.m (update_frame_tool_bar): Check for negative tool bar
        * xdisp.c (window_buffer_changed): region_showing can be negative,
        which still means region is being displayed.
        (redisplay_internal): Resurrect code that forced redisplay of the
-       whole window when showing region and the mark has changed.  Record
-       the new mark position to allow redisplay optimizations.
+       whole window when showing region and the mark has changed.
+       Record the new mark position to allow redisplay optimizations.
        (display_line): If it->region_beg_charpos is non-zero, set the
        window's region_showing member to -1.  (Bug#13623)  (Bug#13626)
 
        * dired.c (file_name_completion): Don't call Fdirectory_file_name
        with an encoded file name.
 
-       * w32proc.c (Fw32_short_file_name, Fw32_long_file_name): Adjust
-       calls to dostounix_filename.
+       * w32proc.c (Fw32_short_file_name, Fw32_long_file_name):
+       Adjust calls to dostounix_filename.
 
        * w32fns.c (Fx_file_dialog): Adjust call to dostounix_filename.
 
        closing it.  (Bug#13546)
 
        * w32.c (parse_root, get_volume_info, readdir, read_unc_volume)
-       (logon_network_drive, stat_worker, symlink, chase_symlinks): Use
-       CharNextExA and CharPrevExA to iterate over file names encoded in
+       (logon_network_drive, stat_worker, symlink, chase_symlinks):
+       Use CharNextExA and CharPrevExA to iterate over file names encoded in
        DBCS.  (Bug#13553)
 
        * w32.c (w32_get_long_filename, init_environment, readlink):
        (normalize_filename, readdir): Use it to detect locales where ANSI
        encoding of file names uses a double-byte character set (DBCS).
        If a DBCS encoding is used, advance by characters using
-       CharNextExA, instead of incrementing a 'char *' pointer.  Use
-       _mbslwr instead of _strlwr.  (Bug#13515)
+       CharNextExA, instead of incrementing a 'char *' pointer.
+       Use _mbslwr instead of _strlwr.  (Bug#13515)
 
        * w32heap.c (allocate_heap) [!_WIN64]: Decrease the initial
        request of memory reservation to 1.7GB.  (Bug#13065)
        segfault when there are lots of overlays.
 
        * buffer.c (sort_overlays): Use SAFE_NALLOCA, to avoid segfault
-       when there are lots of overlays.  See
-       http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00421.html
+       when there are lots of overlays.
+       See http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00421.html
        for the details and a way to reproduce.
 
 2013-01-19  Paul Eggert  <eggert@cs.ucla.edu>
 
 2013-01-18  Dmitry Antipov  <dmantipov@yandex.ru>
 
-       Fix crash when inserting data from non-regular files.  See
-       http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00406.html
+       Fix crash when inserting data from non-regular files.
+       See http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00406.html
        for the error description produced by valgrind.
        * fileio.c (read_non_regular): Rename to read_contents.
        Free Lisp_Save_Value object used to pass parameters.
        (map_keymap_char_table_item): Adjust accordingly.
        * fileio.c (non_regular_fd, non_regular_inserted)
        (non_regular_nbytes): Remove.
-       (Finsert_file_contents): Convert trytry to ptrdiff_t.  Use
-       format_save_value to pass parameters to read_non_regular.
+       (Finsert_file_contents): Convert trytry to ptrdiff_t.
+       Use format_save_value to pass parameters to read_non_regular.
        (read_non_regular): Use XSAVE_ macros to extract parameters.
        Adjust comment.
        * xmenu.c (xmenu_show) [!USE_X_TOOLKIT && !USE_GTK]: Use
 
 2013-01-11  Aaron S. Hawley  <Aaron.Hawley@vtinfo.com>
 
-       * insdel.c (Fcombine_after_change_execute, syms_of_insdel): Fix
-        ambiguous doc string cross-reference(s).
+       * insdel.c (Fcombine_after_change_execute, syms_of_insdel):
+       Fix ambiguous doc string cross-reference(s).
 
        * keyboard.c (Fcommand_execute, syms_of_keyboard): Fix ambiguous
         doc string cross-reference(s).