changeset 52243:04df84f8d2ea

ChangeLog
author Alex Schroeder <alex@gnu.org>
date Mon, 18 Aug 2003 18:07:27 +0000
parents f5ada28bb9f0
children 17b69f3a71fa
files lisp/ChangeLog lisp/bs.el
diffstat 2 files changed, 133 insertions(+), 61 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Mon Aug 18 17:29:23 2003 +0000
+++ b/lisp/ChangeLog	Mon Aug 18 18:07:27 2003 +0000
@@ -1,3 +1,83 @@
+2003-08-18  Michael Mauger  <mmaug@yahoo.com>
+
+	Version 1.8.0 of sql-mode.  (Patch submitted 2003-06-21)
+
+	Simplify selection of SQL products to define highlighting and
+	interactive mode.  Includes detailed instructions on adding
+	support for new products.
+
+	* progmodes/sql.el (sql-product): New variable.  Identifies SQL
+	product for use in highlighting and interactive mode.
+	(sql-interactive-product): New variable.  SQL product for
+	sql-interactive-mode.
+	(sql-product-support): New variable.  Specifies product-specific
+	parameters to drive highlighting and interactive mode.
+	(sql-imenu-generic-expression): Add more object types.
+	(sql-sqlite-options): Correct comment.
+	(sql-ms-program): Use "osql" rather than "isql".
+	(sql-prompt-regexp, sql-prompt-length): Update comment.
+	(sql-mode-menu): Add "Start SQLi session" entry.  Replace
+	Highlighting submenu with Product menu.  Fix Send Region entry.
+	(sql-mode-abbrev-table): Add abbreviations.  Support of
+	SYSTEM-FLAG on define-abbrev.  Support was removed with last
+	check-in; it now handles older Emacsen without the SYSTEM-FLAG.
+	(sql-mode-font-lock-object-name): Add font-lock pattern for object
+	names.
+	(sql-mode-ansi-font-lock-keywords): Set as default value.
+	(sql-mode-oracle-font-lock-keywords): Set as default value.
+	Support Oracle 9i keywords.
+	(sql-mode-postgres-font-lock-keywords): Set as default value.
+	(sql-mode-linter-font-lock-keywords): Set as default value.
+	(sql-mode-ms-font-lock-keywords): New variable.  Support Microsoft
+	SQLServer 2000.
+	(sql-mode-sybase-font-lock-keywords)
+	(sql-mode-interbase-font-lock-keywords)
+	(sql-mode-sqlite-font-lock-keywords)
+	(sql-mode-strong-font-lock-keywords)
+	(sql-mode-mysql-font-lock-keywords)
+	(sql-mode-db2-font-lock-keywords): New variables.  Default to ANSI
+	keywords.
+	(sql-mode-font-lock-defaults): Update comment.
+	(sql-product-feature): New function.  Returns feature associated
+	with a product from `sql-product-support' alist.
+	(sql-product-font-lock): New function.  Set font-lock support
+	based on `sql-product'.
+	(sql-add-product-keywords): New function.  Add font-lock rules to
+	product-specific keyword variables.
+	(sql-set-product): New function.  Set `sql-product' and apply
+	appropriate font-lock highlighting.
+	(sql-highlight-product): New function.  Set font-lock support
+	based on a product.  Also set mode name to include product name.
+	(sql-highlight-ansi-keywords, sql-highlight-oracle-keywords)
+	(sql-highlight-postgres-keywords, sql-highlight-linter-keywords):
+	Use `sql-set-product'.
+	(sql-highlight-ms-keywords)
+	(sql-highlight-sybase-keywords)
+	(sql-highlight-interbase-keywords)
+	(sql-highlight-strong-keywords)
+	(sql-highlight-mysql-keywords)
+	(sql-highlight-sqlite-keywords)
+	(sql-highlight-db2-keywords): New functions.  Use
+	`sql-set-product'.
+	(sql-get-login): Prompt in the same order as the tokens.
+	(sql-mode): Uses `sql-product-highlight' and
+	`sql-product-font-lock'.
+	(sql-product-interactive): New function.  Common portions of
+	product-specific interactive mode wrappers.
+	(sql-interactive-mode): Rewritten to use product features.
+	(sql-oracle, sql-sybase, sql-informix, sql-sqlite, sql-mysql)
+	(sql-solid, sql-ingres, sql-ms, sql-postgres, sql-interbase)
+	(sql-db2, sql-linter): Use `sql-product-interactive'.
+	(sql-connect-oracle, sql-connect-sybase, sql-connect-informix)
+	(sql-connect-sqlite, sql-connect-mysql, sql-connect-solid)
+	(sql-connect-ingres, sql-connect-postgres)
+	(sql-connect-interbase, sql-connect-db2, sql-connect-linter): New
+	functions.  Format command line parameters and invoke comint on
+	the appropriate interpreter.  Code was in the corresponding
+	`sql-xyz' function before.
+	(sql-connect-ms): New function.  Support -E argument to use
+	operating system credentials for authentication.
+
 2003-08-18  Kenichi Handa  <handa@m17n.org>
 
 	* international/mule.el (encode-char): Fix for the ASCII case.
--- a/lisp/bs.el	Mon Aug 18 17:29:23 2003 +0000
+++ b/lisp/bs.el	Mon Aug 18 18:07:27 2003 +0000
@@ -457,69 +457,61 @@
 (defvar bs--marked-buffers nil
   "Currently marked buffers in Buffer Selection Menu.")
 
-(defvar bs-mode-map ()
+(defvar bs-mode-map
+  (let ((map (make-sparse-keymap)))
+    (define-key map " "       'bs-select)
+    (define-key map "f"       'bs-select)
+    (define-key map "v"       'bs-view)
+    (define-key map "!"       'bs-select-in-one-window)
+    (define-key map [mouse-2] 'bs-mouse-select)	;; for GNU EMACS
+    (define-key map [button2] 'bs-mouse-select) ;; for XEmacs
+    (define-key map "F"       'bs-select-other-frame)
+    (let ((key ?1))
+      (while (<= key ?9)
+	(define-key map (char-to-string key) 'digit-argument)
+	(setq key (1+ key))))
+    (define-key map "-"       'negative-argument)
+    (define-key map "\e-"     'negative-argument)
+    (define-key map "o"       'bs-select-other-window)
+    (define-key map "\C-o"    'bs-tmp-select-other-window)
+    ;; for GNU EMACS
+    (define-key map [mouse-3] 'bs-mouse-select-other-frame)
+    ;; for XEmacs
+    (define-key map [button3] 'bs-mouse-select-other-frame)
+    (define-key map [up]      'bs-up)
+    (define-key map "n"       'bs-down)
+    (define-key map "p"       'bs-up)
+    (define-key map [down]    'bs-down)
+    (define-key map "\C-m"    'bs-select)
+    (define-key map "b"       'bs-bury-buffer)
+    (define-key map "s"       'bs-save)
+    (define-key map "S"       'bs-show-sorted)
+    (define-key map "a"       'bs-toggle-show-all)
+    (define-key map "d"       'bs-delete)
+    (define-key map "\C-d"    'bs-delete-backward)
+    (define-key map "k"       'bs-delete)
+    (define-key map "g"       'bs-refresh)
+    (define-key map "C"       'bs-set-configuration-and-refresh)
+    (define-key map "c"       'bs-select-next-configuration)
+    (define-key map "q"       'bs-kill)
+    ;; (define-key map "z"       'bs-kill)
+    (define-key map "\C-c\C-c" 'bs-kill)
+    (define-key map "\C-g"    'bs-abort)
+    (define-key map "\C-]"    'bs-abort)
+    (define-key map "%"       'bs-toggle-readonly)
+    (define-key map "~"       'bs-clear-modified)
+    (define-key map "M"       'bs-toggle-current-to-show)
+    (define-key map "+"       'bs-set-current-buffer-to-show-always)
+    ;;(define-key map "-"       'bs-set-current-buffer-to-show-never)
+    (define-key map "t"       'bs-visit-tags-table)
+    (define-key map "m"       'bs-mark-current)
+    (define-key map "u"       'bs-unmark-current)
+    (define-key map ">"       'scroll-right)
+    (define-key map "<"       'scroll-left)
+    (define-key map "?"       'bs-help)
+    map)
   "Keymap of `bs-mode'.")
 
-(if bs-mode-map
-    ()
-  (setq bs-mode-map (make-sparse-keymap))
-  (define-key bs-mode-map " "       'bs-select)
-  (define-key bs-mode-map "f"       'bs-select)
-  (define-key bs-mode-map "v"       'bs-view)
-  (define-key bs-mode-map "!"       'bs-select-in-one-window)
-  (define-key bs-mode-map [mouse-2] 'bs-mouse-select) ;; for GNU EMACS
-  (define-key bs-mode-map [button2] 'bs-mouse-select) ;; for XEmacs
-  (define-key bs-mode-map "F"       'bs-select-other-frame)
-
-  (let ((key ?1))
-    (while (<= key ?9)
-      (define-key bs-mode-map (char-to-string key) 'digit-argument)
-      (setq key (1+ key))))
-
-  (define-key bs-mode-map "-"       'negative-argument)
-  (define-key bs-mode-map "\e-"     'negative-argument)
-
-  (define-key bs-mode-map "o"       'bs-select-other-window)
-  (define-key bs-mode-map "\C-o"    'bs-tmp-select-other-window)
-  ;; for GNU EMACS
-  (define-key bs-mode-map [mouse-3] 'bs-mouse-select-other-frame)
-  ;; for XEmacs
-  (define-key bs-mode-map [button3] 'bs-mouse-select-other-frame)
-  (define-key bs-mode-map [up]      'bs-up)
-  (define-key bs-mode-map "n"       'bs-down)
-  (define-key bs-mode-map "p"       'bs-up)
-  (define-key bs-mode-map [down]    'bs-down)
-  (define-key bs-mode-map "\C-m"    'bs-select)
-  (define-key bs-mode-map "b"       'bs-bury-buffer)
-  (define-key bs-mode-map "s"       'bs-save)
-  (define-key bs-mode-map "S"       'bs-show-sorted)
-  (define-key bs-mode-map "a"       'bs-toggle-show-all)
-  (define-key bs-mode-map "d"       'bs-delete)
-  (define-key bs-mode-map "\C-d"    'bs-delete-backward)
-  (define-key bs-mode-map "k"       'bs-delete)
-  (define-key bs-mode-map "g"       'bs-refresh)
-  (define-key bs-mode-map "C"       'bs-set-configuration-and-refresh)
-  (define-key bs-mode-map "c"       'bs-select-next-configuration)
-  (define-key bs-mode-map "q"       'bs-kill)
-  ;; (define-key bs-mode-map "z"       'bs-kill)
-  (define-key bs-mode-map "\C-c\C-c" 'bs-kill)
-  (define-key bs-mode-map "\C-g"    'bs-abort)
-  (define-key bs-mode-map "\C-]"    'bs-abort)
-  (define-key bs-mode-map "%"       'bs-toggle-readonly)
-  (define-key bs-mode-map "~"       'bs-clear-modified)
-  (define-key bs-mode-map "M"       'bs-toggle-current-to-show)
-  (define-key bs-mode-map "+"       'bs-set-current-buffer-to-show-always)
-  ;;(define-key bs-mode-map "-"       'bs-set-current-buffer-to-show-never)
-  (define-key bs-mode-map "t"       'bs-visit-tags-table)
-  (define-key bs-mode-map "m"       'bs-mark-current)
-  (define-key bs-mode-map "u"       'bs-unmark-current)
-  (define-key bs-mode-map ">"       'scroll-right)
-  (define-key bs-mode-map "<"       'scroll-left)
-  (define-key bs-mode-map "\e\e"    nil)
-  (define-key bs-mode-map "\e\e\e"  'bs-kill)
-  (define-key bs-mode-map [escape escape escape] 'bs-kill)
-  (define-key bs-mode-map "?"       'bs-help))
-
 ;; ----------------------------------------------------------------------
 ;; Functions
 ;; ----------------------------------------------------------------------