* Minor sql-mode bug fixes
@ 2006-12-19 5:38 Michael Mauger
2006-12-24 22:10 ` Michael Mauger
0 siblings, 1 reply; 3+ messages in thread
From: Michael Mauger @ 2006-12-19 5:38 UTC (permalink / raw)
[-- Attachment #1: Type: text/plain, Size: 542 bytes --]
I reviewed the behavior of sql-mode in the pretest and found some problems. I had fixed these in
my local patches but there are too many additional feature enhancements in the patches to release
them during the feature freeze/pretest. (That'll teach me to take the feature freeze seriously!
;) )
Anyways, attached is a patch that corrects several specific bugs and updates the commentary to
more accurately reflect the state of the mode and it's future directions. I've also included the
ChangeLog entry.
Please review and apply. Thx.
[-- Attachment #2: 1124890444-sql22.diff --]
[-- Type: text/plain, Size: 7793 bytes --]
*** emacs/lisp/progmodes/sql.el.orig Sun Dec 17 15:43:07 2006
--- emacs/lisp/progmodes/sql.el Mon Dec 18 23:46:34 2006
***************
*** 5,11 ****
;; Author: Alex Schroeder <alex@gnu.org>
;; Maintainer: Michael Mauger <mmaug@yahoo.com>
! ;; Version: 2.0.1
;; Keywords: comm languages processes
;; URL: http://savannah.gnu.org/cgi-bin/viewcvs/emacs/emacs/lisp/progmodes/sql.el
;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?SqlMode
--- 5,11 ----
;; Author: Alex Schroeder <alex@gnu.org>
;; Maintainer: Michael Mauger <mmaug@yahoo.com>
! ;; Version: 2.0.2
;; Keywords: comm languages processes
;; URL: http://savannah.gnu.org/cgi-bin/viewcvs/emacs/emacs/lisp/progmodes/sql.el
;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?SqlMode
***************
*** 30,55 ****
;;; Commentary:
;; Please send bug reports and bug fixes to the mailing list at
! ;; sql.el@gnu.org. If you want to subscribe to the mailing list, send
! ;; mail to sql.el-request@gnu.org with `subscribe sql.el FIRSTNAME
! ;; LASTNAME' in the mail body.
!
! ;; This file provides a sql-mode and a sql-interactive-mode. My goals
! ;; were two simple modes providing syntactic hilighting. The
! ;; interactive mode had to provide a command-line history; the other
! ;; mode had to provide "send region/buffer to SQL interpreter"
! ;; functions. "simple" in this context means easy to use, easy to
! ;; maintain and little or no bells and whistles.
;; If anybody feels like extending this sql mode, take a look at the
;; above mentioned modes and write a sqlx-mode on top of this one. If
;; this proves to be difficult, please suggest changes that will
! ;; facilitate your plans.
;; sql-interactive-mode is used to interact with a SQL interpreter
;; process in a SQLi buffer (usually called `*SQL*'). The SQLi buffer
! ;; is created by calling a SQL interpreter-specific entry function. Do
! ;; *not* call sql-interactive-mode by itself.
;; The list of currently supported interpreters and the corresponding
;; entry function used to create the SQLi buffers is shown with
--- 30,69 ----
;;; Commentary:
;; Please send bug reports and bug fixes to the mailing list at
! ;; help-gnu-emacs@gnu.org. If you want to subscribe to the mailing
! ;; list, see the web page at
! ;; http://lists.gnu.org/mailman/listinfo/help-gnu-emacs for
! ;; instructions. I monitor this list actively. If you send an e-mail
! ;; to Alex Schroeder it usually makes it to me when Alex has a chance
! ;; to forward them along (Thanks, Alex).
!
! ;; This file provides a sql-mode and a sql-interactive-mode. The
! ;; original goals were two simple modes providing syntactic
! ;; highlighting. The interactive mode had to provide a command-line
! ;; history; the other mode had to provide "send region/buffer to SQL
! ;; interpreter" functions. "simple" in this context means easy to
! ;; use, easy to maintain and little or no bells and whistles. This
! ;; has changed somewhat as experience with the mode has accumulated.
!
! ;; Support for different flavors of SQL and command interpreters was
! ;; available in early versions of sql.el. This support has been
! ;; extended and formalized in later versions. Part of the impetus for
! ;; the improved support of SQL flavors was borne out of the current
! ;; maintainer's consulting experience. In the past fifteen years, I
! ;; have used Oracle, Sybase, Informix, MySQL, Postgres, and SQLServer.
! ;; On some assignments, I have used two or more of these concurrently.
;; If anybody feels like extending this sql mode, take a look at the
;; above mentioned modes and write a sqlx-mode on top of this one. If
;; this proves to be difficult, please suggest changes that will
! ;; facilitate your plans. Facilities have been provided to add
! ;; products and product-specific configuration.
;; sql-interactive-mode is used to interact with a SQL interpreter
;; process in a SQLi buffer (usually called `*SQL*'). The SQLi buffer
! ;; is created by calling a SQL interpreter-specific entry function or
! ;; sql-product-interactive. Do *not* call sql-interactive-mode by
! ;; itself.
;; The list of currently supported interpreters and the corresponding
;; entry function used to create the SQLi buffers is shown with
***************
*** 850,856 ****
(define-abbrev-table 'sql-mode-abbrev-table nil))
(mapcar
! ;; In Emacs 21.3+, provide SYSTEM-FLAG to define-abbrev.
'(lambda (abbrev)
(let ((name (car abbrev))
(expansion (cdr abbrev)))
--- 864,870 ----
(define-abbrev-table 'sql-mode-abbrev-table nil))
(mapcar
! ;; In Emacs 22+, provide SYSTEM-FLAG to define-abbrev.
'(lambda (abbrev)
(let ((name (car abbrev))
(expansion (cdr abbrev)))
***************
*** 858,870 ****
(define-abbrev sql-mode-abbrev-table name expansion nil 0 t)
(error
(define-abbrev sql-mode-abbrev-table name expansion)))))
! '(("ins" "insert")
! ("upd" "update")
! ("del" "delete")
! ("sel" "select")
! ("proc" "procedure")
! ("func" "function")
! ("cr" "create")))
;; Syntax Table
--- 872,884 ----
(define-abbrev sql-mode-abbrev-table name expansion nil 0 t)
(error
(define-abbrev sql-mode-abbrev-table name expansion)))))
! '(("ins" . "insert")
! ("upd" . "update")
! ("del" . "delete")
! ("sel" . "select")
! ("proc" . "procedure")
! ("func" . "function")
! ("cr" . "create")))
;; Syntax Table
***************
*** 873,885 ****
;; C-style comments /**/ (see elisp manual "Syntax Flags"))
(modify-syntax-entry ?/ ". 14" table)
(modify-syntax-entry ?* ". 23" table)
! ;; double-dash starts comment
(modify-syntax-entry ?- ". 12b" table)
! ;; newline and formfeed end coments
(modify-syntax-entry ?\n "> b" table)
(modify-syntax-entry ?\f "> b" table)
! ;; single quotes (') quotes delimit strings
(modify-syntax-entry ?' "\"" table)
;; backslash is no escape character
(modify-syntax-entry ?\\ "." table)
table)
--- 887,901 ----
;; C-style comments /**/ (see elisp manual "Syntax Flags"))
(modify-syntax-entry ?/ ". 14" table)
(modify-syntax-entry ?* ". 23" table)
! ;; double-dash starts comments
(modify-syntax-entry ?- ". 12b" table)
! ;; newline and formfeed end comments
(modify-syntax-entry ?\n "> b" table)
(modify-syntax-entry ?\f "> b" table)
! ;; single quotes (') delimit strings
(modify-syntax-entry ?' "\"" table)
+ ;; double quotes (") don't delimit strings
+ (modify-syntax-entry ?\" "." table)
;; backslash is no escape character
(modify-syntax-entry ?\\ "." table)
table)
***************
*** 888,899 ****
;; Font lock support
(defvar sql-mode-font-lock-object-name
! (list (concat "^\\s-*\\(create\\|drop\\|alter\\)\\s-+" ;; lead off with CREATE, DROP or ALTER
! "\\(\\w+\\s-+\\)*" ;; optional intervening keywords
! "\\(table\\|view\\|package\\(\\s-+body\\)?\\|proc\\(edure\\)?"
! "\\|function\\|trigger\\|sequence\\|rule\\|default\\)\\s-+"
! "\\(\\w+\\)")
! 6 'font-lock-function-name-face)
"Pattern to match the names of top-level objects.
--- 904,916 ----
;; Font lock support
(defvar sql-mode-font-lock-object-name
! (eval-when-compile
! (list (concat "^\\s-*\\(?:create\\|drop\\|alter\\)\\s-+" ;; lead off with CREATE, DROP or ALTER
! "\\(?:\\w+\\s-+\\)*" ;; optional intervening keywords
! "\\(?:table\\|view\\|\\(?:package\\|type\\)\\(?:\\s-+body\\)?\\|proc\\(?:edure\\)?"
! "\\|function\\|trigger\\|sequence\\|rule\\|default\\)\\s-+"
! "\\(\\w+\\)")
! 1 'font-lock-function-name-face))
"Pattern to match the names of top-level objects.
[-- Attachment #3: 3488599612-sql22.cl --]
[-- Type: text/plain, Size: 279 bytes --]
2006-12-18 Michael R. Mauger <mmaug@yahoo.com>
* progmodes/sql.el: Updated commentary and contact info.
(sql-mode-abbrev-table): Corrected initialization.
(sql-mode-syntax-table): Disable double quoted strings.
(sql-mode-font-lock-object-name): Added TYPE and TYPE BODY.
[-- Attachment #4: Type: text/plain, Size: 142 bytes --]
_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Minor sql-mode bug fixes
2006-12-19 5:38 Minor sql-mode bug fixes Michael Mauger
@ 2006-12-24 22:10 ` Michael Mauger
2006-12-25 16:53 ` Richard Stallman
0 siblings, 1 reply; 3+ messages in thread
From: Michael Mauger @ 2006-12-24 22:10 UTC (permalink / raw)
Michael Mauger <mmaug <at> yahoo.com> writes:
>
> I reviewed the behavior of sql-mode in the pretest and found some problems.
I had fixed these in
> my local patches but there are too many additional feature enhancements in
the patches to release
> them during the feature freeze/pretest. (That'll teach me to take the
feature freeze seriously!
> ;) )
>
> Anyways, attached is a patch that corrects several specific bugs and updates
the commentary to
> more accurately reflect the state of the mode and it's future directions.
I've also included the
> ChangeLog entry.
>
> Please review and apply. Thx.
>
Can the patch in my previous email in this thread please be applied?
I'd hate to see these minor but annoying bugs end up in the final release.
Thx.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2006-12-25 16:53 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-19 5:38 Minor sql-mode bug fixes Michael Mauger
2006-12-24 22:10 ` Michael Mauger
2006-12-25 16:53 ` Richard Stallman
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).