src/print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE, not
STRING_CHAR_AND_LENGTH, so that if the string is relocated by GC,
we still use correct addresses.
* xdisp.c (last_max_ascent): Re-remove after erroneously
reintroducing it on 2013-11-30 and abolishing Dmitry's removal
from 2013-03-29.
(move_it_to): Re-remove reference to last_max_ascent.
(Fwindow_text_pixel_size): Add iterator's max_ascent and
max_descent here instead of calling line_bottom_y. Fix
doc-string.
* window.el (fit-frame-to-buffer): Fix calculations for margins and
height constraints.
src/w32term.c (w32_read_socket): When the WM_DISPLAYCHANGE message
arrives, call x_check_fullscreen, in case the new display has a
different resolution.
src/term.c (read_menu_input): If the selected frame changes, exit
the menu.
(tty_menu_show): If the selected frame changes while we displayed
a menu, throw to top level.
* window.c (Fwindow_pixel_width, Fwindow_pixel_height)
(Fwindow_mode_line_height, Fwindow_header_line_height)
(Fwindow_right_divider_width, Fwindow_bottom_divider_width):
Minor doc-string adjustments.
(Fwindow_total_height, Fwindow_total_width): New argument ROUND.
Rewrite doc-strings.
(window_body_height, window_body_width): Do not count partially
visible lines/columns when PIXELWISE is nil (Bug#16470).
(Qfloor, Qceiling): New symbols.
* window.el (window-total-size, window-size): New argument
ROUND.
(window--min-delta-1, window-min-delta, window--max-delta-1): Be
more conservative when calculating the numbers of lines or
columns a window can shrink (Bug#16430).
(fit-window-to-buffer): Simplify code.
* term.el (term-window-width): Call window-body-width again.
re-attach intervals to its base buffer (Bug#16502).
* intervals.c (set_interval_object): Move from here...
* intervals.h (set_interval_object): ... to here. Fix comments.
Problem reported by Dmitry Antipov in
<http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01756.html>.
* alloc.c (USE_VALGRIND): Move this to ...
* conf_post.h (USE_VALGRIND): ... here. Use booleans.
* buffer.c (Fget_buffer_create): Initialize redisplay bit
to pacify valgrind.
Because of this, "make bootstrap" won't work if CANNOT_DUMP=yes,
but fixing this can wait until after the next release.
* leim/Makefile.in (RUN_EMACS): Keep EMACSLOADPATH empty.
* lisp/Makefile.in (emacs): Keep EMACSLOADPATH empty.
* src/lread.c (init_lread): Fix typo: NILP, not !NILP.
Fixes: debbugs:16494
src/w32font.c (w32_load_unicows_or_gdi32, get_outline_metrics_w)
(get_text_metrics_w, get_glyph_outline_w, get_char_width_32_w)
[!WINDOWSNT]: These functions are no longer compiled on Cygwin;
they are replaced by macros that expand into direct calls to the
corresponding functions from GDI32.DLL.
(globals_of_w32font) [WINDOWSNT]: Don't initialize g_b_* static
variables in the Cygwin build, they are unused.
src/w32.c (maybe_load_unicows_dll): New function.
src/emacs.c (main) [WINDOWSNT]: Call maybe_load_unicows_dll early
on, to make sure we can convert file names to and from UTF-8 on
Windows 9X. This fixes a failure to start up because Emacs cannot
find term/w32-win.el. Reported by oslsachem <oslsachem@gmail.com>.
src/w32font.c [WINDOWSNT]: Include w32.h.
(w32_load_unicows_or_gdi32): Call maybe_load_unicows_dll, instead
of implementing the same stuff.
Remove now unused g_b_init_is_windows_9x.
src/w32.h (maybe_load_unicows_dll): Add prototype.
nt/runemacs.c (ensure_unicows_dll): Don't tell in the message box
that "emacs -nw" can do without UNICOWS.DLL on Windows 9X. See
w32.c:maybe_load_unicows_dll and its callers for the reason.
src/menu.c (Fx_popup_menu): When invoking tty_menu_show, temporarily
switch to single keyboard. Prevents daemon crashes when a new
client connects while we show a TTY menu in an existing client.
(CG_SET_FILL_COLOR_WITH_FACE_FOREGROUND)
(CG_SET_FILL_COLOR_WITH_FACE_BACKGROUND)
(CG_SET_STROKE_COLOR_WITH_FACE_FOREGROUND): Modified from
*_WITH_GC_* to take face and f as parameters.
(macfont_draw): Check for DRAW_MOUSE_FACE and set face accordingly.
Use *_WITH_FACE_*, and pass face as parameter.
Fixes: debbugs:16425