Subject: bug#29105: 25.2; sqli postgres missing prompts with underscore

From: Felipe Ochoa <[email-masked]>
Date: Wed, 01 Nov 2017 09:09:41 -0500

Tables with underscores in their names (e.g., as generated by Django)
have their prompts removed from the buffer by the process filter,
resulting in something like the following

psql (9.6.5, server 9.5.5)
You are now connected to database "app_model" as user "user".
SELECT ...

I'm not sure how exactly it's happening, but I think it's in
`sql-interactive-remove-continuation-prompt'. At any rate, the problem
can be fixed by changing the postgres `:prompt-regexp' and
`:prompt-cont-regexp' to "^\\(?:[[:word:]]\\|\\s_\\)*=[#>] " and
"^\\(?:[[:word:]]\\|\\s_\\)*[-(][#>] " respectively to allow symbols in
table names. If that seems too lax, we could also special-case
underscore, since I think it's the most common symbol used in table
names.

-Felipe

In GNU Emacs 25.2.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.18.9)
 of 2017-07-19 built on x1-ubuntu
Windowing system distributor 'The X.Org Foundation', version 11.0.11804000
System Description:	Ubuntu 16.04.3 LTS

Configured using:
 'configure --without-cairo --with-xwidgets --with-x-toolkit=gtk3
 --with-modules'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS
NOTIFY ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 MODULES XWIDGETS

Important settings:
  value of $LC_MONETARY: en_US.UTF-8
  value of $LC_NUMERIC: en_US.UTF-8
  value of $LC_TIME: en_US.UTF-8
  value of $LANG: en_US.UTF8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix