master e53f0b47497 5/5: Merge from origin/emacs-31

Eli Zaretskii <[email protected]> Sat, 27 Jun 2026 06:31:07 -0400 (EDT)
Newsgroups gmane.emacs.diffs
Message-ID <[email protected]>
branch: master
commit e53f0b474977f3a7fbfe61a190b37e5b6da4c41e
Merge: 4724964ad24 b365ef37b9b
Author: Eli Zaretskii <[email protected]>
Commit: Eli Zaretskii <[email protected]>

    Merge from origin/emacs-31
    
    b365ef37b9b Fix pixels-vs-columns confusion in margin face fill (bug#...
    e0185b09076 Fix ISO date insertion in diary
    3c9517300e9 ; Tag process-test-stderr-filter :unstable on emba
    422bf368477 Minor fix for 'format-mode-line'
    13814795727 Improve the previous fix in toggle-window-dedicated
---
 lisp/calendar/calendar.el                                    |  4 +++-
 lisp/window.el                                               |  8 +++++++-
 src/xdisp.c                                                  | 12 ++++++------
 .../diary-icalendar-resources/import-bug-11473.diary-iso     |  2 +-
 .../diary-icalendar-resources/import-bug-22092.diary-iso     |  2 +-
 .../diary-icalendar-resources/import-bug-33277.diary-iso     |  2 +-
 .../diary-icalendar-resources/import-legacy-vars.diary-iso   |  2 +-
 .../import-multiple-vcalendars.diary-iso                     |  8 ++++----
 .../import-non-recurring-1.diary-iso                         |  2 +-
 .../import-non-recurring-all-day.diary-iso                   |  2 +-
 .../import-non-recurring-another-example.diary-iso           |  2 +-
 .../import-non-recurring-folded-summary.diary-iso            |  2 +-
 .../import-non-recurring-long-summary.diary-iso              |  2 +-
 .../import-time-format-12hr-blank.diary-iso                  |  2 +-
 .../import-with-attachment.diary-iso                         |  2 +-
 .../diary-icalendar-resources/import-with-timezone.diary-iso |  4 ++--
 .../diary-icalendar-resources/import-with-uid.diary-iso      |  2 +-
 test/src/process-tests.el                                    |  1 +
 18 files changed, 35 insertions(+), 26 deletions(-)

diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el
index b4390fd2191..e20c8ae95ec 100644
--- a/lisp/calendar/calendar.el
+++ b/lisp/calendar/calendar.el
@@ -918,7 +918,9 @@ including those inserted into the diary from the calendar with
 (defconst diary-european-date-insertion-form '(day "/" month "/" year)
   "Pseudo-pattern for European dates in `diary-date-insertion-form'")
 
-(defconst diary-iso-date-insertion-form '(year "/" month "/" day)
+(defconst diary-iso-date-insertion-form '((format "%s-%.2d-%.2d" year
+                                                  (string-to-number month)
+                                                  (string-to-number day)))
   "Pseudo-pattern for ISO dates in `diary-date-insertion-form'")
 
 (defcustom diary-date-insertion-form
diff --git a/lisp/window.el b/lisp/window.el
index 5f00801d55c..35b49a19a5e 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -7993,7 +7993,13 @@ variable to t, strong dedication will be used by default and
 \\[universal-argument] will make the window weakly dedicated.
 
 See the info node `(elisp)Dedicated Windows' for more details."
-  (interactive "@i\nP\np")
+  (interactive "i\nP\np")
+
+  (when (and (not window) (mouse-event-p last-input-event))
+    (let ((event-window (posn-window (event-start last-input-event))))
+      (unless (eq (selected-window) event-window)
+        (setq window event-window))))
+
   (setq window (window-normalize-window window))
   (setq flag (cond
               ((consp flag)
diff --git a/src/xdisp.c b/src/xdisp.c
index f991adb7d98..e08c52078be 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -24470,11 +24470,10 @@ extend_face_to_end_of_line (struct it *it)
 	     to fill the rest.  */
 	  if (WINDOW_LEFT_MARGIN_WIDTH (it->w) > 0
 	      && (it->glyph_row->used[LEFT_MARGIN_AREA]
-		  < WINDOW_LEFT_MARGIN_WIDTH (it->w)))
+		  < WINDOW_LEFT_MARGIN_COLS (it->w)))
 	    {
 	      int used = it->glyph_row->used[LEFT_MARGIN_AREA];
-	      int remaining_pixels = (WINDOW_LEFT_MARGIN_WIDTH (it->w)
-				      * FRAME_COLUMN_WIDTH (f));
+	      int remaining_pixels = WINDOW_LEFT_MARGIN_WIDTH (it->w);
 
 	      /* Subtract width of existing glyphs.  */
 	      struct glyph *g = it->glyph_row->glyphs[LEFT_MARGIN_AREA];
@@ -24509,11 +24508,10 @@ extend_face_to_end_of_line (struct it *it)
 	     to fill the rest.  */
 	  if (WINDOW_RIGHT_MARGIN_WIDTH (it->w) > 0
 	      && (it->glyph_row->used[RIGHT_MARGIN_AREA]
-		  < WINDOW_RIGHT_MARGIN_WIDTH (it->w)))
+		  < WINDOW_RIGHT_MARGIN_COLS (it->w)))
 	    {
 	      int used = it->glyph_row->used[RIGHT_MARGIN_AREA];
-	      int remaining_pixels = (WINDOW_RIGHT_MARGIN_WIDTH (it->w)
-				      * FRAME_COLUMN_WIDTH (f));
+	      int remaining_pixels = WINDOW_RIGHT_MARGIN_WIDTH (it->w);
 
 	      /* Subtract width of existing glyphs.  */
 	      struct glyph *g = it->glyph_row->glyphs[RIGHT_MARGIN_AREA];
@@ -29079,6 +29077,8 @@ are the selected window and the WINDOW's buffer).  */)
     face = EQ (window, selected_window)
       ? Qmode_line_active
       : Qmode_line_inactive;
+  else if (EQ (face, Qdefault))
+    face = Qnil;
 
   old_buffer = current_buffer;
 
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-bug-11473.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-bug-11473.diary-iso
index 0e3a3fb8715..5b9a9ecc723 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-bug-11473.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-bug-11473.diary-iso
@@ -1,4 +1,4 @@
-&2012/5/15 15:00-15:30 Query
+&2012-05-15 15:00-15:30 Query
  Location: phone
  Status: confirmed
  Organizer: A. Luser <[email protected]>
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-bug-22092.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-bug-22092.diary-iso
index 9c45f848e76..08a84deb6a7 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-bug-22092.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-bug-22092.diary-iso
@@ -1,4 +1,4 @@
-&2014/12/8 18:30-22:55 Norwegian til Tromsoe-Langnes -
+&2014-12-08 18:30-22:55 Norwegian til Tromsoe-Langnes -
  Location: Stavanger-Sola
  Category: Appointment
  Access: public
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-bug-33277.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-bug-33277.diary-iso
index faa7aeafeb5..8c05b0aaafb 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-bug-33277.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-bug-33277.diary-iso
@@ -1 +1 @@
-&2018/11/5 21:00 event with same start/end time
+&2018-11-05 21:00 event with same start/end time
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-legacy-vars.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-legacy-vars.diary-iso
index f6d69805c19..dd0b4cef8bf 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-legacy-vars.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-legacy-vars.diary-iso
@@ -1,4 +1,4 @@
-2025/9/19 09:00-11:30 Testing legacy `icalendar-import-format*' vars
+2025-09-19 09:00-11:30 Testing legacy `icalendar-import-format*' vars
  CLASS=private
  DESCRIPTION=described
  LOCATION=somewhere
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-multiple-vcalendars.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-multiple-vcalendars.diary-iso
index bbe009c200e..3b3ba5fe780 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-multiple-vcalendars.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-multiple-vcalendars.diary-iso
@@ -1,7 +1,7 @@
-&2011/7/23 event-1
+&2011-07-23 event-1
 
-&2011/7/24 event-2
+&2011-07-24 event-2
 
-&2011/7/25 event-3a
+&2011-07-25 event-3a
 
-&2011/7/25 event-3b
+&2011-07-25 event-3b
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-1.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-1.diary-iso
index c7311286619..64c6092b487 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-1.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-1.diary-iso
@@ -1 +1 @@
-&2003/9/19 09:00-11:30 non-recurring
+&2003-09-19 09:00-11:30 non-recurring
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-all-day.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-all-day.diary-iso
index f1c70ab34c3..016388887fd 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-all-day.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-all-day.diary-iso
@@ -1 +1 @@
-&2003/9/19 non-recurring allday
+&2003-09-19 non-recurring allday
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-another-example.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-another-example.diary-iso
index d663965404b..32488eb55a7 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-another-example.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-another-example.diary-iso
@@ -1,4 +1,4 @@
-&2004/11/23 14:45-15:45 another example
+&2004-11-23 14:45-15:45 another example
  Status: tentative
  Access: private
  UID: 6161a312-3902-11d9-b512-f764153bb28b
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-folded-summary.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-folded-summary.diary-iso
index 699358dc504..09e57dbf4a3 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-folded-summary.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-folded-summary.diary-iso
@@ -1,4 +1,4 @@
-&2004/11/23 14:00-14:30 folded summary
+&2004-11-23 14:00-14:30 folded summary
  Status: tentative
  Access: private
  UID: 04979712-3902-11d9-93dd-8f9f4afe08da
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-long-summary.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-long-summary.diary-iso
index d2300522d9a..c0c5c845378 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-long-summary.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-non-recurring-long-summary.diary-iso
@@ -1 +1 @@
-&2003/9/19 long summary
+&2003-09-19 long summary
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-time-format-12hr-blank.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-time-format-12hr-blank.diary-iso
index 0945cfc0b60..491faa3b214 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-time-format-12hr-blank.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-time-format-12hr-blank.diary-iso
@@ -1 +1 @@
-&2003/9/19  9.00h-11.30h 12hr blank-padded
+&2003-09-19  9.00h-11.30h 12hr blank-padded
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-with-attachment.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-with-attachment.diary-iso
index b16022908d9..a77ce8fa6ea 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-with-attachment.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-with-attachment.diary-iso
@@ -1,3 +1,3 @@
-&2003/9/19 09:00 Has an attachment
+&2003-09-19 09:00 Has an attachment
  Attachment: R3Jl.plain
  UID: f9fee9a0-1231-4984-9078-f1357db352db
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-with-timezone.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-with-timezone.diary-iso
index 56f91066f73..74c486f2e93 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-with-timezone.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-with-timezone.diary-iso
@@ -1,3 +1,3 @@
-&2012/1/15 15:00-15:30 standardtime
+&2012-01-15 15:00-15:30 standardtime
 
-&2012/12/15 11:00-11:30 daylightsavingtime
+&2012-12-15 11:00-11:30 daylightsavingtime
diff --git a/test/lisp/calendar/diary-icalendar-resources/import-with-uid.diary-iso b/test/lisp/calendar/diary-icalendar-resources/import-with-uid.diary-iso
index d372e5a3d1f..04548294a65 100644
--- a/test/lisp/calendar/diary-icalendar-resources/import-with-uid.diary-iso
+++ b/test/lisp/calendar/diary-icalendar-resources/import-with-uid.diary-iso
@@ -1,2 +1,2 @@
-&2003/9/19 09:00-11:30 non-recurring
+&2003-09-19 09:00-11:30 non-recurring
  UID: 1234567890uid
diff --git a/test/src/process-tests.el b/test/src/process-tests.el
index 9b964e41995..93ea60621dc 100644
--- a/test/src/process-tests.el
+++ b/test/src/process-tests.el
@@ -113,6 +113,7 @@ process to complete."
 	      (looking-at "hello stderr!"))))))
 
 (ert-deftest process-test-stderr-filter ()
+  :tags (if (getenv "EMACS_EMBA_CI") '(:unstable))
   (skip-unless (executable-find "bash"))
   (with-timeout (60 (ert-fail "Test timed out"))
   (let* ((stderr-sentinel-called nil)