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