D - The dependency checker
- Lars Ivar Igesund (6/6) Oct 31 2003 Has changed name to
- Lars Ivar Igesund (13/19) Nov 05 2003 Newest version (0.8.5) uploaded today now supports dmd 0.75, but
- Lars Ivar Igesund (5/28) Nov 05 2003 And then is 0.8.6 up.
- Ant (21/23) Nov 07 2003 I have 6 imports:
- Lars Ivar Igesund (10/35) Nov 08 2003 Thanks for the report! I had a stupid bug in my comment stripping functi...
-
Ant
(37/37)
Nov 08 2003
In article
, Lars Ivar Igesund says... - Lars Ivar Igesund (10/44) Nov 09 2003 It's correct for my version. the imports in ddi/value.d are private, thu...
- Ant (12/22) Nov 09 2003 That would be a nice feature.
- Lars Ivar Igesund (5/10) Nov 09 2003 Also I would make the switches to 'set' methods instead.
- Ant (7/12) Nov 09 2003 I'm glad we don't work on the same projects... ;)
- Lars Ivar Igesund (5/16) Nov 09 2003 Any special reason?
- Ant (12/19) Nov 10 2003 2 bigies:
- Ant (273/273) Nov 08 2003 here it is...
- Ant (26/28) Nov 07 2003 Sorry, just realize that blank lines make a diff. what I had was:
- Lars Ivar Igesund (29/29) Nov 12 2003 Version 0.9.2 is now up.
- Lars Ivar Igesund (5/6) Nov 12 2003 And version 0.9.3. Two small buglets were fixed
- Lars Ivar Igesund (5/11) Nov 28 2003 Version 0.9.4 is up. Only change is support for dmd 0.76 instead of prev...
Has changed name to ddepcheck and can be found at http://www.igesund.net/larsivar/ddepcheck.d Some minor bugs has been fixed. Lars Ivar Igesund
Oct 31 2003
Newest version (0.8.5) uploaded today now supports dmd 0.75, but not the olders (in terms of not looking at phobos dependencies as real dependencies.) Also, text like "private important" in comments should no longer cause difficulties as comments should be removed before analysis. I think it is fairly robust now... It still don't handle multiple input files very well though. I'm not sure that the feature has any real use. In the settings where I use it, the output is piped to a file per input file anyway and then multiple input files would just muck up. Comments or wishes on that? Lars Ivar Igesund "Lars Ivar Igesund" <larsivi stud.ntnu.no> wrote in message news:bnt6e3$1624$1 digitaldaemon.com...Has changed name to ddepcheck and can be found at http://www.igesund.net/larsivar/ddepcheck.d Some minor bugs has been fixed. Lars Ivar Igesund
Nov 05 2003
And then is 0.8.6 up. Lars Ivar Igesund "Lars Ivar Igesund" <larsivi stud.ntnu.no> wrote in message news:boafod$1r7d$1 digitaldaemon.com...Newest version (0.8.5) uploaded today now supports dmd 0.75, but not the olders (in terms of not looking at phobos dependencies as real dependencies.) Also, text like "private important" in comments should no longer cause difficulties as comments should be removed before analysis. I think it is fairly robust now... It still don't handle multiple input files very well though. I'm not sure that the feature has any real use. In the settings where I use it, the outputispiped to a file per input file anyway and then multiple input files would just muck up. Comments or wishes on that? Lars Ivar Igesund "Lars Ivar Igesund" <larsivi stud.ntnu.no> wrote in message news:bnt6e3$1624$1 digitaldaemon.com...Has changed name to ddepcheck and can be found at http://www.igesund.net/larsivar/ddepcheck.d Some minor bugs has been fixed. Lars Ivar Igesund
Nov 05 2003
In article <boakrq$22bs$1 digitaldaemon.com>, Lars Ivar Igesund says...And then is 0.8.6 up. Lars Ivar IgesundI have 6 imports: module dui.ObjectG; private import dui.Utils; private import def.Types; private import std.gc; private import std.string; private import dui.OGTK; private import ddi.Value; ./../ddepcheck -I/dmd/src/phobos dui/ObjectG.d gives me: dui/ObjectG.d dui.Utils dui/Utils.d 1 std.gc /dmd/src/phobos/std/gc.d 1 dui.OGTK dui/OGTK.d 1 ddi.Value ddi/Value.d 1 I changed the phobos array to empty. I don't think this is the expected result!... Ant
Nov 07 2003
Thanks for the report! I had a stupid bug in my comment stripping function. Version 0.9.0 is now up and seems correct for my version of ObjectG that is not the same as you have, but it showed the same problems. Also, I have added the switch -l/--checkruntimelib that also look at phobos for dependencies. (It will crash if the correct path isn't supplied, but that is a feature :). Lars Ivar Igesund "Ant" <Ant_member pathlink.com> wrote in message news:bohnc0$878$1 digitaldaemon.com...In article <boakrq$22bs$1 digitaldaemon.com>, Lars Ivar Igesund says...And then is 0.8.6 up. Lars Ivar IgesundI have 6 imports: module dui.ObjectG; private import dui.Utils; private import def.Types; private import std.gc; private import std.string; private import dui.OGTK; private import ddi.Value; ./../ddepcheck -I/dmd/src/phobos dui/ObjectG.d gives me: dui/ObjectG.d dui.Utils dui/Utils.d 1 std.gc /dmd/src/phobos/std/gc.d 1 dui.OGTK dui/OGTK.d 1 ddi.Value ddi/Value.d 1 I changed the phobos array to empty. I don't think this is the expected result!... Ant
Nov 08 2003
In article <boikkq$1jvo$1 digitaldaemon.com>, Lars Ivar Igesund says...I made some changes (0.74) as suggestions (see attachment) (r for renamed) ./../rdepcheck -I/dmd_0.75/src/phobos dui/DUI.d dui/ObjectG.d will product: dui/DUI.d | def/Types.d | | std/string.d | | | std/c/stdio.d | def/Constants.d | dui/Utils.d | std/string.d | | std/c/stdio.d | std/thread.d | dui/SListG.d | dui/ListG.d | event/Event.d dui/ObjectG.d | dui/Utils.d | def/Types.d | | std/string.d | | | std/c/stdio.d | def/Constants.d | std/string.d | | std/c/stdio.d | std/gc.d | | gcstats.d | dui/OGTK.d | ddi/Value.d it's not even right as ddi/Value.d has imports and they don't show. if I'm gonna use it on leds I need some funtion like public DepStruct getImports(char[] name) that's also suggesting on the attachment. the attachment is barely more then pseudo code, so no acknowleagments are necessary if you decide to recode or clean up the suggestions. Ant
Nov 08 2003
"Ant" <Ant_member pathlink.com> wrote in message news:bojbs3$2koa$1 digitaldaemon.com...In article <boikkq$1jvo$1 digitaldaemon.com>, Lars Ivar Igesund says...It's correct for my version. the imports in ddi/value.d are private, thus ObjectG.d don't depend on them and IMO that is correct behaiour. If you don't agree with me, I'll add the option to include private imports as dependencies.I made some changes (0.74) as suggestions (see attachment) (r for renamed) ./../rdepcheck -I/dmd_0.75/src/phobos dui/DUI.d dui/ObjectG.d will product: dui/DUI.d | def/Types.d | | std/string.d | | | std/c/stdio.d | def/Constants.d | dui/Utils.d | std/string.d | | std/c/stdio.d | std/thread.d | dui/SListG.d | dui/ListG.d | event/Event.d dui/ObjectG.d | dui/Utils.d | def/Types.d | | std/string.d | | | std/c/stdio.d | def/Constants.d | std/string.d | | std/c/stdio.d | std/gc.d | | gcstats.d | dui/OGTK.d | ddi/Value.d it's not even right as ddi/Value.d has imports and they don't show.if I'm gonna use it on leds I need some funtion like public DepStruct getImports(char[] name) that's also suggesting on the attachment.I'll think about this, but it would make ddepcheck to a library routine. I might do that at some time, but I need it as an app that outputs to stdout. Lars Ivar Igesund
Nov 09 2003
In article <bol6c0$22c3$1 digitaldaemon.com>, Lars Ivar Igesund says...It's correct for my version. the imports in ddi/value.d are private, thus ObjectG.d don't depend on them and IMO that is correct behaiour.You right!If you don't agree with me, I'll add the option to include private imports as dependencies.That would be a nice feature. Might help straightening the dmd import problems. (ok, the mess might be on DUI but at least dmd has problems reporting it)I didn't think one would excludes the other (?)... (oh, you mean the main function must be removed? how about version(ddepcheckLIB){}else{main...}) Any way you cut it the print routine shouldn't be on the main function. (I my opinion) Antif I'm gonna use it on leds I need some funtion like public DepStruct getImports(char[] name) that's also suggesting on the attachment.I'll think about this, but it would make ddepcheck to a library routine. I might do that at some time, but I need it as an app that outputs to stdout.
Nov 09 2003
"Ant" <Ant_member pathlink.com> wrote in message .I didn't think one would excludes the other (?)... (oh, you mean the main function must be removed? how about version(ddepcheckLIB){}else{main...})Also I would make the switches to 'set' methods instead. I'll rather make another file :)Any way you cut it the print routine shouldn't be on the main function. (I my opinion)A matter of taste, but I might do it. (They are only 3 lines each.) Lars Ivar Igesund
Nov 09 2003
In article <bomhpr$1agg$1 digitaldaemon.com>, Lars Ivar Igesund says...I'm glad we don't work on the same projects... ;) (I give hell to my coleagues for things like that)Any way you cut it the print routine shouldn't be on the main function. (I my opinion)A matter of taste, but I might do it.(They are only 3 lines each.)each!? you mean you have duplicated code?! ;) (I give hell to my coleagues for things like that) :) Ant
Nov 09 2003
"Ant" <Ant_member pathlink.com> wrote in message news:bomiks$1blk$1 digitaldaemon.com...In article <bomhpr$1agg$1 digitaldaemon.com>, Lars Ivar Igesund says...Any special reason?I'm glad we don't work on the same projects... ;) (I give hell to my coleagues for things like that)Any way you cut it the print routine shouldn't be on the main function. (I my opinion)A matter of taste, but I might do it.No, there's two ways to print out the deps. Lars Ivar Igesund(They are only 3 lines each.)each!? you mean you have duplicated code?! ;)
Nov 09 2003
In article <bondjc$2g2q$1 digitaldaemon.com>, Lars Ivar Igesund says...2 bigies: - maintainability. - reusability.Any special reason?A matter of taste, but I might do it.I'm glad we don't work on the same projects... ;) (I give hell to my coleagues for things like that)(1) depfile.printf(depmods[i] ~ " " ~ depfiles[i] ~ " " ~ depdepths[i] ~ "\n"); (2) I thought we could do: stdout.printf(toStringz(depmods[i] ~ " " ~ depfiles[i] ~ " " ~ depdepths[i] ~ "\n")); or something like that. Anteach!? you mean you have duplicated code?! ;)No, there's two ways to print out the deps.
Nov 10 2003
here it is... begin 0644 rdepcheck.d M+RH*("H 9&1E<&-H96-K+F0*("H 5F5R<VEO;B`P+CDN,`H *B!,87-T(&UO M9&EF:65D(#AT M3&%R<R!)=F%R($EG97-U;F0 /&QA<G-I=F%R)V%T)VEG97-U;F0N;F5T/ H M* H *B!097)M:7-S:6]N('1O('5S92P 8V]P>2P ;6]D:69Y+"!D:7-T<FEB M=71E(&%N9"!S96QL('1H:7, <V]F='=A<F4*("H 86YD(&ET<R!D;V-U;65N M=&%T:6]N(&9O<B!A;GD <'5R<&]S92!I<R!H97)E8GD 9W)A;G1E9"!W:71H M;W5T(&9E92P*("H <')O=FED960 =&AA="!T:&4 86)O=F4 8V]P>7)I9VAT M(&YO=&EC92!A<'!E87( :6X 86QL(&-O<&EE<R!A;F0*("H =&AA="!B;W1H M('1H870 8V]P>7)I9VAT(&YO=&EC92!A;F0 =&AI<R!P97)M:7-S:6]N(&YO M=&EC92!A<'!E87(*("H :6X <W5P<&]R=&EN9R!D;V-U;65N=&%T:6]N+B!) M="!I<R!P<F]V:61E9"`B87, :7,B('=I=&AO=70 97AP<F5S<R`*("H ;W( M:6UP;&EE9"!W87)R86YT>2X*("HO" II;7!O<G0 9FEL93L*:6UP;W)T('!A M=& ["FEM<&]R="!S=')E86T["FEM<&]R="!S=')I;F<["FEM<&]R="!C+G-T M9&EO.PH*8F]O;"!H96QP8V%L;&5D(#T 9F%L<V4["F)O;VP =F5R<VEO;F-A M;&QE9"`](&9A;'-E.PIB;V]L('=R:71E(#T 9F%L<V4["F)O;VP ;6%K97-Y M;G1A>"`](&9A;'-E.PIB;V]L(&-O;6UE;G0 /2!F86QS93L*8F]O;"!R=6YT M:6UE(#T 9F%L<V4["FEN="!C=7)O<'0 /2`Q.PII;G0 ;G5M<&%T:', /2`P M.PII;G0 86QL<&%T:', /2`Q,#L*:6YT(&1E<'1H;&EM:70 /2`M,3L*:6YT M(&1E<'1H(#T ,#L M.PII;G0 9FER<W1F:6QE(#T ,3L*"F-L87-S($1E<%-T<G5C='L*"6-H87); M72!F:6QE;F%M93L*"6-H87);72!F:6QE<&%T:#L*"41E<%-T<G5C=%M=(&EM M"6EM<&]R=$-H:6QD('X](&EM<#L*"7T*?0H*1&5P4W1R=6-T6UT 8F%S949I M;&5S.PH*+R]C:&%R(%M=6UT 9&5P;6]D<SL*+R]C:&%R(%M=6UT 9&5P9FEL M97,["B\O8VAA<B!;75M=(&1E<&1E<'1H<SL*8VAA<B!;75M=('!A=&AS.PIC M:&%R(%M=6UT 87)G<VQI<W0["B\J(%5P9&%T92!T:&4 <&AO8F]S(&%R<F%Y M('=H96X ;F5C97-S87)Y("HO"F-O;G-T(&-H87( 6UU;72!P:&]B;W, /2!; M73L*+RH*("` (")S=&0N8V]M<&EL97(B+`H ("` (G-T9"YC;VYV(BP*("` M(")S=&0N8W1Y<&4B+`H ("` (G-T9"YD871E(BP*("` (")S=&0N9FEL92(L M"B` ("`B<W1D+F=C(BP*("` (")S=&0N;6%T:"(L"B` ("`B;V)J96-T(BP* M("` (")S=&0N;W5T8G5F9F5R(BP*("` (")S=&0N<&%T:"(L"B` ("`B<W1D M+G!R;V-E<W,B+`H ("` (G-T9"YR86YD;VTB+`H ("` (G-T9"YR96=E>'`B M+`H ("` (G-T9"YS=&1I;G0B+`H ("` (G-T9"YS=')E86TB+`H ("` (G-T M9"YS=')I;F<B+`H ("` (G-T9"YS>7-T96TB+`H ("` (G-T9"YT:')E860B M+`H ("` (G-T9"YU<FDB+`H ("` (G-T9"YU=&8B+`H ("` (G-T9"YZ:7`B M+`H ("` (G-T9"YZ;&EB(BP*("` (")S=&0N8RYS=&1I;R(L"B` ("`B<W1D M+FEN=')I;G-I8R(L"B` ("`B<W1D+F,N=VEN9&]W<RYW:6YD;W=S(BP*("` M(")S=&0N8RYL:6YU>"(L"B` ("`B1"YW:6XS,BYR96=I<W1R>2( 73L**B\* M+RH*("H 1G5N8W1I;VX 8V%L;&5D('=H96X =&AE(")H96QP(B!O<'1I;VX M:7, <W!E8VEF:65D+ H *B\*"G9O:60 ;W!T2&5L<" I"GL*("!O<'1697)S M:6]N*"D["B` :68 *"%H96QP8V%L;&5D*2!["B` ("!P<FEN=&8H=&]3=')I M;F=Z*")<;B( ? H ("` ("` ("` (")3>6YT87 Z(&1D97!C:&5C:R!;;W!T M:6]N<UT 6W-R8R`N+BY=7&XB('X*("` ("` ("` ("`B("`M25MP871H72` M("` ("` ("` ("` ($%D9"!A('!A=& =&\ 8F4 <V5A<F-H960N7&XB('X* M("` ("` ("` ("`B("`M:"\M+6AE;'` ("` ("` ("` ("` (%!R:6YT<R!T M:&ES(&AE;'` =&%B;&4N7&XB('X*("` ("` ("` ("`B("`M9#U;;G5M72\M M+61E<'1H/5MN=6U=($QI;6ET('1H92!D97!T:"!S96%R8VAE9"!<;B( ? H M("` ("` ("` ("( ("` ("` ("` ("` ("` ("` ("` ("` ("!F;W( 9&5P M96YD96YC:65S+EQN(B!^"B` ("` ("` ("` (B` +6TO+2UM86ME+7-Y;G1A M>"` ("` ("!0<FEN="!T:&4 9&5P96YD96YC:65S('5S:6YG('1H92!M86ME M7&XB('X*("` ("` ("` ("`B("` ("` ("` ("` ("` ("` ("` ("` ("` M<WEN=&%X+B!<(F]B:F5C=&9I;&4 .B!S<F, 9&5P<UPB7&XB('X*("` ("` M("` ("`B("`M5B\M+79E<G-I;VX ("` ("` ("` (%!R:6YT<R!T:&4 =F5R M<VEO;BY<;B( ? H ("` ("` ("` ("( ("UW+RTM=W)I=&5T;V9I;&4 ("` M("` 4')I;G1S('1H92!D97!E;F1E;F-I97, =&\ =&AE(&9I;&5<;B( ? H* M("` ("` ("` ("`B("` ("` ("` ("` ("` ("` ("` ("` ("` )V1E<&9I M;&4G(&EN<W1E860 ;V8 =&\ =&AE(&-O;G-O;&4N(B!^(`H ("` ("` ("` M("( ("UL+RTM8VAE8VMR=6YT:6UE;&EB("` 5')I97, =&\ 861D(')U;G1I M;65L:6( 9&5P96YD96YC:65S+B( ? H ("` ("` ("` ("( ("` ("` ("` M("` ("` ("` ("` ("` ("!.;W1E('1H870 =&AE('!A=& ;75S="!B92!A M9&1E9"`B('X*("` ("` ("` ("`B("` ("` ("` ("` ("` ("` ("` ("` M("` 97AP;&EC:71L>2Y<;B(I*3L*("!]"B` :&5L<&-A;&QE9"`]('1R=64[ M"GT*"B\J"B`J($9U;F-T:6]N(&-A;&QE9"!W:&5N('1H92`B8VAE8VMR=6YT M:6UE;&EB(B!O<'1I;VX :7, <W!E8VEF:65D+ H *B\*"G9O:60 ;W!T0VAE M8VM2=6YT:6UE*"D*>PH (')U;G1I;64 /2!T<G5E.PI]" HO* H *B!&=6YC M=&EO;B!T:&%T(&-H96-K<R!I9B!A;B!A<F=U;65N="!I<R!A;B!O<'1I;VXN M"B`J+PH*8F]O;"!C:&5C:T]P=&EO;BAI;G0 87)G*0I["B` <W=I=&-H("AA M<F=S;&ES=%MA<F==*2!["B` 8V%S92`B+2UV97)S:6]N(CH*("!C87-E("(M M5B(Z"B` ("!O<'1697)S:6]N*"D["B` ("!R971U<FX =')U93L*("` (&)R M96%K.PH (&-A<V4 (BTM:&5L<"(Z"B` 8V%S92`B+6 B. H ("` ;W!T2&5L M<" I.PH ("` <F5T=7)N('1R=64["B` ("!B<F5A:SL*("!C87-E("(M+7=R M:71E=&]F:6QE(CH*("!C87-E("(M=R(Z"B` ("!O<'17<FET92 I.PH ("` M<F5T=7)N('1R=64["B` ("!B<F5A:SL*("!C87-E("(M+6UA:V4M<WEN=&%X M(CH*("!C87-E("(M;2(Z"B` ("!O<'1-86ME4WEN=&%X*"D["B` ("!R971U M<FX =')U93L*("` (&)R96%K.PH (&-A<V4 (BTM8VAE8VMR=6YT:6UE;&EB M='5R;B!T<G5E.PH ("` 8G)E86L["B` 9&5F875L=#H*("` (&)R96%K.PH M('T*("!I9B`H8VUP*&%R9W-L:7-T6V%R9UU;,"XN,UTL("(M9#TB*2`]/2`P M*2!["B` ("!O<'1$97!T:"AA<F<L(&9A;'-E*3L*("` (')E='5R;B!T<G5E M"B` ("` ("` ("` 8VUP*&%R9W-L:7-T6V%R9UU;,"XN.%TL("(M+61E<'1H M/2(I(#T M<FX =')U93L*("!]"B` :68 *&-M<"AA<F=S;&ES=%MA<F==6S`N+C)=+"`B M+4DB*2`]/2`P*2!["B` ("!O<'1);7!O<G0H87)G*3L*("` (')E='5R;B!T M<G5E.PH ('T*("!R971U<FX 9F%L<V4["GT*"B\J"B`J($9U;F-T:6]N('1H M870 <W1A<G1S('1H92!D97!E;F1E;F-Y('=A;&MI;F< 9F]R(&)A<V4 <V]U M<F-E(&9I;&5S+ H *B\*"G9O:60 9&5P0F%S92AI;G0 87)G*0I[" H)9V5T M26UP;W)T<RAA<F=S;&ES=%MA<F==*3L*?0H*<'5B;&EC($1E<%-T<G5C="!G M971);7!O<G1S*&-H87);72!N86UE*0I[" E$97!3=')U8W0 9&5P(#T ;F5W M($1E<%-T<G5C=" I.PH)9&5P+F9I;&5N86UE(#T ;F%M92YD=7`[" D*"6)A M<V5&:6QE<R!^/2!D97`[" H)9&5P5V%L:RAD97`L('1R=64I.PH)" ER971U M<FX 9&5P.PI]" HO* H *B!&=6YC=&EO;B!T:&%T(&1O('1H92!M86EN(&1E M<&5N9&5N8WD =V%L:VEN9R!R96-U<G-I=F5L>2X 268 :70 9FEN9`H *B!F M:6QE<R!T:&%T(&AA<R!B965N('=A;&ME9"!B969O<F4L(&ET('-K:7!S(&ET M('1O(&%V;VED(&EN9FEN:71E"B`J(&-Y8VQI8R!D97!E;F1E;F-I97,N"B`J M+PH*=F]I9"!D97!786QK*$1E<%-T<G5C="!D97!3="P 8F]O;"!B87-E*0I[ M"B` "B` 9&5P4W0N9FEL97!A=& /2!D97!3="YF:6QE;F%M93L*("!I;G0 M<%-T+F9I;&5P871H*2D >PH ("` 9&5P4W0N9FEL97!A=& /2!P871H+FIO M:6XH<&%T:'-;:5TL(&1E<%-T+F9I;&5N86UE*2YD=7`["B` ("!I*RL["B` M?0H*"2\O<')I;G1F*")D96%L:6YG('=I=& )2XJ<R`E+BIS7&XB+&1E<%-T M+F9I;&5N86UE+&1E<%-T+F9I;&5P871H*3L*"B` 1FEL92!S<F, /2!N97< M1FEL92AD97!3="YF:6QE<&%T:"D["B` =VAI;&4 *"%S<F,N96]F*"DI('L* M;VUM96YT*&QI;F4I.PH ("` 8VAA<B!;75M=('-T871E;65N=', /2!S<&QI M;G1S+FQE;F=T:#L :2LK("D >PH ("` ("!I;G0 <&]S(#T 9FEN9"AS=&%T M96UE;G1S6VE=+"`B:6UP;W)T(BD["B` ("` (&EF("AP;W, /3T +3$I('L* M("` ("` ("!C;VYT:6YU93L*("` ("` ?0H ("` ("!E;'-E('L*("` ("` M("!I9B`H(6)A<V4I('L*("` ("` ("` (&EN="!P<FEV<&]S(#T <F9I;F0H M<W1A=&5M96YT<UMI72P (G!R:79A=&4B*3L*("` ("` ("` (&EF("AP<FEV M<&]S(#X +3$ )B8 <')I=G!O<R`\('!O<RD >PH ("` ("` ("` ("!C:&%R M(%M=(&EM<'-T;70 /2!S=&%T96UE;G1S6VE=6W!R:79P;W,N+G!O<RLW73L M"B` ("` ("` ("` (&-H87( 6UU;72!W;W)D<R`]('-P;&ET*&EM<'-T;70I M.PH ("` ("` ("` ("!I9B`H=V]R9',N;&5N9W1H(#T M("` ("` ("!C;VYT:6YU93L*("` ("` ("` ("` ?0H ("` ("` ("` ?0H M("` ("` ('T*("` ("` ("!C:&%R(%M=(&UO9"`]('-T<FEP*'-T871E;65N M='-;:5U;<&]S*S<N+G-T871E;65N='-;:5TN;&5N9W1H72D["B` ("` ("` M:68 *'-T871E;65N='-;:5U;<&]S*S8N+G!O<RLW72`]/2!R(B`B*2!["B` M("` ("` ("!I9B`H8VAE8VM.;W1-;V0H;6]D*2D >PH ("` ("` ("` ("!C M;VYT:6YU93L*("` ("` ("` ('T*("` ("` ("!]"B` ("` ("` 96QS92![ M"B` ("` ("` ("!C;VYT:6YU93L*("` ("` ("!]"B` ("` ("` 8VAA<B!; M72!F<#L*("` ("` ("!I9B`H(7)U;G1I;64I('L*("` ("` ("` (&EF("AC M:&5C:U!H;V)O<RAM;V0I*2!["B` ("` ("` ("` (&-O;G1I;G5E.PH ("` M("` ("` ?0H ("` ("` ('T*"0E$97!3=')U8W0 :6UP(#T ;F5W($1E<%-T M<G5C=" I.PH)"0H)"6EM<"YF:6QE;F%M92`](&-R96%T949I;&50871H*&UO M9"D[" D)9&5P4W0N861D0VAI;&0H:6UP*3L*" D)9&5P=& K*SL*("` ("` M("!I9B`H9&5P=&AL:6UI="`]/2`M,2!\?"!D97!T:"`\/2!D97!T:&QI;6ET M*2![("`*("` ("` ("` (&1E<%=A;&LH:6UP+"!F86QS92D["B` ("` ("` M?0H ("` ("` (&1E<'1H+2T["B` ("` ('T*("` ('T*("!]" H):68 *"%B M87-E*2!["B` ("`O+V%D9$1E<"AF:6QE<&%T:"P ;6]D+"!D97!T:"D[(`H M('T*?0H*+RH*("H 1G5N8W1I;VX 8V%L;&5D(&EF('1H92`B=F5R<VEO;B( M;W!T:6]N(&ES('5S960N"B`J+PH*=F]I9"!O<'1697)S:6]N*"D*>PH (&EF M(" A=F5R<VEO;F-A;&QE9"D >PH ("` <')I;G1F*'1O4W1R:6YG>B B9&1E M<&-H96-K7&XB('X "B` ("` ("` ("` (D1E<&5N9&5N8WD =V%L:V5R(&9O M?0H ('9E<G-I;VYC86QL960 /2!T<G5E.PI]" HO* H *B!&=6YC=&EO;B!C M86QL960 :68 =&AE(")W<FET971O9FEL92( ;W!T:6]N(&ES('5S960N"B`J M+PH*=F]I9"!O<'17<FET92 I"GL*("!W<FET92`]('1R=64["GT*"B\J"B`J M($9U;F-T:6]N(&-A;&QE9"!I9B!T:&4 (F1E<'1H(B!O<'1I;VX :7, =7-E M9"!T;R!D96-I9&4 =&AE(&UA>&EM=6T*("H 9&5P=& 9F]R(')E8W5R<VEO M;BX*("HO" IV;VED(&]P=$1E<'1H*&EN="!A<F<L(&)O;VP 9&]U8FQE9&%S M:"D*>PH (&EF("AD;W5B;&5D87-H*2!["B` ("!D97!T:&QI;6ET(#T *&EN M="EA=&]I*&%R9W-L:7-T6V%R9UU;."XN87)G<VQI<W1;87)G72YL96YG=&A= M*3L*("!]"B` 96QS92!["B` ("!D97!T:&QI;6ET(#T *&EN="EA=&]I*&%R M9W-L:7-T6V%R9UU;,RXN87)G<VQI<W1;87)G72YL96YG=&A=*3L*("!]"GT* M"B\J"B`J($9U;F-T:6]N(&-A;&QE9"!F;W( 86QL('1H92`B+4DB(&EM<&]R M="!O<'1I;VYS('5S960N"B`J+PH*=F]I9"!O<'1);7!O<G0H:6YT(&%R9RD* M>PH (&EF("AA<F=S;&ES=%MA<F==+FQE;F=T:"`]/2`R*2!["B` ("!R971U M<FX["B` ?0H (&%D9%!A=& H87)G<VQI<W1;87)G75LR+BYA<F=S;&ES=%MA M<F==+FQE;F=T:%TI.PI]" HO* H *B!&=6YC=&EO;B!C86QL960 =VAE;B!T M:&4 (BUM(B\B+2UM86ME+7-Y;G1A>"( ;W!T:6]N(&ES('5S960N"B`J+PH* M=F]I9"!O<'1-86ME4WEN=&%X*"D*>PH (&UA:V5S>6YT87 /2!T<G5E.PI] M" HO* H *B!&=6YC=&EO;B!T:&%T(&%D9', 82!D97!E;F1E;F-Y('1O('1H M92!L:7-T('=H96X :70 :7, =F5R:69I960N"B`J($$ <&%T:"!A;F0 =&AE M(&1E<'1H('=H97)E(&ET('=A<R!F;W5N9"!I<R!A;'-O(&%D9&5D+B!)9B!T M:&4*("H 9&5P96YD96YC>2!H87, 8F5E;B!F;W5N9"!B969O<F4L('1H92!N M97< 9&5P=& :7, 861D960 =&\ =&AE"B`J('-A;64 96YT<GDN"B`J+PH* M+R]V;VED(&%D9$1E<"AC:&%R(%M=(&9I;&5P871H+"!C:&%R(%M=(&UO9"P M:6YT(&1E<'1H*0HO+WL*+R\ (&9O<B`H:6YT(&D /2`P.R!I(#P ;G5M9&5P M<SL :2LK*2!["B\O("` (&EF("AC;7`H9&5P;6]D<UMI72P ;6]D*2`]/2`P M*2!["B\O("` ("` 9&5P9&5P=&AS6VE=('X]("(L(CL*+R\ ("` ("!D97!D M97!T:'-;:5T ?CT =&]3=')I;F<H9&5P=& I.PHO+R` ("` (')E='5R;CL* M+R\ ("` ?0HO+R` ?0HO+R` ;G5M9&5P<RLK.PHO+R` :68 *&YU;61E<', M/B!A;&QD97!S*2!["B\O("` (&%L;&1E<', *CT ,CL*+R\ ("` 9&5P;6]D M<RYL96YG=& /2!A;&QD97!S.PHO+R` ("!D97!F:6QE<RYL96YG=& /2!A M;&QD97!S.PHO+R` ("!D97!D97!T:',N;&5N9W1H(#T 86QL9&5P<SL*+R\ M('T*+R\ (&1E<&UO9'-;;G5M9&5P<RTQ72`](&UO9#L*+R\ (&1E<&9I;&5S M6VYU;61E<',M,5T /2!F:6QE<&%T:#L*+R\ (&1E<&1E<'1H<UMN=6UD97!S M+3%=(#T =&]3=')I;F<H9&5P=& I.PHO+WT*"B\J"B`J($9U;F-T:6]N('1H M870 861D<R!T:&4 9FEL96YA;64 ;V8 =&AE(&-U<G)E;G0 8VAE8VME9"!F M:6QE('1O"B`J('1H92!P<FEN=&]U="X*("HO" HO+T1E<%-T<G5C="!A9&1. M97="87-E1FEL92AC:&%R(%M=(&9I;&4I"B\O>PH)+R]$97!3=')U8W0 9&5P M.PH)+R]D97`N9FEL96YA;64 /2!F:6QE+F1U<#L*"0H)+R]B87-E1FEL97, M?CT 9&5P.PH*("`O+VYU;61E<', *ST ,SL*("`O+VEF("AN=6UD97!S(#X M;&5N9W1H(#T 86QL9&5P<SL*("`O+R` 9&5P9FEL97,N;&5N9W1H(#T 86QL M9&5P<SL*("`O+R` 9&5P9&5P=&AS+FQE;F=T:"`](&%L;&1E<',["B` +R]] M"B` +R]D97!M;V1S6VYU;61E<',M,UT /2`B(R(["B` +R]D97!M;V1S6VYU M;61E<',M,ET /2!F:6QE.PH ("\O9&5P;6]D<UMN=6UD97!S+3%=(#T (B,C M(CL*("`O+V1E<&9I;&5S6VYU;61E<',M,UT /2!D97!F:6QE<UMN=6UD97!S M+3)=(#T 9&5P9FEL97-;;G5M9&5P<RTQ72`]("(B.PH ("\O9&5P9&5P=&AS M6VYU;61E<',M,UT /2!D97!D97!T:'-;;G5M9&5P<RTR72`](&1E<&1E<'1H M<UMN=6UD97!S+3%=(#T (B(["B` +R]R971U<FX 9&5P.PHO+WT*"B\J"B`J M($9U;F-T:6]N('1H870 =&%K97, 82!M;V1U;&4 ;F%M92!A;F0 8W)E871E M<R!A(')E86P <&%T:"X*("HO"B`*8VAA<B!;72!C<F5A=&5&:6QE4&%T:"AC M:&%R(%M=(&UO9"D*>PH (&-H87( 6UT =&5M<&UO9&4["B` =&5M<&UO9&4 M/2!R97!L86-E*&UO9"P (BXB+"!S97`I.PH ('1E;7!M;V1E('X]("(N9"([ M=6YD(&1E<&5N9&5N8WD :7, 82!P87)T(&]F('!H;V)O<R!I;B!W:&EC:"!C M87-E"B`J(&ET(&ES(&EG;F]R960N"B`J+PH*8F]O;"!C:&5C:U!H;V)O<RAC M:&%R(%M=(&UO9"D*>PH (&9O<B`H:6YT(&D /2`P.R!I(#P <&AO8F]S+FQE M;F=T:#L :2LK*2!["B` ("!I9B`H8VUP*&UO9"P <&AO8F]S6VE=*2`]/2`P M*2!["B` ("` (')E='5R;B!T<G5E.PH ("` ?0H ('T*("!R971U<FX 9F%L M<V4["GT*"B\J"B`J($-H96-K<R!I9B!T:&4 9F]U;F0 ;6]D=6QE(')E86QL M>2!C86X 8F4 82!M;V1U;&4 <VEN8V4 =&AE('!A<G-I;F<*("H :7, 82!B M:70 :&%C:VES:"X*("HO" IB;V]L(&-H96-K3F]T36]D*&-H87( 6UT ;6]D M*0I["B` 8VAA<B!;72!I;&QC:&%R<R`]("(I*%M=+RPK/R(["B` :68 *&9I M;F0H;&5T=&5R<RP ;6]D6S!=*2`]/2`M,2D >PH ("` <F5T=7)N('1R=64[ M"B` ?0H (&9O<B`H:6YT(&D /2`Q.R!I(#P ;6]D+FQE;F=T:#L :2LK*2![ M"B` ("!I9B`H9FEN9"AI;&QC:&%R<RP ;6]D6VE=*2`^("TQ*2!["B` ("` M(')E='5R;B!T<G5E.PH ("` ?0H ('T*("!R971U<FX 9F%L<V4["GT*"B\J M"B`J($%D9', 82!P871H(&=I=F5N('=I=& (BU)(B!T;R!T:&4 <&%T:"!L M:7-T+ H *B\*"G9O:60 861D4&%T:"AC:&%R(%M=('!A=& I"GL*("!N=6UP M871H<RLK.PH (&EF("AN=6UP871H<R`^(&%L;'!A=&AS*2!["B` ("!A;&QP M871H<R`J/2`R.PH ("` <&%T:',N;&5N9W1H(#T 86QL<&%T:',["B` ?0H M:68 82!F:6QE(&5X:7-T+ H *B\*"F)O;VP 9FEL945X:7-T*&-H87( 6UT M9FEL92D*>PH (&)O;VP <F5S=6QT(#T =')U93L*("!T<GD >PH ("` <F5A M9"AF:6QE*3L*("!]"B` 8V%T8V *$9I;&5%<G)O<B!E*2!["B` ("!R97-U M;'0 /2!F86QS93L*("!]"B` <F5T=7)N(')E<W5L=#L*?0H*+RH*("H 4W1R M;W5T(&-H87);72!L:6YE*0I["B` =F]I9"!T;U=H:71E4W!A8V4H:6YO=70 M8VAA<EM=(&QI;F4L(&)O;VP 86QL+"!I;G0 <W1A<G0L(&EN="!S=&]P*0H M('L "B` ("!F;W( *&EN="!I(#T M:5T /2`G("<["B` ("!]"B` ?0H (`H (&EN="!R97, /2`M,3L*("!I9B`H M8V]M;65N="D >PH ("` <F5S(#T 9FEN9"AL:6YE+"`B*B\B*3L*("` (&EF M("AR97, /B`M,2D >PH ("` ("!C;VUM96YT(#T 9F%L<V4["B` ("` ('1O M5VAI=&53<&%C92AL:6YE+"!F86QS92P ,"P <F5S*3L*("` ('T*("` (&5L M<V4 >PH ("` ("!T;U=H:71E4W!A8V4H;&EN92P =')U92P ,"P ,"D["B` M("` (')E='5R;CL*("` ('T*("!](`H (`H (&9I;F0H;&EN92P (B\O(BD[ M"B` :68 *')E<R`^("T ,2D >PH ("` =&]7:&ET95-P86-E*&QI;F4L(&9A M;'-E+"!R97,L(&QI;F4N;&5N9W1H*3L*("` (&EF("AR97, /"`Q*2!["B` M("` (')E='5R;CL*("` ('T*("!]" H (')E<R`](&9I;F0H;&EN92P (B\J M(BD["B` :68 *')E<R`^("TQ*2!["B` ("!C;VUM96YT(#T =')U93L*("` M('1O5VAI=&53<&%C92AL:6YE+"!F86QS92P <F5S+"!L:6YE+FQE;F=T:"D[ M"B` ("!R971U<FX["B` ?0I]" II;G0 ;6%I;BAC:&%R6UU;72!A<F=S*0I[ M"B` :68 *&%R9W,N;&5N9W1H(#T M(')E='5R;B`P.PH ('T*("`*("`O+V1E<&UO9',N;&5N9W1H(#T ,3`["B` M+R]D97!F:6QE<RYL96YG=& /2`Q,#L*("`O+V1E<&1E<'1H<RYL96YG=& M/2`Q,#L*("!P871H<RYL96YG=& /2`Q,#L*"B` 87)G<VQI<W0 /2!A<F=S M.PH ('=H:6QE("AC=7)O<'0 /"!A<F=S+FQE;F=T:"`F)B!C:&5C:T]P=&EO M;BAC=7)O<'0I*2!["B` ("!C=7)O<'0K*SL*("!]" H (&EF("AC=7)O<'0 M/"!A<F=S+FQE;F=T:"D >PH ("` 9FER<W1F:6QE(#T 8W5R;W!T.PH ("` M9F]R("AI;G0 :2`](&-U<F]P=#L :2`\(&%R9W,N;&5N9W1H.R!I*RLI('L* M("` ("` 9&5P0F%S92AI*3L*("` ('T*("!]" H (&EF("AW<FET92D >PH M("` +R]&:6QE(&1E<&9I;&4 /2!N97< 1FEL92 B9&5P9FEL92(L($9I;&5- M;V1E+D]U="D["B` ("`O+V9O<B`H:6YT(&D /2`P.R!I(#P ;G5M9&5P<SL M:2LK*2!["B` ("`O+R` 9&5P9FEL92YP<FEN=&8H9&5P;6]D<UMI72!^("( M(B!^(&1E<&9I;&5S6VE=('X (B`B('X 9&5P9&5P=&AS6VE=('X (EQN(BD[ M"B` ("`O+WT*("` ("\O9&5P9FEL92YC;&]S92 I.PH ('T*("!E;'-E('L* M("` (&EF("AM86ME<WEN=&%X*2!["B` ("`O+R` 8VAA<B!;72!O8FIS=68 M/2`B(CL*("` ("\O("!V97)S:6]N("A7:6XS,BD >PH ("` +R\ ("` ;V)J M<W5F(#T (BYO8FHB.PH ("` +R\ ('T*("` ("\O("!V97)S:6]N("AL:6YU M>"D >PH ("` +R\ ("` ;V)J<W5F(#T (BYO(CL*("` ("\O("!]"B` ("`O M+R` 8VAA<B!;72!D97!S(#T <F5P;&%C92AA<F=S6V9I<G-T9FEL95TL("(N M9"(L(&]B:G-U9BD["B` ("`O+R` 9&5P<R!^/2`B(#H (CL*("` ("\O("!D M97!S('X](&%R9W-L:7-T6V9I<G-T9FEL95T["B` ("`O+R` :68 *&YU;61E M<', /B`S*2!["B` ("`O+R` ("!D97!S('X]("( (CL*("` ("\O("` (&9O M<B`H:6YT(&D /2`S.R!I(#P ;G5M9&5P<SL :2LK*2!["B` ("`O+R` ("` M(&1E<', ?CT 9&5P9FEL97-;:5T ?B`B("(["B` ("`O+R` ("!]"B` ("`O M+R` ?0H ("` +R\ ('!R:6YT9BAT;U-T<FEN9WHH9&5P<RDI.PH ("` ?0H M.R!I*RLI('L*("` ("` +R\ ('!R:6YT9BAT;U-T<FEN9WHH9&5P;6]D<UMI M72!^("( (B!^(&1E<&9I;&5S6VE=('X (B`B('X 9&5P9&5P=&AS6VE=('X M(EQN(BDI.PH ("` ("`O+WT*"2` 9F]R96%C:"A$97!3=')U8W0 9&5P(#L M("!]"B` ?0H (')E='5R;B`P.PI]" IV;VED('!R:6YT1&5P<RA$97!3=')U M8W0 9&5P+"!I;G0 ;&5V96PI"GL*"6-H87);72!I9&5N="`]("(B.PH)9F]R M(" :6YT(&D],"`[(&D\;&5V96P .R!I*RLI" E[" D):61E;G0 ?CT (GP M("([" E]" DO+W!R:6YT9B B)2XJ<R4N*G, )2XJ<R`E9%QN(BQI9&5N="QD M97`N9FEL96YA;64L9&5P+F9I;&5P871H+"!D97`N:6UP;W)T0VAI;&0N;&5N M9W1H*3L*"7!R:6YT9B B)2XJ<R4N*G, 7&XB+&ED96YT+&1E<"YF:6QE;F%M M92D[+R\L9&5P+FEM<&]R=$-H:6QD+FQE;F=T:"D[" DK*VQE=F5L.PH)9F]R M96%C:"A$97!3=')U8W0 8VAI;&0 .R!D97`N:6UP;W)T0VAI;&0I" E[" D) =<')I;G1$97!S*&-H:6QD+&QE=F5L*3L*"7T*?0IP ` end
Nov 08 2003
In article <boakrq$22bs$1 digitaldaemon.com>, Lars Ivar Igesund says...And then is 0.8.6 up. Lars Ivar IgesundSorry, just realize that blank lines make a diff. what I had was: private import dui.Utils; private import def.Types; private import std.gc; private import std.string; private import dui.OGTK; private import ddi.Value; I changed it to: private import dui.Utils; private import def.Types; private import std.gc; private import std.string; private import dui.OGTK; private import ddi.Value; and now I get: dui/ObjectG.d dui.Utils dui/Utils.d 1 def.Constants def/Constants.d 2 def.Types def/Types.d 1 std.string /home/ruimt/dmd/src/phobos/std/string.d 1 ddi.Value ddi/Value.d 1 which still doesn't seem the expected output. Ant
Nov 07 2003
Version 0.9.2 is now up. Some code was moved out of main (courtesy of Ant). A switch -p/--checkprivate was added. This will make the app search through private imports too (for diagnostic use only.) I also fixed it so that infinite recursion is now impossible. Also, it makes the search faster. Also, the first iteration of ddepchecklib.d is up at http://www.igesund.net/larsivar/ddepchecklib.d The module has a struct ddepcheck with the following functions: void setCheckRuntime(bool value) void setCheckPrivate(bool value) void setSearchDepth(int newdepth) void addImportPath(char [] path) DepStruct getDeps(char [] file) The DepStruct looks like this: export struct DepStruct { char [] filename; char [] modname; int [] depths; int numdeps; DepStruct [] dependencies; } I haven't tested this, so I expect it to have errors all over the place (also I'm not very used to structs, so I expect it to sport access violations like no other app.) Lars Ivar Igesund
Nov 12 2003
And version 0.9.3. Two small buglets were fixed (one for dependency paths and one for "//" comments.) Lars Ivar Igesund "Lars Ivar Igesund" <larsivi stud.ntnu.no> wrote in message news:bostke$1n75$1 digitaldaemon.com...Version 0.9.2 is now up.
Nov 12 2003
Version 0.9.4 is up. Only change is support for dmd 0.76 instead of previous versions. Lars Ivar Igesund "Lars Ivar Igesund" <larsivi stud.ntnu.no> wrote in message news:bnt6e3$1624$1 digitaldaemon.com...Has changed name to ddepcheck and can be found at http://www.igesund.net/larsivar/ddepcheck.d Some minor bugs has been fixed. Lars Ivar Igesund
Nov 28 2003