summaryrefslogtreecommitdiff
path: root/pod
diff options
context:
space:
mode:
authorPaul "LeoNerd" Evans <leonerd@leonerd.org.uk>2022-11-27 15:27:50 +0000
committerPaul Evans <leonerd@leonerd.org.uk>2022-12-08 12:59:50 +0000
commitcd7d784879026948126140d82b84bb39bb779c2e (patch)
tree2401c913fa64207ddecaf38e2f95d5c36a5fbf2b /pod
parentfe31205d63da5c2b38cf8ffbdf08f3a18430a0da (diff)
downloadperl-cd7d784879026948126140d82b84bb39bb779c2e.tar.gz
Define a PL_infix_plugin hook, of a similar style to PL_keyword_plugin
Runs for identifier-named custom infix operators and sequences of non-identifier symbol characters. Defines multiple precedence levels for custom infix operators that fit alongside exponentiation, multiplication, addition, or relational comparision operators, as well as a "high" and "low" at either end.
Diffstat (limited to 'pod')
-rw-r--r--pod/perldiag.pod7
1 files changed, 7 insertions, 0 deletions
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 9ab597b061..6b3d132a23 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -455,6 +455,13 @@ This message can be seen quite often with DB_File on systems with "hard"
dynamic linking, like C<AIX> and C<OS/2>. It is a bug of C<Berkeley DB>
which is left unnoticed if C<DB> uses I<forgiving> system malloc().
+=item Bad infix plugin result (%zd) - did not consume entire identifier <%s>
+
+(F) A plugin using the C<PL_infix_plugin> mechanism to parse an infix
+keyword consumed part of a named identifier operator name but did not
+consume all of it. This is not permitted as it leads to fragile parsing
+results.
+
=item Badly placed ()'s
(A) You've accidentally run your script through B<csh> instead