Lines Matching full:to

4 .\" Permission is hereby granted, free of charge, to any person obtaining a copy of this software a…
5 .\" "Software"), to deal in the Software without restriction, including
6 .\" without limitation the rights to use, copy, modify, merge, publish,
7 .\" distribute, and/or sell copies of the Software, and to permit persons
8 .\" to whom the Software is furnished to do so, provided that the above
14 .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24 .\" shall not be used in advertising or otherwise to promote the sale, use
40 gl_read_char \- allow the user to compose an input line
271 input, then provides interactive editing facilities, similar to those of the
272 UNIX \fBtcsh\fR shell. In addition to simple command-line editing, it supports
278 The following shows a complete example of how to use the \fBgl_get_line()\fR
279 function to get input from the user:
312 subsequent calls to the \fBgl_get_line()\fR function, including the history
317 return value of \fBdel_GetLine()\fR to make \fIgl\fR \fINULL\fR. This is a
318 safety precaution. If the program subsequently attempts to pass \fIgl\fR to
320 of attempting to use the deleted resource object.
323 \fBgl_get_line()\fR function and returns an opaque pointer to the object that
325 \fIlinelen\fR argument, and the number of bytes to allocate for storing history
327 back-to-back in a single buffer of this size. Note that this means that the
329 lengths of the individual lines. If you want to place an upper limit on the
335 On error, a message is printed to \fBstderr\fR and \fINULL\fR is returned.
339 previous call to \fBnew_GetLine()\fR. It always returns \fINULL\fR (for
344 The \fBgl_get_line()\fR function can be called any number of times to read
346 call to \fBnew_GetLine()\fR. The \fIprompt\fR argument should be a normal
347 null-terminated string, specifying the prompt to present the user with. By
349 \fBgl_prompt_style()\fR function, prompts can contain directives to do
350 underlining, switch to and from bold fonts, or turn highlighting on and off.
353 If you want to specify the initial contents of the line for the user to edit,
356 using the \fIstart_pos\fR argument. This should be -1 if you want the cursor to
357 follow the last character of the start line. If you do not want to preload the
359 \fIstart_pos\fR to -1.
362 The \fBgl_get_line()\fR function returns a pointer to the line entered by the
365 by the caller, or assumed to be unchanging from one call to the next. When
368 a file, there will similarly be a newline unless the input line was too long to
370 \fBgl_get_line()\fR again to read the rest of the line. Note that this behavior
371 makes \fBgl_get_line()\fR similar to \fBfgets\fR(3C). When \fBstdin\fR is not
372 connected to a terminal, \fBgl_get_line()\fR simply calls \fBfgets()\fR.
374 The \fBgl_get_line()\fR function has two possible return values: a pointer to
376 caused \fBgl_get_line()\fR to return is available both by inspecting
388 The last call to \fBgl_get_line()\fR successfully returned a completed input
399 early to avoid blocking the process while waiting for terminal I/O. The
400 \fBgl_pending_io()\fR function can be used to see what type of I/O
452 An unexpected error caused \fBgl_get_line()\fR to abort (consult \fBerrno\fR
459 \fBerrno\fR is not sufficient to explain what happened, you can use the
460 \fBgl_error_message()\fR function to request a description of the last error
464 The return value of \fBgl_error_message()\fR is a pointer to the message that
465 occurred. If the \fIbuff\fR argument is \fINULL\fR, this will be a pointer to a
466 buffer within \fIgl\fR whose value will probably change on the next call to any
470 and the return value will be a pointer to the first element of this buffer. If
471 the message will not fit in the provided buffer, it will be truncated to fit.
475 \fBgl_prompt_style()\fR function can be used to enable optional formatting
549 Switch to a pale (half brightness) font.
612 will change, so it is better to always use %% to display a literal %.
633 since it encourages uniformity, and frees the user from having to configure
636 where there's no filesystem to read a configuration file from, and also in
637 applications where a radically different choice of keybindings is needed to
638 emulate a legacy keyboard interface. To cater for such cases, the
639 \fBgl_configure_getline()\fR function allows the application to control where
644 that would normally be read from a user's \fB~/.teclarc\fR file, to be read
647 the first call to \fBgl_get_line()\fR, the default behavior of reading
648 \fB~/.teclarc\fR on the first call to \fBgl_get_line()\fR is disabled, so all
670 The \fIapp_string\fR argument causes the calling application to start in
672 the use of the terminal bell by the library. It then attempts to read
685 subsequent use by the read-init-files key-binding function, so if you plan to
693 priority of the binding, according to whom it is being established for, and
718 another call to this function, or a call to \fBgl_configure_getline()\fR.
721 The \fIkeyseq\fR argument specifies the key sequence to be bound or unbound,
724 action to bind the key sequence to, or it must be \fINULL\fR or \fB""\fR to
727 If in your application you would like to have TAB completion complete other
728 things in addition to or instead of filenames, you can arrange this by
729 registering an alternate completion callback function with a call to the
733 The \fIdata\fR argument provides a way for your application to pass arbitrary,
734 application-specific information to the callback function. This is passed to
735 the callback every time that it is called. It might for example point to the
736 symbol table from which possible completions are to be sought. The
737 \fImatch_fn\fR argument specifies the callback function to be called. The
739 \fBCPL_MATCH_FN()\fR macro that you can use to declare and prototype callback
745 from the point at which the user pressed TAB, to find the start of the word
747 record them one by one in the \fBWordCompletion\fR object that is passed to it
749 callback function wants to provide filename completion in addition to its own
755 If you would like \fBgl_get_line()\fR to return the current input line when a
758 suffix a newline character. The input line will be updated to display the
759 completion, together with any continuation suffix up to the newline character,
763 If your callback function needs to write something to the terminal, it must
766 notify \fBgl_get_line()\fR that the input line will need to be redrawn when the
769 In the previous section the ability to customize the behavior of the only
771 ability to install additional action functions, so that different types of word
772 completion can be bound to different key sequences, is described. This is
778 that should be invoked to identify possible completions. The \fIlist_only\fR
779 argument determines whether the action that is being defined should attempt to
785 future invocations of this function should refer to the action. This must
786 either be the name of an existing completion action to be changed, or be a new
788 default key sequence to bind the action to. If this is \fINULL\fR, no new key
789 sequence will be bound to the action.
792 Beware that in order for the user to be able to change the key sequence that is
793 bound to actions that are installed in this manner, you should call
794 \fBgl_completion_action()\fR to install a given action for the first time
795 between calling \fBnew_GetLine()\fR and the first call to \fBgl_get_line()\fR.
796 Otherwise, when the user's configuration file is read on the first call to
798 and any reference to it in the configuration file will generate an error.
802 needs to write anything to the terminal, it must call \fBgl_normal_io()\fR
806 applications, occasionally a specialized application may need to define one or
807 more custom actions, bound to application-specific key sequences. For example,
809 part name that corresponded to a part number preceding the cursor. Such a
817 enters any other key sequence that the user subsequently binds to the specified
819 can be a pointer to anything that the application wants to have passed to the
836 The \fIgl\fR and \fIdata\fR arguments are those that were previously passed to
840 user does not enter a number, then the \fIcount\fR argument is set to 1.
854 writer to write a conforming editing action, as well as constrain future
855 changes to the internals of \fBgl_get_line()\fR. A potential solution to this
856 dilemma would be to allow the action function to edit the line using the
860 If the action function wishes to write text to the terminal without this
862 terminal without having to handle raw terminal I/O, then before doing either of
864 \fBgl_normal_io()\fR function. This function flushes any pending output to the
865 terminal, moves the cursor to the start of the line that follows the last
866 terminal line of the input line, then restores the terminal to a state that is
868 things as restoring the normal mapping of \en to \er\en, and, when in server
870 function, the action function can read from and write to the terminal without
871 the fear of creating a mess. It is not necessary for the action function to
893 Action functions must return one of the following values, to tell
894 \fBgl_get_line()\fR how to proceed.
901 Cause \fBgl_get_line()\fR to return \fINULL\fR.
910 Cause \fBgl_get_line()\fR to return the completed input line
925 name by which a user can refer to the action in their configuration file. This
926 allows them to re-bind the action to an alternate key-sequence. In order for
927 this to work, it is necessary to call \fBgl_register_action()\fR between
928 calling \fBnew_GetLine()\fR and the first call to \fBgl_get_line()\fR.
935 The \fIfilename\fR argument specifies the name to give the history file when
944 history file to double as a command file, just in case you wish to replay a
949 specify the same prefix to \fBgl_load_history()\fR that you used when you
950 called \fBgl_save_history()\fR to write the history file.
953 The \fImax_lines\fR argument must be either -1 to specify that all lines in the
958 Both functions return non-zero on error, after writing an error message to
960 non-existence of a file to be an error.
963 different types of input lines, you might want \fBgl_get_line()\fR to
965 lines that match the current type of line. To support this requirement,
979 Whenever \fBgl_get_line()\fR appends a new input line to the history list, the
980 current history identifier is recorded with it, and when it is asked to recall
985 function displays the current contents of the history list to the \fBstdio\fR
987 equal to zero, then no more than this number of the most recent lines will be
1026 The number of the history group which the line belongs to.
1061 The \fBgl_lookup_history()\fR function allows the calling application to look
1065 The \fIid\fR argument indicates which line to look up, where the first line
1071 the variable pointed to by the \fIhline\fR argument, and 1 is returned.
1072 Otherwise 0 is returned, and the variable pointed to by \fIhline\fR is left
1078 on the next call to any function that takes \fIgl\fR as its argument. Therefore
1079 you should make a private copy of this string if you need to keep it.
1082 appended to the history list, just before \fBgl_get_line()\fR returns the line
1084 are also applications that need finer-grained control over what gets added to
1085 the history list. In such cases, the automatic addition of entered lines to the
1090 If this function is called with its \fIenable\fR argument set to 0,
1093 again, with its \fIenable\fR argument set to 1. While automatic history
1095 \fBgl_append_history()\fR to append lines to the history list as needed.
1098 The \fIline\fR argument specifies the line to be added to the history list.
1103 specified when \fBnew_GetLine()\fR was called, it will be truncated to the
1108 non-zero and sets \fBerrno\fR to one of the following values.
1115 One of the arguments passed to \fBgl_append_history()\fR was \fINULL\fR.
1132 remains in a valid state to receive new history lines, so there is little harm
1135 If you wish to change the size of the history buffer that was originally
1136 specified in the call to \fBnew_GetLine()\fR, you can do so with the
1149 does get expanded when needed to accommodate the number of lines currently
1150 stored in the buffer. To place an upper limit on the number of lines in the
1156 upper limit on the number of lines in the buffer, or be -1 to cancel any
1165 The \fIall_groups\fR argument tells the function whether to delete just the
1170 The \fBgl_toggle_history()\fR function allows you to toggle history on and off
1174 Setting the \fIenable\fR argument to 0 turns off the history mechanism, and
1175 setting it to 1 turns it back on. When history is turned off, no new lines will
1176 be added to the history list, and history lookup key-bindings will act as
1181 recorded in the variable pointed to by the \fIstate\fR argument.
1185 in the history list. The return values are recorded in the variable pointed to
1196 On return, the size information is recorded in the variable pointed to by the
1199 The \fBnew_GetLine()\fR constructor function assumes that input is to be read
1200 from \fBstdin\fR and output written to \fBstdout\fR. The following function
1201 allows you to switch to different input and output streams.
1205 The \fIinput_fp\fR argument specifies the stream to read from, and
1206 \fIoutput_fp\fR specifies the stream to be written to. Only if both of these
1207 refer to a terminal, will interactive terminal input be enabled. Otherwise
1208 \fBgl_get_line()\fR will simply call \fBfgets()\fR to read command input. If
1209 both streams refer to a terminal, then they must refer to the same terminal,
1212 database (\fBterminfo\fR or \fBtermcap\fR), in order to determine which special
1213 control sequences are needed to control various aspects of the terminal.
1216 \fIinput_fp\fR and \fIoutput_fp\fR do not refer to a terminal, then it is legal
1220 Note that if you want to pass file descriptors to \fBgl_change_terminal()\fR,
1225 line has been entered by the user, or an error occurs. In programs that need to
1231 Use the functions described in the \fBgl_io_mode\fR(3TECLA) manual page to
1243 ask it to also watch for activity on arbitrary file descriptors, such as
1250 Registering a file descriptor to be watched by \fBgl_get_line()\fR involves
1256 The \fIfd\fR argument is the file descriptor to be watched. The event argument
1265 Watch for the arrival of data to be read.
1274 Watch for the ability to write to the file descriptor without blocking.
1288 The \fIcallback\fR argument is the function to call when the selected activity
1301 The data argument of the \fBgl_watch_fd()\fR function is passed to the callback
1302 function for its own use, and can point to anything you like, including
1303 \fINULL\fR. The file descriptor and the event argument are also passed to the
1304 callback function, and this potentially allows the same callback function to be
1305 registered to more than one type of event and/or more than one file descriptor.
1314 Tell \fBgl_get_line()\fR to abort. When this happens, \fBgl_get_line()\fR
1315 returns \fINULL\fR, and a following call to \fBgl_return_status()\fR will
1328 callback wrote to the terminal.
1337 Continue to wait for input, without redrawing the line.
1343 and leaves its own signal handlers installed, so if you need to catch a
1344 particular signal you will need to both temporarily install your own signal
1345 handler, and unblock the signal. Be sure to re-block the signal (if it was
1350 Your callback should not try to read from the terminal, which is left in raw
1351 mode as far as input is concerned. You can write to the terminal as usual,
1352 since features like conversion of newline to carriage-return/linefeed are
1354 to the terminal, be sure to output a newline first, and when your callback
1355 returns, tell \fBgl_get_line()\fR that the input line needs to be redrawn, by
1364 The \fBgl_inactivity_timeout()\fR function can be used to set or cancel an
1365 inactivity timeout. Inactivity in this case refers both to keyboard input, and
1366 to I/O on any file descriptors registered by prior and subsequent calls to
1374 The \fIdata\fR argument of \fBgl_inactivity_timeout()\fR is passed to this
1375 callback function whenever it is invoked, and can thus be used to pass
1376 arbitrary application-specific information to the callback. The following macro
1377 is provided in <\fBlibtecla.h\fR> for applications to use to declare and
1388 On returning, the application's callback is expected to return one of the
1389 following enumerators to tell \fBgl_get_line()\fR how to proceed after the
1397 Tell \fBgl_get_line()\fR to abort. When this happens, \fBgl_get_line()\fR will
1398 return \fINULL\fR, and a following call to \fBgl_return_status()\fR will return
1399 \fBGLR_TIMEOUT\fR. Note that if the application needs \fBerrno\fR always to
1411 value if your callback wrote to the terminal.
1420 In normal blocking-I/O mode, continue to wait for input, without redrawing the
1424 following call to \fBgl_return_status()\fR will return \fBGLR_BLOCKED\fR.
1430 and leaves its own signal handlers installed, so if you need to catch a
1431 particular signal you will need to both temporarily install your own signal
1432 handler and unblock the signal. Be sure to re-block the signal (if it was
1437 Your callback should not try to read from the terminal, which is left in raw
1438 mode as far as input is concerned. You can however write to the terminal as
1439 usual, since features like conversion of newline to carriage-return/linefeed
1441 write to the terminal, be sure to output a newline first, and when your
1442 callback returns, tell \fBgl_get_line()\fR that the input line needs to be
1448 few milliseconds, so asking for less than a few milliseconds is equivalent to
1459 process, since the terminal needs to be restored to a usable state before this
1461 \fBgl_get_line()\fR responds to them. Changing these defaults is the topic of
1466 restores the terminal settings and signal handling to how they were before
1467 \fBgl_get_line()\fR was called, resends the signal to allow the calling
1468 application's signal handlers to handle it, then, if the process still exists,
1496 This signal is generated when a program attempts to write to a pipe whose
1498 have called \fBgl_change_terminal()\fR to redirect output to a pipe hidden
1529 This is the default signal that the UNIX kill command sends to processes. The
1543 If \fBgl_get_line()\fR aborts with \fBerrno\fR set to \fBEINTR\fR, you can find
1544 out what signal caused it to abort, by calling the \fBgl_last_signal()\fR
1546 signal that was received during the most recent call to \fBgl_get_line()\fR, or
1551 received, \fBgl_get_line()\fR queries the terminal to find out its new size,
1552 redraws the current input line to accommodate the new size, then returns to
1554 not resent to the application.
1557 Finally, the following signals cause \fBgl_get_line()\fR to first restore the
1558 terminal and signal environment to that which prevailed before
1559 \fBgl_get_line()\fR was called, then resend the signal to the application. If
1562 terminal back to raw mode, redisplays the input line, and goes back to awaiting
1665 This signal is generated if the program attempts to read from the terminal
1675 This signal is generated if the program attempts to write to the terminal while
1681 Obviously not all of the above signals are supported on all systems, so code to
1689 terminated without the terminal having been restored to a usable state. In
1695 default, and described how it responds to them. This section describes how to
1696 both add and remove signals from the list of trapped signals, and how to
1697 specify how \fBgl_get_line()\fR should respond to a given signal.
1700 If you do not need \fBgl_get_line()\fR to do anything in response to a signal
1701 that it normally traps, you can tell to \fBgl_get_line()\fR to ignore that
1706 \fBSIGINT\fR) that you want to have ignored. If the specified signal is not
1710 The \fBgl_trap_signal()\fR function allows you to either add a new signal to
1711 the list that \fBgl_get_line()\fR traps or modify how it responds to a signal
1715 The \fIsigno\fR argument is the number of the signal that you want to have
1718 \fIafter\fR argument tells \fBgl_get_line()\fR what to do after the
1720 \fBgl_get_line()\fR what to set \fBerrno\fR to if told to abort.
1749 Move the cursor to the start of the line following the input line before
1770 tells \fBgl_get_line()\fR to trap the signal and unblock it for the duration of
1771 the call to \fBgl_get_line()\fR.
1780 If this flag is included, the signal will not be forwarded to the signal
1808 if you have not overridden it, never either writes to the terminal, nor
1810 \fIflags\fR argument to 0.
1827 So that you do not need to end each output line with \er\en, instead of just
1834 or write anything to the terminal, the user will not see any visible indication
1836 only occasionally writes to the terminal, where using \fBGL_SUSPEND_LINE\fR
1837 would cause the input line to be unnecessarily duplicated when nothing had been
1838 written to the terminal. Such a signal handler, when it does write to the
1839 terminal, should be sure to start a new line at the start of its first write,
1846 combination is better if you know that you are always going to be writing to
1869 Cause \fBgl_get_line()\fR to abort. When this happens, \fBgl_get_line()\fR
1870 returns \fINULL\fR, and a following call to \fBgl_return_status()\fR will
1887 The \fIerrno_value\fR argument is intended to be combined with the
1888 \fBGLS_ABORT\fR option, telling \fBgl_get_line()\fR what to set the standard
1889 \fBerrno\fR variable to before returning \fINULL\fR to the calling program. It
1890 can also, however, be used with the \fBGL_RETURN\fR option, in case you want to
1891 have a way to distinguish between an input line that was entered using the
1894 Signal handling is surprisingly hard to do reliably without race conditions. In
1895 \fBgl_get_line()\fR a lot of care has been taken to allow applications to
1897 explains how to make use of this.
1903 before invoking \fBgl_get_line()\fR. If a \fBSIGINT\fR signal happens to be
1907 result, the application will not be able to respond to the signal until the
1908 user gets around to finishing entering the input line and \fBgl_get_line()\fR
1913 The way to avoid such problems is to do the following.
1917 If needed, use the \fBgl_trap_signal()\fR function to configure
1918 \fBgl_get_line()\fR to abort when important signals are caught.
1929 adds the \fBGLS_UNBLOCK\fR attribute to all of the signals that it is currently
1930 configured to trap.
1936 signals that \fBgl_get_line()\fR is configured to trap. This can be done using
1939 configured to catch in the set argument, which is in the form required by
1964 Use \fBsigprocmask()\fR to unblock the signals that were blocked in step 3.
1971 \fBsiglongjmp\fR(3C) to implement race-condition free signal handling around
1972 other long-running system calls. The \fBgl_get_line()\fR function manages to
1973 reliably trap signals around calls to functions like \fBread\fR(2) and
1978 function to block the delivery of all of the signals that it is currently
1979 configured to catch. This is redundant if the application has already blocked
1983 Whenever \fBgl_get_line()\fR needs to call read or select to wait for input
1992 It uses the POSIX \fBsigaction\fR(2) function to register a temporary signal
1993 handler to all of the signals that it is configured to catch. This signal
2005 was passed to \fBsigsetjmp()\fR for its first argument and a non-zero value for
2009 \fBstruct sigaction\fR \fIact\fR argument of the call to \fBsigaction()\fR is
2010 configured to contain all of the signals that \fBgl_get_line()\fR is catching.
2019 all of the signals that it is configured to catch.
2024 It then calls the \fBread()\fR or \fBselect()\fR function to wait for
2046 First, note that when a call to \fBsiglongjmp()\fR causes \fBsigsetjmp()\fR to
2048 non-zero, the signal process mask is restored to how it was when
2051 essential ingredient that makes it possible to avoid signal handling race
2055 guaranteed to be executed without any further signals being caught.
2060 signal that was caught, \fBgl_get_line()\fR restores the terminal attributes to
2073 Then it uses the C standard-library \fBraise\fR(3C) function to re-send the
2098 \fBgl_get_line()\fR then either resumes trying to read a character, or
2103 What the above steps do in essence is to take asynchronously delivered signals
2108 \fBSIGWINCH\fR signal is used to maintain an accurate idea of the terminal
2118 this too fails to provide the terminal size, a default size of 80 columns by 24
2125 cases no \fBSIGWINCH\fR is sent to the process, and the dimensions returned by
2126 ioctl(\fBTIOCGWINSZ\fR) are not correct. The only way to handle such instances
2127 is to provide a way for the user to enter a command that tells the remote
2129 \fBgl_set_term_size()\fR function to tell \fBgl_get_line()\fR about the change
2133 The \fIncolumn\fR and \fInline\fR arguments are used to specify the new
2136 ioctl(\fBTIOCSWINSZ\fR) to tell the terminal driver about the change in size.
2138 line is then redrawn to accommodate the changed size. Finally the new values are
2142 The \fBgl_terminal_size()\fR function allows you to query the current size of
2154 of terminal columns and lines to use if the terminal size cannot be determined
2157 When entering sensitive information, such as passwords, it is best not to have
2162 \fBgl_echo_mode()\fR function allows you to toggle on and off the display and
2163 archival of any text that is subsequently entered in calls to
2171 history has not been turned off with a call to \fBgl_toggle_history()\fR, then
2173 is -1, then the echoing mode is left unchanged, which allows you to
2183 Using \fBgl_get_line()\fR to query the user for a single character reply, is
2185 the character that they typed is returned to the program. Thus the
2191 waits for the user to type a character. When the user types a character,
2192 \fBgl_query_char()\fR displays it to the right of the prompt, starts a newline,
2193 then returns the character to the calling program. The return value of the
2194 function is the character that was typed. If the read had to be aborted for
2196 call the previously documented \fBgl_return_status()\fR, to find out what went
2204 the user had typed it, as well as being returned to the calling application. If
2218 If the calling process is suspended while waiting for the user to type their
2219 response, the cursor is moved to the line following the prompt line, then when
2221 resumes waiting for the user to type a character.
2227 displayed. The next call to \fBgl_get_line()\fR will thus start editing a new
2232 reads a signal character from the user, without writing anything to the
2234 can be called not only from between calls to \fBgl_get_line()\fR, but also from
2235 callback functions that the application has registered to be called by
2241 can be called to find out what went wrong. Possibilities include the optional
2242 inactivity timer going off, the receipt of a signal that is configured to abort
2248 usually generate at least three characters each, so a single call to
2249 \fBgl_read_char()\fR will not be enough to identify such keystrokes.
2253 arranges for the current input line to be redrawn from scratch when
2256 Between calls to \fBgl_get_line()\fR, the \fBgl_display_text()\fR function
2257 provides a convenient way to display paragraphs of text, left-justified and
2258 split over one or more terminal lines according to the constraints of the
2260 found in the demo programs, where it is used to display introductions. In those
2261 examples the advanced use of optional prefixes, suffixes and filled lines to
2265 If \fIgl\fR is not currently connected to a terminal, for example if the output
2266 of a program that uses \fBgl_get_line()\fR is being piped to another program or
2267 redirected to a file, then the value of the \fIdef_width\fR parameter is used
2271 The \fIindentation\fR argument specifies the number of characters to use to
2273 that will be used to perform this indentation.
2276 The \fIprefix\fR argument can be either \fINULL\fR or a string to place at the
2278 argument can be either \fINULL\fR or a string to place at the end of each line.
2286 already been written to the current terminal line, and thus tells it the
2289 the return value of one call to the start argument of the next call, a
2293 to force a new line to be started.
2300 functions, however, are designed specifically to be used by callback functions.
2304 \fBgl_get_line()\fR to display a different prompt when the callback returns.
2305 Except in non-blocking server mode, it has no effect if used between calls to
2308 input line will be re-drawn with the new prompt on the following call to
2326 \fBLC_CTYPE\fR, \fBLC_ALL\fR, and \fBLANG\fR that is found to contain a valid
2327 locale name. If none of these variables are defined, or the program neglects to
2344 Unfortunately neither \fBterminfo\fR nor \fBtermcap\fR were designed to be
2348 However due to the use of POSIX reentrant functions for looking up home
2349 directories, it is safe to use this module from a single thread of a