Hoʻokuʻu ʻia ka ʻōlelo papahana Perl 5.30.0

Ma hope o 11 mau mahina o ka hoʻomohala ʻana ua hanaia hoʻokuʻu i kahi lālā paʻa hou o ka ʻōlelo hoʻolālā Perl - 5.30. I ka hoʻomākaukau ʻana i ka hoʻokuʻu hou, ma kahi o 620 tausani mau laina o ke code i hoʻololi ʻia, ua hoʻololi nā hoʻololi i nā faila 1300, a ua komo nā mea hoʻomohala 58 i ka hoʻomohala ʻana.

Hoʻokuʻu ʻia ka lālā 5.30 e like me ka papa hana hoʻomohala paʻa i ʻae ʻia i ʻeono makahiki i hala, ʻo ia hoʻi ka hoʻokuʻu ʻana o nā lālā paʻa hou i hoʻokahi makahiki a me nā hoʻokuʻu hoʻoponopono i kēlā me kēia ʻekolu mahina. Ma kahi o hoʻokahi mahina, ua hoʻolālā ʻia e hoʻokuʻu i ka hoʻokuʻu hoʻoponopono mua o Perl 5.30.1, e hoʻoponopono i nā hewa nui loa i ʻike ʻia i ka wā o ka hoʻokō ʻana o Perl 5.30.0. Me ka hoʻokuʻu ʻana o Perl 5.30, ua hoʻopau ʻia ke kākoʻo no ka lālā 5.26, kahi e hoʻokuʻu ʻia ai nā mea hou i ka wā e hiki mai ana inā ʻike ʻia nā pilikia palekana koʻikoʻi. Ua hoʻomaka pū ʻia ke kaʻina hana hoʻomohala o ka lālā hoʻokolohua 5.31, ma ke kumu e hoʻokumu ʻia ai kahi hoʻokuʻu paʻa o Perl 2020 i Mei 5.32.

Ki ke hoʻololi:

  • Ua hoʻohui ʻia ke kākoʻo hoʻokolohua no nā hana "" i nā ʻōlelo maʻamau.(?‹!kumu)"A"(?‹=kumu)»no ke komo palena ʻole i nā template i hana mua ʻia. Pono ka wehewehe ʻana i ke kumu ma loko o 255 mau huaʻōlelo o ke kiko kuhikuhi;
  • Ua hoʻonui ʻia ka waiwai kiʻekiʻe o ka mea kikoʻī nui (“n”) ma “{m,n}” i 65534;
  • Hoʻohui palena ʻia kākoʻo masks e hōʻike i kekahi mau ʻano o nā huaʻōlelo i nā ʻōlelo maʻamau, e uhi ana i nā pūʻulu Unicode like ʻole. No ka laʻana, ʻo ka ʻōlelo “qr! \p{nv= /(?x) \A [0-5] \z / }!” hiki iā ʻoe ke koho i nā huaʻōlelo Unicode āpau e wehewehe i nā helu mai ka 0 a i ka 5, me nā huaʻōlelo Thai a i ʻole Bengali o nā helu;
  • Hoʻohui ʻia ke kākoʻo no nā huaʻōlelo i kapa ʻia ma nā ʻōlelo maʻamau
    i loko o nā hiʻohiʻona i hoʻokaʻawale ʻia e nā huaʻōlelo hoʻokahi (qr'\N{name}');

  • Hoʻonui ʻia ke kākoʻo kikoʻī Unicode i ka mana 12.1. Ua wehe ʻia ka hae hoʻomohala hoʻokolohua mai nā kelepona sv_utf8_downgrade a me sv_utf8_decode, hoʻohana ʻia i ka hoʻomohala ʻana i nā hoʻonui i ka ʻōlelo C;
  • Hoʻohui ʻia ka hiki ke kūkulu i ka perl me ka hoʻokō ʻana i nā hana me kahi kūloko e kākoʻo ana i ka hana multi-threaded (-Accflags='-DUSE_THREAD_SAFE_LOCALE'). Ma mua, ua hoʻohana ʻia kēlā hoʻokō ʻana i ke kūkulu ʻana i kahi mana multi-threaded o Perl, akā hiki ke hoʻohana ʻia i kēia manawa no kekahi kūkulu;
  • ʻO ka hoʻohui ʻana i nā hae "-Dv" (hoʻonui debugging output) a me "-Dr" (regex debugging) i kēia manawa ke hoʻohana ʻia nā ʻano hana hoʻopiʻi hōʻike maʻamau;
  • Ua wehe ʻia nā hiʻohiʻona i hoʻopau mua ʻia:
    • Loaʻa i kēia manawa ma ke ʻano he mea hoʻokaʻawale laina a me nā huapalapala wildcard ʻae ʻia hoohana wale graphemes (ʻAʻole ʻae ʻia nā huaʻōlelo Unicode composite).
    • Hoʻopau ʻia kākoʻo no kekahi mau ʻano lōʻihi o ka hoʻohana ʻana i ke ʻano "{" ma nā ʻōlelo maʻamau me ka ʻole e pakele.
    • Ua papaia me ka hoʻohana ʻana i ka sysread (), syswrite (), recv () a me ka hoʻouna ʻana () hana me ": utf8".
    • ʻAʻole ʻae ʻia ka hoʻohana ʻana i ka wehewehe ʻana o "my" i nā ʻōlelo kūlana hoʻopunipuni maoli (e laʻana, "my $x inā 0").
    • Ua wehe ʻia ke kākoʻo no nā hoʻololi kūikawā "$*" a me "$#".
      Ua hoʻopau ʻia ke kākoʻo no ke kāhea ʻana i ka hana dump() (pono ʻoe e wehewehe pono i kēia manawa iā CORE:: dump()).

    • Ua wehe ʻia ka hana File::Glob::glob (pono ʻoe e hoʻohana i ka File::Glob::bsd_glob).
    • Hoʻohui ʻia ka pale i ka ʻeke () no ka hoʻihoʻi ʻana i nā kaʻina Unicode hewa.
    • ʻO ka pau ʻana o ke kākoʻo no ka hoʻohana ʻana i nā macros e hana ana i nā hana me UTF-8 ma XS code (C blocks) ua hoʻopanee ʻia a hiki i ka hoʻokuʻu hou ʻana.
  • Nā hoʻolālā hana:
    • Ua hoʻokē ʻia nā hana unuhi mai UTF-8 a i ka hoʻolālā ʻano (kiko helu), no ka laʻana, ʻo ka hoʻokō ʻana i ka hana ord("\x7fff") pono i kēia manawa he 12% ka liʻiliʻi o nā kuhikuhi. Ua hoʻonui pū ʻia ka hana o nā hana e nānā ana i ka pololei o nā ʻano ʻano UTF-8;
    • Ua hoʻopau ʻia nā kelepona recursive i ka hana finalize_op();
    • Hana i nā hoʻonui liʻiliʻi i ke code no ka hāʻule ʻana o nā huaʻōlelo like a me ka wehewehe ʻana i nā papa ʻano ma nā hōʻike maʻamau;
    • Hoʻonui ʻia ka hoʻololi ʻana i nā wehewehe ʻano i hoʻopaʻa ʻia i nā mea i hoʻopaʻa ʻole ʻia (IV i UV);
    • ʻO ka algorithm no ka hoʻololi ʻana i nā integers i kahi kaula i hoʻolalelale ʻia ma ka hana ʻana i ʻelua huahelu i ka manawa hoʻokahi ma kahi o hoʻokahi;
    • Ua hoʻomaikaʻi ʻia hoomakaukauia ma muli o ka nānā ʻana a LGTM;
    • Hoʻopili ʻia ke code ma nā faila regcomp.c, regcomp.h a me regexec.c;
    • Ma nā ʻōlelo maʻamau, ua hoʻoikaika nui ʻia ka hana ʻana o nā mamana e like me "qr/[^a]/" me nā huaʻōlelo ASCII.
  • Ua hoʻihoʻi ʻia ke kākoʻo no ka paepae Minix3. Hiki ke kūkulu ʻia me ka hoʻohana ʻana i ka Microsoft Visual Studio 2019 compiler (Visual C++ 14.2);
  • Hoʻokomo ʻia nā mana hou o nā modula i loko o ka pūʻolo kumu. Ua wehe ʻia nā modula mai ka haku mele B:: Hoʻopau и Kaulana:: Codes.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka