diff -uNr dmd-0.145/dmd/html/d/abi.html dmd-0.146/dmd/html/d/abi.html --- dmd-0.145/dmd/html/d/abi.html 2005-11-29 01:35:30.000000000 +0100 +++ dmd-0.146/dmd/html/d/abi.html 2006-02-09 14:55:08.000000000 +0100 @@ -3,7 +3,7 @@ +

+ What's New for + D 0.146 +

+ + +Feb 9, 2006 +

+ +

New/Changed Features

+ + +

Bugs Fixed

+ + +
+

What's New for D 0.145 diff -uNr dmd-0.145/dmd/html/d/cppstrings.html dmd-0.146/dmd/html/d/cppstrings.html --- dmd-0.145/dmd/html/d/cppstrings.html 2005-11-29 01:35:28.000000000 +0100 +++ dmd-0.146/dmd/html/d/cppstrings.html 2006-02-01 22:07:22.000000000 +0100 @@ -3,7 +3,7 @@ +Authors:
+Walter Bright, www.digitalmars.com +

+License:
+Public Domain + +

const char[] name;
diff -uNr dmd-0.145/dmd/html/d/phobos/std_cover.html dmd-0.146/dmd/html/d/phobos/std_cover.html --- dmd-0.145/dmd/html/d/phobos/std_cover.html 2006-01-29 19:11:38.000000000 +0100 +++ dmd-0.146/dmd/html/d/phobos/std_cover.html 2006-02-09 22:33:40.000000000 +0100 @@ -24,7 +24,7 @@ | D | Comments -
Last update Sun Jan 29 19:11:36 2006 +
Last update Thu Feb 9 22:33:38 2006
diff -uNr dmd-0.145/dmd/html/d/phobos/std_date.html dmd-0.146/dmd/html/d/phobos/std_date.html --- dmd-0.145/dmd/html/d/phobos/std_date.html 2006-01-29 19:11:36.000000000 +0100 +++ dmd-0.146/dmd/html/d/phobos/std_date.html 2006-02-09 22:33:40.000000000 +0100 @@ -24,7 +24,7 @@ | D | Comments -
Last update Sun Jan 29 19:11:35 2006 +
Last update Thu Feb 9 22:33:38 2006
@@ -124,7 +124,7 @@

-
long d_time_nan; +
const long d_time_nan;
A value for d_time that does not represent a valid time. diff -uNr dmd-0.145/dmd/html/d/phobos/std_demangle.html dmd-0.146/dmd/html/d/phobos/std_demangle.html --- dmd-0.145/dmd/html/d/phobos/std_demangle.html 2006-01-29 19:11:36.000000000 +0100 +++ dmd-0.146/dmd/html/d/phobos/std_demangle.html 2006-02-09 22:33:40.000000000 +0100 @@ -24,7 +24,7 @@ | D | Comments -
Last update Sun Jan 29 19:11:35 2006 +
Last update Thu Feb 9 22:33:38 2006
diff -uNr dmd-0.145/dmd/html/d/phobos/std_file.html dmd-0.146/dmd/html/d/phobos/std_file.html --- dmd-0.145/dmd/html/d/phobos/std_file.html 2006-01-29 19:11:36.000000000 +0100 +++ dmd-0.146/dmd/html/d/phobos/std_file.html 2006-02-09 22:33:40.000000000 +0100 @@ -24,7 +24,7 @@ | D | Comments -
Last update Sun Jan 29 19:11:35 2006 +
Last update Thu Feb 9 22:33:38 2006
@@ -117,6 +117,9 @@
void[] read(char[] name);
Read file name[], return array of bytes read. +

+Throws:
+FileException on error.

@@ -124,6 +127,9 @@
void write(char[] name, void[] buffer);
Write buffer[] to file name[]. +

+Throws:
+FileException on error.

@@ -131,6 +137,9 @@
void append(char[] name, void[] buffer);
Append buffer[] to file name[]. +

+Throws:
+FileException on error.

@@ -138,6 +147,9 @@
void rename(char[] from, char[] to);
Rename file from[] to to[]. +

+Throws:
+FileException on error.

@@ -145,6 +157,9 @@
void remove(char[] name);
Delete file name[]. +

+Throws:
+FileException on error.

@@ -152,6 +167,9 @@
ulong getSize(char[] name);
Get size of file name[]. +

+Throws:
+FileException on error.

@@ -167,20 +185,29 @@
uint getAttributes(char[] name);
Get file name[] attributes. +

+Throws:
+FileException on error.

int isfile(char[] name);
-
Is name[] a file? Error if name[] doesn't exist. +
Is name[] a file? +

+Throws:
+FileException if name[] doesn't exist.

int isdir(char[] name);
-
Is name[] a directory? Error if name[] doesn't exist. +
Is name[] a directory? +

+Throws:
+FileException if name[] doesn't exist.

@@ -188,6 +215,9 @@
void chdir(char[] pathname);
Change directory to pathname[]. +

+Throws:
+FileException on error.

@@ -195,6 +225,9 @@
void mkdir(char[] pathname);
Make directory pathname[]. +

+Throws:
+FileException on error.

@@ -202,6 +235,9 @@
void rmdir(char[] pathname);
Remove directory pathname[]. +

+Throws:
+FileException on error.

@@ -209,13 +245,192 @@
char[] getcwd();
Get current directory. +

+Throws:
+FileException on error.

+
struct DirEntry; +
+
Directory Entry + +

+ +
char[] name; +
+
file or directory name +

+ +
+
ulong size; +
+
size of file in bytes +

+ +
+
long creationTime; +
+
time of file creation +

+ +
+
long lastAccessTime; +
+
time file was last accessed +

+ +
+
long lastWriteTime; +
+
time file was last written to +

+ +
+
int isdir(); +
+
Return !=0 if DirEntry is a directory. + +

+ +
+
int isfile(); +
+
Return !=0 if DirEntry is a file. + +

+ +
+
+
char[][] listdir(char[] pathname);
Return contents of directory pathname[]. + The names in the contents do not include the pathname. +

+Throws:
+FileException on error +

+Example:
+This program lists all the files and subdirectories in its + path argument. +
 import std.stdio;
+ import std.file;
+
+ void main(char[][] args)
+ {
+    char[][] dirs = std.file.listdir(args[1]);
+
+    foreach (char[] d; dirs)
+	writefln(d);
+ }
+
+ +

+ +
+
char[][] listdir(char[] pathname, char[] pattern); +
+
Return all the files in the directory and its subdirectories + that match pattern. +

+Params:
+ + + + +
char[] pathnameDirectory name
char[] patternString with wildcards, such as "*.d". The supported + wildcard strings are described under fnmatch() in + std.path.

+Example:
+This program lists all the files with a "d" extension in + the path passed as the first argument. +
 import std.stdio;
+ import std.file;
+
+ void main(char[][] args)
+ {
+    char[][] d_source_files = std.file.listdir(args[1], "*.d");
+
+    foreach (char[] d; d_source_files)
+	writefln(d);
+ }
+
+ +

+ +
+
void listdir(char[] pathname, bit delegate(char[] filename) callback); +
+
For each file and directory name in pathname[], + pass it to the callback delegate. +

+Params:
+ + +
bit delegate(char[] filename) callbackDelegate that processes each + filename in turn. Returns true to + continue, false to stop.

+Example:
+This program lists all the files in its + path argument, including the path. +
 import std.stdio;
+ import std.path;
+ import std.file;
+
+ void main(char[][] args)
+ {
+    char[] pathname = args[1];
+    char[][] result;
+
+    bool listing(char[] filename)
+    {
+      result ~= std.path.join(pathname, filename);
+      return true; // continue
+    }
+
+    listdir(pathname, &listing);
+
+    foreach (char[] name; result)
+      writefln("%s", name);
+ }
+
+ +

+ +
+
void listdir(char[] pathname, bit delegate(DirEntry * de) callback); +
+
For each file and directory DirEntry in pathname[], + pass it to the callback delegate. +

+Params:
+ + +
bit delegate(DirEntry * de) callbackDelegate that processes each + DirEntry in turn. Returns true to + continue, false to stop.

+Example:
+This program lists all the files in its + path argument and all subdirectories thereof. +
 import std.stdio;
+ import std.file;
+
+ void main(char[][] args)
+ {
+    bool callback(DirEntry* de)
+    {
+      if (de.isdir)
+        listdir(de.name, &callback);
+      else
+        writefln(de.name);
+      return true;
+    }
+
+    listdir(args[1], &callback);
+ }
+


diff -uNr dmd-0.145/dmd/html/d/phobos/std_format.html dmd-0.146/dmd/html/d/phobos/std_format.html --- dmd-0.145/dmd/html/d/phobos/std_format.html 2006-01-29 19:11:36.000000000 +0100 +++ dmd-0.146/dmd/html/d/phobos/std_format.html 2006-02-09 22:33:38.000000000 +0100 @@ -24,7 +24,7 @@ | D | Comments -
Last update Sun Jan 29 19:11:35 2006 +
Last update Thu Feb 9 22:33:37 2006
diff -uNr dmd-0.145/dmd/html/d/phobos/std_math.html dmd-0.146/dmd/html/d/phobos/std_math.html --- dmd-0.145/dmd/html/d/phobos/std_math.html 2006-01-29 19:11:36.000000000 +0100 +++ dmd-0.146/dmd/html/d/phobos/std_math.html 2006-02-09 22:33:38.000000000 +0100 @@ -24,7 +24,7 @@ | D | Comments -
Last update Sun Jan 29 19:11:34 2006 +
Last update Thu Feb 9 22:33:36 2006
diff -uNr dmd-0.145/dmd/html/d/phobos/std_md5.html dmd-0.146/dmd/html/d/phobos/std_md5.html --- dmd-0.145/dmd/html/d/phobos/std_md5.html 2006-01-29 19:11:36.000000000 +0100 +++ dmd-0.146/dmd/html/d/phobos/std_md5.html 2006-02-09 22:33:40.000000000 +0100 @@ -24,7 +24,7 @@ | D | Comments -
Last update Sun Jan 29 19:11:35 2006 +
Last update Thu Feb 9 22:33:38 2006
diff -uNr dmd-0.145/dmd/html/d/phobos/std_outbuffer.html dmd-0.146/dmd/html/d/phobos/std_outbuffer.html --- dmd-0.145/dmd/html/d/phobos/std_outbuffer.html 2006-01-29 19:11:36.000000000 +0100 +++ dmd-0.146/dmd/html/d/phobos/std_outbuffer.html 2006-02-09 22:33:38.000000000 +0100 @@ -24,7 +24,7 @@ | D | Comments -
Last update Sun Jan 29 19:11:34 2006 +
Last update Thu Feb 9 22:33:36 2006
diff -uNr dmd-0.145/dmd/html/d/phobos/std_path.html dmd-0.146/dmd/html/d/phobos/std_path.html --- dmd-0.145/dmd/html/d/phobos/std_path.html 2006-01-29 19:11:36.000000000 +0100 +++ dmd-0.146/dmd/html/d/phobos/std_path.html 2006-02-09 22:33:38.000000000 +0100 @@ -24,7 +24,7 @@ | D | Comments -
Last update Sun Jan 29 19:11:34 2006 +
Last update Thu Feb 9 22:33:36 2006
@@ -174,15 +174,15 @@ Examples:
 version(Win32)
  {
-     getExt(r"d:\path\foo.bat") => "bat"
-     getExt(r"d:\path.two\bar") => null
- }
+     getExt(r"d:\path\foo.bat") // "bat"
+     getExt(r"d:\path.two\bar") // null
+ }
  version(linux)
  {
-     getExt(r"/home/user.name/bar.")  => ""
-     getExt(r"d:\\path.two\\bar") => "two\\bar"
-     getExt(r"/home/user/.resource") => "resource"
- }
+     getExt(r"/home/user.name/bar.")  // ""
+     getExt(r"d:\\path.two\\bar")     // "two\\bar"
+     getExt(r"/home/user/.resource")  // "resource"
+ }
 


@@ -398,6 +398,7 @@
 version(Win32)
  {
      isabs(r"relative\path") => 0
+     isabs(r"\relative\path") => 0
      isabs(r"d:\absolute") => 1
  }
  version(linux)
@@ -415,11 +416,11 @@
 
Joins two path components.

If p1 doesn't have a trailing path separator, one will be appended - to it before concating p2. + to it before concatting p2.

Returns:
-p1 + p2. However, if p2 is an absolute path, only p2 +p1 ~ p2. However, if p2 is an absolute path, only p2 will be returned.

diff -uNr dmd-0.145/dmd/html/d/phobos/std_random.html dmd-0.146/dmd/html/d/phobos/std_random.html --- dmd-0.145/dmd/html/d/phobos/std_random.html 2006-01-29 19:11:36.000000000 +0100 +++ dmd-0.146/dmd/html/d/phobos/std_random.html 2006-02-09 22:33:38.000000000 +0100 @@ -24,7 +24,7 @@ | D | Comments -
Last update Sun Jan 29 19:11:35 2006 +
Last update Thu Feb 9 22:33:37 2006
diff -uNr dmd-0.145/dmd/html/d/phobos/std_stream.html dmd-0.146/dmd/html/d/phobos/std_stream.html --- dmd-0.145/dmd/html/d/phobos/std_stream.html 2006-01-29 19:11:36.000000000 +0100 +++ dmd-0.146/dmd/html/d/phobos/std_stream.html 2006-02-09 22:33:38.000000000 +0100 @@ -24,7 +24,7 @@ | D | Comments -
Last update Sun Jan 29 19:11:35 2006 +
Last update Thu Feb 9 22:33:37 2006
diff -uNr dmd-0.145/dmd/html/d/phobos/std_string.html dmd-0.146/dmd/html/d/phobos/std_string.html --- dmd-0.145/dmd/html/d/phobos/std_string.html 2006-01-29 19:11:36.000000000 +0100 +++ dmd-0.146/dmd/html/d/phobos/std_string.html 2006-02-09 22:33:38.000000000 +0100 @@ -24,7 +24,7 @@ | D | Comments -
Last update Sun Jan 29 19:11:35 2006 +
Last update Thu Feb 9 22:33:37 2006
diff -uNr dmd-0.145/dmd/html/d/phobos/std_uri.html dmd-0.146/dmd/html/d/phobos/std_uri.html --- dmd-0.145/dmd/html/d/phobos/std_uri.html 2006-01-29 19:11:36.000000000 +0100 +++ dmd-0.146/dmd/html/d/phobos/std_uri.html 2006-02-09 22:33:40.000000000 +0100 @@ -24,7 +24,7 @@ | D | Comments -
Last update Sun Jan 29 19:11:35 2006 +
Last update Thu Feb 9 22:33:38 2006
diff -uNr dmd-0.145/dmd/html/d/phobos/std_utf.html dmd-0.146/dmd/html/d/phobos/std_utf.html --- dmd-0.145/dmd/html/d/phobos/std_utf.html 2006-01-29 19:11:36.000000000 +0100 +++ dmd-0.146/dmd/html/d/phobos/std_utf.html 2006-02-09 22:33:40.000000000 +0100 @@ -24,7 +24,7 @@ | D | Comments -
Last update Sun Jan 29 19:11:35 2006 +
Last update Thu Feb 9 22:33:38 2006
diff -uNr dmd-0.145/dmd/html/d/phobos/std_windows_charset.html dmd-0.146/dmd/html/d/phobos/std_windows_charset.html --- dmd-0.145/dmd/html/d/phobos/std_windows_charset.html 2006-01-29 19:11:38.000000000 +0100 +++ dmd-0.146/dmd/html/d/phobos/std_windows_charset.html 2006-02-09 22:33:40.000000000 +0100 @@ -24,7 +24,7 @@ | D | Comments -
Last update Sun Jan 29 19:11:36 2006 +
Last update Thu Feb 9 22:33:38 2006
diff -uNr dmd-0.145/dmd/html/d/phobos/std_zip.html dmd-0.146/dmd/html/d/phobos/std_zip.html --- dmd-0.145/dmd/html/d/phobos/std_zip.html 2006-01-29 19:11:36.000000000 +0100 +++ dmd-0.146/dmd/html/d/phobos/std_zip.html 2006-02-09 22:33:40.000000000 +0100 @@ -24,7 +24,7 @@ | D | Comments -
Last update Sun Jan 29 19:11:35 2006 +
Last update Thu Feb 9 22:33:38 2006
diff -uNr dmd-0.145/dmd/html/d/phobos/std_zlib.html dmd-0.146/dmd/html/d/phobos/std_zlib.html --- dmd-0.145/dmd/html/d/phobos/std_zlib.html 2006-01-29 19:11:36.000000000 +0100 +++ dmd-0.146/dmd/html/d/phobos/std_zlib.html 2006-02-09 22:33:40.000000000 +0100 @@ -24,7 +24,7 @@ | D | Comments -
Last update Sun Jan 29 19:11:35 2006 +
Last update Thu Feb 9 22:33:38 2006
diff -uNr dmd-0.145/dmd/html/d/statement.html dmd-0.146/dmd/html/d/statement.html --- dmd-0.145/dmd/html/d/statement.html 2006-01-02 14:03:56.000000000 +0100 +++ dmd-0.146/dmd/html/d/statement.html 2006-02-05 11:59:46.000000000 +0100 @@ -25,7 +25,7 @@ | Comments -
Last update Mon Jan 2 14:03:56 2006 +
Last update Sun Feb 5 11:59:45 2006
@@ -278,6 +278,14 @@ Expressions that have no effect, like (x + x), are illegal in expression statements. + If such an expression is neede, casting it to void will + make it legal. + +
int x;
+x;                  // illegal
+1+1;                // illegal
+cast(void)(x + x);  // ok
+

Declaration Statement

diff -uNr dmd-0.145/dmd/html/d/style.css dmd-0.146/dmd/html/d/style.css --- dmd-0.145/dmd/html/d/style.css 2005-10-14 12:27:44.000000000 +0200 +++ dmd-0.146/dmd/html/d/style.css 2006-02-08 15:39:36.000000000 +0100 @@ -2,7 +2,7 @@ { background: white; color: black; - font-family: Arial, Helvetica, sans-serif; + font-family: Helvetica, Verdana, Arial, sans-serif; } .contents { margin-top: 0;