GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 2.24.32, cairo version 1.16.0) of 2022-04-06 Error from M-x calendar RET, backtrace below. Caused by custom-file content of  '(calendar-mark-diary-entries-flag t)  '(calendar-view-diary-initially-flag t) Error from ‘diary-fancy-display’ (with-current-buffer (find-buffer-visiting diary-file) and get ‘nil’ from ‘(find-buffer-visiting diary-file)’. Thanks, Andreas Debugger entered--Lisp error: (wrong-type-argument stringp nil)   diary-fancy-display()   diary-list-entries((4 12 2022) nil)   diary-view-entries()   calendar-basic-setup(nil)   calendar(nil)   funcall-interactively(calendar nil)   call-interactively(calendar record nil)   (prog1 (call-interactively cmd record-flag keys) (if (and (symbolp cmd) (get cmd 'byte-obsolete-info) (not (get cmd 'command-execute-obsolete-warned))) (progn (put cmd 'command-execute-obsolete-warned t) (message "%s" (macroexp--obsolete-warning cmd (get cmd 'byte-obsolete-info) "command")))))   (cond ((arrayp final) (if record-flag (progn (add-to-history 'command-history (list 'execute-kbd-macro final prefixarg) nil t))) (execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd record-flag keys) (if (and (symbolp cmd) (get cmd 'byte-obsolete-info) (not (get cmd 'command-execute-obsolete-warned))) (progn (put cmd 'command-execute-obsolete-warned t) (message "%s" (macroexp--obsolete-warning cmd (get cmd ...) "command")))))))   (let ((final cmd)) (while (progn (setq final (indirect-function final)) (if (autoloadp final) (setq final (autoload-do-load final cmd))))) (cond ((arrayp final) (if record-flag (progn (add-to-history 'command-history (list 'execute-kbd-macro final prefixarg) nil t))) (execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd record-flag keys) (if (and (symbolp cmd) (get cmd 'byte-obsolete-info) (not (get cmd ...))) (progn (put cmd 'command-execute-obsolete-warned t) (message "%s" (macroexp--obsolete-warning cmd ... "command"))))))))   (if (and (symbolp cmd) (get cmd 'disabled) (or (and (setq query (and (consp (get cmd ...)) (eq (car ...) 'query))) (not (command-execute--query cmd))) (and (not query) disabled-command-function))) (if (not query) (progn (run-hooks 'disabled-command-function))) (let ((final cmd)) (while (progn (setq final (indirect-function final)) (if (autoloadp final) (setq final (autoload-do-load final cmd))))) (cond ((arrayp final) (if record-flag (progn (add-to-history 'command-history (list ... final prefixarg) nil t))) (execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd record-flag keys) (if (and (symbolp cmd) (get cmd ...) (not ...)) (progn (put cmd ... t) (message "%s" ...))))))))   (let ((prefixarg (if special nil (prog1 prefix-arg (setq current-prefix-arg prefix-arg) (setq prefix-arg nil) (if current-prefix-arg (progn (prefix-command-update)))))) query) (if (and (symbolp cmd) (get cmd 'disabled) (or (and (setq query (and (consp ...) (eq ... ...))) (not (command-execute--query cmd))) (and (not query) disabled-command-function))) (if (not query) (progn (run-hooks 'disabled-command-function))) (let ((final cmd)) (while (progn (setq final (indirect-function final)) (if (autoloadp final) (setq final (autoload-do-load final cmd))))) (cond ((arrayp final) (if record-flag (progn (add-to-history ... ... nil t))) (execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd record-flag keys) (if (and ... ... ...) (progn ... ...))))))))   command-execute(calendar record)   (let ((prefix-arg prefixarg)) (command-execute function 'record))   (let* (#'(and (stringp command-name) (intern-soft command-name)) (binding (and suggest-key-bindings (not executing-kbd-macro) (where-is-internal function overriding-local-map t))) (delay-before-suggest 0) (find-shorter nil)) (if (commandp function) nil (error "`%s' is not a valid command name" command-name)) (set--this-command-keys (concat "\370" (symbol-name function) "\15")) (setq this-command function) (setq real-this-command function) (let ((prefix-arg prefixarg)) (command-execute function 'record)) (if execute-extended-command--binding-timer (progn (cancel-timer execute-extended-command--binding-timer))) (if (and suggest-key-bindings (or binding (and extended-command-suggest-shorter typed))) (progn (setq delay-before-suggest (cond ((= 0 (length ...)) 0) ((numberp suggest-key-bindings) suggest-key-bindings) (t 2))) (if (and extended-command-suggest-shorter (not binding) (not executing-kbd-macro) (symbolp function) (> (length (symbol-name function)) 2)) (progn (setq find-shorter t))) (if (or binding find-shorter) (progn (setq execute-extended-command--binding-timer (run-at-time delay-before-suggest nil #'...)))))))   execute-extended-command(nil "calendar" nil)   funcall-interactively(execute-extended-command nil "calendar" nil)   call-interactively(execute-extended-command nil nil)   (prog1 (call-interactively cmd record-flag keys) (if (and (symbolp cmd) (get cmd 'byte-obsolete-info) (not (get cmd 'command-execute-obsolete-warned))) (progn (put cmd 'command-execute-obsolete-warned t) (message "%s" (macroexp--obsolete-warning cmd (get cmd 'byte-obsolete-info) "command")))))   (cond ((arrayp final) (if record-flag (progn (add-to-history 'command-history (list 'execute-kbd-macro final prefixarg) nil t))) (execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd record-flag keys) (if (and (symbolp cmd) (get cmd 'byte-obsolete-info) (not (get cmd 'command-execute-obsolete-warned))) (progn (put cmd 'command-execute-obsolete-warned t) (message "%s" (macroexp--obsolete-warning cmd (get cmd ...) "command")))))))   (let ((final cmd)) (while (progn (setq final (indirect-function final)) (if (autoloadp final) (setq final (autoload-do-load final cmd))))) (cond ((arrayp final) (if record-flag (progn (add-to-history 'command-history (list 'execute-kbd-macro final prefixarg) nil t))) (execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd record-flag keys) (if (and (symbolp cmd) (get cmd 'byte-obsolete-info) (not (get cmd ...))) (progn (put cmd 'command-execute-obsolete-warned t) (message "%s" (macroexp--obsolete-warning cmd ... "command"))))))))   (if (and (symbolp cmd) (get cmd 'disabled) (or (and (setq query (and (consp (get cmd ...)) (eq (car ...) 'query))) (not (command-execute--query cmd))) (and (not query) disabled-command-function))) (if (not query) (progn (run-hooks 'disabled-command-function))) (let ((final cmd)) (while (progn (setq final (indirect-function final)) (if (autoloadp final) (setq final (autoload-do-load final cmd))))) (cond ((arrayp final) (if record-flag (progn (add-to-history 'command-history (list ... final prefixarg) nil t))) (execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd record-flag keys) (if (and (symbolp cmd) (get cmd ...) (not ...)) (progn (put cmd ... t) (message "%s" ...))))))))   (let ((prefixarg (if special nil (prog1 prefix-arg (setq current-prefix-arg prefix-arg) (setq prefix-arg nil) (if current-prefix-arg (progn (prefix-command-update)))))) query) (if (and (symbolp cmd) (get cmd 'disabled) (or (and (setq query (and (consp ...) (eq ... ...))) (not (command-execute--query cmd))) (and (not query) disabled-command-function))) (if (not query) (progn (run-hooks 'disabled-command-function))) (let ((final cmd)) (while (progn (setq final (indirect-function final)) (if (autoloadp final) (setq final (autoload-do-load final cmd))))) (cond ((arrayp final) (if record-flag (progn (add-to-history ... ... nil t))) (execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd record-flag keys) (if (and ... ... ...) (progn ... ...))))))))   command-execute(execute-extended-command)