From 4a8ff671b0e93e96f7fca4204cdbc83f99a3387c Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 17 Dec 2022 14:09:03 -0800 Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20assume=20make-directory=20handl?= =?UTF-8?q?er=20returns=20nil?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * lisp/files.el (make-directory): Ignore what the make-directory handler returns, as its return value was not documented in Emacs 28. --- lisp/files.el | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lisp/files.el b/lisp/files.el index 3cf7833ae02..cc7d7e2af94 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -6224,7 +6224,12 @@ make-directory ;; make sure we find its make-directory handler. (setq dir (expand-file-name dir)) (let ((mkdir (if-let ((handler (find-file-name-handler dir 'make-directory))) - #'(lambda (dir) (funcall handler 'make-directory dir)) + #'(lambda (dir) + ;; Use 'ignore' since the handler might be designed for + ;; Emacs 28-, so it might return an (undocumented) + ;; non-nil value, whereas the Emacs 29+ convention is + ;; to return nil here. + (ignore (funcall handler 'make-directory dir))) #'make-directory-internal))) (if (not parents) (funcall mkdir dir) -- 2.38.1