Upgrade to Devel::PPPort 3.11_05
[p5sagit/p5-mst-13.2.git] / ext / Devel / PPPort / TODO
CommitLineData
adfe19db 1TODO:
0a7c7f4f 2
c83e6f19 3* bump __MAX_PERL__ before 5.10
4
679ad62d 5* > 3. In several cases, "perl ppport.h --copy=.new" output a new file in
6 > which the only change was the addition of "#include "ppport.h"". In each
7 > case, that actually wasn't necessary because the source file in question
8 > already #included another source file which #included ppport.h itself.
9 > Would it be possible for the analyzer to follow #include directives to
10 > spot cases like this?
11
12 Uh, well, I guess it would be possible. But I have some concerns:
13
14 1. ppport.h is already too big. :-)
15
16 2. There is code in ppport.h to actually remove an
17
18 #include "ppport.h"
19
20 if it appears not to be needed. If it's not needed in your
21 included file, it might be dropped from there and moved to
22 the other file that included the first one. This would make
23 the logic much more complicated.
24
25 3. As ppport.h is configurable, it's not (always) a good idea
26 to put it into a file that's included from another file.
27
28 I guess I'll have to think about this a little more. Maybe I can
29 come up with a fancy solution that doesn't increase the code size
30 too much.
31
32
d2dacc4f 33* On 14/12/06, Nicholas Clark <nick@ccl4.org> wrote:
34 > On Thu, Dec 14, 2006 at 05:03:24AM +0100, Andreas J. Koenig wrote:
35 >
36 > > Params::Validate and Clone suffer from the same cold:
37 >
38 > The same patch will make both compile and pass tests.
39 > I'm wondering if it might be better to totally drop SVt_PBVM and let source
40 > code fail to compile.
41
42 I don't think so. Because :
43 1. your redefinition of SVt_PBVM is probably what most XS modules want
44 2. anyway, if we remove it from the core, it might appear in Devel::PPPort :)
45
46
679ad62d 47* maybe backport bytes_from_utf8() for 5.6.0 (or even before)?
48
cac25305 49* check which of the following we need to support:
50
51 amagic_generation
52 AMG_names
53 an
54 Argv
55 argvgv
56 argvoutgv
57 basetime
58 beginav
59 block_type
60 bodytarget
61 bufend
62 bufptr
63 check
64 chopset
65 Cmd
66 compcv
67 compiling
68 comppad
69 comppad_name
70 comppad_name_fill
71 copline
72 cop_seqmax
73 cryptseen
74 cshlen
75 cshname
76 curcop
77 curinterp
78 curpad
79 curpm
80 curstash
81 curstname
82 dbargs
83 DBgv
84 DBline
85 DBsignal
86 DBsingle
87 DBsub
88 DBtrace
89 debstash
90 debug
91 defgv
92 defoutgv
93 defstash
94 delaymagic
95 diehook
96 dirty
97 doextract
98 doswitches
99 do_undump
100 dowarn
101 egid
102 encoding
103 endav
104 envgv
105 errgv
106 error_count
107 errors
108 euid
109 eval_root
110 evalseq
111 eval_start
112 expect
113 fdpid
114 filemode
115 firstgv
116 fold
117 forkprocess
118 formfeed
119 formtarget
120 freq
121 generation
122 gensym
123 gid
124 hexdigit
125 hints
126 incgv
127 in_eval
128 in_my
129 inplace
130 lastfd
131 last_in_gv
132 last_lop
133 last_lop_op
134 lastscream
135 laststatval
136 laststype
137 last_uni
138 lex_brackets
139 lex_brackstack
140 lex_casemods
141 lex_casestack
142 lex_defer
143 lex_dojoin
144 lex_expect
145 lex_formbrack
146 lex_inpat
147 lex_inwhat
148 lex_op
149 lex_repl
150 lex_starts
151 lex_state
152 lex_stuff
153 lineary
154 linestr
155 localizing
156 main_cv
157 main_root
158 mainstack
159 main_start
160 markstack
161 markstack_max
162 markstack_ptr
163 max_intro_pending
164 maxo
165 maxscream
166 maxsysfd
167 min_intro_pending
168 minus_a
169 minus_c
170 minus_F
171 minus_l
172 minus_n
173 minus_p
174 multi_close
175 multi_end
176 multi_open
177 multi_start
178 na
179 nexttoke
180 nexttype
181 nextval
182 nice_chunk
183 nice_chunk_size
184 No
185 no_aelem
186 no_dir_func
187 no_func
188 no_mem
189 nomemok
190 no_modify
191 no_myglob
192 no_security
193 no_sock_func
194 no_symref
195 no_usym
196 no_wrongref
197 nrs
198 oldbufptr
199 oldname
200 oldoldbufptr
201 op
202 opargs
203 op_desc
204 op_mask
205 op_name
206 op_seq
207 origalen
208 origargc
209 origargv
210 origenviron
211 origfilename
212 osname
213 padix
214 padix_floor
215 pad_reset_pending
216 patchlevel
217 patleave
218 perldb
219 perl_destruct_level
220 pidstatus
221 ppaddr
222 preambleav
223 preambled
224 preprocess
225 profiledata
226 regdummy
227 regendp
228 regeol
229 reginput
230 regkind
231 reglastparen
232 regsize
233 regstartp
234 restartop
235 rs
236 rsfp
237 rsfp_filters
238 runops
239 savestack
240 savestack_ix
241 savestack_max
242 sawampersand
243 scopestack
244 scopestack_ix
245 scopestack_max
246 screamfirst
247 screamnext
248 secondgv
249 signals
250 sig_name
251 sig_num
252 simple
253 sortcop
254 sortstash
255 splitstr
256 stack_base
257 stack_max
258 stack_sp
259 statbuf
260 statcache
261 statgv
262 statname
263 statusvalue
264 stdingv
265 sub_generation
266 subline
267 subname
268 Sv
269 sv_arenaroot
270 sv_count
271 sv_no
272 sv_objcount
273 sv_root
274 sv_undef
275 sv_yes
276 tainted
277 tainting
278 timesbuf
279 tmps_floor
280 tmps_ix
281 tmps_max
282 tmps_stack
283 tokenbuf
284 top_env
285 toptarget
286 uid
287 unsafe
288 varies
289 vtbl_amagic
290 vtbl_amagicelem
291 vtbl_arylen
292 vtbl_bm
293 vtbl_dbline
294 vtbl_env
295 vtbl_envelem
296 vtbl_glob
297 vtbl_isa
298 vtbl_isaelem
299 vtbl_mglob
300 vtbl_pack
301 vtbl_packelem
302 vtbl_pos
303 vtbl_sig
304 vtbl_sigelem
305 vtbl_substr
306 vtbl_sv
307 vtbl_taint
308 vtbl_uvar
309 vtbl_vec
310 warnhook
311 warn_nl
312 warn_nosemi
313 warn_reserved
314 warn_uninit
315 watchaddr
316 watchok
317 Xpv
318 Yes
319
320* have an --env option for soak to set env variable combinations
321
322* only overwrite generated files if they actually changed
323
aef0a14c 324* try to make parts/apicheck.pl automatically find NEED_ #defines
325
0c96388f 326* implement snprintf with newSVpvf for >= 5.004, which is safer?
327
328* add support for my_vsnprintf?
329
330* try to perform some core consistency checks:
f2ab5a41 331
0c96388f 332 - check if 'd' flag in embed.fnc matches with
333 supplied documentation
334
335 - check if all public API is documented
336
337* check (during make regen?) if MAX_PERL in PPPort_pm.PL
338 needs to be updated
339
340* see if we can implement sv_catpvf() for < 5.004
f2ab5a41 341
0d0f8426 342* MULTICALL ?
343
04fc8b94 344* improve apicheck (things like utf8_mg_pos_init() are
9132e1a3 345 not currently checked)
04fc8b94 346
adfe19db 347* more documentation, more tests
0a7c7f4f 348
adfe19db 349* Resolve dependencies in Makefile.PL and remind of
350 running 'make regen'
0a7c7f4f 351