aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGlenn Morris2021-10-12 07:50:19 -0700
committerGlenn Morris2021-10-12 07:50:19 -0700
commitd4a033696d3389bd65d751050f98de12236e3101 (patch)
treeed63ced5285b697c57c80f66b763f2c7a295eed8 /src
parentb36cbf2fefe6d9c154e615b660a9166abdca1f51 (diff)
parent66b8dfd0602c2175a0296ce6a844d77c94813429 (diff)
downloademacs-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.c8
-rw-r--r--src/window.c38
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
3199window-start value is reasonable when this function is called. */) 3199window-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)