]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix erc-notifications-notify for non-PRIVMSGs, broken in last commit
authorAmin Bandali <mab@gnu.org>
Sat, 18 Jan 2020 04:38:04 +0000 (23:38 -0500)
committerAmin Bandali <mab@gnu.org>
Sat, 18 Jan 2020 04:56:00 +0000 (23:56 -0500)
* 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

index 61412e0918d47c0b8036f2f3e99a54949960b953..7c32429b96fbee6eb4b6e3e9b7b21b34a22ea5e2 100644 (file)
 
 (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)