Fix compilation on 5.8.
[p5sagit/Devel-Declare.git] / Changes
CommitLineData
71511651 1Changes for Devel-Declare
2
33038bb0 30.005005
4 - Improve compatibility with MAD-enabled perls
5 (Reini Urban, Closes RT#45779).
6
0f1dacbc 70.005004
8 - Don't redefine MEM_WRAP_CHECK_ if it's already defined, getting rid of
9 compilation errors on some perls (Maik Fischer).
10
98820f7a 110.005003
12 - Failing tests for line number issues (Ash Berlin).
13 - Add strip_names_and_args (Cory Watson).
14 - Various pod fixes (Yanick Champoux, Florian Ragwitz).
15 - Add copyright statements.
16
3f54dfa3 170.005002
18 - Don't invoke the linestr callback if the parser was expecting an operator.
19 This makes calling a method with the name of a declarator work.
20
36a3c106 210.005001
22 - Implement skip_declarator in terms of scan_word in Context::Simple.
23 This avoids relying on PL_tokenbuf to skip past the declarator, as
24 PL_tokenbuf might be overwritten by compiling other code between calling
25 the linestr callback and skip_declarator.
26
5b1cb7aa 270.005000
28 - Port the documentation from %^H and Scope::Guard to B::Hooks::EndOfScope.
29 - Fix extracting multi-line strings using scan_str.
30 - Remove the nasty workaround for the above from Context::Simple.
31
cc4c6362 320.004000
33 - Much improved documentation (osfameron).
34 - Make sure the linestr callback isn't invoked when a declarator is used as
35 part of some quoting construct like qq//, m//, s///, qr//, tr///, qx//, ``,
36 etc (Florian Ragwitz).
37 - Tests for this (osfameron, Florian Ragwitz).
38
cc4fa5e3 390.003005
40 - Depend on a recent B::Hooks::EndOfScope to make semicolon injection more
41 robust (Florian Ragwitz).
42 - Add a couple of TODO tests for better error reporting (Marcus Ramberg).
712c5dd1 43 - Context::Simple::inject_if_block now returns true if start of block was
cc4fa5e3 44 found (Ash Berlin).
712c5dd1 45
2c746743 460.003004
47 - Make magic work within string evals on 5.10 if the hints hash is used.
48 - Bind S_scan_ident to perl. It allows scanning for simple identifiers.
49 - Add strip_ident to Context::Simple.
50
7715fb8f 510.003003
52 - Devel::Declare::MethodInstaller::Simple now has code_for() which the
53 subclass can override to monkey with the magic shadowed subroutine.
54 This is handy if you want to employ Devel::BeginLift.
55
45333fcc 560.003002
57 - Depend on Sub::Name and B::Hooks::EndOfScope. MethodInstaller::Simple and
58 Context::Simple use them.
59
5ed603f1 600.003001
61 - Don't use :lvalue in Context::Simple and MethodInstaller::Simple to keep
62 the debugger happy.
371427af 63
5ed603f1 640.003000
371427af 65 - Add Devel::Declare::Context::Simple and
66 Devel::Declare::MethodInstaller::Simple as an experimental way to make
67 creating block- and sub-like keywords easier (Rhesa Rozendaal).
68
b1e909d3 690.002999_01
e6486283 70 - Use B::Hooks::OP::Check to register PL_check callbacks.
71 - Use B::Hooks::EndOfScope instead of %^H and Scope::Guard.
72 - Don't segfault if HvNAME(PL_curstash) == NULL.
73 - Don't segfault on 5.9.5+, where PL_parser is a symbol, not a define.
74 - Don't delete the previous symbol table entry when shadowing subs. This
75 makes us work within the debugger.
76 - Don't mix declarations and code.
77
7347020e 780.002002
e422fec0 79 - switch done_declare call from call_argv to call_pv.
80 - Make get_linestr{,_offset} return sensible values when called while the
81 parser isn't running.
82 - Remove several compile time warnings.
83 - Allow enabling of debug mode using $ENV{DD_DEBUG}.
001d53d0 84
82e5ff1c 850.002001
96f12726 86 - clean up checks for whether we're lexing and whether lex_stuff exists
87 to handle the PL_parser factor-out in 5.10
5a96176c 88 - check if reallocation of PL_linestr is necessary before doing it. this way
89 we can bail out properly instead of corrupting memory in some cases
90 - don't call strlen twice on the same sting
91 - try to be more portable
92 - stop using Nullsv
93 - don't use Perl_* functions directly.
94 - don't define PERL_CORE
95 - use NEWSV from handy.h instead of defining our own
96 - don't define PERL_NO_GET_CONTEXT
97 - don't support preprocessors (perl -P)
96f12726 98
2ee34f20 990.002000
100 - rewrite guts into perl, add tests for new declaration style
101
bedac9ff 1020.001011
103 - add support for 'method main' and other package names
104
9673d7ca 1050.001010
106 - fix traits code, again, so it compiles on 5.10.
107
1080.001009
d8e65fc8 109 - only mangle evals if o->op_ppaddr is actually PL_ppaddr[OP_ENTERVAL]
a9eb4da1 110 - don't set OPf_SPECIAL on entereval ops, mistaken cargo cult from autobox
f5262149 111 - fix traits code to work on older 5.8.x perls
112
1130.001008
114 - turns out 0.1.7 in Makefile.PL results in that version going into
115 the .xs file as well as the dist name. Then everything breaks.
116
1170.001007
118 - bail on SvGROW during declare process since that can't work
119 - use a source filter on files and an op wrap on evals to pre-grow
120 PL_linestr so we don't get to the point of needing to bail
121
498cc8bc 1220.001006
c5912dc7 123 - nasty goto &$func hack to avoid :lvalue+list context weirdness
124 - correct SvGROW invocation
498cc8bc 125
1260.001005
003ac394 127 - stop using & prototypes at all
128
552a9b31 1290.001004
130 - correct idiotic typo if ifndef
131
78160085 1320.001003
133 - internalise definitions for toke.c chunks to save hassle
134 - make NEWSV macro defined via ifndef rather than version check in case
135 of 5.8.8-maint (and 5.8.9)
136
14ab3472 1370.001002
138 - compilation fixes for 5.9.5 and -DDEBUGGING
139
71511651 1400.001001
141 - compilation fixes for 5.8.1+
daf38100 142 - set Makefile.PL to bomb out for <5.8.1
c560c752 143
1440.001000
145 - Initial release to CPAN