emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-29 4a8ff671b0 4/4: Don’t assume make-directory handler returns ni


From: Paul Eggert
Subject: emacs-29 4a8ff671b0 4/4: Don’t assume make-directory handler returns nil
Date: Sat, 17 Dec 2022 17:24:26 -0500 (EST)

branch: emacs-29
commit 4a8ff671b0e93e96f7fca4204cdbc83f99a3387c
Author: Paul Eggert <eggert@cs.ucla.edu>
Commit: Paul Eggert <eggert@cs.ucla.edu>

    Don’t assume make-directory handler returns nil
    
    * 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 3cf7833ae0..cc7d7e2af9 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]