]> git.eshelyaron.com Git - emacs.git/commitdiff
Don’t assume make-directory handler returns nil
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 17 Dec 2022 22:09:03 +0000 (14:09 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Sat, 17 Dec 2022 22:24:17 +0000 (14:24 -0800)
* 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

index 3cf7833ae0296135de43f44183118b1e1fb42518..cc7d7e2af94370e803e8811e402fb62a6169a1e0 100644 (file)
@@ -6224,7 +6224,12 @@ Signal an error if unsuccessful."
   ;; 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)