Itusilẹ ti ede siseto Perl 5.30.0

Lẹhin awọn oṣu 11 ti idagbasoke waye itusilẹ ti ẹka iduroṣinṣin tuntun ti ede siseto Perl - 5.30. Ni igbaradi itusilẹ tuntun, nipa awọn laini koodu 620 ti yipada, awọn ayipada kan awọn faili 1300, ati awọn olupilẹṣẹ 58 kopa ninu idagbasoke naa.

Ẹka 5.30 ni idasilẹ ni ibamu pẹlu iṣeto idagbasoke ti o wa titi ti a fọwọsi ni ọdun mẹfa sẹhin, eyiti o tumọ si itusilẹ ti awọn ẹka iduroṣinṣin tuntun lẹẹkan ni ọdun ati awọn idasilẹ atunṣe ni gbogbo oṣu mẹta. Ni bii oṣu kan, o ti gbero lati tu idasilẹ atunṣe akọkọ ti Perl 5.30.1, eyiti yoo ṣe atunṣe awọn aṣiṣe pataki julọ ti a mọ lakoko imuse ti Perl 5.30.0. Pẹlú pẹlu itusilẹ ti Perl 5.30, atilẹyin fun ẹka 5.26 ti dawọ, fun eyiti awọn imudojuiwọn le ṣe idasilẹ ni ọjọ iwaju nikan ti awọn iṣoro aabo to ṣe pataki ba jẹ idanimọ. Ilana idagbasoke ti ẹka idanwo 5.31 tun ti bẹrẹ, lori ipilẹ eyiti itusilẹ iduroṣinṣin ti Perl 2020 yoo ṣẹda ni Oṣu Karun ọdun 5.32.

Bọtini iyipada:

  • Atilẹyin idanwo fun awọn iṣẹ ṣiṣe "" ti jẹ afikun si awọn ikosile deede.(?‹! apẹrẹ)"Ati"(?‹= apẹrẹ)»Fun iraye si opin si awọn awoṣe orukọ ti a ti ṣiṣẹ tẹlẹ. Itumọ apẹẹrẹ gbọdọ wa laarin awọn ohun kikọ 255 ti aaye itọkasi;
  • Iye ti o pọju ti iwọn specifier (“n”) ni “{m,n}” awọn bulọọki ikosile deede ti pọ si 65534;
  • Fi kun opin atilẹyin awọn iboju iparada lati ṣe afihan awọn ẹka kan ti awọn ohun kikọ ni awọn ikosile deede, ti o bo awọn eto Unicode oriṣiriṣi. Fun apẹẹrẹ, ọrọ naa “qr! \p{nv= /(?x) \A [0-5] \z / }!" faye gba o lati yan gbogbo Unicode ohun kikọ ti o setumo awọn nọmba lati 0 to 5, pẹlu Thai tabi Ede Bengali Akọtọ awọn nọmba;
  • Atilẹyin ti a ṣafikun fun awọn ohun kikọ ti a darukọ ni awọn ikosile deede
    inu awọn ilana ti o ni opin nipasẹ awọn agbasọ ẹyọkan (qr'\N{orukọ}');

  • Atilẹyin sipesifikesonu Unicode ni imudojuiwọn si ẹya 12.1. Asia idagbasoke adanwo ti yọkuro kuro ninu awọn ipe sv_utf8_downgrade ati sv_utf8_decode, ti a lo ninu idagbasoke awọn amugbooro ni ede C;
  • Ṣafikun agbara lati kọ perl pẹlu imuse awọn iṣẹ pẹlu agbegbe kan ti o ṣe atilẹyin iṣẹ ti o tẹle-ọpọlọpọ (-Accflags='-DUSE_THREAD_SAFE_LOCALE'). Ni iṣaaju, iru imuse bẹ ni a lo nikan nigbati o ba kọ ẹya ti o ni ọpọlọpọ-asapo ti Perl, ṣugbọn o le muu ṣiṣẹ fun eyikeyi kọ;
  • Apapọ awọn asia "-Dv" (ilọsiwaju ti n ṣatunṣe aṣiṣe) ati awọn asia "-Dr" (regex n ṣatunṣe aṣiṣe) n fa gbogbo awọn ipo n ṣatunṣe aṣiṣe deede ti o ṣeeṣe lati ṣiṣẹ;
  • Awọn ẹya ara ẹrọ ti o ti sọ tẹlẹ ti yọkuro:
    • Bi ila separator ati wildcard ohun kikọ bayi laaye lo nikan awọn aworan atọka (awọn ohun kikọ Unicode akojọpọ ko gba laaye).
    • Ti dawọ duro atilẹyin fun diẹ ninu awọn fọọmu ti igba pipẹ ti lilo “{” ihuwasi ni awọn ikosile deede laisi salọ kuro.
    • Eewọ lilo sysread (), syswrite (), recv () ati firanṣẹ () awọn iṣẹ pẹlu ": utf8" awọn olutọju.
    • O jẹ eewọ lati lo awọn itumọ ti “mi” ni awọn alaye asọye eke ti ara ẹni (fun apẹẹrẹ, “$ x mi ti 0”).
    • Atilẹyin fun awọn oniyipada pataki “$*” ati “$#” ti yọkuro.
      Atilẹyin fun pipe pipe ti iṣẹ idalenu () ti dawọ duro (o gbọdọ ni bayi pato pato CORE :: idasonu ()).

    • Faili :: Glob :: iṣẹ glob ti yọkuro (o yẹ ki o lo Faili :: Glob :: bsd_glob).
    • Idaabobo ti a ṣafikun si idii () lodi si ipadabọ awọn ilana Unicode ti ko tọ.
    • Ipari atilẹyin fun lilo awọn macros ti o ṣe awọn iṣẹ pẹlu UTF-8 ni koodu XS (awọn bulọọki C) ti sun siwaju titi di itusilẹ atẹle.
  • Awọn Imudara Iṣe:
    • Awọn iṣẹ itumọ lati UTF-8 si iṣeto kikọ ti ni iyara (ojuami koodu), fun apẹẹrẹ, ṣiṣe ord (“\ x7fff”) iṣẹ ni bayi nbeere awọn ilana diẹ 12%. Iṣe awọn iṣẹ ṣiṣe ti n ṣayẹwo deede ti awọn ilana ihuwasi UTF-8 ti tun pọ si;
    • Awọn ipe loorekoore ni iṣẹ finalize_op () ti yọkuro;
    • Ṣe awọn iṣapeye kekere si koodu fun sisọ awọn ohun kikọ kanna silẹ ati asọye awọn kilasi kikọ ni awọn ikosile deede;
    • Iṣapeye yiyipada awọn asọye iru ibuwọlu si awọn ti a ko fowo si (IV si UV);
    • Algoridimu fun yiyipada awọn nọmba sinu okun kan ti ni iyara nipasẹ sisẹ awọn nọmba meji ni ẹẹkan dipo ọkan;
    • Awọn ilọsiwaju ti ṣe pese sile da lori itupalẹ nipasẹ LGTM;
    • Iṣapeye koodu ni awọn faili regcomp.c, regcomp.h ati regexec.c;
    • Ni awọn ikosile deede, sisẹ awọn ilana bii “qr/[^a]/” pẹlu awọn ohun kikọ ASCII ti ni iyara pupọ.
  • Atilẹyin fun Syeed Minix3 ti tun pada. O ṣee ṣe lati kọ nipa lilo Microsoft Visual Studio 2019 alakojo (Visual C ++ 14.2);
  • Awọn ẹya imudojuiwọn ti awọn modulu ti o wa ninu package ipilẹ. Awọn modulu ti yọkuro lati akopọ akọkọ B :: Ṣatunṣe и Agbegbe :: Awọn koodu.

orisun: opennet.ru

Fi ọrọìwòye kun