GNU bug report logs - #60936
30.0.50; ERC >5.5: Add erc-fill style based on visual-line-mode

Previous Next

Package: emacs;

Reported by: "J.P." <jp <at> neverwas.me>

Date: Wed, 18 Jan 2023 14:55:02 UTC

Severity: normal

Tags: patch

Found in version 30.0.50

Fixed in version 30.1

Done: "J.P." <jp <at> neverwas.me>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: "J.P." <jp <at> neverwas.me>
To: 60936 <at> debbugs.gnu.org
Cc: emacs-erc <at> gnu.org
Subject: bug#60936: 30.0.50; ERC >5.5: Add erc-fill style based on visual-line-mode
Date: Tue, 17 Oct 2023 06:48:21 -0700
[Message part 1 (text/plain, inline)]
v2 (erc-display-line redux). Fix initial bug involving missing text
props on multi-buffer calls to `erc-display-line'. Convert latter to
internal function and reimplement interface as high-level wrapper around
`erc-display-message'.


"J.P." <jp <at> neverwas.me> writes:

> "J.P." <jp <at> neverwas.me> writes:
>
>> These changes introduced a(t least one) bug. To reproduce, call
>> `erc-display-line' with a list of buffers, and notice only the first
>> sees its message inserted with the correct text properties. A quick way
>> to simulate this is by having two clients join the same two channels
>> and then having one quit. The expected text props will be missing from
>> one of the inserted
>>
>>   *** someuser (n!~u <at> h) has quit
>>
>> messages. Verify by going to the first asterisk and doing C-u C-x =.
>>
>> Fix forthcoming.
>
> The second of the attached patches should hopefully do the trick.

Actually, merely hoping folks will use `erc-display-message' instead of
`erc-display-line' is surely delusional. There's likely far too much
code out there doing stuff like:

  (erc-display-line (erc-make-notice "foo") my-buffer)

So I've instead converted `erc-display-line' into a high-level insertion
function more aligned with the manner in which it's used in practice.
It's now more or less a thin wrapper around `erc-display-message' with a
bit of special casing to intercept instances of the `erc-make-notice'
pattern above for rewriting as:

  (erc-display-message nil 'notice my-buffer "foo")

Hopefully, this is an acceptable compromise.

[0000-v1-v2.diff (text/x-patch, attachment)]
[0001-Mark-erc-log-test-as-unstable.patch (text/x-patch, attachment)]
[0002-5.6-Restore-missing-metadata-props-in-erc-display-li.patch (text/x-patch, attachment)]

This bug report was last modified 1 year and 28 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.