Branch: refs/heads/yves/no_repeat_package Home: https://github.com/Perl/perl5 Commit: 3cf01b37d63347eda11fa86c02c79d71ea002085 https://github.com/Perl/perl5/commit/3cf01b37d63347eda11fa86c02c79d71ea002085 Author: Yves Orton <demer...@gmail.com> Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths: M gv.c M pod/perldiag.pod M pp_sys.c M t/lib/warnings/gv M t/op/tie.t M t/run/fresh_perl.t Log Message: ----------- error messages - do not repeat class names twice in our error messages Showing the classname twice in the error message seems friendly when the class name is short, but when it is long enough that the line wraps the duplication just increases cognitive load understand the error message. This is especially the case when the value is a total error and contains gibberish or a long binary string or such things, something that is all to common with this type of error. Even with the recently merged eliding of names the duplication means that an error message can be 2k long in the worst case, mostly because of the unnecessary duplication. As a compromise we can simply replace the second invocation of the class name by saying "it" instead, and that is what this patch does. The error message is still friendly, but not repetitive. We could also use "the package" if people preferred. Thus: $ perl -le'("x" x 50)->new()' Can't locate object method "new" via package "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" (perhaps you forgot to load "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"?) at -e line 1. Turns into: $ ./perl -le'("x" x 50)->new()' Can't locate object method "new" via package "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" (perhaps you forgot to load it?) at -e line 1. To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications