digitalmars.D.announce - DMD 0.160 release
- Walter Bright (8/8) Jun 04 2006 The web site has changed; it now uses style sheets for layout rather
- Lars Ivar Igesund (7/17) Jun 04 2006 First reports say that the left border menu is totally broken in Firefox...
- Kirk McDonald (5/23) Jun 04 2006 It is indeed broken in Firefox. Messing with the CSS (with the wonderful...
- mclysenk mtu.edu (3/5) Jun 04 2006 I second this. The main website is unusable for the moment.
- Gregor Richards (6/16) Jun 04 2006 It's horrifically broken in at least Firefox, Konqueror (and therefore
- Kirk McDonald (11/21) Jun 04 2006 From the changelog:
- Tom S (5/15) Jun 04 2006 Thanks a lot, Walter ! I can finally switch from DMD.157 :)
- Jarrett Billingsley (26/34) Jun 04 2006 Thank you for the [static] assert messages.
- Jarrett Billingsley (22/41) Jun 04 2006 Oh dear. I saw Kirk's post, and thought "oh no." Sure enough, this wor...
- Kirk McDonald (4/59) Jun 04 2006 The fix is simple: opIn is actually an opfunc_r without a corresponding
- kris (9/19) Jun 04 2006 That's great to see the sc.ini location is now configurable. How about
- Daniel Keep (15/15) Jun 04 2006 # AssertExpression's can now take an optional informational string as
-
Hasan Aljudy
(3/15)
Jun 04 2006
Finally!!!
- =?ISO-8859-1?Q?Jari-Matti_M=E4kel=E4?= (3/6) Jun 05 2006 Yay, it's much better now :) Works fine, tested with opera 9, firefox
- clayasaurus (10/20) Jun 05 2006 Here's a suggestion for the website in general, make a 'download' button...
- Brad Roberts (41/53) Jun 09 2006 Thanks for incorporating this. Your implementation, not suprisingly,
- Walter Bright (2/2) Jun 09 2006 I'll take the private off, but a msg field would be redundant with the
- Brad Roberts (7/9) Jun 09 2006 Ok.. good point. One interesting difference, though. The base class' m...
- Sean Kelly (23/36) Jun 09 2006 For what it's worth, I typically assign the msg field to the string
The web site has changed; it now uses style sheets for layout rather than tables and embedded formatting. I essentially learned how to do this from the many examples posted here of possible new layouts for the documentation pages. Thanks to all! I don't think the style sheet currently used is as good as the ones you came up with - at this point I was just interested in getting the layout into the style sheet. Now, we can just work on improving the style sheet. http://www.digitalmars.com/d/changelog.html
Jun 04 2006
Walter Bright wrote:The web site has changed; it now uses style sheets for layout rather than tables and embedded formatting. I essentially learned how to do this from the many examples posted here of possible new layouts for the documentation pages. Thanks to all! I don't think the style sheet currently used is as good as the ones you came up with - at this point I was just interested in getting the layout into the style sheet. Now, we can just work on improving the style sheet. http://www.digitalmars.com/d/changelog.htmlFirst reports say that the left border menu is totally broken in Firefox, Opera and Konqueror. -- Lars Ivar Igesund blog at http://larsivi.net DSource & #D: larsivi
Jun 04 2006
Lars Ivar Igesund wrote:Walter Bright wrote:It is indeed broken in Firefox. Messing with the CSS (with the wonderful Edit CSS plugin for Firefox), dropping "height : 0;" anywhere it appears seems to fix it, at least for Firefox. -Kirk McDonaldThe web site has changed; it now uses style sheets for layout rather than tables and embedded formatting. I essentially learned how to do this from the many examples posted here of possible new layouts for the documentation pages. Thanks to all! I don't think the style sheet currently used is as good as the ones you came up with - at this point I was just interested in getting the layout into the style sheet. Now, we can just work on improving the style sheet. http://www.digitalmars.com/d/changelog.htmlFirst reports say that the left border menu is totally broken in Firefox, Opera and Konqueror.
Jun 04 2006
In article <e5vbqo$284t$1 digitaldaemon.com>, Lars Ivar Igesund says...First reports say that the left border menu is totally broken in Firefox, Opera and Konqueror.I second this. The main website is unusable for the moment. -Mik
Jun 04 2006
Walter Bright wrote:The web site has changed; it now uses style sheets for layout rather than tables and embedded formatting. I essentially learned how to do this from the many examples posted here of possible new layouts for the documentation pages. Thanks to all! I don't think the style sheet currently used is as good as the ones you came up with - at this point I was just interested in getting the layout into the style sheet. Now, we can just work on improving the style sheet. http://www.digitalmars.com/d/changelog.htmlIt's horrifically broken in at least Firefox, Konqueror (and therefore probably Safari), and Opera. Basically every browser with any shred of standards compliance. Don't webdev on IE. It is not a browser. - Gregor Richards
Jun 04 2006
Walter Bright wrote:The web site has changed; it now uses style sheets for layout rather than tables and embedded formatting. I essentially learned how to do this from the many examples posted here of possible new layouts for the documentation pages. Thanks to all! I don't think the style sheet currently used is as good as the ones you came up with - at this point I was just interested in getting the layout into the style sheet. Now, we can just work on improving the style sheet. http://www.digitalmars.com/d/changelog.htmlFrom the changelog: Added operator overloading of InExpression. How does this work? Is it backwards from the other operators? In other words, does a in b get translated to b.opIn(a) ? Because that is certainly more useful than the usual behavior, but the documentation doesn't say. (At the least, it should mention this.) -Kirk McDonald
Jun 04 2006
Walter Bright wrote:The web site has changed; it now uses style sheets for layout rather than tables and embedded formatting. I essentially learned how to do this from the many examples posted here of possible new layouts for the documentation pages. Thanks to all! I don't think the style sheet currently used is as good as the ones you came up with - at this point I was just interested in getting the layout into the style sheet. Now, we can just work on improving the style sheet. http://www.digitalmars.com/d/changelog.htmlThanks a lot, Walter ! I can finally switch from DMD.157 :) Yet the site is FUBARed in my firefox... -- Tomasz Stachowiak /+ a.k.a. h3r3tic +/
Jun 04 2006
"Walter Bright" <newshound digitalmars.com> wrote in message news:e5vard$26un$1 digitaldaemon.com...The web site has changed; it now uses style sheets for layout rather than tables and embedded formatting. I essentially learned how to do this from the many examples posted here of possible new layouts for the documentation pages. Thanks to all! I don't think the style sheet currently used is as good as the ones you came up with - at this point I was just interested in getting the layout into the style sheet. Now, we can just work on improving the style sheet. http://www.digitalmars.com/d/changelog.htmlThank you for the [static] assert messages. o.new Inner? Very cool. Operator overloading of "in"? Cool, but I can't seem to get it to work; I don't know what argument and return types are allowed, as it's listed in the Operator Overloading specs but has no documentation. I tried: class A { int* opIn(char[] name) { return null; } } void main() { A a = new A(); int* i = ("hi" in a); } And all it said was that the rvalue of an InExpression must be an AA. I tried a few different return types to no avail; I thought maybe it wanted a pointer type (as that's what in returns for AAs) but it obviously doesn't work. Oh yeah, I really like the new "all links written in the exact same location" look for the left sidebar in Firefox ;) Never seen so much text in one spot.
Jun 04 2006
"Jarrett Billingsley" <kb3ctd2 yahoo.com> wrote in message news:e5ved4$2bod$1 digitaldaemon.com...Operator overloading of "in"? Cool, but I can't seem to get it to work; I don't know what argument and return types are allowed, as it's listed in the Operator Overloading specs but has no documentation. I tried: class A { int* opIn(char[] name) { return null; } } void main() { A a = new A(); int* i = ("hi" in a); } And all it said was that the rvalue of an InExpression must be an AA. I tried a few different return types to no avail; I thought maybe it wanted a pointer type (as that's what in returns for AAs) but it obviously doesn't work.Oh dear. I saw Kirk's post, and thought "oh no." Sure enough, this works: class A { bool opIn(char[] name) { if(name == "hi") return true; else return false; } } void main() { A a = new A(); writefln(a in "hi"); writefln(a in "bye"); } Notice that the expressions for 'in' are reversed. It looks like I'm checking to see if the object 'a' exists in the strings "hi" and "bye".
Jun 04 2006
Jarrett Billingsley wrote:"Jarrett Billingsley" <kb3ctd2 yahoo.com> wrote in message news:e5ved4$2bod$1 digitaldaemon.com...The fix is simple: opIn is actually an opfunc_r without a corresponding opfunc (or a trailing "_r" in the name). -Kirk McDonaldOperator overloading of "in"? Cool, but I can't seem to get it to work; I don't know what argument and return types are allowed, as it's listed in the Operator Overloading specs but has no documentation. I tried: class A { int* opIn(char[] name) { return null; } } void main() { A a = new A(); int* i = ("hi" in a); } And all it said was that the rvalue of an InExpression must be an AA. I tried a few different return types to no avail; I thought maybe it wanted a pointer type (as that's what in returns for AAs) but it obviously doesn't work.Oh dear. I saw Kirk's post, and thought "oh no." Sure enough, this works: class A { bool opIn(char[] name) { if(name == "hi") return true; else return false; } } void main() { A a = new A(); writefln(a in "hi"); writefln(a in "bye"); } Notice that the expressions for 'in' are reversed. It looks like I'm checking to see if the object 'a' exists in the strings "hi" and "bye".
Jun 04 2006
Walter Bright wrote:The web site has changed; it now uses style sheets for layout rather than tables and embedded formatting. I essentially learned how to do this from the many examples posted here of possible new layouts for the documentation pages. Thanks to all! I don't think the style sheet currently used is as good as the ones you came up with - at this point I was just interested in getting the layout into the style sheet. Now, we can just work on improving the style sheet. http://www.digitalmars.com/d/changelog.htmlThat's great to see the sc.ini location is now configurable. How about fixing one other little problem that causes similar issues? The location of intrinsic.d is apparently "fixed" by the compiler as std.intrinsic ~ it's the only module (other than object.d) that cannot be relocated. The above causes notable grief for alternate library implementations. It would really be of considerable help if you were to lift this restriction from the compiler. Thanks;
Jun 04 2006
the second parameter. Static assert's can, too. Hooray! more conveniently. I've never used inner classes, but looks cool. :O You rock. ^_^ Once again, many thanks for the hard work! -- Daniel -- Unlike Knuth, I have neither proven or tried the above; it may not even make sense. v2sw5+8Yhw5ln4+5pr6OFPma8u6+7Lw4Tm6+7l6+7D i28a2Xs3MSr2e4/6+7t4TNSMb6HTOp5en5g6RAHCP http://hackerkey.com/
Jun 04 2006
Walter Bright wrote:The web site has changed; it now uses style sheets for layout rather than tables and embedded formatting. I essentially learned how to do this from the many examples posted here of possible new layouts for the documentation pages. Thanks to all! I don't think the style sheet currently used is as good as the ones you came up with - at this point I was just interested in getting the layout into the style sheet. Now, we can just work on improving the style sheet. http://www.digitalmars.com/d/changelog.htmlNice!AssertExpression's can now take an optional informational string as the second parameter. Static assert's can, too.Finally!!! <g>
Jun 04 2006
Walter Bright wrote:I don't think the style sheet currently used is as good as the ones you came up with - at this point I was just interested in getting the layout into the style sheet. Now, we can just work on improving the style sheet.Yay, it's much better now :) Works fine, tested with opera 9, firefox 1.5 and konqueror 3.5.
Jun 05 2006
Walter Bright wrote:The web site has changed; it now uses style sheets for layout rather than tables and embedded formatting. I essentially learned how to do this from the many examples posted here of possible new layouts for the documentation pages. Thanks to all! I don't think the style sheet currently used is as good as the ones you came up with - at this point I was just interested in getting the layout into the style sheet. Now, we can just work on improving the style sheet. http://www.digitalmars.com/d/changelog.htmlHere's a suggestion for the website in general, make a 'download' button next to the 'home', 'search', 'd', and 'comments' buttons at the top right corner of the page. The casual reader is not going to want to spend more than a few seconds trying to find the download link. Also, at the top of the D compiler page where it says D for Win32 and D for linux, you should add a 'D for GCC' link and have that link to the GDC sourceforge page. Otherwise, thanks for the bug fixes! :) ~ Clay
Jun 05 2006
On Sun, 4 Jun 2006, Walter Bright wrote:The web site has changed; it now uses style sheets for layout rather than tables and embedded formatting. I essentially learned how to do this from the many examples posted here of possible new layouts for the documentation pages. Thanks to all! I don't think the style sheet currently used is as good as the ones you came up with - at this point I was just interested in getting the layout into the style sheet. Now, we can just work on improving the style sheet. http://www.digitalmars.com/d/changelog.htmlAssertExpression's can now take an optional informational string as the second parameter. Static assert's can, too.Thanks for incorporating this. Your implementation, not suprisingly, fixes a number of the open gaps in my first attempt. There's one area that you didn't incorporate from what I'd one that I'd like you to consider folding in: --- asserterror.d.orig 2006-06-09 01:18:27.000000000 -0700 +++ asserterror.d 2006-06-09 01:18:52.000000000 -0700 -6,10 +6,13 class AssertError : Error { - private: + public: uint linnum; char[] filename; + char[] msg; + + private: this(char[] filename, uint linnum) { -20,6 +21,7 { this.linnum = linnum; this.filename = filename; + this.msg = msg; char* buffer; size_t len; -------------------- I'm not sure why the linnum and filename fields were private to begin with. If they're going to be member variables they should be public so others can see them. As they are, nothing can use them so they might as well not be member variables at all. So, if they become public, the msg field ought to be exposed as well. My unit tests for the feature try to compare msg to make sure it was passed through correctly. For the moment, I've disabled those tests and the rest pass. Thanks, Brad
Jun 09 2006
I'll take the private off, but a msg field would be redundant with the one in the base class.
Jun 09 2006
On Fri, 9 Jun 2006, Walter Bright wrote:I'll take the private off, but a msg field would be redundant with the one in the base class.Ok.. good point. One interesting difference, though. The base class' msg field will end up holding the entire message. ie: assert(false, "hi") --> AssertError Failure assert-test.d(40) hi My intent was to capture just the "hi" part. My choice of 'msg' in the diff I pasted was unfortunate. I'd originally called it 'message'.
Jun 09 2006
Brad Roberts wrote:On Fri, 9 Jun 2006, Walter Bright wrote:For what it's worth, I typically assign the msg field to the string passed on object construction, and if a more expressive message is required I'll override toString in the derived exception object. This avoid the need for any allocations at the throw point (beyond the object itself, potentially), but still provides a means for more structured error messages to be displayed. The actual error reporting structure I use in dmain2 is this: catch (Exception e) { while (e) { if (e.file) fprintf(stderr, "%.*s(%u): %.*s\n", e.file, e.line, e.msg); else fprintf(stderr, "%.*s\n", e.toString()); e = e.next; } exit(EXIT_FAILURE); } Typically, I think the full message is useful only if context information is not provided explicitly in the file and line members. SeanI'll take the private off, but a msg field would be redundant with the one in the base class.Ok.. good point. One interesting difference, though. The base class' msg field will end up holding the entire message. ie: assert(false, "hi") --> AssertError Failure assert-test.d(40) hi My intent was to capture just the "hi" part. My choice of 'msg' in the diff I pasted was unfortunate. I'd originally called it 'message'.
Jun 09 2006