diff options
| author | Glenn Morris | 2021-10-12 07:50:19 -0700 |
|---|---|---|
| committer | Glenn Morris | 2021-10-12 07:50:19 -0700 |
| commit | d4a033696d3389bd65d751050f98de12236e3101 (patch) | |
| tree | ed63ced5285b697c57c80f66b763f2c7a295eed8 /src | |
| parent | b36cbf2fefe6d9c154e615b660a9166abdca1f51 (diff) | |
| parent | 66b8dfd0602c2175a0296ce6a844d77c94813429 (diff) | |
| download | emacs-d4a033696d3389bd65d751050f98de12236e3101.tar.gz emacs-d4a033696d3389bd65d751050f98de12236e3101.zip | |
Merge from origin/emacs-28
66b8dfd060 (origin/emacs-28) ; Fix last change related to shorthands
3832b983cf In Fdelete_other_windows_internal fix new total window siz...
5deb0ec14f * lisp/mh-e/mh-show.el (mh-junk-whitelist): Custom obsoles...
cf1409db71 Don't apply shorthands to punctuation-only symbols (bug#51...
b3d0f53b29 * lisp/progmodes/python.el: Bump package version to 0.28.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lread.c | 8 | ||||
| -rw-r--r-- | src/window.c | 38 |
2 files changed, 23 insertions, 23 deletions
diff --git a/src/lread.c b/src/lread.c index 07580d11d13..b3f9e6ff527 100644 --- a/src/lread.c +++ b/src/lread.c | |||
| @@ -3805,7 +3805,13 @@ read1 (Lisp_Object readcharfun, int *pch, bool first_in_list) | |||
| 3805 | ptrdiff_t longhand_bytes = 0; | 3805 | ptrdiff_t longhand_bytes = 0; |
| 3806 | 3806 | ||
| 3807 | Lisp_Object tem; | 3807 | Lisp_Object tem; |
| 3808 | if (skip_shorthand) | 3808 | if (skip_shorthand |
| 3809 | /* The following ASCII characters are used in the | ||
| 3810 | only "core" Emacs Lisp symbols that are comprised | ||
| 3811 | entirely of characters that have the 'symbol | ||
| 3812 | constituent' syntax. We exempt them from | ||
| 3813 | transforming according to shorthands. */ | ||
| 3814 | || strspn (read_buffer, "^*+-/<=>_|") >= nbytes) | ||
| 3809 | tem = oblookup (obarray, read_buffer, nchars, nbytes); | 3815 | tem = oblookup (obarray, read_buffer, nchars, nbytes); |
| 3810 | else | 3816 | else |
| 3811 | tem = oblookup_considering_shorthand (obarray, read_buffer, | 3817 | tem = oblookup_considering_shorthand (obarray, read_buffer, |
diff --git a/src/window.c b/src/window.c index ec3c941c3bf..9845fbb876b 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -3199,8 +3199,10 @@ function in a program gives strange scrolling, make sure the | |||
| 3199 | window-start value is reasonable when this function is called. */) | 3199 | window-start value is reasonable when this function is called. */) |
| 3200 | (Lisp_Object window, Lisp_Object root) | 3200 | (Lisp_Object window, Lisp_Object root) |
| 3201 | { | 3201 | { |
| 3202 | struct window *w, *r, *s; | 3202 | struct window *w = decode_valid_window (window); |
| 3203 | struct frame *f; | 3203 | struct window *r, *s; |
| 3204 | Lisp_Object frame = w->frame; | ||
| 3205 | struct frame *f = XFRAME (frame); | ||
| 3204 | Lisp_Object sibling, pwindow, delta; | 3206 | Lisp_Object sibling, pwindow, delta; |
| 3205 | Lisp_Object swindow UNINIT; | 3207 | Lisp_Object swindow UNINIT; |
| 3206 | ptrdiff_t startpos UNINIT, startbyte UNINIT; | 3208 | ptrdiff_t startpos UNINIT, startbyte UNINIT; |
| @@ -3208,9 +3210,7 @@ window-start value is reasonable when this function is called. */) | |||
| 3208 | int new_top; | 3210 | int new_top; |
| 3209 | bool resize_failed = false; | 3211 | bool resize_failed = false; |
| 3210 | 3212 | ||
| 3211 | w = decode_valid_window (window); | ||
| 3212 | XSETWINDOW (window, w); | 3213 | XSETWINDOW (window, w); |
| 3213 | f = XFRAME (w->frame); | ||
| 3214 | 3214 | ||
| 3215 | if (NILP (root)) | 3215 | if (NILP (root)) |
| 3216 | /* ROOT is the frame's root window. */ | 3216 | /* ROOT is the frame's root window. */ |
| @@ -3250,7 +3250,7 @@ window-start value is reasonable when this function is called. */) | |||
| 3250 | /* Make sure WINDOW is the frame's selected window. */ | 3250 | /* Make sure WINDOW is the frame's selected window. */ |
| 3251 | if (!EQ (window, FRAME_SELECTED_WINDOW (f))) | 3251 | if (!EQ (window, FRAME_SELECTED_WINDOW (f))) |
| 3252 | { | 3252 | { |
| 3253 | if (EQ (selected_frame, w->frame)) | 3253 | if (EQ (selected_frame, frame)) |
| 3254 | Fselect_window (window, Qnil); | 3254 | Fselect_window (window, Qnil); |
| 3255 | else | 3255 | else |
| 3256 | /* Do not clear f->select_mini_window_flag here. If the | 3256 | /* Do not clear f->select_mini_window_flag here. If the |
| @@ -3283,7 +3283,7 @@ window-start value is reasonable when this function is called. */) | |||
| 3283 | 3283 | ||
| 3284 | if (!EQ (swindow, FRAME_SELECTED_WINDOW (f))) | 3284 | if (!EQ (swindow, FRAME_SELECTED_WINDOW (f))) |
| 3285 | { | 3285 | { |
| 3286 | if (EQ (selected_frame, w->frame)) | 3286 | if (EQ (selected_frame, frame)) |
| 3287 | Fselect_window (swindow, Qnil); | 3287 | Fselect_window (swindow, Qnil); |
| 3288 | else | 3288 | else |
| 3289 | fset_selected_window (f, swindow); | 3289 | fset_selected_window (f, swindow); |
| @@ -3318,18 +3318,12 @@ window-start value is reasonable when this function is called. */) | |||
| 3318 | w->top_line = r->top_line; | 3318 | w->top_line = r->top_line; |
| 3319 | resize_root_window (window, delta, Qnil, Qnil, Qt); | 3319 | resize_root_window (window, delta, Qnil, Qnil, Qt); |
| 3320 | if (window_resize_check (w, false)) | 3320 | if (window_resize_check (w, false)) |
| 3321 | { | 3321 | window_resize_apply (w, false); |
| 3322 | window_resize_apply (w, false); | ||
| 3323 | window_pixel_to_total (w->frame, Qnil); | ||
| 3324 | } | ||
| 3325 | else | 3322 | else |
| 3326 | { | 3323 | { |
| 3327 | resize_root_window (window, delta, Qnil, Qt, Qt); | 3324 | resize_root_window (window, delta, Qnil, Qt, Qt); |
| 3328 | if (window_resize_check (w, false)) | 3325 | if (window_resize_check (w, false)) |
| 3329 | { | 3326 | window_resize_apply (w, false); |
| 3330 | window_resize_apply (w, false); | ||
| 3331 | window_pixel_to_total (w->frame, Qnil); | ||
| 3332 | } | ||
| 3333 | else | 3327 | else |
| 3334 | resize_failed = true; | 3328 | resize_failed = true; |
| 3335 | } | 3329 | } |
| @@ -3342,18 +3336,12 @@ window-start value is reasonable when this function is called. */) | |||
| 3342 | XSETINT (delta, r->pixel_width - w->pixel_width); | 3336 | XSETINT (delta, r->pixel_width - w->pixel_width); |
| 3343 | resize_root_window (window, delta, Qt, Qnil, Qt); | 3337 | resize_root_window (window, delta, Qt, Qnil, Qt); |
| 3344 | if (window_resize_check (w, true)) | 3338 | if (window_resize_check (w, true)) |
| 3345 | { | 3339 | window_resize_apply (w, true); |
| 3346 | window_resize_apply (w, true); | ||
| 3347 | window_pixel_to_total (w->frame, Qt); | ||
| 3348 | } | ||
| 3349 | else | 3340 | else |
| 3350 | { | 3341 | { |
| 3351 | resize_root_window (window, delta, Qt, Qt, Qt); | 3342 | resize_root_window (window, delta, Qt, Qt, Qt); |
| 3352 | if (window_resize_check (w, true)) | 3343 | if (window_resize_check (w, true)) |
| 3353 | { | 3344 | window_resize_apply (w, true); |
| 3354 | window_resize_apply (w, true); | ||
| 3355 | window_pixel_to_total (w->frame, Qt); | ||
| 3356 | } | ||
| 3357 | else | 3345 | else |
| 3358 | resize_failed = true; | 3346 | resize_failed = true; |
| 3359 | } | 3347 | } |
| @@ -3395,6 +3383,12 @@ window-start value is reasonable when this function is called. */) | |||
| 3395 | } | 3383 | } |
| 3396 | 3384 | ||
| 3397 | replace_window (root, window, true); | 3385 | replace_window (root, window, true); |
| 3386 | /* Assign new total sizes to all windows on FRAME. We can't do that | ||
| 3387 | _before_ WINDOW replaces ROOT since 'window--pixel-to-total' works | ||
| 3388 | on the whole frame and thus would work on the frame's old window | ||
| 3389 | configuration (Bug#51007). */ | ||
| 3390 | window_pixel_to_total (frame, Qnil); | ||
| 3391 | window_pixel_to_total (frame, Qt); | ||
| 3398 | 3392 | ||
| 3399 | /* This must become SWINDOW anyway ....... */ | 3393 | /* This must become SWINDOW anyway ....... */ |
| 3400 | if (BUFFERP (w->contents) && !resize_failed) | 3394 | if (BUFFERP (w->contents) && !resize_failed) |