unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#36843: 26.2; ERC lurker feature broken
@ 2019-07-29 22:05 Thibault Polge
  2019-08-17 18:34 ` Amin Bandali
  0 siblings, 1 reply; 8+ messages in thread
From: Thibault Polge @ 2019-07-29 22:05 UTC (permalink / raw)
  To: 36843


Message-ID: <878ssgo5ve.fsf@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@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))





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#36843: 26.2; ERC lurker feature broken
  2019-07-29 22:05 bug#36843: 26.2; ERC lurker feature broken Thibault Polge
@ 2019-08-17 18:34 ` Amin Bandali
  2019-08-18 19:23   ` Alex Branham
  2019-08-24 16:45   ` Noam Postavsky
  0 siblings, 2 replies; 8+ messages in thread
From: Amin Bandali @ 2019-08-17 18:34 UTC (permalink / raw)
  To: Thibault Polge; +Cc: 36843

[-- Attachment #1: Type: text/plain, Size: 340 bytes --]

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.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Fix-erc-lurker-update-status.patch --]
[-- Type: text/x-diff, Size: 2813 bytes --]

From 389654f5c7a9ad0975bff84a163ed6234cdb3cb8 Mon Sep 17 00:00:00 2001
From: Amin Bandali <bandali@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


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* bug#36843: 26.2; ERC lurker feature broken
  2019-08-17 18:34 ` Amin Bandali
@ 2019-08-18 19:23   ` Alex Branham
  2019-08-22 16:54     ` Thibault Polge
  2019-08-24 16:45   ` Noam Postavsky
  1 sibling, 1 reply; 8+ messages in thread
From: Alex Branham @ 2019-08-18 19:23 UTC (permalink / raw)
  To: Amin Bandali; +Cc: Thibault Polge, 36843

On Sat 17 Aug 2019 at 14:34, Amin Bandali <bandali@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





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#36843: 26.2; ERC lurker feature broken
  2019-08-18 19:23   ` Alex Branham
@ 2019-08-22 16:54     ` Thibault Polge
  0 siblings, 0 replies; 8+ messages in thread
From: Thibault Polge @ 2019-08-22 16:54 UTC (permalink / raw)
  To: 36843

I'm running emacs-26.1-7008-ge5defc3e0f compiled with Amin's patch
applied, and everything seems to work well.

Thanks!
Thibault





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#36843: 26.2; ERC lurker feature broken
  2019-08-17 18:34 ` Amin Bandali
  2019-08-18 19:23   ` Alex Branham
@ 2019-08-24 16:45   ` Noam Postavsky
  2019-08-27 14:31     ` Amin Bandali
  1 sibling, 1 reply; 8+ messages in thread
From: Noam Postavsky @ 2019-08-24 16:45 UTC (permalink / raw)
  To: Amin Bandali; +Cc: Thibault Polge, 36843

Amin Bandali <bandali@gnu.org> writes:

> From: Amin Bandali <bandali@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.






^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#36843: 26.2; ERC lurker feature broken
  2019-08-24 16:45   ` Noam Postavsky
@ 2019-08-27 14:31     ` Amin Bandali
  2019-09-04 14:05       ` Alex Branham
  2019-09-05 23:57       ` Noam Postavsky
  0 siblings, 2 replies; 8+ messages in thread
From: Amin Bandali @ 2019-08-27 14:31 UTC (permalink / raw)
  To: Noam Postavsky; +Cc: Thibault Polge, 36843

[-- Attachment #1: Type: text/plain, Size: 1186 bytes --]

Noam Postavsky <npostavs@gmail.com> writes:

> Amin Bandali <bandali@gnu.org> writes:
>
>> From: Amin Bandali <bandali@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.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Fix-erc-lurker-update-status-bug-36843.patch --]
[-- Type: text/x-diff, Size: 2777 bytes --]

From 2bc8f35e4a0f76e7b59950738fbfdc3c3e48263c Mon Sep 17 00:00:00 2001
From: Amin Bandali <bandali@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


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* bug#36843: 26.2; ERC lurker feature broken
  2019-08-27 14:31     ` Amin Bandali
@ 2019-09-04 14:05       ` Alex Branham
  2019-09-05 23:57       ` Noam Postavsky
  1 sibling, 0 replies; 8+ messages in thread
From: Alex Branham @ 2019-09-04 14:05 UTC (permalink / raw)
  To: Amin Bandali; +Cc: Thibault Polge, Noam Postavsky, 36843

On Tue 27 Aug 2019 at 10:31, Amin Bandali <bandali@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@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)





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#36843: 26.2; ERC lurker feature broken
  2019-08-27 14:31     ` Amin Bandali
  2019-09-04 14:05       ` Alex Branham
@ 2019-09-05 23:57       ` Noam Postavsky
  1 sibling, 0 replies; 8+ messages in thread
From: Noam Postavsky @ 2019-09-05 23:57 UTC (permalink / raw)
  To: Amin Bandali; +Cc: Thibault Polge, 36843

tags 36843 fixed
close 36843 27.1
quit

Amin Bandali <bandali@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






^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-09-05 23:57 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-07-29 22:05 bug#36843: 26.2; ERC lurker feature broken Thibault Polge
2019-08-17 18:34 ` Amin Bandali
2019-08-18 19:23   ` Alex Branham
2019-08-22 16:54     ` Thibault Polge
2019-08-24 16:45   ` Noam Postavsky
2019-08-27 14:31     ` Amin Bandali
2019-09-04 14:05       ` Alex Branham
2019-09-05 23:57       ` Noam Postavsky

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).