umask()to the file operations extension presented in Internal File Ops.
isatty()function to tell if the input file is a terminal. (Hint: this function is usually expensive to call; try to call it just once.) The content of the prompt should come from a variable settable by
awk-level code. You can write the prompt to stanard error. However, for best results, open a new file descriptor (or file pointer) on /dev/tty and print the prompt there, in case standard error has been redirected.
Why is standard error a better choice than standard output for writing the prompt? Which reading mechanism should you replace, the one to get a record, or the one to read raw bytes?
gawk, so that the names of functions in different extensions don’t conflict with each other? If you come up with a really good scheme, contact the
gawkmaintainer to tell him about it.