diff options
| author | Paul Eggert | 2017-11-25 22:55:35 -0800 |
|---|---|---|
| committer | Paul Eggert | 2017-11-25 22:55:35 -0800 |
| commit | d20161b25e9cd184d841ba9e36ee5141c01fd75f (patch) | |
| tree | 6026fea9d48e641bf63b23209970efd1f8024e2c /src/window.c | |
| parent | e27004c5fe3c227476ea210ff5bee2efb783ae17 (diff) | |
| parent | a89f0b6f33f9eb8910a1fceda9028d76ef50b05d (diff) | |
| download | emacs-d20161b25e9cd184d841ba9e36ee5141c01fd75f.tar.gz emacs-d20161b25e9cd184d841ba9e36ee5141c01fd75f.zip | |
Merge from origin/emacs-26
a89f0b6f33 maint: shorten https://lists.gnu.org/archive/html/... links
8be3aee281 Merge from Gnulib
265cee553f Work around GCC bug 80776 on Fedora 27 x86
dc7a97fb84 Tweak copy-file, rename-file doc
cfa2a944d4 Change font-lock-extend-region-multiline handling in mhtml...
a8664cc998 Minor cleanup in tramp-gvfs-handle-file-local-copy
55c5b12fa0 Add test for Bug#29423 in Tramp.
3198a1646e Avoid jumbled order in HTML rendered by shr.el
23bfc2d2db Make sure 'dired-filename' property is always put by ls-lisp
f7fdaea4c0 A better solution for bug#29347
86e6ed8521 ; * src/thread.c (acquire_global_lock): Fix thinko in last...
f300852037 Avoid a hang after C-g while sit-for on a Unix TTY
d7fc719ff1 Improve the doc string of 'list-packages'
b4f67ebb92 Improve discoverability of 'defvar' for suppressing warnings
8a2b204e64 Improve discoverability of 'read-buffer-completion-ignore-...
eea4e9194c Improve documentation of self-insert-uses-region-functions
e6e41dac87 Reflect changes in copy-file and rename-file in doc strings
0ec534070f * lisp/progmodes/cc-vars.el (c-offsets-alist): Doc fix. (...
1d0dbdff6c Reorder type predicates in ELisp manual
b081ec9dd7 Fix backward scrolling in buffers with header-line
8e40429c96 ; Fix some doc typos
ed2c542920 * lisp/bindings.el (buffer-file-coding-system): Add explic...
d82474e452 * src/fns.c (syms_of_fns) <overriding-plist-environment>: ...
292c09ff6d Fix incorrect interaction of drag/drop and double click (b...
d6fadb1d26 * lisp/menu-bar.el (menu-bar-options-save): Add display-li...
daa959efbc * lisp/menu-bar.el (menu-bar-options-save): Add global-dis...
17fc74d1b9 * lisp/follow.el (follow-mode): Restore mode line lighter....
f20c2e2f3d ; Compare process status against 127 exactly
2d203ffb7e Extract the common part of ruby-flymake-simple and ruby-fl...
09944d499a Add Rubocop Flymake backend
c65a0ae7c4 ; Fix a typo
7ab7603125 Update nt/INSTALL.W64 (Bug#28601)
11db253c08 Remove incorrect NEWS item about VC state indicator (Bug#2...
2fdc01c036 * lisp/emacs-lisp/byte-run.el (defsubst): Doc fix.
735c8b516e Make c-defun-name analyze more thoroughly a function type ...
92f0c4cd56 Avoid bogus abbreviated file names if HOME changes
8d450453fa * lisp/emacs-lisp/byte-run.el (inline): Give it a doc.
37a3b4ea40 Fix erc keep-place module with new defaults (Bug#29111)
6c312605bf Add window divider faces to NS (bug#29353)
# Conflicts:
# etc/NEWS
# lisp/ruler-mode.el
Diffstat (limited to 'src/window.c')
| -rw-r--r-- | src/window.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/window.c b/src/window.c index 7f472523b49..504dcd38357 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -5355,6 +5355,9 @@ window_scroll_pixel_based (Lisp_Object window, int n, bool whole, bool noerror) | |||
| 5355 | /* We moved the window start towards BEGV, so PT may be now | 5355 | /* We moved the window start towards BEGV, so PT may be now |
| 5356 | in the scroll margin at the bottom. */ | 5356 | in the scroll margin at the bottom. */ |
| 5357 | move_it_to (&it, PT, -1, | 5357 | move_it_to (&it, PT, -1, |
| 5358 | /* We subtract WINDOW_HEADER_LINE_HEIGHT because | ||
| 5359 | it.y is relative to the bottom of the header | ||
| 5360 | line, see above. */ | ||
| 5358 | (it.last_visible_y - WINDOW_HEADER_LINE_HEIGHT (w) | 5361 | (it.last_visible_y - WINDOW_HEADER_LINE_HEIGHT (w) |
| 5359 | - partial_line_height (&it) - this_scroll_margin - 1), | 5362 | - partial_line_height (&it) - this_scroll_margin - 1), |
| 5360 | -1, | 5363 | -1, |
| @@ -5392,11 +5395,14 @@ window_scroll_pixel_based (Lisp_Object window, int n, bool whole, bool noerror) | |||
| 5392 | 5395 | ||
| 5393 | /* See if point is on a partially visible line at the end. */ | 5396 | /* See if point is on a partially visible line at the end. */ |
| 5394 | if (it.what == IT_EOB) | 5397 | if (it.what == IT_EOB) |
| 5395 | partial_p = it.current_y + it.ascent + it.descent > it.last_visible_y; | 5398 | partial_p = |
| 5399 | it.current_y + it.ascent + it.descent | ||
| 5400 | > it.last_visible_y - WINDOW_HEADER_LINE_HEIGHT (w); | ||
| 5396 | else | 5401 | else |
| 5397 | { | 5402 | { |
| 5398 | move_it_by_lines (&it, 1); | 5403 | move_it_by_lines (&it, 1); |
| 5399 | partial_p = it.current_y > it.last_visible_y; | 5404 | partial_p = |
| 5405 | it.current_y > it.last_visible_y - WINDOW_HEADER_LINE_HEIGHT (w); | ||
| 5400 | } | 5406 | } |
| 5401 | 5407 | ||
| 5402 | if (charpos == PT && !partial_p | 5408 | if (charpos == PT && !partial_p |
| @@ -5415,7 +5421,7 @@ window_scroll_pixel_based (Lisp_Object window, int n, bool whole, bool noerror) | |||
| 5415 | goal_y = this_scroll_margin; | 5421 | goal_y = this_scroll_margin; |
| 5416 | SET_TEXT_POS_FROM_MARKER (start, w->start); | 5422 | SET_TEXT_POS_FROM_MARKER (start, w->start); |
| 5417 | start_display (&it, w, start); | 5423 | start_display (&it, w, start); |
| 5418 | /* It would be wrong to subtract CURRENT_HEADER_LINE_HEIGHT | 5424 | /* It would be wrong to subtract WINDOW_HEADER_LINE_HEIGHT |
| 5419 | here because we called start_display again and did not | 5425 | here because we called start_display again and did not |
| 5420 | alter it.current_y this time. */ | 5426 | alter it.current_y this time. */ |
| 5421 | move_it_to (&it, -1, window_scroll_pixel_based_preserve_x, | 5427 | move_it_to (&it, -1, window_scroll_pixel_based_preserve_x, |