Subject: Re: bug#77769: 30.1; ERC 5.6.0.30.1: How to get pre- v5.6 wrap style behavior?

From: "J.P." <[email-masked]>
Date: Wed, 16 Apr 2025 19:07:58 -0700

Hi Anark,

Anark Karabey <[email-masked]> writes:

> How can I get the erc fill wrap (? I don't even know what that was
> called) like it was before the erc version 5.6?  The message placement
> on the channel buffers are broken for me like what even is happening?

The `fill-wrap' module was introduced in 5.6. It's disabled by default,
so you're almost certainly enabling it somewhere in your config. If you
want the default fill behavior from 5.5, which is still the default in
5.6, ensure `fill-wrap' is absent from `erc-modules' and that
`erc-fill-function' is set to its default of `erc-fill-variable'.

(BTW, in the future, please include additional configuration info in
your bug report, like a short init.el snippet or reproduction steps.)

> previously:
>
> 1) I could hit C-l and move the ERC> line center of the
> buffer, bottom, or top

The `fill-wrap' module depends on the `scrolltobottom' module, which has
always disallowed C-l at the prompt (AFAIK) and is likewise disabled by
default.

>
> 2) the messages I write on the ERC> line would wrap to below neatly when
> they exceed 80 chars or something

I'm not aware of any ERC option that might cause this. If you can
reproduce it with emacs -Q, please share a recipe. You may want to
bisect your config if `truncate-lines' is getting turned on somehow.

> now:
>
> 1) THE C-l does nothing in channel buffer

With `scrolltobottom' enabled, C-l should still work outside the prompt
area. For use inside the prompt area, you can try setting

  (setopt erc-scrolltobottom-all 'relaxed)

before connecting.

> 2) the long messages I write goes on and on to the right side of the
> screen with my cursor following them -- making it very very annoying to
> write long messages.  Also, the the local logs got broken in their
> alignments as well with this.

ERC's `log' module is pretty simplistic and mostly saves whatever's in
the buffer, as is. If `fill-wrap' is enabled, messages in logs should be
a single line because that's how they're formatted in the buffer.

> I am quite dissatisfied with the changes that were made to v5.6 in these
> topics and I would like to be able to revert them.

Revert them in the ERC tree for everyone? For that you'd need to rally
support from others sharing the same opinion. However, seeing as none of
the behavior you dislike is enabled by default, I doubt you'd get much
traction.

> I checked erc-news document for 5.6 but couldn't spot useful
> information for doing so.

FWIW, there's this:

  ** Module 'fill' offers an adaptive style based on 'visual-line-mode'.

  This style dynamically wraps messages to a window's width while
  mimicking the "hanging indent" look of 'erc-fill-static'. It also
  provides some movement and editing commands to optionally tame the
  less familiar aspects of 'visual-line' behavior. An interactive helper
  called 'erc-fill-wrap-nudge' makes easy work of adjusting the overhang
  on the fly. Set 'erc-fill-function' to 'erc-fill-wrap' to get started.

And this from the module's doc string (C-f erc-fill-wrap-mode RET):

  `fill-wrap' depends on the global modules `fill', `stamp', `button',
  and `scrolltobottom'. It activates them as needed when initializing
  and leaves them enabled when shutting down. To opt out of
  `scrolltobottom' specifically, disable its minor mode,
  `erc-scrolltobottom-mode', via `erc-fill-wrap-mode-hook'.

Perhaps we could also mention something about logs being a single line
when the mode is enabled.

Thanks,
J.P.