+2013-11-27 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (leimdir): Now in lisp source directory.
+ ($(leimdir)/leim-list.el): Just use ../leim .
+ * epaths.in (PATH_DUMPLOADSEARCH):
+ * lread.c (load_path_default):
+ * nsterm.m (ns_load_path): No more leim directory.
+
+2013-11-26 Andreas Schwab <schwab@suse.de>
+
+ * .gdbinit (xgettype): Add cast.
+
+2013-11-26 Glenn Morris <rgm@gnu.org>
+
+ Preload leim-list.el.
+ * epaths.in (PATH_DUMPLOADSEARCH): Add leim/.
+ * callproc.c (init_callproc): Don't assume PATH_DUMPLOADSEARCH
+ is a single directory.
+
+2013-11-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ bool-vector-subsetp is now the normal direction (Bug#15912).
+ * data.c (Fbool_vector_subsetp): Test whether the first argument
+ is a subset of the second one, not the reverse. Add doc string.
+
+ Fix minor problems found by static checking.
+ * lread.c (load_path_default): Now static.
+ * textprop.c (text_property_stickiness): Be consistent about the
+ test used when deciding whether to consider the previous character.
+ This simplifies the code a bit.
+
+2013-11-25 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * textprop.c (text_property_stickiness): Fix front-stickiness at BOB.
+
+ * frame.c (Fhandle_focus_in, Fhandle_focus_out): Move to frame.el.
+ (syms_of_frame): Don't defsubr them.
+
+2013-11-25 Glenn Morris <rgm@gnu.org>
+
+ * lread.c (load_path_default): Change the sense of the argument.
+ (init_lread): When EMACSLOADPATH is set, do not ignore changes
+ from dump_path. When it is not, avoid checking dump_path twice.
+
+ * lread.c (init_lread): Fix 2013-11-23 goof that was checking
+ uninstalled dump_path against installed Vload_path. (Bug#15964)
+
+2013-11-24 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Export get_pos_property to Elisp.
+ * editfns.c (Fget_pos_property): Rename from get_pos_property.
+ (syms_of_editfns): Export it to Elisp.
+
+ * data.c (Fmake_variable_buffer_local): Mention `permanent-local'.
+
+2013-11-23 Romain Francoise <romain@orebokech.com>
+
+ * fileio.c (init_fileio): Move `write_region_inhibit_fsync'
+ initialization here ...
+ (syms_of_fileio): ... from here.
+
+2013-11-23 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * lread.c (init_lread): Fix int/Lisp_Object mixup.
+ Please use --enable-check-lisp-object-type.
+
+2013-11-23 Glenn Morris <rgm@gnu.org>
+
+ * process.c (get_process): Explicit error for dead buffers.
+
+2013-11-23 Andreas Schwab <schwab@linux-m68k.org>
+
+ * process.c (get_process): Check that OBJ is a live buffer. (Bug#15923)
+
+2013-11-23 Glenn Morris <rgm@gnu.org>
+
+ Empty elements in EMACSLOADPATH stand for the default. (Bug#12100)
+ * lread.c (load_path_check): Take path to check as argument.
+ (load_path_default): New, split from init_lread.
+ (init_lread): Move calc of default load-path to load_path_default.
+ Empty elements in EMACSLOADPATH now stand for the default.
+ (load-path): Doc fix.
+ * emacs.c (decode_env_path): Add option to treat empty elements
+ as nil rather than ".".
+ * callproc.c (init_callproc_1, init_callproc):
+ * image.c (Vx_bitmap_file_path):
+ * lisp.h (decode_env_path):
+ * lread.c (Vsource_directory):
+ Update for new argument spec of decode_env_path.
+
+2013-11-22 Eli Zaretskii <eliz@gnu.org>
+
+ * bidi.c (bidi_find_paragraph_start): Limit the returned positions
+ to BEGV_BYTE..ZV_BYTE range. (Bug#15951)
+
+2013-11-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix some dependency problems that cause unnecessary recompiles.
+ Problem reported by RMS in
+ <http://lists.gnu.org/archive/html/emacs-devel/2013-11/msg00421.html>.
+ * Makefile.in (OLDXMENU_TARGET, OLDXMENU, OLDXMENU_DEPS)
+ (really-lwlib, really-oldXMenu, stamp-oldxmenu)
+ (../src/$(OLDXMENU), $(OLDXMENU)): Remove.
+ (temacs$(EXEEXT)): Depend on $(LIBXMENU), not stamp-oldxmenu.
+ ($(lwlibdir)/liblw.a, $(oldXMenudir)/libXMenu11.a, FORCE): New targets.
+ (boostrap-clean): No need to remove stamp-oldxmenu.
+
+ Fix recently introduced bool vector overrun.
+ This was due to an optimization that went awry.
+ Reported by Glenn Morris in
+ <http://lists.gnu.org/archive/html/emacs-devel/2013-11/msg00622.html>.
+ * alloc.c (make_uninit_bool_vector): Don't allocate a dummy word
+ for empty vectors, undoing the 2013-11-18 change.
+ * data.c (bool_vector_binop_driver): Rely on this.
+ Fix bug that occasionally overran the destination.
+ * lisp.h (struct Lisp_Bool_vector): Document this.
+
+2013-11-20 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (init, run, stop:): Enable again. stop calls super stop
+ to handle dialogs.
+
+ * nsterm.m (init, run, stop:): Comment out for now, does not work
+ with dialogs.
+
+2013-11-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ * charset.c (syms_of_charset): Don't read past end of string.
+
+2013-11-19 Glenn Morris <rgm@gnu.org>
+
+ * frame.c (Fhandle_focus_in, Fhandle_focus_out): Doc fixes.
+
+2013-11-19 Brian Jenkins <brian@brianjenkins.org> (tiny change)
+
+ Add hooks to run on gaining/losing focus. (Bug#15029)
+ * frame.c (Qfocus_in_hook, Qfocus_out_hook): New static lisp objects.
+ (Fhandle_focus_in, Fhandle_focus_out): Run focus hooks.
+ (syms_of_frame): Add focus-in-hook, focus-out-hook.
+
+2013-11-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ * data.c (bool_vector_binop_driver): Rename locals for sanity's sake.
+ The old names predated the API change that put destination at end.
+
+ Improve API of recently-added bool vector functions (Bug#15912).
+ The old API had (bool-vector-count-matches A B)
+ and (bool-vector-count-matches-at A B I), which gave the
+ misleading impression that the two functions were variants, one
+ with a location I. The new API has (bool-vector-count-population A)
+ and (bool-vector-count-consecutive A B I) to make the distinction
+ clearer. The first function no longer has a B argument, since the
+ caller can easily determine the number of nils if the length and
+ number of ts is known.
+ * data.c (Fbool_vector_count_population): Rename from
+ bool_vector_count_matches, and accept just 1 argument.
+ (Fbool_vector_count_consecutive): Rename from
+ Fbool_vector_count_matches_at.
+
+ Always allocate at least one bits_word per bool vector.
+ See Daniel Colascione in:
+ http://lists.gnu.org/archive/html/emacs-devel/2013-11/msg00518.html
+ * alloc.c (make_uninit_bool_vector): Always allocate at least one word.
+ * data.c (bool_vector_binop_driver): Rely on this. Tune.
+ * lisp.h (struct Lisp_Bool_vector): Document this.
+
+2013-11-18 Eli Zaretskii <eliz@gnu.org>
+
+ * insdel.c (invalidate_buffer_caches): New function, consolidated
+ from part of prepare_to_modify_buffer.
+ (insert_from_gap, prepare_to_modify_buffer):
+ * coding.c (code_convert_region, code_convert_string): Call
+ invalidate_buffer_caches. (Bug#15841)
+
+ * lisp.h (invalidate_buffer_caches): Add prototype.
+
+2013-11-17 Eli Zaretskii <eliz@gnu.org>
+
+ * w32term.c (x_update_window_end): Don't invalidate the entire
+ mouse-highlight info, just signal frame_up_to_date_hook that mouse
+ highlight needs to be redisplayed. (Bug#15913)
+
+2013-11-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lisp.h (DEBUGGER_SEES_C_MACROS): Remove.
+
+2013-11-16 Eli Zaretskii <eliz@gnu.org>
+
+ * doc.c (Fsubstitute_command_keys): Inhibit modification hooks
+ while we are using Vprin1_to_string_buffer.
+
+ * keymap.c (describe_map): Don't crash if PT is 1 both before and
+ after inserting the description string. (Bug#15907)
+
+2013-11-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ * data.c: Work around bogus GCC diagnostic about shift count.
+ Reported by Eli Zaretskii in
+ <http://lists.gnu.org/archive/html/emacs-devel/2013-11/msg00489.html>.
+ (pre_value): New function.
+ (count_trailing_zero_bits): Use it.
+
+2013-11-15 Eli Zaretskii <eliz@gnu.org>
+
+ * lisp.h (DEBUGGER_SEES_C_MACROS) [GCC < v3.5]: Pessimistically
+ assume C macros are not supported even under -g3 in these old GCC
+ versions.
+
+2013-11-15 Leo Liu <sdl.web@gmail.com>
+
+ * minibuf.c (Ftry_completion, Fall_completions)
+ (Ftest_completion): Use FUNCTIONP. (Bug#15889)
+
+2013-11-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lisp.h (DEFINE_GDB_SYMBOL_BEGIN, DEFINE_GDB_SYMBOL_END):
+ Define to empty if DEBUGGER_SEES_C_MACROS is defined.
+ This avoids placing unnecessary constants into the Emacs code.
+
+2013-11-14 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny change)
+
+ * keyboard.c (make_ctrl_char) [HAVE_NTGUI]: Now externally visible
+ for Cygwin w32 build.
+
+ * xdisp.c (erase_phys_cursor) [HAVE_NTGUI]: Now externally visible
+ for Cygwin w32 build. (Bug#15892)
+
+2013-11-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ Simplify, port and tune bool vector implementation.
+ * alloc.c (bool_vector_exact_payload_bytes)
+ (bool_vector_payload_bytes): Remove.
+ (bool_vector_fill): Return its argument.
+ * alloc.c (bool_vector_fill):
+ * lread.c (read1):
+ * print.c (print_object):
+ Simplify by using bool_vector_bytes.
+ * alloc.c (make_uninit_bool_vector):
+ New function, broken out from Fmake_bool_vector.
+ (Fmake_bool_vector): Use it. Use tail call.
+ (make_uninit_bool_vector, vector_nbytes): Simplify size calculations.
+ * data.c (BITS_PER_ULL): New constant.
+ (ULLONG_MAX, count_one_bits_ll): Fall back on long counterparts
+ if long long versions don't exist.
+ (shift_right_ull): New function.
+ (count_one_bits_word): New function, replacing popcount_bits_word
+ macro. Don't assume that bits_word is no wider than long long.
+ (count_one_bits_word, count_trailing_zero_bits):
+ Don't assume that bits_word is no wider than long long.
+ * data.c (bool_vector_binop_driver, bool_vector_not):
+ * fns.c (Fcopy_sequence):
+ * lread.c (read1):
+ Create an uninitialized destination, to avoid needless work.
+ (internal_equal): Simplify.
+ (Ffillarray): Prefer tail call.
+ * data.c (bool_vector_binop_driver): Don't assume bit vectors always
+ contain at least one word.
+ (bits_word_to_host_endian): Prefer if to #if. Don't assume
+ chars are narrower than ints.
+ * data.c (Fbool_vector_count_matches, Fbool_vector_count_matches_at):
+ * fns.c (Fcopy_sequence):
+ Simplify and tune.
+ * lisp.h (bits_word, BITS_WORD_MAX, BITS_PER_BITS_WORD):
+ Don't try to port to hosts where bits_word values have holes; the
+ code wouldn't work there anyway. Verify this assumption, though.
+ (bool_vector_bytes): New function.
+ (make_uninit_bool_vector): New decl.
+ (bool_vector_fill): Now returns Lisp_Object.
+
+ * xfns.c (xic_create_fontsetname):
+ * xrdb.c (gethomedir): Prefer tail calls.
+
+2013-11-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xterm.c (syms_of_xterm): staticpro Qmodifier_value, Qalt, Qhyper,
+ Qmeta, and Qsuper. This is safer, and it's what w32fns.c does.
+
+ * buffer.c (Fforce_mode_line_update): Don't fall off end of function
+ that requires a return value.
+ (Fset_buffer_modified_p): Take advantage of this change to do
+ a tail call.
+
+2013-11-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * buffer.c (Frestore_buffer_modified_p): Sync it with
+ Fset_buffer_modified_p.
+ (Fforce_mode_line_update): New function, moved from subr.el.
+ (Fset_buffer_modified_p): Use them.
+ (syms_of_buffer): Defsubr Fforce_mode_line_update.
+
+2013-11-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ * search.c (find_newline): Rewrite to prefer offsets to pointers.
+ This avoids undefined behavior when subtracting pointers into
+ different aways. On my platform it also makes the code a tad
+ smaller and presumably faster.
+
+2013-11-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * keyboard.c (command_loop_1): Use region-extract-function.
+ * insdel.c (Qregion_extract_function): Not static any more (can we
+ stop pretending that these vars can benefit from being marked static?).
+
+2013-11-09 Eli Zaretskii <eliz@gnu.org>
+
+ * search.c (find_newline): If buffer text is relocated during the
+ "dumb loop", adjust C pointers into buffer text to follow suit.
+ (Bug#15841)
+
+2013-11-09 Łukasz Stelmach <stlman@poczta.fm> (tiny change)
+
+ * gtkutil.c (xg_check_special_colors): Use rgb: instead of rgbi:
+ for conversion (Bug#15837).
+
+2013-11-09 Eli Zaretskii <eliz@gnu.org>
+
+ * fileio.c (Finsert_file_contents): Invalidate the newline cache
+ for the entire range of inserted characters. (Bug#15841)
+
+2013-11-08 Jan Djärv <jan.h.d@swipnet.se>
+
+ * xfaces.c (lface_fully_specified_p): Let distant-foreground be
+ unspecified.
+ (realize_default_face): Remove assignment to distant-foreground if
+ unspecified (Bug#15815).
+
+2013-11-08 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (message_dolog): Make sure the *Messages* buffer has its
+ cache-long-scans disabled, since we don't want to call
+ prepare_to_modify_buffer (in insert_1_both) for each message we
+ display.
+
+ * buffer.h (bset_cache_long_scans): New INLINE function, moved
+ from buffer.c. Improve commentary to the buffer field setter
+ functions.
+
+ * buffer.c (bset_cache_long_scans): Static function deleted.
+ Improve commentary to the buffer field setter functions.
+ (init_buffer_once): Default for cache-long-scans changed to t.
+ (Bug#15797)
+
+2013-11-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ * gmalloc.c (special_realloc, calloc, mallochook): Use tail calls.
+
+ * chartab.c (make_sub_char_table): Fix size typo (Bug#15825).
+ This bug was introduced in my 2013-06-21 change, and caused
+ struct Lisp_Sub_Char_Table objects to be given too many slots,
+ which broke 'make -C admin/unidata'.
+
+2013-11-07 Jan Djärv <jan.h.d@swipnet.se>
+
+ Import changes from mac-port 4.5.
+ * macfont.m (mac_font_copy_default_descriptors_for_language)
+ (mac_font_copy_default_name_for_charset_and_languages): Declare.
+ (cf_charset_table): big-5-0 has uniquifier 0x4EDC.
+ (macfont_language_default_font_names): New.
+ (macfont_list): Rearrange language/charset code.
+ (macfont_close): Don't check for macfont_info->cache.
+ (mac_ctfont_create_preferred_family_for_attributes): New font
+ selection code, call
+ mac_font_copy_default_name_for_charset_and_languages.
+ (mac_font_copy_default_descriptors_for_language)
+ (mac_font_copy_default_name_for_charset_and_languages): New functions.
+
+ * macfont.h (kCTVersionNumber10_9): Define if not defined.
+
+2013-11-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port to C11 aligned_alloc, and fix some integer overflows.
+ * alloc.c (USE_ALIGNED_ALLOC): New symbol.
+ (USE_POSIX_MEMALIGN): Remove. All uses replaced with USE_ALIGNED_ALLOC,
+ and use of posix_memalign replaced with aligned_alloc.
+ (aligned_alloc): New function, defined or declared as needed.
+ * conf_post.h (HAVE_POSIX_MEMALIGN) [DARWIN_OS]:
+ Don't undef; configure.ac now does this.
+ * gmalloc.c (aligned_alloc) [MSDOS]: New decl.
+ (calloc, aligned_alloc): Check for integer overflow.
+ (aligned_alloc): Rename from memalign. All uses changed.
+ (memalign): New function, an alias for aligned_alloc.
+
+2013-11-06 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * xdisp.c (redisplay_internal): Fix typo in last change.
+
+2013-11-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ * regex.c: Fix --enable-gcc-warning glitch with GCC 4.5.2.
+
+2013-11-06 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * xdisp.c (syms_of_xdisp): New vars redisplay--all-windows-cause and
+ redisplay--mode-lines-cause.
+ (redisplay_internal): Keep them uptodate. Remove redundant check of
+ buffer_shared_and_changed.
+ * *.[chm]: Number every assignment to update_mode_lines so we
+ can track why it is set.
+
+2013-11-06 Eli Zaretskii <eliz@gnu.org>
+
+ * editfns.c (Fformat_time_string): Doc fix. (Bug#15816)
+
+2013-11-06 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * *.[chm]: Number every assignment to windows_or_buffers_changed so we
+ can track why it is set.
+
+2013-11-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ Integer-related fixes for term.c etc.
+ * dispextern.h (face_tty_specified_color): New function.
+ * term.c (turn_on_face): Don't rely on undefined behavior when
+ assigning an out-of-range value to 'long'.
+ Simplify test for toggling highlight.
+ (tty_capable_p): Omit last two (unused) args. All callers changed.
+ * term.c (tty_capable_p, tty_menu_display, tty_menu_add_selection)
+ (read_menu_input, tty_menu_activate, tty_menu_show):
+ * xfaces.c (x_supports_face_attributes_p)
+ (tty_supports_face_attributes_p):
+ Use bool for boolean. All callers changed.
+ (tty_supports_face_attributes_p): Omit defaults for color indices;
+ no longer needed. Simplify tail call.
+
+2013-11-05 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * xdisp.c (prepare_menu_bars): Mark static.
+ * lisp.h (prepare_menu_bars): Don't declare.
+ * xselect.c (x_handle_selection_clear):
+ * callproc.c (call_process): Remove redundant call to prepare_menu_bars.
+
+2013-11-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ * keyboard.c (Fcommand_error_default_function): Fix pointer signedness
+ glitch. Eliminate 'sz' prefix; Hungarian notation is not helpful here.
+
+2013-11-05 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * keyboard.c (Fcommand_error_default_function): Rename from
+ Fdefault_error_output.
+
+2013-11-05 Jarek Czekalski <jarekczek@poczta.onet.pl> (tiny change)
+
+ * keyboard.c (Fdefault_error_output): New function, extracted from
+ cmd_error_internal.
+ (syms_of_keyboard): Use it for Vcommand_error_function.
+
+2013-11-05 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * eval.c (handlerlist_sentinel): New variable (bug#15802).
+ (init_eval): Use it to ensure handlerlist is non-NULL.
+ (unwind_to_catch): Make sure we never set handlerlist to NULL.
+ (Fsignal): Adjust NULLness test of handlerlist.
+ * lisp.h (PUSH_HANDLER): Assume handlerlist is non-NULL.
+
+2013-11-05 Eli Zaretskii <eliz@gnu.org>
+
+ * callproc.c (call_process): Call prepare_to_modify_buffer before
+ decoding text read from the sub-process, as the decoded stuff will
+ be inserted into the buffer. This will invalidate the various
+ caches maintained for the buffer. (Bug#15148)
+
+2013-11-05 Xue Fuqiao <xfq.free@gmail.com>
+
+ * xdisp.c (syms_of_xdisp): Mention the active display table in doc
+ string of glyphless-char-display.
+
2013-11-05 Jan Djärv <jan.h.d@swipnet.se>
* nsfns.m (ns_get_name_from_ioreg): New function.
2013-11-02 Jan Djärv <jan.h.d@swipnet.se>
- * xfaces.c (check_lface_attrs, realize_default_face): Add
- LFACE_DISTANT_FOREGROUND_INDEX (Bug#15788).
+ * xfaces.c (check_lface_attrs, realize_default_face):
+ Add LFACE_DISTANT_FOREGROUND_INDEX (Bug#15788).
(realize_default_face): Set DISTANT_FOREGROUND to unspecified_fg.
2013-11-02 Paul Eggert <eggert@cs.ucla.edu>
foreground.
(syms_of_xfaces): DEFSYM QCdistant_foreground.
- * dispextern.h (lface_attribute_index): Add
- LFACE_DISTANT_FOREGROUND_INDEX.
+ * dispextern.h (lface_attribute_index):
+ Add LFACE_DISTANT_FOREGROUND_INDEX.
2013-11-01 Claudio Bley <claudio.bley@googlemail.com>
- * image.c (pbm_next_char): New function. See
- http://netpbm.sourceforge.net/doc/pbm.html for the details.
+ * image.c (pbm_next_char): New function.
+ See http://netpbm.sourceforge.net/doc/pbm.html for the details.
(pbm_scan_number): Use it.
(Qlibjpeg_version): New variable.
(syms_of_image): DEFSYM and initialize it.