aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Mauger <[email protected]>2012-01-04 22:45:30 -0500
committerMichael Mauger <[email protected]>2012-01-04 22:45:30 -0500
commitbb5aa5d6c3a0138c36e2879a78d9cdb22e6f410e (patch)
tree854acf3d1f9e7ca918802397b2485a61d351fe73
parent9937bef4b8f3a820220d0309b340f25285808fae (diff)
2012-01-05 Michael R. Mauger <[email protected]>
* progmodes/sql.el (sql-login-hook): Add hook to respond to the first prompt in `sql-interacive-mode'. (sql-mode-oracle-font-lock-keywords): Add CONNECT_BY_* builtin keywords. (sql-mode-mysql-font-lock-keywords): Add ELSEIF keyword. (sql-product-interactive): Bug fix: Set `sql-buffer' in context of original buffer. Invoke `sql-login-hook'.
-rw-r--r--lisp/ChangeLog10
-rw-r--r--lisp/progmodes/sql.el23
2 files changed, 28 insertions, 5 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 1125097feb..ae03053db9 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,13 @@
+2012-01-05 Michael R. Mauger <[email protected]>
+
+ * progmodes/sql.el (sql-login-hook): Add hook to respond to the
+ first prompt in `sql-interacive-mode'.
+ (sql-mode-oracle-font-lock-keywords): Add CONNECT_BY_* builtin
+ keywords.
+ (sql-mode-mysql-font-lock-keywords): Add ELSEIF keyword.
+ (sql-product-interactive): Bug fix: Set `sql-buffer' in
+ context of original buffer. Invoke `sql-login-hook'.
+
2012-01-04 Eli Zaretskii <[email protected]>
* mail/rmail.el (rmail-font-lock-keywords): Accept non-ASCII
diff --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el
index 60ba768a80..2e59d8f851 100644
--- a/lisp/progmodes/sql.el
+++ b/lisp/progmodes/sql.el
@@ -1,6 +1,6 @@
;;; sql.el --- specialized comint.el for SQL interpreters
-;; Copyright (C) 1998-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2012 Free Software Foundation, Inc.
;; Author: Alex Schroeder <[email protected]>
;; Maintainer: Michael Mauger <[email protected]>
@@ -219,6 +219,8 @@
;; Drew Adams <[email protected]> -- Emacs 20 support
;; Harald Maier <[email protected]> -- sql-send-string
;; Stefan Monnier <[email protected]> -- font-lock corrections; code polish
+;; Paul Sleigh <[email protected]> -- MySQL keyword enhancement
+;; Andrew Schein <[email protected]> -- sql-port bug
@@ -811,6 +813,14 @@ is changed."
:type 'hook
:group 'SQL)
+(defcustom sql-login-hook '()
+ "Hook for interacting with a buffer in `sql-interactive-mode'.
+
+This hook is invoked in a buffer once it is ready to accept input
+for the first time."
+ :type 'hook
+ :group 'SQL)
+
;; Customization for ANSI
(defcustom sql-ansi-statement-starters (regexp-opt '(
@@ -1594,6 +1604,7 @@ to add functions and PL/SQL keywords.")
"atan" "atan2" "avg" "bfilename" "bin_to_num" "bitand" "cardinality"
"cast" "ceil" "chartorowid" "chr" "cluster_id" "cluster_probability"
"cluster_set" "coalesce" "collect" "compose" "concat" "convert" "corr"
+"connect_by_root" "connect_by_iscycle" "connect_by_isleaf"
"corr_k" "corr_s" "cos" "cosh" "count" "covar_pop" "covar_samp"
"cube_table" "cume_dist" "current_date" "current_timestamp" "cv"
"dataobj_to_partition" "dbtimezone" "decode" "decompose" "deletexml"
@@ -2279,7 +2290,7 @@ you define your own `sql-mode-solid-font-lock-keywords'.")
"collation" "column" "columns" "comment" "committed" "concurrent"
"constraint" "create" "cross" "data" "database" "default"
"delay_key_write" "delayed" "delete" "desc" "directory" "disable"
-"distinct" "distinctrow" "do" "drop" "dumpfile" "duplicate" "else"
+"distinct" "distinctrow" "do" "drop" "dumpfile" "duplicate" "else" "elseif"
"enable" "enclosed" "end" "escaped" "exists" "fields" "first" "for"
"force" "foreign" "from" "full" "fulltext" "global" "group" "handler"
"having" "heap" "high_priority" "if" "ignore" "in" "index" "infile"
@@ -3423,7 +3434,7 @@ list of SQLi command strings."
:prompt-regexp))
(start nil))
(with-current-buffer buf
- (toggle-read-only -1)
+ (setq view-read-only nil)
(unless save-prior
(erase-buffer))
(goto-char (point-max))
@@ -3532,7 +3543,7 @@ buffer is popped into a view window. "
(get-lru-window))))
(with-current-buffer outbuf
(set-buffer-modified-p nil)
- (toggle-read-only 1))
+ (setq view-read-only t))
(view-buffer-other-window outbuf)
(when one-win
(shrink-window-if-larger-than-buffer)))))
@@ -4097,7 +4108,8 @@ the call to \\[sql-product-interactive] with
(setq new-sqli-buffer (current-buffer))
(when new-name
(sql-rename-buffer new-name))
- (setq sql-buffer (buffer-name new-sqli-buffer))
+ (set (make-local-variable 'sql-buffer)
+ (buffer-name new-sqli-buffer))
;; Set `sql-buffer' in the start buffer
(with-current-buffer start-buffer
@@ -4107,6 +4119,7 @@ the call to \\[sql-product-interactive] with
;; All done.
(message "Login...done")
+ (run-hooks 'sql-login-hook)
(pop-to-buffer new-sqli-buffer)))))
(message "No default SQL product defined. Set `sql-product'.")))