src/xdisp.c (try_window_reusing_current_matrix): Under bidi
reordering, locate the cursor by calling set_cursor_from_row; if
that fails, clear the desired glyph matrix before returning a
failure indication to the caller. Fixes leaving garbled display
when fast scrolling with a down-key when scroll-margin is non-zero.
src/w32menu.c: Include w32heap.h.
(add_menu_item): If the call to AppendMenuW (via
unicode_append_menu) fails, disable Unicode menus only if we are
running on Windows 9X/Me.
src/makefile.w32-in ($(BLD)/w32menu.$(O)): Depend on w32heap.h.
* nsmenu.m (ns_update_menubar): Add braces to ambigous if-else.
* nsmenu.m (Popdown_data): New struct.
(pop_down_menu): p->pointer is Popdown_data. Release the pool and
free Popdown_data.
(ns_popup_dialog): Use NSAutoreleasePool and pass it to pop_down_menu.
(initWithContentRect): Make imgView and contentView non-static
and autorelease them. Also autorelease img and matrix.
(dealloc): Remove (Bug#1995-05-29T20:16:10Z!kwzh@gnu.org).
* nsterm.m (keyDown:): Interpret flags without left/right bits
as the left key (Bug#1995-05-03T21:38:13Z!rms@gnu.org).
* nsterm.m (ns_read_socket): Return early if there is a modal
window (Bug#1995-05-31T19:46:12Z!kwzh@gnu.org).
src/s/msdos.h (FILE_SYSTEM_CASE): Don't define.
src/fileio.c (FILE_SYSTEM_CASE): Don't define.
(Ffile_name_directory, Fexpand_file_name): Don't use FILE_SYSTEM_CASE.
Fixes problems on MS-DOS with Vtemp_file_name_pattern when
call-process-region passes it through expand-file-name.
src/dired.c (file_name_completion): Don't use FILE_SYSTEM_CASE.
admin/CPP-DEFINES: Remove FILE_SYSTEM_CASE.
src/ralloc.c (r_alloc_inhibit_buffer_relocation): Fix stupid thinko
in the logic of incrementing and decrementing the value of
use_relocatable_buffers.
src/xdisp.c (handle_stop): Detect whether we have overlay strings
loaded by testing it->current.overlay_string_index to be
non-negative, instead of checking whether n_overlay_strings is
positive.
src/search.c (search_buffer): Remove calls to
r_alloc_inhibit_buffer_relocation, as it is now called by
maybe_unify_char, which was the cause of relocation of buffer text
in bug#11519.
src/charset.c (maybe_unify_char): Inhibit relocation of buffer text
for the duration of call to load_charset, to avoid problems with
callers of maybe_unify_char that access buffer text through C
pointers.
src/ralloc.c (r_alloc_inhibit_buffer_relocation): Increment and
decrement the inhibition flag, instead of just setting or
resetting it.
Fixes: debbugs:11519
src/lisp.h [REL_ALLOC]: Add prototypes for external functions
defined on ralloc.c.
src/buffer.c [REL_ALLOC]: Remove prototypes of
r_alloc_reset_variable, r_alloc, r_re_alloc, and r_alloc_free,
they are now on lisp.h.
src/ralloc.c (r_alloc_inhibit_buffer_relocation): New function.
src/search.c (search_buffer): Use it to inhibit relocation of buffer
text while re_search_2 is doing its job, because re_search_2 is
passed C pointers to buffer text.
src/xdisp.c (move_it_to): Under MOVE_TO_Y, when restoring iterator
state after an additional call to move_it_in_display_line_to, keep
the values of it->max_ascent and it->max_descent found for the
entire line.
(pos_visible_p): Revert the comparison against bottom_y to what it
was in 2012-05-13T18:22:35Z!eliz@gnu.org.
src/xdisp.c (pos_visible_p): Don't report a position visible when move_it_to
stopped at the last line of window, which happens to be scanned
backwards by the bidi iteration.
src/xdisp.c (handle_stop): Don't call get_overlay_strings_1 if we
already have overlays loaded.
(handle_single_display_spec): Before returning without displaying
fringe bitmap, synchronize the bidi iterator with the main display
iterator, by calling iterate_out_of_display_property.
(iterate_out_of_display_property): Detect buffer iteration by
testing that it->string is a Lisp string.
(get_next_display_element): When the current object is exhausted,
and there's something on it->stack, call set_iterator_to_next to
proceed with what's on the stack, instead of returning zero.
(set_iterator_to_next): If called at the end of a Lisp string,
proceed to consider_string_end without incrementing string
position. Don't increment display vector index past the end of
the display vector.
src/xdisp.c (handle_single_display_spec): Return 1 for left-margin
and right-margin display specs even if the spec is invalid or we
are on a TTY, and thus unable to display on the fringes. That's
because the text with the property will not be displayed anyway,
so we need to signal to the caller that this is a "replacing"
display spec. This fixes display when the spec is invalid or we
are on a TTY.
src/w32proc.c (new_child): Force Windows to reserve only 64KB of
stack for each reader_thread, instead of defaulting to 8MB
determined by the linker. This avoids failures in creating
subprocesses on Windows 7, see the discussion in this thread:
http://lists.gnu.org/archive/html/emacs-devel/2012-03/msg00119.html.
src/xdisp.c (pos_visible_p): If already at a newline from the
display string before the 'while' loop, don't walk back the glyphs
from it3.glyph_row. Solves assertion violation when the display
string begins with a newline (egg.el).
src/xdisp.c (pos_visible_p): If the window start position is beyond
ZV, start the display from buffer beginning. Prevents assertion
violation in init_iterator when the minibuffer window is scrolled
via the scroll bar.
src/window.c (window_scroll_pixel_based): Likewise.
* lisp/progmodes/gdb-mi.el (gdb): Revert 2012-04-19 change.
(gdb-inferior-io--init-proc): New function.
(gdb-init-1): Use it.
(gdb-inferior-io-sentinel): New sentinel for the gdb-inferior pty,
responsible for allocating a new pty and hooking it to gdb when
the old pty gets an EIO due to process exit.
(gdb-delchar-or-quit): New command. Bind it in gdb-mi buffers.
(gdb-tooltip-print): Don't use obsolete tooltip-use-echo-area.
(gdb-inferior-io--maybe-delete-pty): Move into gdb-reset.
* src/process.c (wait_reading_process_output): If EIO occurs on a pty,
set the status to "failed" and ensure that sentinel is run.
* doc/lispref/processes.texi (Asynchronous Processes): Mention nil
argument to start-process.
src/xdisp.c (string_buffer_position_lim): Limit starting position to BEGV.
(set_cursor_from_row): If called for a mode-line or header-line
row, return zero immediately.
(try_cursor_movement): If inside continuation line, don't back up
farther than the first row after the header line, if any. Don't
consider the header-line row as "partially visible", even if
MATRIX_ROW_PARTIALLY_VISIBLE_P returns non-zero.