src/xdisp.c (redisplay_window): Don't let `margin' become negative.
This could happen when scroll-margin is zero and scroll-*-aggressively
is a small float number.
src/xdisp.c (handle_invisible_prop): If the invisible text ends just
before a newline, prepare the bidi iterator for consuming the
newline, and keep the current paragraph direction.
* lisp/isearch.el (isearch-occur): Use `word-search-regexp' for
`isearch-word'.
(isearch-search-and-update): Add condition for `isearch-word' and
call `word-search-regexp'.
* src/search.c (Fword_search_regexp): New Lisp function created from
`wordify'. Change type of arg `lax' from `int' to `Lisp_Object'.
(Fword_search_backward, Fword_search_forward)
(Fword_search_backward_lax, Fword_search_forward_lax):
Use `Fword_search_regexp' instead of `wordify'. Doc fix.
(syms_of_search): Define `Sword_search_regexp'.
Fixes: debbugs:10145
to before the "handled:" label, since all "goto handled" appear in
cases where the *-change-functions have already been properly called.
Fixes: debbugs:10117
src/dispnew.c (adjust_glyph_matrix): Remove the assertion that
verifies glyph row's hash code--we have just reallocated the
glyphs, so their contents can be complete garbage.
src/dispnew.c (adjust_glyph_matrix) [XASSERTS]: Ensure ROW's
attributes are tested _before_ calling verify_row_hash, to protect
against GCC re-ordering of the tests.
if net_wm_state_hidden_seen is non-zero
(get_current_wm_state): Set net_wm_state_hidden_seen to 1 if
_NET_WM_STATE_HIDDEN is in NET_WM_STATE.
* xterm.h (struct x_output): net_wm_state_hidden_seen is new.
Fixes: debbugs:10002
* lisp.h (GCPRO1_VAR, GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR, GCPRO5_VAR)
(GCPRO6_VAR, UNGCPRO_VAR): Remove. See
<http://lists.gnu.org/archive/html/emacs-diffs/2011-11/msg00265.html>.
All uses changed to use GCPRO1 etc.
(GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6, UNGCPRO):
Revert to old implementation (i.e., before 2011-03-11).
* dispnew.c (scrolling_window): Truncate overlaps in copy destination
of scroll runs so as to avoid assigning disabled bogus rows and
unnecessary graphics copy operations.
Parts of the changes by Fabrice Popineau <fabrice.popineau@supelec.fr>.
lib-src/makefile.w32-in (LOCAL_FLAGS): Add $(EMACS_EXTRA_C_FLAGS).
lib-src/emacsclient.c (main) <environ>: Remove declaration, already
pulled in by unistd.h on Posix hosts and stdlib.h on MS-Windows.
nt/inc/stdint.h (uint32_t, uint64_t) [_WIN64]: New typedefs.
(UINT64_MAX) [_WIN64]: Fix definition.
(uintmax_t, intmax_t): Fix definitions.
nt/inc/inttypes.h (strtoumax, strtoimax) [!__MINGW32__]: Provide
correct definitions.
nt/config.nt (HAVE_DECL_STRTOLL): Define.
(va_copy) [_WIN64]: Provide a better definition.
src/s/ms-w32.h (utimbuf) [_MSC_VER]: Don't define.
(snprintf) [_MSC_VER]: Redirect to _snprintf.
(strtoll) [_MSC_VER]: Redirect to _strtoi64.
(malloc, free, realloc, calloc): Redirect to e_* only when
compiling Emacs.
src/lisp.h (GCTYPEBITS): Move before first use.
(ALIGN_GCTYPEBITS) [_MSC_VER]: Define.
(DECL_ALIGN) [_MSC_VER]: Use it, as MSVC doesn't like bit ops in
this macro definition.
(tzname): Redirect to _tzname for all values of _MSC_VER.
Fixes: debbugs:9960
* configure.in: Check for gtk_window_set_has_resize_grip.
* src/gtkutil.c (xg_create_frame_widgets): Call
gtk_window_set_has_resize_grip (FALSE) if that function is
present with Gtk+ 2.0.
* fileio.c (Finsert_file_contents):
Rename inner 'gcpro1' to 'inner_gcpro1' to avoid shadowing.
* process.c (wait_reading_process_output):
Rename inner 'proc' to 'p' to avoid shadowing.
Indent for consistency with usual Emacs style.
src/xdisp.c (start_display): Don't move to the next line if the display
should start at a newline that is part of a display vector or an overlay
string.
src/xdisp.c (redisplay_window): If cursor row is not fully visible
after recentering, and scroll-conservatively is set to a large
number, scroll window by a few more lines to make the cursor fully
visible and out of scroll-margin.