-
Notifications
You must be signed in to change notification settings - Fork 589
Improve -Dy debugging #23591
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Improve -Dy debugging #23591
+134
−22
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Could you provide a before/example of the effect this p.r. is intended to have? |
806b51b
to
9e2dd67
Compare
bulk88
reviewed
Aug 18, 2025
bulk88
reviewed
Aug 18, 2025
bulk88
reviewed
Aug 18, 2025
mauke
reviewed
Aug 18, 2025
It is undefined behavior in C to have a file-level symbol begin with an underscore. This is a static function; there is no need for it to have a leading or trailing underscore to mark it as internal
This creates an ARGS_ASSERT for this function. Previously, the code was using the one for plain pv_display(), which is kind of ugly. Now there is a macro for each function
The same printf can handle two things.
Commit 6ceb408 added a way to cleanly output UTF-8 tr/// values. This commit uses that to improve the debug output of compiling and running tr///. For a simple tr of of transliterating Greek capital letters to lowercase, the output of 'perl -Dy' has these added lines: > op.c: 6553: Compiling tr/*t/*r/; /c=0; /d=0; /s=0 > *t is '\x{391}-\x{3a9}' > *r is '\x{3b1}-\x{3c9}' Before the aforementioned commit the minus sign indicating a range would not have rendered properly; so things like that were omitted from the debug output. The output also now includes special mention of the special casing where the input is complemented, and/or some characters not being translated or get deleted.
While debugging this code, I found that the final generated map was unneeded and too large for most instances; so change that to not be output without the verbose option. Conversely, I found that I needed to often see the state of things after the first pass, so change to make that not verbose.
9e2dd67
to
bff6937
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Commit 6ceb408 added a way to cleanly output UTF-8 tr/// values. This commit uses that to improve the debug output of compiling and running tr///.