From 755958bc72220af68a4e9f0f80e3d6b4f6478067 Mon Sep 17 00:00:00 2001 From: Sam Steingold Date: Mon, 8 Sep 2014 09:57:19 -0400 Subject: [PATCH] (sql-set-sqli-buffer): Call `sql-product-interactive' when no suitable buffer is available. --- lisp/ChangeLog | 2 ++ lisp/progmodes/sql.el | 7 +++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d12138f3ead..6e8b47359b6 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -7,6 +7,8 @@ (sql-default-directory): New user option. (sql-product-interactive): Bind `default-directory' to it to enable remote connections using Tramp. + (sql-set-sqli-buffer): Call `sql-product-interactive' when no + suitable buffer is available. 2014-09-08 Glenn Morris diff --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el index 486e6b651d2..c4baef82e27 100644 --- a/lisp/progmodes/sql.el +++ b/lisp/progmodes/sql.el @@ -3059,7 +3059,7 @@ If you call it from anywhere else, it sets the global copy of (interactive) (let ((default-buffer (sql-find-sqli-buffer))) (if (null default-buffer) - (user-error "There is no suitable SQLi buffer") + (sql-product-interactive) (let ((new-buffer (read-buffer "New SQLi buffer: " default-buffer t))) (if (null (sql-buffer-live-p new-buffer)) (user-error "Buffer %s is not a working SQLi buffer" new-buffer) @@ -3075,10 +3075,9 @@ It is stored in the variable `sql-buffer'. I See also `sql-help' on how to create such a buffer." (interactive) - (unless (and sql-buffer (buffer-live-p (get-buffer sql-buffer))) + (unless (and sql-buffer (buffer-live-p (get-buffer sql-buffer)) + (get-buffer-process sql-buffer)) (sql-set-sqli-buffer)) - (unless (get-buffer-process sql-buffer) - (user-error "Buffer %s has no process" sql-buffer)) (display-buffer sql-buffer)) (defun sql-make-alternate-buffer-name () -- 2.39.5