Displays a dialog prompting the user for a directory.
capi
prompt-for-directory message &key if-does-not-exist pathname file-package-is-directory pane-args popup-args owner continuation use-file-dialog => result, successp
|   message⇩  |    
A string.  | 
|   if-does-not-exist⇩  |    
One of  :ok, :prompt or :error. | 
|   pathname⇩  |    
A pathname, or  nil. | 
|   file-package-is-directory⇩  | |
|   
A generalized boolean.  | |
|   pane-args⇩  |    
Arguments to pass to the pane.  | 
|   popup-args⇩  |    
Arguments to pass to the confirmer.  | 
|   owner⇩  |    
An owner window.  | 
|   continuation⇩  |    
A function or  nil. | 
|   use-file-dialog⇩  |    
A generalized boolean.  | 
|   result  |    
A directory pathname, or  nil. | 
|   successp⇩  |    
A boolean.  | 
The function prompt-for-directory prompts the user for a directory pathname using a dialog box. Like all the prompters, prompt-for-directory returns two values: the directory pathname and a flag indicating success. successp will be nil if the dialog was cancelled, and t otherwise.
message is shown in the dialog box.
On Windows and Motif, if if-does-not-exist is :ok, a non-existent directory can be chosen. When set to :prompt, if a non-existent directory is chosen, the user is prompted for whether the directory should be created. When set to :error, the user cannot choose a non existent directory. The default value of if-does-not-exist is :prompt.
On Cocoa it is never possible to choose a non-existent directory, and the value of if-does-not-exist is ignored.
pathname, if non-nil, supplies an initial directory for the dialog. The default value for pathname is nil, and with this value the dialog initializes with the current working directory.
file-package-is-directory is handled as by prompt-for-file.
owner specifies an owner window for the dialog. See 10 Dialogs: Prompting for Input for details.
If continuation is non-nil, then it must be a function with a lambda list that accepts two arguments. continuation is called with the values that would normally be returned by prompt-for-directory. On Cocoa, passing continuation causes the dialog to be made as a window-modal sheet and prompt-for-directory returns immediately, leaving the dialog on the screen. The with-dialog-results macro provides a convenient way to create a continuation function.
On Windows, when use-file-dialog is true (the default) and the "shell-objs" module has been loaded (not the default), then the directory prompter looks like the standard file prompters. use-file-dialog is ignored on other platforms.
The prompt itself is created by passing an appropriate pane to popup-confirmer. Arguments can be passed to the make-instance of the pane and the call to popup-confirmer using pane-args and popup-args respectively. Currently, the pane used to create the file prompter is internal to the CAPI.
popup-confirmer
prompt-for-file
10 Dialogs: Prompting for Input
CAPI User Guide and Reference Manual (Macintosh version) - 18 Feb 2025 15:33:09