X-Loop: help-debbugs@HIDDEN
Subject: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
Resent-From: Eshel Yaron <me@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 17 Jan 2024 19:45:02 +0000
Resent-Message-ID: <handler.68547.B.170552065828329 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 68547
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: 68547 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.170552065828329
(code B ref -1); Wed, 17 Jan 2024 19:45:02 +0000
Received: (at submit) by debbugs.gnu.org; 17 Jan 2024 19:44:18 +0000
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>
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-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
--=-=-=--
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Eshel Yaron <me@HIDDEN> Subject: bug#68547: Acknowledgement ([PATCH] ; Fix 'mode-line-format-right-align' with ElDoc) Message-ID: <handler.68547.B.170552065828329.ack <at> debbugs.gnu.org> References: <m14jfbg2yj.fsf@HIDDEN> X-Gnu-PR-Message: ack 68547 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: patch Reply-To: 68547 <at> debbugs.gnu.org Date: Wed, 17 Jan 2024 19:45:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-gnu-emacs@HIDDEN If you wish to submit further information on this problem, please send it to 68547 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 68547: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D68547 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN
Subject: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 20 Jan 2024 09:58:01 +0000
Resent-Message-ID: <handler.68547.B68547.170574464519163 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 68547
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Eshel Yaron <me@HIDDEN>, =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= <joaotavora@HIDDEN>
Cc: 68547 <at> debbugs.gnu.org
Received: via spool by 68547-submit <at> debbugs.gnu.org id=B68547.170574464519163
(code B ref 68547); Sat, 20 Jan 2024 09:58:01 +0000
Received: (at 68547) by debbugs.gnu.org; 20 Jan 2024 09:57:25 +0000
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>
In-Reply-To: <m14jfbg2yj.fsf@HIDDEN> (bug-gnu-emacs@HIDDEN)
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-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?
X-Loop: help-debbugs@HIDDEN
Subject: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
Resent-From: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= <joaotavora@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 20 Jan 2024 10:21:02 +0000
Resent-Message-ID: <handler.68547.B68547.170574606010625 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 68547
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Eli Zaretskii <eliz@HIDDEN>
Cc: Eshel Yaron <me@HIDDEN>, 68547 <at> debbugs.gnu.org
Received: via spool by 68547-submit <at> debbugs.gnu.org id=B68547.170574606010625
(code B ref 68547); Sat, 20 Jan 2024 10:21:02 +0000
Received: (at 68547) by debbugs.gnu.org; 20 Jan 2024 10:21:00 +0000
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?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= <joaotavora@HIDDEN>
Date: Sat, 20 Jan 2024 10:20:39 +0000
Message-ID: <CALDnm53Z4LppG7AUej2W5qrD_8MyA6YmYvZFFOpK5ULfv62j_w@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
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
X-Loop: help-debbugs@HIDDEN
Subject: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
Resent-From: Eshel Yaron <me@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 20 Jan 2024 10:59:02 +0000
Resent-Message-ID: <handler.68547.B68547.17057483132596 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 68547
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= <joaotavora@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, 68547 <at> debbugs.gnu.org
Received: via spool by 68547-submit <at> debbugs.gnu.org id=B68547.17057483132596
(code B ref 68547); Sat, 20 Jan 2024 10:59:02 +0000
Received: (at 68547) by debbugs.gnu.org; 20 Jan 2024 10:58:33 +0000
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>
In-Reply-To: <CALDnm53Z4LppG7AUej2W5qrD_8MyA6YmYvZFFOpK5ULfv62j_w@HIDDEN>
("=?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?="'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-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
--=-=-=--
X-Loop: help-debbugs@HIDDEN
Subject: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
Resent-From: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= <joaotavora@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 20 Jan 2024 12:03:01 +0000
Resent-Message-ID: <handler.68547.B68547.170575213030124 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 68547
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Eshel Yaron <me@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, 68547 <at> debbugs.gnu.org
Received: via spool by 68547-submit <at> debbugs.gnu.org id=B68547.170575213030124
(code B ref 68547); Sat, 20 Jan 2024 12:03:01 +0000
Received: (at 68547) by debbugs.gnu.org; 20 Jan 2024 12:02:10 +0000
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?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= <joaotavora@HIDDEN>
Date: Sat, 20 Jan 2024 12:01:46 +0000
Message-ID: <CALDnm50RA9ph-Dm8sWy7vzBm7y_0qqauM4AU6V7iB6FKgxeTXw@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
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.
X-Loop: help-debbugs@HIDDEN
Subject: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
Resent-From: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= <joaotavora@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 20 Jan 2024 13:56:01 +0000
Resent-Message-ID: <handler.68547.B68547.17057589461441 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 68547
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Eshel Yaron <me@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, 68547 <at> debbugs.gnu.org
Received: via spool by 68547-submit <at> debbugs.gnu.org id=B68547.17057589461441
(code B ref 68547); Sat, 20 Jan 2024 13:56:01 +0000
Received: (at 68547) by debbugs.gnu.org; 20 Jan 2024 13:55:46 +0000
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?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= <joaotavora@HIDDEN>
Date: Sat, 20 Jan 2024 13:55:21 +0000
Message-ID: <CALDnm50=ewmdLiScARL_akC57NZ9Y4qkSupE49fa9o3OqYCw+g@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
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
X-Loop: help-debbugs@HIDDEN
Subject: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
Resent-From: Eshel Yaron <me@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 20 Jan 2024 15:34:01 +0000
Resent-Message-ID: <handler.68547.B68547.170576482514779 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 68547
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= <joaotavora@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, 68547 <at> debbugs.gnu.org
Received: via spool by 68547-submit <at> debbugs.gnu.org id=B68547.170576482514779
(code B ref 68547); Sat, 20 Jan 2024 15:34:01 +0000
Received: (at 68547) by debbugs.gnu.org; 20 Jan 2024 15:33:45 +0000
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>
In-Reply-To: <CALDnm50=ewmdLiScARL_akC57NZ9Y4qkSupE49fa9o3OqYCw+g@HIDDEN>
("=?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?="'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-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 :(
X-Loop: help-debbugs@HIDDEN
Subject: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
Resent-From: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= <joaotavora@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 20 Jan 2024 18:09:02 +0000
Resent-Message-ID: <handler.68547.B68547.170577413932744 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 68547
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Eshel Yaron <me@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, 68547 <at> debbugs.gnu.org
Received: via spool by 68547-submit <at> debbugs.gnu.org id=B68547.170577413932744
(code B ref 68547); Sat, 20 Jan 2024 18:09:02 +0000
Received: (at 68547) by debbugs.gnu.org; 20 Jan 2024 18:08:59 +0000
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?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= <joaotavora@HIDDEN>
Date: Sat, 20 Jan 2024 18:08:35 +0000
Message-ID: <CALDnm50S6F3JkeAJUcrbL8X3BCUMC=5wCKTZ6vwmCuJgZ0P7oQ@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
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
X-Loop: help-debbugs@HIDDEN
Subject: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 20 Jan 2024 18:17:01 +0000
Resent-Message-ID: <handler.68547.B68547.17057746141129 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 68547
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= <joaotavora@HIDDEN>
Cc: me@HIDDEN, 68547 <at> debbugs.gnu.org
Received: via spool by 68547-submit <at> debbugs.gnu.org id=B68547.17057746141129
(code B ref 68547); Sat, 20 Jan 2024 18:17:01 +0000
Received: (at 68547) by debbugs.gnu.org; 20 Jan 2024 18:16:54 +0000
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>
In-Reply-To: <CALDnm50S6F3JkeAJUcrbL8X3BCUMC=5wCKTZ6vwmCuJgZ0P7oQ@HIDDEN>
(message from =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= on Sat, 20 Jan 2024 18:08:35
+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>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
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.)
X-Loop: help-debbugs@HIDDEN
Subject: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
Resent-From: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= <joaotavora@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 20 Jan 2024 21:13:01 +0000
Resent-Message-ID: <handler.68547.B68547.170578516531022 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 68547
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Eli Zaretskii <eliz@HIDDEN>
Cc: me@HIDDEN, 68547 <at> debbugs.gnu.org
Received: via spool by 68547-submit <at> debbugs.gnu.org id=B68547.170578516531022
(code B ref 68547); Sat, 20 Jan 2024 21:13:01 +0000
Received: (at 68547) by debbugs.gnu.org; 20 Jan 2024 21:12:45 +0000
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?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= <joaotavora@HIDDEN>
Date: Sat, 20 Jan 2024 21:12:22 +0000
Message-ID: <CALDnm51n=XFAmcFfzmSrbS5SbP=_Wsbh9SYL62KyPBhW_7wOtw@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
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
X-Loop: help-debbugs@HIDDEN
Subject: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 21 Jan 2024 05:20:01 +0000
Resent-Message-ID: <handler.68547.B68547.17058143707530 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 68547
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= <joaotavora@HIDDEN>
Cc: me@HIDDEN, 68547 <at> debbugs.gnu.org
Received: via spool by 68547-submit <at> debbugs.gnu.org id=B68547.17058143707530
(code B ref 68547); Sun, 21 Jan 2024 05:20:01 +0000
Received: (at 68547) by debbugs.gnu.org; 21 Jan 2024 05:19:30 +0000
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>
In-Reply-To: <CALDnm51n=XFAmcFfzmSrbS5SbP=_Wsbh9SYL62KyPBhW_7wOtw@HIDDEN>
(message from =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= on 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>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -0.0 (/)
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.
X-Loop: help-debbugs@HIDDEN
Subject: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
Resent-From: Eshel Yaron <me@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 21 Jan 2024 08:35:01 +0000
Resent-Message-ID: <handler.68547.B68547.170582608229439 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 68547
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= <joaotavora@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, 68547 <at> debbugs.gnu.org
Received: via spool by 68547-submit <at> debbugs.gnu.org id=B68547.170582608229439
(code B ref 68547); Sun, 21 Jan 2024 08:35:01 +0000
Received: (at 68547) by debbugs.gnu.org; 21 Jan 2024 08:34:42 +0000
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>
In-Reply-To: <CALDnm51n=XFAmcFfzmSrbS5SbP=_Wsbh9SYL62KyPBhW_7wOtw@HIDDEN>
("=?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?="'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-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
X-Loop: help-debbugs@HIDDEN
Subject: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
Resent-From: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= <joaotavora@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 21 Jan 2024 08:53:01 +0000
Resent-Message-ID: <handler.68547.B68547.170582717531366 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 68547
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Eshel Yaron <me@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, 68547 <at> debbugs.gnu.org
Received: via spool by 68547-submit <at> debbugs.gnu.org id=B68547.170582717531366
(code B ref 68547); Sun, 21 Jan 2024 08:53:01 +0000
Received: (at 68547) by debbugs.gnu.org; 21 Jan 2024 08:52:55 +0000
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?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= <joaotavora@HIDDEN>
Date: Sun, 21 Jan 2024 08:52:33 +0000
Message-ID: <CALDnm52KpypEO-gh4rE8ncmdO9==jSa3f1fFw_Lo1zwZNdhUYg@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
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
X-Loop: help-debbugs@HIDDEN
Subject: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
Resent-From: Eshel Yaron <me@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 21 Jan 2024 13:21:01 +0000
Resent-Message-ID: <handler.68547.B68547.17058432365493 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 68547
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= <joaotavora@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, 68547 <at> debbugs.gnu.org
Received: via spool by 68547-submit <at> debbugs.gnu.org id=B68547.17058432365493
(code B ref 68547); Sun, 21 Jan 2024 13:21:01 +0000
Received: (at 68547) by debbugs.gnu.org; 21 Jan 2024 13:20:36 +0000
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>
In-Reply-To: <CALDnm52KpypEO-gh4rE8ncmdO9==jSa3f1fFw_Lo1zwZNdhUYg@HIDDEN>
("=?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?="'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-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?
X-Loop: help-debbugs@HIDDEN
Subject: bug#68547: [PATCH] ; Fix 'mode-line-format-right-align' with ElDoc
Resent-From: Stefan Kangas <stefankangas@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 06 Mar 2025 03:32:01 +0000
Resent-Message-ID: <handler.68547.B68547.174123187418419 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 68547
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= <joaotavora@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, Eshel Yaron <me@HIDDEN>, 68547 <at> debbugs.gnu.org
Received: via spool by 68547-submit <at> debbugs.gnu.org id=B68547.174123187418419
(code B ref 68547); Thu, 06 Mar 2025 03:32:01 +0000
Received: (at 68547) by debbugs.gnu.org; 6 Mar 2025 03:31:14 +0000
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>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
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")
Received: (at control) by debbugs.gnu.org; 6 Mar 2025 03:31:42 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 05 22:31:42 2025 Received: from localhost ([127.0.0.1]:40690 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tq1xW-0004ny-4D for submit <at> debbugs.gnu.org; Wed, 05 Mar 2025 22:31:42 -0500 Received: from mail-ed1-x532.google.com ([2a00:1450:4864:20::532]:44245) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <stefankangas@HIDDEN>) id 1tq1xS-0004nc-G3 for control <at> debbugs.gnu.org; Wed, 05 Mar 2025 22:31:38 -0500 Received: by mail-ed1-x532.google.com with SMTP id 4fb4d7f45d1cf-5e095d47a25so292273a12.0 for <control <at> debbugs.gnu.org>; Wed, 05 Mar 2025 19:31:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741231892; x=1741836692; darn=debbugs.gnu.org; h=to:subject:message-id:date:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=e0TxZ9Pf1hdlS+gh1ZM5rXka83nw6q3UrZNrW7WfSFI=; b=fdQMQ31E+moggmBnkuyOKbXKRv37M6yxjui5wxByfqQRplpSer4Cjqf0zyE32FUZUy gEaQUiktKIipXWxI0OZ4ePKnRxTX8X54NdHn8NVqO/+zoP/Z1fvW6FMCpeDElC3ZmJBJ mhxEml0s4LzNZ7bszjJGleBBTCUvXbH+BAJ4kHiUmmfxOvnLNmAu+xxqSxWRpq1a83+S EM+BMWRp1XndIUw0SodlbWZdWDaVKHCc3dWFy3RXXQViHHrFQZwhEHiNYX7CdMv6UBWS UaO+e3uUuXBcJ2S5e8imP1pO4uilXub4QSfIm3xS028O94jj4G0XOhPECR5VjDIQLRZa un7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741231892; x=1741836692; h=to:subject:message-id:date:mime-version:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=e0TxZ9Pf1hdlS+gh1ZM5rXka83nw6q3UrZNrW7WfSFI=; b=YS0NnC7c9C+NjBY8FdfacBsqQHhc9zpBhaSj+zxPP09FUa8d9JOiREXLxn4sYwsnbI V7lbk6aytc08eqTXRBKgDtZ4lpbiPxlRl86N6HoH4l5cuBhyZT83ueM7mUHAMwfT7rnz 3jv5ky6iCxJDx7Eky4FTRUWDTdZM84raBvcBOWTLWqptjKwPUkpi/3e231u5iu97Wb1p ZEyYvmrBIIY3KbotRDRw5rFhKREfUcdA7PeeqVfvH1FtizqbUTvUUzleODoD+cJFQPv3 TwNhFFFAfFVyltXjTK+z0kz7yzFptkotcEQ5SVhDWnogDQyiiuxDkijTs7Q7j0Q7h25N abPA== X-Gm-Message-State: AOJu0YwJ3PjJwotarI3JEpnOLKgRELXX+/COQNeiP4S9nizaxyZXOZ9E SDdmo6j5Iyt6SACeuVbQofrKGWEjkqldvB9nYCAnRSNi7Kc2fuSHJxgt20VKexRSjIY8yeCqyEU zd8Vf5+v/nfmHQC7H564If3wHd19oObOn X-Gm-Gg: ASbGncvivM9aJs0bAdWcbDI/L1M+mUkiTr5taMzEhZzsitgv5Uo2I+SPsmsOyQ8xXXR wITFVC+0SfLO3SYs+IcxQtpQQQr/m379bp0n6sgmymKh1oaeIVgQHUcnj2ytR1EVFGozS1NCobT /nt867hyiCM4wOj7rtrg1ixUEA4g== X-Google-Smtp-Source: AGHT+IE6L9S4PXc4uTp7cTPT0QRY0v93pT+CsCCrGCZOnjr7U6A3flCLwUb6XNXj3xCASNcUXckUFVCNnzhzP+9lBjI= X-Received: by 2002:a05:6402:530d:b0:5e5:966b:d3ef with SMTP id 4fb4d7f45d1cf-5e59f3f1f2dmr4937180a12.16.1741231891833; Wed, 05 Mar 2025 19:31:31 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Wed, 5 Mar 2025 19:31:31 -0800 From: Stefan Kangas <stefankangas@HIDDEN> MIME-Version: 1.0 Date: Wed, 5 Mar 2025 19:31:31 -0800 X-Gm-Features: AQ5f1Jp-aKtwnK4RTutNiVMdYEEWRNnXJiCpvQsejRRYFqv64QA_ZEDWgNBTJvk Message-ID: <CADwFkmnWNUL1ONVyXzJKJzPPOhEj1vx6_yoedr9SWDERUKFBhA@HIDDEN> Subject: control message for bug #68547 To: control <at> debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control 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 (-) severity 68547 minor quit
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.