diff options
| -rw-r--r-- | lisp/cedet/semantic/util-modes.el | 2 | ||||
| -rw-r--r-- | lisp/emulation/viper.el | 2 | ||||
| -rw-r--r-- | lisp/mail/feedmail.el | 2 | ||||
| -rw-r--r-- | lisp/progmodes/sql.el | 18 | ||||
| -rw-r--r-- | test/lisp/progmodes/sql-tests.el | 47 |
5 files changed, 65 insertions, 6 deletions
diff --git a/lisp/cedet/semantic/util-modes.el b/lisp/cedet/semantic/util-modes.el index 6b80c96173c..4f7f0518dbf 100644 --- a/lisp/cedet/semantic/util-modes.el +++ b/lisp/cedet/semantic/util-modes.el | |||
| @@ -712,7 +712,7 @@ minor mode is enabled." | |||
| 712 | ;; Disable minor mode if semantic stuff not available | 712 | ;; Disable minor mode if semantic stuff not available |
| 713 | (setq semantic-stickyfunc-mode nil) | 713 | (setq semantic-stickyfunc-mode nil) |
| 714 | (error "Buffer %s was not set up for parsing" (buffer-name))) | 714 | (error "Buffer %s was not set up for parsing" (buffer-name))) |
| 715 | (unless (boundp 'default-header-line-format) | 715 | (unless (boundp 'header-line-format) |
| 716 | ;; Disable if there are no header lines to use. | 716 | ;; Disable if there are no header lines to use. |
| 717 | (setq semantic-stickyfunc-mode nil) | 717 | (setq semantic-stickyfunc-mode nil) |
| 718 | (error "Sticky Function mode requires Emacs")) | 718 | (error "Sticky Function mode requires Emacs")) |
diff --git a/lisp/emulation/viper.el b/lisp/emulation/viper.el index 04a7c22e787..c5dac55522a 100644 --- a/lisp/emulation/viper.el +++ b/lisp/emulation/viper.el | |||
| @@ -1234,7 +1234,7 @@ These two lines must come in the order given.")) | |||
| 1234 | (if (null viper-saved-non-viper-variables) | 1234 | (if (null viper-saved-non-viper-variables) |
| 1235 | (setq viper-saved-non-viper-variables | 1235 | (setq viper-saved-non-viper-variables |
| 1236 | (list | 1236 | (list |
| 1237 | (cons 'default-major-mode (list (default-value 'major-mode))) | 1237 | (cons 'major-mode (list (default-value 'major-mode))) |
| 1238 | (cons 'next-line-add-newlines (list next-line-add-newlines)) | 1238 | (cons 'next-line-add-newlines (list next-line-add-newlines)) |
| 1239 | (cons 'require-final-newline (list require-final-newline)) | 1239 | (cons 'require-final-newline (list require-final-newline)) |
| 1240 | (cons 'scroll-step (list scroll-step)) | 1240 | (cons 'scroll-step (list scroll-step)) |
diff --git a/lisp/mail/feedmail.el b/lisp/mail/feedmail.el index bb93cff96bc..eed664d088e 100644 --- a/lisp/mail/feedmail.el +++ b/lisp/mail/feedmail.el | |||
| @@ -504,7 +504,7 @@ as-is. The filling is done after mail address alias expansion." | |||
| 504 | ) | 504 | ) |
| 505 | 505 | ||
| 506 | 506 | ||
| 507 | (defcustom feedmail-fill-to-cc-fill-column default-fill-column | 507 | (defcustom feedmail-fill-to-cc-fill-column (default-value 'fill-column) |
| 508 | "Fill column used by `feedmail-fill-to-cc'." | 508 | "Fill column used by `feedmail-fill-to-cc'." |
| 509 | :group 'feedmail-headers | 509 | :group 'feedmail-headers |
| 510 | :type 'integer | 510 | :type 'integer |
diff --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el index a11d4560aed..4d0bed77d56 100644 --- a/lisp/progmodes/sql.el +++ b/lisp/progmodes/sql.el | |||
| @@ -1072,14 +1072,26 @@ add your name with a \"-U\" prefix (such as \"-Umark\") to the list." | |||
| 1072 | :version "20.8" | 1072 | :version "20.8" |
| 1073 | :group 'SQL) | 1073 | :group 'SQL) |
| 1074 | 1074 | ||
| 1075 | (defcustom sql-postgres-login-params `((user :default ,(user-login-name)) | 1075 | (defcustom sql-postgres-login-params |
| 1076 | (database :default ,(user-login-name)) | 1076 | `((user :default ,(user-login-name)) |
| 1077 | server) | 1077 | (database :default ,(user-login-name) |
| 1078 | :completion ,(completion-table-dynamic | ||
| 1079 | (lambda (_) (sql-postgres-list-databases)))) | ||
| 1080 | server) | ||
| 1078 | "List of login parameters needed to connect to Postgres." | 1081 | "List of login parameters needed to connect to Postgres." |
| 1079 | :type 'sql-login-params | 1082 | :type 'sql-login-params |
| 1080 | :version "24.1" | 1083 | :version "24.1" |
| 1081 | :group 'SQL) | 1084 | :group 'SQL) |
| 1082 | 1085 | ||
| 1086 | (defun sql-postgres-list-databases () | ||
| 1087 | "Return a list of available PostgreSQL databases." | ||
| 1088 | (when (executable-find sql-postgres-program) | ||
| 1089 | (let ((res '())) | ||
| 1090 | (dolist (row (process-lines sql-postgres-program "-ltX")) | ||
| 1091 | (when (string-match "^ \\([[:alnum:]-_]+\\) +|.*" row) | ||
| 1092 | (push (match-string 1 row) res))) | ||
| 1093 | (nreverse res)))) | ||
| 1094 | |||
| 1083 | ;; Customization for Interbase | 1095 | ;; Customization for Interbase |
| 1084 | 1096 | ||
| 1085 | (defcustom sql-interbase-program "isql" | 1097 | (defcustom sql-interbase-program "isql" |
diff --git a/test/lisp/progmodes/sql-tests.el b/test/lisp/progmodes/sql-tests.el new file mode 100644 index 00000000000..e05247a60ed --- /dev/null +++ b/test/lisp/progmodes/sql-tests.el | |||
| @@ -0,0 +1,47 @@ | |||
| 1 | ;;; sql-tests.el --- Tests for sql.el -*- lexical-binding: t; -*- | ||
| 2 | |||
| 3 | ;; Copyright (C) 2016 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | ;; Author: Simen Heggestøyl <simenheg@gmail.com> | ||
| 6 | ;; Keywords: | ||
| 7 | |||
| 8 | ;; This file is part of GNU Emacs. | ||
| 9 | |||
| 10 | ;; GNU Emacs is free software: you can redistribute it and/or modify | ||
| 11 | ;; it under the terms of the GNU General Public License as published by | ||
| 12 | ;; the Free Software Foundation, either version 3 of the License, or | ||
| 13 | ;; (at your option) any later version. | ||
| 14 | |||
| 15 | ;; GNU Emacs is distributed in the hope that it will be useful, | ||
| 16 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 17 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 18 | ;; GNU General Public License for more details. | ||
| 19 | |||
| 20 | ;; You should have received a copy of the GNU General Public License | ||
| 21 | ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | ||
| 22 | |||
| 23 | ;;; Commentary: | ||
| 24 | |||
| 25 | ;; | ||
| 26 | |||
| 27 | ;;; Code: | ||
| 28 | |||
| 29 | (require 'cl-lib) | ||
| 30 | (require 'ert) | ||
| 31 | (require 'sql) | ||
| 32 | |||
| 33 | (ert-deftest sql-tests-postgres-list-databases () | ||
| 34 | "Test that output from `psql -ltX' is parsed correctly." | ||
| 35 | (cl-letf | ||
| 36 | (((symbol-function 'executable-find) | ||
| 37 | (lambda (_command) t)) | ||
| 38 | ((symbol-function 'process-lines) | ||
| 39 | (lambda (_program &rest _args) | ||
| 40 | '(" db-name-1 | foo-user | UTF8 | en_US.UTF-8 | en_US.UTF-8 | " | ||
| 41 | " db_name_2 | foo-user | UTF8 | en_US.UTF-8 | en_US.UTF-8 | " | ||
| 42 | "")))) | ||
| 43 | (should (equal (sql-postgres-list-databases) | ||
| 44 | '("db-name-1" "db_name_2"))))) | ||
| 45 | |||
| 46 | (provide 'sql-tests) | ||
| 47 | ;;; sql-tests.el ends here | ||