(lock-file . tramp-handle-lock-file)
(make-auto-save-file-name . tramp-handle-make-auto-save-file-name)
(make-directory . tramp-smb-handle-make-directory)
- (make-directory-internal . tramp-smb-handle-make-directory-internal)
+ (make-directory-internal . ignore)
(make-lock-file-name . tramp-handle-make-lock-file-name)
(make-nearby-temp-file . tramp-handle-make-nearby-temp-file)
(make-process . ignore)
(make-directory ldir parents))
;; Just do it.
(when (file-directory-p ldir)
- (make-directory dir))
+ (tramp-smb-send-command
+ v (if (tramp-smb-get-cifs-capabilities v)
+ (format "posix_mkdir %s %o"
+ (tramp-smb-shell-quote-localname v) (default-file-modes))
+ (format "mkdir %s" (tramp-smb-shell-quote-localname v))))
+ ;; We must also flush the cache of the directory, because
+ ;; `file-attributes' reads the values from there.
+ (tramp-flush-file-properties v localname))
(unless (file-directory-p dir)
(tramp-error v 'file-error "Couldn't make directory %s" dir)))))
+;; This is not used anymore.
(defun tramp-smb-handle-make-directory-internal (directory)
"Like `make-directory-internal' for Tramp files."
(declare (obsolete nil "29.1"))
file-selinux-context file-symlink-p file-truename
file-writable-p find-backup-file-name get-file-buffer
insert-directory insert-file-contents load
- make-directory make-directory-internal set-file-acl
- set-file-modes set-file-selinux-context set-file-times
+ make-directory set-file-acl set-file-modes
+ set-file-selinux-context set-file-times
substitute-in-file-name unhandled-file-name-directory
vc-registered
;; Emacs 27+ only.
file-system-info
+ ;; Emacs 28- only.
+ make-directory-internal
;; Emacs 28+ only.
file-locked-p lock-file make-lock-file-name unlock-file
;; Emacs 29+ only.