mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-22 18:35:09 +00:00
* progmodes/sql.el: Version 3.1
(sql-db2-escape-newlines): New variable. (sql-escape-newlines-filter): Use it.
This commit is contained in:
parent
399a361b88
commit
04e082b0dd
8
etc/NEWS
8
etc/NEWS
@ -344,6 +344,14 @@ python-describe-symbol | python-eldoc-at-point
|
||||
|
||||
*** Accepts \r and \f as whitespace.
|
||||
|
||||
** SQL Mode
|
||||
|
||||
*** DB2 added `sql-db2-escape-newlines'
|
||||
|
||||
If non-nil, newlines sent to the command interpreter will be escaped
|
||||
by a backslash. The default does not escape the newlines and assumes
|
||||
that the sql statement will be terminated by a semicolon.
|
||||
|
||||
** Diff mode
|
||||
|
||||
Faces for changes now use the same diff color scheme as in modern VCSes
|
||||
|
@ -1,3 +1,9 @@
|
||||
2012-09-10 Michael R. Mauger <mmaug@yahoo.com>
|
||||
|
||||
* progmodes/sql.el: Version 3.1
|
||||
(sql-db2-escape-newlines): New variable.
|
||||
(sql-escape-newlines-filter): Use it.
|
||||
|
||||
2012-09-10 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* custom.el (custom-theme-load-confirm): Remove unneeded assignment.
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
;; Author: Alex Schroeder <alex@gnu.org>
|
||||
;; Maintainer: Michael Mauger <mmaug@yahoo.com>
|
||||
;; Version: 3.0
|
||||
;; Version: 3.1
|
||||
;; Keywords: comm languages processes
|
||||
;; URL: http://savannah.gnu.org/projects/emacs/
|
||||
|
||||
@ -218,9 +218,12 @@
|
||||
;; Michael Mauger <mmaug@yahoo.com> -- improved product support
|
||||
;; 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
|
||||
;; 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
|
||||
;; Ian Bjorhovde <idbjorh@dataproxy.com> -- db2 escape newlines
|
||||
;; incorrectly enabled by default
|
||||
|
||||
|
||||
|
||||
@ -879,6 +882,16 @@ In older versions of SQL*Plus, this was the SET SCAN OFF command."
|
||||
:type 'boolean
|
||||
:group 'SQL)
|
||||
|
||||
(defcustom sql-db2-escape-newlines nil
|
||||
"Non-nil if newlines should be escaped by a backslash in DB2 SQLi.
|
||||
|
||||
When non-nil, Emacs will automatically insert a space and
|
||||
backslash prior to every newline in multi-line SQL statements as
|
||||
they are submitted to an interactive DB2 session."
|
||||
:version "24.3"
|
||||
:type 'boolean
|
||||
:group 'SQL)
|
||||
|
||||
;; Customization for SQLite
|
||||
|
||||
(defcustom sql-sqlite-program (or (executable-find "sqlite3")
|
||||
@ -3188,20 +3201,23 @@ Placeholders are words starting with an ampersand like &this."
|
||||
|
||||
;; Using DB2 interactively, newlines must be escaped with " \".
|
||||
;; The space before the backslash is relevant.
|
||||
|
||||
(defun sql-escape-newlines-filter (string)
|
||||
"Escape newlines in STRING.
|
||||
Every newline in STRING will be preceded with a space and a backslash."
|
||||
(let ((result "") (start 0) mb me)
|
||||
(while (string-match "\n" string start)
|
||||
(setq mb (match-beginning 0)
|
||||
me (match-end 0)
|
||||
result (concat result
|
||||
(substring string start mb)
|
||||
(if (and (> mb 1)
|
||||
(string-equal " \\" (substring string (- mb 2) mb)))
|
||||
"" " \\\n"))
|
||||
start me))
|
||||
(concat result (substring string start))))
|
||||
(if (not sql-db2-escape-newlines)
|
||||
string
|
||||
(let ((result "") (start 0) mb me)
|
||||
(while (string-match "\n" string start)
|
||||
(setq mb (match-beginning 0)
|
||||
me (match-end 0)
|
||||
result (concat result
|
||||
(substring string start mb)
|
||||
(if (and (> mb 1)
|
||||
(string-equal " \\" (substring string (- mb 2) mb)))
|
||||
"" " \\\n"))
|
||||
start me))
|
||||
(concat result (substring string start)))))
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user