diff options
-rw-r--r-- | lisp/progmodes/sql.el | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el index 88683431290..634c6b57bdc 100644 --- a/lisp/progmodes/sql.el +++ b/lisp/progmodes/sql.el @@ -2952,17 +2952,20 @@ value. (The property value is used as the PREDICATE argument to (use-dialog-box nil)) (cond ((plist-member plist :file) - (expand-file-name - (read-file-name prompt - (file-name-directory last-value) default 'confirm - (file-name-nondirectory last-value) - (when (plist-get plist :file) - `(lambda (f) - (if (not (file-regular-p f)) - t - (string-match - (concat "\\<" ,(plist-get plist :file) "\\>") - (file-name-nondirectory f)))))))) + (let ((file-name + (read-file-name prompt + (file-name-directory last-value) default 'confirm + (file-name-nondirectory last-value) + (when (plist-get plist :file) + `(lambda (f) + (if (not (file-regular-p f)) + t + (string-match + (concat "\\<" ,(plist-get plist :file) "\\>") + (file-name-nondirectory f)))))))) + (if (string= file-name "") + "" + (expand-file-name file-name)))) ((plist-member plist :completion) (completing-read prompt-def (plist-get plist :completion) nil t |