emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-27 74b1511: Fix erc-notifications-notify for non-PRIVMSGs, broken


From: Amin Bandali
Subject: emacs-27 74b1511: Fix erc-notifications-notify for non-PRIVMSGs, broken in last commit
Date: Fri, 17 Jan 2020 23:56:44 -0500 (EST)

branch: emacs-27
commit 74b151195d8c548092bcc00ad1bf267570d9b9ac
Author: Amin Bandali <address@hidden>
Commit: Amin Bandali <address@hidden>

    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.
---
 lisp/erc/erc-desktop-notifications.el | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/lisp/erc/erc-desktop-notifications.el 
b/lisp/erc/erc-desktop-notifications.el
index 61412e0..7c32429 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)
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]