Provided by: newlisp_10.7.5-2build3_amd64 bug

NAME

       newlisp - lisp like programming language

SYNOPSIS

       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]

DESCRIPTION

       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).

OPTIONS

       -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.

       lisp-files
              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 will start
              in IPv4 mode. The protocol mode can also be switched with the built-in 'net-ipv'  function  during
              runtime.

EXAMPLES

       Start interactive session
              newlisp

       Execute a program
              newlisp myprog.lsp

       Execute a remote program
              newlisp http://newlisp.org/example.lsp

       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 directory
              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
                   (begin
                       (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.

EXIT STATUS

       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.

AUTHOR

       Lutz Mueller <lutz@nuevatec.com>

       http://www.newlisp.org/ - the newLISP home page

version 10.7.2                                      May 2017                                          newlisp(1)