Speed up generate-new-buffer-name for invisible buffers (bug#1229)
[bpt/emacs.git] / src / ChangeLog
index 2c8d7eb..805b189 100644 (file)
@@ -1,3 +1,264 @@
+2012-07-03  Glenn Morris  <rgm@gnu.org>
+
+       * lisp.h (Frandom): Make it visible to C.
+       * buffer.c (Fgenerate_new_buffer_name): Speed up finding a new
+       buffer for invisible buffers.  (Bug#1229)
+
+2012-07-03  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Fix block vector allocation code to allow VECTOR_BLOCK_SIZE
+       values which aren't power of 2.
+       * alloc.c (VECTOR_FREE_LIST_SIZE_MASK): New macro.  Verify
+       it's value and the value of VECTOR_BLOCK_SIZE.  Adjust users
+       accordingly.
+
+2012-07-03  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp.h (Lisp_Misc, Lisp_Fwd): Move around to group better.
+
+       * alloc.c (mark_object): Revert part of last patch to use `switch'.
+
+2012-07-03  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * alloc.c (allocate_vector_block): Remove redundant
+       calls to mallopt if DOUG_LEA_MALLOC is defined.
+       (allocate_vectorlike): If DOUG_LEA_MALLOC is defined,
+       avoid calls to mallopt if zero_vector is returned.
+
+2012-07-03  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * alloc.c (check_string_bytes): If GC_CHECK_STRING_BYTES
+       is enabled, avoid dereferencing NULL current_sblock if
+       running undumped.
+
+2012-07-03  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Cleanup basic buffer management.
+       * buffer.h (struct buffer): Change layout to use generic vector
+       marking code.  Fix some comments.  Change type of 'clip_changed'
+       to bitfield.  Remove unused #ifndef old.
+       (FIRST_FIELD_PER_BUFFER, LAST_FIELD_PER_BUFFER): Remove.
+       (GET_OVERLAYS_AT): Fix indentation.
+       (for_each_per_buffer_object_at): New macro.
+       * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
+       (Fbuffer_local_variables): Use it.
+       (init_buffer_once, syms_of_buffer): Remove unused #ifndef old.
+       * alloc.c (allocate_buffer): Adjust to match new layout of
+       struct buffer.  Fix comment.
+       (mark_overlay): New function.
+       (mark_buffer): Use it.  Use mark_vectorlike to mark normal
+       Lisp area of struct buffer.
+       (mark_object): Use it.  Adjust marking of misc objects
+       and related comments.
+
+2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * alloc.c (mark_object): Remove "#ifdef GC_CHECK_MARKED_OBJECTS"
+       wrapper that is not needed because the wrapped code is a no-op (zero
+       machine instructions) when GC_CHECK_MARKED_OBJECTS is not defined.
+       This avoids a -Wunused-macros diagnostic with GCC 4.7.1 x86-64.
+
+2012-07-02  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * alloc.c (mark_buffer): Simplify.  Remove prototype.
+       (mark_object): Add comment.  Reorganize marking of vector-like
+       objects.  Use CHECK_LIVE for all vector-like objects except buffers
+       and subroutines when GC_CHECK_MARKED_OBJECTS is defined.  Avoid
+       redundant calls to mark_vectorlike for bool vectors.
+
+2012-06-30  Glenn Morris  <rgm@gnu.org>
+
+       * nsterm.m (ns_init_paths): Ignore site-lisp if --no-site-lisp.
+
+       * epaths.in (PATH_SITELOADSEARCH): New.
+       * lread.c (init_lread): Use PATH_SITELOADSEARCH.
+       This is rather than relying on --enable-locallisppath elements
+       having "site-lisp" in their names.  (Bug#10208#25, 11658)
+
+2012-06-30  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32proc.c (sys_select): Accept and ignore one more argument.
+
+       * w32.c (emacs_gnutls_pull): Call select with one more argument.
+
+       * sysselect.h [DOS_NT]: Don't include sys/select.h.
+       (pselect) [!MS_DOS]: Redirect to sys_select.
+
+       * sysdep.c: Don't include dos.h and dosfns.h.
+
+       * process.c (sys_select):
+       * msdos.c (sys_select): Accept one more argument and ignore it.
+
+       * msdos.c (event_timestamp, sys_select): Use gnulib's gettime;
+       adapt data types and code to that.
+
+       * dosfns.c:
+       * msdos.c (gettime, settime): Define away the prototypes in dos.h,
+       which clashes with the gnulib function of the same name.
+
+2012-06-30  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * font.c (font_style_to_value, font_style_symbolic)
+       (font_prop_validate_style): Add type checks for values in
+       font_style_table.
+
+       * lisp.h (CHECK_RANGED_INTEGER): Make value to check the first
+       argument.
+       * character.c, charset.c, menu.c, process.c, window.c: Adjust all
+       uses.
+
+2012-06-29  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (try_window_id): Undo last change.
+
+       * w32.c (getwd): Adjust commentary about startup_dir.
+       (init_environment): Always call sys_access, even in non-MSVC
+       builds.  Don't chdir to the directory of the Emacs executable.
+       This undoes code from 1997 which was justified by the need to
+       "avoid conflicts when removing and renaming directories".  But its
+       downside was that every relative file name was being interpreted
+       relative to the directory of the Emacs executable, which can never
+       be TRT.  In particular, it broke sys_access when called with
+       relative file names.
+       (sys_access): Map GetLastError to errno.
+
+2012-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * window.h (struct window): Change type of 'fringes_outside_margins'
+       to bitfield.  Fix comment.  Adjust users accordingly.
+       (struct window): Change type of 'window_end_bytepos' to ptrdiff_t.
+       Adjust comment.
+       * xdisp.c (try_window_id): Change type of 'first_vpos' and 'vpos'
+       to ptrdiff_t.
+
+2012-06-29  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * gnutls.c (emacs_gnutls_handshake):
+       Add QUIT to make the loop interruptible.
+
+2012-06-29  Glenn Morris  <rgm@gnu.org>
+
+       * charset.c (init_charset): Make lack of etc/charsets fatal.
+
+2012-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * editfns.c (region_limit): Fix type mismatch.
+
+2012-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * nsfns.m: Fix GLYPH_DEBUG usage assuming that it may be
+       undefined.  Convert from xassert to eassert.
+       * nsmenu.m: Convert from xassert to eassert.
+       * nsterm.m: Likewise.
+
+2012-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * editfns.c (region_limit): Clip to narrowing (bug#11770).
+
+2012-06-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Avoid integer overflow on scroll-left and scroll-right.
+       * window.c (HSCROLL_MAX): New macro.
+       (Fscroll_left, Fscroll_right): Avoid undefined behavior on integer
+       overflow when requested scroll falls outside ptrdiff_t range.
+
+2012-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * window.h (struct window): Change type of 'hscroll',
+       'min_hscroll' and 'last_point' from Lisp_Object to ptrdiff_t,
+       'last_modified' and 'last_overlay_modified' to EMACS_INT.
+       Adjust users accordingly.
+       * xdisp.c (try_cursor_movement): Replace type check with eassert.
+       * window.c (Fscroll_left, Fscroll_right): Change type of 'hscroll'
+       from EMACS_INT to ptrdiff_t.
+       (make_window): Omit redundant initialization.
+
+2012-06-28  Juanma Barranquero  <lekktu@gmail.com>
+
+       * makefile.w32-in ($(BLD)/regex.$(O)): Update dependencies.
+
+2012-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * window.h (struct window): Change type of 'use_time' and
+       'sequence_number' from Lisp_Object to int.
+       * frame.c (make_frame): Adjust users accordingly.
+       * print.c (print_object): Likewise.
+       * window.c (select_window, Fwindow_use_time, make_parent_window)
+       (make_window): Likewise.
+
+2012-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * dispextern.h (GLYPH_DEBUG): Now defined in config.h if
+       enabled with --enable-checking=[all,glyphs] configure option.
+       Fix GLYPH_DEBUG usage assuming that it may be undefined,
+       adjust comments accordingly.
+       * dispnew.c: Fix GLYPH_DEBUG usage assuming that it may be
+       undefined, adjust comments accordingly.
+       * image.c: Likewise.
+       * scroll.c: Likewise.
+       * w32fns.c: Likewise.
+       * w32term.c: Likewise.
+       * xdisp.c: Likewise.
+       * xfaces.c: Likewise.
+       * xfns.c: Likewise.
+       * xterm.c: Likewise.
+
+2012-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Generalize run-time debugging checks.
+       * dispextern.h (XASSERTS): Remove.
+       * fontset.c (xassert): Remove.
+       Convert from xassert to eassert.
+       * alloc.c: Convert from xassert to eassert.
+       * bidi.c: Likewise.
+       * dispnew.c: Likewise.
+       * fns.c: Likewise.
+       * fringe.c: Likewise.
+       * ftfont.c: Likewise.
+       * gtkutil.c: Likewise.
+       * image.c: Likewise.
+       * keyboard.c: Likewise.
+       * menu.c: Likewise.
+       * process.c: Likewise.
+       * scroll.c: Likewise.
+       * sound.c: Likewise.
+       * term.c: Likewise.
+       * w32console.c: Likewise.
+       * w32fns.c: Likewise.
+       * w32term.c: Likewise.
+       * window.c: Likewise.
+       * xdisp.c: Likewise.
+       * xfaces.c: Likewise.
+       * xfns.c: Likewise.
+       * xselect.c: Likewise.
+       * xterm.c: Likewise.
+
+2012-06-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * fns.c (maybe_resize_hash_table): Output message when growing the
+       purify-hashtable.
+
+2012-06-27  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * alloc.c (allocate_string_data): Remove dead code.
+       * xsettings.c (XSETTINGS_FONT_NAME): Move under HAVE_XFT to
+       avoid GCC warning about unused macro.
+
+2012-06-27  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * alloc.c (allocate_string): Omit intervals initialization.
+       * alloc.c (make_uninit_multibyte_string): Initialize intervals
+       as in make_pure_string and make_pure_c_string.
+
+2012-06-27  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * alloc.c (allocate_string):  Fix last change.
+
+2012-06-27  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * alloc.c (allocate_string):  Remove two redundant calls
+       to memset, add explicit initialization where appropriate.
+
 2012-06-27  Glenn Morris  <rgm@gnu.org>
 
        * lisp.mk (lisp): Remove paths.elc.
@@ -8,7 +269,7 @@
 
 2012-06-26  John Wiegley  <johnw@newartisans.com>
 
-       * unexmacosx.c (copy_data_segment): Added two section names used
+       * unexmacosx.c (copy_data_segment): Add two section names used
        on Mac OS X Lion: __mod_init_func and __mod_term_func.
 
        * alloc.c (mark_memory): Do not check with -faddress-sanitizer