Stefan Kangas <stefankangas@HIDDEN>
to control <at> debbugs.gnu.org.
Full text available.
Received: (at 68547) by debbugs.gnu.org; 6 Mar 2025 03:31:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 05 22:31:14 2025
Received: from localhost ([127.0.0.1]:40687 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1tq1x4-0004n0-9l
for submit <at> debbugs.gnu.org; Wed, 05 Mar 2025 22:31:14 -0500
Received: from mail-ed1-x536.google.com ([2a00:1450:4864:20::536]:61635)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from <stefankangas@HIDDEN>)
id 1tq1x1-0004ma-0h
for 68547 <at> debbugs.gnu.org; Wed, 05 Mar 2025 22:31:11 -0500
Received: by mail-ed1-x536.google.com with SMTP id
4fb4d7f45d1cf-5e52c1c3599so200484a12.2
for <68547 <at> debbugs.gnu.org>; Wed, 05 Mar 2025 19:31:10 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1741231863; x=1741836663; darn=debbugs.gnu.org;
h=content-transfer-encoding:cc:to:subject:message-id:date
:mime-version:references:in-reply-to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=KD5XI1DvkGNW/R/kqS6iaN8RPfUR0VFpbO57IpAG8TA=;
b=H7X3WOmw34zuDIIpm1ab5PVcamovkMCWEPbjd1SAsz6Ot7Bu5GTIkBsNFXRDIRfMiu
akX2mwZRq0+oQWT+ub7ZU/e4onJEGFJf7ikXHRg/tc0Q/cphNtTmHEtmIrBHvJn3no5l
wHQaTwNCG2R8U6/YQFG38nnQvXaPB81tJ3gUmwVGV96EugT85TlcSESsEXA7yATUB2L6
lnoqFGdJQukpoPyoTw8a/q//ivIqU3mnGyJi9dpANsPBm8ACF2noIfMOEFKgtURvtI8D
21z/boEkumHGoQ1LuYwYpcjnkblAWowP/X1Hz4meLcu5PDgJ57CnD4uHplju2mXbGn4g
b45g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1741231863; x=1741836663;
h=content-transfer-encoding:cc:to:subject:message-id:date
:mime-version:references:in-reply-to:from:x-gm-message-state:from:to
:cc:subject:date:message-id:reply-to;
bh=KD5XI1DvkGNW/R/kqS6iaN8RPfUR0VFpbO57IpAG8TA=;
b=w47AbV4uLBgSPgnHx3qFOLGfJiG+Qz/sxK4O68HcTl6BfxpptcPSXTwYdeWe1+3SQX
wMy6LlOJVTL/JRoUCkD4NhgaQEfs6AprDlFX64WRDzSL05x8QT400A2RSwF8ehpVV2y+
p2EHV4Q8hmqy4qUIARTTdDTuQ/ij9Be4H+g2gfJk5e2HmVlKctevAa5ZNra0l3I/NmEq
DXgbYukQIdGCoUeul0YhdBLYcpBDs4Xl2ENz91Y4U9J86q7DqM4kWzqZTCQvU1OEr61a
XsWfg37SmA898JS5mRt7B4Qbi9bWCPQjcG8/R8sPF3pi9u6dXcebkfwdh5ekVpTtD9tp
tyrA==
X-Forwarded-Encrypted: i=1;
AJvYcCXRyUQqIcqw3dhP2dnfMw0brsEwMvCkZAZXxTjneNuHRdHASxu9MN6Gor2TUNohCawgJB4fPA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yy9EtkQ5JZ7ZB3xPANYBKvC3vExa4sJoPmk7Bj7+NCtY907QsLm
CZGLW2znF0tfLhVk8Zomsd8Y+ou1DOs1veg/k2CXsv7iAHFKVxHwNdGjVicsCqRb22CYf6DYhCj
ZisYIIeDkOT5NHYHBDzFN8KVnXfo=
X-Gm-Gg: ASbGncuPN7BLNlZuE4TZWMf+0VblN/+8g5xqfMzs+/ij2xClImI6ueTD6HpoWUq6R18
DhIfNo79XDMcz4lfyKcdBDHz9g+GiUmusjO8SFVnyvzq7JDHbmUhEtaXyxa9F4qpIg6uA4HT6J+
09koT9N6evXNpcC+zmhfYldMdDoA==
X-Google-Smtp-Source: AGHT+IHXqFe5YCaIa0UQAHzZXsfiy1nSOvU1w0jQrI/nr/gk5yMdur/o4PyVI6MxkP8cTgm1mMo2cixVGnG6idOo3ow=
X-Received: by 2002:a05:6402:1e94:b0:5e0:52c5:cd6a with SMTP id
4fb4d7f45d1cf-5e59f46fdddmr4940680a12.25.1741231862399; Wed, 05 Mar 2025
19:31:02 -0800 (PST)
Received: from 753933720722 named unknown by gmailapi.google.com with
HTTPREST; Wed, 5 Mar 2025 19:31:01 -0800
From: Stefan Kangas <stefankangas@HIDDEN>
In-Reply-To: <CALDnm50S6F3JkeAJUcrbL8X3BCUMC=5wCKTZ6vwmCuJgZ0P7oQ@HIDDEN>
References: <m14jfbg2yj.fsf@HIDDEN> <83cytwtjiw.fsf@HIDDEN>
<CALDnm53Z4LppG7AUej2W5qrD_8MyA6YmYvZFFOpK5ULfv62j_w@HIDDEN>
<m1edec9sq6.fsf@HIDDEN>
<CALDnm50RA9ph-Dm8sWy7vzBm7y_0qqauM4AU6V7iB6FKgxeTXw@HIDDEN>
<CALDnm50=ewmdLiScARL_akC57NZ9Y4qkSupE49fa9o3OqYCw+g@HIDDEN>
<m1le8k58a7.fsf@HIDDEN>
<CALDnm50S6F3JkeAJUcrbL8X3BCUMC=5wCKTZ6vwmCuJgZ0P7oQ@HIDDEN>
MIME-Version: 1.0
Date: Wed, 5 Mar 2025 19:31:01 -0800
X-Gm-Features: AQ5f1Jp24r1emjgu7u2pb8opzU3QxTq8xHi9Q928eydV8FfRet_uTBoJRDdVWxw
Message-ID: <CADwFkmkixeYX89uifxYe8eupRO-BQnaZ_tibMv6Rj32UBrYa7A@HIDDEN>
Subject: Re: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 68547
Cc: Eli Zaretskii <eliz@HIDDEN>, Eshel Yaron <me@HIDDEN>,
68547 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:
> On Sat, Jan 20, 2024 at 3:33=E2=80=AFPM Eshel Yaron <me@HIDDEN> w=
rote:
>
>> Then I tried the following (somewhat pathological) use case:
>>
>> 0. Setup: (keymap-global-set "C-x w a" #'windmove-swap-states-left)
>> 1. Open two buffers in two windows side by side.
>> 2. Say `M-: (car `, to show info in the mode line of the left window.
>> 3. Without quitting the minibuffer, use `C-x o` to switch to the right
>> window, followed by `C-x w a` to switch the buffers in the left and
>> right windows.
>> 4. Return to the minibuffer and type `nil) RET` or something like that
>> to exit the minibuffer.
>> 5. The `mode-line-format` of the left buffer is becomes nil, i.e. no mod=
e line.
>>
>> Shuffling `mode-line-format` around is really tricky :(
>
> Indeed. Your case is pathological, but not particularly hard to
> trigger. Given the consequences are somewhat dire (vanished mode-line)
> , it should most definitely be handled.
>
> Try this version, please. Only difference is it uses a setq-local
> for eldoc--saved-mlf instead of a setq.
>
> Please give it as much testing as you can.
>
> Jo=C3=A3o
Was this installed? If not, should it be?
> diff --git a/lisp/emacs-lisp/eldoc.el b/lisp/emacs-lisp/eldoc.el
> index 912a7357ca7..1ba4e6a006f 100644
> --- a/lisp/emacs-lisp/eldoc.el
> +++ b/lisp/emacs-lisp/eldoc.el
> @@ -182,7 +182,7 @@ eldoc-current-idle-delay
> "Idle time delay currently in use by timer.
> This is used to determine if `eldoc-idle-delay' is changed by the user."=
)
>
> -(defvar eldoc-message-function #'eldoc-minibuffer-message
> +(defvar eldoc-message-function #'eldoc--minibuffer-message
> "The function used by `eldoc--message' to display messages.
> It should receive the same arguments as `message'.")
>
> @@ -292,43 +292,42 @@ eldoc-schedule-timer
> (setq eldoc-current-idle-delay eldoc-idle-delay)
> (timer-set-idle-time eldoc-timer eldoc-idle-delay t))))
>
> -(defvar eldoc-mode-line-string nil)
> -(put 'eldoc-mode-line-string 'risky-local-variable t)
> -
> -(defun eldoc-minibuffer-message (format-string &rest args)
> +(defvar eldoc--saved-mlf nil
> + "Saved `mode-line-format' used in `eldoc--minibuffer-message'.")
> +(defun eldoc--minibuffer-message (format-string &rest args)
> "Display message specified by FORMAT-STRING and ARGS on the
> mode-line as needed.
> This function displays the message produced by formatting ARGS
> with FORMAT-STRING on the mode line when the current buffer is a minibuf=
fer.
> Otherwise, it displays the message like `message' would."
> - (if (or (bound-and-true-p edebug-mode) (minibufferp))
> - (progn
> - (add-hook 'post-command-hook #'eldoc-minibuffer--cleanup)
> - (with-current-buffer
> - (window-buffer
> - (or (window-in-direction 'above (minibuffer-window))
> - (minibuffer-selected-window)
> - (get-largest-window)))
> - (when (and mode-line-format
> - (not (and (listp mode-line-format)
> - (assq 'eldoc-mode-line-string
> mode-line-format))))
> - (setq mode-line-format
> - (funcall
> - (if (listp mode-line-format) #'append #'list)
> - (list "" '(eldoc-mode-line-string
> - (" " eldoc-mode-line-string " ")))
> - mode-line-format)))
> - (setq eldoc-mode-line-string
> - (when (stringp format-string)
> - (apply #'format-message format-string args)))
> - (force-mode-line-update)))
> - (apply #'message format-string args)))
> -
> -(defun eldoc-minibuffer--cleanup ()
> - (unless (or (bound-and-true-p edebug-mode) (minibufferp))
> - (setq eldoc-mode-line-string nil
> - ;; https://debbugs.gnu.org/16920
> - eldoc-last-message nil)
> - (remove-hook 'post-command-hook #'eldoc-minibuffer--cleanup)))
> + (cond ((bound-and-true-p edebug-mode)
> + (eldoc--message-in-mode-line 'edebug-mode-hook format-string ar=
gs))
> + ((minibufferp)
> + (eldoc--message-in-mode-line 'minibuffer-exit-hook
> format-string args))
> + (t
> + (apply #'message format-string args))))
> +
> +(defun eldoc--message-in-mode-line (hook format-string args)
> + (with-current-buffer
> + (window-buffer
> + (or (window-in-direction 'above (minibuffer-window))
> + (minibuffer-selected-window)
> + (get-largest-window)))
> + (let ((buf (current-buffer)))
> + (cl-labels ((cleanup ()
> + (with-current-buffer buf
> + (remove-hook hook #'cleanup)
> + (setq mode-line-format eldoc--saved-mlf
> + eldoc--saved-mlf nil))))
> + (add-hook hook #'cleanup)
> + (setq-local eldoc--saved-mlf (or eldoc--saved-mlf mode-line-form=
at))
> + (when format-string
> + (setq-local
> + mode-line-format
> + (funcall (if (listp eldoc--saved-mlf) #'cons #'list)
> + (and format-string
> + (apply #'format-message format-string args))
> + eldoc--saved-mlf)))
> + (force-mode-line-update)))))
>
> (make-obsolete
> 'eldoc-message "use `eldoc-documentation-functions' instead." "eldoc-1.=
1.0")
bug-gnu-emacs@HIDDEN:bug#68547; Package emacs.
Full text available.Received: (at 68547) by debbugs.gnu.org; 21 Jan 2024 13:20:36 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 21 08:20:36 2024 Received: from localhost ([127.0.0.1]:36740 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rRXkZ-0001QX-Uv for submit <at> debbugs.gnu.org; Sun, 21 Jan 2024 08:20:36 -0500 Received: from mail.eshelyaron.com ([107.175.124.16]:45768 helo=eshelyaron.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <me@HIDDEN>) id 1rRXkU-0001QL-R3 for 68547 <at> debbugs.gnu.org; Sun, 21 Jan 2024 08:20:34 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com; s=mail; t=1705843226; bh=SF2AUYxAo/Rit8Pps1FtT3vPdQTuS1sK7jqAIK3Uzag=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=FWC2/XdLck7d3Lqb3hikuRIHJ+xIX4Sbb9F4PjPZuEEaYwSzZbD8LJ5ZbYa+hONWY vCIeBEm3TDHMPujpzg17Z4x7g/TChRiAVvbH60v0rkIH1MaxVAsxXH+6rW9X74kM0g 22dMdby2O/IZUVeRQHwEs+/FAO5DUWH87hnZ+LuBKIkfpk7pdKEJviqeGFIl+RnhQB /vliHylX7t2SKA/Au78zTYuU4SPWnkk6JOObK92HKgr319mppVOrxsnKKcWBuxh5Qb 1oNXnghODDpaf2DQkserpDAyUAdLcAOOWYecUZxwOyvJRrCTltReF5cmwzJr9feqlP MO+FkFmI3H3LQ== From: Eshel Yaron <me@HIDDEN> To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN> Subject: Re: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc In-Reply-To: <CALDnm52KpypEO-gh4rE8ncmdO9==jSa3f1fFw_Lo1zwZNdhUYg@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vora=22's?= message of "Sun, 21 Jan 2024 08:52:33 +0000") References: <m14jfbg2yj.fsf@HIDDEN> <83cytwtjiw.fsf@HIDDEN> <CALDnm53Z4LppG7AUej2W5qrD_8MyA6YmYvZFFOpK5ULfv62j_w@HIDDEN> <m1edec9sq6.fsf@HIDDEN> <CALDnm50RA9ph-Dm8sWy7vzBm7y_0qqauM4AU6V7iB6FKgxeTXw@HIDDEN> <CALDnm50=ewmdLiScARL_akC57NZ9Y4qkSupE49fa9o3OqYCw+g@HIDDEN> <m1le8k58a7.fsf@HIDDEN> <CALDnm50S6F3JkeAJUcrbL8X3BCUMC=5wCKTZ6vwmCuJgZ0P7oQ@HIDDEN> <83plxvsweh.fsf@HIDDEN> <CALDnm51n=XFAmcFfzmSrbS5SbP=_Wsbh9SYL62KyPBhW_7wOtw@HIDDEN> <m1y1cj5bl4.fsf@HIDDEN> <CALDnm52KpypEO-gh4rE8ncmdO9==jSa3f1fFw_Lo1zwZNdhUYg@HIDDEN> Date: Sun, 21 Jan 2024 14:20:24 +0100 Message-ID: <m17ck26cx3.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 68547 Cc: Eli Zaretskii <eliz@HIDDEN>, 68547 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes: > On Sun, Jan 21, 2024 at 8:34=E2=80=AFAM Eshel Yaron <me@HIDDEN> w= rote: > >> I tried your new patch, and it works well, AFAICT. Two suggestions: >> >> 1. This patch omits a space that would appear before the info on the >> mode line. I like that bit of padding, so I suggest restoring it :) > > OK. > >> 2. In `eldoc--message-in-mode-line`, `add-hook` and `remove-hook` can be >> called with non-nil LOCAL argument to further localize the effect, >> although I'm not sure that makes a real difference in practice. > > I tend to think it would break your pathological use cases of > shuffling buffers above the minibuffer while it is ongoing, no? > Two or more separate transient cleanup lambdas can appear > in those cases, no? Yes, you're right. My suggestion was based on a wrong assumption that these calls take place with the minibuffer as the current buffer. If I say something like `(with-current-buffer minibuf ...)` around the `add-hook` and `remove-hook` calls, and make these calls change the local value of `minibuffer-exit-hook`, that seems to work nicely. In particular, this avoids calling the cleanup lambda when you exit a nested minibuffer (e.g. `M-: (foo bar) M-x baz RET RET`). WDYT?
bug-gnu-emacs@HIDDEN:bug#68547; Package emacs.
Full text available.Received: (at 68547) by debbugs.gnu.org; 21 Jan 2024 08:52:55 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 21 03:52:55 2024 Received: from localhost ([127.0.0.1]:36578 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rRTZW-00089p-Pz for submit <at> debbugs.gnu.org; Sun, 21 Jan 2024 03:52:55 -0500 Received: from mail-lf1-x12c.google.com ([2a00:1450:4864:20::12c]:46426) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <joaotavora@HIDDEN>) id 1rRTZU-00089b-Hn for 68547 <at> debbugs.gnu.org; Sun, 21 Jan 2024 03:52:53 -0500 Received: by mail-lf1-x12c.google.com with SMTP id 2adb3069b0e04-50ea98440a7so2072303e87.1 for <68547 <at> debbugs.gnu.org>; Sun, 21 Jan 2024 00:52:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705827163; x=1706431963; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=70e0O0FF09pUvoIAEz+iZYkRj9+32lmiiUH2mYupxjU=; b=lPFkBGsDi16xSGiVyalw83kxt3QscN7JHACWhReTfPwSM7HVomAJwM4eG3+u6pBFkd 9XuRL5uo5/Ajd3ljqZMpvACDlJazpq5YJwYH/r40U8n7tlAl1Nda+dCqUIKEIHS3fKYT zogXdRI8Pe6mrzZmcgCKs0mF55/LaMg4L+cddhIRScazdx/DS7VTKg/aOMZjAGySJdWO XbnnHXhjxnL4crrrGdpEqRAXlqRCssI3iChRajsXZy5HTPAp27wE1zR4qyouCUjMgnNe MfhEuWAiPpPyg/JLBvV8/1ty3rhy5OWFTu0ClvkXOMM/UyywJKqpC42yYfBmXNX+pNNN 72mg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705827163; x=1706431963; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=70e0O0FF09pUvoIAEz+iZYkRj9+32lmiiUH2mYupxjU=; b=NcdwiYYNZ3HXXJbmOyWdxqDICvZtvSDnOy+Y5Jx07/5xGx7xLrDaEDKjLfAg548YvQ 6UH9wbJ2C/W8VuA8Az4l9m0GTYlvjL3h2tvXpejLhgEWX4RDDcwI8ktGIluFfJPqk6T1 KOZCpi2Drof49VnjZL/7aQ2fbRgXqiubXLjU5zB6L3kuym/hY72lwAeuV661kzMxxUkV rvZTQkVKK0isRXKYJclvdkYk9wT3VeVfW6rTqfqcs8xdvc5p8VijBK47auJK7vMIi9nx tdPGD5rWyeZLSakoYQSg0AH0Cg4kP3yT2uFUfe/sGTJdMZ6qeAJeIeirE1rctRir1mBr qmGQ== X-Gm-Message-State: AOJu0YwyQVmazLbYQix810SMoNncjAyNHYniyLta3W1zkKLMdbiHtVZy mTuu5WmBCG7YGN7cQqr51DAoryzKdjk6VPlOh/krrfxRWEihO/dCCc0qwEfyExkrDTiltW1Wfyu aPJ32NaxyhskxakeTi9JfWwsc7T8= X-Google-Smtp-Source: AGHT+IGXB84ZTWvVBOmONcQlP0r1LrVZujsiqEtSxR3K4GVSdNGjTDy5HI/BmkisOhQsTFkUcrVXRZDdo45VOkCrXU8= X-Received: by 2002:a05:6512:3c8d:b0:50e:80fe:add8 with SMTP id h13-20020a0565123c8d00b0050e80feadd8mr689470lfv.41.1705827163044; Sun, 21 Jan 2024 00:52:43 -0800 (PST) MIME-Version: 1.0 References: <m14jfbg2yj.fsf@HIDDEN> <83cytwtjiw.fsf@HIDDEN> <CALDnm53Z4LppG7AUej2W5qrD_8MyA6YmYvZFFOpK5ULfv62j_w@HIDDEN> <m1edec9sq6.fsf@HIDDEN> <CALDnm50RA9ph-Dm8sWy7vzBm7y_0qqauM4AU6V7iB6FKgxeTXw@HIDDEN> <CALDnm50=ewmdLiScARL_akC57NZ9Y4qkSupE49fa9o3OqYCw+g@HIDDEN> <m1le8k58a7.fsf@HIDDEN> <CALDnm50S6F3JkeAJUcrbL8X3BCUMC=5wCKTZ6vwmCuJgZ0P7oQ@HIDDEN> <83plxvsweh.fsf@HIDDEN> <CALDnm51n=XFAmcFfzmSrbS5SbP=_Wsbh9SYL62KyPBhW_7wOtw@HIDDEN> <m1y1cj5bl4.fsf@HIDDEN> In-Reply-To: <m1y1cj5bl4.fsf@HIDDEN> From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN> Date: Sun, 21 Jan 2024 08:52:33 +0000 Message-ID: <CALDnm52KpypEO-gh4rE8ncmdO9==jSa3f1fFw_Lo1zwZNdhUYg@HIDDEN> Subject: Re: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc To: Eshel Yaron <me@HIDDEN> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 68547 Cc: Eli Zaretskii <eliz@HIDDEN>, 68547 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On Sun, Jan 21, 2024 at 8:34=E2=80=AFAM Eshel Yaron <me@HIDDEN> wro= te: > I tried your new patch, and it works well, AFAICT. Two suggestions: > > 1. This patch omits a space that would appear before the info on the > mode line. I like that bit of padding, so I suggest restoring it :) OK. > 2. In `eldoc--message-in-mode-line`, `add-hook` and `remove-hook` can be > called with non-nil LOCAL argument to further localize the effect, > although I'm not sure that makes a real difference in practice. I tend to think it would break your pathological use cases of shuffling buffers above the minibuffer while it is ongoing, no? Two or more separate transient cleanup lambdas can appear in those cases, no? Jo=C3=A3o
bug-gnu-emacs@HIDDEN:bug#68547; Package emacs.
Full text available.Received: (at 68547) by debbugs.gnu.org; 21 Jan 2024 08:34:42 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 21 03:34:42 2024 Received: from localhost ([127.0.0.1]:36544 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rRTHu-0007el-2Q for submit <at> debbugs.gnu.org; Sun, 21 Jan 2024 03:34:42 -0500 Received: from mail.eshelyaron.com ([107.175.124.16]:42388 helo=eshelyaron.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <me@HIDDEN>) id 1rRTHq-0007ea-7j for 68547 <at> debbugs.gnu.org; Sun, 21 Jan 2024 03:34:40 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com; s=mail; t=1705826074; bh=k1HPUAxIBZLMe7zft++K4e5E6OYxKBF5r6t2MjN0kYA=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=K5NCwMNm16ARiMoLoH0J6dd9G/SE/99mPklJzrYicD6EZkPv70YBTTDJF7KPU7kS4 9Bj4TTqw01SBttASmY2OmpgJ5ohJMNn1Hj9Bhv0wP3qbB8X9lQ3oWKENvmR8q9fTGK FgCMVUxRrxeaxfRgf13/61DPQdRQ7F3/AZCQ6IZ2EZxeHYA7xlvNxVXavBIfgYCBt2 v+LSciaeX9QjKMX09wS8mpQY1vtSHA2O4DDGn/N+BnvT3T8qMXBbRQXfBupbfHkKEe 7RRv7AcAJlo8N6wAk3N5ybs+wEZSrxCRa02vdxNE3qd9lPMaiy1avMCq7wN2IfZ4XD XcDkgFAigpaZA== From: Eshel Yaron <me@HIDDEN> To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN> Subject: Re: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc In-Reply-To: <CALDnm51n=XFAmcFfzmSrbS5SbP=_Wsbh9SYL62KyPBhW_7wOtw@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vora=22's?= message of "Sat, 20 Jan 2024 21:12:22 +0000") References: <m14jfbg2yj.fsf@HIDDEN> <83cytwtjiw.fsf@HIDDEN> <CALDnm53Z4LppG7AUej2W5qrD_8MyA6YmYvZFFOpK5ULfv62j_w@HIDDEN> <m1edec9sq6.fsf@HIDDEN> <CALDnm50RA9ph-Dm8sWy7vzBm7y_0qqauM4AU6V7iB6FKgxeTXw@HIDDEN> <CALDnm50=ewmdLiScARL_akC57NZ9Y4qkSupE49fa9o3OqYCw+g@HIDDEN> <m1le8k58a7.fsf@HIDDEN> <CALDnm50S6F3JkeAJUcrbL8X3BCUMC=5wCKTZ6vwmCuJgZ0P7oQ@HIDDEN> <83plxvsweh.fsf@HIDDEN> <CALDnm51n=XFAmcFfzmSrbS5SbP=_Wsbh9SYL62KyPBhW_7wOtw@HIDDEN> Date: Sun, 21 Jan 2024 09:34:31 +0100 Message-ID: <m1y1cj5bl4.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 68547 Cc: Eli Zaretskii <eliz@HIDDEN>, 68547 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Hi, Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes: > So Eshel, if you try my patch... I tried your new patch, and it works well, AFAICT. Two suggestions: 1. This patch omits a space that would appear before the info on the mode line. I like that bit of padding, so I suggest restoring it :) 2. In `eldoc--message-in-mode-line`, `add-hook` and `remove-hook` can be called with non-nil LOCAL argument to further localize the effect, although I'm not sure that makes a real difference in practice. Best, Eshel
bug-gnu-emacs@HIDDEN:bug#68547; Package emacs.
Full text available.Received: (at 68547) by debbugs.gnu.org; 21 Jan 2024 05:19:30 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 21 00:19:30 2024 Received: from localhost ([127.0.0.1]:36372 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rRQEz-0001xN-Rr for submit <at> debbugs.gnu.org; Sun, 21 Jan 2024 00:19:30 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39578) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1rRQEv-0001x7-56 for 68547 <at> debbugs.gnu.org; Sun, 21 Jan 2024 00:19:28 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1rRQEm-0004eC-D1; Sun, 21 Jan 2024 00:19:16 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=26wjgiezBXGYKAmDjDveJ2+t0E/rfi/YdF34FPmnKIg=; b=D09peztU5vHeXo9pBi/X aKp0JTZIoj/JhSdUWNYneGxcTtXiddhgrZPsiuXBSRwrydE7knzrjjmYGH/SYvl36DRlYudj6p9lD nVjK9H9Bi/9V95R5W8J2JwTn2m8lTSgbtEiiE2VYzKre7zRqFvTorqW0+ouzuPM1jymgy2OkAXusj Saruj1uyqRZqIaFSxwiVOXhk0Bar5fFncIwaPG63S9BBIK3ekMv+S0J2TqDCkeV9nWWdx3Z+U+OY+ oNbseaZa9TlZ4a5mnlmdsSqbKB7FSyOGfFxZ3VyomVy5lAWWz9/N83nAE8YOaVHYRqCb2US/ORjor 8bt6hNE86N2Nag==; Date: Sun, 21 Jan 2024 07:18:59 +0200 Message-Id: <83h6j7s1q4.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN> In-Reply-To: <CALDnm51n=XFAmcFfzmSrbS5SbP=_Wsbh9SYL62KyPBhW_7wOtw@HIDDEN> (message from =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= on Sat, 20 Jan 2024 21:12:22 +0000) Subject: Re: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc References: <m14jfbg2yj.fsf@HIDDEN> <83cytwtjiw.fsf@HIDDEN> <CALDnm53Z4LppG7AUej2W5qrD_8MyA6YmYvZFFOpK5ULfv62j_w@HIDDEN> <m1edec9sq6.fsf@HIDDEN> <CALDnm50RA9ph-Dm8sWy7vzBm7y_0qqauM4AU6V7iB6FKgxeTXw@HIDDEN> <CALDnm50=ewmdLiScARL_akC57NZ9Y4qkSupE49fa9o3OqYCw+g@HIDDEN> <m1le8k58a7.fsf@HIDDEN> <CALDnm50S6F3JkeAJUcrbL8X3BCUMC=5wCKTZ6vwmCuJgZ0P7oQ@HIDDEN> <83plxvsweh.fsf@HIDDEN> <CALDnm51n=XFAmcFfzmSrbS5SbP=_Wsbh9SYL62KyPBhW_7wOtw@HIDDEN> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 68547 Cc: me@HIDDEN, 68547 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: João Távora <joaotavora@HIDDEN> > Date: Sat, 20 Jan 2024 21:12:22 +0000 > Cc: me@HIDDEN, 68547 <at> debbugs.gnu.org > > > Does this remove a function that existed before? If so, please don't, > > since that function's name didn't include "--", so it was not an > > internal function. > > The function eglot-minibuffer-message is a value for > eldoc-message-function and it's "external" indeed. But not by > design rather by "status quo" -- i.e. because at the time it was > introduced, the '-- 'convention was not always observed. > > The correct way to customize ElDoc's messaging outlet is to > set 'eldoc-message-function', the variable. That doesn't > require referencing the should-have-been-internal symbol. It does, if some Lisp program wants to reset the value back for some reason. > > (I also find the tendency of using internal functions as values of > > variables that are clearly meant to be customized by modes to be > > undesirable. They are not really internal functions.) > > I see nothing wrong with it. What is wrong with it is that it's a possible value of a public variable, so the value is basically public by definition. > But as you noted, because of this design mistake, I've noticed > a small number of modes do set it via 'setq'. The correct way > would be to create an obsolete alias. But if you don't want > to I won't insist, and we let this dirt persist. There's > certainly much worse. Thanks, I prefer not to rename it. Who knows what code out there relies on it being available.
bug-gnu-emacs@HIDDEN:bug#68547; Package emacs.
Full text available.Received: (at 68547) by debbugs.gnu.org; 20 Jan 2024 21:12:45 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 20 16:12:45 2024 Received: from localhost ([127.0.0.1]:35964 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rRIdx-00084I-2x for submit <at> debbugs.gnu.org; Sat, 20 Jan 2024 16:12:45 -0500 Received: from mail-lf1-x134.google.com ([2a00:1450:4864:20::134]:47289) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <joaotavora@HIDDEN>) id 1rRIdv-000844-Du for 68547 <at> debbugs.gnu.org; Sat, 20 Jan 2024 16:12:44 -0500 Received: by mail-lf1-x134.google.com with SMTP id 2adb3069b0e04-50e72e3d435so1798505e87.2 for <68547 <at> debbugs.gnu.org>; Sat, 20 Jan 2024 13:12:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705785154; x=1706389954; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=JVYBCZVDUKZdRU/BnCNn9e0CN9Qy04SgO9zYqZm51Bs=; b=d+U5HtSFBEr8HKh6jPyb9G/pqh3gNsATv5ScD9WMNyEI7Tm9RaFafy5Zx7Vk/tpxhh CbFVNAhcN/2ZZjoqKCvG3J7TVRIqnlB/KJPkPpWIzq9Zb0lnuguJjVIm1HiLYhqPgnLz O/lUhwQSP0xAJ/fXswx7FJsYUPO9Ph6S7QVpZeubY+n5BMn9R4hUJmn49Bw0xaNGlcpN gLF2q2cEwNnDkbDQdfd0w3ie9YW0YnZa3mEN87Jq8DhuP3V1EdnuNXz9SOiaz0mynJ8q qjE8eQml2/a6PEieDvYYDdg8NzuZfmdpYruo8pu+VBiXR0h79tZZj1qLCA3dUfFIQHkD reOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705785154; x=1706389954; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JVYBCZVDUKZdRU/BnCNn9e0CN9Qy04SgO9zYqZm51Bs=; b=u1ErajIha/hsmHn5byoSlsTY3b0rzpytcsEBtU6dbYfzkcgQ4NfOxC9DDVSsrsGtvO 5+qcjhixVay22YCZhmMr6Ja/PvGFROp29OWXUVpMX9U2I7xjwr1I3fuDxyYNvloczp7q A3Ez0euZTsfclcyONbhOegU1NSVq3tS+MpZQZdiZdO4XggDb8v2ihQIOxBmhT82FCwVg d8q5KivCt3f6Yq3/4+3sRpNJqWtouEYb3QUfeIO8I74tjkji37PRUmBPFmNn9QoIXxuG xnSmPtzT3SaDf7/Wbd3IZVV8I/Qy+Ekxa2tB/P084+R9NQl3X1Ev0Nkk+Pvp9gi6cdGG lGLA== X-Gm-Message-State: AOJu0YzKSe5Br+qGtrzGbHHREPC2pVrv7uK83OBfyp5xCrKK1S5rKqfR SilDMvEQZoHQjeQYJ3q+BfoYvt/yWF70T5Uc0D/NVTlQknoDGZSm0/yyaeH+el6DZAvH2z2KWxg YRCIWVh5xp6+VjSHgxhrva9JjO88= X-Google-Smtp-Source: AGHT+IH6hX5emSyYMUfKDiAoN6qPFgBGfaTzNBWf76aYe73/6BZFNyjXe+bCmy4w55VTdGP64uMKDjz4h/w+7lJZaxw= X-Received: by 2002:a05:6512:1295:b0:50e:ca83:887e with SMTP id u21-20020a056512129500b0050eca83887emr499226lfs.34.1705785154091; Sat, 20 Jan 2024 13:12:34 -0800 (PST) MIME-Version: 1.0 References: <m14jfbg2yj.fsf@HIDDEN> <83cytwtjiw.fsf@HIDDEN> <CALDnm53Z4LppG7AUej2W5qrD_8MyA6YmYvZFFOpK5ULfv62j_w@HIDDEN> <m1edec9sq6.fsf@HIDDEN> <CALDnm50RA9ph-Dm8sWy7vzBm7y_0qqauM4AU6V7iB6FKgxeTXw@HIDDEN> <CALDnm50=ewmdLiScARL_akC57NZ9Y4qkSupE49fa9o3OqYCw+g@HIDDEN> <m1le8k58a7.fsf@HIDDEN> <CALDnm50S6F3JkeAJUcrbL8X3BCUMC=5wCKTZ6vwmCuJgZ0P7oQ@HIDDEN> <83plxvsweh.fsf@HIDDEN> In-Reply-To: <83plxvsweh.fsf@HIDDEN> From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN> Date: Sat, 20 Jan 2024 21:12:22 +0000 Message-ID: <CALDnm51n=XFAmcFfzmSrbS5SbP=_Wsbh9SYL62KyPBhW_7wOtw@HIDDEN> Subject: Re: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc To: Eli Zaretskii <eliz@HIDDEN> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 68547 Cc: me@HIDDEN, 68547 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On Sat, Jan 20, 2024 at 6:16=E2=80=AFPM Eli Zaretskii <eliz@HIDDEN> wrote: > > > From: Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> > > Date: Sat, 20 Jan 2024 18:08:35 +0000 > > Cc: Eli Zaretskii <eliz@HIDDEN>, 68547 <at> debbugs.gnu.org > > > > -(defun eldoc-minibuffer-message (format-string &rest args) > > +(defvar eldoc--saved-mlf nil > > + "Saved `mode-line-format' used in `eldoc--minibuffer-message'.") > > +(defun eldoc--minibuffer-message (format-string &rest args) > > "Display message specified by FORMAT-STRING and ARGS on the > > mode-line as needed. > > Does this remove a function that existed before? If so, please don't, > since that function's name didn't include "--", so it was not an > internal function. The function eglot-minibuffer-message is a value for eldoc-message-function and it's "external" indeed. But not by design rather by "status quo" -- i.e. because at the time it was introduced, the '-- 'convention was not always observed. The correct way to customize ElDoc's messaging outlet is to set 'eldoc-message-function', the variable. That doesn't require referencing the should-have-been-internal symbol. > (I also find the tendency of using internal functions as values of > variables that are clearly meant to be customized by modes to be > undesirable. They are not really internal functions.) I see nothing wrong with it. An internal symbol that designates a function means that: 1) you shouldn't call it, it's probably a bug if you do, and it unnecessarily constrains the development of the library. 2) you needn't refer to its value function value via (function <symbol>) or equivalent. 'eglot-minibuffer-message' verifies both. 1) The function is an alias to message except in certain situations where it will use the mode-line of a certain buffer chosen heuristically. It is also a misnomer and the docstring 2) The recommended way to customize eldoc-message-function or other function-holding variables is not by 'setq' but rather 'add-function'. `setq` can be used if you intend to restore the old value. But as you noted, because of this design mistake, I've noticed a small number of modes do set it via 'setq'. The correct way would be to create an obsolete alias. But if you don't want to I won't insist, and we let this dirt persist. There's certainly much worse. So Eshel, if you try my patch, remove the '--' from the eldoc--minibuffer-message please. Jo=C3=A3o
bug-gnu-emacs@HIDDEN:bug#68547; Package emacs.
Full text available.Received: (at 68547) by debbugs.gnu.org; 20 Jan 2024 18:16:54 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 20 13:16:53 2024 Received: from localhost ([127.0.0.1]:35712 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rRFtl-0000I9-J1 for submit <at> debbugs.gnu.org; Sat, 20 Jan 2024 13:16:53 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48504) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1rRFth-0000Hp-IT for 68547 <at> debbugs.gnu.org; Sat, 20 Jan 2024 13:16:52 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1rRFtZ-0003oe-4R; Sat, 20 Jan 2024 13:16:41 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=X86AIm6waHllmi4tGphKXoXDNW5rYNz/McTrHN89N8Q=; b=IG0F9nEgB53qLXxkgCYU Y/6iPUbr//gHw25Tjl3HGPIDgi0VUf2xjX2dcxIHtQghlu19erYArWpcSQDPJfGj2xYbHFgY9oWiJ qRszlYVHSgpRo02XHLkYsuJjpcNpbZG/1T2fjo3JyDtEnerklYsclCdAu9GVW0zae2KzU/xrWRqzB Afg/D/rpqH1L4ZGi68BT+yIcj9dhv4KpbhqBTRJrm2NWCspapxj3rvw6O9fYmEB8PnocL9yBAPxGf XFJoe1H0PSPhmIXgGU9UeLLPHFhYIeD1tS9iLf4cmQ4IOTCFEayhmjWypsT6LFLXKTnBXD1Crp+i5 gPz+iSfsIJRtaA==; Date: Sat, 20 Jan 2024 20:16:22 +0200 Message-Id: <83plxvsweh.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN> In-Reply-To: <CALDnm50S6F3JkeAJUcrbL8X3BCUMC=5wCKTZ6vwmCuJgZ0P7oQ@HIDDEN> (message from =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= on Sat, 20 Jan 2024 18:08:35 +0000) Subject: Re: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc References: <m14jfbg2yj.fsf@HIDDEN> <83cytwtjiw.fsf@HIDDEN> <CALDnm53Z4LppG7AUej2W5qrD_8MyA6YmYvZFFOpK5ULfv62j_w@HIDDEN> <m1edec9sq6.fsf@HIDDEN> <CALDnm50RA9ph-Dm8sWy7vzBm7y_0qqauM4AU6V7iB6FKgxeTXw@HIDDEN> <CALDnm50=ewmdLiScARL_akC57NZ9Y4qkSupE49fa9o3OqYCw+g@HIDDEN> <m1le8k58a7.fsf@HIDDEN> <CALDnm50S6F3JkeAJUcrbL8X3BCUMC=5wCKTZ6vwmCuJgZ0P7oQ@HIDDEN> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 68547 Cc: me@HIDDEN, 68547 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: João Távora <joaotavora@HIDDEN> > Date: Sat, 20 Jan 2024 18:08:35 +0000 > Cc: Eli Zaretskii <eliz@HIDDEN>, 68547 <at> debbugs.gnu.org > > -(defun eldoc-minibuffer-message (format-string &rest args) > +(defvar eldoc--saved-mlf nil > + "Saved `mode-line-format' used in `eldoc--minibuffer-message'.") > +(defun eldoc--minibuffer-message (format-string &rest args) > "Display message specified by FORMAT-STRING and ARGS on the > mode-line as needed. Does this remove a function that existed before? If so, please don't, since that function's name didn't include "--", so it was not an internal function. (I also find the tendency of using internal functions as values of variables that are clearly meant to be customized by modes to be undesirable. They are not really internal functions.)
bug-gnu-emacs@HIDDEN:bug#68547; Package emacs.
Full text available.
Received: (at 68547) by debbugs.gnu.org; 20 Jan 2024 18:08:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 20 13:08:59 2024
Received: from localhost ([127.0.0.1]:35702 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1rRFm6-0008W4-Qt
for submit <at> debbugs.gnu.org; Sat, 20 Jan 2024 13:08:59 -0500
Received: from mail-lf1-x132.google.com ([2a00:1450:4864:20::132]:55738)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <joaotavora@HIDDEN>) id 1rRFm4-0008Vl-6D
for 68547 <at> debbugs.gnu.org; Sat, 20 Jan 2024 13:08:58 -0500
Received: by mail-lf1-x132.google.com with SMTP id
2adb3069b0e04-50e759ece35so1820696e87.3
for <68547 <at> debbugs.gnu.org>; Sat, 20 Jan 2024 10:08:53 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1705774127; x=1706378927; darn=debbugs.gnu.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=06FA/1+vhip+odHmcGW8n6OMHtLqglxz53oEES5ejv8=;
b=O7O4pcVqGI+HauE0xBSSWpX66AnuA8bMAqAAcYw4RVzY1TVa/LElHCnt2q5m/SpNBu
0e3AdAU1ZYJs4R22tZiMZDfsWI5wFxuejj6ir/FnbOpXYV0tI5CHId31yjv2+NLiASLr
EypXZ24zGUDY3q68Hb2HYCOjRXx8pce2jsX+m7RT58U+c7NUYon0XTlT8tPck+J/+5P5
n6EQbmaZZ0tTH1Wdp+bnUyhnuvN1gRnuxbib6DPN0nVV64BduAOLUiOP1dgLyiwyD68O
YGa1fT3rruRLKt/uw1tZMRMLornufOqHzMzIZkGkSfr08oaASmsICo3wndtsWeQWRzPu
TbvA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1705774127; x=1706378927;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=06FA/1+vhip+odHmcGW8n6OMHtLqglxz53oEES5ejv8=;
b=hnzZvXTiMnj3VfVOhqhrvHNBag9IeuPChxF/pe5KbsjVdGxX9zAuwhdlz6fVDw4Rro
vUWLff7Wnf0BTSGzVTvI9/SkCA4QAzaNc9cvsGKGEAFCqmIaLWRh/PuIxq7nqjQKlZes
1WXVp+nhh9P4E7HJpMHicPsM9cgUjzUp0TdWzadQBYDjHLCN78RHs7TqLYiAY/aku5Xj
nUVwXOVoiPOlNZ+HkToVxR3ugOaMb/hINeqSYy5NSQtnnARtpdWJzsbO401w+MSy00c9
5eKl2WMUAlNyZx/GdBKWmF+1rS57T+l3LOKci95Cz2XA1qEj3N3kExLy1UriK9rc/7R5
orxA==
X-Gm-Message-State: AOJu0YxGEhoJ9l9GUXoUWABHMLYxzD+M43JhZbzCc5VmzWtm8czOaI3/
3cMyBX8iT5f8N7MeJozy4Y81qsN/ui1nAEyNqXf+2gfe0Nscqk0l4z7mCs5xw2C3fljETtDoUN7
aCbogCwFoBN7BoEy07RzwSlIxfko=
X-Google-Smtp-Source: AGHT+IFvdQ29CYUqXHF8WteS6K/ua5VbE+aHjhX1tvIiknphhabg0vds5NAWsX7n3B2pqkZE0p1j1Cfps4Cg1jFJyvc=
X-Received: by 2002:a05:6512:3592:b0:50e:6e41:2f2a with SMTP id
m18-20020a056512359200b0050e6e412f2amr502488lfr.6.1705774126548; Sat, 20 Jan
2024 10:08:46 -0800 (PST)
MIME-Version: 1.0
References: <m14jfbg2yj.fsf@HIDDEN> <83cytwtjiw.fsf@HIDDEN>
<CALDnm53Z4LppG7AUej2W5qrD_8MyA6YmYvZFFOpK5ULfv62j_w@HIDDEN>
<m1edec9sq6.fsf@HIDDEN>
<CALDnm50RA9ph-Dm8sWy7vzBm7y_0qqauM4AU6V7iB6FKgxeTXw@HIDDEN>
<CALDnm50=ewmdLiScARL_akC57NZ9Y4qkSupE49fa9o3OqYCw+g@HIDDEN>
<m1le8k58a7.fsf@HIDDEN>
In-Reply-To: <m1le8k58a7.fsf@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Sat, 20 Jan 2024 18:08:35 +0000
Message-ID: <CALDnm50S6F3JkeAJUcrbL8X3BCUMC=5wCKTZ6vwmCuJgZ0P7oQ@HIDDEN>
Subject: Re: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
To: Eshel Yaron <me@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 68547
Cc: Eli Zaretskii <eliz@HIDDEN>, 68547 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
On Sat, Jan 20, 2024 at 3:33=E2=80=AFPM Eshel Yaron <me@HIDDEN> wro=
te:
> Then I tried the following (somewhat pathological) use case:
>
> 0. Setup: (keymap-global-set "C-x w a" #'windmove-swap-states-left)
> 1. Open two buffers in two windows side by side.
> 2. Say `M-: (car `, to show info in the mode line of the left window.
> 3. Without quitting the minibuffer, use `C-x o` to switch to the right
> window, followed by `C-x w a` to switch the buffers in the left and
> right windows.
> 4. Return to the minibuffer and type `nil) RET` or something like that
> to exit the minibuffer.
> 5. The `mode-line-format` of the left buffer is becomes nil, i.e. no mode=
line.
>
> Shuffling `mode-line-format` around is really tricky :(
Indeed. Your case is pathological, but not particularly hard to
trigger. Given the consequences are somewhat dire (vanished mode-line)
, it should most definitely be handled.
Try this version, please. Only difference is it uses a setq-local
for eldoc--saved-mlf instead of a setq.
Please give it as much testing as you can.
Jo=C3=A3o
diff --git a/lisp/emacs-lisp/eldoc.el b/lisp/emacs-lisp/eldoc.el
index 912a7357ca7..1ba4e6a006f 100644
--- a/lisp/emacs-lisp/eldoc.el
+++ b/lisp/emacs-lisp/eldoc.el
@@ -182,7 +182,7 @@ eldoc-current-idle-delay
"Idle time delay currently in use by timer.
This is used to determine if `eldoc-idle-delay' is changed by the user.")
-(defvar eldoc-message-function #'eldoc-minibuffer-message
+(defvar eldoc-message-function #'eldoc--minibuffer-message
"The function used by `eldoc--message' to display messages.
It should receive the same arguments as `message'.")
@@ -292,43 +292,42 @@ eldoc-schedule-timer
(setq eldoc-current-idle-delay eldoc-idle-delay)
(timer-set-idle-time eldoc-timer eldoc-idle-delay t))))
-(defvar eldoc-mode-line-string nil)
-(put 'eldoc-mode-line-string 'risky-local-variable t)
-
-(defun eldoc-minibuffer-message (format-string &rest args)
+(defvar eldoc--saved-mlf nil
+ "Saved `mode-line-format' used in `eldoc--minibuffer-message'.")
+(defun eldoc--minibuffer-message (format-string &rest args)
"Display message specified by FORMAT-STRING and ARGS on the
mode-line as needed.
This function displays the message produced by formatting ARGS
with FORMAT-STRING on the mode line when the current buffer is a minibuffe=
r.
Otherwise, it displays the message like `message' would."
- (if (or (bound-and-true-p edebug-mode) (minibufferp))
- (progn
- (add-hook 'post-command-hook #'eldoc-minibuffer--cleanup)
- (with-current-buffer
- (window-buffer
- (or (window-in-direction 'above (minibuffer-window))
- (minibuffer-selected-window)
- (get-largest-window)))
- (when (and mode-line-format
- (not (and (listp mode-line-format)
- (assq 'eldoc-mode-line-string
mode-line-format))))
- (setq mode-line-format
- (funcall
- (if (listp mode-line-format) #'append #'list)
- (list "" '(eldoc-mode-line-string
- (" " eldoc-mode-line-string " ")))
- mode-line-format)))
- (setq eldoc-mode-line-string
- (when (stringp format-string)
- (apply #'format-message format-string args)))
- (force-mode-line-update)))
- (apply #'message format-string args)))
-
-(defun eldoc-minibuffer--cleanup ()
- (unless (or (bound-and-true-p edebug-mode) (minibufferp))
- (setq eldoc-mode-line-string nil
- ;; https://debbugs.gnu.org/16920
- eldoc-last-message nil)
- (remove-hook 'post-command-hook #'eldoc-minibuffer--cleanup)))
+ (cond ((bound-and-true-p edebug-mode)
+ (eldoc--message-in-mode-line 'edebug-mode-hook format-string args=
))
+ ((minibufferp)
+ (eldoc--message-in-mode-line 'minibuffer-exit-hook
format-string args))
+ (t
+ (apply #'message format-string args))))
+
+(defun eldoc--message-in-mode-line (hook format-string args)
+ (with-current-buffer
+ (window-buffer
+ (or (window-in-direction 'above (minibuffer-window))
+ (minibuffer-selected-window)
+ (get-largest-window)))
+ (let ((buf (current-buffer)))
+ (cl-labels ((cleanup ()
+ (with-current-buffer buf
+ (remove-hook hook #'cleanup)
+ (setq mode-line-format eldoc--saved-mlf
+ eldoc--saved-mlf nil))))
+ (add-hook hook #'cleanup)
+ (setq-local eldoc--saved-mlf (or eldoc--saved-mlf mode-line-format=
))
+ (when format-string
+ (setq-local
+ mode-line-format
+ (funcall (if (listp eldoc--saved-mlf) #'cons #'list)
+ (and format-string
+ (apply #'format-message format-string args))
+ eldoc--saved-mlf)))
+ (force-mode-line-update)))))
(make-obsolete
'eldoc-message "use `eldoc-documentation-functions' instead." "eldoc-1.1.=
0")
--=20
Jo=C3=A3o T=C3=A1vora
bug-gnu-emacs@HIDDEN:bug#68547; Package emacs.
Full text available.Received: (at 68547) by debbugs.gnu.org; 20 Jan 2024 15:33:45 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 20 10:33:44 2024 Received: from localhost ([127.0.0.1]:35521 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rRDLs-0003qJ-JN for submit <at> debbugs.gnu.org; Sat, 20 Jan 2024 10:33:44 -0500 Received: from mail.eshelyaron.com ([107.175.124.16]:53438 helo=eshelyaron.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <me@HIDDEN>) id 1rRDLq-0003qB-CM for 68547 <at> debbugs.gnu.org; Sat, 20 Jan 2024 10:33:43 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com; s=mail; t=1705764818; bh=9aUYPqaL/7h5NNW3OQ17V3Zl8oo1jSgvC26t78ZefN4=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=Cxn50Y3gGQLYG8aFTq6GyAmiUDejA+mb6ysrSlWd4O3almN7SzeflUHo3iAAW6vy/ gGpwMbd8oegDlyCFoiVcVL55WA6TcVqCEF46f59fnIZE8HwMwFKgkZQ9CafWChnhYz UPnW2kDUH0I7rap1fF/zR3v26Rj9x6LOw/M/5R5JzAkCZXGlS9Lyk1QiuaddBvwGPf tuCmAA4nLI6adlkNXrwh2Mv9zAKeg7yaznoAQzmEV7/KSD6xw2N8We5hJJi3Txa+u/ FIwfKAP3p7dZ2z0ZDhvrWj6gi/qq0SsjcVVAEwgw2mNXVMB+0NY8bir3uMHB+nATto FumJoQQDiZI7Q== From: Eshel Yaron <me@HIDDEN> To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN> Subject: Re: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc In-Reply-To: <CALDnm50=ewmdLiScARL_akC57NZ9Y4qkSupE49fa9o3OqYCw+g@HIDDEN> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vora=22's?= message of "Sat, 20 Jan 2024 13:55:21 +0000") References: <m14jfbg2yj.fsf@HIDDEN> <83cytwtjiw.fsf@HIDDEN> <CALDnm53Z4LppG7AUej2W5qrD_8MyA6YmYvZFFOpK5ULfv62j_w@HIDDEN> <m1edec9sq6.fsf@HIDDEN> <CALDnm50RA9ph-Dm8sWy7vzBm7y_0qqauM4AU6V7iB6FKgxeTXw@HIDDEN> <CALDnm50=ewmdLiScARL_akC57NZ9Y4qkSupE49fa9o3OqYCw+g@HIDDEN> X-Hashcash: 1:20:240120:joaotavora@HIDDEN::Igss/w3eWI4HOqSR:1BBr X-Hashcash: 1:20:240120:68547 <at> debbugs.gnu.org::o5X5YMKggfY5Nm1l:JEI X-Hashcash: 1:20:240120:eliz@HIDDEN::TRFY1A1HwFtTisM9:9UQX Date: Sat, 20 Jan 2024 16:33:36 +0100 Message-ID: <m1le8k58a7.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 68547 Cc: Eli Zaretskii <eliz@HIDDEN>, 68547 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Hi Jo=C3=A3o, Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes: >> I'm going to look at this function though, since I don't I love the >> logic of destroying any old buffer's mode-line-format and not >> restoring after the minibuffer is exited. Agreed. > While we're on the subject, can you give this patch a try Eshel? Sure. At first glance this looks good, but I ran into some issues. First of all, looks like some lines in the patch got wrapped, so I needed to tweak the patch manually a bit in order to apply it. Then I tried the following (somewhat pathological) use case: 0. Setup: (keymap-global-set "C-x w a" #'windmove-swap-states-left) 1. Open two buffers in two windows side by side. 2. Say `M-: (car `, to show info in the mode line of the left window. 3. Without quitting the minibuffer, use `C-x o` to switch to the right window, followed by `C-x w a` to switch the buffers in the left and right windows. 4. Return to the minibuffer and type `nil) RET` or something like that to exit the minibuffer. 5. The `mode-line-format` of the left buffer is becomes nil, i.e. no mode l= ine. Shuffling `mode-line-format` around is really tricky :(
bug-gnu-emacs@HIDDEN:bug#68547; Package emacs.
Full text available.
Received: (at 68547) by debbugs.gnu.org; 20 Jan 2024 13:55:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 20 08:55:46 2024
Received: from localhost ([127.0.0.1]:33172 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1rRBp3-0000NB-Do
for submit <at> debbugs.gnu.org; Sat, 20 Jan 2024 08:55:46 -0500
Received: from mail-lf1-x130.google.com ([2a00:1450:4864:20::130]:51589)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <joaotavora@HIDDEN>) id 1rRBp0-0000Mw-K0
for 68547 <at> debbugs.gnu.org; Sat, 20 Jan 2024 08:55:44 -0500
Received: by mail-lf1-x130.google.com with SMTP id
2adb3069b0e04-50edf4f478eso2186518e87.3
for <68547 <at> debbugs.gnu.org>; Sat, 20 Jan 2024 05:55:39 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1705758933; x=1706363733; darn=debbugs.gnu.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=dEhFPJJ79ZXM19OXEbpqaZKeExp5lwhOcJCVua1ymw0=;
b=SdnhAoE0GpS7AKwA9VPQuPY3LrwMuhjoXkhZZuqWr22a1b/kcnLHgxJPbQI7S/PQjm
t6bX+uFdZ9/jMoruArTo+bh2+RCuNkr29k+m/YHXSJa91iH/A1ae9JOpK7h9xQue7065
Am5SpDn7pWJa5H3e0ZXu8PoJ4ZWfILX2Hs21ScvQ7GcC3ujzfbGQfLL2FctP7gZhQN2K
I964DZHcvBAyt6CJKmlf/CAsHqW+MftbKcKIaF/hPSSbthUDthRmHdhcFdIpbLzp1KYl
W3DJExCt1Pxsi/BWwtd2HNvT7AZwaaC7je3Kz0u5UhzgUOJvWU1xL+PW3knYPxKFcKRD
6w7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1705758933; x=1706363733;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=dEhFPJJ79ZXM19OXEbpqaZKeExp5lwhOcJCVua1ymw0=;
b=LsYtLgUoGpTBVvRUP4LTKESMV+pJJDjQrVJePfbJ40uo5A/lS5DoayUHwoW8gkJ9wt
19kKxhJJIo7FWsBYQOTyR5ARaINu32p1XfJgURbyWWKHclave7NHImyJ0gRLO3gbD5dS
tPFoy6CcRHS0Py1KsOEhrE5Ggptxk9mLWrNiDFnGpSRNoBwvHYRcGNVSoK1YAruDVaYk
z1jtqbAwHAsL6JgvPTsk/rVDMfAs/Rc2v4evuXXe2fgwicvq/bAkMPTyiwiQ91F7Q4jl
9OuBUV1Ht8N1yNAnDJIQXNM8pnt3hjUGJ8UKQyPiJho+ll57k/l2wW00ss8MwSwMVUlZ
7/Iw==
X-Gm-Message-State: AOJu0Yye+1dGrsa7540HuDFHn4uW6ZeiQADxM1o40nU4gE8CAwBYHCkS
/b0zw9QwTXBQuXPgkJO93vGIS2IZTG+q5OATxX5QY4THCYfvcntzSifOpyFXLKKlIfJ+W76PsPV
yNaU8XKLLl22G6V9l0vy6sTFHNbo=
X-Google-Smtp-Source: AGHT+IHO0jnnIunLnD7wwIJBaz0ts98ycKN2BanBeQgo52rS44s3m35yjUbJmfodjhhrB+VLVbtX7iB6GpKtbuoCGZg=
X-Received: by 2002:a05:6512:280f:b0:50e:7be0:3c38 with SMTP id
cf15-20020a056512280f00b0050e7be03c38mr631970lfb.98.1705758932807; Sat, 20
Jan 2024 05:55:32 -0800 (PST)
MIME-Version: 1.0
References: <m14jfbg2yj.fsf@HIDDEN> <83cytwtjiw.fsf@HIDDEN>
<CALDnm53Z4LppG7AUej2W5qrD_8MyA6YmYvZFFOpK5ULfv62j_w@HIDDEN>
<m1edec9sq6.fsf@HIDDEN>
<CALDnm50RA9ph-Dm8sWy7vzBm7y_0qqauM4AU6V7iB6FKgxeTXw@HIDDEN>
In-Reply-To: <CALDnm50RA9ph-Dm8sWy7vzBm7y_0qqauM4AU6V7iB6FKgxeTXw@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Sat, 20 Jan 2024 13:55:21 +0000
Message-ID: <CALDnm50=ewmdLiScARL_akC57NZ9Y4qkSupE49fa9o3OqYCw+g@HIDDEN>
Subject: Re: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
To: Eshel Yaron <me@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 68547
Cc: Eli Zaretskii <eliz@HIDDEN>, 68547 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
On Sat, Jan 20, 2024 at 12:01=E2=80=AFPM Jo=C3=A3o T=C3=A1vora <joaotavora@=
gmail.com> wrote:
> Thanks. I pushed it. I'm going to look at this function though,
> since I don't I love the logic of destroying any old buffer's
> mode-line-format and not restoring after the minibuffer is
> exited.
While we're on the subject, can you give this patch a try Eshel?
diff --git a/lisp/emacs-lisp/eldoc.el b/lisp/emacs-lisp/eldoc.el
index 912a7357ca7..78ce7ecd123 100644
--- a/lisp/emacs-lisp/eldoc.el
+++ b/lisp/emacs-lisp/eldoc.el
@@ -182,7 +182,7 @@ eldoc-current-idle-delay
"Idle time delay currently in use by timer.
This is used to determine if `eldoc-idle-delay' is changed by the user.")
-(defvar eldoc-message-function #'eldoc-minibuffer-message
+(defvar eldoc-message-function #'eldoc--minibuffer-message
"The function used by `eldoc--message' to display messages.
It should receive the same arguments as `message'.")
@@ -292,43 +292,42 @@ eldoc-schedule-timer
(setq eldoc-current-idle-delay eldoc-idle-delay)
(timer-set-idle-time eldoc-timer eldoc-idle-delay t))))
-(defvar eldoc-mode-line-string nil)
-(put 'eldoc-mode-line-string 'risky-local-variable t)
-
-(defun eldoc-minibuffer-message (format-string &rest args)
+(defvar eldoc--saved-mlf nil
+ "Saved `mode-line-format' used in `eldoc--minibuffer-message'.")
+(defun eldoc--minibuffer-message (format-string &rest args)
"Display message specified by FORMAT-STRING and ARGS on the
mode-line as needed.
This function displays the message produced by formatting ARGS
with FORMAT-STRING on the mode line when the current buffer is a minibuffe=
r.
Otherwise, it displays the message like `message' would."
- (if (or (bound-and-true-p edebug-mode) (minibufferp))
- (progn
- (add-hook 'post-command-hook #'eldoc-minibuffer--cleanup)
- (with-current-buffer
- (window-buffer
- (or (window-in-direction 'above (minibuffer-window))
- (minibuffer-selected-window)
- (get-largest-window)))
- (when (and mode-line-format
- (not (and (listp mode-line-format)
- (assq 'eldoc-mode-line-string
mode-line-format))))
- (setq mode-line-format
- (funcall
- (if (listp mode-line-format) #'append #'list)
- (list "" '(eldoc-mode-line-string
- (" " eldoc-mode-line-string " ")))
- mode-line-format)))
- (setq eldoc-mode-line-string
- (when (stringp format-string)
- (apply #'format-message format-string args)))
- (force-mode-line-update)))
- (apply #'message format-string args)))
-
-(defun eldoc-minibuffer--cleanup ()
- (unless (or (bound-and-true-p edebug-mode) (minibufferp))
- (setq eldoc-mode-line-string nil
- ;; https://debbugs.gnu.org/16920
- eldoc-last-message nil)
- (remove-hook 'post-command-hook #'eldoc-minibuffer--cleanup)))
+ (cond ((bound-and-true-p edebug-mode)
+ (eldoc--message-in-mode-line 'edebug-mode-hook format-string args=
))
+ ((minibufferp)
+ (eldoc--message-in-mode-line 'minibuffer-exit-hook
format-string args))
+ (t
+ (apply #'message format-string args))))
+
+(defun eldoc--message-in-mode-line (hook format-string args)
+ (with-current-buffer
+ (window-buffer
+ (or (window-in-direction 'above (minibuffer-window))
+ (minibuffer-selected-window)
+ (get-largest-window)))
+ (let ((buf (current-buffer)))
+ (cl-labels ((cleanup ()
+ (with-current-buffer buf
+ (remove-hook hook #'cleanup)
+ (setq mode-line-format eldoc--saved-mlf
+ eldoc--saved-mlf nil))))
+ (add-hook hook #'cleanup)
+ (setq eldoc--saved-mlf (or eldoc--saved-mlf mode-line-format))
+ (when format-string
+ (setq
+ mode-line-format
+ (funcall (if (listp eldoc--saved-mlf) #'cons #'list)
+ (and format-string
+ (apply #'format-message format-string args))
+ eldoc--saved-mlf)))
+ (force-mode-line-update)))))
(make-obsolete
'eldoc-message "use `eldoc-documentation-functions' instead." "eldoc-1.1.=
0")
--=20
Jo=C3=A3o T=C3=A1vora
bug-gnu-emacs@HIDDEN:bug#68547; Package emacs.
Full text available.
Received: (at 68547) by debbugs.gnu.org; 20 Jan 2024 12:02:10 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 20 07:02:10 2024
Received: from localhost ([127.0.0.1]:33095 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1rRA37-0007pR-8s
for submit <at> debbugs.gnu.org; Sat, 20 Jan 2024 07:02:10 -0500
Received: from mail-lf1-x12c.google.com ([2a00:1450:4864:20::12c]:57606)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <joaotavora@HIDDEN>) id 1rRA35-0007kw-Ba
for 68547 <at> debbugs.gnu.org; Sat, 20 Jan 2024 07:02:08 -0500
Received: by mail-lf1-x12c.google.com with SMTP id
2adb3069b0e04-50e766937ddso1987944e87.3
for <68547 <at> debbugs.gnu.org>; Sat, 20 Jan 2024 04:02:04 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1705752118; x=1706356918; darn=debbugs.gnu.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=W5tYt4hrprHvvuTKGDdRVFPW7TenRME8IJ23alEp2vM=;
b=DY6rHwspDBzS/frsFiPGBAQWJQjzgDXMKvdqsBTzoLFSb40VdBVJbmokOFSOgdYhrQ
/+kHys9zGnDAJ2kLbffigTdaltXeydryu5yh3EaTjSrnQn6YWu3f0foyQDoPVvUV8fqX
UkjCgnFGHg1/zCk9WolRuKm001Lv6jH75rJIqvlQebL9pK9IgUqnFUiu5o1f92LUwXlk
5QGuG9vBmkA49bzIEiIdfyE51+FXVrbyb3Bv78m/6ryvOf23aC3smbkzoL6mcVOVeCCS
1hTVBg+HxQHnOdghAA7iJoDpKbvcOwp7V8Sagn/onuuYdWi3gW8sW3qkiM3DNEOTWLcb
F9Kw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1705752118; x=1706356918;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=W5tYt4hrprHvvuTKGDdRVFPW7TenRME8IJ23alEp2vM=;
b=msHnb5q2JGOfdR5NSpjp2I9d2on8unPbv1ETLGMRGpnpMIkgv1kWwj/Ub0i27SVzL0
Pktuw6dyTXVhkpaW5PlgiAHHmBITKZNq7zO2YqgiB+bdoeZEn0sC6QPmkzU1JIlmsXl2
eeekC/KTEbHVEO7ot/wYskTpKYqzeeShs/91NVvgvrL47VyGggnCC9V3MFZDkhl/mARd
wj7CriAmknueAi5Vq5xk3XSpNBIv0uzpwzBm7eM9Z1pB1B3sLMRTgFRp702FhOLYbCoB
4YL3roXbN1iqGe64GtjnwFbhD7QHoEhapVH1lysXJVl5UYeY7st8yiKd+GjB6WDAMyQP
Z5qQ==
X-Gm-Message-State: AOJu0Yzswfk+oFAoHcl7FlTeDFoQHsm4WT5jJmfwJxHh18mQy7BoBF0S
x/f4ML8nPMv7/3ODfCXTiTGHtnEnbvOTICrxURf1dYZgzv/xL7WXDBpyRa45nfdWGACm/7y3S9Q
iLwaY9V34ld0jRVKcMzyBxVal3t8=
X-Google-Smtp-Source: AGHT+IE9po3C+sZEFkc/bkIuU5+YzjVc6zRcrEzFQAZfttMmgdzfPqocVRHrMzln2v3vze1iyxr23bSETDjIvAClja8=
X-Received: by 2002:a05:6512:550:b0:50e:4bf6:8848 with SMTP id
h16-20020a056512055000b0050e4bf68848mr438879lfl.38.1705752118338; Sat, 20 Jan
2024 04:01:58 -0800 (PST)
MIME-Version: 1.0
References: <m14jfbg2yj.fsf@HIDDEN> <83cytwtjiw.fsf@HIDDEN>
<CALDnm53Z4LppG7AUej2W5qrD_8MyA6YmYvZFFOpK5ULfv62j_w@HIDDEN>
<m1edec9sq6.fsf@HIDDEN>
In-Reply-To: <m1edec9sq6.fsf@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Sat, 20 Jan 2024 12:01:46 +0000
Message-ID: <CALDnm50RA9ph-Dm8sWy7vzBm7y_0qqauM4AU6V7iB6FKgxeTXw@HIDDEN>
Subject: Re: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
To: Eshel Yaron <me@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 68547
Cc: Eli Zaretskii <eliz@HIDDEN>, 68547 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
On Sat, Jan 20, 2024 at 10:58=E2=80=AFAM Eshel Yaron <me@HIDDEN> wr=
ote:
>
> Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:
>
> > On Sat, Jan 20, 2024 at 9:57=E2=80=AFAM Eli Zaretskii <eliz@HIDDEN> wr=
ote:
> >>
> >> > Date: Wed, 17 Jan 2024 20:44:04 +0100
> >> > From: Eshel Yaron via "Bug reports for GNU Emacs,
> >> > the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
> >> >
> >> > Tags: patch
> >> >
> >> > The new mode line right alignment requires setting `mode-line-format=
` to
> >> > a list that contains (as in `memq`) the symbol
> >> > `mode-line-format-right-align`. This is a bit brittle, and currentl=
y
> >> > `eldoc-minibuffer-message` modifies `mode-line-format` in a way that
> >> > happens to break `mode-line-format-right-align`. To see that, set
> >> > `mode-line-format` to '("" mode-line-format-right-align "foo bar") a=
nd
> >> > then type `M-: (list`. Now ElDoc info appears on the mode line, but
> >> > "bar" is no longer visible.
> >> >
> >> > This patch makes ElDoc modify `mode-line-format` in an equivalent wa=
y
> >> > that avoids messing with `mode-line-format-right-align`.
> >>
> >> Thanks.
> >>
> >> Jo=C3=A3o, any objections or comments?
> >
> > I think it looks good. I just think the patch is a little
> > too newline friendly, i.e. the if can probably fit in a single
> > line without reaching 80 columns and it'll make it easier to
> > read.
>
> Yes, it fits nicely. See updated patch below.
Thanks. I pushed it. I'm going to look at this function though,
since I don't I love the logic of destroying any old buffer's
mode-line-format and not restoring after the minibuffer is
exited.
bug-gnu-emacs@HIDDEN:bug#68547; Package emacs.
Full text available.
Received: (at 68547) by debbugs.gnu.org; 20 Jan 2024 10:58:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 20 05:58:32 2024
Received: from localhost ([127.0.0.1]:32967 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1rR93Y-0000fn-IU
for submit <at> debbugs.gnu.org; Sat, 20 Jan 2024 05:58:32 -0500
Received: from mail.eshelyaron.com ([107.175.124.16]:58918 helo=eshelyaron.com)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <me@HIDDEN>) id 1rR93W-0000ff-M7
for 68547 <at> debbugs.gnu.org; Sat, 20 Jan 2024 05:58:31 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com;
s=mail; t=1705748307;
bh=A8o4ROldKXjWXkKnkMWOs2gkqpCeOCpJc4W4YS0U8mY=;
h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
b=QOGm1eoNzQe2MY4HJ4PyyqBKqwDurJxz1XBYFkt80FhqIAbO2pa6WUKerWFN9InVv
e9kV6oe6VD69/ohfS/lxLym6+xgILBr60hlH/Zr3yo6/bQLFbN0TMBvBvwEti4UvyC
A8uuvOtIqs2BPDFgXv2LvxTxc0PIEczEvqiDhvCL4zgf9DIqCHrRAeOnLOqJSfUQV/
7UiSEh0892ySxrSnupMCC/o0CJP5RE/JCb7ibdx3lKcj6NfDp9YdYvT4s74g3jbiFh
SyIaeIxmzdEL9toF9J7EqIiVmM0UFKCXSoBRjVEYz0kgNQtIrANmtsnQLp9QZBU5gB
4Adi7AhvQ/QhA==
From: Eshel Yaron <me@HIDDEN>
To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Subject: Re: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
In-Reply-To: <CALDnm53Z4LppG7AUej2W5qrD_8MyA6YmYvZFFOpK5ULfv62j_w@HIDDEN>
(=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vora=22's?= message of "Sat, 20 Jan 2024
10:20:39 +0000")
References: <m14jfbg2yj.fsf@HIDDEN> <83cytwtjiw.fsf@HIDDEN>
<CALDnm53Z4LppG7AUej2W5qrD_8MyA6YmYvZFFOpK5ULfv62j_w@HIDDEN>
Date: Sat, 20 Jan 2024 11:58:25 +0100
Message-ID: <m1edec9sq6.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 68547
Cc: Eli Zaretskii <eliz@HIDDEN>, 68547 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes:
> On Sat, Jan 20, 2024 at 9:57=E2=80=AFAM Eli Zaretskii <eliz@HIDDEN> wrot=
e:
>>
>> > Date: Wed, 17 Jan 2024 20:44:04 +0100
>> > From: Eshel Yaron via "Bug reports for GNU Emacs,
>> > the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
>> >
>> > Tags: patch
>> >
>> > The new mode line right alignment requires setting `mode-line-format` =
to
>> > a list that contains (as in `memq`) the symbol
>> > `mode-line-format-right-align`. This is a bit brittle, and currently
>> > `eldoc-minibuffer-message` modifies `mode-line-format` in a way that
>> > happens to break `mode-line-format-right-align`. To see that, set
>> > `mode-line-format` to '("" mode-line-format-right-align "foo bar") and
>> > then type `M-: (list`. Now ElDoc info appears on the mode line, but
>> > "bar" is no longer visible.
>> >
>> > This patch makes ElDoc modify `mode-line-format` in an equivalent way
>> > that avoids messing with `mode-line-format-right-align`.
>>
>> Thanks.
>>
>> Jo=C3=A3o, any objections or comments?
>
> I think it looks good. I just think the patch is a little
> too newline friendly, i.e. the if can probably fit in a single
> line without reaching 80 columns and it'll make it easier to
> read.
Yes, it fits nicely. See updated patch below.
--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment;
filename=v2-0001-Fix-mode-line-format-right-align-with-ElDoc-Bug-6.patch
From 9c69e20ed172a2bfa56056a62077ae1c68b9b979 Mon Sep 17 00:00:00 2001
From: Eshel Yaron <me@HIDDEN>
Date: Mon, 1 Jan 2024 22:14:59 +0100
Subject: [PATCH v2] ; Fix 'mode-line-format-right-align' with ElDoc
(Bug#68547)
* lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message): Avoid nesting
'mode-line-format', since that breaks 'mode-line-format-right-align'.
---
lisp/emacs-lisp/eldoc.el | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/lisp/emacs-lisp/eldoc.el b/lisp/emacs-lisp/eldoc.el
index 06970d40e8a..912a7357ca7 100644
--- a/lisp/emacs-lisp/eldoc.el
+++ b/lisp/emacs-lisp/eldoc.el
@@ -312,9 +312,11 @@ eldoc-minibuffer-message
(not (and (listp mode-line-format)
(assq 'eldoc-mode-line-string mode-line-format))))
(setq mode-line-format
- (list "" '(eldoc-mode-line-string
- (" " eldoc-mode-line-string " "))
- mode-line-format)))
+ (funcall
+ (if (listp mode-line-format) #'append #'list)
+ (list "" '(eldoc-mode-line-string
+ (" " eldoc-mode-line-string " ")))
+ mode-line-format)))
(setq eldoc-mode-line-string
(when (stringp format-string)
(apply #'format-message format-string args)))
--
2.42.0
--=-=-=--
bug-gnu-emacs@HIDDEN:bug#68547; Package emacs.
Full text available.
Received: (at 68547) by debbugs.gnu.org; 20 Jan 2024 10:21:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 20 05:21:00 2024
Received: from localhost ([127.0.0.1]:32931 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1rR8TE-0002lH-Ak
for submit <at> debbugs.gnu.org; Sat, 20 Jan 2024 05:21:00 -0500
Received: from mail-lf1-x134.google.com ([2a00:1450:4864:20::134]:51684)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <joaotavora@HIDDEN>) id 1rR8TD-0002l2-9d
for 68547 <at> debbugs.gnu.org; Sat, 20 Jan 2024 05:20:59 -0500
Received: by mail-lf1-x134.google.com with SMTP id
2adb3069b0e04-50edf4f478eso2090479e87.3
for <68547 <at> debbugs.gnu.org>; Sat, 20 Jan 2024 02:20:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1705746050; x=1706350850; darn=debbugs.gnu.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=EfXe87u4YvlethQXMy5E48bGARbf4PNpxb0h87jmWvU=;
b=mm6H4VLYg2uc29gyVSd2VEsb26iO1aWtYCIedfXPWMIsWeO57zeVLTTmuRsTX6e4rw
DGYt1p2tnBxhdwQj95S9J6mSmsSQE71aRTET020xSlyOsVUUD2GLZ9P+8TmeKBvuQlIG
FjSWBIt0tN/ZGG9kRM+s7ikod1uYjAiARwv4L7TgYPqdYAViicAMTdOO9z1afXBUONQ0
g8ThWECcpLp59hPj3AHrlMRAPyee79i9gDzjrOL4uEeTSAf00ZuHyvinqnQz/THMtCxI
xhUsdBXzgDKrvubOcrWVZj1xCbDIiqigXxpbXRFw27nbu/kxiRfFcYPYmnpKBw7b+rJq
OBug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1705746050; x=1706350850;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=EfXe87u4YvlethQXMy5E48bGARbf4PNpxb0h87jmWvU=;
b=thXyhi3vzw57TAF2FGwORh4szDKzSkfhIZ1QPqFYqPQi/9f5eN+lj5GIi+uVf+miBB
dfCc5Wwk2XPIKvkrJmsidh6QTdRE5yr41jjLDmIm3VWOfYgr8zhEVyYSbFkpFUWv8kn+
eLTsZZN7OeueWFvm7D1kQUMjvZdWfDsRRlNikTVtv/gsfXx4+aUyLrUPIVZumHihk89f
E8wGit15f9rR8hiWr6YP+UP84R9pEZpPbtI5zWDTIL8P7kc627xEEiLmDYsdxz7P9ypj
aYvuK6rcxdim1flIGi1eBXDk4UbQh+oQ80t4GcyrcGTkKNo6oHtJvhola2CAFbNAWaGe
rSTg==
X-Gm-Message-State: AOJu0YwcoPy1pZJ5jNQ/BVxJZISRHgdIS+oO9zQ2ZQhM0RGsOXYkbcnh
ldfeo/VRiXwkYaOwKnWuJJgMF3eNrq5NXuVViv/e3Hau4D8o43k+vB7hew2cvoaPA1dEtfOIlI3
e3wEUz+G2zzM0IdqdoOJgjFBXups=
X-Google-Smtp-Source: AGHT+IGvesOG6ydC+LkPu66rd6OeOA8PDhMV3voZZIvZ1MTHzD/NKZNKlszcsj0oMfwPSxRsx2dPkBgAw8Xk8PbFwHw=
X-Received: by 2002:a05:6512:554:b0:50e:42d7:21fa with SMTP id
h20-20020a056512055400b0050e42d721famr461631lfl.107.1705746050363; Sat, 20
Jan 2024 02:20:50 -0800 (PST)
MIME-Version: 1.0
References: <m14jfbg2yj.fsf@HIDDEN> <83cytwtjiw.fsf@HIDDEN>
In-Reply-To: <83cytwtjiw.fsf@HIDDEN>
From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>
Date: Sat, 20 Jan 2024 10:20:39 +0000
Message-ID: <CALDnm53Z4LppG7AUej2W5qrD_8MyA6YmYvZFFOpK5ULfv62j_w@HIDDEN>
Subject: Re: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 68547
Cc: Eshel Yaron <me@HIDDEN>, 68547 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
On Sat, Jan 20, 2024 at 9:57=E2=80=AFAM Eli Zaretskii <eliz@HIDDEN> wrote:
>
> > Date: Wed, 17 Jan 2024 20:44:04 +0100
> > From: Eshel Yaron via "Bug reports for GNU Emacs,
> > the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
> >
> > Tags: patch
> >
> > The new mode line right alignment requires setting `mode-line-format` t=
o
> > a list that contains (as in `memq`) the symbol
> > `mode-line-format-right-align`. This is a bit brittle, and currently
> > `eldoc-minibuffer-message` modifies `mode-line-format` in a way that
> > happens to break `mode-line-format-right-align`. To see that, set
> > `mode-line-format` to '("" mode-line-format-right-align "foo bar") and
> > then type `M-: (list`. Now ElDoc info appears on the mode line, but
> > "bar" is no longer visible.
> >
> > This patch makes ElDoc modify `mode-line-format` in an equivalent way
> > that avoids messing with `mode-line-format-right-align`.
>
> Thanks.
>
> Jo=C3=A3o, any objections or comments?
I think it looks good. I just think the patch is a little
too newline friendly, i.e. the if can probably fit in a single
line without reaching 80 columns and it'll make it easier to
read.
Jo=C3=A3o
bug-gnu-emacs@HIDDEN:bug#68547; Package emacs.
Full text available.
Received: (at 68547) by debbugs.gnu.org; 20 Jan 2024 09:57:25 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 20 04:57:25 2024
Received: from localhost ([127.0.0.1]:60900 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1rR86P-0004z1-HQ
for submit <at> debbugs.gnu.org; Sat, 20 Jan 2024 04:57:25 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:58976)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <eliz@HIDDEN>) id 1rR86O-0004yo-GH
for 68547 <at> debbugs.gnu.org; Sat, 20 Jan 2024 04:57:24 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
id 1rR86G-0000TX-9C; Sat, 20 Jan 2024 04:57:16 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
Date; bh=wOjj8QgOMz+KPzXIrhIEgU75ddZZYUKU/rZeNJRPXz0=; b=l7o+IUAUsH21xZKZP8lX
8F4uFEqVKTU2qMDyo1+lhZvwpb4o2RbDtLzAaZITmXtcoj2qUqf9O7YLaaqYt7lxfJBM5s8F4L2Uk
PkVc9BeMHkEbrU6LRFWQ6jZnS9xW9be80dYuKVBy2uN70wIxSp6iEErHhYchu28ZqNOSV4uRaJx1H
41EZ3iqdabQJGqVN3TLPKdLnSTSHAc854QlQ98jqZzxO5Jtvt0lOv4VSqr/A2rRaEqwbUUCATruZ+
w8kgbcR4XTN3EgUo05lbHl7ydS2OsQhBGWGstBuTnB5P5nkuwyNC+ymxbOc7Pbc7GXcXSpQIoHCk3
MEWpK4ZmGm3bzg==;
Date: Sat, 20 Jan 2024 11:56:55 +0200
Message-Id: <83cytwtjiw.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Eshel Yaron <me@HIDDEN>, =?iso-8859-1?Q?Jo=E3o_T=E1vora?=
<joaotavora@HIDDEN>
In-Reply-To: <m14jfbg2yj.fsf@HIDDEN> (bug-gnu-emacs@HIDDEN)
Subject: Re: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
References: <m14jfbg2yj.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 68547
Cc: 68547 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)
> Date: Wed, 17 Jan 2024 20:44:04 +0100
> From: Eshel Yaron via "Bug reports for GNU Emacs,
> the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
>
> Tags: patch
>
> The new mode line right alignment requires setting `mode-line-format` to
> a list that contains (as in `memq`) the symbol
> `mode-line-format-right-align`. This is a bit brittle, and currently
> `eldoc-minibuffer-message` modifies `mode-line-format` in a way that
> happens to break `mode-line-format-right-align`. To see that, set
> `mode-line-format` to '("" mode-line-format-right-align "foo bar") and
> then type `M-: (list`. Now ElDoc info appears on the mode line, but
> "bar" is no longer visible.
>
> This patch makes ElDoc modify `mode-line-format` in an equivalent way
> that avoids messing with `mode-line-format-right-align`.
Thanks.
João, any objections or comments?
bug-gnu-emacs@HIDDEN:bug#68547; Package emacs.
Full text available.
Received: (at submit) by debbugs.gnu.org; 17 Jan 2024 19:44:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 17 14:44:18 2024
Received: from localhost ([127.0.0.1]:53541 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1rQBpi-0007Mr-1D
for submit <at> debbugs.gnu.org; Wed, 17 Jan 2024 14:44:18 -0500
Received: from lists.gnu.org ([2001:470:142::17]:42716)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <me@HIDDEN>) id 1rQBpf-0007Mb-Oc
for submit <at> debbugs.gnu.org; Wed, 17 Jan 2024 14:44:16 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <me@HIDDEN>) id 1rQBpY-0003Cc-MB
for bug-gnu-emacs@HIDDEN; Wed, 17 Jan 2024 14:44:08 -0500
Received: from mail.eshelyaron.com ([107.175.124.16] helo=eshelyaron.com)
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <me@HIDDEN>) id 1rQBpX-0004rP-3p
for bug-gnu-emacs@HIDDEN; Wed, 17 Jan 2024 14:44:08 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com;
s=mail; t=1705520646;
bh=7Sfei4ztzVKngsz6oVkXcj/6/zIEMOe0uffJCIADVp4=;
h=From:To:Subject:Date:From;
b=mOOaYG0Wp/iFdOBe5wWE+iQSHsR7L4iwQg/OWoXrbYXAd7oWMP/YKAwP97wzVPaO/
q8P8Iq2oAKwg/V0TIi7bk8Sjo4DHU8wHEWY9AacexBXyOZPBuG55VPFrFyJp7NltNo
m2paJA2CNSN6yYxkGUlnvlAX5iTM/wVmlGwOWEsmP3s6sDUOz6f5ZPnixhLFHopFe1
dC9oOZWDZQYB4Iu7RVgQ+UbiSsvXELbQtKZrw68eSQkFJ4EqSIIUG5lsc6Jwh/luWh
zR9YeQYgSc9ucj8p88RIzkzWThJI6b8T31HlX/NVqzl4Sc0tjgFpjyMgOshufBEj0j
ix4JfM/Gsdplw==
From: Eshel Yaron <me@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
X-Hashcash: 1:20:240117:bug-gnu-emacs@HIDDEN::5LAWlTBilvOqUJ7p:05no
Date: Wed, 17 Jan 2024 20:44:04 +0100
Message-ID: <m14jfbg2yj.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
Received-SPF: pass client-ip=107.175.124.16; envelope-from=me@HIDDEN;
helo=eshelyaron.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001,
SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.9 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.1 (/)
--=-=-=
Content-Type: text/plain
Tags: patch
The new mode line right alignment requires setting `mode-line-format` to
a list that contains (as in `memq`) the symbol
`mode-line-format-right-align`. This is a bit brittle, and currently
`eldoc-minibuffer-message` modifies `mode-line-format` in a way that
happens to break `mode-line-format-right-align`. To see that, set
`mode-line-format` to '("" mode-line-format-right-align "foo bar") and
then type `M-: (list`. Now ElDoc info appears on the mode line, but
"bar" is no longer visible.
This patch makes ElDoc modify `mode-line-format` in an equivalent way
that avoids messing with `mode-line-format-right-align`.
--=-=-=
Content-Type: text/patch
Content-Disposition: attachment;
filename=0001-Fix-mode-line-format-right-align-with-ElDoc.patch
From 5d8568e00c2c36ce2fbc7554635868826ec5009a Mon Sep 17 00:00:00 2001
From: Eshel Yaron <me@HIDDEN>
Date: Mon, 1 Jan 2024 22:14:59 +0100
Subject: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
* lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message): Avoid nesting
'mode-line-format', since that breaks 'mode-line-format-right-align'.
---
lisp/emacs-lisp/eldoc.el | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/lisp/emacs-lisp/eldoc.el b/lisp/emacs-lisp/eldoc.el
index 4ee825136c9..a4faa25fd31 100644
--- a/lisp/emacs-lisp/eldoc.el
+++ b/lisp/emacs-lisp/eldoc.el
@@ -312,9 +312,13 @@ eldoc-minibuffer-message
(not (and (listp mode-line-format)
(assq 'eldoc-mode-line-string mode-line-format))))
(setq mode-line-format
- (list "" '(eldoc-mode-line-string
- (" " eldoc-mode-line-string " "))
- mode-line-format)))
+ (funcall
+ (if (listp mode-line-format)
+ #'append
+ #'list)
+ (list "" '(eldoc-mode-line-string
+ (" " eldoc-mode-line-string " ")))
+ mode-line-format)))
(setq eldoc-mode-line-string
(when (stringp format-string)
(apply #'format-message format-string args)))
--
2.42.0
--=-=-=--
Eshel Yaron <me@HIDDEN>:bug-gnu-emacs@HIDDEN.
Full text available.bug-gnu-emacs@HIDDEN:bug#68547; Package emacs.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.