]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix selecting SQLite database files with sql-mode (Bug#23566)
authorRolf Ade <rolf@pointsman.de>
Tue, 3 Jan 2017 01:05:37 +0000 (20:05 -0500)
committerNoam Postavsky <npostavs@gmail.com>
Sat, 7 Jan 2017 16:20:17 +0000 (11:20 -0500)
* lisp/progmodes/sql.el (sql-sqlite-login-params): Allow any name as
SQLite database file name, by default.
(sql-get-login-ext): Fixed read-file-name arguments to provide
path completion even if a database name pattern is customized and to
allow creation of new SQLite database files.

Copyright-paperwork-exempt: yes

lisp/progmodes/sql.el

index d6c9516c43e248df6cf0fcb2a1c340ba028bfb5e..71563486ecdfb1b52eb98c47e7e6c0712f7d9fe8 100644 (file)
@@ -933,10 +933,10 @@ Starts `sql-interactive-mode' after doing some setup."
   :version "20.8"
   :group 'SQL)
 
-(defcustom sql-sqlite-login-params '((database :file ".*\\.\\(db\\|sqlite[23]?\\)"))
+(defcustom sql-sqlite-login-params '((database :file nil))
   "List of login parameters needed to connect to SQLite."
   :type 'sql-login-params
-  :version "24.1"
+  :version "26.1"
   :group 'SQL)
 
 ;; Customization for MySQL
@@ -2954,13 +2954,15 @@ value.  (The property value is used as the PREDICATE argument to
       ((plist-member plist :file)
        (expand-file-name
         (read-file-name prompt
-                        (file-name-directory last-value) default t
+                        (file-name-directory last-value) default 'confirm
                         (file-name-nondirectory last-value)
                         (when (plist-get plist :file)
                           `(lambda (f)
-                             (string-match
-                              (concat "\\<" ,(plist-get plist :file) "\\>")
-                              (file-name-nondirectory f)))))))
+                             (if (not (file-regular-p f))
+                                 t
+                               (string-match
+                                (concat "\\<" ,(plist-get plist :file) "\\>")
+                                (file-name-nondirectory f))))))))
 
       ((plist-member plist :completion)
        (completing-read prompt-def (plist-get plist :completion) nil t