Provided by: newlisp_10.7.1-1build1_amd64 bug


       newlisp - lisp like programming language


       newlisp  [-n]  [-x source target] [-h | -v] [-c | -C | -http] [-t microseconds] [-s stack]
       [-m max-mem-megabyte] [[-l path-file | -L path-file] [-p port-number  |  -d  port-number]]
       [-w directory] [lisp-files ...] [-e programtext]


       Invokes newLISP which first loads init.lsp if present. Then one or more options and one or
       more newLISP source files can be specified. The options and source files are  executed  in
       the  sequence  they  appear.  For  some options is makes sense to have source files loaded
       first like for the -p and -d options. For other options like -s and -m it  is  logical  to
       specify these before the source files to be loaded. If a -e switch is used the programtext
       is evaluated and then newlisp exits otherwise evaluation continues  interactively  (unless
       an exit occurs during lisp-file interpretation).


       -n     Suppress loading of any init.lsp or .init.lsp initialization file.

       -x source target
              Link the newLISP executable with a source file to built a new target executable.

       -h     Display a short help text.

       -v     Display a version string.

       -c     Suppress the commandline prompt.

       -C     Force prompt when running newLISP in pipe I/O mode for Emacs.

       -http  only accept HTTP commands

       -s stacksize
              Stack  size to use when starting newLISP. When no stack size is specified the stack
              defaults to 1024.

       -m max-mem-megabyte
              Limits memory to max-cell-mem-megabyte megabytes for Lisp cell memory.

              Load and evaluate the specified lisp source files in sequence. Source files can  be
              specified  using  URLs.  If  an  (exit) is executed by one of the source files then
              newlisp exits and all processing ceases.

       -e programtext
              Programtext is an expression enclosed in quotation marks which is evaluated and the
              result  printed  to  standard  out  device  (STDOUT).  In  most  UNIX system shells
              apostrophes can also be  used  to  delimit  the  expression.  newLISP  exits  after
              evaluation of programtext is complete.

       -w directory
              Directory  is  the  start up directory for newLISP. Any file reference in a program
              will refer to this directory by default as the current directory. This can be  used
              to define a web root directory when in server mode.

       -l -L path-file
              Log  network connections and newLISP I/O to the file in path-file. -l will only log
              network connections or commandline input or net-eval requests. -L will additionally
              log HTTP requests and newLISP output from commandline and net-eval input.

       -p port-number
              Listen  for  commands  on  a TCP/IP socket connection. In this case standard I/O is
              redirected to the port specified in the -p option. Any specified lisp-files will be
              loaded  the  first time a connection is made, that is, before text is accepted from
              the port connection.

       -d port-number
              Run in demon mode. As for the -p option, but newLISP does not exit after  a  closed
              connection and stays in memory listening for a new connection.

       -t microseconds-connection-timeout
              Specifies  a  connection  timeout  when running in -p or -d demon mode. Server will
              disconnect when no further input is read after accepting a client connection.

       -6     Starts newLISP in IPv6 'Internet Protocol version  6'  mode.  Without  this  switch
              newLISP  willl  start in IPv4 mode. The protocol mode can also be switched with the
              built-in 'net-ipv' function during runtime.


       Start interactive session

       Execute a program
              newlisp myprog.lsp

       Execute a remote program

       Add 3 and 4, 7 prints on standard output
              newlisp -e "(+ 3 4)"

       newLISP is started as a server (the & indicates  to  LINUX  to  run  the  process  in  the
       background) and can be connected to with telnet by issuing telnet localhost 1234
              newlisp -p 1234 &

       newLISP  is  started  as a server for another newlisp process connecting with the net-eval
       function or HTTP requests. Connection timeout is 3 seconds.
              newlisp -c -t 3000000 -d 4711 &

       newLISP is started as a server handling HTTP requests only. Connections are logged to  the
       file /usr/home/www/log.txt
              newlisp -l /usr/home/www/log.txt -http -d 8080 &

       newLISP  is  started  as a server handling HTTP requests and defining the startup/web root
              newlisp -http -d 8080 -w /usr/home/www/httpdocs &

       When accepting HTTP commands a file httpd.conf can be loaded, which  will  preprocess  the
       path-name in the HTTP request
              newlisp httpd.conf -http -d 8080 -w /usr/home/www/httpdocs &

       If the file httpd.conf contains:

       (command-event (fn (s)
           (local (request)
               (if (find "?" s) ; is this a query
                       (set 'request (first (parse s "?")))
                       ; discover illegal extension in queries
                       (if (ends-with request ".exe")
                           (set 'request "GET /errorpage.html")
                           (set 'request s)))
                   (set 'request s))
               request) ))

       then  all  files  ending  in  .exe will translate the request in to a request for an error
       page, else the original request string is returned.


       newLISP returns a zero exit status for normal termination unless an exit command specifies
       a code to be returned. Non zero is returned in case of abnormal exit.


       Lutz Mueller <> - the newLISP home page