diff --git a/lisp/erc/erc-backend.el b/lisp/erc/erc-backend.el index e2b7c0b6f48..a4a78c66b02 100644 --- a/lisp/erc/erc-backend.el +++ b/lisp/erc/erc-backend.el @@ -1649,6 +1649,10 @@ Would expand to: See also `erc-server-311'.\")) + Note that while all ALIASES share the same handler function, each gets + its own distinct hook variable. The default value of these variables + may be a list or a function. Robust code should handle both. + \(fn (NAME &rest ALIASES) &optional EXTRA-FN-DOC EXTRA-VAR-DOC &rest FN-BODY)" (declare (debug (&define [&name "erc-response-handler@" ;; No `def-edebug-elem-spec' in 27. diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index 025bfbc0a5f..b728dd59fa3 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el @@ -676,10 +676,11 @@ Also remove members from the server table if this was their only buffer." (erc-remove-channel-users))) (defmacro erc--define-channel-user-status-compat-getter (name c d) - "Define a gv getter for historical `erc-channel-user' status slot NAME. -Expect NAME to be a string, C to be its traditionally associated -letter, and D to be its fallback power-of-2 integer for non-ERC -buffers." + "Define accessor with gv getter for historical `erc-channel-user' slot NAME. +Expect NAME to be a string, C to be its traditionally associated letter, +and D to be its fallback power-of-2 integer for non-ERC buffers. Unlike +pre-ERC-5.6 accessors, do not bother generating a compiler macro for +inlining calls to these adapters." `(defun ,(intern (concat "erc-channel-user-" name)) (u) ,(format "Get equivalent of pre-5.6 `%s' slot for `erc-channel-user'." name)