X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/2d1f1fe5758d1f7ec388be4bc09f029dd0df5b7c..c04c2bf1bf7cf377ab523ecaa7b0bd9a8f93f0cd:/mg_vtable.h diff --git a/mg_vtable.h b/mg_vtable.h index 516d2c9..c71a988 100644 --- a/mg_vtable.h +++ b/mg_vtable.h @@ -6,75 +6,129 @@ * Any changes made here will be lost! */ +/* These constants should be used in preference to raw characters + * when using magic. Note that some perl guts still assume + * certain character properties of these constants, namely that + * isUPPER() and toLOWER() may do useful mappings. + */ + +#define PERL_MAGIC_sv '\0' /* Special scalar variable */ +#define PERL_MAGIC_arylen '#' /* Array length ($#ary) */ +#define PERL_MAGIC_rhash '%' /* Extra data for restricted hashes */ +#define PERL_MAGIC_debugvar '*' /* $DB::single, signal, trace vars */ +#define PERL_MAGIC_pos '.' /* pos() lvalue */ +#define PERL_MAGIC_symtab ':' /* Extra data for symbol tables */ +#define PERL_MAGIC_backref '<' /* For weak ref data */ +#define PERL_MAGIC_arylen_p '@' /* To move arylen out of XPVAV */ +#define PERL_MAGIC_bm 'B' /* Boyer-Moore (fast string search) */ +#define PERL_MAGIC_overload_table 'c' /* Holds overload table (AMT) on stash */ +#define PERL_MAGIC_regdata 'D' /* Regex match position data + (@+ and @- vars) */ +#define PERL_MAGIC_regdatum 'd' /* Regex match position data element */ +#define PERL_MAGIC_env 'E' /* %ENV hash */ +#define PERL_MAGIC_envelem 'e' /* %ENV hash element */ +#define PERL_MAGIC_fm 'f' /* Formline ('compiled' format) */ +#define PERL_MAGIC_regex_global 'g' /* m//g target */ +#define PERL_MAGIC_hints 'H' /* %^H hash */ +#define PERL_MAGIC_hintselem 'h' /* %^H hash element */ +#define PERL_MAGIC_isa 'I' /* @ISA array */ +#define PERL_MAGIC_isaelem 'i' /* @ISA array element */ +#define PERL_MAGIC_nkeys 'k' /* scalar(keys()) lvalue */ +#define PERL_MAGIC_dbfile 'L' /* Debugger %_