From: Amin Bandali Date: Sat, 18 Jan 2020 04:38:04 +0000 (-0500) Subject: Fix erc-notifications-notify for non-PRIVMSGs, broken in last commit X-Git-Tag: emacs-27.0.90~138 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=74b151195d8c548092bcc00ad1bf267570d9b9ac;p=emacs.git Fix erc-notifications-notify for non-PRIVMSGs, broken in last commit * lisp/erc/erc-desktop-notifications.el (erc-notifications-notify): Take optional argument `privp', to be non-nil when notifying for a PRIVMSG. This is to work around bug introduced in last commit, as `erc-get-buffer' may return nil for non-PRIVMSG cases. (erc-notifications-PRIVMSG): Call erc-notifications-notify with non-nil `privp', as described above. --- diff --git a/lisp/erc/erc-desktop-notifications.el b/lisp/erc/erc-desktop-notifications.el index 61412e0918d..7c32429b96f 100644 --- a/lisp/erc/erc-desktop-notifications.el +++ b/lisp/erc/erc-desktop-notifications.el @@ -55,12 +55,14 @@ (defvar dbus-debug) ; used in the macroexpansion of dbus-ignore-errors -(defun erc-notifications-notify (nick msg) - "Notify that NICK send some MSG. +(defun erc-notifications-notify (nick msg &optional privp) + "Notify that NICK send some MSG, where PRIVP should be non-nil for PRIVMSGs. This will replace the last notification sent with this function." + ;; TODO: can we do this without PRIVP? (by "fixing" ERC's not + ;; setting the current buffer to the existing query buffer) (dbus-ignore-errors (setq erc-notifications-last-notification - (let ((channel (erc-get-buffer nick))) + (let ((channel (if privp (erc-get-buffer nick) (current-buffer)))) (notifications-notify :bus erc-notifications-bus :title (format "%s in %s" (xml-escape-string nick) @@ -80,7 +82,7 @@ This will replace the last notification sent with this function." (not (and (boundp 'erc-track-exclude) (member nick erc-track-exclude))) (not (erc-is-message-ctcp-and-not-action-p msg))) - (erc-notifications-notify nick msg))) + (erc-notifications-notify nick msg t))) ;; Return nil to continue processing by ERC nil)