Package: emacs;
Reported by: Manuel Giraud <manuel <at> ledu-giraud.fr>
Date: Fri, 4 Jul 2025 19:16:02 UTC
Severity: normal
Found in version 31.0.50
To reply to this bug, email your comments to 78957 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#78957
; Package emacs
.
(Fri, 04 Jul 2025 19:16:03 GMT) Full text and rfc822 format available.Manuel Giraud <manuel <at> ledu-giraud.fr>
:bug-gnu-emacs <at> gnu.org
.
(Fri, 04 Jul 2025 19:16:03 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Manuel Giraud <manuel <at> ledu-giraud.fr> To: bug-gnu-emacs <at> gnu.org Subject: 31.0.50; Wrong mode-line in fancy diary Date: Fri, 04 Jul 2025 21:14:52 +0200
Hi, When viewing diary entry from the calendar, the mode line could be set erroneously. The recipe: - Have a file "/tmp/diary" with the following content: --8<---------------cut here---------------start------------->8--- July 4, 2025 A bitter day for many --8<---------------cut here---------------end--------------->8--- - emacs -Q - M-: (setopt diary-file "/tmp/diary") <RET> - M-: (toggle-frame-fullscreen) <RET> - M-: (calendar) <RET> - g d - 2025 <RET> - July <RET> - 4 <RET> - d Observe that the date in the mode line of the diary view buffer is not centered and maybe partly out of sight. This seems to come from the fact that the call to `window-edges' in `calendar-set-mode-line' does not return correct values but I can't figure out why. In GNU Emacs 31.0.50 (build 14, x86_64-unknown-openbsd7.7) of 2025-07-04 built on computer Repository revision: 763c3cd081a833940961373a73705640b1808636 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101018 System Description: OpenBSD computer 7.7 GENERIC.MP#41 amd64 Configured using: 'configure CC=egcc CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib MAKEINFO=gmakeinfo --prefix=/home/manuel/emacs --bindir=/home/manuel/bin --with-x-toolkit=no --with-toolkit-scroll-bars=no --without-cairo --without-dbus --without-gconf --without-gsettings --without-compress-install' Configured features: FREETYPE GIF GLIB GMP GNUTLS HARFBUZZ JPEG LCMS2 LIBOTF LIBXML2 M17N_FLT MODULES NOTIFY KQUEUE OLDXMENU PDUMPER PNG RSVG SQLITE3 THREADS TIFF TREE_SITTER WEBP X11 XDBE XFT XIM XINERAMA XINPUT2 XPM XRANDR ZLIB Important settings: value of $LC_CTYPE: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: VC dir Minor modes in effect: vc-dir-git-mode: t display-time-mode: t display-battery-mode: t desktop-save-mode: t exwm-randr-mode: t server-mode: t electric-pair-mode: t override-global-mode: t repeat-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-regexp-mode: t buffer-read-only: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /home/manuel/prog/elisp/exwm/exwm hides /home/manuel/.emacs.d/elpa/exwm-0.34/exwm /home/manuel/prog/elisp/exwm/exwm-xsettings hides /home/manuel/.emacs.d/elpa/exwm-0.34/exwm-xsettings /home/manuel/prog/elisp/exwm/exwm-xim hides /home/manuel/.emacs.d/elpa/exwm-0.34/exwm-xim /home/manuel/prog/elisp/exwm/exwm-workspace hides /home/manuel/.emacs.d/elpa/exwm-0.34/exwm-workspace /home/manuel/prog/elisp/exwm/exwm-randr hides /home/manuel/.emacs.d/elpa/exwm-0.34/exwm-randr /home/manuel/prog/elisp/exwm/exwm-manage hides /home/manuel/.emacs.d/elpa/exwm-0.34/exwm-manage /home/manuel/prog/elisp/exwm/exwm-layout hides /home/manuel/.emacs.d/elpa/exwm-0.34/exwm-layout /home/manuel/prog/elisp/exwm/exwm-input hides /home/manuel/.emacs.d/elpa/exwm-0.34/exwm-input /home/manuel/prog/elisp/exwm/exwm-floating hides /home/manuel/.emacs.d/elpa/exwm-0.34/exwm-floating /home/manuel/prog/elisp/exwm/exwm-systemtray hides /home/manuel/.emacs.d/elpa/exwm-0.34/exwm-systemtray /home/manuel/prog/elisp/exwm/exwm-core hides /home/manuel/.emacs.d/elpa/exwm-0.34/exwm-core /home/manuel/prog/elisp/exwm/exwm-background hides /home/manuel/.emacs.d/elpa/exwm-0.34/exwm-background /home/manuel/.emacs.d/elpa/ef-themes-1.10.0/theme-loaddefs hides /home/manuel/emacs/share/emacs/31.0.50/lisp/theme-loaddefs /home/manuel/.emacs.d/elpa/idlwave-6.5.1/idlwave hides /home/manuel/emacs/share/emacs/31.0.50/lisp/obsolete/idlwave /home/manuel/.emacs.d/elpa/idlwave-6.5.1/idlw-toolbar hides /home/manuel/emacs/share/emacs/31.0.50/lisp/obsolete/idlw-toolbar /home/manuel/.emacs.d/elpa/idlwave-6.5.1/idlw-shell hides /home/manuel/emacs/share/emacs/31.0.50/lisp/obsolete/idlw-shell /home/manuel/.emacs.d/elpa/idlwave-6.5.1/idlw-help hides /home/manuel/emacs/share/emacs/31.0.50/lisp/obsolete/idlw-help /home/manuel/.emacs.d/elpa/idlwave-6.5.1/idlw-complete-structtag hides /home/manuel/emacs/share/emacs/31.0.50/lisp/obsolete/idlw-complete-structtag Features: (shadow sort mail-extr emacsbug lisp-mnt macrostep-c cmacexp macrostep doc-view filenotify jka-compr image-mode exif flyspell ispell tex-mode compile shell pcomplete comint ansi-osc ansi-color vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view log-edit add-log pcvs-util eww vtable mule-util url-queue mm-url gnus-dired vc-dir ewoc vc vc-git diff-mode track-changes files-x vc-dispatcher debbugs-browse bug-reference texinfo texinfo-loaddefs format-spec time battery desktop frameset exwm-randr xcb-randr exwm exwm-input xcb-keysyms xcb-xkb exwm-manage exwm-floating xcb-cursor xcb-render exwm-layout exwm-workspace exwm-core xcb-ewmh xcb-icccm xcb xcb-xproto xcb-types xcb-debug server ef-themes modus-operandi-tinted-theme modus-themes zone speed-type thingatpt url-http url-auth url-gw nsm compat ytdious ring mpdired transmission color calc-bin calc-ext calc calc-loaddefs rect calc-macs supercite regi ebdb-gnus gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 nnoo parse-time iso8601 gnus-spec gnus-int gnus-range gnus-win ebdb-message message yank-media puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 gmm-utils mailheader ebdb-mua ebdb-com crm ebdb-format ebdb mailabbrev eieio-opt speedbar ezimage dframe find-func eieio-base timezone icalendar gnus nnheader gnus-util text-property-search time-date range sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils erlang-start idlwave idlwave-menus idlw-menus idlwave-bindings idlw-bindings idlwave-routine idlw-routine idlwave-scan idlw-scan idlwave-help idlw-help idlwave-complete idlw-complete idlwave-variables idlw-variables skeleton cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs elec-pair appt diary-lib diary-loaddefs cal-menu calendar cal-loaddefs pcase dired-x dired-aux dired dired-loaddefs edmacro kmacro use-package-bind-key bind-key use-package-core repeat easy-mmode cus-edit pp cus-start cus-load wid-edit debbugs-autoloads ebdb-autoloads cl-extra help-mode ef-themes-autoloads elpher-autoloads exwm-autoloads gnuplot-autoloads hyperbole-autoloads kotl-autoloads hact set hhist idlwave-autoloads notmuch-autoloads osm-autoloads pdf-tools-autoloads reddigg-autoloads ht-autoloads dash-autoloads promise-autoloads rust-mode-autoloads info slime-autoloads warnings macrostep-autoloads speed-type-autoloads sudo-edit-autoloads svg-clock-autoloads tablist-autoloads transmission-autoloads xelb-autoloads ytdious-autoloads package browse-url xdg url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs icons password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads kqueue lcms2 dynamic-setting font-render-setting xinput2 x multi-tty move-toolbar make-network-process tty-child-frames emacs) Memory information: ((conses 16 571884 484905) (symbols 48 41392 2) (strings 32 195972 20036) (string-bytes 1 4840619) (vectors 16 113028) (vector-slots 8 915611 43230) (floats 8 490 804) (intervals 56 3510 0) (buffers 1064 36)) -- Manuel Giraud
bug-gnu-emacs <at> gnu.org
:bug#78957
; Package emacs
.
(Fri, 04 Jul 2025 22:21:02 GMT) Full text and rfc822 format available.Message #8 received at 78957 <at> debbugs.gnu.org (full text, mbox):
From: Stephen Berman <stephen.berman <at> gmx.net> To: Manuel Giraud <manuel <at> ledu-giraud.fr> Cc: 78957 <at> debbugs.gnu.org Subject: Re: bug#78957: 31.0.50; Wrong mode-line in fancy diary Date: Sat, 05 Jul 2025 00:20:32 +0200
[Message part 1 (text/plain, inline)]
On Fri, 04 Jul 2025 21:14:52 +0200 Manuel Giraud <manuel <at> ledu-giraud.fr> wrote: > Hi, > > When viewing diary entry from the calendar, the mode line could be set > erroneously. The recipe: > > - Have a file "/tmp/diary" with the following content: > > July 4, 2025 A bitter day for many > > - emacs -Q > - M-: (setopt diary-file "/tmp/diary") <RET> > - M-: (toggle-frame-fullscreen) <RET> > - M-: (calendar) <RET> > - g d > - 2025 <RET> > - July <RET> > - 4 <RET> > - d > > Observe that the date in the mode line of the diary view buffer is not > centered and maybe partly out of sight. This seems to come from the > fact that the call to `window-edges' in `calendar-set-mode-line' does > not return correct values but I can't figure out why. I think it's because both times `window-edges' is called in `diary-fancy-display' the selected window is the one displaying the Calendar, whose `window-width' is the full screen width due to `toggle-frame-fullscreen', while the window displaying the Fancy Diary is half as wide. The following patch seems to fix the problem for me:
[Message part 2 (text/x-patch, inline)]
diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el index 8fb6fadfe4c..3b0275d4cee 100644 --- a/lisp/calendar/diary-lib.el +++ b/lisp/calendar/diary-lib.el @@ -1058,7 +1058,8 @@ diary-fancy-display (unless (car (diary-display-no-entries)) ; no entries ;; Prepare the fancy diary buffer. (calendar-in-read-only-buffer diary-fancy-buffer - (calendar-set-mode-line "Diary Entries") + (with-selected-window (get-buffer-window diary-fancy-buffer) + (calendar-set-mode-line "Diary Entries")) (let ((holiday-list-last-month 1) (holiday-list-last-year 1) (date (list 0 0 0)) @@ -1139,7 +1140,8 @@ diary-fancy-display (if (eq major-mode 'diary-fancy-display-mode) (run-hooks 'diary-fancy-display-mode-hook) (diary-fancy-display-mode)) - (calendar-set-mode-line diary--date-string)))) + (with-selected-window (get-buffer-window diary-fancy-buffer) + (calendar-set-mode-line diary--date-string))))) ;; FIXME modernize? (defun diary-print-entries ()
[Message part 3 (text/plain, inline)]
Steve Berman
bug-gnu-emacs <at> gnu.org
:bug#78957
; Package emacs
.
(Sat, 05 Jul 2025 08:54:05 GMT) Full text and rfc822 format available.Message #11 received at 78957 <at> debbugs.gnu.org (full text, mbox):
From: Manuel Giraud <manuel <at> ledu-giraud.fr> To: Stephen Berman <stephen.berman <at> gmx.net> Cc: 78957 <at> debbugs.gnu.org Subject: Re: bug#78957: 31.0.50; Wrong mode-line in fancy diary Date: Sat, 05 Jul 2025 10:53:11 +0200
Stephen Berman <stephen.berman <at> gmx.net> writes: > On Fri, 04 Jul 2025 21:14:52 +0200 Manuel Giraud <manuel <at> ledu-giraud.fr> wrote: > >> Hi, >> >> When viewing diary entry from the calendar, the mode line could be set >> erroneously. The recipe: >> >> - Have a file "/tmp/diary" with the following content: >> >> July 4, 2025 A bitter day for many >> >> - emacs -Q >> - M-: (setopt diary-file "/tmp/diary") <RET> >> - M-: (toggle-frame-fullscreen) <RET> >> - M-: (calendar) <RET> >> - g d >> - 2025 <RET> >> - July <RET> >> - 4 <RET> >> - d >> >> Observe that the date in the mode line of the diary view buffer is not >> centered and maybe partly out of sight. This seems to come from the >> fact that the call to `window-edges' in `calendar-set-mode-line' does >> not return correct values but I can't figure out why. > > I think it's because both times `window-edges' is called in > `diary-fancy-display' the selected window is the one displaying the > Calendar, whose `window-width' is the full screen width due to > `toggle-frame-fullscreen', while the window displaying the Fancy Diary > is half as wide. The following patch seems to fix the problem for me: > > diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el > index 8fb6fadfe4c..3b0275d4cee 100644 > --- a/lisp/calendar/diary-lib.el > +++ b/lisp/calendar/diary-lib.el > @@ -1058,7 +1058,8 @@ diary-fancy-display > (unless (car (diary-display-no-entries)) ; no entries > ;; Prepare the fancy diary buffer. > (calendar-in-read-only-buffer diary-fancy-buffer > - (calendar-set-mode-line "Diary Entries") > + (with-selected-window (get-buffer-window diary-fancy-buffer) > + (calendar-set-mode-line "Diary Entries")) > (let ((holiday-list-last-month 1) > (holiday-list-last-year 1) > (date (list 0 0 0)) > @@ -1139,7 +1140,8 @@ diary-fancy-display > (if (eq major-mode 'diary-fancy-display-mode) > (run-hooks 'diary-fancy-display-mode-hook) > (diary-fancy-display-mode)) > - (calendar-set-mode-line diary--date-string)))) > + (with-selected-window (get-buffer-window diary-fancy-buffer) > + (calendar-set-mode-line diary--date-string))))) Thanks! That works as expected. I thought that the set-buffer (from calendar-in-read-only-buffer) was enough but apparently not. While here, I will complete your patch for other calls of calendar-set-mode-line (lunar phases,...) -- Manuel Giraud
bug-gnu-emacs <at> gnu.org
:bug#78957
; Package emacs
.
(Sat, 05 Jul 2025 10:04:03 GMT) Full text and rfc822 format available.Message #14 received at 78957 <at> debbugs.gnu.org (full text, mbox):
From: Stephen Berman <stephen.berman <at> gmx.net> To: Manuel Giraud <manuel <at> ledu-giraud.fr> Cc: 78957 <at> debbugs.gnu.org Subject: Re: bug#78957: 31.0.50; Wrong mode-line in fancy diary Date: Sat, 05 Jul 2025 12:02:52 +0200
[Message part 1 (text/plain, inline)]
On Sat, 05 Jul 2025 10:53:11 +0200 Manuel Giraud <manuel <at> ledu-giraud.fr> wrote: > Stephen Berman <stephen.berman <at> gmx.net> writes: > >> On Fri, 04 Jul 2025 21:14:52 +0200 Manuel Giraud <manuel <at> ledu-giraud.fr> wrote: >> >>> Hi, >>> >>> When viewing diary entry from the calendar, the mode line could be set >>> erroneously. The recipe: >>> >>> - Have a file "/tmp/diary" with the following content: >>> >>> July 4, 2025 A bitter day for many >>> >>> - emacs -Q >>> - M-: (setopt diary-file "/tmp/diary") <RET> >>> - M-: (toggle-frame-fullscreen) <RET> >>> - M-: (calendar) <RET> >>> - g d >>> - 2025 <RET> >>> - July <RET> >>> - 4 <RET> >>> - d >>> >>> Observe that the date in the mode line of the diary view buffer is not >>> centered and maybe partly out of sight. This seems to come from the >>> fact that the call to `window-edges' in `calendar-set-mode-line' does >>> not return correct values but I can't figure out why. >> >> I think it's because both times `window-edges' is called in >> `diary-fancy-display' the selected window is the one displaying the >> Calendar, whose `window-width' is the full screen width due to >> `toggle-frame-fullscreen', while the window displaying the Fancy Diary >> is half as wide. The following patch seems to fix the problem for me: >> >> diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el >> index 8fb6fadfe4c..3b0275d4cee 100644 >> --- a/lisp/calendar/diary-lib.el >> +++ b/lisp/calendar/diary-lib.el >> @@ -1058,7 +1058,8 @@ diary-fancy-display >> (unless (car (diary-display-no-entries)) ; no entries >> ;; Prepare the fancy diary buffer. >> (calendar-in-read-only-buffer diary-fancy-buffer >> - (calendar-set-mode-line "Diary Entries") >> + (with-selected-window (get-buffer-window diary-fancy-buffer) >> + (calendar-set-mode-line "Diary Entries")) >> (let ((holiday-list-last-month 1) >> (holiday-list-last-year 1) >> (date (list 0 0 0)) >> @@ -1139,7 +1140,8 @@ diary-fancy-display >> (if (eq major-mode 'diary-fancy-display-mode) >> (run-hooks 'diary-fancy-display-mode-hook) >> (diary-fancy-display-mode)) >> - (calendar-set-mode-line diary--date-string)))) >> + (with-selected-window (get-buffer-window diary-fancy-buffer) >> + (calendar-set-mode-line diary--date-string))))) > > Thanks! That works as expected. I thought that the set-buffer (from > calendar-in-read-only-buffer) was enough but apparently not. > > While here, I will complete your patch for other calls of > calendar-set-mode-line (lunar phases,...) I hope you haven't spent time on that yet, because it occurred to me that the following patch might suffice:
[Message part 2 (text/x-patch, inline)]
diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el index 917624c489e..6b23cbcd1d4 100644 --- a/lisp/calendar/calendar.el +++ b/lisp/calendar/calendar.el @@ -1167,7 +1167,7 @@ calendar-in-read-only-buffer (setq buffer-read-only nil buffer-undo-list t) (erase-buffer) - (display-buffer ,buffer) + (select-window (display-buffer ,buffer)) ,@body (goto-char (point-min)) (set-buffer-modified-p nil)
[Message part 3 (text/plain, inline)]
It seems to DTRT for all users of `calendar-in-read-only-buffer' (after byte-compiling), if I haven't overlooked anything. Steve Berman
bug-gnu-emacs <at> gnu.org
:bug#78957
; Package emacs
.
(Sat, 05 Jul 2025 10:20:02 GMT) Full text and rfc822 format available.Message #17 received at 78957 <at> debbugs.gnu.org (full text, mbox):
From: Manuel Giraud <manuel <at> ledu-giraud.fr> To: Stephen Berman <stephen.berman <at> gmx.net> Cc: 78957 <at> debbugs.gnu.org Subject: Re: bug#78957: 31.0.50; Wrong mode-line in fancy diary Date: Sat, 05 Jul 2025 12:19:40 +0200
[Message part 1 (text/plain, inline)]
Stephen Berman <stephen.berman <at> gmx.net> writes: [...] > I hope you haven't spent time on that yet, because it occurred to me > that the following patch might suffice: :-D I did not spend to much time but, in the mean time, came up with this one:
[0001-Fix-mode-line-string-width-in-diary-view.patch (text/x-patch, inline)]
From 5b1b04936e5d31197ea5129fb7e56e28f0aa24ad Mon Sep 17 00:00:00 2001 From: Stephen Berman <stephen.berman <at> gmx.net> Date: Sat, 5 Jul 2025 10:56:00 +0200 Subject: [PATCH] Fix mode-line string width in diary view * lisp/calendar/calendar.el (calendar-in-read-only-buffer): Select the buffer window because, for example, `calendar-set-mode-line' needs it. --- lisp/calendar/calendar.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el index 917624c489e..8b7aa71db93 100644 --- a/lisp/calendar/calendar.el +++ b/lisp/calendar/calendar.el @@ -1168,8 +1168,9 @@ calendar-in-read-only-buffer buffer-undo-list t) (erase-buffer) (display-buffer ,buffer) - ,@body - (goto-char (point-min)) + (with-selected-window (get-buffer-window ,buffer) + ,@body + (goto-char (point-min))) (set-buffer-modified-p nil) (setq buffer-read-only t))) -- 2.49.0
[Message part 3 (text/plain, inline)]
But, I prefer yours. Do you mind if I complete your patch with my log entry? -- Manuel Giraud
bug-gnu-emacs <at> gnu.org
:bug#78957
; Package emacs
.
(Sat, 05 Jul 2025 10:24:02 GMT) Full text and rfc822 format available.Message #20 received at 78957 <at> debbugs.gnu.org (full text, mbox):
From: Stephen Berman <stephen.berman <at> gmx.net> To: Manuel Giraud <manuel <at> ledu-giraud.fr> Cc: 78957 <at> debbugs.gnu.org Subject: Re: bug#78957: 31.0.50; Wrong mode-line in fancy diary Date: Sat, 05 Jul 2025 12:23:21 +0200
On Sat, 05 Jul 2025 12:19:40 +0200 Manuel Giraud <manuel <at> ledu-giraud.fr> wrote: > Stephen Berman <stephen.berman <at> gmx.net> writes: > > [...] > >> I hope you haven't spent time on that yet, because it occurred to me >> that the following patch might suffice: > > :-D I did not spend to much time but, in the mean time, came up with > this one: > >>From 5b1b04936e5d31197ea5129fb7e56e28f0aa24ad Mon Sep 17 00:00:00 2001 > From: Stephen Berman <stephen.berman <at> gmx.net> > Date: Sat, 5 Jul 2025 10:56:00 +0200 > Subject: [PATCH] Fix mode-line string width in diary view > > * lisp/calendar/calendar.el (calendar-in-read-only-buffer): > Select the buffer window because, for example, > `calendar-set-mode-line' needs it. > --- > lisp/calendar/calendar.el | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el > index 917624c489e..8b7aa71db93 100644 > --- a/lisp/calendar/calendar.el > +++ b/lisp/calendar/calendar.el > @@ -1168,8 +1168,9 @@ calendar-in-read-only-buffer > buffer-undo-list t) > (erase-buffer) > (display-buffer ,buffer) > - ,@body > - (goto-char (point-min)) > + (with-selected-window (get-buffer-window ,buffer) > + ,@body > + (goto-char (point-min))) > (set-buffer-modified-p nil) > (setq buffer-read-only t))) > > -- > 2.49.0 > > > But, I prefer yours. Do you mind if I complete your patch with my log > entry? Be my guest :-) Steve Berman
bug-gnu-emacs <at> gnu.org
:bug#78957
; Package emacs
.
(Sat, 05 Jul 2025 10:31:02 GMT) Full text and rfc822 format available.Message #23 received at 78957 <at> debbugs.gnu.org (full text, mbox):
From: Manuel Giraud <manuel <at> ledu-giraud.fr> To: Stephen Berman <stephen.berman <at> gmx.net> Cc: 78957 <at> debbugs.gnu.org Subject: Re: bug#78957: 31.0.50; Wrong mode-line in fancy diary Date: Sat, 05 Jul 2025 12:30:39 +0200
Stephen Berman <stephen.berman <at> gmx.net> writes: [...] >> But, I prefer yours. Do you mind if I complete your patch with my log >> entry? > > Be my guest :-) Sorry I spoke to quick. I think mine does the right thing, because it preserve the selected window as the calendar (as it used to be). WDYT? -- Manuel Giraud
bug-gnu-emacs <at> gnu.org
:bug#78957
; Package emacs
.
(Sat, 05 Jul 2025 10:41:01 GMT) Full text and rfc822 format available.Message #26 received at 78957 <at> debbugs.gnu.org (full text, mbox):
From: Stephen Berman <stephen.berman <at> gmx.net> To: Manuel Giraud <manuel <at> ledu-giraud.fr> Cc: 78957 <at> debbugs.gnu.org Subject: Re: bug#78957: 31.0.50; Wrong mode-line in fancy diary Date: Sat, 05 Jul 2025 12:40:13 +0200
On Sat, 05 Jul 2025 12:30:39 +0200 Manuel Giraud <manuel <at> ledu-giraud.fr> wrote: > Stephen Berman <stephen.berman <at> gmx.net> writes: > > [...] > >>> But, I prefer yours. Do you mind if I complete your patch with my log >>> entry? >> >> Be my guest :-) > > Sorry I spoke to quick. I think mine does the right thing, because it > preserve the selected window as the calendar (as it used to be). WDYT? Ah, right, I did overlook that. Yes, your patch is better. Steve Berman
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.