- [lib/dns.js] dns.lookup takes a new optional argument "family" which
should be the integer 4, 6, dns.AF_INET or dns.AF_INET6. Passing a
non-false "family" argument makes c-ares explicitly look up addresses for
the specified family.
- [test/simple/test-c-ares.js] test explicit address family lookups
This makes the console methods more "browser-like",
for example:
console.log("foo", "bar", "baz");
// foo bar baz
but still works with formatting
console.log("hey %s", "tj", "whats up");
// hey tj whats up
If the first parameter passed into console.log() is not a string, all
parameters will be printed as formated by sys.inspect. This change
also affects console.info and console.warn.
This patch standardises the load order for modules. Highest priority is trying to load exactly the file the user specified, followed by native extensions, followed by registered extra extensions, etc.
In full, if we require('foo') having registered '.coffee' as an alternative extension, we try and load the following files in order:
foo
foo.js
foo.node
foo.coffee
foo/index.js
foo/index.node
foo/index.coffee
This patch replaces the path.exists check for module loading with a call to
fs.statSync (or fs.stat for require.async) which ensures that it's not trying
to load a directory.
Many programs do not handle non-blocking stdio very well. In particular,
man and less have serious problems with this, and since stdout isn't being
flushed after each write, the output jumps about on the screen as you page
down. Programs that do use non-blocking stdio will set that flag themselves
(as node does).
This puts the stdio file descriptors into blocking mode before sharing them
with the child process, so that one could spawn a vim subprocess, or some
other program that depends on blocking IO.