Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2001-06

Bugfixes and improvements in options.pas

4 messages · 2 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Sergey Korshunoff

PO> I think, current condition of +/- switches handling in command line PO> (options.pas) in 1.1 branch is not good and somewhere buggy. A PO> typical sample is handling of -WD+/- which is fully impossible. PO> Cause: parsing all command characters inside of "for .. to" cycle PO> causes to getting "+" or "-" characters as independent switches which PO> are not supported. Somewhere this problem was partially solved using PO> index increasing but not fully correctly because only if "-" sign PO> would be found the index would be increased. Missing of signs after PO> switch would also cause loss of next switch. Therefore now I tried to PO> fix this bug and added excluding of signs directly into unsetbool PO> function. This change let me simplify some constructions. Also I PO> wouldadd support -WR+ / -WR- as synonims of -WR / -WN (may be, -WN PO> switch could be excluded).
PO> All these my changes are marked by //Ozerski.
PO> Sincerely, Pavel

This is the same diff for 1.0.5 2001 jun 28:
=== Cut ===
begin 644 options.pas.dif.gz
M'XL(";G,N<)">(D
MO-*FZJ6$EHJ><N$<]4B(:SGV.#$X'<SP)*91!`F+/K-F/
M-7OV/-+I=!#Q0INXP8ZG!SN!?O?F!S;1UX6+U#[J]H>]_6&OAWK=KOI6EN5L MY3>7>@.!L/N7E3QXT?4&>PJ^TAFOS]^?(MH\7QB8'/A8_3#MT/\ M!3O>N3[%P;OBZ_\N;./VU+5(RX"^0A0,@]"WW6F[5//4<"K
MVAU:VUJX!A4:H;_=`(<30IQ5W03Z'?)(,$1GQ)W:;M@>TEI8=]^]E> M"*`@,;S$ON?C4*//M,##AFW9AA8;MD*+.]L/%[K#08K:KIJB1"8[\,`RB2P5 MYDLAL'L'"L40\,')ZM+^0%54%<GL[P%S*W9-`(6?3FJBOR)I=C8R )AAXS9`MH7"&89/8`,
M"(RQ\-T`_@;>#K67I3L!IC5"?X%WT*F%[)"U<;"JT"S4B*
M%H'\?(LF&,2EO&2*'8'0:#A"K3/L3L-9B\K41A_0.8$__P%IV).KRX5AM.BS M:S1"4D=J,UKF$%@'[#%HG47[`.VH&5S&Y*A[QFG;C3!CBN?06*_P,( )W"(V1B!X>8=:U`/46-\2.BI'1A$:+;4_J'$".ZATK_((T2
M%24[RH$""8^+)4+/%VDB`8TS:I<+J)4JW_I&?*QTV\QB_&;)^;"P<&] M'"?W`?:OWVT%S2&&[F0PT>,?MF5B"QU%C\[(]&<4^ZJ[
MF3ID`GS)=9-_)F>$ANZF38(W(W;*B"`VN,RVZF6U$/7'^P^2%%&XIEY:<R0Y M335%#2V7#5T/BNGH3F7H-,N0AH&GBIDUJU);="<3E/\77HN.IF M(PH]D905-&\D96P^,3(`=64)9>)C%52M&B7^UZMKH58R`-ITLDH^R5*[H>E3 M!D0M*+4!5]I8O$Z38D^(BPW25;)+=F".FV,W#+20:(X=A/_;L6$" M\</6'+1J1QR"+KAP%7-:RKQJH2E1"J23CNCLQB:PRW@"FV<FL#J.FD2;+&S' M'(Y8VE!=#=>^R0+0I*C$WTBL527(E,H2EJ?J3ZNINKI;=$.3$[5F^D?H?F8[ M&"J]';JY1L3B!S))ISJ<EC(*=,/W2+Y<
MVG//L:VEYGD+KH_RA><Q7@>5/JS2*]\L\FI1S5KGQ$`S`.)
MPEM&G+J1527K]\Y-6YEAW0OL?[%B$!/'ZYC!H!\EGH-#I3?@)9X9B7RLWS;H MAJI3T'@5&BU9:,P'T-PC%C_9NDFSR74IT-1#&ZV;MECM,4R:
M7)(]16(!%\83LP""N8
M\^7-PH66B$#$>HK[A5V_YJ@@=]BW''(OYO?(YP)5!1V^J;!-EAZSW&T;O<N5 MIN+",Q,64+EXI!<CD!ALA#7JO@@<9<5\F)&3-
MQ066`LH(EE@>["(%T.1A/E)Z8=X[K&F#X-0-VX%TP[A
MG$,TX=A(UD9#BW%M7;(EAN)B2L>_&1,$=V4,6#J%6#.7KCZWC9>DPV8";Y,3 )@KGN"\Y)OP,M(G%?CA2)N;BP;"N(3DF[>SUZ#K\[&"CU
')_;#.?P3$8=N&)4W>A[1UT40HD6`3319HHLOI\=C
M5-I&E\;QEF4KNU4SZD:[UD6&=MO5V]<I2M4F5++[R3'Y!LO$&M-QW+SQ,ITZ M;J^[2S>GY%W(*09=3BY1/KYL,';']0V.V]G
MGZYZU]')17,X6L-[4W-"#8MCX1K.&`0]14'-R<-6\:;!<KY50+KK&?K&5C&W M;DF6^GB$76.AH,EYS/B?OX['1W]__LGKA[C.4B,NUCP]".(]<H;!CE`R&+4( M]`RO[A5O(YU[8AH/K$25S\=')_=I1Q`*.`>($AT;S$[";-)0['#YYC M&Y!]+AO"`I1LT]2L]=4M"-HWPY&*0I(_<C$Y1R[KG:E()@OUZPW[:(1R8:<; MP,8#E8L[VP!W-5ZYT,X&T)EAR\4VUL0NCMYF#];GGZ*)VIHANN$4>FUP63C^ M)^QZ5I49.7^9SLUS5$+]9U4Z&3F_3&^AJ309FL^J>CJR?YGN8E-^$CN>3?E< MZ/DERA>"&RJG)MQ8ZE%[%#*4YD/VRF:UA^QK9#K\54I4RM=1V"*DK]+5XU[O MD+-Z9.4;#@)]BEO1M5W-)5';::CPTR]VP':Y9G9'5GZ56=
M),?M!A3PB2^9@;<[RLJK.+V]E6%<\65FOT,EH#?
';.7WL16O9K<3WN;'2%Z)BP._QG9$HVOD64PXAL5A1NOI%P
M]-*[YV-VSSU=':PO7Q&F^JX3LU].E9KK3L6&3+=B'X)7I=S8+M$U.HF7U_/7 M^C[63<<K/R'MX"*25]P[9M7_^:<;"A?BH08XP`;&ED_-/VOG% M]Y/3L['$&_I-:S#>#<*SS&;"J-LXT10'0M/MP+JR6KJH#4N7-`=,]CUHMZ-^ MM.VQBNG,QTAMG"HK4LI\TWK=XR)@DH8P[Z+'YYD#=
M4]2J/2_I+K/M!U:XP_Z$!':XC&C`LT/C=PBD'ZLH7^/4BM7NMV2U*[_)UX5Z MW=KY)[ZH^+X$4EV=?TF;[HE_Y8PRQMAOJ\5V73UZ;7.('B>V:VKWMMOO::;C M1%&/FURD`C(/#E2EMPLN[!\J/:$C4)%#4"1X`:_JCNRJ2)]`/]WSPJ4'@4X/ <YA6YRUN`W))K,"$_(U;/V

MP*>PS\7:D_YHG[>GB6-32S)Q*O7

M_4^I(9REI7+3KTF2?*."$1KO`1<`<KN4"8?YS9/ODM45Z6)#_06N0Y?:5##S KV4Q0]Y*;([&B"8WWQ87",W9DS4](>)/M_P&A(SF$MSP`````
`
end
=== Cut ===

Regards,
Sergey Korshunoff

Reply by email

Sergey Korshunoff

PO> I think, current condition of +/- switches handling in command line PO> (options.pas) in 1.1 branch is not good and somewhere buggy. A PO> typical sample is handling of -WD+/- which is fully impossible. PO> Cause: parsing all command characters inside of "for .. to" cycle PO> causes to getting "+" or "-" characters as independent switches which PO> are not supported. Somewhere this problem was partially solved using PO> index increasing but not fully correctly because only if "-" sign PO> would be found the index would be increased. Missing of signs after PO> switch would also cause loss of next switch. Therefore now I tried to PO> fix this bug and added excluding of signs directly into unsetbool PO> function. This change let me simplify some constructions. Also I PO> would add support -WR+ / -WR- as synonims of -WR / -WN (may be, -WN PO> switch could be excluded).
PO> All these my changes are marked by //Ozerski.
PO> Sincerely, Pavel

And this is a diff against a Pavel OPTIONS.PAS
(FPC 1.1, some not corrected by Pavel UnsetBool() usage)

=== Cut ===
begin 644 OPTIONS.PAS.DIF.gz
M'XL("->D/3L``T]05$E/3E,N4$%3+D1)1@""C^LE**0-H$"
M'3J,NBVTVQ5;4#NC6:EBHY`X(33$46+4LJ/^][5SX9+$-E!:OP#)\?&Y?.=F 'WN\']X\GPC\>30;_[VZ.!P5]S']15H)ZU:^=MM0EJJJH=R;*\3KQ! MV"!4[8:6$%Y>`J7>JE7)"SG^K('+RR/`6'>>!QW#&QJA<8P"
MC270!F/HN/Z17,[=M<$//X+X"B'O^&\4PJI:`7@"??XVLM%W\0Q9<P]&+RXV M)S!J=XK/E"<STL<A>"#</F8:WQA/\^MVU+6B#J^11'SEO1PK[&,=# M8\/;/&;SF;<M<@A++HE94?R1)3;
M&EHN&IK-%'H17,(D,4AV`==U1)H,+Q&[)X(?1"(
M05D"<R$H4_-M!P8"73E%`]L33#4*^&>K:X/C+``J`(7+7[)4$6Q]3T`PF5(; M<*5-Q5-$BKTC+PJDVQ6E*5N"DA/HP1GT<:1CI'MNA$]<4C]"?#PC2E4XH.0R M^3?'A0*1R/G&K(;3DGIBI;(N`H^IE5PME8%63:QD#Z>NY[5
<I&62^66>`PSDLF"T1:T7D(UR4L%COKU?UOOQ8,`7M#M`8/00`+Q/7 '?P)'$(Z**X:VFHC6H+R`VU13Y8/4MI)>M#LW[NN0
M?$D:#FJ`HBZ_2.\483"/H`7&"_#PYUVW!PH8E7JI^X[7Q>VH21K(=39`K93G ,SY3<D>AL5VR+6>ZS_K\!7#T!\Q3!?'YGL.4O('722..SNOGA/'-=2J M=L;I-HOMH$A_P,=;)OF62<R"XSGA9J-1(5)S8F8.IT)6OFD58)"J'O]ZJHV2 ,K4&K\>E)\3+68'93B!1H!#\Z`\#VY)\L5\
M#I#KXZ3SR^I;[Y_OW=[5C]LWWCG(]Q8Z\J$>">B/6*
M$]-I[,01VOA2U>HD1)NM:JW.&PCI>H"DW#]"$[O(7PK,)K=)-IRV.QK`:#.O M6XAWC&F09HX2/DU'`-G<6)*L.(?N%E`)]KELG3W8IB'
MKP4$E[>Y(^]\7(@]6*P`4W$7O5Q[)#]!O[PS<WGKS)JAZU-5CL'Y83J+LW\& M_4]5.HN<#]-[JR*5A>:GJKZ,[`_3?;MBFN6.3U-^(_5\B/*YY`:*19^;2P-J MCUSM+YW&Q-O*!H?IVD2Z30\A:!7B59QYX][A2XVV]7)34TF7SVP=Z*X^&0T& M`6T;B-2Y![($))G*OO-P4A0K/Z=Y>XW97?0S=#'L(P?M/6EO\$C<FQ=NMI=P M`=$V"&$0(A,NV\;=Y<NS*;\/B.VWH0KC2B"_,=8M?\:6UPE^:I?DODKBS8'\ M(3"$AJ6;R+==QW8]N.Q8*7B;6CR:-NMD--4$?>_<)^&MDQ(W)F) MN+GK]R36WR)TB9ISWE5=?VW*[*C"/)D/!-$U'&NM.F]-T'DO6YAL(*;'=NK) M/+Q*2;;,]"4=T>96MN[I$EX'9&N':P$"7(J;$6_&62XN2"CB6DV2+FM` M;K5:5:TI&K6257:I552=X/Q91%9V"[E:TK74!D80X$5`PH1\T<VYRRE(,?T[ M:OKJ**P[<W>[,>1[[S5`(6;63'
MRV%[D[>2'?&,>ILG=_A&O3V<4<U]C.KPC7HOM;
M)0Q(D2$.]US3Q=XBJV[\[?Q8DQXR[5=((2DKF@<45D#Y^2"#4_JA`","T<)' 5OCN+Z,T'>1:_N3_Z'WI=&0;8'P``
`
end

=== Cut ===

Regards,
Sergey Korshunoff

Reply by email

Sergey Korshunoff
to Sergey Korshunoff

SK> And this is a diff against a Pavel OPTIONS.PAS SK> (FPC 1.1, some not corrected by Pavel UnsetBool() usage) SK> === Cut ===
.........
SK> === Cut ===

With one error:
-                          browserlog.elements_to_list^.insert(more);
+                          browserlog.elements_to_list.insert(more);

Regards,
Sergey Korshunoff

Reply by email

Peter Vreman
to Sergey Korshunoff: PO> I think, current condition of +/- switches handling in command line PO> (options.pas)…
you wrote 18 lines
PO> I think, current condition of +/- switches handling in command line PO> (options.pas) in 1.1 branch is not good and somewhere buggy. A PO> typical sample is handling of -WD+/- which is fully impossible. PO> Cause: parsing all command characters inside of "for .. to" cycle PO> causes to getting "+" or "-" characters as independent switches which PO> are not supported. Somewhere this problem was partially solved using PO> index increasing but not fully correctly because only if "-" sign PO> would be found the index would be increased. Missing of signs after PO> switch would also cause loss of next switch. Therefore now I tried to PO> fix this bug and added excluding of signs directly into unsetbool PO> function. This change let me simplify some constructions. Also I PO> would add support -WR+ / -WR- as synonims of -WR / -WN (may be, -WN PO> switch could be excluded). PO> All these my changes are marked by //Ozerski. PO> Sincerely, Pavel And this is a diff against a Pavel OPTIONS.PAS (FPC 1.1, some not corrected by Pavel UnsetBool() usage)

Thanks, the diff is already applied locally here and will be commited soon.

Peter

Reply by email