GNU bug report logs - #70127
29.3; ERC 5.6-git: /ignore timeouts are not cancelled/reset

Previous Next

Package: emacs;

Reported by: Alcor <alcor <at> tilde.club>

Date: Mon, 1 Apr 2024 18:06:01 UTC

Severity: wishlist

Tags: patch

Found in version 29.3

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

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 70127 in the body.
You can then email your comments to 70127 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to emacs-erc <at> gnu.org, bug-gnu-emacs <at> gnu.org:
bug#70127; Package emacs. (Mon, 01 Apr 2024 18:06:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Alcor <alcor <at> tilde.club>:
New bug report received and forwarded. Copy sent to emacs-erc <at> gnu.org, bug-gnu-emacs <at> gnu.org. (Mon, 01 Apr 2024 18:06:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Alcor <alcor <at> tilde.club>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.3; ERC 5.6-git: /ignore timeouts are not cancelled/reset
Date: Mon, 01 Apr 2024 20:05:26 +0200
Severity: wishlist

On Erc (5.6snapshot0.20240323.151032):

1. /IGNORE a specific nick with an explicit timeout (e.g. 5m)
2. /IGNORE the same nick again with a different timeout (e.g. 10m)

Expected behavior:

The /IGNORE'ed nick is unignored after 10 minutes.

Observed behavior:

The /IGNORE'ed nick is unignored after 5 minutes, afterwhich it is
unignored again after 10 minutes. The latter command is a no-op though,
as the nick would be already unignored at that point.

Additional Information:

As per
https://lists.gnu.org/archive/html/emacs-erc/2024-04/msg00005.html, erc
does not save the handles to the created timeout. This will have to be
changed in order to achieve the desired behavior.


In GNU Emacs 29.3 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.20,
 cairo version 1.16.0) of 2024-03-25 built on bos03-amd64-034
Repository revision: 73d7d08f3f07a68b198e5ba230a474ba019e6a8a
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12201001
System Description: Ubuntu 22.04.4 LTS

Configured using:
 'configure --prefix=/snap/emacs/current/usr --with-x-toolkit=gtk3
 --without-xaw3d --with-modules --with-cairo
 --with-native-compilation=aot --without-pgtk --with-xinput2
 --with-tree-sitter --with-json
 'CFLAGS=-isystem/build/emacs/parts/emacs/install/usr/include
 -isystem/build/emacs/parts/emacs/install/usr/include/x86_64-linux-gnu
 -isystem/build/emacs/stage/usr/include -O2'
 'CPPFLAGS=-isystem/build/emacs/parts/emacs/install/usr/include
 -isystem/build/emacs/parts/emacs/install/usr/include/x86_64-linux-gnu
 -isystem/build/emacs/stage/usr/include'
 'LDFLAGS=-L/build/emacs/parts/emacs/install/lib
 -L/build/emacs/parts/emacs/install/usr/lib
 -L/build/emacs/parts/emacs/install/lib/x86_64-linux-gnu
 -L/build/emacs/parts/emacs/install/usr/lib/x86_64-linux-gnu
 -L/build/emacs/stage/usr/lib''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES
NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3
THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER X11 XDBE XIM XINPUT2 XPM
GTK3 ZLIB

Important settings:
  value of $LANG: de_DE.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Group

Minor modes in effect:
  gnus-undo-mode: t
  pixel-scroll-precision-mode: t
  minibuffer-depth-indicate-mode: t
  global-whitespace-mode: t
  global-auto-revert-mode: t
  fido-vertical-mode: t
  icomplete-vertical-mode: t
  icomplete-mode: t
  fido-mode: t
  desktop-save-mode: t
  erc-services-mode: t
  erc-ring-mode: t
  erc-notifications-mode: t
  erc-netsplit-mode: t
  erc-menu-mode: t
  erc-list-mode: t
  erc-irccontrols-mode: t
  erc-keep-place-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  erc-scrolltobottom-mode: t
  erc-imenu-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-bufbar-mode: t
  erc-track-mode: t
  erc-match-mode: t
  erc-autojoin-mode: t
  erc-autoaway-mode: t
  erc-networks-mode: t
  windmove-mode: t
  recentf-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Features:
(shadow emacsbug mailalias smtpmail misearch multi-isearch pulse xref
project elec-pair shortdoc help-fns radix-tree mule-util sort smiley
gnus-cite qp mm-archive mail-extr textsec uni-scripts idna-mapping
ucs-normalize uni-confusable textsec-check gnus-async gnus-bcklg gnus-ml
nndraft nnmh nnfolder utf-7 network-stream nsm gnus-agent gnus-srvr
gnus-score score-mode nnvirtual gnus-msg nntp gnus-cache
display-line-numbers goto-addr org-element org-persist org-id org-refile
avl-tree generator oc-basic ol-eww eww url-queue thingatpt mm-url
ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015
mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku
url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud
nnimap nnmail mail-source utf7 nnoo parse-time gnus-spec gnus-int
gnus-range message yank-media puny rfc822 mml mml-sec epa derived epg
rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader gnus-win ol-docview doc-view jka-compr
image-mode exif dired dired-loaddefs ol-bibtex bibtex iso8601 ol-bbdb
ol-w3m ol-doi org-link-doi org ob ob-tangle ob-ref ob-lob ob-table
ob-exp org-macro org-src ob-comint org-pcomplete org-list org-footnote
org-faces org-entities noutline outline ob-emacs-lisp ob-core ob-eval
org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs
find-func cal-menu calendar cal-loaddefs org-version org-compat org-macs
disp-table leuven-dark-theme pixel-scroll cua-base mb-depth whitespace
autorevert filenotify icomplete desktop frameset sendmail rfc2047
rfc2045 ietf-drums gnus nnheader gnus-util text-property-search
mail-utils range mm-util mail-prsvr xdg cus-edit pp erc-services
erc-ring erc-desktop-notifications notifications dbus xml erc-nicks
color erc-netsplit erc-menu erc-list erc-goodies erc-imenu imenu
erc-pcomplete time-date pcomplete comint ansi-osc ansi-color ring
erc-button erc-fill erc-stamp erc-status-sidebar erc-track erc-match
erc-join erc-autoaway erc format-spec erc-backend erc-networks
erc-common erc-compat compat erc-loaddefs windmove recentf tree-widget
wid-edit cus-load edmacro kmacro use-package-bind-key bind-key
easy-mmode use-package-ensure use-package-core site-start comp comp-cstr
warnings icons rx cl-extra help-mode erc-autoloads info compat-autoloads
markdown-mode-autoloads package browse-url url url-proxy url-privacy
url-expand url-methods url-history url-cookie generate-lisp-file
url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq
eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv
bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip
cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd
fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow
isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify lcms2
dynamic-setting system-font-setting font-render-setting cairo
move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process
native-compile emacs)

Memory information:
((conses 16 594467 77435)
 (symbols 48 30085 3)
 (strings 32 121202 5619)
 (string-bytes 1 3810229)
 (vectors 16 78960)
 (vector-slots 8 1374718 116320)
 (floats 8 636 1057)
 (intervals 56 1151 66)
 (buffers 984 22))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#70127; Package emacs. (Tue, 02 Apr 2024 18:24:03 GMT) Full text and rfc822 format available.

Message #8 received at 70127 <at> debbugs.gnu.org (full text, mbox):

From: "J.P." <jp <at> neverwas.me>
To: Alcor <alcor <at> tilde.club>
Cc: 70127 <at> debbugs.gnu.org, emacs-erc <at> gnu.org
Subject: Re: bug#70127: 29.3; ERC 5.6-git: /ignore timeouts are not
 cancelled/reset
Date: Tue, 02 Apr 2024 11:23:37 -0700
[Message part 1 (text/plain, inline)]
Alcor via General discussion about ERC <emacs-erc <at> gnu.org> writes:

> Severity: wishlist
>
> On Erc (5.6snapshot0.20240323.151032):
>
> 1. /IGNORE a specific nick with an explicit timeout (e.g. 5m)
> 2. /IGNORE the same nick again with a different timeout (e.g. 10m)
>
> Expected behavior:
>
> The /IGNORE'ed nick is unignored after 10 minutes.
>
> Observed behavior:
>
> The /IGNORE'ed nick is unignored after 5 minutes, afterwhich it is
> unignored again after 10 minutes. The latter command is a no-op though,
> as the nick would be already unignored at that point.

I'm taking the liberty of "extending" this bug to include a somewhat
related issue. I suppose that's bad practice, but it'll allow us to roll
the original request into the fix without much hassle.

From Emacs -Q:

1. M-x erc RET localhost RET RET RET RET
2. /ignore foo RET
3. Hit RET to forgo adding a timer (doesn't impact result)
4. /unignore fool RET ; note the trailing "l"
5. Answer "y" when asked whether to remove "foo"
6. /ignore RET
7. Notice "foo" is still listed and still appears in `erc-ignore-list'

The attached patch tries to address this issue as well as the original
UX problem regarding rustic timeout handling, with ideas borrowed from
Alcor's gist shared on the emacs-erc list.

Not to keep harping on this, but I'd much rather we rewrite the ignore
and lurker stuff completely and move it to a new module in a new file.
Anyone feeling up to the challenge, please step forward. Thanks.

[0001-5.6-Allow-updating-of-IGNORE-timeouts-in-ERC.patch (text/x-patch, attachment)]

Added tag(s) patch. Request was from "J.P." <jp <at> neverwas.me> to control <at> debbugs.gnu.org. (Tue, 02 Apr 2024 18:26:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#70127; Package emacs. (Tue, 02 Apr 2024 19:29:03 GMT) Full text and rfc822 format available.

Message #13 received at 70127 <at> debbugs.gnu.org (full text, mbox):

From: Alcor <alcor <at> tilde.club>
To: "J.P." <jp <at> neverwas.me>
Cc: 70127 <at> debbugs.gnu.org, emacs-erc <at> gnu.org
Subject: Re: bug#70127: 29.3; ERC 5.6-git: /ignore timeouts are not
 cancelled/reset
Date: Tue, 02 Apr 2024 21:28:37 +0200
"J.P." <jp <at> neverwas.me> writes:

> The attached patch tries to address this issue as well as the original
> UX problem regarding rustic timeout handling, with ideas borrowed from
> Alcor's gist shared on the emacs-erc list.

Thanks J.P. – I have applied the patch onto
erc-5.6snapshot0.20240323.151032 and can confirm it addresses both the
original issue in addition to the related issue outlined in your message.

Cheers,
-A.




Reply sent to "J.P." <jp <at> neverwas.me>:
You have taken responsibility. (Tue, 09 Apr 2024 18:19:02 GMT) Full text and rfc822 format available.

Notification sent to Alcor <alcor <at> tilde.club>:
bug acknowledged by developer. (Tue, 09 Apr 2024 18:19:02 GMT) Full text and rfc822 format available.

Message #18 received at 70127-done <at> debbugs.gnu.org (full text, mbox):

From: "J.P." <jp <at> neverwas.me>
To: Alcor <alcor <at> tilde.club>
Cc: 70127-done <at> debbugs.gnu.org, emacs-erc <at> gnu.org
Subject: Re: bug#70127: 29.3; ERC 5.6-git: /ignore timeouts are not
 cancelled/reset
Date: Tue, 09 Apr 2024 11:18:44 -0700
Alcor <alcor <at> tilde.club> writes:

> Thanks J.P. – I have applied the patch onto
> erc-5.6snapshot0.20240323.151032 and can confirm it addresses both the
> original issue in addition to the related issue outlined in your message.

Appreciate the confirmation. This has been installed as

  e0df2841fb7 * Allow updating of /IGNORE timeouts in ERC

Closing.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 08 May 2024 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 7 days ago.

Previous Next


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