Ngemuva kwezinyanga eziyisi-11 zokuthuthukiswa
Igatsha elingu-5.30 lakhululwa ngokuhambisana nohlelo lwentuthuko olungaguquki olwagunyazwa eminyakeni eyisithupha edlule, okusho ukukhululwa kwamagatsha amasha azinzile kanye ngonyaka kanye nokukhishwa kokulungisa njalo ngemva kwezinyanga ezintathu. Esikhathini esingangenyanga, kuhlelwe ukukhulula ukukhishwa kokulungisa kokuqala kwe-Perl 5.30.1, okuzolungisa amaphutha abaluleke kakhulu akhonjwe ngesikhathi sokusetshenziswa kwe-Perl 5.30.0. Kanye nokukhishwa kwe-Perl 5.30, ukusekelwa kwegatsha le-5.26 kuye kwanqanyulwa, okungase kukhishwe izibuyekezo ngokuzayo kuphela uma izinkinga zokuphepha ezibucayi zikhonjwa. Inqubo yokuthuthukiswa kwegatsha lokuhlola 5.31 nayo isiqalile, ngesisekelo lapho kuzokwakhiwa ukukhululwa okuzinzile kwe-Perl 2020 ngoMeyi 5.32.
Ukhiye
- Usekelo lokuhlola lwemisebenzi ethi "" lwengezwe kuzinkulumo ezivamile.
(?‹!iphethini) "Futhi"(?‹=iphethini) » ukuze uthole ukufinyelela okulinganiselwe kuzifanekiso eziqanjwe ngaphambilini. Incazelo yephethini kufanele ibe phakathi kwezinhlamvu ezingu-255 zephoyinti lesithenjwa; - Inani eliphakeme kakhulu lesicacisi sikasayizi (“n”) kokuthi “{m,n}” emabhuloki enkulumo avamile lenyuswe laya ku-65534;
- Kwengezwe kukhawulelwe
ukwesekwa imaski yokugqamisa izigaba ezithile zezinhlamvu ezenzweni ezijwayelekile, ezimboza amasethi ahlukene e-Unicode. Ngokwesibonelo, inkulumo ethi “qr! \p{nv= /(?x) \A [0-5] \z / }!" ikuvumela ukuthi ukhethe zonke izinhlamvu ze-Unicode ezichaza izinombolo ukusuka ku-0 kuye ku-5, kufaka phakathi ukupela kwezinombolo zesiThai noma zesiBengali; - Kwengezwe ukusekelwa kwezinhlamvu eziqanjwe ngamagama ezisho ezivamile
amaphethini angaphakathi ahlukaniswe izingcaphuno ezizodwa (qr'\N{name}'); - Usekelo lokucaciswa kwe-Unicode lubuyekezelwe enguqulweni
12.1 . Ifulegi lokuthuthukisa isilingo lisusiwe kumakholisv_utf8_downgrade kanye ne-sv_utf8_decode , esetshenziswa ekuthuthukisweni kwezandiso ngolimi C; - Kwengezwe ikhono lokwakha i-perl ngokusetshenziswa kwemisebenzi ngendawo esekela ukusebenza kwemicu eminingi (-Accflags='-DUSE_THREAD_SAFE_LOCALE'). Ngaphambilini, ukuqaliswa okunjalo kwakusetshenziselwa kuphela lapho kwakhiwa inguqulo ye-Perl enezintambo eziningi, kodwa manje inganikwa amandla kunoma yisiphi isakhiwo;
- Ukuhlanganisa amafulegi okuthi "-Dv" (okuthuthukisiwe kokukhipha iphutha) kanye nefulegi elithi "-Dr" (regex debugging) manje kubangela ukuthi zonke izindlela zokususa iphutha ezivamile zinikwe amandla;
- Izici ezehlisiwe ngaphambilini zisusiwe:
- Manje iyatholakala njengesihlukanisi somugqa nezinhlamvu ze-wildcard
kuvunyelwe sebenzisa kuphelaama-graphem (izinhlamvu ze-Unicode eziyinhlanganisela azivunyelwe). -
Kunqanyuliwe ukusekelwa kwezinye izinhlobo eziphelelwe isikhathi zokusebenzisa uhlamvu oluthi “{” ezenzweni ezivamile ngaphandle kokulubalekela. -
Akuvunyelwe usebenzisa imisebenzi ye-sysread(), syswrite(), recv() kanye nesend() enezibambi ze-":utf8". - Akuvunyelwe ukusebenzisa izincazelo zelithi “wami” ezitatimendeni ezinemibandela ngokwemvelo ezingamanga (ngokwesibonelo, “my $x if 0”).
- Ukusekela okuhlukile okukhethekile okuthi “$*” kanye “$#” kususiwe.
Ukusekela ukubizwa okuyimfihlo komsebenzi wokulahla () kunqanyuliwe (manje kuzomele ucacise ngokucacile i-CORE::lahla()). - Umsebenzi wefayela::Glob::glob ususiwe (kufanele usebenzise Ifayela::Glob::bsd_glob).
- Kungezwe isivikelo ku-pack() ekubuyiseleni ukulandelana okungalungile kwe-Unicode.
- Ukuphela kokusekelwa kokusetshenziswa kwama-macros enza imisebenzi nge-UTF-8 kukhodi ye-XS (amabhulokhi C) kuhlehlisiwe kuze kube ukukhishwa okulandelayo.
- Manje iyatholakala njengesihlukanisi somugqa nezinhlamvu ze-wildcard
- Ukuthuthukisa Ukusebenza:
- Imisebenzi yokuhumusha isuka ku-UTF-8 iye esakhiweni sohlamvu isheshisiwe (
ikhodi iphuzu ), isibonelo, ukwenza umsebenzi we-ord(“\x7fff”) manje kudinga imiyalelo embalwa ngo-12%. Ukusebenza kwemisebenzi ebheka ukulunga kokulandelana kwezinhlamvu ze-UTF-8 nakho kunyusiwe; - Izingcingo eziphindaphindwayo kumsebenzi we-finalize_op() zisusiwe;
- Wenze ukulungiselelwa okuncane kukhodi yokugoqa izinhlamvu ezifanayo nokuchaza izigaba zezinhlamvu ezenzweni ezivamile;
-
Kulungiselelwe ukuguqula izincazelo zohlobo olusayiniwe zibe ezingabhalisiwe (IV zibe UV); - I-algorithm yokuguqula izinombolo zibe iyunithi yezinhlamvu isheshiswe ngokucubungula amadijithi amabili ngesikhathi esisodwa esikhundleni seyodwa;
- Intuthuko yenziwe
ilungisiwe ngokusekelwe ekuhlaziyweni kwe-LGTM; - Ikhodi ethuthukisiwe kumafayela regcomp.c, regcomp.h kanye ne-regexec.c;
- Ngezinkulumo ezivamile, ukucutshungulwa kwamaphethini afana ne-“qr/[^a]/” anezinhlamvu ze-ASCII kusheshiswe kakhulu.
- Imisebenzi yokuhumusha isuka ku-UTF-8 iye esakhiweni sohlamvu isheshisiwe (
- Usekelo lwenkundla ye-Minix3 lubuyiselwe. Kungenzeka ukwakha usebenzisa i-Microsoft Visual Studio 2019 compiler (Visual C++ 14.2);
- Izinguqulo ezibuyekeziwe zamamojula afakwe kuphakheji eyisisekelo. Amamojula akhishiwe ekwakhiweni okuyinhloko
B::Susa iphutha иIndawo::Amakhodi .
Source: opennet.ru