On 2023-04-26 We 09:27, Tom Lane wrote:
Peter Eisentraut<peter.eisentr...@enterprisedb.com>  writes:
On 24.04.23 16:14, Tom Lane wrote:
I certainly don't like its current behavior where adding/changing one
line can have side-effects on nearby lines.  But we have a proposal
to clean that up, and I'm cautiously optimistic that it'll be better
in future.  Did you have other specific concerns?
I think the worst is how it handles multi-line data structures like
          $newnode->command_ok(
              [
                  'psql', '-X',
                  '-v',   'ON_ERROR_STOP=1',
                  '-c',   $upcmds,
                  '-d',   $oldnode->connstr($updb),
              ],
              "ran version adaptation commands for database $updb");
Yeah, I agree, there is no case where that doesn't suck.  I don't
mind it imposing specific placements of brackets and so on ---
that's very analogous to what pgindent will do.  But it likes to
re-flow comma-separated lists, and generally manages to make a
complete logical hash of them when it does, as in your other
example:

          $node->command_fails_like(
              [
                  'pg_basebackup',   '-D',
                  "$tempdir/backup", '--compress',
                  $cft->[0]
              ],
              qr/$cfail/,
              'client ' . $cft->[2]);
Can we fix it to preserve the programmer's choices of line breaks
in comma-separated lists?



I doubt there's something like that. You can freeze arbitrary blocks of code like this (from the manual)


#<<<  format skipping: do not let perltidy change my nice formatting
        my @list = (1,
                    1, 1,
                    1, 2, 1,
                    1, 3, 3, 1,
                    1, 4, 6, 4, 1,);
#>>>


But that gets old and ugly pretty quickly.

There is a --freeze-newlines option, but it's global. I don't think we want that.


cheers


andrew

--
Andrew Dunstan
EDB:https://www.enterprisedb.com

Reply via email to