Index: src/bin/psql/mbprint.c
===================================================================
RCS file: /cvsroot/pgsql/src/bin/psql/mbprint.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -c -r1.31 -r1.32
*** src/bin/psql/mbprint.c	8 May 2008 17:04:26 -0000	1.31
--- src/bin/psql/mbprint.c	8 May 2008 19:11:36 -0000	1.32
***************
*** 3,9 ****
   *
   * Copyright (c) 2000-2008, PostgreSQL Global Development Group
   *
!  * $PostgreSQL: pgsql/src/bin/psql/mbprint.c,v 1.31 2008/05/08 17:04:26 momjian Exp $
   *
   * XXX this file does not really belong in psql/.  Perhaps move to libpq?
   * It also seems that the mbvalidate function is redundant with existing
--- 3,9 ----
   *
   * Copyright (c) 2000-2008, PostgreSQL Global Development Group
   *
!  * $PostgreSQL: pgsql/src/bin/psql/mbprint.c,v 1.32 2008/05/08 19:11:36 momjian Exp $
   *
   * XXX this file does not really belong in psql/.  Perhaps move to libpq?
   * It also seems that the mbvalidate function is redundant with existing
***************
*** 321,326 ****
--- 321,334 ----
  				linewidth += 2;
  				ptr += 2;
  			}
+ 			else if (*pwcs == '\t')		/* Tab */
+ 			{
+ 				do
+ 				{
+ 					*ptr++ = ' ';
+ 					linewidth++;
+ 				} while (linewidth % 8 != 0);
+ 			}
  			else if (w < 0)		/* Other control char */
  			{
  				sprintf((char *) ptr, "\\x%02X", *pwcs);
Index: src/test/regress/expected/prepare.out
===================================================================
RCS file: /cvsroot/pgsql/src/test/regress/expected/prepare.out,v
retrieving revision 1.15
retrieving revision 1.16
diff -c -r1.15 -r1.16
*** src/test/regress/expected/prepare.out	18 Jun 2007 21:40:58 -0000	1.15
--- src/test/regress/expected/prepare.out	8 May 2008 19:11:36 -0000	1.16
***************
*** 155,169 ****
   name |                            statement                            |                    parameter_types                     
  ------+-----------------------------------------------------------------+--------------------------------------------------------
   q2   | PREPARE q2(text) AS                                             | {text}
!       : \x09SELECT datname, datistemplate, datallowconn                   
!       : \x09FROM pg_database WHERE datname = $1;                          
   q3   | PREPARE q3(text, int, float, boolean, oid, smallint) AS         | {text,integer,"double precision",boolean,oid,smallint}
!       : \x09SELECT * FROM tenk1 WHERE string4 = $1 AND (four = $2 OR      
!       : \x09ten = $3::bigint OR true = $4 OR oid = $5 OR odd = $6::int)   
!       : \x09ORDER BY unique1;                                             
   q5   | PREPARE q5(int, text) AS                                        | {integer,text}
!       : \x09SELECT * FROM tenk1 WHERE unique1 = $1 OR stringu1 = $2       
!       : \x09ORDER BY unique1;                                             
   q6   | PREPARE q6 AS                                                   | {integer,name}
        :     SELECT * FROM tenk1 WHERE unique1 = $1 AND stringu1 = $2;     
   q7   | PREPARE q7(unknown) AS                                          | {path}
--- 155,171 ----
   name |                            statement                            |                    parameter_types                     
  ------+-----------------------------------------------------------------+--------------------------------------------------------
   q2   | PREPARE q2(text) AS                                             | {text}
!       :         SELECT datname, datistemplate, datallowconn                                                                     
!       :         FROM pg_database WHERE datname = $1;                                                                            
   q3   | PREPARE q3(text, int, float, boolean, oid, smallint) AS         | {text,integer,"double precision",boolean,oid,smallint}
!       :         SELECT * FROM tenk1 WHERE string4 = $1 AND (four = $2 O                                                         
!       ; R                                                                                                                       
!       :         ten = $3::bigint OR true = $4 OR oid = $5 OR odd = $6::                                                         
!       ; int)                                                                                                                    
!       :         ORDER BY unique1;                                                                                               
   q5   | PREPARE q5(int, text) AS                                        | {integer,text}
!       :         SELECT * FROM tenk1 WHERE unique1 = $1 OR stringu1 = $2                                                         
!       :         ORDER BY unique1;                                                                                               
   q6   | PREPARE q6 AS                                                   | {integer,name}
        :     SELECT * FROM tenk1 WHERE unique1 = $1 AND stringu1 = $2;     
   q7   | PREPARE q7(unknown) AS                                          | {path}
