From unknown Sun Aug 10 09:46:06 2025
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.509 (Entity 5.509)
Content-Type: text/plain; charset=utf-8
From: bug#77544 <77544@debbugs.gnu.org>
To: bug#77544 <77544@debbugs.gnu.org>
Subject: Status: (WIP) [PATCH] Prettify page separators.
Reply-To: bug#77544 <77544@debbugs.gnu.org>
Date: Sun, 10 Aug 2025 16:46:06 +0000
retitle 77544 (WIP) [PATCH] Prettify page separators.
reassign 77544 emacs
submitter 77544 Elijah Gabe P=C3=A9rez
severity 77544 normal
tag 77544 patch
thanks
From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 05 01:01:17 2025
Received: (at submit) by debbugs.gnu.org; 5 Apr 2025 05:01:17 +0000
Received: from localhost ([127.0.0.1]:41061 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1u0vee-00007P-UD
for submit@debbugs.gnu.org; Sat, 05 Apr 2025 01:01:17 -0400
Received: from lists.gnu.org ([2001:470:142::17]:46030)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from )
id 1u0veb-000077-Nj
for submit@debbugs.gnu.org; Sat, 05 Apr 2025 01:01:14 -0400
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 )
id 1u0veW-0006G6-6J
for bug-gnu-emacs@gnu.org; Sat, 05 Apr 2025 01:01:08 -0400
Received: from mail-ot1-x343.google.com ([2607:f8b0:4864:20::343])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.90_1) (envelope-from )
id 1u0veU-00045J-C3
for bug-gnu-emacs@gnu.org; Sat, 05 Apr 2025 01:01:07 -0400
Received: by mail-ot1-x343.google.com with SMTP id
46e09a7af769-72bc3987a05so1464943a34.1
for ; Fri, 04 Apr 2025 22:01:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1743829264; x=1744434064; darn=gnu.org;
h=mime-version:message-id:date:subject:to:from:from:to:cc:subject
:date:message-id:reply-to;
bh=9LIIq7v1p6xLhq1WZ+RncoHVuIWEketpuAheoYkeIeE=;
b=K1PRRtaa95zJ2C/GZp3cGE0ueCXD+viMnPE/Asxs1Hsrp3j10rT34YSBuXl5fLJ/Er
ZlFwknwCROH7Y2GG43n5vEuH+X8h93Jl3pt8t9QCDUgL8sOiuZ7Mdup3wlAPwUoMDa/X
e3WfCLSshI1OpLhO4NgCaaNSs88L25CNT5oq2wNIVdQ5Suqf5ezGKSYo2bc/WyrKAWLa
cB0WVVQ7oAmpB3xKtmABkHD1Z9cGv2OpKGxFzVbm7Uo1TOC7o00LtuApuF2hQnAlagFL
K3gA4GHX1ULb5WEd+9sXc9qyQWeEAe/ykK5gV0ZaSko6P5VPYvLD/+azNSgPnJ7PjkwH
yL6Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1743829264; x=1744434064;
h=mime-version:message-id:date:subject:to:from:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=9LIIq7v1p6xLhq1WZ+RncoHVuIWEketpuAheoYkeIeE=;
b=XMzqzR3VvkgR8HADlOBYD2DbOGIsRoBfSxEbjlWY3Lx7X4dCZNIxnFW7+lF0fnU75I
wwP/bVlI1Fh69dTe7DZIjETJh1iOQUGrYkAFN3PFQ5W6YLCklllDYzvC5hZ4646GZfvT
dlhKIKgdX60mmURxFdZyuPtaIoOFeqlCOb8KYcc5+xUsR8C3YOEdSNEkOsQZ5+umnGoK
yDmyl+1Sb7CT8Z0K/D/sOaKicrFz338q3S4e2y4FkJV7Y6HJL/Mdqs6hH8djrWVWM2nA
/TRXaADdpZ5NQJ1LfZAMGieFPV6BJN0V4LNRqi6qhV/FD8Mdkl0EBSsNrd8MwtnS8lJ9
FbLA==
X-Gm-Message-State: AOJu0YzqaZJAoWw0Yfz2rl7+ad+l67wvBO/Nk7ezyuNQ6MPbiCFlJuEn
SWHcOiq4clv+Xvp6hvO1E6aSifWXK1VUkrW4BC6AjhhdD+hQ+ajArUcBuTPf
X-Gm-Gg: ASbGncvpJsIKWErGjPh4Sz7+bVzatQHfZuAF2i4k8HJkkwvlR7pX9Lr3TxeDbMbo4Va
3NxkC6ZBm8qe+Z2XJso3gKJUWImTOaN0f4XKU7+7stOrSdh3o4JDEyn1SER37C0wkjspk21Z47k
mvMaHnNFIl73FfaTbvn92X4bLSIsqioZ6tp1k3DxlfMenygPOD3Sgb01f/OdbSQOGKW4+zKSvj7
AG6SdCDtVG1ex8Os6mODoKqOwTPhebpNLUCPYggl7uziQZh9BatftlyF1wq6fL+1t2pNP30isv1
AklmyVxC5afz
X-Google-Smtp-Source: AGHT+IHmS4NLTyS6HkuTpNUHkqyAbKvK7sxA6P2sHxA1xLPI27AmNDL/XaVRBp/Z7YQXc0O1iY6Qiw==
X-Received: by 2002:a05:6830:14c1:b0:727:3115:4e78 with SMTP id
46e09a7af769-72e2e1f98c9mr5872372a34.13.1743829264110;
Fri, 04 Apr 2025 22:01:04 -0700 (PDT)
Received: from fedora ([2806:10ae:e:79da::1]) by smtp.gmail.com with ESMTPSA id
46e09a7af769-72e30529b4asm953452a34.36.2025.04.04.22.01.03
for
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Fri, 04 Apr 2025 22:01:03 -0700 (PDT)
From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?=
To: bug-gnu-emacs@gnu.org
Subject: (WIP) [PATCH] Prettify page separators.
X-Debbugs-Cc:
Date: Fri, 04 Apr 2025 23:01:02 -0600
Message-ID: <87bjtbyzg1.fsf@gmail.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
Received-SPF: pass client-ip=2607:f8b0:4864:20::343;
envelope-from=eg642616@gmail.com; helo=mail-ot1-x343.google.com
X-Spam_score_int: -17
X-Spam_score: -1.8
X-Spam_bar: -
X-Spam_report: (-1.8 / 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,
FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001,
RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.2 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
has NOT identified this incoming email as spam. The original
message has been attached to this so you can view it or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: Tags: patch This feature prettify the page separator
character
(^L) with a horizontal line (to end of buffer) only if the character is at
beginning of line. Unlike popular packages like page-break-lines and
form-feed(-st),
this one is written in C and does not present performance problems (I hope).
Content analysis details: (1.2 points, 10.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
no trust [2001:470:142:0:0:0:0:17 listed in] [list.dnswl.org]
0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
in digit (eg642616[at]gmail.com)
-0.0 SPF_HELO_PASS SPF: HELO matches SPF record
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
provider (eg642616[at]gmail.com)
1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: 0.2 (/)
--=-=-=
Content-Type: text/plain
Tags: patch
This feature prettify the page separator character (^L) with
a horizontal line (to end of buffer) only if the character
is at beginning of line.
Unlike popular packages like page-break-lines and form-feed(-st), this
one is written in C and does not present performance problems (I hope).
This package tries to be close to page-break-lines and be an alternative
to make-separator-line.
This partially works, however there are a few bugs that I can't find a
solution for:
- It won't display the characters inserted in front.
I want to make it similar to display-fill-column, that only
insert the horizontal line character if the row is empty.
- For some reason it inserts newlines after inserting the character.
- The highlighting stops when inserting or deleting newlines from
previous or next line.
I would like to hear your suggestions.
Thanks.
--=-=-=
Content-Type: text/patch
Content-Disposition: attachment;
filename=0001-Prettify-page-separators.-bug.patch
>From 1e058cc212fd5b46b2aed60b3ef3846f7a89bb15 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?El=C3=ADas=20Gabriel=20P=C3=A9rez?=
Date: Fri, 4 Apr 2025 22:17:23 -0600
Subject: [PATCH] Prettify page separators. (bug#)
Prettify page separator characters (^L) with a horizontal line.
* src/xdisp.c (get_next_display_element): TODO:
---
src/xdisp.c | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/src/xdisp.c b/src/xdisp.c
index c396b213b92..9d5056d2bce 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -8430,6 +8430,34 @@ get_next_display_element (struct it *it)
int lface_id = 0;
int escape_glyph;
+ if (c == '\f' && it->current_x == it->first_visible_x)
+ {
+ const int save_face_id = it->face_id;
+ const int save_char = it->char_to_display;
+ const int save_current_x = it->current_x;
+ const int save_ascent = it->ascent;
+ const int save_descent = it->descent;
+
+ face_id =
+ merge_faces (it->w, Qtrailing_whitespace, 0, it->face_id);
+ XSETINT (it->ctl_chars[0], 0);
+ ctl_len = 0;
+
+ it->char_to_display = '-';
+ it->face_id = face_id;
+ for ( ; it->current_x - it->end_charpos <= it->last_visible_x; it->current_x++)
+ {
+ PRODUCE_GLYPHS (it);
+ }
+
+ it->current_x = save_current_x;
+ it->face_id = save_face_id;
+ it->char_to_display = save_char;
+ it->ascent = save_ascent;
+ it->descent = save_descent;
+ goto display_control;
+ }
+
/* Handle control characters with ^. */
if (ASCII_CHAR_P (c) && it->ctl_arrow_p)
--
2.49.0
--=-=-=
Content-Type: text/plain
--
- E.G via GNU Emacs and Org.
--=-=-=--
From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 05 03:40:41 2025
Received: (at 77544) by debbugs.gnu.org; 5 Apr 2025 07:40:41 +0000
Received: from localhost ([127.0.0.1]:41332 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1u0y8u-0002Rl-NL
for submit@debbugs.gnu.org; Sat, 05 Apr 2025 03:40:41 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:43614)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from ) id 1u0y8r-0002RS-OQ
for 77544@debbugs.gnu.org; Sat, 05 Apr 2025 03:40:38 -0400
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 )
id 1u0y8m-0002s5-Ax; Sat, 05 Apr 2025 03:40:32 -0400
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=iUpTfBMBcaii72JieraRiyPfkNwsOPHSzXOoGKuiJpM=; b=SnmKq/8RXtkwD+r/gW9S
blfP7pn7FE+2hPYuFyvialMOPhyTXGsPOIXUnlR6FglNmW15BOAxhiaM3OwIIpaVJytsT2uSNc6yh
/O5MXk07CrlRVjEjWyATuLLsVTWIf5M9eDJefV5fysspXgowCTmHQJ8qQtyrXqlbI72gSAL0Zl8sp
y5dfzCjgDIp+vBLe8qJG90n+CByVjR1keRAaxLeHD+0E3/06VjeM/qYNoeb+8gM3bUdAsURC0HrOM
S2nuSZeFAao1v19uAXSP7AWkywsHHFzvPU8ZRwEo2BEY7nUVvD4+blI8+pITaR8/rtxLRDN3Mrmp1
L37alYY9s3aFEg==;
Date: Sat, 05 Apr 2025 10:40:25 +0300
Message-Id: <86ldsfxdhy.fsf@gnu.org>
From: Eli Zaretskii
To: Elijah Gabe =?utf-8?Q?P=C3=A9rez?= ,
=?utf-8?Q?Gerd_M=C3=B6llmann?=
In-Reply-To: <87bjtbyzg1.fsf@gmail.com> (message from Elijah Gabe
=?utf-8?Q?P=C3=A9rez?= on Fri, 04 Apr 2025 23:01:02 -0600)
Subject: Re: bug#77544: (WIP) [PATCH] Prettify page separators.
References: <87bjtbyzg1.fsf@gmail.com>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77544
Cc: 77544@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -3.3 (---)
> From: Elijah Gabe Pérez
> Date: Fri, 04 Apr 2025 23:01:02 -0600
>
> This feature prettify the page separator character (^L) with
> a horizontal line (to end of buffer) only if the character
> is at beginning of line.
>
> Unlike popular packages like page-break-lines and form-feed(-st), this
> one is written in C and does not present performance problems (I hope).
>
> This package tries to be close to page-break-lines and be an alternative
> to make-separator-line.
>
> This partially works, however there are a few bugs that I can't find a
> solution for:
>
> - It won't display the characters inserted in front.
> I want to make it similar to display-fill-column, that only
> insert the horizontal line character if the row is empty.
> - For some reason it inserts newlines after inserting the character.
> - The highlighting stops when inserting or deleting newlines from
> previous or next line.
>
> I would like to hear your suggestions.
Thanks, please see a fewe comments below.
> --- a/src/xdisp.c
> +++ b/src/xdisp.c
> @@ -8430,6 +8430,34 @@ get_next_display_element (struct it *it)
> int lface_id = 0;
> int escape_glyph;
>
> + if (c == '\f' && it->current_x == it->first_visible_x)
IMO, this condition is incorrect. You should test for the previous
character being a newline. The it->first_visible_x condition will be
wrong in a continuation line, when the window is hscrolled, and when
display-line-numbers-mode is turned on, as well as in some other
situations (line/wrap-prefix etc.).
> + {
> + const int save_face_id = it->face_id;
> + const int save_char = it->char_to_display;
> + const int save_current_x = it->current_x;
> + const int save_ascent = it->ascent;
> + const int save_descent = it->descent;
> +
> + face_id =
> + merge_faces (it->w, Qtrailing_whitespace, 0, it->face_id);
> + XSETINT (it->ctl_chars[0], 0);
> + ctl_len = 0;
> +
> + it->char_to_display = '-';
> + it->face_id = face_id;
> + for ( ; it->current_x - it->end_charpos <= it->last_visible_x; it->current_x++)
This condition is also incorrect, IMO: it->current_x is the pixel
coordinate, whereas it->end_charpos is a character position in the
buffer, so you cannot meaningfully subtract them. Also, I think this
will be incorrect when the window has display margins.
The right way to figure out the usable width is to call the function
window_box_width or window_box_right_offset.
These wrong conditions are probably the reasons for at least part of
the problems you see with this patch.
> + {
> + PRODUCE_GLYPHS (it);
> + }
I think it's not a good idea to call PRODUCE_GLYPHS inside
get_next_display_element. And in any case, this implementation is
unnecessarily complicated, because we should probably use the display
vector instead. The only complication here is that the number of
glyphs in the display vector cannot be the one you need, since we need
to produce the number of glyphs according to the window width. So we
will need some special flag in the iterator object to keep producing
glyphs from the display vector until we hit the right edge of the
window's text area.
Alternatively, we could implement this entirely in the
terminal-specific back-end of the display engine (xterm.c, w32term.c,
etc.), where we could detect the "^L" glyph sequence and replace it
with a horizontal line of a suitable width and thickness. That would
allow us to produce a separator that is much better-looking than just
showing a long line of dashes.
In any case, this must be an optional feature, so we will need a user
option to control it, by default off.
Adding Gerd in case he has ideas, suggestions, or further comments.
Thanks for working on this.
From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 05 04:53:19 2025
Received: (at 77544) by debbugs.gnu.org; 5 Apr 2025 08:53:19 +0000
Received: from localhost ([127.0.0.1]:41478 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1u0zHD-0005n5-3X
for submit@debbugs.gnu.org; Sat, 05 Apr 2025 04:53:19 -0400
Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]:44238)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from )
id 1u0zH9-0005mm-Am
for 77544@debbugs.gnu.org; Sat, 05 Apr 2025 04:53:16 -0400
Received: by mail-wm1-x32f.google.com with SMTP id
5b1f17b1804b1-43cf58eea0fso14278035e9.0
for <77544@debbugs.gnu.org>; Sat, 05 Apr 2025 01:53:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1743843188; x=1744447988; darn=debbugs.gnu.org;
h=mime-version:user-agent:message-id:date:references:in-reply-to
:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=wmZFKvXqWRFeGh6MOveeFw9ko03hSz8L48c9rXemjg0=;
b=RxOIDJBrxpEljg7WyIrfAK596ITaLZk+oXs7lGyZ7VgXNAtAUJVjjRW8ws2sTMF+jO
xlvzHVp85QiBOWPF37DB8A+jBk8AH+t5kg67bYKir1IdqZo4l0EF5a5gRCr3GaUsgGbh
qpfy2qIOxVHWMRqsyGuBWoQVKH4+nxPD48CudnDfl2a/XWOeHHA/uGacUU7DHdgyUAZI
9OMNlr3bA/siVbeXV13P1YR0DqWhtDLVqrfhhvpNteeiesROPw3gO72KcfR4Wm+w5KKs
ENc7KEl8YWTcN+sMfa3gwt2xBxIgSk2cF423EQJOBjw8hWgGAjpAgimS/OradVRI0zzs
maOA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1743843188; x=1744447988;
h=mime-version:user-agent:message-id:date:references:in-reply-to
:subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=wmZFKvXqWRFeGh6MOveeFw9ko03hSz8L48c9rXemjg0=;
b=ha6xr6oNwt9AI5nF73CV1ME5Gvr9cQ5g2RsMeLKPK9YSJFqTo3p3PzD3vwzNAJWL4c
q8Eg6r8PldIQsEg30WHLSo7rzOwZ4gcRGzWOqaW+pHecgweuQ0gA5Ca77DbdHvamn0Ju
h3fIKFQDbLGX65RxQ/yT84Z5rpk9/BGdYFeLji2MoIJkPSIvFzMfhGqoOkKenYnFxkkJ
4V2Ot3XoB5nT15I3CEz2nq+PsKyZJyw7Ybhwy4ChGa8lVn7FOK98IbxCfofNGfDUgncX
WriNxUJ4Q5lw21qYCDWR0A/Qm3k6jzP+BM1NupdziIX9T+jZVKypZXDx4atw23JK1O86
o0wA==
X-Forwarded-Encrypted: i=1;
AJvYcCXa1rRS7T0LOaY/owTIlabUn/KyMI6fdkVrolIQ6rzwclyp49V/YY7Lm7FS/kCZPfMdVX/s0Q==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YyD/1kfRv8SfUZt2ehkWq/21tfMI5vTfpXODECsfMN/op2RBM9+
KNR1w4/IDHSIM66GYK+SHYM/G9xrLDhOb4pIx2QVFHB918ybshqIJYRACQ==
X-Gm-Gg: ASbGncsIkNDdosm1pq9w8gKu1do51dJ82dPH8yfAjpDsHrEJfV3aTHgS4OqtXdDpeUw
8Y87FMJhrkh3+jiTdJmhUXk3jWpCokyTFqkCgg/4tEjw2u1CUhlQ6n8Bi1a56JnIA9No4u53TPO
eP5j2wPEp3lcjb4xMqAyiUVwJQxR2FP4n/uDvlg9tZFT647EUcHp0a/s2RSkvhoUeYat2vLZYpP
21g/LZmJuDVYQxSO2lIy4PngQ9DJwQHdWy/8dlDWGLVfYgPYPu8KallSM2iY5CLSz0P/DCH1kUs
LGihxfgmygn07770ddreJUV7Ea7ATBupNfTyjt8B1XFmeH0YQ3K1VAusY/rbEpbHEzT2MgfsnRn
P12Pdh/qrC47RdAbzOVdmi/DvSipQEkhHLjbaotYSfx493aY1hM6JqQ==
X-Google-Smtp-Source: AGHT+IEhE5c9Zaj1h2c9G9XHtl/H8vMfu4BKIic5umSVz7rhBUL9Y50j0wt7BKqQ265rvCnty3BQgg==
X-Received: by 2002:a05:600c:1f0c:b0:43c:f81d:34 with SMTP id
5b1f17b1804b1-43ecf85db8bmr54316355e9.9.1743843188315;
Sat, 05 Apr 2025 01:53:08 -0700 (PDT)
Received: from pro2 (p200300e0b71e7700b416b1a5f2164327.dip0.t-ipconnect.de.
[2003:e0:b71e:7700:b416:b1a5:f216:4327])
by smtp.gmail.com with ESMTPSA id
ffacd0b85a97d-39c301a7225sm6284763f8f.26.2025.04.05.01.53.06
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Sat, 05 Apr 2025 01:53:07 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?=
To: Eli Zaretskii
Subject: Re: bug#77544: (WIP) [PATCH] Prettify page separators.
In-Reply-To: <86ldsfxdhy.fsf@gnu.org>
References: <87bjtbyzg1.fsf@gmail.com> <86ldsfxdhy.fsf@gnu.org>
Date: Sat, 05 Apr 2025 10:53:06 +0200
Message-ID:
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77544
Cc: Elijah Gabe =?utf-8?Q?P=C3=A9rez?= ,
77544@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -1.0 (-)
Eli Zaretskii writes:
> Adding Gerd in case he has ideas, suggestions, or further comments.
Nothing to add to your comments ATM, but maybe an alternative idea: how
about solving this with a new type of display property for drawing a
horizontal line? Say `horizontal-line WIDTH' where WIDTH could be nil or
something to draw a line to the end of the display area? That would have
the advantage that it would be a relatively locally confined change and
would have no impact when not used, and hopefully little potential to
break unrelated things when not used.
One would have to have some Lisp though that puts the display property
on form-feeds.
From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 05 06:33:43 2025
Received: (at 77544) by debbugs.gnu.org; 5 Apr 2025 10:33:43 +0000
Received: from localhost ([127.0.0.1]:41669 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1u10qN-00026L-3L
for submit@debbugs.gnu.org; Sat, 05 Apr 2025 06:33:43 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:53288)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from ) id 1u10qK-000266-Oe
for 77544@debbugs.gnu.org; Sat, 05 Apr 2025 06:33:41 -0400
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 )
id 1u10qF-0001bH-Bo; Sat, 05 Apr 2025 06:33:35 -0400
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=24oZ494Z9Ao5AHsrn22wHV1q3v+wac1AgXWVdd01edM=; b=px3ujuDeGqt3vAA82OE9
LYVAGGSlpmFHkTBVPfqviwQBnrpXrHlBX4VoeqvdqXu8ZaqPKjxaTC2OWpT2qv2Q87/EQZmUuuM+y
huS/LKJmV5Ii5TtBBQW1maYXi4HQENWSBxIL/jJbvgSmwEoENv4fpxqTlWRx4+4Je2DsmR0a42qS+
MfzSNCFmAJu0Smgl9UoDv33J33wqtEarywUjkH0aFFWUPJi986qxfqOi7SO5lr++yB6G2utgdUCm7
UV2koqcFA15cYu6kjuYDaO6uS3dNVK8uA9/mxpSz668VaqwovwXKQyHGqxHg/qz4PeZSYV8EXGPD5
o3g8bU/ptMTQcA==;
Date: Sat, 05 Apr 2025 13:33:31 +0300
Message-Id: <86mscux5hg.fsf@gnu.org>
From: Eli Zaretskii
To: Gerd =?utf-8?Q?M=C3=B6llmann?=
In-Reply-To: (message from Gerd =?utf-8?Q?M?=
=?utf-8?Q?=C3=B6llmann?= on Sat, 05 Apr 2025 10:53:06 +0200)
Subject: Re: bug#77544: (WIP) [PATCH] Prettify page separators.
References: <87bjtbyzg1.fsf@gmail.com> <86ldsfxdhy.fsf@gnu.org>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77544
Cc: eg642616@gmail.com, 77544@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -3.3 (---)
> From: Gerd Möllmann
> Cc: Elijah Gabe Pérez ,
> 77544@debbugs.gnu.org
> Date: Sat, 05 Apr 2025 10:53:06 +0200
>
> Eli Zaretskii writes:
>
> > Adding Gerd in case he has ideas, suggestions, or further comments.
>
> Nothing to add to your comments ATM, but maybe an alternative idea: how
> about solving this with a new type of display property for drawing a
> horizontal line? Say `horizontal-line WIDTH' where WIDTH could be nil or
> something to draw a line to the end of the display area? That would have
> the advantage that it would be a relatively locally confined change and
> would have no impact when not used, and hopefully little potential to
> break unrelated things when not used.
Thanks, sounds like a good idea.
> One would have to have some Lisp though that puts the display property
> on form-feeds.
Right. Maybe a minor mode? Or an optional feature of whitespace-mode?
From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 05 13:57:54 2025
Received: (at 77544) by debbugs.gnu.org; 5 Apr 2025 17:57:54 +0000
Received: from localhost ([127.0.0.1]:44686 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1u17mD-0002iE-Ns
for submit@debbugs.gnu.org; Sat, 05 Apr 2025 13:57:54 -0400
Received: from mail-oa1-x41.google.com ([2001:4860:4864:20::41]:43454)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from )
id 1u17mB-0002hv-9g
for 77544@debbugs.gnu.org; Sat, 05 Apr 2025 13:57:52 -0400
Received: by mail-oa1-x41.google.com with SMTP id
586e51a60fabf-2c72cb91e9cso2437342fac.1
for <77544@debbugs.gnu.org>; Sat, 05 Apr 2025 10:57:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1743875865; x=1744480665; darn=debbugs.gnu.org;
h=mime-version:user-agent:message-id:date:references:in-reply-to
:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=A/pT7k9Kq7Qe1ahVLfz6ER8zUkB6sZi9La6o1crVYPE=;
b=R/st1w0vk+a+MkqEhWQVexD4M6AWeST2Dn/fTwv9/zOSiyH09eqyMQ8IO2QXMLa49B
o9R1lIP+NdRuWmssFM2+BipF9ObtIAZ3DQgRsKHBNMjKDoFDv4cYhZu5iSk3zeEfXY1y
GqrbOkDiVwAKct4nERITG5I2aAgvG1NO1PhpgxzdiTCzRYeld2m3lwMflCkcPGQcRb2H
1u4omMuetxcfzehxbCEWK0BQQmNSDErEsBq4okVCAz4vA3ABtjdPm1Kp8w85sIQjXtCL
OB5r/1ev7nQMGqugMAAmBAa82wbEb2ZQ4UaSe2OWnDAnPaM332qkdguXOvxALhAuj/+g
Nk6A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1743875865; x=1744480665;
h=mime-version:user-agent:message-id:date:references:in-reply-to
:subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=A/pT7k9Kq7Qe1ahVLfz6ER8zUkB6sZi9La6o1crVYPE=;
b=pYRG/SCSwG5d55EnFaxeM2GwlA29ErVXKkeVYUSld9NoE2uAj185sQ9DdYqh7DgHCO
eD2zPZtJushd4FgjBgDFg5GQXKxGgMvRD2rSYgUFyXTwjq9TPmkqxoaW6gsQuqlO/SxM
y9f/42Hi1BoYbIKWDFvMbHg5BjbpjGfvrEJ9fiFSnCJoyfUfFzOMJcioybmm4TIWKhnp
lzwzJgYbXwW7/Gk69yJG7zgzgbCENA9v7YX8wKg6OhPsueWUiZr8fipFTi90ImAQI7xW
Lju/xmzS1RjEInkf8YtpGytMQr/EgfMMQkjVYqeGk44VWNKlGAvNmO3Zw9tcXnux+QYv
m3EA==
X-Forwarded-Encrypted: i=1;
AJvYcCVVlrPCv3BOD7BeWxJGKs8fRB4bSZeTNXu4eFvpwX0Q4vp3MuQR3bVJKJPjlqmSKekeS60Ntw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yzg+6JRT5BE2EwOCIE1iGLr34xcU1tYYFovQ/4JN5YA3SPKJSIb
+yZRjYdbHg5iCeQDtq8qAnYGjfOYuRK8KlG6Q/Hr2giQuZyrer4rWjUdhmiR
X-Gm-Gg: ASbGncv/71Ke0muez7K1lv8xw/Btatx01x3WuWPJUfssqctFpvQ/nyVcnmrDgzjfMod
R24xQFA4KvBs36T22EpRQjkjl91GWGA62DzmwYXr/9a+dP2kUU4B8N0v5NjhkhTgBNbd6VwLbRv
Uh+1YVLKFknPRDEMrN9sjoKc3kgpAl7wwgk0hSu2w7FlsSo7Ii62Zt32PUI8qmkyCPQADR8HGF2
DhU/JjNX/NRrO/VUWM5hrOlKbuBgz/cA00kS/sxzgCM9VzwM6wR4tlA9m+L7o+zyFf5SWEO4By1
P3TLd9focMgq9fQCTpUiUOc=
X-Google-Smtp-Source: AGHT+IGOC6/KhFB2Ecqf/QJL8FZsW0ECuZ/btJ7Io2PSOMc4uvpu6XIOHb9HIVbmpxD2aUkbICMxfQ==
X-Received: by 2002:a05:6871:7292:b0:2b8:5d9e:d0d9 with SMTP id
586e51a60fabf-2cc7a595721mr6277109fac.4.1743875864916;
Sat, 05 Apr 2025 10:57:44 -0700 (PDT)
Received: from fedora ([2806:10ae:e:79da::1]) by smtp.gmail.com with ESMTPSA id
586e51a60fabf-2cc84be9376sm1310947fac.50.2025.04.05.10.57.44
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Sat, 05 Apr 2025 10:57:44 -0700 (PDT)
From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?=
To: Eli Zaretskii
Subject: Re: bug#77544: (WIP) [PATCH] Prettify page separators.
In-Reply-To: <86ldsfxdhy.fsf@gnu.org>
References: <87bjtbyzg1.fsf@gmail.com> <86ldsfxdhy.fsf@gnu.org>
Date: Sat, 05 Apr 2025 11:57:42 -0600
Message-ID: <877c3yebjd.fsf@gmail.com>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 2.7 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
has NOT identified this incoming email as spam. The original
message has been attached to this so you can view it or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: Eli Zaretskii writes: >> --- a/src/xdisp.c >> +++
b/src/xdisp.c
>> @@ -8430,6 +8430,34 @@ get_next_display_element (struct it *it) >> int
lface_id = 0; >> int escape_glyph; >> >> + if (c == '\f' && it->current_x
== it->fir [...]
Content analysis details: (2.7 points, 10.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
in digit (eg642616[at]gmail.com)
-0.0 SPF_PASS SPF: sender matches SPF record
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
provider (eg642616[at]gmail.com)
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
no trust [2001:4860:4864:20:0:0:0:41 listed in] [list.dnswl.org]
0.0 HTML_MESSAGE BODY: HTML included in message
2.4 HTML_OBFUSCATE_20_30 BODY: Message is 20% to 30% HTML
obfuscation
X-Debbugs-Envelope-To: 77544
Cc: Gerd =?utf-8?Q?M=C3=B6llmann?= ,
77544@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: 1.7 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
has NOT identified this incoming email as spam. The original
message has been attached to this so you can view it or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: Eli Zaretskii writes: >> --- a/src/xdisp.c >> +++ b/src/xdisp.c
>> @@ -8430,6 +8430,34 @@ get_next_display_element (struct it *it) >> int
lface_id = 0; >> int escape_glyph; >> >> + if (c == '\f' && it->current_x
== it->fir [...]
Content analysis details: (1.7 points, 10.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
no trust
[2001:4860:4864:20:0:0:0:41 listed in]
[list.dnswl.org]
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
in digit (eg642616[at]gmail.com)
-0.0 SPF_PASS SPF: sender matches SPF record
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
provider (eg642616[at]gmail.com)
0.0 HTML_MESSAGE BODY: HTML included in message
2.4 HTML_OBFUSCATE_20_30 BODY: Message is 20% to 30% HTML
obfuscation
-1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list
manager
--=-=-=
Content-Type: multipart/alternative; boundary="==-=-="
--==-=-=
Content-Type: text/plain
Eli Zaretskii writes:
>> --- a/src/xdisp.c
>> +++ b/src/xdisp.c
>> @@ -8430,6 +8430,34 @@ get_next_display_element (struct it *it)
>> int lface_id = 0;
>> int escape_glyph;
>>
>> + if (c == '\f' && it->current_x == it->first_visible_x)
>
> IMO, this condition is incorrect. You should test for the previous
> character being a newline. The it->first_visible_x condition will be
> wrong in a continuation line, when the window is hscrolled, and when
> display-line-numbers-mode is turned on, as well as in some other
> situations (line/wrap-prefix etc.).
>
>> + {
>> + const int save_face_id = it->face_id;
>> + const int save_char = it->char_to_display;
>> + const int save_current_x = it->current_x;
>> + const int save_ascent = it->ascent;
>> + const int save_descent = it->descent;
>> +
>> + face_id =
>> + merge_faces (it->w, Qtrailing_whitespace, 0, it->face_id);
>> + XSETINT (it->ctl_chars[0], 0);
>> + ctl_len = 0;
>> +
>> + it->char_to_display = '-';
>> + it->face_id = face_id;
>> + for ( ; it->current_x - it->end_charpos <= it->last_visible_x; it->current_x++)
>
> This condition is also incorrect, IMO: it->current_x is the pixel
> coordinate, whereas it->end_charpos is a character position in the
> buffer, so you cannot meaningfully subtract them. Also, I think this
> will be incorrect when the window has display margins.
>
> The right way to figure out the usable width is to call the function
> window_box_width or window_box_right_offset.
>
> These wrong conditions are probably the reasons for at least part of
> the problems you see with this patch.
I'll take it into account. Thanks.
>> + {
>> + PRODUCE_GLYPHS (it);
>> + }
>
> I think it's not a good idea to call PRODUCE_GLYPHS inside
> get_next_display_element.
I originally wanted to put this in display_line, however,
get_next_display_element was overriding the character face so i thought
that adding it to get_next_display_element (where ^L is displayed)
would be a better solution.
> Alternatively, we could implement this entirely in the
> terminal-specific back-end of the display engine (xterm.c, w32term.c,
> etc.), where we could detect the "^L" glyph sequence and replace it
> with a horizontal line of a suitable width and thickness. That would
> allow us to produce a separator that is much better-looking than just
> showing a long line of dashes.
The dashes are temporal, I'm planning to add a variable that store
the character to display (like display-fill-column-indicator-character).
I don't think it would be better display a line instead a character, in
that case, I would have preferred to use a face with a strike-through.
This should work for both Terminal and GUI frames.
> In any case, this must be an optional feature, so we will need a user
> option to control it, by default off.
Yeah, this will be buffer-local and have an user option (not minor mode)
for enable/disable it (disabled by default), i didn't added the options
yet because first i was testing if this works well, the same for the
face used.
--==-=-=
Content-Type: text/html
Eli Zaretskii <eliz@gnu.org> writes:
— a/src/xdisp.c
+ b/src/xdisp.c
@@ -8430,6 8430,34 @@ getnextdisplayelement (struct it *it)
int lfaceid = 0;
int escapeglyph;
+ if (c = '\f' && it->current_x =
it->firstvisiblex)
IMO, this condition is incorrect. You should test for the previous
character being a newline. The it->first
visiblex condition will be
wrong in a continuation line, when the window is hscrolled, and when
display-line-numbers-mode is turned on, as well as in some other
situations (line/wrap-prefix etc.).
+ {
+ const int savefaceid = it->faceid;
+ const int savechar = it->chartodisplay;
+ const int savecurrentx = it->currentx;
+ const int saveascent = it->ascent;
+ const int savedescent = it->descent;
+
+ faceid =
+ mergefaces (it->w, Qtrailingwhitespace, 0, it->faceid);
+ XSETINT (it->ctlchars[0], 0);
+ ctllen = 0;
+
+ it->chartodisplay = '-';
+ it->faceid = faceid;
+ for ( ; it->currentx - it->endcharpos <= it->lastvisiblex; it->currentx+)
This condition is also incorrect, IMO: it->current
x is the pixel
coordinate, whereas it->end
charpos is a character position in the
buffer, so you cannot meaningfully subtract them. Also, I think this
will be incorrect when the window has display margins.
The right way to figure out the usable width is to call the function
window
boxwidth or window
boxrightoffset.
These wrong conditions are probably the reasons for at least part of
the problems you see with this patch.
I'll take it into account. Thanks.
+ {
+ PRODUCEGLYPHS (it);
+ }
I think it's not a good idea to call PRODUCE
GLYPHS inside
get
nextdisplayelement.
I originally wanted to put this in displayline, however,
getnextdisplayelement was overriding the character face so i thought
that adding it to getnextdisplayelement (where ^L is displayed)
would be a better solution.
Alternatively, we could implement this entirely in the
terminal-specific back-end of the display engine (xterm.c, w32term.c,
etc.), where we could detect the "L" glyph sequence and replace it
with a horizontal line of a suitable width and thickness. That would
allow us to produce a separator that is much better-looking than just
showing a long line of dashes.
The dashes are temporal, I'm planning to add a variable that store
the character to display (like display-fill-column-indicator-character).
I don't think it would be better display a line instead a character, in
that case, I would have preferred to use a face with a strike-through.
This should work for both Terminal and GUI frames.
In any case, this must be an optional feature, so we will need a user
option to control it, by default off.
Yeah, this will be buffer-local and have an user option (not minor mode)
for enable/disable it (disabled by default), i didn't added the options
yet because first i was testing if this works well, the same for the
face used.
--==-=-=--
--=-=-=
Content-Type: text/plain
--
- E.G via GNU Emacs and Org.
--=-=-=--
From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 05 14:08:13 2025
Received: (at 77544) by debbugs.gnu.org; 5 Apr 2025 18:08:13 +0000
Received: from localhost ([127.0.0.1]:44708 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1u17wC-0003DZ-Kg
for submit@debbugs.gnu.org; Sat, 05 Apr 2025 14:08:12 -0400
Received: from mail-oi1-x244.google.com ([2607:f8b0:4864:20::244]:61709)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from )
id 1u17wA-0003DJ-AS
for 77544@debbugs.gnu.org; Sat, 05 Apr 2025 14:08:10 -0400
Received: by mail-oi1-x244.google.com with SMTP id
5614622812f47-3fa6c54cdb2so2552826b6e.3
for <77544@debbugs.gnu.org>; Sat, 05 Apr 2025 11:08:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1743876484; x=1744481284; darn=debbugs.gnu.org;
h=mime-version:user-agent:message-id:date:references:in-reply-to
:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=lxMVBH1hQ1YgoXiTZBZZ6x/88fjRZe/50/G2ZsOWWpI=;
b=lqhOe0387y+XkQDgv5X81WZPhUc06rHB4n8zdNioFE5J0211jMUnDSzDyZ1vr24rXu
2ZrMDBJ3UMwNsU2L4aTUzF5C5zrEifRalhUQDISidv2lczAh1gL7pvl7iIkOoWQ4cBCy
H0TKQNdU4ItXA23+Ap4Mt6jFMR75lVeG1SNzQQ00mNq6jMMPdZzG3VdSM1uIMNn8Sh51
QIxmn6I9RH0mugoD/miEvd3WIJWe6V8Z9r+yC8D7UCEAKLNOYAgLGpUJxjpUnnMc8yNj
uCR/Byd9aKIOk0gEuPpYt2V4pXAGj8GtmTf3SLqaoFSz/hBdVNGNO6fcbm2LlU8IM8Yc
yl0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1743876484; x=1744481284;
h=mime-version:user-agent:message-id:date:references:in-reply-to
:subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=lxMVBH1hQ1YgoXiTZBZZ6x/88fjRZe/50/G2ZsOWWpI=;
b=cCGz1RqIAWT1wu/9ZxnMl0MnBnFCeGxan5PoL7LzrAT5UmCLUGwDEwPfsb72nFLWVf
OLBVEmjosj3hIq3XVGarlVrpx7arj8c3ASR/Hfsgv9Ia0jm/qof59qLRSzstkobVNeXN
32/4zqkG9vzAD0fXbmIZuFZUyAZg+gZHt6o7Un03bBx+oEOt3E05KAn1fWHcinkKJbfo
KWSbg2ByB5IBc66E9XOGQoZ962dtmFO3h0AtCSdK/TV+jjr7O/h4eN2AdNOSX/qozgtc
zEV8q+L00AwpBsKqQYMs6XCUIqf4w0UCP4Z0icFqaE9TgtEKI5Ce9V6P0Cy0b1S+cSiz
pYuw==
X-Forwarded-Encrypted: i=1;
AJvYcCWA1RqJsP0OcKwDpMOYGLboNwXYdXfaOLSqlLhQ3Aw8eschA9kaE7KiarRNYYqIuoXzdo/d9g==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YyTDnhVDrg6QF9l42xG6sNISL2dF8JRfBZaNcWyDZG9I6N4Uyhe
viNUtKNl01CvrxFeEIC50gqISlqxhgseZawbjPiucEoT3pK0qarbKi11FvjZ
X-Gm-Gg: ASbGnctTi7K2fxoWTPNAsHUE8A+iuy/3PQkWX5TZLLW1NKgLOme7pIGHcI8KTn6cs1l
sZ3Jg/ZvSgmq1k7wMV+Fx+X+pVhZz9xlbQy3iWqEvFhnIexnnmOWx6Eg9EH51cG3Uzo8wI8Xt+n
8z4ymMGeSFEMUuaEIrERQsyzP+svvnbZb+dFStqB1ptjpVdoCqLEPDerXe4NSM6/hLJGC6ry59n
z5aLcTJZ/ososQ6P6HF8fVagB584gQs+4+2vpNWgh/CH/zXSt0bJ6GLNgqmxEfW/tX1rHXuNNoP
/aAULhtR/OcP
X-Google-Smtp-Source: AGHT+IH0FoGIPOpEp+sVBwuC3uAODCSJz6i24Kq/Q5ELtTm2QYs3BC5mG8i8limxJFUiZm59umbk0A==
X-Received: by 2002:a05:6808:1b8b:b0:3f3:f90b:f1b9 with SMTP id
5614622812f47-400463f8a75mr3980161b6e.0.1743876484060;
Sat, 05 Apr 2025 11:08:04 -0700 (PDT)
Received: from fedora ([2806:10ae:e:79da::1]) by smtp.gmail.com with ESMTPSA id
5614622812f47-4003ff99759sm1086868b6e.21.2025.04.05.11.08.03
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Sat, 05 Apr 2025 11:08:03 -0700 (PDT)
From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?=
To: Gerd =?utf-8?Q?M=C3=B6llmann?=
Subject: Re: bug#77544: (WIP) [PATCH] Prettify page separators.
In-Reply-To:
References: <87bjtbyzg1.fsf@gmail.com> <86ldsfxdhy.fsf@gnu.org>
Date: Sat, 05 Apr 2025 12:08:02 -0600
Message-ID: <87zfgucwhp.fsf@gmail.com>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.3 (/)
X-Debbugs-Envelope-To: 77544
Cc: Eli Zaretskii , 77544@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -0.7 (/)
--=-=-=
Content-Type: multipart/alternative; boundary="==-=-="
--==-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Gerd M=C3=B6llmann writes:
> Nothing to add to your comments ATM, but maybe an alternative idea: how
> about solving this with a new type of display property for drawing a
> horizontal line? Say `horizontal-line WIDTH' where WIDTH could be nil or
> something to draw a line to the end of the display area? That would have
> the advantage that it would be a relatively locally confined change and
> would have no impact when not used, and hopefully little potential to
> break unrelated things when not used.
I like this idea.
> One would have to have some Lisp though that puts the display property
> on form-feeds.
In this case I would move this code to Lisp instead of C.
--==-=-=
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Gerd M=C3=B6llmann <gerd.moellmann@gmail.com> writes:
Nothing to add to your comments ATM, but maybe an alternative idea: ho=
w
about solving this with a new type of display property for drawing a
horizontal line? Say `horizontal-line WIDTH' where WIDTH could be nil or
something to draw a line to the end of the display area? That would have
the advantage that it would be a relatively locally confined change and
would have no impact when not used, and hopefully little potential to
break unrelated things when not used.
I like this idea.
One would have to have some Lisp though that puts the display property=
on form-feeds.
In this case I would move this code to Lisp instead of C.
--==-=-=--
--=-=-=
Content-Type: text/plain
--
- E.G via GNU Emacs and Org.
--=-=-=--
From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 05 14:13:36 2025
Received: (at 77544) by debbugs.gnu.org; 5 Apr 2025 18:13:36 +0000
Received: from localhost ([127.0.0.1]:44715 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1u181Q-0003S8-Af
for submit@debbugs.gnu.org; Sat, 05 Apr 2025 14:13:36 -0400
Received: from mail-oo1-xc42.google.com ([2607:f8b0:4864:20::c42]:56339)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from )
id 1u181O-0003Rs-4h
for 77544@debbugs.gnu.org; Sat, 05 Apr 2025 14:13:34 -0400
Received: by mail-oo1-xc42.google.com with SMTP id
006d021491bc7-6040465b9e2so1660469eaf.0
for <77544@debbugs.gnu.org>; Sat, 05 Apr 2025 11:13:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1743876808; x=1744481608; darn=debbugs.gnu.org;
h=mime-version:user-agent:message-id:date:references:in-reply-to
:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=XoiHUhIEdYPgZIE6mzy2+/mEa5MPlqW7SWbYuCvdB+E=;
b=Y0c/19q3vtZMa/UBLvF1fO2E20+iiX+J/kuwu/nqZqb7jgFkv4Q41BAv9SzKdTHmzG
8aXJVEdc3pDKivWnXKKna7ZQ+j8KdEZRZVJykKzSvzZMlP2LmEawXfZARqf22zXk1YRi
D0aH4f/en9L25inIFL6Pl/TLTbqhLLWdgaVzaZydL2gcGZL8CBdBKtky2I+6gFEzcuDo
0dwNeeZiy6ACDm+62i0hL7PbaM0jysKLUi+UsAgsnZNqtVION0Suggstic2ZOtXyLhef
CheJ0nK+e/X51JZhgDOC9xotxtAFGna9hoaldX/CnNRgMSG6YxOz8awaV6+g/KVuA42x
WHWQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1743876808; x=1744481608;
h=mime-version:user-agent:message-id:date:references:in-reply-to
:subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=XoiHUhIEdYPgZIE6mzy2+/mEa5MPlqW7SWbYuCvdB+E=;
b=SwBHyk8UbyGHfjhQLBQvrFMotGmgX6g0/wCpmY8dBo/P8NpxoEgcjsPSgABTSPqH8X
8i9ZderivXOxvvqWtQrOR9uvFWkpFBm4gqVnA2EvrtVGzDOxj6XktzlZ/fkQnD5JgiUd
hC09WIl/NseI4HmEo0MSKwYl+W4y9BSqBHBfvdsgDNqes/u6njXd3my0EiUH34SU04xG
6OV4Mbtcl+TgOAZgjRqVc2VjCEWsoXv9KBGeXszdcIn3ynvbdS8RLojYqlm7i9yR6W4F
as7H7xqkRXf+hwKIH9pJIOdxkRY34o0jusdx8X7gJ8bBWh5re3K+9yrYu2fsjyAcn3vr
LQRg==
X-Forwarded-Encrypted: i=1;
AJvYcCWdL64fdM+0Gy8lsTS+dbpLnekhVzAzCBGLLJXg3v6eY1ZU6M1v056PImhHsx8CJAFzlV7AdQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YwkeaeQHdrF8WtYHc7/rb0f9/zBt3HH7KG2TYmIAroZaMlgiEsR
LlVhDdaIpZgoxBpXtmO4Rg+tQLY5X5ZB4TCReFgOWrAVTH5sDghFjcmnafIY
X-Gm-Gg: ASbGncuzubMldzsXP6o3hXJfxP3j/ajrCt2Mowf33K1+EwLy1W1uWMXECxyus9XHsWq
rRE7kF8qvXwxFgiXkZ0eIf4UkWntBtCNiYuU61zfpSjseOJtyHMklVOHEVD1umrwAxVhlFYgVkO
Gxb62GUIl9NTukG0uy0HZzP3J0naIb2WBogkd1C9WhoOJLd1Y8f7KEwx+5JT32Gz2L+P/57fRUN
L2pXy3E24ivwyIfoZYqXGn3r2PJyyhyylSpdpDVXQBK0usXtTN1mbH76szvk0NDtN2ty1/Ww/Ma
7rIXL3AgMf2e
X-Google-Smtp-Source: AGHT+IG2qMNrcZMnj0cKqcT5zx6KjiFk4DQXQkytUDZS88ElTrjIzjjuU7dNk1kHQwmW2/bTYOksJg==
X-Received: by 2002:a05:6820:1c81:b0:603:f9b2:e2e9 with SMTP id
006d021491bc7-60416720fddmr3331508eaf.7.1743876807728;
Sat, 05 Apr 2025 11:13:27 -0700 (PDT)
Received: from fedora ([2806:10ae:e:79da::1]) by smtp.gmail.com with ESMTPSA id
006d021491bc7-6040c4ea8dbsm1127854eaf.18.2025.04.05.11.13.27
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Sat, 05 Apr 2025 11:13:27 -0700 (PDT)
From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?=
To: Eli Zaretskii
Subject: Re: bug#77544: (WIP) [PATCH] Prettify page separators.
In-Reply-To: <86mscux5hg.fsf@gnu.org>
References: <87bjtbyzg1.fsf@gmail.com> <86ldsfxdhy.fsf@gnu.org>
<86mscux5hg.fsf@gnu.org>
Date: Sat, 05 Apr 2025 12:13:26 -0600
Message-ID: <87v7ricw8p.fsf@gmail.com>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.3 (/)
X-Debbugs-Envelope-To: 77544
Cc: Gerd =?utf-8?Q?M=C3=B6llmann?= ,
77544@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -0.7 (/)
--=-=-=
Content-Type: multipart/alternative; boundary="==-=-="
--==-=-=
Content-Type: text/plain
Eli Zaretskii writes:
>> One would have to have some Lisp though that puts the display property
>> on form-feeds.
>
> Right. Maybe a minor mode?
I think a minor mode would be better.
> Or an optional feature of whitespace-mode?
I don't think whitespace-mode is related to this.
--==-=-=
Content-Type: text/html
Eli Zaretskii <eliz@gnu.org> writes:
One would have to have some Lisp though that puts the display property
on form-feeds.
Right. Maybe a minor mode?
I think a minor mode would be better.
Or an optional feature of whitespace-mode?
I don't think whitespace-mode is related to this.
--==-=-=--
--=-=-=
Content-Type: text/plain
--
- E.G via GNU Emacs and Org.
--=-=-=--
From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 06 01:06:38 2025
Received: (at 77544) by debbugs.gnu.org; 6 Apr 2025 05:06:38 +0000
Received: from localhost ([127.0.0.1]:45690 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1u1IDN-0001xI-OB
for submit@debbugs.gnu.org; Sun, 06 Apr 2025 01:06:38 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:47596)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from ) id 1u1IDL-0001x2-Hg
for 77544@debbugs.gnu.org; Sun, 06 Apr 2025 01:06:35 -0400
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 )
id 1u1IDF-0006QC-Ui; Sun, 06 Apr 2025 01:06:29 -0400
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=zOKYcdOeELqR6Dhr1NqTG4gx4C8Zp4nxv0gLq/+iT0k=; b=ris8lIiuwXQ2RSCqF21r
iPllGb/5x313EBW8geUX+15L7/OH2BsjaL8osFS17Z+5148/k+lHGO4PMO8U3m9JJFIK3UyeYncgc
H0B9mVXX/tsCU9G2TF/q30zegrm85f8pIhW9b1/gLwEOwbF9LxTLTD8dN/Kq6NaXdr6TtRjIlbWp8
gDuoPhEUXdlOzaCJkG9zSnv1bCe+vvIPDLPCL5nbzHbF9/92YMNyCBE47On8QoBUPubzhcyLhVaJg
b9Uwh7ApQy0CnPfz/UftkWZF7FdNs8Fktg2LayNrmPt0Y3NrvErnsSHeVzknBW245NGdjJsm4vQSH
SDI83hhZVU/lOQ==;
Date: Sun, 06 Apr 2025 08:06:27 +0300
Message-Id: <86o6x9vpyk.fsf@gnu.org>
From: Eli Zaretskii
To: Elijah Gabe =?utf-8?Q?P=C3=A9rez?=
In-Reply-To: <87zfgucwhp.fsf@gmail.com> (message from Elijah Gabe
=?utf-8?Q?P=C3=A9rez?= on Sat, 05 Apr 2025 12:08:02 -0600)
Subject: Re: bug#77544: (WIP) [PATCH] Prettify page separators.
References: <87bjtbyzg1.fsf@gmail.com> <86ldsfxdhy.fsf@gnu.org>
<87zfgucwhp.fsf@gmail.com>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77544
Cc: gerd.moellmann@gmail.com, 77544@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -3.3 (---)
> From: Elijah Gabe Pérez
> Cc: Eli Zaretskii , 77544@debbugs.gnu.org
> Date: Sat, 05 Apr 2025 12:08:02 -0600
>
> Gerd Möllmann writes:
>
> Nothing to add to your comments ATM, but maybe an alternative idea: how
> about solving this with a new type of display property for drawing a
> horizontal line? Say `horizontal-line WIDTH' where WIDTH could be nil or
> something to draw a line to the end of the display area? That would have
> the advantage that it would be a relatively locally confined change and
> would have no impact when not used, and hopefully little potential to
> break unrelated things when not used.
>
> I like this idea.
>
> One would have to have some Lisp though that puts the display property
> on form-feeds.
>
> In this case I would move this code to Lisp instead of C.
A new kind of display property must be implemented in C. The rest of
the code can be in Lisp.
From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 06 01:07:20 2025
Received: (at 77544) by debbugs.gnu.org; 6 Apr 2025 05:07:20 +0000
Received: from localhost ([127.0.0.1]:45695 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1u1IE4-00025p-8M
for submit@debbugs.gnu.org; Sun, 06 Apr 2025 01:07:20 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:57960)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from ) id 1u1IE1-00024U-Oj
for 77544@debbugs.gnu.org; Sun, 06 Apr 2025 01:07:18 -0400
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 )
id 1u1IDw-0006SC-GD; Sun, 06 Apr 2025 01:07:12 -0400
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=s5m/VLT+nUnP06Tt2mQ8AYvYOniR0T4Sj8O2dRl1u7g=; b=fF3QQJ5pdKKhurc3hLb/
ffVa8wPWdIiXXi5O4RQ7p6JdyESqQ5tai1kPqPqfdIWEbpgXEYg320aQihQGBx5+6BIgymlaHCJF2
u+50fIZialFqV3TH+ASgTlRwxJWxARLJF5ufMGMNFvc8ZR59nwg+2a+XM0gxGoF7RRmmYSHfgHa5k
Nxie7X92ZMqElHDzjTF2XGzZLhIG85uDD1RLeIJlnblTssXC9hv9G4gNbqWbZ8Nz6gCdK5XoFtCUF
ZgKFOWZ+McCDCrjtBSMLU5TEX4qeYYrq2rIJ8A4rTvUz6icnrKQXVYbfL+Hlyh5E88uabdZmt2yzN
xN7C2lVnm70xKQ==;
Date: Sun, 06 Apr 2025 08:07:09 +0300
Message-Id: <86msctvpxe.fsf@gnu.org>
From: Eli Zaretskii
To: Elijah Gabe =?utf-8?Q?P=C3=A9rez?=
In-Reply-To: <87v7ricw8p.fsf@gmail.com> (message from Elijah Gabe
=?utf-8?Q?P=C3=A9rez?= on Sat, 05 Apr 2025 12:13:26 -0600)
Subject: Re: bug#77544: (WIP) [PATCH] Prettify page separators.
References: <87bjtbyzg1.fsf@gmail.com> <86ldsfxdhy.fsf@gnu.org>
<86mscux5hg.fsf@gnu.org>
<87v7ricw8p.fsf@gmail.com>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77544
Cc: gerd.moellmann@gmail.com, 77544@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -3.3 (---)
> From: Elijah Gabe Pérez
> Cc: Gerd Möllmann ,
> 77544@debbugs.gnu.org
> Date: Sat, 05 Apr 2025 12:13:26 -0600
>
> Eli Zaretskii writes:
>
> One would have to have some Lisp though that puts the display property
> on form-feeds.
>
> Right. Maybe a minor mode?
>
> I think a minor mode would be better.
>
> Or an optional feature of whitespace-mode?
>
> I don't think whitespace-mode is related to this.
The form-feed ^L character is one of whitespace characters.
From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 06 01:25:13 2025
Received: (at 77544) by debbugs.gnu.org; 6 Apr 2025 05:25:13 +0000
Received: from localhost ([127.0.0.1]:45708 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1u1IVM-0002vg-Rf
for submit@debbugs.gnu.org; Sun, 06 Apr 2025 01:25:13 -0400
Received: from mail-qv1-xf44.google.com ([2607:f8b0:4864:20::f44]:57803)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from )
id 1u1IVK-0002ul-DF
for 77544@debbugs.gnu.org; Sun, 06 Apr 2025 01:25:10 -0400
Received: by mail-qv1-xf44.google.com with SMTP id
6a1803df08f44-6e904f53151so28883576d6.3
for <77544@debbugs.gnu.org>; Sat, 05 Apr 2025 22:25:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1743917104; x=1744521904; darn=debbugs.gnu.org;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc:subject:date:message-id:reply-to;
bh=Hg8867Z+c/o8MoH2eeiipLLB+R6xjeYnpEZEGLby1sE=;
b=Sv84wLLk9tGiYGPEO6OPaZczBdtXjQMUiOQWTNNaWdfyc7/rZB3nRGwZM/moQbFB0T
CFzHAYxh8f3ZaC9uD+orfQe5lEmlxAD0dOo9t6eilDDJyS9oI27RTjDTU2vU/U25dNRW
oaez6OlPZRSMXMY2vC5NJsFqNm6sntQOKSHWiTUmkSWIi3RNhM8QsHN/6ikOHHI9zyoO
PffbxYgt8Zfr2oa3TCdikji6jTZdNI2Bfn15kkG1g+wCBWFwfYyjEBLVM5undVWALBBO
depvek/N0Hxe8zsh8/hg5Fl7YhUFHgzJrmnq8Gh6WdTqqBrqPcSOVJGcXaIzrxCCLg/+
aJ4g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1743917104; x=1744521904;
h=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=Hg8867Z+c/o8MoH2eeiipLLB+R6xjeYnpEZEGLby1sE=;
b=FRFray0bMllY7A4deqbTY2AnctPmQweRLe0C/7GPB2THqoFMOk2plged4TqF8s52Pt
5mGicJ+/iCNZYrZVo5sEW//SJKWszLEsMW8Ll+5IJN62ebAJgy7nnpICCvr83+aV8196
l6o9RT41bg0rABjMt+fGmv79sb6nrXumUNkaPgU/39WtCclKMeolj2M95NBbRH89U3/9
HFYigzhLMiL47HCB2OvCNsQl1DPdCxypDtjAp8ZjHPXSMQmxwDLoG325O5Xy9W4MC6Kb
lE6Y9N8Xaq9aRUG2fsUy/3He8s0j90mgicloq43NIU3l/JffvROUVqZZKHroz1SAc5sg
Vufw==
X-Forwarded-Encrypted: i=1;
AJvYcCXGhqhLWVUDwN3TOt7llm2ZXKl+hefrva749kmnt5yQRelXhb3FlSij85Q5Xg56+stY1w/dSA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YxqFZDbS7/lzsFW7mvAkXD/EQhqm/u3htzLT18u+WqqhyusLg13
XHxe91xgWS06SnSehKfzBqJnMbOH4qZFM3kVSGA/cry9QStoSVMDWYO/Ec5rxFa426TbE0KxLIP
F+8Y0YawA5+9l1HYeRzwx+5PnlYg=
X-Gm-Gg: ASbGnct1hEO/2uzPz4zemmTggbpE70B5XlDs1agicUIK+3KJZhdbRiey7e2MEGpPB8v
i3zp4L/9i2MCJD//CJGYW0KfUmVwEVb6veAiKZbMola1/YtpX01y5enZUgsTsf+HcnC/TSv3x2G
kroJQ8e2vpXQUdQCHQlfg4yZ/GL09t+UfYUGHeAoelEHEd7qfWgR90DFPo
X-Google-Smtp-Source: AGHT+IGP1qjY+5j+S/OO3eIZVn0gTjDEXMsC+EOUwsWJvOS4GoP7budtj3YHSirUggKq8EIzNXgvKVZr3BENg84syMo=
X-Received: by 2002:a05:6214:d61:b0:6e8:ff8d:cb68 with SMTP id
6a1803df08f44-6f064aef187mr107461856d6.35.1743917104702; Sat, 05 Apr 2025
22:25:04 -0700 (PDT)
MIME-Version: 1.0
References: <87bjtbyzg1.fsf@gmail.com> <86ldsfxdhy.fsf@gnu.org>
<87zfgucwhp.fsf@gmail.com> <86o6x9vpyk.fsf@gnu.org>
In-Reply-To: <86o6x9vpyk.fsf@gnu.org>
From: =?UTF-8?Q?Elijah_Gabe_P=C3=A9rez?=
Date: Sat, 5 Apr 2025 23:24:54 -0600
X-Gm-Features: ATxdqUFnolqrOjkID7Ub07lnUKFVijGo4zhb1AP0dD5DBeuil49LDJy5XWFZpYA
Message-ID:
Subject: Re: bug#77544: (WIP) [PATCH] Prettify page separators.
To: Eli Zaretskii
Content-Type: multipart/alternative; boundary="0000000000008b28ee06321557f1"
X-Spam-Score: 0.3 (/)
X-Debbugs-Envelope-To: 77544
Cc: gerd.moellmann@gmail.com, 77544@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -0.7 (/)
--0000000000008b28ee06321557f1
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Eli Zaretskii writes:
> > From: Elijah Gabe P=C3=A9rez
> > Cc: Eli Zaretskii , 77544@debbugs.gnu.org
> > Date: Sat, 05 Apr 2025 12:08:02 -0600
> >
> > Gerd M=C3=B6llmann writes:
> >
> > Nothing to add to your comments ATM, but maybe an alternative idea: ho=
w
> > about solving this with a new type of display property for drawing a
> > horizontal line? Say `horizontal-line WIDTH' where WIDTH could be nil =
or
> > something to draw a line to the end of the display area? That would ha=
ve
> > the advantage that it would be a relatively locally confined change an=
d
> > would have no impact when not used, and hopefully little potential to
> > break unrelated things when not used.
> >
> > I like this idea.
> >
> > One would have to have some Lisp though that puts the display property
> > on form-feeds.
> >
> > In this case I would move this code to Lisp instead of C.
>
> A new kind of display property must be implemented in C. The rest of
> the code can be in Lisp.
>
I meant to make that form feed characters use the new display property.
>
--0000000000008b28ee06321557f1
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
> From: Elijah =
Gabe P=C3=A9rez <eg642616@gmail.com>
> Cc: Eli Zaretskii <eliz@gnu.org>,=C2=A0 77544@debbugs.gnu.org=
a>
> Date: Sat, 05 Apr 2025 12:08:02 -0600
>
> Gerd M=C3=B6llmann <gerd.moellmann@gmail.com> writes:<=
br>
>
>=C2=A0 Nothing to add to your comments ATM, but maybe an alternative id=
ea: how
>=C2=A0 about solving this with a new type of display property for drawi=
ng a
>=C2=A0 horizontal line? Say `horizontal-line WIDTH' where WIDTH cou=
ld be nil or
>=C2=A0 something to draw a line to the end of the display area? That wo=
uld have
>=C2=A0 the advantage that it would be a relatively locally confined cha=
nge and
>=C2=A0 would have no impact when not used, and hopefully little potenti=
al to
>=C2=A0 break unrelated things when not used.
>
> I like this idea.
>
>=C2=A0 One would have to have some Lisp though that puts the display pr=
operty
>=C2=A0 on form-feeds.
>
> In this case I would move this code to Lisp instead of C.
A new kind of display property must be implemented in C.=C2=A0 The rest of<=
br>
the code can be in Lisp.
=
I meant to make that form feed characters use the n=
ew display property.
--0000000000008b28ee06321557f1--
From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 06 01:39:38 2025
Received: (at 77544) by debbugs.gnu.org; 6 Apr 2025 05:39:38 +0000
Received: from localhost ([127.0.0.1]:45728 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1u1IjK-0003gN-Eq
for submit@debbugs.gnu.org; Sun, 06 Apr 2025 01:39:38 -0400
Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]:48185)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from )
id 1u1IjH-0003g6-Uf
for 77544@debbugs.gnu.org; Sun, 06 Apr 2025 01:39:36 -0400
Received: by mail-wm1-x336.google.com with SMTP id
5b1f17b1804b1-43edb40f357so11533515e9.0
for <77544@debbugs.gnu.org>; Sat, 05 Apr 2025 22:39:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1743917969; x=1744522769; darn=debbugs.gnu.org;
h=content-transfer-encoding:mime-version:user-agent:message-id:date
:references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=xLOWV7uUkgtrme3RkqpK9t7DocwPgMC5D2bY6c0ePes=;
b=RiKKGZ5n1Bvc0T/V3Gnj1JNG+hWF4egOHFMzmDPCeAXbLwJ4q1CEyrkvUX3lOhwpWM
1qXMNfh1aZwd5aqYzKm9ZWraVB6APqPcc/zb6qVFmcPdKz+nz4qNzaTPleQ7erUdpJkA
Dj0pQ8Cowk7LaHN8/16JlN/kSr7hOk9FxnWm0BA6Xc09dFSEiKf82EZ9DKFN3FZZON7n
IE7cJ2BAvoQaHfMnI/TIOUHRn0qsxM1lRrcb2RNdIY/tupCdp4B/2DLczjquaUEpnF39
OTQVLbU40vTsk7LKaNXMphJvS8Rw4y6T9fkYZDyANPnkkd0OovJsAyPo8QSjZFYm6Vbu
gdtA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1743917969; x=1744522769;
h=content-transfer-encoding:mime-version:user-agent:message-id:date
:references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
:to:cc:subject:date:message-id:reply-to;
bh=xLOWV7uUkgtrme3RkqpK9t7DocwPgMC5D2bY6c0ePes=;
b=OomOzzSO0TZbi2fkRKvTUt20WgvYnTHTQlnFefbC+rclxmfWh/SEZTQ2xOLUXDDPu5
Cf4omotjr2BvkUx/s82nQuE4ptOLSfv1470xHMQkRcQDdyQGp+dYu7T5sEbV1EdlnzHi
GbfBSQ2WpKnjMKLJdwvlEP8mEDVon5o6lhqsHrAzYyfvEWplGleU1b8J/JHbXvKz3kNX
UBp8QzxldVW7qQLBSbfE0A5Rl9QgFQ34LA0GYXy0kHr2uxUXsMWL6xwE5/DBgHPe2yl4
VJcYvP3IP/4UdkW5m8mj8N+BLkOZL7+eDKzssBGFKRB4DGnwZ2XKRdkUFhjAmfqP/EgY
AWsw==
X-Forwarded-Encrypted: i=1;
AJvYcCVMExjy3b7+7KcBne2604Dk9GBsXtVmg6Avze+3cavlvtx328kNXN4pWAnOW8kKNbHSQ+4png==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YxvfaOu3TzM1LXQ+IJ8bzf1umzx73ygmoLDt0lKih9/x3Xwcd4V
4hBnTKC+zKeCyykowLK6Q6SHSPEGogyXxeAkw+S0tzOn0HCMQUZcslolgEWA
X-Gm-Gg: ASbGncsecDJnn1HEDQINO8MIZnodxIpi6sCl/U1mIADP7a58ZMNHnwSO44yCmzPRDcd
/rXpq19OAgfWV+mHaqRXXXKliB0E1aUEM3CfD5Aw+f0ONzuQ1Q2CUCJBFZF1baIfnllc93+2BP1
59f2RAkh0GRCDvG0o9Z0RL29xBIXebt3B3jkUEVjYq2ort75hsRiitdGmD9Hl/Y2/C7Dd4BJXcZ
GRpq/Bnsucz443aubhzex3xtai+iwjYWX4kTxF/KokT2Iugr2VtO//VBzXH6PXSXcSUpt08si5n
KRfG9qSGmH3+lxktRwcmiEl961cDXPOQTkTxp3X96DdS4LB4I8rNQGTtqOqhYh0vU7VuMV6iC6A
G4eWYaEK5bbXUvdrpaUoiqU72e2t5cmK2MNbJ/GiH9iBSFtx+nsQqPg==
X-Google-Smtp-Source: AGHT+IG8ti0zFeKAcUudM8Bj5Xazs0AZ77QeKYt8ukitX5Mdlab/qaP9Rjco+ui0O28hGo4GhD0+gA==
X-Received: by 2002:a05:600c:4fd6:b0:43b:c5a3:2e1a with SMTP id
5b1f17b1804b1-43ee0616f6fmr44238795e9.2.1743917969198;
Sat, 05 Apr 2025 22:39:29 -0700 (PDT)
Received: from pro2 (p200300e0b7278a003128f733a5af3bcd.dip0.t-ipconnect.de.
[2003:e0:b727:8a00:3128:f733:a5af:3bcd])
by smtp.gmail.com with ESMTPSA id
5b1f17b1804b1-43ec163156asm94925485e9.7.2025.04.05.22.39.28
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Sat, 05 Apr 2025 22:39:28 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?=
To: Eli Zaretskii
Subject: Re: bug#77544: (WIP) [PATCH] Prettify page separators.
In-Reply-To: <86msctvpxe.fsf@gnu.org>
References: <87bjtbyzg1.fsf@gmail.com> <86ldsfxdhy.fsf@gnu.org>
<86mscux5hg.fsf@gnu.org>
<87v7ricw8p.fsf@gmail.com> <86msctvpxe.fsf@gnu.org>
Date: Sun, 06 Apr 2025 07:39:27 +0200
Message-ID:
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77544
Cc: Elijah Gabe =?utf-8?Q?P=C3=A9rez?= ,
77544@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -1.0 (-)
Eli Zaretskii writes:
>> From: Elijah Gabe P=C3=A9rez
>> Cc: Gerd M=C3=B6llmann ,
>> 77544@debbugs.gnu.org
>> Date: Sat, 05 Apr 2025 12:13:26 -0600
>>=20
>> Eli Zaretskii writes:
>>=20
>> One would have to have some Lisp though that puts the display property
>> on form-feeds.
>>=20
>> Right. Maybe a minor mode?
>>=20
>> I think a minor mode would be better.
>>=20
>> Or an optional feature of whitespace-mode?
>>=20
>> I don't think whitespace-mode is related to this.
>
> The form-feed ^L character is one of whitespace characters.
And white-space-mode already displays spaces, tabs, and newlines
differently, AFAIR. Looks like a good fit.
From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 06 02:53:19 2025
Received: (at 77544) by debbugs.gnu.org; 6 Apr 2025 06:53:19 +0000
Received: from localhost ([127.0.0.1]:45806 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1u1Jsd-0007NA-Fv
for submit@debbugs.gnu.org; Sun, 06 Apr 2025 02:53:19 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:44406)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from ) id 1u1Jsa-0007Mt-HZ
for 77544@debbugs.gnu.org; Sun, 06 Apr 2025 02:53:17 -0400
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 )
id 1u1JsV-000179-65; Sun, 06 Apr 2025 02:53:11 -0400
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=f8yqWUYcw5l1BOOzCAwCLVcMKGsnskqh2sJvvQj24Ps=; b=jbFtxzawwKTvijdu0ukh
cPyz2KxyAcHFnBCMP0DxBffSWzJvsEczja+g06aYnSxTWNpsdqzeoHqJ+O7I9b1rtT0TKNDqxtiHC
Gltfq5WIb5mSwv26V/wPpiZ7pu7cqnIC+g/K1fWpxayLIU6VOq5OTa5s6Vd7skZIEWvv72WTIepbk
raiH974JHbJQV7gM+gKYP9Iey2XAWRyYVqy2P4+2vwju5+gpffCpRg+kNqWWzL9LnKnbVzxgQS1eo
afaqt2hrax7m/UE3VQQW33ib0J4Z+YUIv7+R3kEYyeSrxlL3SUus0tlaDOYykMGNrnNJ33gpOzbJ0
fKKonIwDjVVLFA==;
Date: Sun, 06 Apr 2025 09:53:08 +0300
Message-Id: <86bjt9vl0r.fsf@gnu.org>
From: Eli Zaretskii
To: Elijah Gabe =?utf-8?Q?P=C3=A9rez?=
In-Reply-To:
(message from Elijah Gabe =?utf-8?Q?P=C3=A9rez?= on Sat, 5 Apr 2025
23:33:04 -0600)
Subject: Re: bug#77544: (WIP) [PATCH] Prettify page separators.
References: <87bjtbyzg1.fsf@gmail.com> <86ldsfxdhy.fsf@gnu.org>
<86mscux5hg.fsf@gnu.org> <87v7ricw8p.fsf@gmail.com>
<86msctvpxe.fsf@gnu.org>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77544
Cc: gerd.moellmann@gmail.com, 77544@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -3.3 (---)
> From: Elijah Gabe Pérez
> Date: Sat, 5 Apr 2025 23:33:04 -0600
>
> Eli Zaretskii writes:
>
> > From: Elijah Gabe Pérez
> > Cc: Gerd Möllmann ,
> > 77544@debbugs.gnu.org
> > Date: Sat, 05 Apr 2025 12:13:26 -0600
> >
> > Or an optional feature of whitespace-mode?
> >
> > I don't think whitespace-mode is related to this.
>
> The form-feed ^L character is one of whitespace characters.
>
> Right, but I don't think this should be whitespace-mode exclusive. IMO this new minor mode can be used as
> alternative to make-separator-line (for example in shortdoc buffers) which looks ugly in both terminal and GUI
> frames.
Sure, but why is it a problem to make this part of whitespace-mode?
It already has a number of optional features, each one of which can
be turned on and off separately.
The advantage is that we don't need to have yet another minor mode,
yet another mode-line lighter, etc. Also, some people already turn on
whitespace-mode in text modes.
So I think this is something to be considered seriously.
But we can delay this discussion until you have the feature
implemented.
From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 06 02:57:51 2025
Received: (at 77544) by debbugs.gnu.org; 6 Apr 2025 06:57:51 +0000
Received: from localhost ([127.0.0.1]:45817 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1u1Jx1-0007at-Fn
for submit@debbugs.gnu.org; Sun, 06 Apr 2025 02:57:51 -0400
Received: from mail-pl1-x642.google.com ([2607:f8b0:4864:20::642]:49525)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from )
id 1u1Jwz-0007ac-MS
for 77544@debbugs.gnu.org; Sun, 06 Apr 2025 02:57:50 -0400
Received: by mail-pl1-x642.google.com with SMTP id
d9443c01a7336-227a8cdd241so38546475ad.3
for <77544@debbugs.gnu.org>; Sat, 05 Apr 2025 23:57:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1743922663; x=1744527463; darn=debbugs.gnu.org;
h=content-transfer-encoding:mime-version:user-agent:message-id:date
:references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=E8jB2RowIfxH78wS3UmzmpWYsHy2xrkmgRT5BNiwjRg=;
b=BwusJrawimDj9ExcGYMFFvi7WzE/QAC5PYWc0nLckL3y0cqvmt5JStjw0O8nIhuRqg
3eIGalfH2c16uEgCGZv5dj+E6lcS6tv1pTHY1Frz6mUC6pgAWbUed6hpiHH93Iekkppq
bsM5NZrxRGq7Se1obs4E15LCLruJ5WdHtwBdKWIH5UQuMPkmw+hV9B8PBI9gpk/rVnMb
+Wm0GGERSUuRTLTKLzIxx8IgwtvejDPG2HRLnioo/wttRn7i6s35Uaxhm0mEHgsK5Lud
/BONQAeBkvOT1jrmYuMHh8vcHnCCmdF8HVbYjZ0kFSYfpQys1R5NVvhUs/zIRPjYW1Sq
l8sg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1743922663; x=1744527463;
h=content-transfer-encoding:mime-version:user-agent:message-id:date
:references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
:to:cc:subject:date:message-id:reply-to;
bh=E8jB2RowIfxH78wS3UmzmpWYsHy2xrkmgRT5BNiwjRg=;
b=Z7mHAbtzs0VsWR1jh9gXSiiHOT6pQ5CK/QsejOalTTp+28tomWDUQzuRYQ5md+7Qkx
s0LIfJ4A4pgGNEi1snwpElm9EiG8CgaFzDo1MNaH5YcvCb/ANwS3w3kDzgJSHnEtbZvc
Qf83n37pSjPbUFT5YKiDq3CpAnj0iI5ehYH3qA9SmtSWrwv77qp6bv5SwTKR91iLh4oW
ANzwuVRTQhYXQRqrC1PvAUJdW1cEPwwwY9tx2cSa0U7KyqycZBSkmbSGKRt96xxQCJH0
+M+/4sXHHL8v0bBiQC4oc7JHGA/I4AldxfBEB5J5arfp/JzB+PlAWS2yD6AOA5WZZaz4
P7yw==
X-Forwarded-Encrypted: i=1;
AJvYcCXdCWS6NYq1jZJH6+RcUPSp4LE6oVxIZO6XN0rHMfHhGRWYIBDxF5Z0yi1raJDsiVPH71vNbQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YxLiMVcajBcMEurhsx1VtJ/J59RN+uIeGGmNmS1BCjUcEn4lGe4
36JVhgMvJO8l1kNqRYArJREd9DJzs4mxgkcoZSzCmuMdoy+vVtyT
X-Gm-Gg: ASbGncvEds8APq+iibf8lvIprIcyHUblzPE8LNlCHjfoCzX7MuRGLv2Yqdtv5coKSU1
+0q/GLwvoZcNDeG+oUotHvDbQ8DKVMKn888H47zc7Ie9cGdPHJrHYN+ta85JmkLKRGKpt28zray
lWQUBWKfmFVUVbXPB6C+saq8lOk2yay05sgdOQE2BljaQ3PK0FuheK7gRwGllboUd7qoml+cZoI
X5Jvvy5cp1aAGxlB7EUPlVZGmvthTqwR+pKBXhvvebggeqdDuot7VAzSpV5oGog9C7cCF+APt5k
Hi8f1FaL++8hO6az/3L6RypHXKpFoCJSkVESHDVeCA==
X-Google-Smtp-Source: AGHT+IEBGY0KH6s+yEWlzunVq3rOZ6HfuMVHNyRgDvebQSe8Jf3pSd78Lhbo+cvLlEcSSNx4JNYyyg==
X-Received: by 2002:a17:903:3c6b:b0:224:24d3:6103 with SMTP id
d9443c01a7336-22a955734f5mr82984365ad.35.1743922663150;
Sat, 05 Apr 2025 23:57:43 -0700 (PDT)
Received: from localhost ([115.240.90.130])
by smtp.gmail.com with UTF8SMTPSA id
d9443c01a7336-229787778e3sm59111545ad.254.2025.04.05.23.57.42
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Sat, 05 Apr 2025 23:57:42 -0700 (PDT)
From: Visuwesh
To: Elijah Gabe =?utf-8?Q?P=C3=A9rez?=
Subject: Re: bug#77544: (WIP) [PATCH] Prettify page separators.
In-Reply-To: <87zfgucwhp.fsf@gmail.com>
References: <87bjtbyzg1.fsf@gmail.com> <86ldsfxdhy.fsf@gnu.org>
<87zfgucwhp.fsf@gmail.com>
Date: Sun, 06 Apr 2025 12:27:39 +0530
Message-ID: <87h631pyjg.fsf@gmail.com>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77544
Cc: Gerd =?utf-8?Q?M=C3=B6llmann?= ,
Eli Zaretskii , 77544@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -1.0 (-)
[=E0=AE=9A=E0=AE=A9=E0=AE=BF =E0=AE=8F=E0=AE=AA=E0=AF=8D=E0=AE=B0=E0=AE=B2=
=E0=AF=8D 05, 2025] Elijah Gabe P=C3=A9rez wrote:
> Gerd M=C3=B6llmann writes:
>
>> Nothing to add to your comments ATM, but maybe an alternative idea: how
>> about solving this with a new type of display property for drawing a
>> horizontal line? Say `horizontal-line WIDTH' where WIDTH could be nil or
>> something to draw a line to the end of the display area? That would have
>> the advantage that it would be a relatively locally confined change and
>> would have no impact when not used, and hopefully little potential to
>> break unrelated things when not used.
>
> I like this idea.
Do we need a new display property when we have the :strike-through face
attribute? The following achieves the same effect, albeit the newline
is required for the :extend attribute to work properly AFAIU:
(font-lock-add-keywords=20
nil
'(("\f\n" (0 (prog1 nil
(put-text-property (match-beginning 0) (1- (match-end 0=
))
'display " ")
(put-text-property (match-beginning 0) (match-end 0)
'face '(:strike-through t :extend t)=
))))))
(push 'display font-lock-extra-managed-props)
From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 06 03:13:06 2025
Received: (at 77544) by debbugs.gnu.org; 6 Apr 2025 07:13:06 +0000
Received: from localhost ([127.0.0.1]:45833 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1u1KBm-0008JX-4v
for submit@debbugs.gnu.org; Sun, 06 Apr 2025 03:13:06 -0400
Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]:56439)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from )
id 1u1KBj-0008Iu-Kj
for 77544@debbugs.gnu.org; Sun, 06 Apr 2025 03:13:04 -0400
Received: by mail-wm1-x329.google.com with SMTP id
5b1f17b1804b1-43ce70f9afbso36153535e9.0
for <77544@debbugs.gnu.org>; Sun, 06 Apr 2025 00:13:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1743923577; x=1744528377; darn=debbugs.gnu.org;
h=content-transfer-encoding:mime-version:user-agent:message-id:date
:references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=8VrUaA04CUySiAMsb1nXYLVohkLvH+sjQVFJf7VwhwY=;
b=fccp9RTQpinZJfF0VbGgRmfZSdDnTt0JZ9+K+gwPSk7y7VlO2bFGIj+PeuqFxCF9FK
1AoO/7AAO9YnW8zo7vCqPfAAw5XRFLq1hFx/+Ne2doAW1LmCz6EXD85M2crdTYOpWTu/
3iNJE/Hfgl5lHSnB2AlIk0EaMyEwl+glfrArqVWD/ONKHFOQtiyHAVCBUsfVSTdLLzbp
+d5jAFhSBdDwPZ2KH7MASy6ZbgeO7oK5Cbhv3I8IJi1FI+SJzlbZIzD4Q9SZiQD3DYhT
SoYYGtG2oZLLAqEWvvkthqKBVPdmvDbAbH0XSYk0FHXqnGAxw97kaUV1DO+ZgWwM2/6V
dvnw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1743923577; x=1744528377;
h=content-transfer-encoding:mime-version:user-agent:message-id:date
:references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
:to:cc:subject:date:message-id:reply-to;
bh=8VrUaA04CUySiAMsb1nXYLVohkLvH+sjQVFJf7VwhwY=;
b=q5K8f705Mpw6jkbOo/Eoa5/XAAsAoPXRdfDSlcitNf/Ena9C9CNFJqtp3AUWQ/M5EY
FtstPmE7EpAEZfT0JRjPin/DPl6ne0Q0dFo65HatfpHhcLukrWPNZJHs6OBz2Q4wcsOv
CVcE0JWtEtXyQb0JG3UjTGJrDV+lOoMLAax4j6qITBWK9//zJorF+AfjGPt3r2fwNI44
K+ID+IhC+qWNeaFRVGrQPjS7Z8F1nzII/eIIgL2ZoDqx3tewN//AWG6TmqjAIJoesplm
uEa6/71I0tacyN7j3pMTL0zIFJWJOsniPz2/P3gIS3BTTSFknaVemobyLrk3J8jASdM5
fZSg==
X-Forwarded-Encrypted: i=1;
AJvYcCUt65s7xOVv09/HloXSXshmiVEpnYl8qFDgBA7Pb03tdHnt0KGhq5fN5I0DomDE/5RBYflGJw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YwE0BhncXW5Wk4WnmkBbGoFRoLIPsaeYmHm5SOHSL9w7YanNJ1b
UlSjjgAR+wxyxNCCHhJNtm7Xjk1GXGe/EjeKVUhQs/LUuj0vUML/woO7EX9R
X-Gm-Gg: ASbGncsNH1xOiz39b6abxY+BsaN2coDDFIuJqAEZqvwu8IwcFNW1zNml/5nmfHpY0bk
RV2s8jgMKJ25FwAYXhaWj3itOs8l4ZrzOYxVvmWNDEZCBMnOEmAQINiklOR1AwAQczMAItb4SnB
fQW0RjR6l8Q1BugTBZExmOR0aOmjJ+Lnl8MpbMed6N1UnDTBseooaTkbDE8oV5CDpQn4pRHJOCM
ghlmjJqUtJ/z8uaLdJtAOC50o0qxWp2h/wV/bFEjfzsUKfgOlv56LR9NBweHyxToeuWlnU9Nodo
4PI99s6OAaY4BgTBWpmzkpJbftSW81BBkcTDukGU9FK92yJgtCnJm8hqFArJo2x7bXbcjaWrlbC
lCHDxx9ASRyguPYOnz/MkB4gGuas3JmX/vaD75jPqgstMPK4DtVRpzQ==
X-Google-Smtp-Source: AGHT+IGS64hoTB5l9vpVmz8454uWFbU8jXtdKXRcKwRl6ro02XJU43xm7y8EVBxFhzSg3psECQd7Lg==
X-Received: by 2002:a05:600c:3b08:b0:43c:fb5b:84d8 with SMTP id
5b1f17b1804b1-43ed0c50883mr64936165e9.16.1743923576639;
Sun, 06 Apr 2025 00:12:56 -0700 (PDT)
Received: from pro2 (p200300e0b7278a003128f733a5af3bcd.dip0.t-ipconnect.de.
[2003:e0:b727:8a00:3128:f733:a5af:3bcd])
by smtp.gmail.com with ESMTPSA id
5b1f17b1804b1-43ec1663060sm96454675e9.14.2025.04.06.00.12.55
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Sun, 06 Apr 2025 00:12:56 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?=
To: Visuwesh
Subject: Re: bug#77544: (WIP) [PATCH] Prettify page separators.
In-Reply-To: <87h631pyjg.fsf@gmail.com>
References: <87bjtbyzg1.fsf@gmail.com> <86ldsfxdhy.fsf@gnu.org>
<87zfgucwhp.fsf@gmail.com>
<87h631pyjg.fsf@gmail.com>
Date: Sun, 06 Apr 2025 09:12:55 +0200
Message-ID:
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77544
Cc: Elijah Gabe =?utf-8?Q?P=C3=A9rez?= ,
77544@debbugs.gnu.org, Eli Zaretskii
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -1.0 (-)
Visuwesh writes:
> [=E0=AE=9A=E0=AE=A9=E0=AE=BF =E0=AE=8F=E0=AE=AA=E0=AF=8D=E0=AE=B0=E0=AE=
=B2=E0=AF=8D 05, 2025] Elijah Gabe P=C3=A9rez wrote:
>
>> Gerd M=C3=B6llmann writes:
>>
>>> Nothing to add to your comments ATM, but maybe an alternative idea: how
>>> about solving this with a new type of display property for drawing a
>>> horizontal line? Say `horizontal-line WIDTH' where WIDTH could be nil or
>>> something to draw a line to the end of the display area? That would have
>>> the advantage that it would be a relatively locally confined change and
>>> would have no impact when not used, and hopefully little potential to
>>> break unrelated things when not used.
>>
>> I like this idea.
>
> Do we need a new display property when we have the :strike-through face
> attribute? The following achieves the same effect, albeit the newline
> is required for the :extend attribute to work properly AFAIU:
>
> (font-lock-add-keywords=20
> nil
> '(("\f\n" (0 (prog1 nil
> (put-text-property (match-beginning 0) (1- (match-end=
0))
> 'display " ")
> (put-text-property (match-beginning 0) (match-end 0)
> 'face '(:strike-through t :extend =
t)))))))
> (push 'display font-lock-extra-managed-props)
Hm, that's right. And at least on my tty (iTerm2 on macOS)
(display-supports-face-attributes-p '(:strike-through t))
=3D> t
and it actually works, too.
From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 06 03:31:25 2025
Received: (at 77544) by debbugs.gnu.org; 6 Apr 2025 07:31:25 +0000
Received: from localhost ([127.0.0.1]:45892 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1u1KTU-0000pY-Th
for submit@debbugs.gnu.org; Sun, 06 Apr 2025 03:31:25 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:53850)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from ) id 1u1KTS-0000p8-I0
for 77544@debbugs.gnu.org; Sun, 06 Apr 2025 03:31:23 -0400
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 )
id 1u1KTL-0005P8-SP; Sun, 06 Apr 2025 03:31:16 -0400
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=3Z3ZSiRG7/V/xWHXMw++u+kgKq/EPCsvb9dKinCKq+c=; b=VMHZbcTWcZvQe/oV9NwF
kaUHcCzUs8oqNhauDwHlkqDkITP8oQImn//TxLv8x1qro79GpITW8u+f7keZAtMVO0ObOTZiMrcJ3
mSN/oa1w1CERcxezA6VwTL4jnQakdp6U1x710EwignvDjPocYXXLqoAmNaPiReREElA5swhsMkKqP
U1dV9ZPP7uo0BJ+Vf1oCJt4ox9mcXABqzaH/B1gVqj6/x5aaOvs1GNmLfO+FFMBhmH9u7l5nA0U85
nfZbrYrNHxgtmV6vZMIkuyzoDXa8h8IVR5ocm0Jj4XmP8V8iObhhgYQy83+b9DvYeSRq/OS/oQ95z
+YC6+olMy9+ZCw==;
Date: Sun, 06 Apr 2025 10:31:13 +0300
Message-Id: <867c3xvj9a.fsf@gnu.org>
From: Eli Zaretskii
To: Visuwesh
In-Reply-To: <87h631pyjg.fsf@gmail.com> (message from Visuwesh on Sun, 06 Apr
2025 12:27:39 +0530)
Subject: Re: bug#77544: (WIP) [PATCH] Prettify page separators.
References: <87bjtbyzg1.fsf@gmail.com> <86ldsfxdhy.fsf@gnu.org>
<87zfgucwhp.fsf@gmail.com>
<87h631pyjg.fsf@gmail.com>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77544
Cc: gerd.moellmann@gmail.com, eg642616@gmail.com, 77544@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -3.3 (---)
> From: Visuwesh
> Cc: Gerd Möllmann , Eli
> Zaretskii ,
> 77544@debbugs.gnu.org
> Date: Sun, 06 Apr 2025 12:27:39 +0530
>
> [சனி ஏப்ரல் 05, 2025] Elijah Gabe Pérez wrote:
>
> > Gerd Möllmann writes:
> >
> >> Nothing to add to your comments ATM, but maybe an alternative idea: how
> >> about solving this with a new type of display property for drawing a
> >> horizontal line? Say `horizontal-line WIDTH' where WIDTH could be nil or
> >> something to draw a line to the end of the display area? That would have
> >> the advantage that it would be a relatively locally confined change and
> >> would have no impact when not used, and hopefully little potential to
> >> break unrelated things when not used.
> >
> > I like this idea.
>
> Do we need a new display property when we have the :strike-through face
> attribute? The following achieves the same effect, albeit the newline
> is required for the :extend attribute to work properly AFAIU:
>
> (font-lock-add-keywords
> nil
> '(("\f\n" (0 (prog1 nil
> (put-text-property (match-beginning 0) (1- (match-end 0))
> 'display " ")
> (put-text-property (match-beginning 0) (match-end 0)
> 'face '(:strike-through t :extend t)))))))
> (push 'display font-lock-extra-managed-props)
Thanks, but what does this do on TTY frames? We'd want to show
dashes, I think.
Besides, we don't have any control on the thickness of the
strike-through line, something that would be a natural extension here.
And it sounds like a kludge to me, TBH.
From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 06 06:37:18 2025
Received: (at 77544) by debbugs.gnu.org; 6 Apr 2025 10:37:18 +0000
Received: from localhost ([127.0.0.1]:46170 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1u1NNO-0001AV-FQ
for submit@debbugs.gnu.org; Sun, 06 Apr 2025 06:37:18 -0400
Received: from mail-pl1-x643.google.com ([2607:f8b0:4864:20::643]:46393)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from )
id 1u1NNM-0001AF-6H
for 77544@debbugs.gnu.org; Sun, 06 Apr 2025 06:37:16 -0400
Received: by mail-pl1-x643.google.com with SMTP id
d9443c01a7336-227b828de00so32486345ad.1
for <77544@debbugs.gnu.org>; Sun, 06 Apr 2025 03:37:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1743935830; x=1744540630; darn=debbugs.gnu.org;
h=content-transfer-encoding:mime-version:user-agent:message-id:date
:references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=KSpY4FRHv1LM2MlH/rCLAvIMGd2Eq0lex1maQm1+0AM=;
b=g/CLwkViuuur93G0XN0V6qCW/y7gPR7R4FsgosFhukPKVBMbNNgx4RGOwai/nKmO1P
120dnNKL4Ecvo3s3p8TPAd7MmbUVkX2Z6XFueS29YXloMDampiHgbKU7DUDq1Fd0obVo
yOMno9dEkiZtH8jQ2o+as58klb4GyMxLUkO+1sskfHO4IczSHUQv46RgkV7Gj5vEJx3N
UKqCklfKUd6/0krobiVlEFN7fK0VWXZH5QAQ19z+k2oBSPL6fLXZ2yhUKz67TjVieHKy
DcqHxOhrPbrinvS5z/qU19kLDUQYzUGA7ISXighg4AW9rN5yM1/lsrmK+5xnAZpouTXm
7L+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1743935830; x=1744540630;
h=content-transfer-encoding:mime-version:user-agent:message-id:date
:references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
:to:cc:subject:date:message-id:reply-to;
bh=KSpY4FRHv1LM2MlH/rCLAvIMGd2Eq0lex1maQm1+0AM=;
b=nwjwDS4McoMQj51aTYZtxwZsqWrZH7lpnjT3EFtASPdBL+9w31OKPwMQ0Oo5jWa4NQ
f1zkJVPE1/xMXX0dT2mgaWFPmDdB90T53f4hnvytz3U4UQ2MP/COMpZWUYOP1As4cl4X
6RAhpahefJ6WwykLj3o1xTWPQWi3zNnFSR5lJzubCDb92EJKF0dXn8uCuNSB8iXhpnOT
yB7qXoAXmoNooSuQbnMWRfOwxQyvr6Rn1/nslqX+q0s+TUooFDVQ1tU+rKBsNm2/TVjL
gHWq0WN1Xa78u+xAq+PK0cjSTM5z2wGV/LKUDZkFsH8SffWWSIFsBzQgtW0OAsuDrJln
vidg==
X-Forwarded-Encrypted: i=1;
AJvYcCWZcjj8og2ufoUK8j3crbdtrD2+jGDV3Kn3qaoqylS8uq9ZkJCvPbHcifW4dXb1XqogtwCj2w==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yx9OsR3MzYUjKJ7q4eg46mq2SMFa7q3PJjt8GBR0g9po0AOgiBM
J+rmkA7sHaMADx+QCj2gdThpwmnZImStgP2dlnQUGYyeMyNqvtPq
X-Gm-Gg: ASbGnct3a0rLzs/rJenWCAZlj4cxUApOIJcMBX6f7owTzVyhKVY2kMr2Et3wHrPOoC6
QrC4uV2OEslTOjmbSsh+eoEHeVtSYvSiQWXfzGUIsaKn/rSJ4YQ7K2iji5ez9r9f51XjUBJ56jZ
VP73C9QSTCzhCagc9QXTDnTHvQWetmzlqaqdecauFUe0nezaHbKAe+p4H48y/tl0ZXQBfSXwF1m
Ahx342GK/p75Nqk3Pl+lZ8PX5Ue3qvmIwp9ZO2LksGbUaqw7IxFLHNNo5tv8ZKQXuTxe8moZNB0
EZlo4Iz1v8MD4v3Uppu1MYLJFOPyg0MZhGFPWIekcMr/Pg==
X-Google-Smtp-Source: AGHT+IETIHB+Yw0VtfAMJduthHdqZ/4O4fkbcGdxp3vkSWwX6ouGJm6IycbrZjzRTnEstgkF6SwU+g==
X-Received: by 2002:a17:903:19c6:b0:223:50f0:b97 with SMTP id
d9443c01a7336-22a955a19a0mr75791425ad.52.1743935830095;
Sun, 06 Apr 2025 03:37:10 -0700 (PDT)
Received: from localhost ([1.7.159.71]) by smtp.gmail.com with UTF8SMTPSA id
d9443c01a7336-2297865e454sm61295385ad.107.2025.04.06.03.37.08
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Sun, 06 Apr 2025 03:37:09 -0700 (PDT)
From: Visuwesh
To: Eli Zaretskii
Subject: Re: bug#77544: (WIP) [PATCH] Prettify page separators.
In-Reply-To: <867c3xvj9a.fsf@gnu.org>
References: <87bjtbyzg1.fsf@gmail.com> <86ldsfxdhy.fsf@gnu.org>
<87zfgucwhp.fsf@gmail.com>
<87h631pyjg.fsf@gmail.com> <867c3xvj9a.fsf@gnu.org>
Date: Sun, 06 Apr 2025 16:07:06 +0530
Message-ID: <87cydppodp.fsf@gmail.com>
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: 3.6 (+++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
has NOT identified this incoming email as spam. The original
message has been attached to this so you can view it or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: [ஞாயிறு ஏப்ரல் 06, 2025] Eli Zaretskii
wrote: >> Do we need a new display property when we have the :strike-through
face >> attribute? The following achieves the same effect, albeit the newline
>> is required for the :extend attribute to work pro [...]
Content analysis details: (3.6 points, 10.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
no trust
[2607:f8b0:4864:20:0:0:0:643 listed in]
[list.dnswl.org]
3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS
[1.7.159.71 listed in zen.spamhaus.org]
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
-0.0 SPF_PASS SPF: sender matches SPF record
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
provider (visuweshm[at]gmail.com)
X-Debbugs-Envelope-To: 77544
Cc: gerd.moellmann@gmail.com, eg642616@gmail.com, 77544@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: 2.6 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
has NOT identified this incoming email as spam. The original
message has been attached to this so you can view it or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: [ஞாயிறு ஏப்ரல் 06, 2025] Eli Zaretskii
wrote: >> Do we need a new display property when we have the :strike-through
face >> attribute? The following achieves the same effect, albeit the newline
>> is required for the :extend attribute to work pro [...]
Content analysis details: (2.6 points, 10.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
no trust
[2607:f8b0:4864:20:0:0:0:643 listed in]
[list.dnswl.org]
3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS
[1.7.159.71 listed in zen.spamhaus.org]
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
-0.0 SPF_PASS SPF: sender matches SPF record
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
provider (visuweshm[at]gmail.com)
-1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list
manager
[=E0=AE=9E=E0=AE=BE=E0=AE=AF=E0=AE=BF=E0=AE=B1=E0=AF=81 =E0=AE=8F=E0=AE=AA=
=E0=AF=8D=E0=AE=B0=E0=AE=B2=E0=AF=8D 06, 2025] Eli Zaretskii wrote:
>> Do we need a new display property when we have the :strike-through face
>> attribute? The following achieves the same effect, albeit the newline
>> is required for the :extend attribute to work properly AFAIU:
>>=20
>> (font-lock-add-keywords=20
>> nil
>> '(("\f\n" (0 (prog1 nil
>> (put-text-property (match-beginning 0) (1- (match-en=
d 0))
>> 'display " ")
>> (put-text-property (match-beginning 0) (match-end 0)
>> 'face '(:strike-through t :extend=
t)))))))
>> (push 'display font-lock-extra-managed-props)
>
> Thanks, but what does this do on TTY frames? We'd want to show
> dashes, I think.
I see no difference from the line in show in a GUI frame, and in xterm.
However, I don't see a line at all in the Linux tty thingy. The font
used in xterm does not seem to matter either.
> Besides, we don't have any control on the thickness of the
> strike-through line, something that would be a natural extension here.
> And it sounds like a kludge to me, TBH.
More styling for the horizontal line, similar to what have for
:underline, would be nice to have too. And I agree, it is a bit of
hack.
From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 06 06:59:02 2025
Received: (at 77544) by debbugs.gnu.org; 6 Apr 2025 10:59:02 +0000
Received: from localhost ([127.0.0.1]:46194 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1u1NiQ-00029h-1J
for submit@debbugs.gnu.org; Sun, 06 Apr 2025 06:59:02 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:34388)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from ) id 1u1NiN-000297-JI
for 77544@debbugs.gnu.org; Sun, 06 Apr 2025 06:59:00 -0400
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 )
id 1u1NiI-0001XV-8G; Sun, 06 Apr 2025 06:58:54 -0400
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=8mS78FkK3fUuezH7/Qm7ux4YXv41XaiGwNG1s0pdbV0=; b=r2PHja5BL/sk1kNSXCnd
e5vad7hRWywTbqc44H1Jz0xzHvz23i5GZ/ku7BP218zqy4qjLisR8wlai0bZ5/M4ZormfK+9l5slf
/eQ/hdP3mrJBe9JJF7/3sjpfWbT5mPJnlIzTO4FI8V4V+ybmxBGBLvqLW10mr9k6pe1eg2n4gBNrq
j1ALq0QxT4/ZZjQZvz9qQeDciTiMroO2LzJ/meNN+NgWhp/KY6lKJEo5sgS/GqBQufbPySAD6GsrR
1usUeNbNauxx5ZQRdwQFxX8tjnhxOQ+6MyH+wC97NkYqmvV8HZ/XCqd7+Qxegw2KznsOC00b6hReb
6kCrVtkQ1bVzIA==;
Date: Sun, 06 Apr 2025 13:58:50 +0300
Message-Id: <8634elv9n9.fsf@gnu.org>
From: Eli Zaretskii
To: Visuwesh
In-Reply-To: <87cydppodp.fsf@gmail.com> (message from Visuwesh on Sun, 06 Apr
2025 16:07:06 +0530)
Subject: Re: bug#77544: (WIP) [PATCH] Prettify page separators.
References: <87bjtbyzg1.fsf@gmail.com> <86ldsfxdhy.fsf@gnu.org>
<87zfgucwhp.fsf@gmail.com>
<87h631pyjg.fsf@gmail.com> <867c3xvj9a.fsf@gnu.org> <87cydppodp.fsf@gmail.com>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77544
Cc: gerd.moellmann@gmail.com, eg642616@gmail.com, 77544@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -3.3 (---)
> From: Visuwesh
> Cc: eg642616@gmail.com, gerd.moellmann@gmail.com, 77544@debbugs.gnu.org
> Date: Sun, 06 Apr 2025 16:07:06 +0530
>
> [ஞாயிறு ஏப்ரல் 06, 2025] Eli Zaretskii wrote:
>
> > Thanks, but what does this do on TTY frames? We'd want to show
> > dashes, I think.
>
> I see no difference from the line in show in a GUI frame, and in xterm.
> However, I don't see a line at all in the Linux tty thingy. The font
> used in xterm does not seem to matter either.
>
> > Besides, we don't have any control on the thickness of the
> > strike-through line, something that would be a natural extension here.
> > And it sounds like a kludge to me, TBH.
>
> More styling for the horizontal line, similar to what have for
> :underline, would be nice to have too. And I agree, it is a bit of
> hack.
I think a new kind of display property is a cleaner solution. It will
also make it easier to extend the feature, e.g., if we want the visual
appearance be more like what word processors show for a "page break".
From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 06 09:27:23 2025
Received: (at 77544) by debbugs.gnu.org; 6 Apr 2025 13:27:23 +0000
Received: from localhost ([127.0.0.1]:46592 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1u1Q1y-00042R-Oq
for submit@debbugs.gnu.org; Sun, 06 Apr 2025 09:27:23 -0400
Received: from mail-qv1-xf43.google.com ([2607:f8b0:4864:20::f43]:46197)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from )
id 1u1Q1v-00042B-Lh
for 77544@debbugs.gnu.org; Sun, 06 Apr 2025 09:27:20 -0400
Received: by mail-qv1-xf43.google.com with SMTP id
6a1803df08f44-6e8f6970326so34687746d6.0
for <77544@debbugs.gnu.org>; Sun, 06 Apr 2025 06:27:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1743946034; x=1744550834; darn=debbugs.gnu.org;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc:subject:date:message-id:reply-to;
bh=qjZc/Hig2n56pMTfZxh06ynxq22RCqwzC9qpO4T2qP0=;
b=j81bnV3eaVjQ5Z9qeGHzJuvWwHbjE2R9aqMoQdNQIbq4unraFziBlFF4AW4YhpL2CE
1IVgIq+hG2H4lj4jPYTqWCbXnhahtwfsy4DfXGF66Hn5Isf6w4fdK3fk6B033ygnTdzS
W+p1F9Qo9NczSafTg1NVv0G1q5nvH55LNTrpVydlT3m1U4QhFQfN7H0YZVcDlroRpEEK
TaDWIdBlHZyGvs5sCruUAfSEttWX9CK+UNNXMl+eTB8ZZPjoo+f9qjXgokmjuvHX0XHw
xpnQxZr0Mnan/wuRTkaONuOF38qBOl/lbGZRDqV7EVFgxHOif4eubgfQakRX8cvyt8Gg
rV/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1743946034; x=1744550834;
h=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=qjZc/Hig2n56pMTfZxh06ynxq22RCqwzC9qpO4T2qP0=;
b=nqzaUqaTmvuQo7I115NGSbpPyEP60rDvSUpPj2c1GivhpZQaXdYFu/gORBYZ8bP32H
2A3ZJFUNEbdx7mtHE/RPR+0NM4xuvfUImQCrxb1pF8tVGqIrKdDnFFfqdRGw9rrSfsLs
MeHeciJ/rjhvIptIXMYGe0zuvSxEYo6jM/Yr6wL5XKs4aqArlmZZ7YLkJv6XC1w89gEX
iutBIOl/uyFUf67UgfvSx2E3I+2kW+QUm/O54aubA4uSoFE7zMxMhWKlcBt+FQ4GXL8y
jY3OwyBRZ7zZntBlTf1U5TcHWuHM4sRRnHkBkpALp9URvtAnOdw6rTLDUjWqlfw/UNwR
jlTw==
X-Forwarded-Encrypted: i=1;
AJvYcCXxChyiGdbuYx6seaRcdUshkIEWbiUNFdsHGZ0qyym8w4899gLHtoV36dlG70w4EoKh80YclA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YxKuXQsikiFPzdRuLxVicmSsH9W477CDpJduuEk/o3vzJqRLgnG
eQnDMLZNKExWK/saMZ3+Q8iXFuWg0F8XumSbvsN9Vo83Xpvbl5amWAD6ZvAGKffBzwyv47tLYuc
bt5Mec5tW9K49mu4YJF4K2qUI/NU=
X-Gm-Gg: ASbGncucnXVms+1Qdv8rHQmgIt8Wl47NecW3PVD2CrAnJyuBxLTAd6jqjXxz6AjkCEV
+Q9FNmeyaFgjZJ2VL8wSYOU6fiK276xAX0UvGZP8pyFJgUg5/Bx/0vONGJAI9+NCqDoSSTZKzJT
e60pZWH1WTYeJwk1oOxLAIbHVY0AwmRfOsezikMaKljjhdIVpmO6vdM9A=
X-Google-Smtp-Source: AGHT+IE2tkXXsPCIj+xWrr4jYDrHpAdSFp5ULRqNwUTicv+P0c13wgsZYHHA5AOhSJQLU+/9Kvnidw96ZYz6vX2SXUc=
X-Received: by 2002:a05:6214:20a5:b0:6e8:fa33:2969 with SMTP id
6a1803df08f44-6f0b7413861mr107473546d6.10.1743946033952; Sun, 06 Apr 2025
06:27:13 -0700 (PDT)
MIME-Version: 1.0
References: <87bjtbyzg1.fsf@gmail.com> <86ldsfxdhy.fsf@gnu.org>
<86mscux5hg.fsf@gnu.org> <87v7ricw8p.fsf@gmail.com>
<86msctvpxe.fsf@gnu.org>
<86bjt9vl0r.fsf@gnu.org>
In-Reply-To: <86bjt9vl0r.fsf@gnu.org>
From: =?UTF-8?Q?Elijah_Gabe_P=C3=A9rez?=
Date: Sun, 6 Apr 2025 07:27:01 -0600
X-Gm-Features: ATxdqUH4WwE6FxDtlsvKLx9YPX7k9LXFmoPAWomHUEIcBAcmXmGt2FeJEAM0GOo
Message-ID:
Subject: Re: bug#77544: (WIP) [PATCH] Prettify page separators.
To: Eli Zaretskii
Content-Type: multipart/alternative; boundary="000000000000dc7a9b06321c13d9"
X-Spam-Score: 0.3 (/)
X-Debbugs-Envelope-To: 77544
Cc: gerd.moellmann@gmail.com, 77544@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -0.7 (/)
--000000000000dc7a9b06321c13d9
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Eli Zaretskii writes:
> > From: Elijah Gabe P=C3=A9rez
> > Date: Sat, 5 Apr 2025 23:33:04 -0600
> >
> > Eli Zaretskii writes:
> >
> > > From: Elijah Gabe P=C3=A9rez
> > > Cc: Gerd M=C3=B6llmann ,
> > > 77544@debbugs.gnu.org
> > > Date: Sat, 05 Apr 2025 12:13:26 -0600
> > >
> > > Or an optional feature of whitespace-mode?
> > >
> > > I don't think whitespace-mode is related to this.
> >
> > The form-feed ^L character is one of whitespace characters.
> >
> > Right, but I don't think this should be whitespace-mode exclusive. IMO
> this new minor mode can be used as
> > alternative to make-separator-line (for example in shortdoc buffers)
> which looks ugly in both terminal and GUI
> > frames.
>
> Sure, but why is it a problem to make this part of whitespace-mode?
> It already has a number of optional features, each one of which can
> be turned on and off separately.
>
> The advantage is that we don't need to have yet another minor mode,
> yet another mode-line lighter, etc. Also, some people already turn on
> whitespace-mode in text modes.
>
It makes sense, since ^L characters are often used in files.
>
--000000000000dc7a9b06321c13d9
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
> From: Elijah Gabe P=C3=A9rez <eg64261=
6@gmail.com>
> Date: Sat, 5 Apr 2025 23:33:04 -0600
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
>=C2=A0 > From: Elijah Gabe P=C3=A9rez <eg642616@gmail.=
com>
>=C2=A0 > Cc: Gerd M=C3=B6llmann <gerd.moellmann@=
gmail.com>,
>=C2=A0 >=C2=A0 =C2=A077544@debbugs.gnu.org
>=C2=A0 > Date: Sat, 05 Apr 2025 12:13:26 -0600
>=C2=A0 >
>=C2=A0 >=C2=A0 Or an optional feature of whitespace-mode?
>=C2=A0 >
>=C2=A0 > I don't think whitespace-mode is related to this.
>
>=C2=A0 The form-feed ^L character is one of whitespace characters.
>
> Right, but I don't think this should be whitespace-mode exclusive.=
=C2=A0 IMO this new minor mode can be used as
> alternative to make-separator-line (for example in shortdoc buffers) w=
hich looks ugly in both terminal and GUI
> frames.
Sure, but why is it a problem to make this part of whitespace-mode?
It already has a number of optional features, each one of which can
be turned on and off separately.
The advantage is that we don't need to have yet another minor mode,
yet another mode-line lighter, etc.=C2=A0 Also, some people already turn on=
whitespace-mode in text modes.
It makes sense, since ^L characters are often used in files.
--000000000000dc7a9b06321c13d9--
From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 09 01:09:29 2025
Received: (at 77544) by debbugs.gnu.org; 9 Aug 2025 05:09:29 +0000
Received: from localhost ([127.0.0.1]:39803 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1ukbpg-0001P5-SJ
for submit@debbugs.gnu.org; Sat, 09 Aug 2025 01:09:29 -0400
Received: from mail-oi1-x244.google.com ([2607:f8b0:4864:20::244]:52365)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from )
id 1ukbpb-0001On-5s
for 77544@debbugs.gnu.org; Sat, 09 Aug 2025 01:09:25 -0400
Received: by mail-oi1-x244.google.com with SMTP id
5614622812f47-4358a73e8a3so1481396b6e.0
for <77544@debbugs.gnu.org>; Fri, 08 Aug 2025 22:09:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1754716157; x=1755320957; darn=debbugs.gnu.org;
h=mime-version:user-agent:message-id:date:references:in-reply-to
:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=jBNC8W3Nsw4BlJo9wjBd2U8bzp2ObuN+3zlC6h59JzU=;
b=GxwIJU9x0nvthfPLUebB3/d/F3H9O3mq+JU/CbMpvHDqrZFd2mjaCCIoycwnHQvTNJ
jZl871KBq3EIXz442CgNe+3Cr55F0BUZ4zrAbgdJDbVTjsLCIwzHbpc27luyLwfvSSKP
dJ71K/Es8s3U+aJJ5kvrN3Orm20n8h2WM3xtzrDZBEEMN81aoPGydXCknGLeZMehVMLT
TXXa9rfT5WguAslRgUHF8+SvGym7De9tuOIFyJxgZHLLf4XJtD8WeWlxok471PKBPr/x
BStX9ko3y2Zohn7axzU141O9+XQMQUBq9cDA+agJ8sA/SJ/YU2bvlKch0ffUNumJMyFI
LQBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1754716157; x=1755320957;
h=mime-version:user-agent:message-id:date:references:in-reply-to
:subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=jBNC8W3Nsw4BlJo9wjBd2U8bzp2ObuN+3zlC6h59JzU=;
b=vuJrDcJVJ5piOrGmKtzzNg235WcoIjIvqF3qPkRRali3tm0L62RqzoGCCFB6CERRoY
R012gkbl6xy+lX+w0o3NUjq8rb3E56W2kKXt73fn+20q1XJa5mB4hssJ2sMa/Ki1+P/L
xHIpGJNweMSnFuJ/P7YxWdd/72+hmHtZMeUN1qehtXsc1iqYUA2vSSSy9qCR69WA7FQH
WmyNQedg3cjcH/wF32Tqx1F2dDpZYj5TsqeGZHsJR4LWPmg6BUiIeJNRPQ6CPZUnz66e
druJC7eb2/NxPN+53OPPCojnAFsVFURe7KcZCOgOdbuVM2zlt+1AnnRfiuw44/283tp3
3xpA==
X-Forwarded-Encrypted: i=1;
AJvYcCWNbCDK2ixCtOt4VYQ3PUgTglQzqFZRMsalzLXRp2tCo3TfKaJVl40jcUumYBRDJdT2cuYmuA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yz0SMKYMtOFk7BFfEWeAqGmmIFO3IxCFOucGPLBcHPMZDmKfU+i
UjazWFR7HMsXLbJRqUSUXEEVwbPDrajDsCUGbrSj0qVTjwTAjIGntQlAbQ61lBeS
X-Gm-Gg: ASbGncvfgDsl1AK1whvK8u+5nTHWB/ZtAMH2r4IodrcFx92UkuUrsHiRp+04QAnW3iq
fpKIlY3kEtY41avAU5ZhNGNU3m292BqrBMu3xEihTAiuSvlSswaUSs0fcusYgqVd97QboSmQAje
4BW3PfktA2Q6MF8pL7WgtFx5phn1FMgoiwxbmAuFxP1VVdE5gek18sHkU6X/HDP7espChbBIVjh
L4AlyU4hCxMxMxCCUCwYouBvU5rO9t3Pq45YUwPjVdV2kPqhrCyFIW4afOxorz1/kLIB/uLwmTD
w2YdCZZpcWKg0FB2GyylmyHiI7lep2C6EBW3To6lp/Fr1Ksa1mWA3oLZ32TSpw8HE9CporQX67s
/hzxboBJ68iVF7dI=
X-Google-Smtp-Source: AGHT+IEmVW/aukdp3H7MrDJVg7HzHd3l08tmugvyUciX02XQVpFuhQ2nakgNDYa9bqem2X//xrVLWw==
X-Received: by 2002:a05:6808:2229:b0:433:f07e:eeb1 with SMTP id
5614622812f47-43597d315d0mr2855944b6e.11.1754716156557;
Fri, 08 Aug 2025 22:09:16 -0700 (PDT)
Received: from fedora ([189.215.161.127]) by smtp.gmail.com with ESMTPSA id
5614622812f47-43358891df0sm4418541b6e.23.2025.08.08.22.09.12
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Fri, 08 Aug 2025 22:09:15 -0700 (PDT)
From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?=
To: Eli Zaretskii
Subject: Re: bug#77544: (WIP) [PATCH] Prettify page separators.
In-Reply-To: <8634elv9n9.fsf@gnu.org>
References: <87bjtbyzg1.fsf@gmail.com> <86ldsfxdhy.fsf@gnu.org>
<87zfgucwhp.fsf@gmail.com>
<87h631pyjg.fsf@gmail.com> <867c3xvj9a.fsf@gnu.org>
<87cydppodp.fsf@gmail.com> <8634elv9n9.fsf@gnu.org>
Date: Fri, 08 Aug 2025 23:09:03 -0600
Message-ID: <87o6spf5e8.fsf@gmail.com>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.3 (/)
X-Debbugs-Envelope-To: 77544
Cc: gerd.moellmann@gmail.com, 77544@debbugs.gnu.org,
Visuwesh
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -0.7 (/)
--=-=-=
Content-Type: text/plain
Sorry for the delay, i tried to make the strike-through face property
support the same line styles as the underline, but i couldn't figure out
how, as it seems that strike-through is designed to support only 1
style.
My solution was to make a kind of hack to display the underline as
strike-through, and it worked.
Another solution was to reuse the code from display space type, for make
a new display property type (as suggested by Gerd), but I ended up
getting lost when I saw too many references to this in the source code,
so for now the hack was the only solution I could think of.
This should work well in both GUI and TUI frames.
In GUI, the line will be displayed as a double horizontal line (as
shown in the screenshot)
--=-=-=
Content-Type: image/png
Content-Disposition: inline;
filename="Captura desde 2025-08-08 23-05-44.png"
Content-Transfer-Encoding: base64
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
2g9nH55K+VVVVQmtVmsXT0lJER06dJCf2z580tLShKenp9i5c2ez8rJ9OLzxxhtyTi+99JLIzc2V
89u0aZP8+g0bNghfX19RW1srf7jX1taKxMREkZiYKG9v9+7dqvp/3rx54r777pPj9957r5g/f75d
/zTWvhpN9Y+a7T///PNi9OjRcnz06NHiueeeE0IIceHCBQFAVFdXi02bNolNmzaJqqoqAcCu/5ra
/6b632QyCU9PT7v1k5OT7T6co6OjxWuvvSY/P3z4sEhNTVXVN0Ll+BcqitOrKV6V+s+WX3JysrzO
m2++2ez8Gnv/qjn+Sv2r1WrFypUr5edffPGF8PLyEiaTSQghxJ133im++eYbOf7+++/Lf9CV3t+u
GP9KWpK/0vhsaf6u3P7VjF+lzze122/J+Gvq80G44P1/vX8+1ld0okgsxmJRdr5Mdf9Q++QWc15t
P0jgpXWe7pAhQ+RpAkOGDLH7yqq4uBg1NTWIjIyUl/Xt2xdVVVUoKipCly5dAAA9e/aU47169cKl
S5dU56fT6VBdXW23TKvVyvNwm6KUnxAC1dXVdvHp06dj1KhRdtspLCzEQw89hAULFmDChAlXlV90
dLQcW7x4MQAgLy8PNTU16Nevn/y6gQMHwmQyKX41JYRQ1f/x8fGYPXs2rFYrhBD4+uuvkZqaatc/
jbUfGhqqav8a6x812x8/fjz+/ve/w2g0QqPRYO/evXj55ZcBAN27d4fBYEBBQQFeffVVaDQaxMTE
wM/PD127dpX7T2n8NdX/FovFbv2oqCi7fR0/fjySk5PRp08fxMXFYdCgQRg0aFCTx6ahloz/llDq
P5u+ffvaPXZVfmqPv1L/9ujRQ34cHh4Os9mMkpISdO3a1eE2Xz179pS/di0uLm7y/e2K8a/m/XG1
+ZeUlDQ5Pluavyu231pc8eOUzcnf2ecDVLz/f+2fj/V5+Uo1hKWWd4Rwd25RvPr4+QAATCUmBPQI
aNa6tqJWo6m7tZaHhzTVt/4tTRrGm3O7k/3799vNsa3fRmvkp9VqER4ebredlStXwmKxYOjQoVed
n7MLDmzrOftAUHM/RDX7N3bsWJhMJhw6dAhWqxVVVVW4/fbbVbevZv8a6x8127/11lvh7e2N3bt3
w8PDA15eXhgxYoT8usjISOTl5SE/Px+48oFq+zBVe3yh0P/O1rdJSkqC0WhEYmIizGYzZsyYgWXL
lsHf3/nFjc60ZPy3VFP95yw/T09Pl+Wn5vir6d/6+dke27adnZ2NZ599Fl999RWKi6X7TNquSHd2
fOu/v10x/tW8P1yZf/1ttzR/V2y/PWtO/o1dEKY0Pn/tn4/1GYukX9rS+vOOEO7OLYpXQ2cDvPXe
KM8pR0h0SLPWtQ3k+v+XbHvs6empejv13xwAUFZWBh8fH/j6+jb7LFdz8rM9rh+vqanBpUuX0L17
d3mZwWDAAw88gGeeeQbx8fF2f1hdkd/mzZsRFhZmFwsJCUF2dnaL9g9X7hAxevRopKWlQQiBMWPG
QK/Xq2pf7f411j9qtu/j44MxY8YgPT0dnp6eGDVqFHx8fOTXRUZG4sCBA+jVqxeEEDh48KD8Yd/S
8eds/YZ/iLRaLd5++228/vrrSE9Px6JFi/DEE0/gww8/VNx+e9BU/7lKY+9fNcdfTf86Oz62bU+e
PBlhYWFITU1FSEgI9u3bh6efftruNY29v10x/tW8P1yZf/3x2dL8XbH99qAl40+J0vj8tX8+1nc5
7zJ8/H2g76RX3Da1b25xtwGNhwYh0SHITMts9rrBwcHw8fGxu5r9xIkT0Gq16NSpk+rt6PV6XL58
WX5j3HrrrXjvvfeanU9z83MWX7duHQYMGGC3ncceewzJycnQ6/V46aWXWpxXw/y8vLwQExODmJgY
BAYGYsOGDQ4fyFezfzbx8fHYtWsXdu3ahUmTJrmsfZvG+kft9sePH48vv/wSX3/9NcaPH2+37aio
KKSnpyM6OhrR0dFIT0+Xzyy0dPwFBQXB09PTbn3bXRhskpOTkZ2dDYPBgLvvvhtJSUnYsWOH6r5p
a031n6s09v5Vc/zV9O+JEyfkx8ePH4eXlxeCgoJQUlKCY8eO4bXXXkNcXBxiYmLg6+srv1bp/e2q
8a/kavNXGp8tzb+1t3+ttGT8KXHF+/96/nysL2dvDroM7gK0n6FBV8ktzrwCQP+p/XFg+QFM+McE
h1/XaopWq0VCQgKeeeYZ4Mr/oS1YsAAJCQnw9vZWvZ1bbrkFZrMZS5YsQZcuXXDixAmMHDlS1bqn
Tp2C0WjExYsXUVFRgR9//BF6vR6RkZGq8ktISMDChQvh4eEBo9GIF198EdOnT7drw8fHB1qtFsuW
LcPkyZORmJgozxFqCa1Wi2nTpuEPf/gDhBDQarVISkpCVVUV/vrXv6paX03/T5o0CX/6058AAP/+
979d1r5NY/2jdvvjxo3DggUL4OnpieXLl9ttOyoqCm+99RaWLl0KIQRWr16N+++/v1n73xidTodx
48bJ65vNZnk+sM3q1auxadMmvPDCC7BarVi6dCkGDnT8+eSr1dT4VRNX0lT/uSI/NPH+VXP81fTv
2rVr0bNnT3h6emLhwoUYP348dDodfHx8EBQUhKSkJPz+97/HhQsXsGzZMnk92/ho7P3tqvGv5Grz
bzg+LRaL3fhsaf5K41/N9lt7/Lb2+FPiivf/9fz5aCMsAj+v+RnDnx7erL6hdqqtrxhTy1hkFEs6
LBEHVxx0Gj9w4IAAIF8hW19ZWZmYNWuWCAgIEAEBAWL27NmirKzuakOtVit27dolP9+1a5fTqxVX
r14tQkNDRWBgoHjllVdU5z506FCHW3kNHTpUdX6lpaVixowZwt/fXwQGBorExERRXl4ux+vf6kQI
IaZNmyZiY2OF1WpVlZ/tas7vvvvOaby8vFw89NBDws/PT/j6+or4+HiRlZUlhMLVuLbtKe2fTZ8+
fUSfPn2a1b4aSv2jdvtdunQRnTt3dujXgwcPCgDi4MGD8jg8eLBunCrtv1L/nzt3TowePVrodDox
ZswY8dFHH9mNzzNnzoi4uDjh6+sr9Hq9mDhxosjOzlbdP0rjX2n8KsWVKPVfS/Ozaez9q3T8lfpX
q9WK1NRUMWbMGPkYnT9/Xo5v3bpVhIeHC51OJ37zm9+INWvW2OWv9P5u6fhX0tL8lcZnS/Nv6fZb
Mn7VfL619vhT+nxo6fv/ev98tDmw/ID4W9DfhKnEsUYg96MRrrhk8ho58M4B7PrjLsz5ag663txV
xRpErjN58mQEBgbio48+autUqB3R6XTYtm2by3/A4Vpxdf47duzAtGnTXPpDCtT+tefPx9z9uVg1
dhXilsZh6KOOFzWT+3GLOa82N8+7GTFzYrDqzlXI/qrpC4WIXMl2oYG7FihEraVfv37Ytm2b/Pzw
4cN2F5PS9a89fz5mfZmFlHEpGDJ3CAvX64jbzHm1mbRsEjoP7IwO4R3aOhX6FTly5AguXbrULj+c
idrS4MGD8cc//hFarRaXL1/GG2+8gd/97ndtnRZdQ+3587Fjr46Y8PcJGPoYC9fridsVrwAw7PFh
bZ0C/cqkp6fjxhtvdLhdDNGv3bJly/D4449jypQp8Pb2xuzZs/Hcc8+1dVp0DbXnz8cOvTqwcL0O
udWcVyIiIiL6dXOrOa9ERERE9OvmlsWrsdAIq7nxX9Gg64vVbIWx0NhoXFgsqCr/pdG42QwUFja+
fbPZiuJiXhlNRETkDtyueM35IQfLo5fj6MdH2zoVukaOfnwUK2JWIHdfrtN41p7PsXVBAopO/+Q0
/vHHQEwMsG+f8+1v2ZKBcePewP/+d86VaRMREVErcKvitfBYIVInpaJ/Qn8MnOH4CyIbN25E165d
ERISgpUrV7q07bVr1yI0NPSq1n3yySeh0Wig0Wha5WrMiRMn4oUXXmjxdhrrv9bOX6fTIS0trdH4
wAcGot/UfkidlIrik8UO8V4j49EzdjzSkuahLM/xFmoPPABMnQpMmgScPOm4/XvuGYzJkwdh1qx/
4+zZSy3fISIiImo17lO8CmDLw1sQfns44pPjHX4itra2Fo888ggSExOxcOFCzJ8/HyUlJW2Wbn1/
/vOfkZGRgblz57Z1Ko1qqv/aOn+NpwbxyfEIGxWGLXO3OMY9PHDLw39C5/5D8P07LznEPT2B5GRg
1CjA2S54enogKek+DB/eGwsWfNxau0FEREQu4DbF6+ntp1FwuACT3p7kNH7y5EmUlJTg2WefxR/+
8AfcddddKC52PEvXFrp164aYmBiEhIS0dSqNaqr/2kv+k5ZNQu6BXJzdedZpPHbucyg+cxR5P37v
NL5sGXDgALBzp/Ptv/rqVPz443l8/fUJV6ZNRERELuQ2xeuR1COImBgB/67+TuNVVVUAAL1eDy8v
L6xfvx433njjNc7SfblD/wV0D0C/Kf1wJPWI07g+OARhw8ci89vPnMa7dwemTAFSU51vv0uXDoiP
vwkbNx5yZdpERETkQm5TvJ775hwiJkY4jVksFlgsFvmx2WyG1Vp3N4Ly8nLMnj0bgYGBCAwMxJw5
c1BeXi7HdTodUlJSMHr0aOj1esTHx6O0tFSOh4eHY8aMGbh48aI893PixIku2zel/MrLyzFr1iwE
BASgY8eOmDt3LiorK51uy2w2IzY2FnFxcVB7C1+l/lPScM5qWloadDqd/LyoqAgJCQnw9/eHwWDA
lClTUFRUZLeNoqIijBs3DgaDwaH/6+szoQ/Ofdv4hVVdo0fg4rHGi88JE4Bvv218X26/vS/27nV+
ZpeIiIjanlsUr9Vl1bicdxmh0c4vmDIYDIiNjQUA+Pn5wdvbG9OnT5fj8+bNw759+/DRRx8hNTUV
e/bswfz58+228d577+Htt9/G3r17cebMGbtfiNm+fTuWLFmC4OBgZGRkICMjA++8847L9k8pv3nz
5uHgwYP4+OOP8f7772PXrl1YsGCB02298MILyM7ORkpKCjQajdPXNKTUfy319NNP4+TJk1i/fj02
bdqErKwsPPXUU3aveeuttzB//nx8+OGHyMjIaPQXeoKjglF2rgy1lbVO4wHdwlFRmAdztclpPCoK
OHcOaKT2R58+NyAn5xcYjTXN3U0iIiK6Btzi52FNv0iFiG+wr9P4999/j6NHj2L27NnYs2cPfHx8
EBQUBACorq7GJ598go0bN2Ly5MkAAKvVivvvvx8ffPABvL29AQCJiYm46aabAAALFy7EkiVL5O33
798fR44cgZeXF2JiYly6b0r5Wa1WrF+/Hhs2bEB8fDwAwGg04qmnnsKKFSvstpWeno433ngD27dv
b9b81Kb6zxWOHj2KmTNnIi4uDgCQkpKCn3/+2e41Dz74IKZMmQIAOH/+PN58802n29IH6wEAphIT
vA3eDnGtfwcAQPXlMnhpHcdLcLD035ISwGBw3H7HjtLC0lIj9HqfZu4pERERtTa3KF5tP0jgpXWe
7pAhQ+SvuYcMGWL3lXVxcTFqamoQGRkpL+vbty+qqqpQVFSELl26AAB69uwpx3v16oVLl9TfMkmn
06G6utpumVarleeRNkUpPyEEqqur7eLTp0/HqFGj7LZTWFiIhx56CAsWLMCECROalV9T/ecK48eP
R3JyMvr06YO4uDgMGjQIgwYNsntN37597R431v9evtIYsNRanMd9tAAAq8XsNO57pZ6tdX7iFjqd
95W48+0TERFR23KL4tXHTzoDZioxIaBHQLPWtRVl9b9C9/CQZkvY5nk6i9ePKdm/f7/DHFFbG62R
n1arRXh4uN12Vq5cCYvFgqFDh7o0P1dISkqC0WhEYmIizGYzZsyYgWXLlsHfv+7iu/r75+np2Wj/
G4ukX9rS+mudxqvKpbmy3r5OTqsCsE219Xd+3R9KSqT5BH5+zrdPREREbcstildDZwO89d4ozylH
SHTzbtdkK9LqX7xke+zp6al6Ow3nj5aVlcHHxwe+vr4OZxFdmZ/tcf14TU0NLl26hO7du8vLDAYD
HnjgATzzzDOIj4+3Kwxbkp/afaifX8PCU6vV4u2338brr7+O9PR0LFq0CE888QQ+/PDDZrd1Oe8y
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
/Jqye/duaDQajBkzBiEhIfjggw/QuXNn3HfffY1uf86cOSgvL5fjOTk5uOOOO2AwGDB27FgUFhba
tdGS/IiIiIhcSrSy9PR0ERwc7LA8KChIfPnll0IIIbRarYiNjRUbN24UGzduFCEhIeKJJ56QX5uT
kyMyMjLE3LlzxZ133umwraNHj4olS5aI4OBgkZGRITIyMsTZs2fl+MyZM0VERITYunWr2LJli+jd
u7eYPXu2HH/wwQfFwIEDxeeffy6++OILER0dLWbMmCHHtVqtuP3228XRo0fF8ePHxbBhw0R8fLwc
v+eee0R0dLTYsWOH2LhxowgLCxOzZs2yaz8qKkps375drF+/XoSFhYnHHntMdX5N+e677wQAkZ6e
LoYNGyZuueUWkZaWJgCIkydPytuPjIwU27ZtE1u3bhURERF2+cXFxcnxTZs2idjYWKHVal2SHxER
EZErtXrxeuHCBQFAVFdXi02bNolNmzaJqqoqAUDk5uYKcaU4TE5Oltd58803RXh4uMO2nn/+eafF
qxBCrFmzRoSEhDgsr6qqEj4+PmLTpk3ysg0bNghfX19RW1srhBAiOjpavPbaa3L88OHDIjU1VX6u
1WrFypUr5edffPGF8PLyEiaTSQghxJ133im++eYbOf7+++/LBXtVVZXQarVi27ZtcjwlJUV06NBB
dX5NsRWvtbW1IjExUSQmJora2loBQOzevVvefv32N2/eLHQ6naipqREmk0l4enraxZOTk+XitaX5
EREREblSq8957d69OwwGAwoKCvDqq69Co9EgJiYGfn5+6Nq1q/y6vn372j2+dOmSS9ovLi5GTU0N
+vXrJy8bOHAgTCYTioqKEBoaivHjxyM5ORl9+vRBXFwcBg0ahEGDBtltp0ePHvLj8PBwmM1mlJSU
oGvXrg63+erZs6f8tXpxcTGqq6sRGRkpx6dPn45Ro0apzk+n06G6utquDa1Wi6qqqib3XQghb79+
+3379kVVVRWKiooghIDFYrGLR0VFNav/iIiIiK6Va3LBVmRkJPLy8pCfnw8AyMvLsyuWAECj0ciP
PT09XXY7LKvVCjQoyGxs94tNSkqC0WhEYmIizGYzZsyYgWXLlsHf399pfrbHtm1nZ2fj2WefxVdf
fYXi4mLgSnFZ/zX119dqtQgPD1ed3/79++XX2Xh4qJuu7Kx927r1+9hZXG1+RERERNfKNSteDxw4
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
--=-=-=
Content-Type: text/plain
And in TUI, it will be displayed as a normal underline (or
strike-through if underline is not supported).
Optionally, I've added a new minor mode to enable this outside
whitespace-mode (an example of use in this would be in the NEWS file or
in *Compile-Log* buffers).
--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment;
filename=0001-whitespace-mode-Prettify-page-delimiters-characters..patch
>From 751e8c3ab69fca962afcaa20e3b3fc23e5d6a2b7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?El=C3=ADas=20Gabriel=20P=C3=A9rez?=
Date: Fri, 4 Apr 2025 22:17:23 -0600
Subject: [PATCH] whitespace-mode: Prettify page delimiters characters.
(bug#77544)
This makes whitespace-mode display the page delimiter character
"^L" as a pretty horizontal line.
This also add a new minor mode to display these character
outside of whitespace-mode.
* lisp/whitespace.el (whitespace-style): Add page-delimiters
option.
(whitespace-page-delimiter): New face.
(whitespace--page-delimiters-keyword): New variable.
(whitespace-page-delimiters-mode): New minor mode.
(whitespace-style-face-p, whitespace-color-on): Rework for
display the page-delimiters.
---
etc/NEWS | 8 ++++++
lisp/whitespace.el | 69 ++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 77 insertions(+)
diff --git a/etc/NEWS b/etc/NEWS
index e12a9dcb127..1bd901c2960 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1112,6 +1112,14 @@ slot. Symbol macros are created for the accessor functions using
If 'whitespace-style' includes 'missing-newline-at-eof' (which is the
default), the 'whitespace-cleanup' function will now add the newline.
+---
+*** 'whitespace-mode' now can prettify page delimiters characters (^L).
+If 'page-delimiters' is set in 'whitespace-style', or the new minor mode
+'whitespace-page-delimiters-mode' is on, the page delimiters characters
+(^L) are displayed as a pretty horizontal line that spans the entire
+width of the window. The new 'whitespace-page-delimiter' face, can be
+used for customize the appearence
+
** Bookmark
---
diff --git a/lisp/whitespace.el b/lisp/whitespace.el
index 58ba0db8c90..79afb8cf298 100644
--- a/lisp/whitespace.el
+++ b/lisp/whitespace.el
@@ -326,6 +326,11 @@ whitespace-style
This has effect only if `face' (see above)
is present in `whitespace-style'.
+ page-delimiters visualize page delimiters characters (^L)
+ as horizontal lines.
+ This has effect only if `face' (see above)
+ is present in `whitespace-style'.
+
empty visualize empty lines at beginning and/or
end of buffer via faces.
This has effect only if `face' (see above)
@@ -440,6 +445,7 @@ whitespace-style
(const :tag "(Face) NEWLINEs" newline)
(const :tag "(Face) Missing newlines at EOB"
missing-newline-at-eof)
+ (const :tag "(Face) Page delimiters" page-delimiters)
(const :tag "(Face) Empty Lines At BOB And/Or EOB" empty)
(const :tag "(Face) Indentation SPACEs" indentation::tab)
(const :tag "(Face) Indentation TABs"
@@ -622,6 +628,14 @@ whitespace-space-after-tab
See `whitespace-space-after-tab-regexp'.")
+(defface whitespace-page-delimiter
+ '((((supports :underline (:color foreground-color :style double-line)))
+ :underline (:color foreground-color :style double-line)
+ :extend t :inherit shadow)
+ (((supports :strike-through t))
+ :strike-through t :extend t :inherit shadow)
+ (t :extend t :inherit shadow :inverse-video t))
+ "Face used to visualize page delimiter characters.")
(defcustom whitespace-hspace-regexp
"\\(\u00A0+\\)"
@@ -934,6 +948,29 @@ whitespace-action
(const :tag "Abort On Bogus" abort-on-bogus)
(const :tag "Warn If Read-Only" warn-if-read-only)))))
+(defvar whitespace--page-delimiters-keyword
+ `((,(concat page-delimiter "\n") 0
+ (prog1 nil
+ ;; HACK: Due :strike-through, doesn't support the same line
+ ;; styles as in :underline, for GUI frames raise the invisible ^L
+ ;; character to give the illusion of a centered line (unless
+ ;; whitespace-page-delimiter doesn't have the :underline attribute).
+ ;; In TUI, this is only displayed as an normal underline.
+ ;; FIXME: Rewrite this when :strike-through supports this.
+ (if (not (eq (internal-get-lisp-face-attribute
+ 'whitespace-page-delimiter :underline)
+ 'unspecified))
+ (progn
+ ;; :underline
+ (put-text-property (match-beginning 0) (1- (match-end 0))
+ 'display (propertize " " 'display '(raise 0.5)))
+ (put-text-property (1- (match-end 0)) (match-end 0) 'display '(raise 0.5))
+ (add-face-text-property (match-beginning 0) (match-end 0) '(:inherit whitespace-page-delimiter :height 0.5)))
+ ;; :strike-through
+ (put-text-property (match-beginning 0) (1- (match-end 0)) 'display " ")
+ (add-face-text-property (match-beginning 0) (match-end 0) 'whitespace-page-delimiter)))))
+ "Used to add page delimiters keywords to `whitespace-font-lock-keywords'.")
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; User commands - Local mode
@@ -976,6 +1013,25 @@ whitespace-newline-mode
;; sync states (running a batch job)
(setq whitespace-newline-mode whitespace-mode))
+;;;###autoload
+(define-minor-mode whitespace-page-delimiters-mode
+ "Display page delimiters characters as horizontal lines."
+ :group 'whitespace
+ (cond
+ ((and whitespace-mode (not (memq 'page-delimiters whitespace-style)))
+ (setq-local whitespace-style
+ (cons 'page-delimiters whitespace-style))
+ (whitespace-mode +1))
+ (whitespace-page-delimiters-mode
+ (font-lock-add-keywords nil whitespace--page-delimiters-keyword)
+ (unless (memq 'display font-lock-extra-managed-props)
+ (setq-local font-lock-extra-managed-props
+ (cons 'display font-lock-extra-managed-props)))
+ (font-lock-flush))
+ (t
+ (font-lock-remove-keywords nil whitespace--page-delimiters-keyword)
+ (font-lock-flush))))
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; User commands - Global mode
@@ -1044,6 +1100,7 @@ whitespace-style-value-list
tabs
spaces
trailing
+ page-delimiters
lines
lines-tail
lines-char
@@ -1071,6 +1128,7 @@ whitespace-toggle-option-alist
'((?f . face)
(?t . tabs)
(?s . spaces)
+ (?p . page-delimiters)
(?r . trailing)
(?l . lines)
(?L . lines-tail)
@@ -1156,6 +1214,7 @@ whitespace-toggle-options
t toggle TAB visualization
s toggle SPACE and HARD SPACE visualization
r toggle trailing blanks visualization
+ p toggle page delimiters visualization
l toggle \"long lines\" visualization
L toggle \"long lines\" tail visualization
n toggle NEWLINE visualization
@@ -1186,6 +1245,7 @@ whitespace-toggle-options
tabs toggle TAB visualization
spaces toggle SPACE and HARD SPACE visualization
trailing toggle trailing blanks visualization
+ page-delimiters toggle page delimiters visualization
lines toggle \"long lines\" visualization
lines-tail toggle \"long lines\" tail visualization
newline toggle NEWLINE visualization
@@ -1237,6 +1297,7 @@ global-whitespace-toggle-options
t toggle TAB visualization
s toggle SPACE and HARD SPACE visualization
r toggle trailing blanks visualization
+ p toggle page delimiters visualization
l toggle \"long lines\" visualization
L toggle \"long lines\" tail visualization
C-l toggle \"long lines\" one character visualization
@@ -1268,6 +1329,7 @@ global-whitespace-toggle-options
tabs toggle TAB visualization
spaces toggle SPACE and HARD SPACE visualization
trailing toggle trailing blanks visualization
+ page-delimiters toggle page delimiters visualization
lines toggle \"long lines\" visualization
lines-tail toggle \"long lines\" tail visualization
lines-char toggle \"long lines\" one character visualization
@@ -2035,6 +2097,7 @@ whitespace-style-face-p
(memq 'lines-tail whitespace-active-style)
(memq 'lines-char whitespace-active-style)
(memq 'newline whitespace-active-style)
+ (memq 'page-delimiters whitespace-active-style)
(memq 'empty whitespace-active-style)
(memq 'indentation whitespace-active-style)
(memq 'indentation::tab whitespace-active-style)
@@ -2108,6 +2171,12 @@ whitespace-color-on
;; first overflowing character
((memq 'lines-char whitespace-active-style) 3))
whitespace-line prepend)))
+ ,@(when (memq 'page-delimiters whitespace-active-style)
+ (unless (memq 'display font-lock-extra-managed-props)
+ (setq-local font-lock-extra-managed-props
+ (cons 'display font-lock-extra-managed-props)))
+ ;; Show page delimiters characters
+ whitespace--page-delimiters-keyword)
,@(when (or (memq 'space-before-tab whitespace-active-style)
(memq 'space-before-tab::tab whitespace-active-style)
(memq 'space-before-tab::space whitespace-active-style))
--
2.50.1
--=-=-=
Content-Type: text/plain
--
- E.G via Gnus and Org.
--=-=-=--
From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 09 05:35:15 2025
Received: (at 77544) by debbugs.gnu.org; 9 Aug 2025 09:35:15 +0000
Received: from localhost ([127.0.0.1]:40219 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1ukfyt-0005eT-BN
for submit@debbugs.gnu.org; Sat, 09 Aug 2025 05:35:15 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:49664)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from ) id 1ukfyp-0005ar-Sg
for 77544@debbugs.gnu.org; Sat, 09 Aug 2025 05:35:13 -0400
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 )
id 1ukfyk-0004Lh-9H; Sat, 09 Aug 2025 05:35:06 -0400
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=JNbLZPG5hZqzFdSbzpxA594p2Oj+DEekeRr6EIUhfds=; b=DnG6RtdA1UTjCBxetiEN
NFemWH+fwGl9KAu7qUsvNImBMj56R0YIrH8YYrQDhIXVJKTVvR/ozylaKqj5C5K5UE3+dmWk3dD9/
E8S3h6cooy7vz/qqMBiGJMU/by6FZm3UJGGfQIQR4WeuTzKFaklCyDEziArTzQlYQJ0E+oPwGt3VY
rik4EARb8veCIRYam5Vb+7idyveY9l26KvBnVjK1hJ6yyg61o8dgq38mruJAymcT53zEtacFuL4l4
tmBhtP1l1itHwopXUc0LJw0bpegfgaSqpHNjmAMq3kj5uH8P4to+JMzqxrywtKnoObpIaWiuBOdgI
od7Rt4dC5X0GFg==;
Date: Sat, 09 Aug 2025 12:35:01 +0300
Message-Id: <86fre0n8hm.fsf@gnu.org>
From: Eli Zaretskii
To: Elijah Gabe =?iso-8859-1?Q?P=E9rez?=
In-Reply-To: <87o6spf5e8.fsf@gmail.com> (message from Elijah Gabe
=?iso-8859-1?Q?P=E9rez?= on Fri, 08 Aug 2025 23:09:03 -0600)
Subject: Re: bug#77544: (WIP) [PATCH] Prettify page separators.
References: <87bjtbyzg1.fsf@gmail.com> <86ldsfxdhy.fsf@gnu.org>
<87zfgucwhp.fsf@gmail.com>
<87h631pyjg.fsf@gmail.com> <867c3xvj9a.fsf@gnu.org>
<87cydppodp.fsf@gmail.com> <8634elv9n9.fsf@gnu.org>
<87o6spf5e8.fsf@gmail.com>
MIME-version: 1.0
Content-type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77544
Cc: gerd.moellmann@gmail.com, 77544@debbugs.gnu.org, visuweshm@gmail.com
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -3.3 (---)
> From: Elijah Gabe Prez
> Cc: Visuwesh , gerd.moellmann@gmail.com,
> 77544@debbugs.gnu.org
> Date: Fri, 08 Aug 2025 23:09:03 -0600
>
> Sorry for the delay, i tried to make the strike-through face property
> support the same line styles as the underline, but i couldn't figure out
> how, as it seems that strike-through is designed to support only 1
> style.
>
> My solution was to make a kind of hack to display the underline as
> strike-through, and it worked.
Why is it a problem to show a normal underline?
> Optionally, I've added a new minor mode to enable this outside
> whitespace-mode (an example of use in this would be in the NEWS file or
> in *Compile-Log* buffers).
I'm not sure it is justified to have a separate mode for this.
> +---
> +*** 'whitespace-mode' now can prettify page delimiters characters (^L).
> +If 'page-delimiters' is set in 'whitespace-style', or the new minor mode
> +'whitespace-page-delimiters-mode' is on, the page delimiters characters
^^^^^^^^^^
"delimiter", singular.
> +(^L) are displayed as a pretty horizontal line that spans the entire
> +width of the window. The new 'whitespace-page-delimiter' face, can be
^
That comma should be deleted.
> +used for customize the appearence
^^^^^^^^^^^^^
Either "to customize" or "for customizing".
I think we should also mention that font-lock must be ON for this to
work. E.g., does it work in Fundamental mode?
> +;;;###autoload
> +(define-minor-mode whitespace-page-delimiters-mode
> + "Display page delimiters characters as horizontal lines."
> + :group 'whitespace
> + (cond
> + ((and whitespace-mode (not (memq 'page-delimiters whitespace-style)))
> + (setq-local whitespace-style
> + (cons 'page-delimiters whitespace-style))
> + (whitespace-mode +1))
> + (whitespace-page-delimiters-mode
> + (font-lock-add-keywords nil whitespace--page-delimiters-keyword)
> + (unless (memq 'display font-lock-extra-managed-props)
> + (setq-local font-lock-extra-managed-props
> + (cons 'display font-lock-extra-managed-props)))
> + (font-lock-flush))
> + (t
> + (font-lock-remove-keywords nil whitespace--page-delimiters-keyword)
> + (font-lock-flush))))
Is it wise to support this minor mode outside of whitespace-mode? Why
shouldn't this work only if whitespace-mode is ON? It complicates the
implementation, and adds 'display' properties to font-lock-keywords,
but I don't quite see the justification.
From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 09 20:25:51 2025
Received: (at 77544) by debbugs.gnu.org; 10 Aug 2025 00:25:51 +0000
Received: from localhost ([127.0.0.1]:43358 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from