_is_article_visible

 SYNOPSIS
   -

 USAGE
   Integer _is_article_visible ()

 DESCRIPTION
   This function returns information about whether or not the article
   associated with the current header is visible in a window and
   whether or not it is attached to the current header.
   Specifically, it returns a bitmapped value:

         0  : if the article window is hidden and not associated with the
                current header.
         1  : if the article window is showing but the current header
                does not refer to the article.
         2  : if the article window is hidden but attached to the current
                header.
         3  : if the article window is showing and contains the current
                header article.


 EXAMPLE
   If one only want to know whether or not there is an article visible
   in the window, then use

         _is_article_visible () & 1

   To determine whether or not it is associated with the current
   header regardless of whether or not it is showing, use

         _is_article_visible () & 2


 SEE ALSO
   _is_article_visible, is_article_window_zoomed, call
--------------------------------------------------------------

article_as_string

 SYNOPSIS
   -

 USAGE
   String_Type article_as_string ()

 DESCRIPTION
   This function will return the entire contents of the current
   article as a string.  If no article has been dowloaded, the empty
   string will be returned.  The current article may not be the one
   associated with the currently selected article.

 NOTES

 SEE ALSO
   replace_article, is_article_visible
--------------------------------------------------------------

get_next_art_pgdn_action

 SYNOPSIS
   -

 USAGE
   Integer get_next_art_pgdn_action ()

 DESCRIPTION
   This function may be used to get information about what action slrn
   will take when an attempt is made to go to the next page of the
   current article, e.g., by pressing the space key.  It returns one
   of the following integers:

          -1  Not in article mode
           0  Next page of the article will be displayed
           1  The next unread article will be displayed
           2  The newsreader will go to the next newsgroup

--------------------------------------------------------------

is_article_visible

 SYNOPSIS
   -

 USAGE
   Integer is_article_visible ()

 DESCRIPTION
   This function returns information about whether or not the article
   associated with the current header is visible in a window.
   Specifically, it returns:

         0  : if the article window is hidden
         1  : if the article window is showing but the current header
                does not refer to the article
         3  : if the article window contains the current header article


 NOTES
   For some purposes, it may be more useful to the the
   `_is_article_visible' function which may be slightly more
   useful.  In fact, `is_article_visible' may be written in terms
   of `_is_article_visible' as

        define is_article_visible ()
        { 
            variable status = _is_article_visible ();
            !if (status & 1) return 0;
            return status;
        }


 SEE ALSO
   _is_article_visible, is_article_window_zoomed, call
--------------------------------------------------------------

is_article_window_zoomed

 SYNOPSIS
   -

 USAGE
   Integer is_article_window_zoomed ()

 DESCRIPTION
   This function returns 1 if the article window is zoomed, or 0
   otherwise.

 SEE ALSO
   is_article_visible, call
--------------------------------------------------------------

pipe_article

 SYNOPSIS
   -

 USAGE
   Void pipe_article (String cmd)

 DESCRIPTION
   This function may be used to pipe the current article to the command
   given by the `cmd' argument.

 SEE ALSO
   read_mini
--------------------------------------------------------------

re_search_article

 SYNOPSIS
   -

 USAGE
   Integer re_search_article (String pat)

 DESCRIPTION
   This function searches forward in the article associated with the
   currently selected header for a string matching the regular
   expression given by the parameter `pat'.  It returns 0 if no
   matching line is found.   Otherwise, it returns 1 and the matching
   line will be left on the stack as a string.

 SEE ALSO
   search_article
--------------------------------------------------------------

replace_article

 SYNOPSIS
   -

 USAGE
   replace_article (String_Type string)

 DESCRIPTION
   The `replace_article' may be used to replace the text of
   the currently displayed article with an arbitrary string.

 EXAMPLE
   The following code fragment causes the text of an article to be
   replaced by its lowercase equivalent:

        replace_article (strlow (article_as_string ()));


 SEE ALSO
   article_as_string, is_article_visible
--------------------------------------------------------------

save_current_article

 SYNOPSIS
   -

 USAGE
   Integer save_current_article (String filename)

 DESCRIPTION
   This function saves the currently selected article to a file
   specified by `filename'.  It returns 0 upon success or -1 upon
   failure.

 NOTES
   This function always creates a new file.

 SEE ALSO
   
--------------------------------------------------------------

search_article

 SYNOPSIS
   -

 USAGE
   Integre search_article (String str)

 DESCRIPTION
   This function searches forward in the article associated with the
   currently selected header for the string given by the parameter
   `str'.  It returns 0 if no matching line is found.  Otherwise, it
   returns 1 and the matching line will be left on the stack as a
   string.

 SEE ALSO
   re_search_article
--------------------------------------------------------------

set_article_window_size

 SYNOPSIS
   -

 USAGE
   Void set_article_window_size (Integer nrows)

 DESCRIPTION
   The `set_article_window_size' may be used to set the height of the
   article window.  The variable `SCREEN_HEIGHT' may be used to
   facilitate this.

 SEE ALSO
   
--------------------------------------------------------------

get_response

 SYNOPSIS
   -

 USAGE
   Interger get_response (String choices, String prompt)

 DESCRIPTION
   This function will prompt the user for a single character using the
   prompt as specifed by the second parameter.  The first parameter,
   choices, specified the characters that will be accepted.  Any
   character in the prompt string that is preceeded by \001 will be
   given the `response_char' color.

 EXAMPLE
   The following:

          rsp = get_response ("yYnN", "Are you hungry? \001Yes, \001No");

   will return one of the four characters `y', `Y', `n',
   or `N' to the variable `rsp'.

 SEE ALSO
   get_yes_no_cancel, set_color, get_select_box_response
--------------------------------------------------------------

get_select_box_response

 SYNOPSIS
   -

 USAGE
   Integer get_select_box_response (title, item_1, ..., n_items)

 DESCRIPTION
   This function pops a selection box and queries the user for a
   response.  An integer is returned which indicates the user's choice.

 EXAMPLE

          variable rsp = get_select_box_response (
                            "Pick a number:",
                            "one", "two", "three", "four",
                            4);
          message (sprintf ("You chose %d", rsp));


 SEE ALSO
   read_mini, message, get_yes_no_cancel, get_response
--------------------------------------------------------------

get_yes_no_cancel

 SYNOPSIS
   -

 USAGE
   Integer get_yes_no_cancel (str)

 DESCRIPTION
   This function displays `str' in the minibuffer after concatenating
   `"? [Y]-es, N-o, C-ancel"' to it.  It then awaits user input and
   returns:

           1 if yes
           0 if no
          -1 if cancel


 NOTES
   If a `%' character is to appear, it must be doubled.

 SEE ALSO
   get_select_box_response, getkey, read_mini, select_list_box
--------------------------------------------------------------

message_now

 SYNOPSIS
   Display a message immediately

 USAGE
   Void slrn_message_now (String_Type s)

 DESCRIPTION
   This function displays the string `s' to the message area
   immediately.

 SEE ALSO
   message, vmessage, error
--------------------------------------------------------------

read_mini

 SYNOPSIS
   -

 USAGE
   String read_mini (String p, String dflt, String init)

 DESCRIPTION
   This function will prompt the user for a string value using prompt
   `p'.  The second parameter `dfl' is used to specify the
   default value. If the final parameter is not the empty string
   (`""'), it will be made available to the user for editing.

 SEE ALSO
   read_mini_no_echo, getkey, set_input_string, set_input_chars
--------------------------------------------------------------

read_mini_no_echo

 SYNOPSIS
   -

 USAGE
   String read_mini_no_echo (String p, String dflt, String init)

 DESCRIPTION
   This function performs the same purpose as `read_mini' except it
   does not echo the entered text to the screen.

 SEE ALSO
   read_mini, getkey, set_input_string, set_input_chars
--------------------------------------------------------------

select_list_box

 SYNOPSIS
   -

 USAGE
   String_Type select_list_box (title, s_1, ... s_n, n, active_n)

       String_Type title, s_1, ... s_n
       Int_Type n, active_n


 DESCRIPTION
   This purpose of this function is to present a list of `n' strings,
   specified by the `s_1', ... `s_n' parameters to the user and have
   the user select one.  The user interface for this operation is that
   of a box of strings.  The title of the box is specified by the
   `title' parameter.  The `active_n' parameter specifies which string
   is to be the default selection.  It returns the string selected by
   the user.

 SEE ALSO
   get_select_box_response, get_response
--------------------------------------------------------------

set_input_chars

 SYNOPSIS
   -

 USAGE
   Void set_input_chars (String val)

 DESCRIPTION
   This function may be used to set the character that will be returned
   by the next prompt for single character input in the minibuffer.
   This is the type of input that `get_response' solicits.

 EXAMPLE

          set_input_chars ("y");
          if ('y' == get_yes_no_cancel ("Really Quit"))
            quit (0);


 SEE ALSO
   set_input_string, get_response, get_yes_no_cancel
--------------------------------------------------------------

set_input_string

 SYNOPSIS
   -

 USAGE
   Void set_input_string (String val)

 DESCRIPTION
   This function may be used to set the string that will be returned
   by the next prompt for input in the minibuffer.  One can set the
   value returned for the next n prompts by separating the values by
   \n characters.

 EXAMPLE
   The code

          variable a, b;
          set_input_string ("Apple\nOrange");
          a = read_mini ("Enter Fruit", "", "");
          b = read_mini ("Enter another Fruit", "", "");

   will result in `a' having the value `Apple' and `b' having the
   value `Orange'.

 SEE ALSO
   read_mini, set_input_chars
--------------------------------------------------------------

close_log_file

 SYNOPSIS
   Close a previously opened log file

 USAGE
   Void close_log_file ()

 DESCRIPTION
   The `close_log_file' function closes the file previously opened
   by `open_log_file'.

 SEE ALSO
   open_log_file, log_message
--------------------------------------------------------------

log_message

 SYNOPSIS
   Send a message to the log file

 USAGE
   Void log_message (String_Type msg)

 DESCRIPTION
   The `log_message' function may be used to write a string to the
   log file.  If no log file has been opened via `open_log_file',
   the message will be written to `stderr'.

 SEE ALSO
   open_log_file, close_log_file, message
--------------------------------------------------------------

make_home_filename

 SYNOPSIS
   -

 USAGE
   String make_home_filename (name)

 DESCRIPTION
   This function returns the complete filename associated with a file
   called `name' located in the user's home directory.

 SEE ALSO
   read_mini
--------------------------------------------------------------

open_log_file

 SYNOPSIS
   Log S-Lang traceback messages to a file

 USAGE
   Void open_log_file (String_Type file)

 DESCRIPTION
   The `open_log_file' function causes S-Lang traceback messages
   to be written to the specified file.  This is useful for debugging
   macros.  Traceback messages are enabled by setting the S-Lang
   variable `_traceback' to a non-zero value.

 SEE ALSO
   close_log_file, log_message, _traceback, _trace_function
--------------------------------------------------------------

print_file

 SYNOPSIS
   Send a file to the printer

 USAGE
   Void print_file (String_Type file)

 DESCRIPTION
   The `print_file' function may be used to send a specified file
   to the printer.

 NOTES
   The printer is specified via the slrnrc `printer_name' variable.
--------------------------------------------------------------

current_newsgroup

 SYNOPSIS
   -

 USAGE
   String current_newsgroup ()

 DESCRIPTION
   This function returns the name of the current newsgroup.

 SEE ALSO
   server_name
--------------------------------------------------------------

get_group_flags

 SYNOPSIS
   -

 USAGE
   Integer get_group_flags ()

 DESCRIPTION
   This function returns the flags associated with the current
   newsgroup.  This integer is a bitmapped value whose bits are
   defined by the following constants:

        GROUP_UNSUBSCRIBED   : set if the group is unsubscribed
        GROUP_NEW_GROUP_FLAG : set if the group is new


 SEE ALSO
   get_header_flags, set_group_flags, current_newsgroup
--------------------------------------------------------------

group_down_n

 SYNOPSIS
   -

 USAGE
   Integer group_down_n (Integer n)

 DESCRIPTION
   This function moves the current group pointer down `n' groups and
   returns the actual number moved.

 SEE ALSO
   group_up_n, group_search, current_newsgroup
--------------------------------------------------------------

group_search

 SYNOPSIS
   -

 USAGE
   Integer group_search (String name)

 DESCRIPTION
   This function searches for a newsgroup containing the string
   `name'.  It also searches newsgroup descriptions.  A non-zero value
   is returned upon success or zero upon failure.

 NOTES
   This search may wrap.

 SEE ALSO
   select_group, current_newsgroup
--------------------------------------------------------------

group_unread

 SYNOPSIS
   -

 USAGE
   Integer group_unread ()

 DESCRIPTION
   This function returns the number of unread articles in the current
   newsgroup.

 SEE ALSO
   select_group, current_newsgroup, is_group_mode
--------------------------------------------------------------

group_up_n

 SYNOPSIS
   -

 USAGE
   Integer group_up_n (Integer n)

 DESCRIPTION
   This function moves the current group pointer up `n' groups and
   returns the actual number moved.

 SEE ALSO
   group_down_n, group_search, current_newsgroup
--------------------------------------------------------------

is_group_mode

 SYNOPSIS
   -

 USAGE
   Integer is_group_mode ()

 DESCRIPTION
   This function returns non-zero if the current mode is group-mode.

 SEE ALSO
   
--------------------------------------------------------------

select_group

 SYNOPSIS
   -

 USAGE
   Integer select_group ()

 DESCRIPTION
   This function may be used to select the current group.  It returns
   0 upon success or -1 upon failure.  It can fail if the group has no
   articles.

 SEE ALSO
   current_newsgroup
--------------------------------------------------------------

set_group_flags

 SYNOPSIS
   -

 USAGE
   Void set_group_flags (Integer flags)

 DESCRIPTION
   This function may be used to set the flags associated with the
   current newsgroup.

 SEE ALSO
   get_group_flags
--------------------------------------------------------------

collapse_thread

 SYNOPSIS
   -

 USAGE
   Void collapse_thread ()

 DESCRIPTION
   This function may be used to collapse the current thread.

 SEE ALSO
   uncollapse_thread, collapse_threads, is_thread_collapsed
--------------------------------------------------------------

collapse_threads

 SYNOPSIS
   -

 USAGE
   Void collapse_threads ()

 DESCRIPTION
   This function will collapse all threads in the current newsgroup.

 SEE ALSO
   uncollapse_threads
--------------------------------------------------------------

extract_article_header

 SYNOPSIS
   -

 USAGE
   String_Type extract_article_header (String h)

 DESCRIPTION
   This function returns the article header line specified by the
   header keyword `h' of the currently selected header.  The
   currently selected header may correspond to the currently
   displayed article.  To get a header of the currently displayed
   article, use the `extract_displayed_article_header' function.
   
   If the header does not exist, it returns the empty string.

 NOTES
   This function will not query the server.  If you are looking for a
   non-NOV header, then download the message associated with the
   current header line.

 SEE ALSO
   extract_displayed_article_header, is_article_visible
--------------------------------------------------------------

extract_displayed_article_header

 SYNOPSIS
   -

 USAGE
   String_Type extract_displayed_article_header (String h)

 DESCRIPTION
   This function returns the article header line specified by the
   header keyword `h' of the currently displayed message.
   If the header does not exist, it returns the empty string.

 SEE ALSO
   extract_displayed_article_header, is_article_visible
--------------------------------------------------------------

get_grouplens_score

 SYNOPSIS
   -

 USAGE
   Integer get_grouplens_score ()

 DESCRIPTION
   This function returns the grouplens score of the current header.
   If the header has no grouplens score, or if grouplens support has
   not been enabled, 0 will be returned.

 SEE ALSO
   
--------------------------------------------------------------

get_header_flags

 SYNOPSIS
   -

 USAGE
   Integer get_header_flags ()

 DESCRIPTION
   This functions returns the flags for the current header.  This
   integer is a bitmapped value whose bits are defined by the following
   constants:

         HEADER_READ : set if header is marked as read
         HEADER_TAGGED : set if header has `*' tag
         HEADER_HIGH_SCORE : set if header has high score
         HEADER_LOW_SCORE : set if header has low score


 SEE ALSO
   set_header_flags
--------------------------------------------------------------

get_header_score

 SYNOPSIS
   -

 USAGE
   Integer get_header_score ()

 DESCRIPTION
   This functions returns the score for the current header.

 SEE ALSO
   set_header_score
--------------------------------------------------------------

get_header_tag_number

 SYNOPSIS
   -

 USAGE
   Integer get_header_tag_number ()

 DESCRIPTION
   This function returns the value of the numerical tag associated
   with the current header.  If the header has no numerical tag, zero
   is returned.

 SEE ALSO
   
--------------------------------------------------------------

get_visible_headers

 SYNOPSIS
   Get the list of headers that are to be displayed

 USAGE
   String_Type get_visible_headers ()

 DESCRIPTION
   The `get_visible_headers' function returns the list of headers
   headers that are to be displayed when an article is viewed.  See the
   documentation for the `set_visible_headers' for the format of
   this string.

 SEE ALSO
   set_visible_headers, is_article_visible, set_header_display_format
--------------------------------------------------------------

goto_num_tagged_header

 SYNOPSIS
   -

 USAGE
   Integer goto_num_tagged_header (Integer n)

 DESCRIPTION
   This function causes the header with numerical tag `n' to become the
   current header.  It returns 1 upon success or 0 upon failure.

 SEE ALSO
   header_down, get_header_flags, call
--------------------------------------------------------------

header_down

 SYNOPSIS
   -

 USAGE
   Integer header_down (Integer n)

 DESCRIPTION
   The function moves the current position down `n' headers.  It
   returns the number that was actually moved.

 SEE ALSO
   header_up
--------------------------------------------------------------

header_next_unread

 SYNOPSIS
   -

 USAGE
   Intger header_next_unread ()

 DESCRIPTION
   Goto next unread header.  The function returns one upon success or
   zero upon failure.

 SEE ALSO
   header_down
--------------------------------------------------------------

header_up

 SYNOPSIS
   -

 USAGE
   header_up ()

 DESCRIPTION
   The function moves the current position up `n' headers.  It
   returns the number that was actually moved.

 SEE ALSO
   header_down
--------------------------------------------------------------

headers_hidden_mode

 SYNOPSIS
   -

 USAGE
   Int_Type headers_hidden_mode ()

 DESCRIPTION
   This function may be used to determine whether or not some headers
   will be hidden when an article is displayed.  It returns 0 is all
   headers will be displayed, or a non-zero value if some may be hidden.

 SEE ALSO
   set_visible_headers, get_visible_headers, is_article_visible
--------------------------------------------------------------

is_thread_collapsed

 SYNOPSIS
   -

 USAGE
   Integer is_thread_collapsed ()

 DESCRIPTION
   If the current header is the start of a collapsed thread, this
   function will return a non-zero value.  If the thread is expanded,
   zero will be returned.

 SEE ALSO
   collapse_thread
--------------------------------------------------------------

locate_header_by_msgid

 SYNOPSIS
   Goto a header of a specified message-id

 USAGE
   Int_Type locate_header_by_msgid (String_Type msgid, Int_Type qs)

 DESCRIPTION
   The `locate_header_by_msgid' function may be used to set the
   current header to one whose message-id is given by `msgid'.  If
   the second parameter `qs' is non-zero, then the header will be
   retrieved from the server if it is not in the current list of
   headers.  The function returns `1' if an appropriate header was
   found, or `0' otherwise.

 EXAMPLE
   One possible use of this function is to mark the current position
   in the header list and return to that position later, e.g.,

          % Save the current position
          variable msgid = extract_article_header ("Message-Id");
             .
             .
          % Return to previous position.
          () = locate_header_by_msgid (msgid);

--------------------------------------------------------------

next_tagged_header

 SYNOPSIS
   -

 USAGE
   Integer next_tagged_header ()

 DESCRIPTION
   This function moves the current header position to the next `*'
   tagged header.  It returns non-zero upon success or zero upon
   failure.

 SEE ALSO
   prev_tagged_header, goto_num_tagged_header, header_up, header_down
--------------------------------------------------------------

prev_tagged_header

 SYNOPSIS
   -

 USAGE
   Integer prev_tagged_header ()

 DESCRIPTION
   This function moves the current header position to the previous `*'
   tagged header.  It returns non-zero upon success or zero upon
   failure.

 SEE ALSO
   next_tagged_header, goto_num_tagged_header, header_up, header_down
--------------------------------------------------------------

re_bsearch_author

 SYNOPSIS
   -

 USAGE
   Integer re_bsearch_author (String regexp)

 DESCRIPTION
   Search backward for header whose author matches regular expression
   `regexp'. If successful, it returns 1 and the current header is set
   to the matching header.  It returns 0 upon failure.

 SEE ALSO
   re_fsearch_author, re_fsearch_subject
--------------------------------------------------------------

re_bsearch_subject

 SYNOPSIS
   -

 USAGE
   Integer re_bsearch_subject (String regexp)

 DESCRIPTION
   Search backward for header whose subject matches regular expression
   `regexp'. If successful, it returns 1 and the current header is set
   to the matching header.  It returns 0 upon failure.

 SEE ALSO
   re_fsearch_author, re_bsearch_subject
--------------------------------------------------------------

re_fsearch_author

 SYNOPSIS
   -

 USAGE
   Integer re_bsearch_author (String regexp)

 DESCRIPTION
   Search forward for header whose author matches regular expression
   `regexp'. If successful, it returns 1 and the current header is set
   to the matching header.  It returns 0 upon failure.

 SEE ALSO
   re_bsearch_author, re_fsearch_subject
--------------------------------------------------------------

re_fsearch_subject

 SYNOPSIS
   -

 USAGE
   Integer re_fsearch_subject (String regexp)

 DESCRIPTION
   Search forward for header whose subject matches regular expression
   `regexp'. If successful, it returns 1 and the current header is set
   to the matching header.  It returns 0 upon failure.

 SEE ALSO
   re_fsearch_author, re_bsearch_subject
--------------------------------------------------------------

set_header_display_format

 SYNOPSIS
   Set the nth header display format

 USAGE
   Void set_header_display_format (Int_Type nth, String_Type fmt)

 DESCRIPTION
   The `set_header_display_format' function may be used to set the
   `nth' header display format to `fmt'.  One may
   interactively toggle between the formats via the
   `toggle_header_formats' keybinding.
   
   The generic format specifier begins with the `%' character and must
   be of the form:

           %[-][w]x

   where the brackets indicate optional items.  Here, _w_ is a width
   specifier consisting of one or more digits.  If the minus sign (-)
   is present, the item will be right justified, otherwise it will be
   left justified.  The item specifier _x_ is required and, depending
   on it value, has the following meaning:

            s : subject
            S : score
            r : author real name
            f : from header
            G : Group lens score
            l : Number of lines
            n : server number
            d : date
            t : thread tree
            F : flags (read/unread, `*' and `#' tags, header number)
            % : percent character
            g : goto a specified column

   Thus, `"%F%-5l:%t%s"' indicates that the header window will contain
   the, in order: the flags, the number of lines the article contains
   right justified in a 5 character field, a `:', the tree, and the
   subject.
   
   The `g' format specifier must be preceeded by a number that
   indicates the next write should take place at the specified column.
   If the column number is negative, then the column is interpreted as
   an offset from the right side of the display.  For example,
   `%-24g%f' indicates that then _From_ header is to
   be written out 24 columns from the right edge of the window.

 SEE ALSO
   set_visible_headers
--------------------------------------------------------------

set_header_flags

 SYNOPSIS
   -

 USAGE
   Void set_header_flags (Integer flags)

 DESCRIPTION
   This function may be used to set the flags associated with the
   currently selected header.  See the description for the
   `get_header_flags' function for more information.

 SEE ALSO
   get_header_flags
--------------------------------------------------------------

set_header_score

 SYNOPSIS
   -

 USAGE
   Void set_header_score (Integer score)

 DESCRIPTION
   This function may be used to set the score of the current header.

 SEE ALSO
   get_header_score
--------------------------------------------------------------

set_visible_headers

 SYNOPSIS
   Set the headers that are to be displayed

 USAGE
   Void set_visible_headers (String_Type header_list)

 DESCRIPTION
   The `set_visible_headers' function may be used to specify the
   headers that are displayed when an article is viewed.  The string 
   `header_list' specifies a comma separated list of headers to
   show.

 EXAMPLE
   To show only the From header and headers that start with `X-', use:

        set_visible_headers ("X-,From:");


 SEE ALSO
   get_visible_headers, headers_hidden_mode, is_article_visible, set_header_display_format
--------------------------------------------------------------

thread_size

 SYNOPSIS
   -

 USAGE
   Integer thread_size ()

 DESCRIPTION
   This function returns the number of articles in the current thread
   or subthread.

 SEE ALSO
   
--------------------------------------------------------------

uncollapse_thread

 SYNOPSIS
   -

 USAGE
   Void uncollapse_thread ()

 DESCRIPTION
   This function may be used to uncollapse the current thread.

 SEE ALSO
   thread_size, collapse_thread, is_thread_collapsed
--------------------------------------------------------------

uncollapse_threads

 SYNOPSIS
   -

 USAGE
   Void uncollapse_threads ()

 DESCRIPTION
   This function uncollapses all threads.  This is usually necessary
   if one wants to use the header movement functions to access hidden
   headers.

 SEE ALSO
   collapse_threads
--------------------------------------------------------------

call

 SYNOPSIS
   -

 USAGE
   Void call (String fun)

 DESCRIPTION
   This function is used to execute an interactive slrn internal
   function.  Such functions are used with `setkey' statements in the
   `.slrnrc' startup files.

 SEE ALSO
   definekey, undefinekey, set_prefix_argument
--------------------------------------------------------------

definekey

 SYNOPSIS
   -

 USAGE
   definekey (String fun, String key, String km)

 DESCRIPTION
   This function is used to bind a key sequence specified by `key' to
   a function `fun' in the keymap `km'.  Here `fun' can be any
   predefined slang function that takes 0 arguments and returns void.
   The parameter `km' must be either "article", "group", or "readline".

 SEE ALSO
   undefinekey, call, set_prefix_argument
--------------------------------------------------------------

get_prefix_arg

 SYNOPSIS
   Get the value of the prefix argument

 USAGE
   Int_Type get_prefix_arg ()

 DESCRIPTION
   The `get_prefix_arg' function returns the value of the prefix
   argument. If no prefix argument has been set, the function returns
   `-1', which is an impossible value for the prefix argument.

 NOTES
   The prefix argument is specified interactively via the ESC key
   followed by one or more digits that determine value of the prefix
   argument.
   
   This concept has been borrowed from the emacs text editor.

 SEE ALSO
   set_prefix_argument, reset_prefix_arg
--------------------------------------------------------------

getkey

 SYNOPSIS
   -

 USAGE
   Integer getkey ()

 DESCRIPTION
   Read a character from the terminal and returns its value.
   Note: Function and arrow keys usually return more than one character.

 SEE ALSO
   ungetkey, input_pending, read_mini
--------------------------------------------------------------

input_pending

 SYNOPSIS
   -

 USAGE
   Integer input_pending (Integer tsecs)

 DESCRIPTION
   This function checks for keyboard input.  Its argument specifies
   the number of tenths of a second to wait.  It returns 0 if no input
   is available or a non-sero value if input is available.

 SEE ALSO
   getkey, ungetkey
--------------------------------------------------------------

reset_prefix_arg

 SYNOPSIS
   Cancel the prefix argument

 USAGE
   Void reset_prefix_arg ()

 DESCRIPTION
   The `reset_prefix_arg' function may be used to reset the prefix
   argument.  This is usually necessary after calling to keep the
   argument from propagating to other functions.

 SEE ALSO
   get_prefix_arg, set_prefix_argument
--------------------------------------------------------------

set_prefix_argument

 SYNOPSIS
   -

 USAGE
   Void set_prefix_argument (Integer val)

 DESCRIPTION
   The `set_prefix_argument' function may be used to set the prefix
   argument to `val'.  It is mainly used immediately before
   `calling'
   internal functions which take prefix arguments.

 SEE ALSO
   call
--------------------------------------------------------------

undefinekey

 SYNOPSIS
   -

 USAGE
   Void undefinekey (String key, String map)

 DESCRIPTION
   This function undefineds a key sequence specified by `key' from
   keymap `map'.

 SEE ALSO
   definekey
--------------------------------------------------------------

ungetkey

 SYNOPSIS
   -

 USAGE
   Void ungetkey (Integer ch)

 DESCRIPTION
   This function pushes the character `ch' back upon the input stream
   such that the next call to `getkey' will return it.  It is possible
   to push several characters back.

 SEE ALSO
   getkey
--------------------------------------------------------------

get_variable_value

 SYNOPSIS
   -

 USAGE
   Value get_variable_value (String v)

 DESCRIPTION
   This function returns the value of an internal variable specified
   by `v'.  Here `v' must be one of the variable names that can be
   used in `.slrnrc' `set' commands.  The type of the object returned will
   depend upon the type of the object `v' represents.

 SEE ALSO
   set_integer_variable, set_string_variable
--------------------------------------------------------------

quit

 SYNOPSIS
   -

 USAGE
   Void quit (Integer exit_status)

 DESCRIPTION
   This function will cause the newsreader to exit with exit status
   specified by `exit_status'.

 SEE ALSO
   call
--------------------------------------------------------------

server_name

 SYNOPSIS
   -

 USAGE
   String server_name ()

 DESCRIPTION
   The `server_name' function returns the name of the current server.

 SEE ALSO
   current_newsgroup
--------------------------------------------------------------

set_color

 SYNOPSIS
   -

 USAGE
   Void set_color (String obj, String fg, String bg)

 DESCRIPTION
   This function may be used to set the foreground and background
   colors of an object.  The `obj' parameter specifies the object and
   the `fg' and `bg' parameters specify the foreground and background
   colors, respectively.
--------------------------------------------------------------

set_integer_variable

 SYNOPSIS
   -

 USAGE
   Void set_integer_variable (String name, Integer v)

 DESCRIPTION
   This function may be used to set the value of the internal integer
   variable specified by `name' to value `v'.  `name' must be an integer
   variable name allowed in .slrnrc `set' commands.

 SEE ALSO
   set_string_variable, get_variable_value
--------------------------------------------------------------

set_string_variable

 SYNOPSIS
   -

 USAGE
   Void set_string_variable (String name, String v)

 DESCRIPTION
   This function may be used to set the value of the internal string
   variable specified by `name' to value `v'.  `name' must be a string
   variable name allowed in .slrnrc `set' commands.

 SEE ALSO
   set_integer_variable, get_variable_value
--------------------------------------------------------------

tt_send

 SYNOPSIS
   Send a string to the terminal

 USAGE
   Void tt_send (String_Type s)

 DESCRIPTION
   This function may be used to send a string directly to the display
   without any involvement of the screen management layer.

 SEE ALSO
   message, update
--------------------------------------------------------------

update

 SYNOPSIS
   -

 USAGE
   update ()

 DESCRIPTION
   This function may be used to force the display to be updated.

 SEE ALSO
   message
--------------------------------------------------------------

