platform/upstream/nodejs.git
14 years agoEnable debugging.
Ryan Dahl [Fri, 9 Oct 2009 11:25:04 +0000 (13:25 +0200)]
Enable debugging.

Use the --debug command line flag to enable.

It appears that d8 sucks. Luckily it can be rewritten rather easily with the
repl and tcp client libraries.

Node's CL option parsing is getting rather unwieldy - needs refactor.

14 years agoMore updates to wscripts v8 building.
Ryan Dahl [Fri, 9 Oct 2009 10:49:48 +0000 (12:49 +0200)]
More updates to wscripts v8 building.

This allows me to hack on V8 without recompiling the whole thing.

14 years agoFix wscript for python 2.4
Ryan Dahl [Thu, 8 Oct 2009 22:34:39 +0000 (00:34 +0200)]
Fix wscript for python 2.4

14 years agoImprove build for V8
Ryan Dahl [Thu, 8 Oct 2009 21:20:14 +0000 (23:20 +0200)]
Improve build for V8

Users following HEAD should 'make distclean' and reconfigure after this
update.

14 years agoUse /bin/sh from exec()
Ryan Dahl [Wed, 7 Oct 2009 23:30:26 +0000 (01:30 +0200)]
Use /bin/sh from exec()

14 years agoRemoved getHeader() function thanks to f623f
Felix Geisendörfer [Wed, 7 Oct 2009 15:21:39 +0000 (17:21 +0200)]
Removed getHeader() function thanks to f623f

14 years agoNormalize HTTP headers.
Ryan Dahl [Wed, 7 Oct 2009 14:56:19 +0000 (16:56 +0200)]
Normalize HTTP headers.

"Content-Length" becomes "content-length".

14 years agoUpgrade v8 to 1.3.15
Ryan Dahl [Wed, 7 Oct 2009 14:02:34 +0000 (16:02 +0200)]
Upgrade v8 to 1.3.15

14 years agoFix --v8-options command line argument.
Ryan Dahl [Wed, 7 Oct 2009 14:01:03 +0000 (16:01 +0200)]
Fix --v8-options command line argument.

14 years agoFix test-signal-handler.js on macintosh - pause before exit.
Ryan Dahl [Wed, 7 Oct 2009 13:39:39 +0000 (15:39 +0200)]
Fix test-signal-handler.js on macintosh - pause before exit.

14 years agoFix build.
Ryan Dahl [Wed, 7 Oct 2009 10:56:55 +0000 (12:56 +0200)]
Fix build.

- Add -f flag to rm on make clean.
- Use old jsmin - the new one seems to be broken.

14 years agoFix 'make distclean'
Ryan Dahl [Wed, 7 Oct 2009 10:43:21 +0000 (12:43 +0200)]
Fix 'make distclean'

14 years agoUpgrade v8 to 1.3.14
Ryan Dahl [Wed, 7 Oct 2009 09:53:03 +0000 (11:53 +0200)]
Upgrade v8 to 1.3.14

14 years agoUpdate benchmarks with new createChildProcess API
Ryan Dahl [Wed, 7 Oct 2009 08:24:50 +0000 (10:24 +0200)]
Update benchmarks with new createChildProcess API

14 years agoMultipart test now uses a fixture instead of CURL
Felix Geisendörfer [Tue, 6 Oct 2009 19:38:35 +0000 (21:38 +0200)]
Multipart test now uses a fixture instead of CURL

14 years agoFixed bad indention in multipart.js
Felix Geisendörfer [Tue, 6 Oct 2009 18:53:05 +0000 (20:53 +0200)]
Fixed bad indention in multipart.js

14 years agoev_unref() the signal handlers.
Ryan Dahl [Tue, 6 Oct 2009 23:35:21 +0000 (01:35 +0200)]
ev_unref() the signal handlers.

That means even if they are Attached(), libev will still exit if there is
nothing else to do.

14 years agoAdded signal handler.
Brandon Beacher [Tue, 6 Oct 2009 00:56:33 +0000 (20:56 -0400)]
Added signal handler.

To be used internally. Needs an exposed interface.

14 years agoDo not use /bin/sh to create child processes.
Ryan Dahl [Tue, 6 Oct 2009 23:04:27 +0000 (01:04 +0200)]
Do not use /bin/sh to create child processes.

Instead directly call execvp(). This change is needed for the
soon-to-be-added signal handlers because the /bin/sh parent process does not
pass all signals to it's children, particularly SIGUSR1 on Linux.

The parameters of createChildProcess had to be changed slightly.
utils.exec() also has a changed implementation. A bug involving quoted
arguments was knowingly introduced into utils.exec(). Will fix later.

14 years agoOnly arguments before -- should be passed to V8.
Ryan Dahl [Tue, 6 Oct 2009 14:28:52 +0000 (16:28 +0200)]
Only arguments before -- should be passed to V8.

14 years agoAlso accept 'utf-8' to specify utf8 encodings.
Ryan Dahl [Tue, 6 Oct 2009 08:45:18 +0000 (10:45 +0200)]
Also accept 'utf-8' to specify utf8 encodings.

14 years agoSimplify 'make distclean' by just doing 'rm -rf build'
Ryan Dahl [Mon, 5 Oct 2009 22:43:56 +0000 (00:43 +0200)]
Simplify 'make distclean' by just doing 'rm -rf build'

14 years agoAdd __module to reference current node.Module object.
Ryan Dahl [Mon, 5 Oct 2009 19:01:30 +0000 (21:01 +0200)]
Add __module to reference current node.Module object.

14 years agoAdd require.async().
Ryan Dahl [Mon, 5 Oct 2009 18:35:48 +0000 (20:35 +0200)]
Add require.async().

14 years agoRemove target argument from node.Module#newChild.
Ryan Dahl [Mon, 5 Oct 2009 18:35:05 +0000 (20:35 +0200)]
Remove target argument from node.Module#newChild.

14 years agoRemove old references to node.loadingModules
Ryan Dahl [Mon, 5 Oct 2009 18:29:59 +0000 (20:29 +0200)]
Remove old references to node.loadingModules

14 years agoRemove include() from website.
Ryan Dahl [Mon, 5 Oct 2009 17:15:38 +0000 (19:15 +0200)]
Remove include() from website.

14 years agoRemove include() add node.mixin()
Ryan Dahl [Mon, 5 Oct 2009 13:46:31 +0000 (15:46 +0200)]
Remove include() add node.mixin()

include() should not be used by libraries because it will pollute the global
namespace. To discourage this behavior and bring Node more in-line with
the current CommonJS module system, include() is removed.

Small scripts like unit tests often times do want to pollute the global
namespace for ease. To avoid the boiler plate code of

  var x = require("/x.js");
  var foo = x.foo;
  var bar = x.bar;

The function node.mixin() is stolen from jQuery's jQuery.extend. So that it
can be written:

  node.mixin(require("/x.js"));

Reference:
http://docs.jquery.com/Utilities/jQuery.extend
http://groups.google.com/group/nodejs/browse_thread/thread/f9ac83e5c11e7e87

14 years agoParse queryString into req.uri.params
Ryan Dahl [Mon, 5 Oct 2009 12:51:41 +0000 (14:51 +0200)]
Parse queryString into req.uri.params

14 years agoFix typo
Ryan Dahl [Mon, 5 Oct 2009 11:16:56 +0000 (13:16 +0200)]
Fix typo

14 years agoRemove node.pc
Ryan Dahl [Mon, 5 Oct 2009 11:04:21 +0000 (13:04 +0200)]
Remove node.pc

14 years agoDon't use parseUri for HTTP server
Ryan Dahl [Sun, 4 Oct 2009 10:17:50 +0000 (12:17 +0200)]
Don't use parseUri for HTTP server

The big parseUri RE was showing up often in profiles - this is simpler and
yields better performance by taking advantage of the C http parser.

14 years agoModify node_addon configure api
Ryan Dahl [Sun, 4 Oct 2009 09:50:53 +0000 (11:50 +0200)]
Modify node_addon configure api

14 years agoUpdate addon documentation
Ryan Dahl [Sun, 4 Oct 2009 09:14:39 +0000 (11:14 +0200)]
Update addon documentation

14 years agoAdd node-waf to help with building addons.
Ryan Dahl [Sun, 4 Oct 2009 08:33:39 +0000 (10:33 +0200)]
Add node-waf to help with building addons.

14 years agoAdd Makefiles which were forgotten.
Ryan Dahl [Sat, 3 Oct 2009 20:43:54 +0000 (22:43 +0200)]
Add Makefiles which were forgotten.

14 years agoImprove "make dist" remove generated doc from repo.
Ryan Dahl [Sat, 3 Oct 2009 20:42:03 +0000 (22:42 +0200)]
Improve "make dist" remove generated doc from repo.

14 years agoDon't unnecessarily output the makefile from the configure script.
Ryan Dahl [Sat, 3 Oct 2009 19:46:59 +0000 (21:46 +0200)]
Don't unnecessarily output the makefile from the configure script.

14 years agoInstall wafadmin into $PREFIX/lib/node/wafadmin
Ryan Dahl [Sat, 3 Oct 2009 17:08:05 +0000 (19:08 +0200)]
Install wafadmin into $PREFIX/lib/node/wafadmin

This is in preparation for a special node_waf script for building external
modules.

Also change system library path to $PREFIX/lib/node/libraries

14 years agoDocumentation for Multipart parser
Felix Geisendörfer [Sat, 3 Oct 2009 14:40:06 +0000 (16:40 +0200)]
Documentation for Multipart parser

Also added multipart.parse as a convenience function

14 years agoSetClassName on internal classes.
Ryan Dahl [Sat, 3 Oct 2009 13:08:03 +0000 (15:08 +0200)]
SetClassName on internal classes.

14 years agoReplace DEFINE_SIMPLE_CALLBACK macros with explicit functions
Ryan Dahl [Sat, 3 Oct 2009 12:45:35 +0000 (14:45 +0200)]
Replace DEFINE_SIMPLE_CALLBACK macros with explicit functions

14 years agoUse waf-light instead of waf
Ryan Dahl [Fri, 2 Oct 2009 15:05:42 +0000 (17:05 +0200)]
Use waf-light instead of waf

This way there won't be strange tools/.waf-12343 directories hanging about.
All that waf needs to run is inside the tools/wafadmin directory.

14 years agochat.tinyclouds.org -> chat.nodejs.org
Ryan Dahl [Fri, 2 Oct 2009 14:24:49 +0000 (16:24 +0200)]
chat.tinyclouds.org -> chat.nodejs.org

14 years agoAdd note about symbol visibility in V8 to wscript
Ryan Dahl [Fri, 2 Oct 2009 12:10:40 +0000 (14:10 +0200)]
Add note about symbol visibility in V8 to wscript

14 years agobump version v0.1.13
Ryan Dahl [Wed, 30 Sep 2009 21:21:25 +0000 (23:21 +0200)]
bump version

14 years agoAdd a third argument to http.cat to specify req headers.
Ryan Dahl [Wed, 30 Sep 2009 09:54:14 +0000 (11:54 +0200)]
Add a third argument to http.cat to specify req headers.

14 years agoPass the Host header in http.cat calls, if it was specified in the URL passed to...
isaacs [Tue, 29 Sep 2009 23:38:07 +0000 (16:38 -0700)]
Pass the Host header in http.cat calls, if it was specified in the URL passed to http.cat.

14 years agoBugfix: require() and include() should work in callbacks.
Ryan Dahl [Tue, 29 Sep 2009 17:28:54 +0000 (19:28 +0200)]
Bugfix: require() and include() should work in callbacks.

Removing requireAsync and includeAsync from global scope for now as a
temporary fix.  Reported by Yuffster.

14 years agoClean up some text in documentation.
Ryan Dahl [Tue, 29 Sep 2009 16:06:36 +0000 (18:06 +0200)]
Clean up some text in documentation.

14 years agoCamel-case all http events
Ryan Dahl [Tue, 29 Sep 2009 16:06:14 +0000 (18:06 +0200)]
Camel-case all http events

14 years agoCopy Python's shutil.copytree into wscript.
Ryan Dahl [Mon, 28 Sep 2009 20:39:00 +0000 (22:39 +0200)]
Copy Python's shutil.copytree into wscript.

It's broken in Python 2.4.4. One gets this message when trying to run
configure:

  [...]
  Checking for SYS_clock_gettime           : ok
  Checking for library rt                  : ok
  Checking for function clock_gettime      : ok
  Checking for function nanosleep          : ok
  Checking for function ceil               : ok
  ---- deps/udns ----
  Traceback (most recent call last):
    File "/path/to/node/tools/waf", line 148, in ?
      Scripting.prepare(t, cwd, VERSION, wafdir)
    File "/path/to/node/tools/.waf-1.5.8-3e327cd9534c48e6762f56fdb1332663/wafadmin/Scripting.py", line 102, in prepare
      prepare_impl(t,cwd,ver,wafdir)
    File "/path/to/node/tools/.waf-1.5.8-3e327cd9534c48e6762f56fdb1332663/wafadmin/Scripting.py", line 95, in prepare_impl
      main()
    File "/path/to/node/tools/.waf-1.5.8-3e327cd9534c48e6762f56fdb1332663/wafadmin/Scripting.py", line 130, in main
      fun(ctx)
    File "/path/to/node/tools/.waf-1.5.8-3e327cd9534c48e6762f56fdb1332663/wafadmin/Scripting.py", line 168, in configure
      conf.sub_config([''])
    File "/path/to/node/tools/.waf-1.5.8-3e327cd9534c48e6762f56fdb1332663/wafadmin/Configure.py", line 100, in sub_config
      self.recurse(k,name='configure')
    File "/path/to/node/tools/.waf-1.5.8-3e327cd9534c48e6762f56fdb1332663/wafadmin/Utils.py", line 391, in recurse
      f(self)
    File "<string>", line 82, in configure
    File "<string>", line 48, in conf_subproject
    File "/usr/lib/python2.4/shutil.py", line 111, in copytree
      os.mkdir(dst)
  OSError: [Errno 2] No such file or directory: '/sites/rabidlabs.net/sandboxes/m/public_html/projects/0909.node/node/build/default/deps/udns'

The problem is probably this:
http://mail.python.org/pipermail/python-bugs-list/2005-January/027118.html

As a solution I am copying 2.6's version of the function in.

14 years agoAdd doc for node.compile()
Ryan Dahl [Mon, 28 Sep 2009 20:16:43 +0000 (22:16 +0200)]
Add doc for node.compile()

14 years agoUpdate module loading docs
Ryan Dahl [Mon, 28 Sep 2009 17:44:40 +0000 (19:44 +0200)]
Update module loading docs

14 years agoAdd warning when coroutine stack size grows too large.
Ryan Dahl [Mon, 28 Sep 2009 16:10:25 +0000 (18:10 +0200)]
Add warning when coroutine stack size grows too large.

For the moment too large is 10.

14 years agodocs: Reference node.libraryPaths in helpers section.
Ryan Dahl [Mon, 28 Sep 2009 16:03:43 +0000 (18:03 +0200)]
docs: Reference node.libraryPaths in helpers section.

14 years agoClean up some things in the repl, add docs.
Ryan Dahl [Mon, 28 Sep 2009 15:37:34 +0000 (17:37 +0200)]
Clean up some things in the repl, add docs.

14 years agoError message on bad module load.
Ryan Dahl [Mon, 28 Sep 2009 15:12:28 +0000 (17:12 +0200)]
Error message on bad module load.

14 years agoAPI: Move node.exit() to process.exit().
Ryan Dahl [Mon, 28 Sep 2009 14:50:19 +0000 (16:50 +0200)]
API: Move node.exit() to process.exit().

14 years agoinclude utils in the repl.
Ryan Dahl [Mon, 28 Sep 2009 14:50:03 +0000 (16:50 +0200)]
include utils in the repl.

14 years agoDon't delete timer object on clearTimeout.
Ryan Dahl [Mon, 28 Sep 2009 14:13:33 +0000 (16:13 +0200)]
Don't delete timer object on clearTimeout.

I've heard delete is inefficient in v8. Better to let the garbage collector
take care of it naturally.

14 years agoMove tcp library to /tcp.js
Ryan Dahl [Mon, 28 Sep 2009 14:08:09 +0000 (16:08 +0200)]
Move tcp library to /tcp.js

14 years agoAdd forgotten file lib/utils.js
Ryan Dahl [Mon, 28 Sep 2009 15:44:52 +0000 (17:44 +0200)]
Add forgotten file lib/utils.js

14 years agohttp.js license reference
Ryan Dahl [Mon, 28 Sep 2009 16:47:45 +0000 (18:47 +0200)]
http.js license reference

14 years agoMove http library to /http.js
Ryan Dahl [Mon, 28 Sep 2009 10:36:36 +0000 (12:36 +0200)]
Move http library to /http.js

14 years agoAPI: Move node.puts(), node.exec() and others to /utils.js
Ryan Dahl [Mon, 28 Sep 2009 10:06:30 +0000 (12:06 +0200)]
API: Move node.puts(), node.exec() and others to /utils.js

14 years agoRemove api.xml from gitignore
Ryan Dahl [Mon, 28 Sep 2009 09:46:09 +0000 (11:46 +0200)]
Remove api.xml from gitignore

14 years agoMultipart stream parser
Felix Geisendörfer [Sun, 27 Sep 2009 14:52:33 +0000 (16:52 +0200)]
Multipart stream parser

14 years agoAdd docbook documentation
Ryan Dahl [Sun, 27 Sep 2009 10:52:28 +0000 (12:52 +0200)]
Add docbook documentation

14 years agoAdd node.inspect() and deprecate p().
Ryan Dahl [Sun, 27 Sep 2009 10:33:44 +0000 (12:33 +0200)]
Add node.inspect() and deprecate p().

14 years agoreadFile/writeFile to read/write in file library.
Ryan Dahl [Sun, 27 Sep 2009 09:07:54 +0000 (11:07 +0200)]
readFile/writeFile to read/write in file library.

as suggested by Bluebie.

14 years agoFixes for libeio wscript on Debian.
Jeremy Lal [Sun, 27 Sep 2009 08:45:52 +0000 (10:45 +0200)]
Fixes for libeio wscript on Debian.

- Link libeio to pthread.
- Add -D_GNU_SOURCE to libeio wscript.

14 years agoChanges to compile on Andrew Miller's very old machine
Ryan Dahl [Sat, 26 Sep 2009 13:10:56 +0000 (15:10 +0200)]
Changes to compile on Andrew Miller's very old machine

14 years agoRemove -Werror on v8, for compiling on GCC 4.4
Ryan Dahl [Fri, 25 Sep 2009 06:40:34 +0000 (08:40 +0200)]
Remove -Werror on v8, for compiling on GCC 4.4

14 years agoWhen printing, check to see if value is undefined. If so, print nothing.
RayMorgan [Fri, 25 Sep 2009 05:16:07 +0000 (22:16 -0700)]
When printing, check to see if value is undefined. If so, print nothing.

14 years agoAdded _ that is te result of the previous command.
RayMorgan [Fri, 25 Sep 2009 02:53:11 +0000 (19:53 -0700)]
Added _ that is te result of the previous command.

14 years agoEnhanced the repl library.
RayMorgan [Fri, 25 Sep 2009 01:56:37 +0000 (18:56 -0700)]
Enhanced the repl library.

Now supports:
- command options: .help, .break, .clear, .exit
- local vars and global functions
- ability to print 0, false and ""
- when value is a function, prints [Function]
- when object is circular, prints [Circular Object] instead of throwing an error

14 years agobump version v0.1.12
Ryan Dahl [Thu, 24 Sep 2009 11:51:10 +0000 (13:51 +0200)]
bump version

14 years agoClean up website a bit.
Ryan Dahl [Thu, 24 Sep 2009 11:44:25 +0000 (13:44 +0200)]
Clean up website a bit.

14 years agoExtract the good parts of node-repl into standalone library.
Ryan Dahl [Wed, 23 Sep 2009 22:56:24 +0000 (00:56 +0200)]
Extract the good parts of node-repl into standalone library.

Now you can require("/repl.js") in your server to be able to examine it
while it's running.

14 years agoDecrease default TCP backlog to 128
Ryan Dahl [Wed, 23 Sep 2009 15:54:38 +0000 (17:54 +0200)]
Decrease default TCP backlog to 128

...after seeing http://lionet.livejournal.com/42016.html

14 years agoChange example at beginning of api.txt
Ryan Dahl [Wed, 23 Sep 2009 15:00:20 +0000 (17:00 +0200)]
Change example at beginning of api.txt

14 years agoSyntax highlighting for <tt> elements.
Ryan Dahl [Wed, 23 Sep 2009 14:58:28 +0000 (16:58 +0200)]
Syntax highlighting for <tt> elements.

14 years agoAdd documentation about requiring system modules.
Ryan Dahl [Wed, 23 Sep 2009 14:53:31 +0000 (16:53 +0200)]
Add documentation about requiring system modules.

14 years agoTighten window on timer test.
Ryan Dahl [Wed, 23 Sep 2009 14:39:43 +0000 (16:39 +0200)]
Tighten window on timer test.

14 years agocpplint.js file.{cc,h}
Ryan Dahl [Wed, 23 Sep 2009 14:33:24 +0000 (16:33 +0200)]
cpplint.js file.{cc,h}

14 years agoCall "connection" event after connection object is fully formed.
Ryan Dahl [Wed, 23 Sep 2009 14:09:40 +0000 (16:09 +0200)]
Call "connection" event after connection object is fully formed.

This became an apparent problem when adding setNoDelay because the command
was ignored if issued during the "connection" event.

14 years agoAdd connection.setNoDelay() to disable Nagle algorithm.
Ryan Dahl [Wed, 23 Sep 2009 13:35:03 +0000 (15:35 +0200)]
Add connection.setNoDelay() to disable Nagle algorithm.

14 years agoUpgrade v8 to 1.3.13
Ryan Dahl [Wed, 23 Sep 2009 12:49:51 +0000 (14:49 +0200)]
Upgrade v8 to 1.3.13

14 years agoSyntax highlighting for api.html.
Felix Geisendörfer [Tue, 22 Sep 2009 22:46:56 +0000 (00:46 +0200)]
Syntax highlighting for api.html.

Asciidoc does not seem to support including custom JS, so this patch is a hack
for toc.js to dynamically include the needed CSS / JS. It should be ok unless
somebody has a better approach ...

14 years agoBugfix: EIOPromise::Create was allocating two EIOPromise objects
Ryan Dahl [Tue, 22 Sep 2009 22:14:28 +0000 (00:14 +0200)]
Bugfix: EIOPromise::Create was allocating two EIOPromise objects

This is because it would call the javascript initializer which executed
Promise::New, and then it would rewrap the handle. Instead I make an
explicit inheritance from EIOPromise to Promise.

This seems to fix a memory leak which was reported by Ray Morgan:
http://groups.google.com/group/nodejs/browse_thread/thread/e38949b1989da1d7

14 years agodelete[] instead of delete for arrays.
Ryan Dahl [Tue, 22 Sep 2009 16:35:15 +0000 (18:35 +0200)]
delete[] instead of delete for arrays.

14 years agoAdd readFile to '/file.js'
Ryan Dahl [Tue, 22 Sep 2009 15:27:50 +0000 (17:27 +0200)]
Add readFile to '/file.js'

Thanks Hagen.

14 years agoAdd writeFile() to /file.js
Ryan Dahl [Tue, 22 Sep 2009 10:15:45 +0000 (12:15 +0200)]
Add writeFile() to /file.js

Initial patch by Tim Caswell.

14 years agoRemove "raw" encoding. Rename "raws" to "binary".
Ryan Dahl [Mon, 21 Sep 2009 10:27:22 +0000 (12:27 +0200)]
Remove "raw" encoding. Rename "raws" to "binary".

Deprecation warnings have been added to help the conversion to this new API.

14 years agoMove node-repl to bin/node-repl
Ryan Dahl [Sun, 20 Sep 2009 18:54:19 +0000 (20:54 +0200)]
Move node-repl to bin/node-repl

14 years agoAdd "/file.js" buffered disk I/O object.
Ryan Dahl [Sun, 20 Sep 2009 18:40:20 +0000 (20:40 +0200)]
Add "/file.js" buffered disk I/O object.

This is similar to the class node.File which was removed in
82cb1b5acb53000690448bf3d9b5d1f40ee66f76.

Needs documentation.

14 years agoMove mjsunit.js to system module directory.
Ryan Dahl [Sun, 20 Sep 2009 16:19:33 +0000 (18:19 +0200)]
Move mjsunit.js to system module directory.

14 years agoImprove error message for requiring system modules.
Ryan Dahl [Sun, 20 Sep 2009 16:03:55 +0000 (18:03 +0200)]
Improve error message for requiring system modules.

14 years agoAdd node.error(); p() outputs to stderr.
Ryan Dahl [Sun, 20 Sep 2009 15:40:14 +0000 (17:40 +0200)]
Add node.error(); p() outputs to stderr.