diff options
author | Michael Mauger <mmaug@yahoo.com> | 2012-01-04 22:45:30 -0500 |
---|---|---|
committer | Michael Mauger <mmaug@yahoo.com> | 2012-01-04 22:45:30 -0500 |
commit | bb5aa5d6c3a0138c36e2879a78d9cdb22e6f410e (patch) | |
tree | 854acf3d1f9e7ca918802397b2485a61d351fe73 | |
parent | 9937bef4b8f3a820220d0309b340f25285808fae (diff) |
2012-01-05 Michael R. Mauger <mmaug@yahoo.com>
* 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/ChangeLog | 10 | ||||
-rw-r--r-- | lisp/progmodes/sql.el | 23 |
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 <mmaug@yahoo.com> + + * 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 <eliz@gnu.org> * 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 <alex@gnu.org> ;; Maintainer: Michael Mauger <mmaug@yahoo.com> @@ -219,6 +219,8 @@ ;; Drew Adams <drew.adams@oracle.com> -- Emacs 20 support ;; Harald Maier <maierh@myself.com> -- sql-send-string ;; Stefan Monnier <monnier@iro.umontreal.ca> -- font-lock corrections; code polish +;; Paul Sleigh <bat@flurf.net> -- MySQL keyword enhancement +;; Andrew Schein <andrew@andrewschein.com> -- 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'."))) |