‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Friday, July 30th, 2021 at 8:28 PM, ndame wrote: >> If there are no differences then emacs should just show this in a message instead of popping up a window with not useful content. > > Just a simple implementation with advices for the time being for those who prefer this: > > (advice-add 'diff :around 'my-diff) > > (defun my-diff (orig-fun &rest args) > (flet ((display-buffer (buf) buf)) > (apply orig-fun args))) > > (advice-add 'diff-sentinel :after 'my-diff-sentinel) > > (defun my-diff-sentinel (code &rest args) > (if (equal code 0) > (message "No differences.") > (display-buffer (current-buffer)))) The permanent sentinel advice affects non-interactive diffs too (diff-no-select), so a better solution is to add and remove that advice on demand: (advice-add 'diff :around 'my-diff) (defun my-diff (orig-fun &rest args) (advice-add 'diff-sentinel :after 'my-diff-sentinel) (flet ((display-buffer (buf) buf)) (apply orig-fun args))) (defun my-diff-sentinel (code &rest args) (advice-remove 'diff-sentinel 'my-diff-sentinel) (if (equal code 0) (message "No differences.") (display-buffer (current-buffer))))