+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.
+ (ns_screen_name): Don't use deprecated CGDisplayIOServicePort on
+ OSX >= 10.9. Use ns_get_name_from_ioreg.
+
+2013-11-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ Simplify and port recent bool vector changes.
+ * alloc.c (ROUNDUP): Move here from lisp.h, since it's now used
+ only in this file. Use a more-efficient implementation if the
+ second argument is a power of 2.
+ (ALIGN): Rewrite in terms of ROUNDUP. Make it a function.
+ Remove no-longer-necessary compile-time checks.
+ (bool_vector_exact_payload_bytes): New function.
+ (bool_vector_payload_bytes): Remove 2nd arg; callers that need
+ exact payload changed to call the new function. Do not assume
+ that the arg or result fits in ptrdiff_t.
+ (bool_vector_fill): New function.
+ (Fmake_bool_vector): Use it. Don't assume bit counts fit
+ in ptrdiff_t.
+ (vroundup_ct): Don't assume arg fits in size_t.
+ * category.c (SET_CATEGORY_SET): Remove. All callers now just
+ invoke set_category_set.
+ (set_category_set): 2nd arg is now EMACS_INT and 3rd is now bool.
+ All callers changed. Use bool_vector_set.
+ * category.h (XCATEGORY_SET): Remove; no longer needed.
+ (CATEGORY_MEMBER): Now a function. Rewrite in terms of
+ bool_vector_bitref.
+ * data.c (Faref): Use bool_vector_ref.
+ (Faset): Use bool_vector_set.
+ (bits_word_to_host_endian): Don't assume you can shift by CHAR_BIT.
+ (Fbool_vector_not, Fbool_vector_count_matches)
+ (Fbool_vector_count_matches_at): Don't assume CHAR_BIT == 8.
+ * fns.c (concat): Use bool_vector_ref.
+ (Ffillarray): Use bool_vector_fill.
+ (mapcar1): Use bool_vector_ref.
+ (sxhash_bool_vector): Hash words, not bytes.
+ * lisp.h (BOOL_VECTOR_BITS_PER_CHAR): Now a macro as well as
+ a constant, since it's now used in #if.
+ (bits_word, BITS_WORD_MAX, BITS_PER_BITS_WORD): Fall back on
+ unsigned char on unusual architectures, so that we no longer
+ assume that the number of bits per bits_word is a power of two or
+ is a multiple of 8 or of CHAR_BIT.
+ (Qt): Add forward decl.
+ (struct Lisp_Bool_Vector): Don't assume EMACS_INT is aligned
+ at least as strictly as bits_word.
+ (bool_vector_data, bool_vector_uchar_data): New accessors.
+ All data structure accesses changed to use them.
+ (bool_vector_words, bool_vector_bitref, bool_vector_ref)
+ (bool_vector_set): New functions.
+ (bool_vector_fill): New decl.
+ (ROUNDUP): Move to alloc.c as described above.
+
+ Fix recent gnutls changes.
+ * gnutls.c (Fgnutls_boot): Don't assume C99.
+ * process.c (wait_reading_process_output): Fix typo in recent change.
+
+2013-11-05 Teodor Zlatanov <tzz@lifelogs.com>
+
+ * process.c (wait_reading_process_output, read_process_output)
+ (send_process): Check gnutls_state is not NULL.
+
+ * gnutls.c (emacs_gnutls_handle_error): Adjust log level for EAGAIN.
+ (Fgnutls_boot): Set process gnutls_p later, after initialization.
+
+2013-11-04 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (init, run, stop:): New methods in EmacsApp for
+ OSX >= 10.9 to prevent memory leak of GCD dispatch source.
+
+ * nsterm.h (EmacsApp): Add shouldKeepRunning and isFirst for
+ OSX >= 10.9.
+
+ * nsfns.m (Fx_create_frame): Fix memory leak.
+
+ * macfont.m (CG_SET_FILL_COLOR_WITH_GC_FOREGROUND)
+ (CG_SET_FILL_COLOR_WITH_GC_BACKGROUND)
+ (CG_SET_STROKE_COLOR_WITH_GC_FOREGROUND): Fix memory leak.
+
+2013-11-04 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (message3_nolog, message_with_string): Encode the string
+ before writing it to the terminal in a non-interactive session.
+
+ * lread.c (openp): If both FILENAME and SUFFIX are unibyte, make
+ sure we concatenate them into a unibyte string.
+
+ * fileio.c (make_temp_name): Encode PREFIX, and decode the
+ resulting temporary name before returning it to the caller.
+ (Fexpand_file_name): If NAME is pure-ASCII and DEFAULT_DIRECTORY
+ is a unibyte string, convert NAME to a unibyte string to ensure
+ that the result is also a unibyte string.
+
+ * emacs.c (init_cmdargs): Use build_unibyte_string to make sure we
+ create unibyte strings from default paths and directory/file
+ names.
+
+ * coding.h (ENCODE_FILE): Do not attempt to encode a unibyte
+ string.
+
+ * callproc.c (init_callproc): Use build_unibyte_string to make
+ sure we create unibyte strings from default paths and
+ directory/file names.
+
+ * buffer.c (init_buffer): Don't store default-directory of
+ *scratch* in multibyte form. The original problem which led to
+ that is described in
+ http://lists.gnu.org/archive/html/emacs-pretest-bug/2004-11/msg00532.html,
+ but it was solved long ago. (Bug#15260)
+
+2013-11-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port to stricter C99 platforms.
+ Especially, C99 prohibits nesting a struct X inside struct Y if
+ struct X has a flexible array member.
+ * alloc.c (struct sdata): New type.
+ (sdata): Implement in terms of struct sdata.
+ Remove u member; all uses replaced by next_vector, set_next_vector.
+ (SDATA_SELECTOR, SDATA_DATA, SDATA_DATA_OFFSET): Adjust to sdata change.
+ (SDATA_DATA_OFFSET): Now a constant, not a macro.
+ (struct sblock): Rename first_data member to data, which is now
+ a flexible array member. All uses changed.
+ (next_vector, set_next_vector, large_vector_vec): New functions.
+ (vector_alignment): New constant.
+ (roundup_size): Make it a multiple of ALIGNOF_STRUCT_LISP_VECTOR, too.
+ (struct large-vector): Now merely a NEXT member, since the old approach
+ ran afoul of stricter C99. All uses changed to use
+ large_vector_vec or large_vector_offset.
+ (large_vector_offset): New constant.
+ * dispnew.c: Include tparam.h, for tgetent.
+ Do not include term.h; no longer needed.
+ * gnutls.c (Fgnutls_boot): Don't continue after calling a _Noreturn.
+ * lisp.h (ENUM_BF) [__SUNPRO_C && __STDC__]: Use unsigned int.
+ (struct Lisp_Vector): Use a flexible array member for contents,
+ instead of a union with a member that is an array of size 1.
+ All uses changed.
+ (ALIGNOF_STRUCT_LISP_VECTOR): New constant, to make up for the
+ fact that the struct no longer contains a union.
+ (struct Lisp_Misc_Any, struct Lisp_Marker, struct Lisp_Overlay)
+ (struct Lisp_Save_Value, struct Lisp_Free):
+ Use unsigned, not int, for spacers, to avoid c99 warning.
+ (union specbinding): Use unsigned, not bool, for bitfield, as
+ bool is not portable to pre-C99 hosts.
+
+2013-11-04 Glenn Morris <rgm@gnu.org>
+
+ * emacs.c (usage_message): Mention that `-L :...' appends.
+
2013-11-02 Glenn Morris <rgm@gnu.org>
+ * Makefile.in (abs_builddir): Remove.
+ (bootstrap_exe): Use relative filename.
+
+ Use relative filenames in TAGS files.
+ * Makefile.in (abs_srcdir): Remove it again.
+ (.PHONY): Remove frc.
+ (maintainer-clean): No more TAGS-LISP file.
+ (TAGS): Pass relative file names to etags.
+ (../lisp/TAGS): Rename from TAGS-LISP. Work in ../lisp.
+
* Makefile.in (abs_srcdir): New, set by configure.
+ (lispdir): Remove.
(maintainer-clean): Remove pointless echo. That should be in the
top-level Makefile, if anywhere. Delete TAGS-LISP.
(extraclean): No s/ and m/ directories for some time.
- (TAGS): Remove no-longer-defined S_FILE.
+ (TAGS): Also depend on ctagsfiles3.
+ Remove no-longer-defined S_FILE.
Pass absolute filenames to etags once more.
+ (TAGS-LISP): Replace lispdir with its expansion.
(TAGS-LISP, $(lwlibdir)/TAGS): Correctly pass ETAGS to sub-makes.
($(lwlibdir)/TAGS): Remove useless subshell, check cd return value.
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.