NAME
       read - Read from a channel

SYNOPSIS
       read ?-nonewline? channelId

       read channelId numChars


DESCRIPTION
       In  the first form, the read command reads all of the data
       from channelId  up  to  the  end  of  the  file.   If  the
       -nonewline  switch is specified then the last character of
       the file is discarded if it is a newline.  In  the  second
       form,  the extra argument specifies how many characters to
       read.  Exactly that  many  characters  will  be  read  and
       returned, unless there are fewer than numChars left in the
       file;  in this  case  all  the  remaining  characters  are
       returned.   If  the  channel is configured to use a multi-
       byte encoding, then the number of characters read may  not
       be the same as the number of bytes read.

       If  channelId  is in nonblocking mode, the command may not
       read as many characters as requested: once  all  available
       input has been read, the command will return the data that
       is available rather than blocking for more input.  If  the
       channel  is  configured to use a multi-byte encoding, then
       there may actually be some bytes remaining in the internal
       buffers  that  do  not  form  a complete character.  These
       bytes will not be returned until a complete  character  is
       available  or  end-of-file  is  reached.   The  -nonewline
       switch is ignored if the command returns  before  reaching
       the end of the file.

       Read  translates  end-of-line  sequences in the input into
       newline characters according to  the  -translation  option
       for  the  channel.   See the fconfigure manual entry for a
       discussion on ways in which fconfigure will alter input.


SEE ALSO
       eof(n), fblocked(n), fconfigure(n)


KEYWORDS
       blocking, channel, end of line, end of file,  nonblocking,
