Subject: Re: bug#31446: 26.1; sql-interactive-mode buffer naming is broken

From: Phil Sainty <[email-masked]>
Date: Tue, 22 May 2018 10:08:05 +1200

On 2018-05-22 03:45, Eli Zaretskii wrote:
> Thanks, I tried fixing it in a slightly different way, please take a
> look.  I'd like to avoid releasing Emacs 26.1 with sql.el that was
> broken by latest changes.

That seems to work, except for regressing this bit:

>> I *think* we'd want (consp new-name) for that test (especially as
>> it ought to cover multiple uses of C-u)

With C-u C-u M-x sql-postgres I end up with buffer name "*SQL: (16)*"
and "Process SQL: (16) finished" etc.

Another difference from Emacs 25 is that using a prefix arg in Emacs 25
was guaranteed to create a new buffer/process (if the chosen buffer name
conflicted then it was uniquified), whereas the new code is switching to
the pre-existing buffer in the situation.

Calling `sql-rename-buffer' handles uniquification, and my suggested
code seems to be consistent with the old behaviour.

Hopefully Filipp (or others) can do some testing as well -- I've not 
been
as thorough as I would like, so it would be good to have others 
verifying
the changes too.

-Phil

As a side-note, I've just observed that killing SQLi buffers from the
`list-buffers' buffer triggers "error in process sentinel: Selecting
deleted buffer" after confirming that the process should be killed
(which prevents marking and killing *multiple* such buffers).  I see
this also happens in Emacs 25, however.