(prin1-to-string new))))
(list (or old-alt old)
(or new-alt new)))))
- " ")))
+ " "))
+ (thisdir default-directory))
(with-current-buffer buf
(setq buffer-read-only t)
(buffer-disable-undo (current-buffer))
(setq-local revert-buffer-function
(lambda (_ignore-auto _noconfirm)
(diff-no-select old new switches no-async (current-buffer))))
- (setq default-directory temporary-file-directory)
+ (setq default-directory thisdir)
(setq diff-default-directory default-directory)
(let ((inhibit-read-only t))
(insert command "\n"))
(with-file-modes #o600
(if (and (not no-async) (fboundp 'make-process))
- (let ((proc (start-process "Diff" buf shell-file-name
- shell-command-switch command)))
+ (let* ((default-directory temporary-file-directory)
+ (proc (start-process "Diff" buf shell-file-name
+ shell-command-switch command)))
(set-process-filter proc #'diff-process-filter)
(set-process-sentinel
proc (lambda (proc _msg)
(diff-sentinel (process-exit-status proc)
old-alt new-alt)))))
;; Async processes aren't available.
- (let ((inhibit-read-only t))
+ (let* ((default-directory temporary-file-directory)
+ (inhibit-read-only t))
(diff-sentinel
(call-process shell-file-name nil buf nil
shell-command-switch command)