summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmin Bandali <mab@gnu.org>2020-01-17 23:38:04 -0500
committerAmin Bandali <mab@gnu.org>2020-01-17 23:56:00 -0500
commit74b151195d8c548092bcc00ad1bf267570d9b9ac (patch)
treef04d8ece5b60265f7c0d1ca2c298edfe8a894758
parentdb4436eaf97718a1d24117ee082361c0cb854b8b (diff)
downloademacs-74b151195d8c548092bcc00ad1bf267570d9b9ac.tar.gz
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.
-rw-r--r--lisp/erc/erc-desktop-notifications.el10
1 files changed, 6 insertions, 4 deletions
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)