* lisp/erc/erc-backend.el (erc--parsed-response): New variable to be
the internal version of the ancient `erc-message-parsed', which is
only available during `erc-display-message', and therefore of somewhat
limited utility.
(erc-call-hooks): Bind `erc--parsed-response' to the parsed
`erc-response' object for the duration of its handling. Bind
`erc--msg-prop-overrides' around all hooks to allow response handlers
to influence inserted msg props for any `erc-display-message' calls.
(Bug#72736)
(cherry picked from commit
15545e15a343cc45561a3ff6b8ea930835b7ff08)
(gethash (format (if (numberp command) "%03i" "%s") command)
erc-server-responses))
+(defvar erc--parsed-response nil)
+
(defun erc-call-hooks (process message)
"Call hooks associated with MESSAGE in PROCESS.
Finds hooks by looking in the `erc-server-responses' hash table."
- (let ((hook (or (erc-get-hook (erc-response.command message))
+ (let ((erc--parsed-response message)
+ (erc--msg-prop-overrides erc--msg-prop-overrides)
+ (hook (or (erc-get-hook (erc-response.command message))
'erc-default-server-functions)))
(run-hook-with-args-until-success hook process message)
;; Some handlers, like `erc-cmd-JOIN', open new targets without