Package: emacs;
Reported by: Thibault Polge <thibault <at> thb.lt>
Date: Mon, 29 Jul 2019 22:06:02 UTC
Severity: normal
Tags: fixed, patch
Found in versions 24.4, 26.2
Fixed in version 27.1
Done: Noam Postavsky <npostavs <at> gmail.com>
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 36843 in the body.
You can then email your comments to 36843 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
bug-gnu-emacs <at> gnu.org
:bug#36843
; Package emacs
.
(Mon, 29 Jul 2019 22:06:02 GMT) Full text and rfc822 format available.Thibault Polge <thibault <at> thb.lt>
:bug-gnu-emacs <at> gnu.org
.
(Mon, 29 Jul 2019 22:06:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Thibault Polge <thibault <at> thb.lt> To: bug-gnu-emacs <at> gnu.org Subject: 26.2; ERC lurker feature broken Date: Tue, 30 Jul 2019 00:05:04 +0200
Message-ID: <878ssgo5ve.fsf <at> thb.lt> Hello, ERC lurkers feature is broken on Emacs 26.2: (erc-lurker-p) returns t for all inputs and messages of types in 'erc-lurker-hide-list' are always hidden. I think this is because 'erc-lurker-update-status' relies on dynamic binding, as stated in its docstring: > This function depends on the fact that `erc-display-message' > dynamically binds `parsed', which is used to check if the current > message is a PRIVMSG and to determine its sender. See also > `erc-lurker-trim-nicks' and `erc-lurker-ignore-chars'. But erc.el uses lexical binding. All the best, Thibault In GNU Emacs 26.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.8) Windowing system distributor 'The X.Org Foundation', version 11.0.12005000 Recent messages: Saving file /home/thblt/*message*-20190729-235431... Wrote /home/thblt/*message*-20190729-235431 Mark set [2 times] Sending... message-send: No methods specified to send by previous-line: Beginning of buffer Auto-saving... Mark set Quit Buffer *unsent mail to bug-gnu-emacs <at> gnu.org* modified; kill anyway? (y or n) y Configured using: 'configure --prefix=/nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2 --disable-build-details --with-modules --with-x-toolkit=gtk3 --with-xft CFLAGS=-DMAC_OS_X_VERSION_MAX_ALLOWED=101200' Configured features: XPM JPEG TIFF GIF PNG RSVG SOUND DBUS GSETTINGS GLIB NOTIFY LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD Important settings: value of $LANG: fr_FR.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: erc-list-mode: t erc-menu-mode: t erc-autojoin-mode: t erc-ring-mode: t erc-networks-mode: t erc-pcomplete-mode: t erc-track-mode: t erc-track-minor-mode: t erc-match-mode: t erc-netsplit-mode: t erc-hl-nicks-mode: t erc-button-mode: t erc-fill-mode: t erc-stamp-mode: t erc-irccontrols-mode: t erc-noncommands-mode: t erc-move-to-prompt-mode: t erc-readonly-mode: t diff-auto-refine-mode: t aggressive-indent-mode: t color-identifiers-mode: t outshine-mode: t pdf-occur-global-minor-mode: t magit-auto-revert-mode: t async-bytecomp-package-mode: t company-posframe-mode: t company-mode: t shell-dirtrack-mode: t outline-minor-mode: t super-save-mode: t yas-global-mode: t yas-minor-mode: t global-undo-tree-mode: t undo-tree-mode: t show-smartparens-global-mode: t show-smartparens-mode: t smartparens-global-mode: t smartparens-mode: t recentf-mode: t beginend-global-mode: t beginend-prog-mode: t winner-mode: t which-key-mode: t popwin-mode: t ivy-posframe-mode: t eyebrowse-mode: t counsel-projectile-mode: t ivy-mode: t projectile-mode: t auto-compile-on-load-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: /home/thblt/.emacs.d/lib/password-store/password-store hides /home/thblt/.nix-profile/share/emacs/site-lisp/password-store /home/thblt/.nix-profile/share/emacs/site-lisp/site-start hides /run/current-system/sw/share/emacs/site-lisp/site-start /home/thblt/.nix-profile/share/emacs/site-lisp/site-start hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/site-lisp/site-start /home/thblt/.emacs.d/lib/auth-password-store/auth-source-pass hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/auth-source-pass /home/thblt/.emacs.d/lib/org/lisp/ob-emacs-lisp hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-emacs-lisp /home/thblt/.emacs.d/lib/org/lisp/ob-picolisp hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-picolisp /home/thblt/.emacs.d/lib/org/lisp/org-attach hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-attach /home/thblt/.emacs.d/lib/org/lisp/org-id hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-id /home/thblt/.emacs.d/lib/org/lisp/ox-publish hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ox-publish /home/thblt/.emacs.d/lib/org/lisp/org-indent hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-indent /home/thblt/.emacs.d/lib/org/lisp/ob-core hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-core /home/thblt/.emacs.d/lib/org/lisp/ob-hledger hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-hledger /home/thblt/.emacs.d/lib/org/lisp/org-protocol hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-protocol /home/thblt/.emacs.d/lib/org/lisp/ob-sqlite hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-sqlite /home/thblt/.emacs.d/lib/org/lisp/ob-python hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-python /home/thblt/.emacs.d/lib/org/lisp/org hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org /home/thblt/.emacs.d/lib/org/lisp/org-pcomplete hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-pcomplete /home/thblt/.emacs.d/lib/org/lisp/ob-java hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-java /home/thblt/.emacs.d/lib/org/lisp/ob-lua hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-lua /home/thblt/.emacs.d/lib/org/lisp/ob-mscgen hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-mscgen /home/thblt/.emacs.d/lib/org/lisp/org-timer hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-timer /home/thblt/.emacs.d/lib/org/lisp/org-lint hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-lint /home/thblt/.emacs.d/lib/org/lisp/org-plot hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-plot /home/thblt/.emacs.d/lib/org/lisp/ob-processing hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-processing /home/thblt/.emacs.d/lib/org/lisp/ob-scheme hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-scheme /home/thblt/.emacs.d/lib/org/lisp/ob-exp hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-exp /home/thblt/.emacs.d/lib/org/lisp/ob-sql hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-sql /home/thblt/.emacs.d/lib/org/lisp/org-faces hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-faces /home/thblt/.emacs.d/lib/org/lisp/org-crypt hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-crypt /home/thblt/.emacs.d/lib/org/lisp/org-table hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-table /home/thblt/.emacs.d/lib/org/lisp/ox-md hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ox-md /home/thblt/.emacs.d/lib/org/lisp/ox-ascii hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ox-ascii /home/thblt/.emacs.d/lib/org/lisp/org-loaddefs hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-loaddefs /home/thblt/.emacs.d/lib/org/lisp/org-colview hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-colview /home/thblt/.emacs.d/lib/org/lisp/ob-C hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-C /home/thblt/.emacs.d/lib/org/lisp/org-footnote hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-footnote /home/thblt/.emacs.d/lib/org/lisp/org-feed hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-feed /home/thblt/.emacs.d/lib/org/lisp/org-duration hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-duration /home/thblt/.emacs.d/lib/org/lisp/ob-calc hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-calc /home/thblt/.emacs.d/lib/org/lisp/ob-ebnf hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-ebnf /home/thblt/.emacs.d/lib/org/lisp/ob-ocaml hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-ocaml /home/thblt/.emacs.d/lib/org/lisp/ob-ditaa hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-ditaa /home/thblt/.emacs.d/lib/org/lisp/org-mobile hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-mobile /home/thblt/.emacs.d/lib/org/lisp/ob-gnuplot hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-gnuplot /home/thblt/.emacs.d/lib/org/lisp/ox-texinfo hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ox-texinfo /home/thblt/.emacs.d/lib/org/lisp/org-datetree hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-datetree /home/thblt/.emacs.d/lib/org/lisp/ob-J hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-J /home/thblt/.emacs.d/lib/org/lisp/ob-ruby hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-ruby /home/thblt/.emacs.d/lib/org/lisp/ob-eval hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-eval /home/thblt/.emacs.d/lib/org/lisp/ob-abc hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-abc /home/thblt/.emacs.d/lib/org/lisp/ox-html hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ox-html /home/thblt/.emacs.d/lib/org/lisp/ob-io hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-io /home/thblt/.emacs.d/lib/org/lisp/org-compat hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-compat /home/thblt/.emacs.d/lib/org/lisp/ob-perl hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-perl /home/thblt/.emacs.d/lib/org/lisp/org-archive hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-archive /home/thblt/.emacs.d/lib/org/lisp/ob-dot hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-dot /home/thblt/.emacs.d/lib/org/lisp/ob-ref hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-ref /home/thblt/.emacs.d/lib/org/lisp/org-habit hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-habit /home/thblt/.emacs.d/lib/org/lisp/org-capture hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-capture /home/thblt/.emacs.d/lib/org/lisp/ob-shell hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-shell /home/thblt/.emacs.d/lib/org/lisp/ob-js hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-js /home/thblt/.emacs.d/lib/org/lisp/ob-stan hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-stan /home/thblt/.emacs.d/lib/org/lisp/ob-css hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-css /home/thblt/.emacs.d/lib/org/lisp/ob-clojure hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-clojure /home/thblt/.emacs.d/lib/org/lisp/ob-tangle hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-tangle /home/thblt/.emacs.d/lib/org/lisp/org-element hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-element /home/thblt/.emacs.d/lib/org/lisp/org-version hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-version /home/thblt/.emacs.d/lib/org/lisp/ob-haskell hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-haskell /home/thblt/.emacs.d/lib/org/lisp/org-src hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-src /home/thblt/.emacs.d/lib/org/lisp/ob-lilypond hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-lilypond /home/thblt/.emacs.d/lib/org/lisp/ob-groovy hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-groovy /home/thblt/.emacs.d/lib/org/lisp/org-install hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-install /home/thblt/.emacs.d/lib/org/lisp/ob-table hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-table /home/thblt/.emacs.d/lib/org/lisp/ob-ledger hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-ledger /home/thblt/.emacs.d/lib/org/lisp/ob-plantuml hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-plantuml /home/thblt/.emacs.d/lib/org/lisp/ob-coq hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-coq /home/thblt/.emacs.d/lib/org/lisp/org-inlinetask hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-inlinetask /home/thblt/.emacs.d/lib/org/lisp/ox-beamer hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ox-beamer /home/thblt/.emacs.d/lib/org/lisp/org-macs hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-macs /home/thblt/.emacs.d/lib/org/lisp/org-entities hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-entities /home/thblt/.emacs.d/lib/org/lisp/ox-odt hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ox-odt /home/thblt/.emacs.d/lib/org/lisp/ob-lisp hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-lisp /home/thblt/.emacs.d/lib/org/lisp/ob-fortran hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-fortran /home/thblt/.emacs.d/lib/org/lisp/ob-forth hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-forth /home/thblt/.emacs.d/lib/org/lisp/ox-icalendar hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ox-icalendar /home/thblt/.emacs.d/lib/org/lisp/ob-comint hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-comint /home/thblt/.emacs.d/lib/org/lisp/ob-screen hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-screen /home/thblt/.emacs.d/lib/org/lisp/org-list hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-list /home/thblt/.emacs.d/lib/org/lisp/ob-shen hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-shen /home/thblt/.emacs.d/lib/org/lisp/org-mouse hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-mouse /home/thblt/.emacs.d/lib/org/lisp/ob-vala hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-vala /home/thblt/.emacs.d/lib/org/lisp/ob hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob /home/thblt/.emacs.d/lib/org/lisp/ob-sed hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-sed /home/thblt/.emacs.d/lib/org/lisp/ob-octave hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-octave /home/thblt/.emacs.d/lib/org/lisp/ox-org hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ox-org /home/thblt/.emacs.d/lib/org/lisp/org-ctags hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-ctags /home/thblt/.emacs.d/lib/org/lisp/org-macro hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-macro /home/thblt/.emacs.d/lib/org/lisp/ob-asymptote hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-asymptote /home/thblt/.emacs.d/lib/org/lisp/ob-latex hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-latex /home/thblt/.emacs.d/lib/org/lisp/ob-awk hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-awk /home/thblt/.emacs.d/lib/org/lisp/ox hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ox /home/thblt/.emacs.d/lib/org/lisp/ob-maxima hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-maxima /home/thblt/.emacs.d/lib/org/lisp/ob-makefile hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-makefile /home/thblt/.emacs.d/lib/org/lisp/org-agenda hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-agenda /home/thblt/.emacs.d/lib/org/lisp/org-clock hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/org-clock /home/thblt/.emacs.d/lib/org/lisp/ox-latex hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ox-latex /home/thblt/.emacs.d/lib/org/lisp/ob-sass hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-sass /home/thblt/.emacs.d/lib/org/lisp/ob-org hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-org /home/thblt/.emacs.d/lib/org/lisp/ob-R hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-R /home/thblt/.emacs.d/lib/org/lisp/ob-matlab hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-matlab /home/thblt/.emacs.d/lib/org/lisp/ox-man hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ox-man /home/thblt/.emacs.d/lib/org/lisp/ob-lob hides /nix/store/hb9lqgyxn4h731fp8xk0n99vv5b8kibn-emacs-26.2/share/emacs/26.2/lisp/org/ob-lob Features: (dabbrev windmove shadow sort ol-eww ol-rmail ol-mhe ol-irc ol-info ol-gnus nnir ol-docview ol-bibtex bibtex ol-bbdb ol-w3m orgalist mail-extr emacsbug misearch multi-isearch two-column iso-transl cl-print eieio-opt help-fns mwim eziam-dark-theme network-stream nsm starttls erc-list erc-menu erc-join erc-ring erc-networks erc-pcomplete erc-track erc-match erc-netsplit znc warnings erc-hl-nicks erc-button erc-fill erc-stamp erc-goodies erc erc-backend erc-compat vc-git diff-mode aggressive-indent color-identifiers-mode smartparens-python python tramp-sh tramp tramp-compat tramp-loaddefs trampver ucs-normalize json map company-oddmuse company-keywords company-etags etags company-gtags company-dabbrev-code company-dabbrev company-files company-capf company-cmake company-xcode company-clang company-semantic company-eclim company-bbdb company-irony company-template irony-completion irony-snippet irony irony-iotask outshine outshine-org-cmds outorg rx pdf-occur tablist tablist-filter semantic/wisent/comp semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet pdf-isearch let-alist pdf-misc imenu pdf-tools package url-handlers cus-edit cus-start cus-load pdf-view bookmark pp pdf-cache pdf-info tq pdf-util auth-source-pass mu4e-contrib mu4e desktop frameset mu4e-speedbar speedbar sb-image ezimage dframe mu4e-main mu4e-view browse-url gnus-art mm-uu mml2015 mm-view mml-smime smime dig mailcap gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source tls gnutls utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range gnus-win gnus nnheader mu4e-headers mu4e-compose mu4e-context mu4e-draft mu4e-actions ido rfc2368 smtpmail sendmail mu4e-mark mu4e-message flow-fill mu4e-proc mu4e-utils doc-view image-mode mu4e-lists mu4e-vars message rmc puny rfc822 mml mml-sec epa derived epg epg-config gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader hl-line mu4e-meta magit-repos magit-core magit-autorevert autorevert filenotify magit-margin magit-transient magit-process with-editor async-bytecomp async magit-mode transient magit-git magit-section magit-utils crm rainbow-mode evil-nerd-commenter evil-nerd-commenter-sdk smartparens-html sgml-mode dom subr-x company-posframe company pcase ob-shell shell ob-dot ox-extra ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar ox-html table ox-ascii ox-publish ox org-element avl-tree generator smartparens-org org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete pcomplete org-list org-faces org-entities noutline outline org-version ob-emacs-lisp ob-core ob-eval org-table ol org-keys org-compat org-macs find-func cal-menu calendar cal-loaddefs tex-site auto-loads visual-fill-column super-save yasnippet-snippets yasnippet elec-pair undo-tree diff smartparens-config smartparens-text smartparens recentf tree-widget wid-edit nav-flash pulse beginend flyspell-correct-ivy flyspell-correct flyspell ispell hydra lv winner time-date which-key popwin ivy-posframe easy-mmode posframe eyebrowse format-spec dash general diminish counsel-projectile counsel xdg xref project dired dired-loaddefs swiper ivy delsel colir ivy-overlay ffap url-parse auth-source eieio eieio-core eieio-loaddefs password-cache url-vars projectile grep compile comint ansi-color ring ibuf-ext ibuffer ibuffer-loaddefs thingatpt server powerline powerline-separators color powerline-themes kurecolor cl-macs s cl eziam-light-theme eziam-common advice edmacro kmacro jka-compr no-littering auto-compile packed org-loaddefs cl-extra help-mode cl-seq borg info easymenu autoload radix-tree lisp-mnt seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type 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 elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame cl-generic 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 charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind inotify dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 742385 50609) (symbols 48 60828 45) (miscs 40 1271 1467) (strings 32 238679 4144) (string-bytes 1 6957697) (vectors 16 102684) (vector-slots 8 2239185 213522) (floats 8 742 1110) (intervals 56 9385 3740) (buffers 992 31))
Noam Postavsky <npostavs <at> gmail.com>
to control <at> debbugs.gnu.org
.
(Fri, 16 Aug 2019 16:32:02 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#36843
; Package emacs
.
(Sat, 17 Aug 2019 18:35:02 GMT) Full text and rfc822 format available.Message #10 received at 36843 <at> debbugs.gnu.org (full text, mbox):
From: Amin Bandali <bandali <at> gnu.org> To: Thibault Polge <thibault <at> thb.lt> Cc: 36843 <at> debbugs.gnu.org Subject: Re: bug#36843: 26.2; ERC lurker feature broken Date: Sat, 17 Aug 2019 14:34:52 -0400
[Message part 1 (text/plain, inline)]
Below is a patch that seems to fix this. I haven’t tested the actual patch but I’ve added its changed to my init file (adding the new defvar, and redefining erc-display-message and erc-lurker-update-status) for the last couple of days, and it seems to work as intended. Thanks to Noam for helping me with this over on #emacs.
[0001-Fix-erc-lurker-update-status.patch (text/x-diff, inline)]
From 389654f5c7a9ad0975bff84a163ed6234cdb3cb8 Mon Sep 17 00:00:00 2001 From: Amin Bandali <bandali <at> gnu.org> Date: Sat, 17 Aug 2019 14:09:11 -0400 Subject: [PATCH] Fix erc-lurker-update-status Fix erc-lurker-update-status (bug#36843), broken since d0fcaff514d2be16ccf73817f658318cf85221e3. * lisp/erc/erc.el: define `erc-message-parsed', lexically bind it in `erc-display-message', and change `erc-lurker-update-status' to use that instead of using `parsed' directly. This results in `erc-lurker-state' being properly updated to keep track of non-lurkers, and thus `erc-lurker-p' returning correct results rather than return t for everyone. --- lisp/erc/erc.el | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index f5c9decc3a..9ea9e608ac 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el @@ -2594,6 +2594,8 @@ erc-lurker-cleanup-interval consumption of lurker state during long Emacs sessions and/or ERC sessions with large numbers of incoming PRIVMSGs.") +(defvar erc-message-parsed) + (defun erc-lurker-update-status (_message) "Update `erc-lurker-state' if necessary. @@ -2603,18 +2605,20 @@ erc-lurker-update-status current time. Otherwise, take no action. This function depends on the fact that `erc-display-message' -dynamically binds `parsed', which is used to check if the current -message is a PRIVMSG and to determine its sender. See also -`erc-lurker-trim-nicks' and `erc-lurker-ignore-chars'. +dynamically binds `erc-message-parsed', which is used to check if +the current message is a PRIVMSG and to determine its sender. +See also `erc-lurker-trim-nicks' and `erc-lurker-ignore-chars'. In order to limit memory consumption, this function also calls `erc-lurker-cleanup' once every `erc-lurker-cleanup-interval' updates of `erc-lurker-state'." - (when (and (boundp 'parsed) (erc-response-p parsed)) - (let* ((command (erc-response.command parsed)) + (when (and (boundp 'erc-message-parsed) + (erc-response-p erc-message-parsed)) + (let* ((command (erc-response.command erc-message-parsed)) (sender (erc-lurker-maybe-trim - (car (erc-parse-user (erc-response.sender parsed))))) + (car (erc-parse-user + (erc-response.sender erc-message-parsed))))) (server (erc-canonicalize-server-name erc-server-announced-name))) (when (equal command "PRIVMSG") @@ -2704,7 +2708,8 @@ erc-display-message See also `erc-format-message' and `erc-display-line'." (let ((string (if (symbolp msg) (apply #'erc-format-message msg args) - msg))) + msg)) + (erc-message-parsed parsed)) (setq string (cond ((null type) -- 2.22.0
Amin Bandali <bandali <at> gnu.org>
to control <at> debbugs.gnu.org
.
(Sun, 18 Aug 2019 14:23:01 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#36843
; Package emacs
.
(Sun, 18 Aug 2019 19:24:01 GMT) Full text and rfc822 format available.Message #15 received at 36843 <at> debbugs.gnu.org (full text, mbox):
From: Alex Branham <alex.branham <at> gmail.com> To: Amin Bandali <bandali <at> gnu.org> Cc: Thibault Polge <thibault <at> thb.lt>, 36843 <at> debbugs.gnu.org Subject: Re: bug#36843: 26.2; ERC lurker feature broken Date: Sun, 18 Aug 2019 14:23:07 -0500
On Sat 17 Aug 2019 at 14:34, Amin Bandali <bandali <at> gnu.org> wrote: > Below is a patch that seems to fix this. I haven’t tested the actual > patch but I’ve added its changed to my init file (adding the new defvar, > and redefining erc-display-message and erc-lurker-update-status) for the > last couple of days, and it seems to work as intended. > > Thanks to Noam for helping me with this over on #emacs. I've tested this locally lightly. It fixes the issue and seems to work well. Thanks, Alex
bug-gnu-emacs <at> gnu.org
:bug#36843
; Package emacs
.
(Thu, 22 Aug 2019 16:55:01 GMT) Full text and rfc822 format available.Message #18 received at 36843 <at> debbugs.gnu.org (full text, mbox):
From: Thibault Polge <thibault <at> thb.lt> To: 36843 <at> debbugs.gnu.org Subject: Re: bug#36843: 26.2; ERC lurker feature broken Date: Thu, 22 Aug 2019 18:54:28 +0200
I'm running emacs-26.1-7008-ge5defc3e0f compiled with Amin's patch applied, and everything seems to work well. Thanks! Thibault
bug-gnu-emacs <at> gnu.org
:bug#36843
; Package emacs
.
(Sat, 24 Aug 2019 16:46:01 GMT) Full text and rfc822 format available.Message #21 received at 36843 <at> debbugs.gnu.org (full text, mbox):
From: Noam Postavsky <npostavs <at> gmail.com> To: Amin Bandali <bandali <at> gnu.org> Cc: Thibault Polge <thibault <at> thb.lt>, 36843 <at> debbugs.gnu.org Subject: Re: bug#36843: 26.2; ERC lurker feature broken Date: Sat, 24 Aug 2019 12:45:19 -0400
Amin Bandali <bandali <at> gnu.org> writes: > From: Amin Bandali <bandali <at> gnu.org> This address seems to be different than what's in the copyright list. Could you use that one, since otherwise it's a bit confusing as to whether I'm actually looking at the entry of the right person. > Date: Sat, 17 Aug 2019 14:09:11 -0400 > Subject: [PATCH] Fix erc-lurker-update-status > > Fix erc-lurker-update-status (bug#36843), broken since > d0fcaff514d2be16ccf73817f658318cf85221e3. > > * lisp/erc/erc.el: define `erc-message-parsed', lexically bind it in Instead of "lexically" I believe you actually mean "dynamically" (binding lexically is the cause of the bug). And I would reformat like this: Fix erc-lurker-update-status (bug#36843) Broken since 2013-08-22 "* lisp/erc/erc.el: Use lexical-binding". * lisp/erc/erc.el (erc-message-parsed): New variable. (erc-display-message): Dynamically bind it. (erc-lurker-update-status): Check it instead of using `parsed' directly. This results in `erc-lurker-state' being properly updated to keep track of non-lurkers, and thus `erc-lurker-p' returning correct results rather than return t for everyone.
bug-gnu-emacs <at> gnu.org
:bug#36843
; Package emacs
.
(Tue, 27 Aug 2019 14:32:02 GMT) Full text and rfc822 format available.Message #24 received at 36843 <at> debbugs.gnu.org (full text, mbox):
From: Amin Bandali <bandali <at> gnu.org> To: Noam Postavsky <npostavs <at> gmail.com> Cc: Thibault Polge <thibault <at> thb.lt>, 36843 <at> debbugs.gnu.org Subject: Re: bug#36843: 26.2; ERC lurker feature broken Date: Tue, 27 Aug 2019 10:31:00 -0400
[Message part 1 (text/plain, inline)]
Noam Postavsky <npostavs <at> gmail.com> writes: > Amin Bandali <bandali <at> gnu.org> writes: > >> From: Amin Bandali <bandali <at> gnu.org> > > This address seems to be different than what's in the copyright list. > Could you use that one, since otherwise it's a bit confusing as to > whether I'm actually looking at the entry of the right person. > Thanks for bringing this to my attention. I’d changed my email back in December 2018 and had notified the copyright clerk about it, but it seems that their change hadn’t properly propagated to copyright.list. It should be there now. > >> Date: Sat, 17 Aug 2019 14:09:11 -0400 >> Subject: [PATCH] Fix erc-lurker-update-status >> >> Fix erc-lurker-update-status (bug#36843), broken since >> d0fcaff514d2be16ccf73817f658318cf85221e3. >> >> * lisp/erc/erc.el: define `erc-message-parsed', lexically bind it in > > Instead of "lexically" I believe you actually mean "dynamically" > (binding lexically is the cause of the bug). And I would reformat like > this: > Good catch! I rebased on latest master and reformatted per your suggestion. I’ve attached an updated patch below. Thanks for your feedback.
[0001-Fix-erc-lurker-update-status-bug-36843.patch (text/x-diff, inline)]
From 2bc8f35e4a0f76e7b59950738fbfdc3c3e48263c Mon Sep 17 00:00:00 2001 From: Amin Bandali <bandali <at> gnu.org> Date: Sat, 17 Aug 2019 14:09:11 -0400 Subject: [PATCH] Fix erc-lurker-update-status (bug#36843) Broken since 2013-08-22 "* lisp/erc/erc.el: Use lexical-binding". * lisp/erc/erc.el (erc-message-parsed): New variable. (erc-display-message): Dynamically bind it. (erc-lurker-update-status): Check it instead of using `parsed' directly. This results in `erc-lurker-state' being properly updated to keep track of non-lurkers, and thus `erc-lurker-p' returning correct results rather than return t for everyone. --- lisp/erc/erc.el | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index f5c9decc3a..9ea9e608ac 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el @@ -2594,6 +2594,8 @@ erc-lurker-cleanup-interval consumption of lurker state during long Emacs sessions and/or ERC sessions with large numbers of incoming PRIVMSGs.") +(defvar erc-message-parsed) + (defun erc-lurker-update-status (_message) "Update `erc-lurker-state' if necessary. @@ -2603,18 +2605,20 @@ erc-lurker-update-status current time. Otherwise, take no action. This function depends on the fact that `erc-display-message' -dynamically binds `parsed', which is used to check if the current -message is a PRIVMSG and to determine its sender. See also -`erc-lurker-trim-nicks' and `erc-lurker-ignore-chars'. +dynamically binds `erc-message-parsed', which is used to check if +the current message is a PRIVMSG and to determine its sender. +See also `erc-lurker-trim-nicks' and `erc-lurker-ignore-chars'. In order to limit memory consumption, this function also calls `erc-lurker-cleanup' once every `erc-lurker-cleanup-interval' updates of `erc-lurker-state'." - (when (and (boundp 'parsed) (erc-response-p parsed)) - (let* ((command (erc-response.command parsed)) + (when (and (boundp 'erc-message-parsed) + (erc-response-p erc-message-parsed)) + (let* ((command (erc-response.command erc-message-parsed)) (sender (erc-lurker-maybe-trim - (car (erc-parse-user (erc-response.sender parsed))))) + (car (erc-parse-user + (erc-response.sender erc-message-parsed))))) (server (erc-canonicalize-server-name erc-server-announced-name))) (when (equal command "PRIVMSG") @@ -2704,7 +2708,8 @@ erc-display-message See also `erc-format-message' and `erc-display-line'." (let ((string (if (symbolp msg) (apply #'erc-format-message msg args) - msg))) + msg)) + (erc-message-parsed parsed)) (setq string (cond ((null type) -- 2.23.0
bug-gnu-emacs <at> gnu.org
:bug#36843
; Package emacs
.
(Wed, 04 Sep 2019 14:06:01 GMT) Full text and rfc822 format available.Message #27 received at 36843 <at> debbugs.gnu.org (full text, mbox):
From: Alex Branham <alex.branham <at> gmail.com> To: Amin Bandali <bandali <at> gnu.org> Cc: Thibault Polge <thibault <at> thb.lt>, Noam Postavsky <npostavs <at> gmail.com>, 36843 <at> debbugs.gnu.org Subject: Re: bug#36843: 26.2; ERC lurker feature broken Date: Wed, 04 Sep 2019 09:05:12 -0500
On Tue 27 Aug 2019 at 10:31, Amin Bandali <bandali <at> gnu.org> wrote: Is this OK to apply to master? I've been using it locally and seems to work well. >>> Date: Sat, 17 Aug 2019 14:09:11 -0400 >>> Subject: [PATCH] Fix erc-lurker-update-status >>> >>> Fix erc-lurker-update-status (bug#36843), broken since >>> d0fcaff514d2be16ccf73817f658318cf85221e3. >>> >>> * lisp/erc/erc.el: define `erc-message-parsed', lexically bind it in >> >> Instead of "lexically" I believe you actually mean "dynamically" >> (binding lexically is the cause of the bug). And I would reformat like >> this: >> > > Good catch! I rebased on latest master and reformatted per your > suggestion. I’ve attached an updated patch below. > > Thanks for your feedback. > >>From 2bc8f35e4a0f76e7b59950738fbfdc3c3e48263c Mon Sep 17 00:00:00 2001 > From: Amin Bandali <bandali <at> gnu.org> > Date: Sat, 17 Aug 2019 14:09:11 -0400 > Subject: [PATCH] Fix erc-lurker-update-status (bug#36843) > > Broken since 2013-08-22 "* lisp/erc/erc.el: Use lexical-binding". > > * lisp/erc/erc.el (erc-message-parsed): New variable. > (erc-display-message): Dynamically bind it. > (erc-lurker-update-status): Check it instead of using `parsed' > directly. This results in `erc-lurker-state' being properly updated > to keep track of non-lurkers, and thus `erc-lurker-p' returning > correct results rather than return t for everyone. > --- > lisp/erc/erc.el | 19 ++++++++++++------- > 1 file changed, 12 insertions(+), 7 deletions(-) > > diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el > index f5c9decc3a..9ea9e608ac 100644 > --- a/lisp/erc/erc.el > +++ b/lisp/erc/erc.el > @@ -2594,6 +2594,8 @@ erc-lurker-cleanup-interval > consumption of lurker state during long Emacs sessions and/or ERC > sessions with large numbers of incoming PRIVMSGs.") > > +(defvar erc-message-parsed) > + > (defun erc-lurker-update-status (_message) > "Update `erc-lurker-state' if necessary. > > @@ -2603,18 +2605,20 @@ erc-lurker-update-status > current time. Otherwise, take no action. > > This function depends on the fact that `erc-display-message' > -dynamically binds `parsed', which is used to check if the current > -message is a PRIVMSG and to determine its sender. See also > -`erc-lurker-trim-nicks' and `erc-lurker-ignore-chars'. > +dynamically binds `erc-message-parsed', which is used to check if > +the current message is a PRIVMSG and to determine its sender. > +See also `erc-lurker-trim-nicks' and `erc-lurker-ignore-chars'. > > In order to limit memory consumption, this function also calls > `erc-lurker-cleanup' once every `erc-lurker-cleanup-interval' > updates of `erc-lurker-state'." > - (when (and (boundp 'parsed) (erc-response-p parsed)) > - (let* ((command (erc-response.command parsed)) > + (when (and (boundp 'erc-message-parsed) > + (erc-response-p erc-message-parsed)) > + (let* ((command (erc-response.command erc-message-parsed)) > (sender > (erc-lurker-maybe-trim > - (car (erc-parse-user (erc-response.sender parsed))))) > + (car (erc-parse-user > + (erc-response.sender erc-message-parsed))))) > (server > (erc-canonicalize-server-name erc-server-announced-name))) > (when (equal command "PRIVMSG") > @@ -2704,7 +2708,8 @@ erc-display-message > See also `erc-format-message' and `erc-display-line'." > (let ((string (if (symbolp msg) > (apply #'erc-format-message msg args) > - msg))) > + msg)) > + (erc-message-parsed parsed)) > (setq string > (cond > ((null type)
bug-gnu-emacs <at> gnu.org
:bug#36843
; Package emacs
.
(Thu, 05 Sep 2019 23:58:01 GMT) Full text and rfc822 format available.Message #30 received at 36843 <at> debbugs.gnu.org (full text, mbox):
From: Noam Postavsky <npostavs <at> gmail.com> To: Amin Bandali <bandali <at> gnu.org> Cc: Thibault Polge <thibault <at> thb.lt>, 36843 <at> debbugs.gnu.org Subject: Re: bug#36843: 26.2; ERC lurker feature broken Date: Thu, 05 Sep 2019 19:57:45 -0400
tags 36843 fixed close 36843 27.1 quit Amin Bandali <bandali <at> gnu.org> writes: > Subject: [PATCH] Fix erc-lurker-update-status (bug#36843) > > Broken since 2013-08-22 "* lisp/erc/erc.el: Use lexical-binding". > > * lisp/erc/erc.el (erc-message-parsed): New variable. > (erc-display-message): Dynamically bind it. > (erc-lurker-update-status): Check it instead of using `parsed' > directly. This results in `erc-lurker-state' being properly updated > to keep track of non-lurkers, and thus `erc-lurker-p' returning > correct results rather than return t for everyone. Pushed to master. ff0f4c7312 2019-09-05T19:56:14-04:00 "Fix erc-lurker-update-status (bug#36843)" https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=ff0f4c731231b03d73cc35de9e042d1fc1b75f4e
Noam Postavsky <npostavs <at> gmail.com>
to control <at> debbugs.gnu.org
.
(Thu, 05 Sep 2019 23:58:01 GMT) Full text and rfc822 format available.Noam Postavsky <npostavs <at> gmail.com>
to control <at> debbugs.gnu.org
.
(Thu, 05 Sep 2019 23:58:02 GMT) Full text and rfc822 format available.Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Fri, 04 Oct 2019 11:24:07 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.