Steve Hancock [Thu, 30 Mar 2023 21:46:22 +0000 (14:46 -0700)]
some tokenizer clean-ups, part 12
Steve Hancock [Thu, 30 Mar 2023 03:03:18 +0000 (20:03 -0700)]
some tokenizer clean-ups, part 11
Steve Hancock [Thu, 30 Mar 2023 00:13:22 +0000 (17:13 -0700)]
some tokenizer clean-ups, part 10
Steve Hancock [Wed, 29 Mar 2023 21:40:55 +0000 (14:40 -0700)]
some tokenizer clean-ups, part 9
Steve Hancock [Wed, 29 Mar 2023 20:15:13 +0000 (13:15 -0700)]
some tokenizer clean-ups, part 8
Steve Hancock [Wed, 29 Mar 2023 00:07:13 +0000 (17:07 -0700)]
some tokenizer clean-ups, part 7
Steve Hancock [Tue, 28 Mar 2023 13:57:42 +0000 (06:57 -0700)]
some tokenizer clean-ups, part 6
Steve Hancock [Mon, 27 Mar 2023 13:38:19 +0000 (06:38 -0700)]
some tokenizer clean-ups, part 5
Steve Hancock [Sun, 26 Mar 2023 02:38:24 +0000 (19:38 -0700)]
some tokenizer clean-ups, part 4
Steve Hancock [Sat, 25 Mar 2023 01:52:51 +0000 (18:52 -0700)]
bump version to .02
Steve Hancock [Sat, 25 Mar 2023 01:40:04 +0000 (18:40 -0700)]
update for issue c206
Steve Hancock [Sat, 25 Mar 2023 01:34:17 +0000 (18:34 -0700)]
param --valign-if-unless, -viu, added for git #116
Steve Hancock [Thu, 23 Mar 2023 18:34:01 +0000 (11:34 -0700)]
some tokenizer clean-ups, part 3
Steve Hancock [Wed, 22 Mar 2023 20:41:51 +0000 (13:41 -0700)]
some tokenizer clean-ups, part 2
Steve Hancock [Wed, 22 Mar 2023 14:41:55 +0000 (07:41 -0700)]
simplify diagnostics object
Previously, the diagnostics object made a call back to the tokenizer to get
the input line number. Now the line number arrives as an optional arg.
Steve Hancock [Tue, 21 Mar 2023 16:39:55 +0000 (09:39 -0700)]
some tokenizer clean-ups, part 1
remove unused sub; switch from $tokenizer_self to $self
Steve Hancock [Mon, 20 Mar 2023 02:37:26 +0000 (19:37 -0700)]
remove unused DIAGNOSTICS parameter, fix comments
Steve Hancock [Sun, 19 Mar 2023 00:31:59 +0000 (17:31 -0700)]
Improve efficiency of counting and removing leading spaces
Steve Hancock [Sat, 18 Mar 2023 00:30:18 +0000 (17:30 -0700)]
replace regex with index function for efficiency
The index functions are about 3x faster in this critical section.
Steve Hancock [Fri, 17 Mar 2023 14:01:33 +0000 (07:01 -0700)]
eliminate sub length_tag
This eliminates a large amount of sub call overhead.
Steve Hancock [Thu, 16 Mar 2023 00:27:34 +0000 (17:27 -0700)]
output file verbatim for certain lexical sub names
Lexical (my) subs which use the builtin names of certain quote-like
operators may cause problems in this version of perltidy. For example
'my sub s {...}' may cause parsing errors. If something like this is
encountered, then formatting will not be attempted; the file will be
output verbatim.
Steve Hancock [Tue, 14 Mar 2023 23:43:16 +0000 (16:43 -0700)]
eliminate sub store_space
This is now handled by sub store_token to improve efficiency by
reducing per-token sub calls
Steve Hancock [Tue, 14 Mar 2023 00:21:01 +0000 (17:21 -0700)]
make formatting of 'class' more like 'package'
This update makes any 'class' keyword be formatted as if it were
'package' as far as spaces and blank lines go (i.e., -blpb=n flag applies).
This also improves coding efficiency.
Steve Hancock [Mon, 13 Mar 2023 15:16:02 +0000 (08:16 -0700)]
bump version to
20230309.01
This has fixes for git #110 (missing docs) and git #115
Steve Hancock [Mon, 13 Mar 2023 15:03:38 +0000 (08:03 -0700)]
update comments
Steve Hancock [Mon, 13 Mar 2023 00:42:11 +0000 (17:42 -0700)]
some minor cleanups and comment updates
Steve Hancock [Sun, 12 Mar 2023 02:16:58 +0000 (18:16 -0800)]
fix git #115
(Destination incorrectly set to stdout when source is set). The fix proposed
in git #115 is correct, but I decided to pass $source_stream as a new arg
so that the input hash can remain unchanged for possible diagnostic use.
Steve Hancock [Sat, 11 Mar 2023 01:59:10 +0000 (17:59 -0800)]
fix spelling
Steve Hancock [Sat, 11 Mar 2023 01:57:55 +0000 (17:57 -0800)]
remove outdated docs
The parameter check-syntax is accepted but now ignored due to security concerns
Steve Hancock [Sat, 11 Mar 2023 01:57:26 +0000 (17:57 -0800)]
add tests b1452, b1453
Steve Hancock [Sat, 11 Mar 2023 01:56:04 +0000 (17:56 -0800)]
add missing docs for -cpb and -bfvt=n, issue git #110
Steve Hancock [Tue, 7 Mar 2023 01:50:20 +0000 (17:50 -0800)]
update version number
This will be the next release to CPAN after testing is complete.
Steve Hancock [Mon, 6 Mar 2023 18:13:32 +0000 (10:13 -0800)]
remove unused code, update comments
Steve Hancock [Sat, 4 Mar 2023 15:41:59 +0000 (07:41 -0800)]
improve recombine operation, c200
This update consolidates the three possible optimization methods in the
recombine operation into a single, simpler method which can be
shown to run in linear time.
Steve Hancock [Thu, 2 Mar 2023 02:03:57 +0000 (18:03 -0800)]
update closing side comments
Steve Hancock [Wed, 1 Mar 2023 23:03:02 +0000 (15:03 -0800)]
update docs
Steve Hancock [Wed, 1 Mar 2023 22:35:57 +0000 (14:35 -0800)]
fix c198
Steve Hancock [Tue, 28 Feb 2023 22:40:01 +0000 (14:40 -0800)]
update some comments and docs
Steve Hancock [Tue, 28 Feb 2023 16:05:21 +0000 (08:05 -0800)]
fix incorrect log message, issue c195
Steve Hancock [Tue, 28 Feb 2023 03:34:40 +0000 (19:34 -0800)]
remove unused vars
Steve Hancock [Mon, 27 Feb 2023 17:43:53 +0000 (09:43 -0800)]
fix c169
Steve Hancock [Mon, 27 Feb 2023 01:09:58 +0000 (17:09 -0800)]
fix b1451
Steve Hancock [Mon, 27 Feb 2023 00:20:05 +0000 (16:20 -0800)]
add recombine optimization when ties are detected
Steve Hancock [Fri, 24 Feb 2023 20:59:04 +0000 (12:59 -0800)]
restructure recombine operation
This avoids having a nested loop in a single sub
Steve Hancock [Tue, 21 Feb 2023 20:12:16 +0000 (12:12 -0800)]
simplify coding for variable _radjusted_levels_
Coding of the array _radjusted_levels_ can be simplified since it
is now always used. Previously it was not always available.
Steve Hancock [Mon, 20 Feb 2023 23:56:12 +0000 (15:56 -0800)]
remove unused vars
I found these with a utility I wrote to scan for unused vars. Most are
remnants from debugging, or variables that might have been useful but
were not actually used. I left a few unused hashes in the tokenizer which
might be useful in the future.
Steve Hancock [Mon, 20 Feb 2023 19:15:56 +0000 (11:15 -0800)]
simplify recombine optimization
Steve Hancock [Sun, 19 Feb 2023 03:17:27 +0000 (19:17 -0800)]
be sure output batches do not end in a blank token
They will not be output but might cause incorrect line length calcs
Steve Hancock [Sun, 19 Feb 2023 00:55:47 +0000 (16:55 -0800)]
simplify calculation of some flags in sub recombine
Steve Hancock [Fri, 17 Feb 2023 23:49:21 +0000 (15:49 -0800)]
cleanup sub check_old_breakpoints
Steve Hancock [Fri, 17 Feb 2023 21:43:08 +0000 (13:43 -0800)]
improve recombine reverse normal mode
Steve Hancock [Fri, 17 Feb 2023 05:39:33 +0000 (21:39 -0800)]
fix issue c190
Steve Hancock [Fri, 17 Feb 2023 02:12:52 +0000 (18:12 -0800)]
fix b1450
Steve Hancock [Wed, 15 Feb 2023 15:49:12 +0000 (07:49 -0800)]
add some tests for recombine operations
Steve Hancock [Wed, 15 Feb 2023 15:28:00 +0000 (07:28 -0800)]
add two optimization modes to recombine operation
This looks for two common patterns of monotonic variation in joint strengths
that can be handled very efficiently.
Steve Hancock [Wed, 15 Feb 2023 14:49:51 +0000 (06:49 -0800)]
add case b1133 to convergence test files
This should have been added some time ago when the issue got resolved
Steve Hancock [Fri, 10 Feb 2023 15:27:37 +0000 (07:27 -0800)]
simplify code for setting comma breakpoints, part 4
This completes restructuring of the complex code which
forms tables. The maximum McCabe number has been reduced from
about 140 to 54 by splitting it into several subs, without any
efficiency loss or change in function. This will simplify maintenance
and debugging.
Steve Hancock [Fri, 10 Feb 2023 01:32:15 +0000 (17:32 -0800)]
simplify code for setting comma breakpoints, part 3
Steve Hancock [Wed, 8 Feb 2023 14:54:35 +0000 (06:54 -0800)]
fix c186, c187
Allow more iterations in recombine operation when the number of lines
in the script increases significantly during formatting. In case c187,
the entire input script was a single very long line.
Steve Hancock [Wed, 8 Feb 2023 14:34:55 +0000 (06:34 -0800)]
simplify code for setting comma breakpoints, part 2
Steve Hancock [Tue, 7 Feb 2023 21:37:07 +0000 (13:37 -0800)]
simplify code for setting comma breakpoints, part 1
Steve Hancock [Tue, 7 Feb 2023 15:44:28 +0000 (07:44 -0800)]
fix comment text
Steve Hancock [Mon, 6 Feb 2023 19:16:01 +0000 (11:16 -0800)]
update line ending code, part 2
Steve Hancock [Mon, 6 Feb 2023 17:05:38 +0000 (09:05 -0800)]
remove unused code
Steve Hancock [Mon, 6 Feb 2023 01:36:55 +0000 (17:36 -0800)]
update output-line-ending code, part 1
Moved from Formatter.pm to Tidy.pm, a more logical place
Steve Hancock [Mon, 6 Feb 2023 01:33:33 +0000 (17:33 -0800)]
add iteration convergence statistics
Steve Hancock [Sun, 5 Feb 2023 22:12:22 +0000 (14:12 -0800)]
Add INITIALIZER comments for globals
Skipping the re-initialization of a global control variable can cause
bugs which are extremely difficult to track down. So it helps to have comments
indicating where this occurs.
Steve Hancock [Sun, 5 Feb 2023 22:11:16 +0000 (14:11 -0800)]
remove obsolete comment about encoding
Steve Hancock [Sun, 5 Feb 2023 19:07:11 +0000 (11:07 -0800)]
remove duplicate code
Steve Hancock [Sun, 5 Feb 2023 16:18:28 +0000 (08:18 -0800)]
initialize global var $controlled_comma_style
Steve Hancock [Sun, 5 Feb 2023 15:32:52 +0000 (07:32 -0800)]
initialize global var %matching_token in BEGIN block
Steve Hancock [Sun, 5 Feb 2023 01:32:27 +0000 (17:32 -0800)]
update man page
Steve Hancock [Sun, 5 Feb 2023 00:39:00 +0000 (16:39 -0800)]
avoid possibility of starting a random run twice
The GO.sh script is immediately moved to backup when a run starts.
That way it cannot be accidentally started again. Previously it was
moved to backup when a run ended.
Steve Hancock [Fri, 3 Feb 2023 22:09:59 +0000 (14:09 -0800)]
reduce max_mccabe
The Formatter routines with highest McCabe values are currently these.
It is difficult to reduce them without significantly slowing processing.
set_bond_strengthws 121
grind_batch_of_CODE 119
set_comma_breakpoints_final 119
set_whitespace_flags 117
process_line_inner_loop 114
break_lines_inner_loop 113
set_vertical_tightness_flags 104
weld_nested_containers 101
Steve Hancock [Fri, 3 Feb 2023 21:53:25 +0000 (13:53 -0800)]
fix b1449
Steve Hancock [Fri, 3 Feb 2023 20:02:22 +0000 (12:02 -0800)]
reorganize sub check_options, part 2
Steve Hancock [Fri, 3 Feb 2023 17:53:05 +0000 (09:53 -0800)]
reorgainze sub check_options, part 1
Steve Hancock [Thu, 2 Feb 2023 18:41:00 +0000 (10:41 -0800)]
fix b1448
Steve Hancock [Wed, 1 Feb 2023 02:14:16 +0000 (18:14 -0800)]
Bump to v
20221112.05; update one-line block docs
Steve Hancock [Mon, 30 Jan 2023 17:52:48 +0000 (09:52 -0800)]
fix b1446
Steve Hancock [Mon, 30 Jan 2023 15:39:41 +0000 (07:39 -0800)]
update docs for --use-feature=class
This also collects info on extended syntax in a single place
Steve Hancock [Sun, 29 Jan 2023 23:57:46 +0000 (15:57 -0800)]
fix b1447; improve sub set_whitespace_flags
This should have been two commits. The first, fix b1447, is just 1 line
and will influence almost no code. The second improves the efficiency
of sub set_whitespace flags, mostly by processing comments faster. It
also fixes a minor problem with marking a sub call for special
formatting when a side comment appears between the sub name and
opening paren (issue c182).
Steve Hancock [Sat, 28 Jan 2023 01:27:13 +0000 (17:27 -0800)]
Added parameter --one-line-block-exclusion-list=s
Steve Hancock [Thu, 26 Jan 2023 18:38:16 +0000 (10:38 -0800)]
improved efficiency of token loop
Steve Hancock [Wed, 25 Jan 2023 18:38:28 +0000 (10:38 -0800)]
set bugtracker to be github
Steve Hancock [Wed, 25 Jan 2023 02:26:35 +0000 (18:26 -0800)]
bump version to .04
Steve Hancock [Wed, 25 Jan 2023 02:08:52 +0000 (18:08 -0800)]
issue rt#145999, keep old mtime with -b if no diff
See the note in CHANGES.md
Steve Hancock [Tue, 24 Jan 2023 15:31:46 +0000 (07:31 -0800)]
simplify sub pattern testing
Steve Hancock [Tue, 24 Jan 2023 03:33:18 +0000 (19:33 -0800)]
remove unused var
Steve Hancock [Tue, 24 Jan 2023 01:46:00 +0000 (17:46 -0800)]
give -kba priority over -otr (b1445)
Steve Hancock [Sun, 22 Jan 2023 23:29:56 +0000 (15:29 -0800)]
minor code cleanup
Steve Hancock [Sun, 22 Jan 2023 14:50:22 +0000 (06:50 -0800)]
eliminate unused var _last_last_line_leading_level_
Steve Hancock [Sat, 21 Jan 2023 23:37:32 +0000 (15:37 -0800)]
switch from a regex to hash test
On my standard test case, this reduced the run time of
an if test from about 40 ms to 4 ms.
Steve Hancock [Sat, 21 Jan 2023 01:48:49 +0000 (17:48 -0800)]
improve check for incorrect method call syntax, rt #145706
Steve Hancock [Fri, 20 Jan 2023 22:19:32 +0000 (14:19 -0800)]
issue c179, rt #145706, multi-line class statement
This update improves the ability to automatically identify
an older style class statement if it spans multiple lines.
This avoids a needless warning message and allows the default
to be --use-feature=class.
Steve Hancock [Fri, 20 Jan 2023 16:47:47 +0000 (08:47 -0800)]
update for rt #145706
Steve Hancock [Fri, 20 Jan 2023 15:17:08 +0000 (07:17 -0800)]
fix b1444
Steve Hancock [Fri, 20 Jan 2023 01:03:38 +0000 (17:03 -0800)]
fix non-fatal internal fault check c177
add check to avoid creating an empty batch
Steve Hancock [Thu, 19 Jan 2023 15:01:45 +0000 (07:01 -0800)]
minor simplification
Steve Hancock [Sat, 14 Jan 2023 21:56:28 +0000 (13:56 -0800)]
add expected output check for run_convergence_tests.pl
This is a large database of weird test cases which had convergence
problems at one time in random testing. This is run after all
software updates, to be sure they all still converge.
This update adds a check for any changes in formatting.