|
Packit |
7d6a7d |
TODO:
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
* > 3. In several cases, "perl ppport.h --copy=.new" output a new file in
|
|
Packit |
7d6a7d |
> which the only change was the addition of "#include "ppport.h"". In each
|
|
Packit |
7d6a7d |
> case, that actually wasn't necessary because the source file in question
|
|
Packit |
7d6a7d |
> already #included another source file which #included ppport.h itself.
|
|
Packit |
7d6a7d |
> Would it be possible for the analyzer to follow #include directives to
|
|
Packit |
7d6a7d |
> spot cases like this?
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
Uh, well, I guess it would be possible. But I have some concerns:
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
1. ppport.h is already too big. :-)
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
2. There is code in ppport.h to actually remove an
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
#include "ppport.h"
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
if it appears not to be needed. If it's not needed in your
|
|
Packit |
7d6a7d |
included file, it might be dropped from there and moved to
|
|
Packit |
7d6a7d |
the other file that included the first one. This would make
|
|
Packit |
7d6a7d |
the logic much more complicated.
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
3. As ppport.h is configurable, it's not (always) a good idea
|
|
Packit |
7d6a7d |
to put it into a file that's included from another file.
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
I guess I'll have to think about this a little more. Maybe I can
|
|
Packit |
7d6a7d |
come up with a fancy solution that doesn't increase the code size
|
|
Packit |
7d6a7d |
too much.
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
* On 14/12/06, Nicholas Clark <nick@ccl4.org> wrote:
|
|
Packit |
7d6a7d |
> On Thu, Dec 14, 2006 at 05:03:24AM +0100, Andreas J. Koenig wrote:
|
|
Packit |
7d6a7d |
>
|
|
Packit |
7d6a7d |
> > Params::Validate and Clone suffer from the same cold:
|
|
Packit |
7d6a7d |
>
|
|
Packit |
7d6a7d |
> The same patch will make both compile and pass tests.
|
|
Packit |
7d6a7d |
> I'm wondering if it might be better to totally drop SVt_PBVM and let source
|
|
Packit |
7d6a7d |
> code fail to compile.
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
I don't think so. Because :
|
|
Packit |
7d6a7d |
1. your redefinition of SVt_PBVM is probably what most XS modules want
|
|
Packit |
7d6a7d |
2. anyway, if we remove it from the core, it might appear in Devel::PPPort :)
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
* maybe backport bytes_from_utf8() for 5.6.0 (or even before)?
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
* check which of the following we need to support:
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
amagic_generation
|
|
Packit |
7d6a7d |
AMG_names
|
|
Packit |
7d6a7d |
an
|
|
Packit |
7d6a7d |
Argv
|
|
Packit |
7d6a7d |
argvgv
|
|
Packit |
7d6a7d |
argvoutgv
|
|
Packit |
7d6a7d |
basetime
|
|
Packit |
7d6a7d |
beginav
|
|
Packit |
7d6a7d |
block_type
|
|
Packit |
7d6a7d |
bodytarget
|
|
Packit |
7d6a7d |
bufend
|
|
Packit |
7d6a7d |
bufptr
|
|
Packit |
7d6a7d |
check
|
|
Packit |
7d6a7d |
chopset
|
|
Packit |
7d6a7d |
Cmd
|
|
Packit |
7d6a7d |
compcv
|
|
Packit |
7d6a7d |
compiling
|
|
Packit |
7d6a7d |
comppad
|
|
Packit |
7d6a7d |
comppad_name
|
|
Packit |
7d6a7d |
comppad_name_fill
|
|
Packit |
7d6a7d |
copline
|
|
Packit |
7d6a7d |
cop_seqmax
|
|
Packit |
7d6a7d |
cryptseen
|
|
Packit |
7d6a7d |
cshlen
|
|
Packit |
7d6a7d |
cshname
|
|
Packit |
7d6a7d |
curcop
|
|
Packit |
7d6a7d |
curinterp
|
|
Packit |
7d6a7d |
curpad
|
|
Packit |
7d6a7d |
curpm
|
|
Packit |
7d6a7d |
curstash
|
|
Packit |
7d6a7d |
curstname
|
|
Packit |
7d6a7d |
dbargs
|
|
Packit |
7d6a7d |
DBgv
|
|
Packit |
7d6a7d |
DBline
|
|
Packit |
7d6a7d |
DBsignal
|
|
Packit |
7d6a7d |
DBsingle
|
|
Packit |
7d6a7d |
DBsub
|
|
Packit |
7d6a7d |
DBtrace
|
|
Packit |
7d6a7d |
debstash
|
|
Packit |
7d6a7d |
debug
|
|
Packit |
7d6a7d |
defgv
|
|
Packit |
7d6a7d |
defoutgv
|
|
Packit |
7d6a7d |
defstash
|
|
Packit |
7d6a7d |
delaymagic
|
|
Packit |
7d6a7d |
diehook
|
|
Packit |
7d6a7d |
dirty
|
|
Packit |
7d6a7d |
doextract
|
|
Packit |
7d6a7d |
doswitches
|
|
Packit |
7d6a7d |
do_undump
|
|
Packit |
7d6a7d |
dowarn
|
|
Packit |
7d6a7d |
egid
|
|
Packit |
7d6a7d |
encoding
|
|
Packit |
7d6a7d |
endav
|
|
Packit |
7d6a7d |
envgv
|
|
Packit |
7d6a7d |
errgv
|
|
Packit |
7d6a7d |
error_count
|
|
Packit |
7d6a7d |
errors
|
|
Packit |
7d6a7d |
euid
|
|
Packit |
7d6a7d |
eval_root
|
|
Packit |
7d6a7d |
evalseq
|
|
Packit |
7d6a7d |
eval_start
|
|
Packit |
7d6a7d |
expect
|
|
Packit |
7d6a7d |
fdpid
|
|
Packit |
7d6a7d |
filemode
|
|
Packit |
7d6a7d |
firstgv
|
|
Packit |
7d6a7d |
fold
|
|
Packit |
7d6a7d |
forkprocess
|
|
Packit |
7d6a7d |
formfeed
|
|
Packit |
7d6a7d |
formtarget
|
|
Packit |
7d6a7d |
freq
|
|
Packit |
7d6a7d |
generation
|
|
Packit |
7d6a7d |
gensym
|
|
Packit |
7d6a7d |
gid
|
|
Packit |
7d6a7d |
hexdigit
|
|
Packit |
7d6a7d |
hints
|
|
Packit |
7d6a7d |
incgv
|
|
Packit |
7d6a7d |
in_eval
|
|
Packit |
7d6a7d |
in_my
|
|
Packit |
7d6a7d |
inplace
|
|
Packit |
7d6a7d |
lastfd
|
|
Packit |
7d6a7d |
last_in_gv
|
|
Packit |
7d6a7d |
last_lop
|
|
Packit |
7d6a7d |
last_lop_op
|
|
Packit |
7d6a7d |
lastscream
|
|
Packit |
7d6a7d |
laststatval
|
|
Packit |
7d6a7d |
laststype
|
|
Packit |
7d6a7d |
last_uni
|
|
Packit |
7d6a7d |
lex_brackets
|
|
Packit |
7d6a7d |
lex_brackstack
|
|
Packit |
7d6a7d |
lex_casemods
|
|
Packit |
7d6a7d |
lex_casestack
|
|
Packit |
7d6a7d |
lex_defer
|
|
Packit |
7d6a7d |
lex_dojoin
|
|
Packit |
7d6a7d |
lex_expect
|
|
Packit |
7d6a7d |
lex_formbrack
|
|
Packit |
7d6a7d |
lex_inpat
|
|
Packit |
7d6a7d |
lex_inwhat
|
|
Packit |
7d6a7d |
lex_op
|
|
Packit |
7d6a7d |
lex_repl
|
|
Packit |
7d6a7d |
lex_starts
|
|
Packit |
7d6a7d |
lex_state
|
|
Packit |
7d6a7d |
lex_stuff
|
|
Packit |
7d6a7d |
lineary
|
|
Packit |
7d6a7d |
linestr
|
|
Packit |
7d6a7d |
localizing
|
|
Packit |
7d6a7d |
main_cv
|
|
Packit |
7d6a7d |
main_root
|
|
Packit |
7d6a7d |
mainstack
|
|
Packit |
7d6a7d |
main_start
|
|
Packit |
7d6a7d |
markstack
|
|
Packit |
7d6a7d |
markstack_max
|
|
Packit |
7d6a7d |
markstack_ptr
|
|
Packit |
7d6a7d |
max_intro_pending
|
|
Packit |
7d6a7d |
maxo
|
|
Packit |
7d6a7d |
maxscream
|
|
Packit |
7d6a7d |
maxsysfd
|
|
Packit |
7d6a7d |
min_intro_pending
|
|
Packit |
7d6a7d |
minus_a
|
|
Packit |
7d6a7d |
minus_c
|
|
Packit |
7d6a7d |
minus_F
|
|
Packit |
7d6a7d |
minus_l
|
|
Packit |
7d6a7d |
minus_n
|
|
Packit |
7d6a7d |
minus_p
|
|
Packit |
7d6a7d |
multi_close
|
|
Packit |
7d6a7d |
multi_end
|
|
Packit |
7d6a7d |
multi_open
|
|
Packit |
7d6a7d |
multi_start
|
|
Packit |
7d6a7d |
na
|
|
Packit |
7d6a7d |
nexttoke
|
|
Packit |
7d6a7d |
nexttype
|
|
Packit |
7d6a7d |
nextval
|
|
Packit |
7d6a7d |
nice_chunk
|
|
Packit |
7d6a7d |
nice_chunk_size
|
|
Packit |
7d6a7d |
No
|
|
Packit |
7d6a7d |
no_aelem
|
|
Packit |
7d6a7d |
no_dir_func
|
|
Packit |
7d6a7d |
no_func
|
|
Packit |
7d6a7d |
no_mem
|
|
Packit |
7d6a7d |
nomemok
|
|
Packit |
7d6a7d |
no_modify
|
|
Packit |
7d6a7d |
no_myglob
|
|
Packit |
7d6a7d |
no_security
|
|
Packit |
7d6a7d |
no_sock_func
|
|
Packit |
7d6a7d |
no_symref
|
|
Packit |
7d6a7d |
no_usym
|
|
Packit |
7d6a7d |
no_wrongref
|
|
Packit |
7d6a7d |
nrs
|
|
Packit |
7d6a7d |
oldbufptr
|
|
Packit |
7d6a7d |
oldname
|
|
Packit |
7d6a7d |
oldoldbufptr
|
|
Packit |
7d6a7d |
op
|
|
Packit |
7d6a7d |
opargs
|
|
Packit |
7d6a7d |
op_desc
|
|
Packit |
7d6a7d |
op_mask
|
|
Packit |
7d6a7d |
op_name
|
|
Packit |
7d6a7d |
op_seq
|
|
Packit |
7d6a7d |
origalen
|
|
Packit |
7d6a7d |
origargc
|
|
Packit |
7d6a7d |
origargv
|
|
Packit |
7d6a7d |
origenviron
|
|
Packit |
7d6a7d |
origfilename
|
|
Packit |
7d6a7d |
osname
|
|
Packit |
7d6a7d |
padix
|
|
Packit |
7d6a7d |
padix_floor
|
|
Packit |
7d6a7d |
pad_reset_pending
|
|
Packit |
7d6a7d |
patchlevel
|
|
Packit |
7d6a7d |
patleave
|
|
Packit |
7d6a7d |
perldb
|
|
Packit |
7d6a7d |
perl_destruct_level
|
|
Packit |
7d6a7d |
pidstatus
|
|
Packit |
7d6a7d |
ppaddr
|
|
Packit |
7d6a7d |
preambleav
|
|
Packit |
7d6a7d |
preambled
|
|
Packit |
7d6a7d |
preprocess
|
|
Packit |
7d6a7d |
profiledata
|
|
Packit |
7d6a7d |
regdummy
|
|
Packit |
7d6a7d |
regendp
|
|
Packit |
7d6a7d |
regeol
|
|
Packit |
7d6a7d |
reginput
|
|
Packit |
7d6a7d |
regkind
|
|
Packit |
7d6a7d |
reglastparen
|
|
Packit |
7d6a7d |
regsize
|
|
Packit |
7d6a7d |
regstartp
|
|
Packit |
7d6a7d |
restartop
|
|
Packit |
7d6a7d |
rs
|
|
Packit |
7d6a7d |
rsfp
|
|
Packit |
7d6a7d |
rsfp_filters
|
|
Packit |
7d6a7d |
runops
|
|
Packit |
7d6a7d |
savestack
|
|
Packit |
7d6a7d |
savestack_ix
|
|
Packit |
7d6a7d |
savestack_max
|
|
Packit |
7d6a7d |
sawampersand
|
|
Packit |
7d6a7d |
scopestack
|
|
Packit |
7d6a7d |
scopestack_ix
|
|
Packit |
7d6a7d |
scopestack_max
|
|
Packit |
7d6a7d |
screamfirst
|
|
Packit |
7d6a7d |
screamnext
|
|
Packit |
7d6a7d |
secondgv
|
|
Packit |
7d6a7d |
signals
|
|
Packit |
7d6a7d |
sig_name
|
|
Packit |
7d6a7d |
sig_num
|
|
Packit |
7d6a7d |
simple
|
|
Packit |
7d6a7d |
sortcop
|
|
Packit |
7d6a7d |
sortstash
|
|
Packit |
7d6a7d |
splitstr
|
|
Packit |
7d6a7d |
stack_base
|
|
Packit |
7d6a7d |
stack_max
|
|
Packit |
7d6a7d |
stack_sp
|
|
Packit |
7d6a7d |
statbuf
|
|
Packit |
7d6a7d |
statcache
|
|
Packit |
7d6a7d |
statgv
|
|
Packit |
7d6a7d |
statname
|
|
Packit |
7d6a7d |
statusvalue
|
|
Packit |
7d6a7d |
stdingv
|
|
Packit |
7d6a7d |
sub_generation
|
|
Packit |
7d6a7d |
subline
|
|
Packit |
7d6a7d |
subname
|
|
Packit |
7d6a7d |
Sv
|
|
Packit |
7d6a7d |
sv_arenaroot
|
|
Packit |
7d6a7d |
sv_count
|
|
Packit |
7d6a7d |
sv_no
|
|
Packit |
7d6a7d |
sv_objcount
|
|
Packit |
7d6a7d |
sv_root
|
|
Packit |
7d6a7d |
sv_undef
|
|
Packit |
7d6a7d |
sv_yes
|
|
Packit |
7d6a7d |
tainted
|
|
Packit |
7d6a7d |
tainting
|
|
Packit |
7d6a7d |
timesbuf
|
|
Packit |
7d6a7d |
tmps_floor
|
|
Packit |
7d6a7d |
tmps_ix
|
|
Packit |
7d6a7d |
tmps_max
|
|
Packit |
7d6a7d |
tmps_stack
|
|
Packit |
7d6a7d |
tokenbuf
|
|
Packit |
7d6a7d |
top_env
|
|
Packit |
7d6a7d |
toptarget
|
|
Packit |
7d6a7d |
uid
|
|
Packit |
7d6a7d |
unsafe
|
|
Packit |
7d6a7d |
varies
|
|
Packit |
7d6a7d |
vtbl_amagic
|
|
Packit |
7d6a7d |
vtbl_amagicelem
|
|
Packit |
7d6a7d |
vtbl_arylen
|
|
Packit |
7d6a7d |
vtbl_bm
|
|
Packit |
7d6a7d |
vtbl_dbline
|
|
Packit |
7d6a7d |
vtbl_env
|
|
Packit |
7d6a7d |
vtbl_envelem
|
|
Packit |
7d6a7d |
vtbl_glob
|
|
Packit |
7d6a7d |
vtbl_isa
|
|
Packit |
7d6a7d |
vtbl_isaelem
|
|
Packit |
7d6a7d |
vtbl_mglob
|
|
Packit |
7d6a7d |
vtbl_pack
|
|
Packit |
7d6a7d |
vtbl_packelem
|
|
Packit |
7d6a7d |
vtbl_pos
|
|
Packit |
7d6a7d |
vtbl_sig
|
|
Packit |
7d6a7d |
vtbl_sigelem
|
|
Packit |
7d6a7d |
vtbl_substr
|
|
Packit |
7d6a7d |
vtbl_sv
|
|
Packit |
7d6a7d |
vtbl_taint
|
|
Packit |
7d6a7d |
vtbl_uvar
|
|
Packit |
7d6a7d |
vtbl_vec
|
|
Packit |
7d6a7d |
warnhook
|
|
Packit |
7d6a7d |
warn_nl
|
|
Packit |
7d6a7d |
warn_nosemi
|
|
Packit |
7d6a7d |
warn_reserved
|
|
Packit |
7d6a7d |
warn_uninit
|
|
Packit |
7d6a7d |
watchaddr
|
|
Packit |
7d6a7d |
watchok
|
|
Packit |
7d6a7d |
Xpv
|
|
Packit |
7d6a7d |
Yes
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
* have an --env option for soak to set env variable combinations
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
* only overwrite generated files if they actually changed
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
* try to make parts/apicheck.pl automatically find NEED_ #defines
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
* add support for my_vsnprintf?
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
* try to perform some core consistency checks:
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
- check if 'd' flag in embed.fnc matches with
|
|
Packit |
7d6a7d |
supplied documentation
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
- check if all public API is documented
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
* check (during make regen?) if MAX_PERL in PPPort_pm.PL
|
|
Packit |
7d6a7d |
needs to be updated
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
* see if we can implement sv_catpvf() for < 5.004
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
* MULTICALL ?
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
* improve apicheck (things like utf8_mg_pos_init() are
|
|
Packit |
7d6a7d |
not currently checked)
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
* more documentation, more tests
|
|
Packit |
7d6a7d |
|
|
Packit |
7d6a7d |
* Resolve dependencies in Makefile.PL and remind of
|
|
Packit |
7d6a7d |
running 'make regen'
|