diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml
index 212dbfa154c..5899bb4fb39 100644
--- a/doc/src/sgml/ref/psql-ref.sgml
+++ b/doc/src/sgml/ref/psql-ref.sgml
@@ -2038,14 +2038,15 @@ lo_import 152801
The value must be a
number. In general, the higher
the number the more borders and lines the tables will have,
- but this depends on the particular format. In
- HTML format, this will translate directly
- into the border=... attribute; in
- latex and latex-longtable
- formats, a value of 3 will add a dividing line between each row; in
- the other formats only values 0 (no border), 1 (internal dividing
- lines), and 2 (table frame) make sense and values above 2 will be
- treated the same as border = 2.
+ but details depend on the particular format.
+ In HTML format, this will translate directly
+ into the border=... attribute.
+ In most other formats only values 0 (no border), 1 (internal
+ dividing lines), and 2 (table frame) make sense, and values above 2
+ will be treated the same as border = 2.
+ The latex and latex-longtable
+ formats additionally allow a value of 3 to add dividing lines
+ between data rows.
@@ -2220,8 +2221,8 @@ lo_import 152801
When the border> setting is greater than zero,
- this option also determines the characters
- with which the border lines are drawn.
+ the linestyle option also determines the
+ characters with which the border lines are drawn.
Plain ASCII characters work everywhere, but
Unicode characters look nicer on displays that recognize them.
@@ -2364,31 +2365,34 @@ lo_import 152801
- unicode_border_style
+ unicode_border_linestyle
- Sets the border drawing style for the unicode line style to one
- of single or double.
+ Sets the border drawing style for the unicode
+ line style to one of single
+ or double.
- unicode_column_style
+ unicode_column_linestyle
- Sets the column drawing style for the unicode line style to one
- of single or double.
+ Sets the column drawing style for the unicode
+ line style to one of single
+ or double.
- unicode_header_style
+ unicode_header_linestyle
- Sets the header drawing style for the unicode line style to one
- of single or double.
+ Sets the header drawing style for the unicode
+ line style to one of single
+ or double.
diff --git a/doc/src/sgml/release-9.5.sgml b/doc/src/sgml/release-9.5.sgml
index 92443e43c19..9055387832a 100644
--- a/doc/src/sgml/release-9.5.sgml
+++ b/doc/src/sgml/release-9.5.sgml
@@ -2061,12 +2061,12 @@ FIXME: Add more specifics?
2014-09-12 [a2dabf0] Stephe..: Add unicode_{column|header|border}_style to psql
-->
- Allow column, header, and border control to psql>'s
- Unicode style (Pavel Stehule)
+ Provide separate column, header, and border linestyle control
+ in psql>'s unicode linestyle (Pavel Stehule)
- Single or double output is supported; the default is
+ Single or double lines are supported; the default is
single>.
diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
index 50d3ff51745..72c00c1251c 100644
--- a/src/bin/psql/command.c
+++ b/src/bin/psql/command.c
@@ -2415,11 +2415,11 @@ _align2string(enum printFormat in)
}
/*
- * Parse entered unicode linestyle. Returns true, when entered string is
- * known linestyle: single, double else returns false.
+ * Parse entered unicode linestyle. If ok, update *linestyle and return
+ * true, else return false.
*/
static bool
-set_unicode_line_style(printQueryOpt *popt, const char *value, size_t vallen,
+set_unicode_line_style(const char *value, size_t vallen,
unicode_linestyle *linestyle)
{
if (pg_strncasecmp("single", value, vallen) == 0)
@@ -2428,10 +2428,6 @@ set_unicode_line_style(printQueryOpt *popt, const char *value, size_t vallen,
*linestyle = UNICODE_LINESTYLE_DOUBLE;
else
return false;
-
- /* input is ok, generate new unicode style */
- refresh_utf8format(&(popt->topt));
-
return true;
}
@@ -2517,10 +2513,12 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
{
if (!value)
;
- else if (!set_unicode_line_style(popt, value, vallen,
- &popt->topt.unicode_border_linestyle))
+ else if (set_unicode_line_style(value, vallen,
+ &popt->topt.unicode_border_linestyle))
+ refresh_utf8format(&(popt->topt));
+ else
{
- psql_error("\\pset: allowed unicode border linestyle are single, double\n");
+ psql_error("\\pset: allowed unicode border linestyles are single, double\n");
return false;
}
}
@@ -2530,10 +2528,12 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
{
if (!value)
;
- else if (!set_unicode_line_style(popt, value, vallen,
- &popt->topt.unicode_column_linestyle))
+ else if (set_unicode_line_style(value, vallen,
+ &popt->topt.unicode_column_linestyle))
+ refresh_utf8format(&(popt->topt));
+ else
{
- psql_error("\\pset: allowed unicode column linestyle are single, double\n");
+ psql_error("\\pset: allowed unicode column linestyles are single, double\n");
return false;
}
}
@@ -2543,10 +2543,12 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
{
if (!value)
;
- else if (!set_unicode_line_style(popt, value, vallen,
- &popt->topt.unicode_header_linestyle))
+ else if (set_unicode_line_style(value, vallen,
+ &popt->topt.unicode_header_linestyle))
+ refresh_utf8format(&(popt->topt));
+ else
{
- psql_error("\\pset: allowed unicode header linestyle are single, double\n");
+ psql_error("\\pset: allowed unicode header linestyles are single, double\n");
return false;
}
}
@@ -2871,7 +2873,7 @@ printPsetInfo(const char *param, struct printQueryOpt *popt)
else if (strcmp(param, "unicode_header_linestyle") == 0)
{
- printf(_("Unicode border linestyle is \"%s\".\n"),
+ printf(_("Unicode header linestyle is \"%s\".\n"),
_unicode_linestyle2string(popt->topt.unicode_header_linestyle));
}