Commit | Line | Data |
adfe19db |
1 | TODO: |
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 | |