summaryrefslogtreecommitdiff
path: root/lisp/progmodes
diff options
context:
space:
mode:
authorRolf Ade <rolf@pointsman.de>2017-02-05 19:46:24 +0100
committerNoam Postavsky <npostavs@gmail.com>2017-03-02 19:01:18 -0500
commit71871670c816f2ecc4383ef0fe516cbd9c9f781f (patch)
treec0f575fa85896bc783ee7eb18e5f2b60dffef2bf /lisp/progmodes
parentc733d9169ce44f5600d41cf0e67e021371954c8e (diff)
downloademacs-71871670c816f2ecc4383ef0fe516cbd9c9f781f.tar.gz
sql-mode w/ sqlite: In-memory database
Enable the usage of an in-memory database. Prior to this, sql-mode w/ sqlite could only be used with file databases. * list/progmodes/sql.el (sql-get-login-ext): Don't expand an empty file name provided by the user, but call sub-process sqlite with that, in which case it uses an in-memory database. Copyright-paperwork-exempt: yes
Diffstat (limited to 'lisp/progmodes')
-rw-r--r--lisp/progmodes/sql.el25
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