From: Rolf Ade Date: Sun, 5 Feb 2017 18:46:24 +0000 (+0100) Subject: sql-mode w/ sqlite: In-memory database X-Git-Tag: emacs-26.0.90~661 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=71871670c816f2ecc4383ef0fe516cbd9c9f781f;p=emacs.git 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 --- 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