-2014-09-13 Eli Zaretskii <eliz@gnu.org>
++2014-09-15 Eli Zaretskii <eliz@gnu.org>
+
+ * configure.ac (HAVE_SOUND): Check for mmsystem.h header that
+ defines the sound stuff on MS-Windows. (Bug#18463)
+
-2014-08-22 Ken Brown <kbrown@cornell.edu>
+2014-09-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ Improve the experimental local and scoped allocation.
+ * configure.ac (HAVE_STRUCT_ATTRIBUTE_ALIGNED)
+ (HAVE_STATEMENT_EXPRESSIONS): New configure-time checks.
+
+2014-09-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ Expand @AM_DEFAULT_VERBOSITY@ even if Automake is old (Bug#18415).
+ * configure.ac: Assume verbose output for older Automake.
+
+2014-09-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ * configure.ac (MAKEINFO): Clean up some configuration bitrot.
+ MAKEINFO is already set before we get here, so no need to call AC_PATH_PROG.
+ Bypass $am_missing_run. Simplify version-number checking.
+
+2014-09-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ Merge from gnulib, incorporating:
+ 2014-09-02 gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
+ 2014-09-01 manywarnings: add GCC 4.9 warnings
+ * m4/gnulib-common.m4, m4/manywarnings.m4: Update from gnulib.
+
+2014-09-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ --enable-silent-rules now suppresses more chatter.
+ * INSTALL: Document this.
+
+ Clean up extern decls a bit.
+ * configure.ac (WERROR_CFLAGS): Don't disable -Wnested-externs.
+ While we're at it, don't disable -Wlogical-op either.
+
+2014-08-31 Paul Eggert <eggert@cs.ucla.edu>
+
+ * configure.ac (MAKE): Export it, for config.status.
+ Needed on AIX when 'configure' infers MAKE=gmake.
+ (__restrict_arr): Remove; no longer used.
+
+2014-08-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ Vector-sorting fixes (Bug#18361).
+ * configure.ac (qsort_r): Remove, as we no longer use qsort-like
+ functions.
+ * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
+ * lib/vla.h, m4/vararrays.m4: New files, copied from gnulib.
+ * lib/stdlib.in.h, m4/stdlib_h.m4: Sync from gnulib, incorporating:
+ 2014-08-29 qsort_r: new module, for GNU-style qsort_r
+ The previous two files' changes are boilerplate generated by
+ admin/merge-gnulib, and should not affect Emacs.
+
+2014-08-29 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * configure.ac (AC_CHECK_FUNCS): Check for qsort_r.
+
+2014-08-28 Ken Brown <kbrown@cornell.edu>
+
+ * configure.ac (HYBRID_MALLOC): New macro; define to use gmalloc
+ before dumping and the system malloc after dumping. Define on
+ Cygwin. (Bug#18222)
+
+2014-08-28 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (appdatadir): New variable.
+ (install-etc, uninstall, clean): Handle etc/emacs.appdata.xml.
+
+2014-08-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ Improve robustness of new string-collation code (Bug#18051).
+ * configure.ac (newlocale): Check for this, not for uselocale.
+
+2014-08-26 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Detect features needed to handle C stack overflows.
+ * configure.ac: Check for sigaltstack and related sigaction
+ support. Unconditionally check for sigsetjmp and siglongjmp.
+ (HAVE_STACK_OVERFLOW_HANDLING): Define if we can support it.
+
+ (HAVE_LINUX_SYSINFO): Avoid false positive on Solaris.
+
+2014-08-25 Ken Brown <kbrown@cornell.edu>
+
+ * configure.ac (G_SLICE_ALWAYS_MALLOC): Remove obsolete macro.
+
+2014-08-25 Christoph Scholtes <cschol2112@gmail.com>
+
+ * INSTALL.REPO: Remove reference to obsolete configure scripts
+ on non-Posix platforms (Bug#18323).
+
+2014-08-24 Michael Albinus <michael.albinus@gmx.de>
+
+ * configure.ac: Check also for the uselocale function. (Bug#18051)
+
+2014-08-23 Karol Ostrovsky <karol.ostrovsky@gmail.com> (tiny change)
+
+ * configure.ac: Accept "*-mingw*", not just "*-mingw32", as
+ canonical name of a MinGW build, because using MSYS2 'uname'
+ produces "MINGW64".
+
+2014-08-21 Ken Brown <kbrown@cornell.edu>
* configure.ac (HAVE_XPM): Explain the use of CPPFLAGS in the
Cygwin-w32 build. (Bug#18302)
-2014-09-14 Glenn Morris <rgm@gnu.org>
++2014-09-15 Glenn Morris <rgm@gnu.org>
+
+ * image.el (image-multi-frame-p): Fix thinko - do not force
+ a delay if none was specified. (Bug#18334)
+
-2014-09-12 Kan-Ru Chen <kanru@kanru.info>
++2014-09-15 Kan-Ru Chen <kanru@kanru.info>
+
+ * window.el (fit-window-to-buffer): Doc fix.
+
-2014-09-10 Ivan Shmakov <ivan@siamics.net> (tiny change)
++2014-09-15 Ivan Shmakov <ivan@siamics.net> (tiny change)
+
+ * desktop.el (desktop-create-buffer): Check that buffers are still live
+ before burying them (bug#18373).
+
-2014-09-09 Glenn Morris <rgm@gnu.org>
++2014-09-15 Glenn Morris <rgm@gnu.org>
+
+ * calendar/diary-lib.el (diary-list-entries):
+ Restore 24.3 display behavior. (Bug#18381)
+
-2014-09-09 Eli Zaretskii <eliz@gnu.org>
++2014-09-15 Eli Zaretskii <eliz@gnu.org>
+
+ * mouse.el (mouse-drag-line): On text-mode frames, count the mode
+ line and header line as 1 pixel. This fixes the 1-"pixel" (row)
+ discrepancy between window-pixel-edges and mouse events, and
+ avoids moving mode line up when the mouse click is on the modeline
+ and no drag is attempted.
+
+2014-09-14 Daniel Colascione <dancol@dancol.org>
+
+ * register.el (insert-register): Change default interactive
+ insertion mode.
+
+2014-09-14 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-cache.el (tramp-flush-file-function): Simplify check.
+ Suppress debug messages.
+
+ * net/tramp.el (tramp-file-name-handler):
+ * net/tramp-gvfs.el (tramp-gvfs-url-file-name): Apply `cons' where
+ appropriate.
+
+2014-09-13 Christopher Schmidt <ch@ristopher.com>
+
+ * calendar/calendar.el (calendar-update-mode-line):
+ Do not overwrite mode-line-format if calendar-mode-line-format is
+ nil. (Bug#18467)
+
+2014-09-13 Leo Liu <sdl.web@gmail.com>
+
+ * emacs-lisp/pcase.el (pcase--dontwarn-upats): New var.
+ (pcase--expand): Use it.
+ (pcase-exhaustive): New macro. (Bug#16567)
+
+ * emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2): Add
+ pcase-exhaustive.
+
+2014-09-13 Eli Zaretskii <eliz@gnu.org>
+
+ * mail/rmailmm.el (rmail-mime-insert-html): Decode the HTML part
+ using the specified transfer-encoding, if any, or 'undecided'.
+ (rmail-mime-render-html-shr): Bind shr-width to nil, so lines are
+ broken at the window margin.
+
+2013-12-27 Ken Olum <kdo@cosmos.phy.tufts.edu>
+
+ Support rendering of HTML parts in Rmail (bug#4258).
+ * mail/rmailmm.el (rmail-mime-process): Handle text/html
+ separately from other text/ types. Suppress tagline for
+ multipart body.
+ (rmail-mime-parse): Don't change visibility of tagline here.
+ (rmail-mime-set-bulk-data, rmail-mime-insert-bulk):
+ Handle text/html specially.
+ (rmail-mime-render-html-function,rmail-mime-prefer-html): New variables.
+ (rmail-mime-insert-html, rmail-mime-render-html-shr)
+ (rmail-mime-render-html-lynx): New functions.
+ (rmail-mime-fix-inserted-faces): New function.
+ (rmail-mime-process-multipart): Find the best part to show
+ following rmail-mime-prefer-html if set.
+ (rmail-mime-searching): New variable.
+ (rmail-search-mime-message): Bind rmail-mime-searching to
+ suppress rendering while searching.
+
+2014-09-12 Sam Steingold <sds@gnu.org>
+
+ * progmodes/sql.el (sql-product-alist): Add vertica.
+ (sql-vertica-program, sql-vertica-options)
+ (sql-vertica-login-params, sql-comint-vertica, sql-vertica):
+ New functions and variables to support Vertica.
+ Inspired by code by Roman Scherer <roman@burningswell.com>.
+
+2014-09-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ * ses.el (ses-file-format-extend-parameter-list): Rename from
+ ses-file-format-extend-paramter-list, to correct a misspelling.
+ All uses changed.
+
+2014-09-10 Alan Mackenzie <acm@muc.de>
+
+ CC Mode: revert recent changes and fix bug 17463 (cc-langs.elc
+ gets loaded at run-time).
+ * progmodes/cc-langs.el (c-no-parens-syntax-table): Rename the
+ c-lang-const to c-make-no-parens-syntax-table and correct the
+ logic.
+ (c-no-parens-syntax-table): Correct the logic of the
+ c-lang-defvar.
+
+2014-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ CC-mode: Set open-paren-in-column-0-is-defun-start to nil;
+ plus misc cleanup.
+ * progmodes/cc-mode.el (c-basic-common-init):
+ Set open-paren-in-column-0-is-defun-start.
+ (adaptive-fill-first-line-regexp, font-lock-syntactic-keywords):
+ Remove declarations, unused.
+ (run-mode-hooks): Remove declaration.
+ (font-lock-defaults): Use plain `defvar' to declare.
+ (c-run-mode-hooks): Test existence of run-mode-hooks with fboundp.
+ * progmodes/cc-langs.el (c-filter-ops): Avoid `setq'.
+ (c-make-mode-syntax-table): Don't micro-optimize.
+ (c-keywords, c-keyword-member-alist): Simplify.
+ (c-kwds-lang-consts): Don't eval at compile-time.
+ (c-primary-expr-regexp): Comment out unused vars.
+ * progmodes/cc-fonts.el (c-font-lock-context): Declare at top-level.
+ (c-font-byte-compile): New var.
+ (c--compile): New function. Use it instead of `byte-compile'.
+ (c-cpp-matchers): Quote the value returned by
+ `c-make-syntactic-matcher' in case it's not self-evaluating.
+ (c-basic-matchers-before): Avoid a plain MATCHER as keyword, wrap it in
+ parentheses instead (in case MATCHER happens to be a list).
+ (c-font-lock-enum-tail): Remove unused var `start'.
+ (c-font-lock-objc-methods): Silence byte-compiler warnings.
+ * progmodes/cc-engine.el (c-syntactic-re-search-forward): Sink an `if'
+ test into an argument.
+ * progmodes/cc-defs.el (c-point, c-major-mode-is, c-put-char-property)
+ (c-get-char-property): Don't use `eval' just to unquote a constant.
+ (c-use-extents): Remove. Use (featurep 'xemacs), compiled
+ more efficiently.
+ (c-put-char-property-fun): Don't call `byte-compile' by hand.
+ (c-clear-char-property, c-clear-char-properties): Check that `property'
+ is a quoted constant.
+ (c-emacs-features): Remove `infodock', `syntax-properties', and
+ `pps-extended-state' (never used), `8-bit' and `1-bit' (use (featurep
+ 'xemacs) instead). Use `with-temp-buffer' and let-bind vars after
+ changing buffer, so we don't have to setq them again afterwards.
+ (c-lang-const): Remove redundant symbolp assertions.
+ (c-find-assignment-for-mode): Use `or'.
+ * Makefile.in (compile-one-process): Remove cc-mode dependency.
+
+2014-09-09 Sam Steingold <sds@gnu.org>
+
+ * progmodes/sql.el (sql-default-directory): Fix type annotation.
+
+2014-09-09 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/cc-awk.el: Remove unneeded cc-bytecomp use.
+ Change doc comments into docstrings.
+ * Makefile.in: Remove cc-awk dependency.
+
+2014-09-08 Sam Steingold <sds@gnu.org>
+
+ * progmodes/sql.el (sql-send-line-and-next): New command,
+ bound to C-c C-n.
+ (sql-show-sqli-buffer): Display the buffer instead of its name and
+ bind the command to C-c C-z.
+ (sql-default-directory): New user option.
+ (sql-product-interactive): Bind `default-directory' to it to
+ enable remote connections using Tramp.
+ (sql-set-sqli-buffer): Call `sql-product-interactive' when no
+ suitable buffer is available.
+
2014-09-08 Glenn Morris <rgm@gnu.org>
+ * calendar/calendar.el (calendar-basic-setup):
+ Fix calendar-view-holidays-initially-flag and fancy display.
+ * calendar/diary-lib.el (diary-live-p): Doc fix.
+
* calendar/calendar.el (calendar-basic-setup):
Avoid clobbering calendar with diary. (Bug#18381)
-2014-09-14 Eli Zaretskii <eliz@gnu.org>
++2014-09-15 Eli Zaretskii <eliz@gnu.org>
+
- * w32.c (fcntl): Support O_NONBLOCK fcntl on the write side of
- pipes.
++ * w32.c (fcntl): Support O_NONBLOCK fcntl on the write side of pipes.
+ (sys_write): When a write to a non-blocking pipe returns ENOSPC,
+ set errno to EAGAIN instead, to allow the caller to retry the
+ write after some waiting. Fixes deadlocks when Emacs exchanges a
+ lot of data through the pipe. (Bug#18420)
+
-2014-09-13 Eli Zaretskii <eliz@gnu.org>
-
+ * sound.c (Fplay_sound_internal): Encode the sound file name in
+ the ANSI codepage. Expand it against data-directory, as per docs,
+ not against the current directory. No need to make a local copy
+ of the file name; pass the encoded file name directly to
+ do_play_sound. (Bug#18463)
+
+ * w32.c (ansi_encode_filename): If w32_get_short_filename returns
+ NULL, and the file name is not encodable in ANSI codepage, return
+ the string with "?" replacement characters, which will fail the
+ caller. This avoids returning a random value in that case.
+
-2014-09-11 Martin Rudalics <rudalics@gmx.at>
++2014-09-15 Martin Rudalics <rudalics@gmx.at>
+
+ * window.c (Fresize_mini_window_internal): Set w->total_lines
+ from w->pixel_height (Bug#18422).
+
-2014-09-09 Jan Djärv <jan.h.d@swipnet.se>
++2014-09-15 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (updateFrameSize:, initFrameFromEmacs:)
+ (toggleFullScreen:): Take frame_resize_pixelwise into account when
+ setting resize increments (Bug#18435).
+
-2014-09-09 Eli Zaretskii <eliz@gnu.org>
++2014-09-15 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (pos_visible_p): Properly save and restore the iterator
+ state around the call to line_bottom, since it can move the
+ iterator to another screen line. This fixes off-by-one errors in
+ the reported row in some rare cases.
+
-2014-09-07 Eli Zaretskii <eliz@gnu.org>
+2014-09-14 Jan Djärv <jan.h.d@swipnet.se>
+
+ * callproc.c (init_callproc): Fix bug introduced at
+ 2014-09-07 (Bug#18474).
+
+2014-09-13 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Prefer ptrdiff_t to int and avoid integer overflows.
+ * fileio.c (make_temp_name):
+ * font.c (font_parse_family_registry): Avoid integer
+ overflow on string size calculation.
+ * data.c (Faset): Likewise for byte index.
+
+2014-09-12 Detlev Zundel <dzu@member.fsf.org>
+
+ * buffer.c (syms_of_buffer): DEFSYM Qchoice (Bug#18337).
+
+2014-09-11 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * lisp.h (make_local_string): Nitpick indent.
+ * print.c (Fprin1_to_string): Remove unused GCPROs.
+
+ More debugging aids around GCPROs.
+ * lisp.h (struct gcpro) [DEBUG_GCPRO]: Add extra members.
+ (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6, GCPRO7):
+ Minor restyle. If DEBUG_GCPRO, initialize extra fields.
+
+ * lread.c (readevalloop_eager_expand_eval): Add GCPRO and fix
+ bootstrap broken if GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE.
+
+ Remove redundant GCPROs around Ffuncall and Fapply calls. This
+ is safe because Ffuncall protects all of its arguments by itself.
+ * charset.c (map_charset_for_dump): Remove redundant GCPRO.
+ * eval.c (Fapply, apply1, call0, call1, call2, call3, call4, call5)
+ (call6, call7): Likewise. Use compound literals where applicable.
+ (run_hook_with_args_2): Use compound literal.
+
+2014-09-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ Pacify --enable-gcc-warnings when no window system is used.
+ These warnings found that subscript error, so they seem worthwhile.
+ * composite.c (char_composable_p): Simplify a bit.
+ * frame.c (x_set_frame_parameters): Add an IF_LINT.
+ * frame.c (x_set_horizontal_scroll_bars, x_set_scroll_bar_height):
+ * frame.h (FRAME_HAS_HORIZONTAL_SCROLL_BARS):
+ * window.c (set_window_scroll_bars):
+ Use USE_HORIZONTAL_SCROLL_BARS for simplicity.
+ * frame.h [! USE_HORIZONTAL_SCROLL_BARS]:
+ Ignore -Wsuggest-attribute=const.
+ * window.h (USE_HORIZONTAL_SCROLL_BARS): New macro.
+ (WINDOW_HAS_HORIZONTAL_SCROLL_BAR): Use it.
+
+2014-09-10 Paul Eggert <eggert@penguin.cs.ucla.edu>
+
+ * charset.c (Fget_unused_iso_final_char): Fix subscript error.
+ Use check_iso_charset_parameter instead of doing the checks by hand.
+ (check_iso_charset_parameter): Move up. Check parameters a bit
+ more carefully, and return true for 96-char sets. All callers changed.
+
+2014-09-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ Simplify lisp.h by removing the __COUNTER__ business.
+ Problem reported by Dmitry Antipov in:
+ http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00220.html
+ * lisp.h (make_local_vector, make_local_string)
+ (build_local_string): Simplify by not bothering with __COUNTER__.
+ The __COUNTER__ business wasn't working properly, and was needed
+ only for hypothetical future expansion anyway.
+
+2014-09-10 Alp Aker <alp.tekin.aker@gmail.com>
+
+ * nsterm.m (ns_draw_fringe_bitmap): Use the same logic as other
+ terms to determine bitmap color. (Bug#18437)
+
+2014-09-10 Eli Zaretskii <eliz@gnu.org>
+
+ * w32.c (sys_write): Use SAFE_NALLOCA for the NL -> CRLF
+ translation buffer.
+
+2014-09-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xterm.c (handle_one_xevent): Add braces to pacify gcc -Wall.
+
+2014-09-10 Jan Djärv <jan.h.d@swipnet.se>
+
+ * xterm.c (handle_one_xevent): Detect iconified by looking at
+ _NET_WM_STATE_HIDDEN.
+
+2014-09-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lisp.h (DEFINE_GDB_SYMBOL_ENUM): Remove.
+ These can generate a constant with the correct value but the wrong
+ width, which doesn't work as a printf argument. All uses removed.
+ Problem reported by Dmitry Antipov in:
+ http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00213.html
+ (ENUMABLE): Remove; no longer needed.
+ (ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
+ Remove; no longer needed because of the above change.
+ Each definiens moved to the only use.
+
+ Improve the experimental local and scoped allocation.
+ * alloc.c (local_string_init, local_vector_init):
+ New functions, defined if USE_LOCAL_ALLOCATORS.
+ Mostly, these are moved here from lisp.h, as it's not
+ clear it's worth making them inline.
+ * lisp.h (USE_STACK_LISP_OBJECTS): Default to false.
+ (GCALIGNED): Depend on HAVE_STRUCT_ATTRIBUTE_ALIGNED and
+ USE_STACK_LISP_OBJECTS, not on a laundry list.
+ (local_string_init, local_vector_init): New decls.
+ (union Aligned_Cons): New type.
+ (scoped_cons): Use it. Give up on the char trick, as it's a too
+ much of a maintenance hassle; if someone wants this speedup
+ they'll just need to convince their compiler to align properly.
+ Conversely, use the speedup if struct Lisp_Cons happens to
+ be aligned even without a directive. Better yet, help it along
+ by using union Aligned_Cons rather than struct Lisp_Cons.
+ (pointer_valid_for_lisp_object): Remove. This check is not
+ necessary, since make_lisp_ptr is already doing it. All uses removed.
+ (local_vector_init, local_string_init): Move to alloc.c.
+ (build_local_vector): Remove this awkward macro, replacing with ...
+ (make_local_vector): New macro, which acts more like a function.
+ Use statement expressions and use __COUNTER__ to avoid macro
+ capture. Fall back on functions if these features are not supported.
+ (build_local_string, make_local_string): Likewise.
+
+2014-09-09 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * xterm.c (x_term_init): Consolidate duplicated code.
+ [USE_LUCID]: Revert 2014-04-02 change (Bug#18403). Add comment.
+ (x_delete_terminal): Do not close X connection fd (Bug#18403).
+ Add eassert and mark dpyinfo as dead only if it was alive.
+
+ Add macros to allocate temporary Lisp objects with alloca.
+ Respect MAX_ALLOCA and fall back to regular GC for large objects.
+ * character.h (parse_str_as_multibyte): Move prototype to ...
+ * lisp.h (parse_str_as_multibyte): ... here.
+ (struct Lisp_Cons): Add GCALIGNED attribute if supported.
+ (scoped_cons, scoped_list2, build_local_vector, build_local_string):
+ New macros.
+ (scoped_cons_init, pointer_valid_for_lisp_object, local_vector_init)
+ (local_string_init): New functions.
+ * alloc.c (verify_alloca) [ENABLE_CHECKING]: New function.
+ (init_alloc_once): Call it.
+
+ Cleanup last change and make all new stuff conditional.
+ * lisp.h (build_local_string): Rename to ...
+ (make_local_string): ... this macro.
+ (build_local_string, scoped_list1, scoped_list3): New macros.
+ (toplevel) [USE_STACK_LISP_OBJECTS]: Define all new macros
+ and functions as such, use regular fallbacks otherwise.
+ * alloc.c (verify_alloca) [USE_STACK_LISP_OBJECTS]: Define
+ conditionally.
+
+2014-09-08 Eli Zaretskii <eliz@gnu.org>
* dispnew.c (prepare_desired_row): When MODE_LINE_P is zero,
always make sure the marginal areas of the row are in sync with