diff --git a/lisp/dired-x.el b/lisp/dired-x.el index 44e73759fa7..defc541ddc9 100644 --- a/lisp/dired-x.el +++ b/lisp/dired-x.el @@ -463,9 +463,11 @@ Interactively with prefix argument, read FILE-NAME." (list nil (and current-prefix-arg (read-file-name "Jump to Dired file: ")))) (cond - ((bound-and-true-p archive-subfile-mode) + ((and (bound-and-true-p archive-subfile-mode) + (buffer-live-p archive-superior-buffer)) (switch-to-buffer archive-superior-buffer)) - ((bound-and-true-p tar-subfile-mode) + ((and (bound-and-true-p tar-subfile-mode) + (buffer-live-p tar-superior-buffer)) (switch-to-buffer tar-superior-buffer)) (t ;; Expand file-name before `dired-goto-file' call: diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el index 8aa583eb319..e83778af946 100644 --- a/lisp/progmodes/ruby-mode.el +++ b/lisp/progmodes/ruby-mode.el @@ -2288,7 +2288,7 @@ It will be properly highlighted even when the call omits parens.") :command command :sentinel (lambda (proc _event) - (when (eq 'exit (process-status proc)) + (when (and (eq 'exit (process-status proc)) (buffer-live-p source)) (unwind-protect (if (with-current-buffer source (eq proc ruby--flymake-proc)) (with-current-buffer (process-buffer proc)