GNU bug report logs - #63595
30.0.50; ERC 5.6: Add buffer-list and nick-list modules

Previous Next

Package: emacs;

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

Date: Fri, 19 May 2023 19:26:01 UTC

Severity: wishlist

Tags: patch

Found in version 30.0.50

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

Bug is archived. No further changes may be made.

Full log


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

From: "J.P." <jp <at> neverwas.me>
To: 63595 <at> debbugs.gnu.org
Cc: emacs-erc <at> gnu.org
Subject: Re: bug#63595: 30.0.50; ERC 5.6: Add buffer-list and nick-list modules
Date: Sun, 31 Mar 2024 22:58:37 -0700
"J.P." <jp <at> neverwas.me> writes:

> It's also been reported that the dframe timer can signal a
>
>   (wrong-type-argument window-live-p nil)
>
> which then gets trapped by the
>
>   (with-demoted-errors "DFRAME TIMER ERROR: %S"...)
>
> in `dframe-timer-fn'. Unfortunately, remediation is trickier here
> because we've got to inspect calls to `window-live-p' stemming from
> `speedbar-timer-fn', possibly via `erc-speedbar-insert-user'. (What we
> really need is a backtrace from the bug reporter.)

Actually, I think my initial "analysis" is flawed. Of the two obvious
paths to `window-live-p' from `speedbar-timer-fn', namely

  internal--after-save-selected-window
  save-selected-window
  speedbar-center-buffer-smartly
  erc-speedbar-expand-channel
  erc-speedbar-buttons
  speedbar-update-special-contents
  speedbar-timer-fn
  dframe-timer-fn
  timer-event-handler

and

  window-normalize-window
  unrecord-window-buffer
  replace-buffer-in-windows
  kill-buffer
  format-spec
  erc-nicks--gen-key-from-format-spec and let*
  erc-nicks--highlight save-current-buffer and let* let
  erc-speedbar--compose-nicks-face apply
  speedbar-make-tag-line
  erc-speedbar-insert-user
  erc-speedbar-expand-channel
  erc-speedbar-buttons
  speedbar-update-special-contents
  speedbar-timer-fn
  dframe-timer-fn
  timer-event-handler

neither seems capable of producing a `wrong-type-argument' error for
`window-live-p' (especially not directly, since that function appears to
accept any lisp object without protest).

Rather, I think the error may originate from some other function that
tests for `window-live-p' and signals a `wrong-type-argument' somehow,
possibly via something like CHECK_LIVE_WINDOW, which appears in a
handful of related definitions, such as `set-frame-selected-window'. In
any case, because this line of reasoning may also be nonsense, I think
we need a reliable repro recipe before proceeding further.





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

Previous Next


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