NAME
    prompt - display a prompt and wait for input from terminal

SYNOPSIS
    prompt(str)

TYPES
    str         string

    return      string

DESCRIPTION
    When prompt(str) is called and input is from a terminal, the string
    str is displayed and execution is halted until a newline ends a line
    read from the input; the string formed by the characters in the line
    (other than the newline) is returned as the value of prompt().

    Be careful when using prompt(str) while calc is being used as a
    shell script.  Unless calc is run with the -p command line option,
    the prompt builtin will fail and return null.  This is because when
    calc is running as a shell script, calc will close stdin run in in
    a non-interactive mode.

    The following shell script will always print "got null" because
    stdin will be closed by calc during startup:

        #!/usr/bin/calc -q -f

        # The prompt will ALWAYS FAIL and return a null value
        n = prompt("Test> ");
        if (isnull(n)) {
          print("got null");
        } else {
          print("got " + n);
        }

     However the following shell script (note the -p before the -f in
     the 1st line) will be interactive, prompt with "Test> " and print
     the "got" result as expected:

        #!/usr/bin/calc -q -p -f

        n = prompt("Test> ");
        if (isnull(n)) {
          print("got null");
        } else {
          print("got " + n);
        }


EXAMPLE
    ; x = prompt("? ");
    ? 273
    ; x
        "273"

    ; for (;;) {s = prompt("? "); if (s=="end") break; print "\t":eval(s)^2;}
    ? 3
            9
    ? 2 + 3
            25
    ? end

LIMITS
    none

LINK LIBRARY
    none

SEE ALSO
    command, fgetfield, fgetline, fgetstr, unexpected

## Copyright (C) 1999,2006,2023  Landon Curt Noll
##
## Calc is open software; you can redistribute it and/or modify it under
## the terms of the version 2.1 of the GNU Lesser General Public License
## as published by the Free Software Foundation.
##
## Calc is distributed in the hope that it will be useful, but WITHOUT
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
## or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General
## Public License for more details.
##
## A copy of version 2.1 of the GNU Lesser General Public License is
## distributed with calc under the filename COPYING-LGPL.  You should have
## received a copy with calc; if not, write to Free Software Foundation, Inc.
## 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
##
## Under source code control:   1995/12/18 12:34:58
## File existed as early as:    1995
##
## chongo <was here> /\oo/\     http://www.isthe.com/chongo/
## Share and enjoy!  :-)        http://www.isthe.com/chongo/tech/comp/calc/
