Annotation of embedaddon/readline/doc/history.0, revision 1.1.1.2

1.1.1.2 ! misho       1: HISTORY(3)                 Library Functions Manual                 HISTORY(3)
1.1       misho       2: 
                      3: 
                      4: 
1.1.1.2 ! misho       5: NAME
1.1       misho       6:        history - GNU History Library
                      7: 
1.1.1.2 ! misho       8: COPYRIGHT
        !             9:        The GNU History Library is Copyright (C) 1989-2020 by the Free Software
1.1       misho      10:        Foundation, Inc.
                     11: 
1.1.1.2 ! misho      12: DESCRIPTION
1.1       misho      13:        Many programs read input from the user a line at a time.  The GNU  His-
                     14:        tory  library is able to keep track of those lines, associate arbitrary
                     15:        data with each line, and utilize information  from  previous  lines  in
                     16:        composing new ones.
                     17: 
1.1.1.2 ! misho      18: HISTORY EXPANSION
1.1       misho      19:        The  history library supports a history expansion feature that is iden-
1.1.1.2 ! misho      20:        tical to the history expansion in bash.  This  section  describes  what
1.1       misho      21:        syntax features are available.
                     22: 
                     23:        History expansions introduce words from the history list into the input
                     24:        stream, making it easy to repeat commands, insert the  arguments  to  a
                     25:        previous command into the current input line, or fix errors in previous
                     26:        commands quickly.
                     27: 
                     28:        History expansion is usually performed  immediately  after  a  complete
                     29:        line  is read.  It takes place in two parts.  The first is to determine
                     30:        which line from the history list to use during substitution.  The  sec-
                     31:        ond  is  to select portions of that line for inclusion into the current
1.1.1.2 ! misho      32:        one.  The line selected from the history is the event, and the portions
        !            33:        of  that  line  that  are  acted upon are words.  Various modifiers are
1.1       misho      34:        available to manipulate the selected words.  The line  is  broken  into
1.1.1.2 ! misho      35:        words in the same fashion as bash does when reading input, so that sev-
1.1       misho      36:        eral words that would otherwise be separated are  considered  one  word
1.1.1.2 ! misho      37:        when  surrounded  by  quotes (see the description of history_tokenize()
1.1       misho      38:        below).  History expansions are introduced by  the  appearance  of  the
1.1.1.2 ! misho      39:        history expansion character, which is ! by default.  Only backslash (\)
1.1       misho      40:        and single quotes can quote the history expansion character.
                     41: 
1.1.1.2 ! misho      42:    Event Designators
1.1       misho      43:        An event designator is a reference to a command line entry in the  his-
                     44:        tory  list.   Unless  the reference is absolute, events are relative to
                     45:        the current position in the history list.
                     46: 
1.1.1.2 ! misho      47:        !      Start a history substitution, except when followed by  a  blank,
1.1       misho      48:               newline, = or (.
1.1.1.2 ! misho      49:        !n     Refer to command line n.
        !            50:        !-n    Refer to the current command minus n.
        !            51:        !!     Refer to the previous command.  This is a synonym for `!-1'.
        !            52:        !string
1.1       misho      53:               Refer  to the most recent command preceding the current position
1.1.1.2 ! misho      54:               in the history list starting with string.
        !            55:        !?string[?]
1.1       misho      56:               Refer to the most recent command preceding the current  position
1.1.1.2 ! misho      57:               in  the  history  list containing string.  The trailing ? may be
        !            58:               omitted if string is followed  immediately  by  a  newline.   If
        !            59:               string  is  missing,  the  string from the most recent search is
        !            60:               used; it is an error if there is no previous search string.
        !            61:        ^string1^string2^
        !            62:               Quick substitution.  Repeat the last command, replacing  string1
        !            63:               with string2.  Equivalent to ``!!:s^string1^string2^'' (see Mod-
        !            64:               ifiers below).
        !            65:        !#     The entire command line typed so far.
1.1       misho      66: 
1.1.1.2 ! misho      67:    Word Designators
        !            68:        Word designators are used to select desired words from the event.  A  :
1.1       misho      69:        separates  the event specification from the word designator.  It may be
1.1.1.2 ! misho      70:        omitted if the word designator begins with a ^, $, *, -, or  %.   Words
1.1       misho      71:        are  numbered from the beginning of the line, with the first word being
                     72:        denoted by 0 (zero).  Words are inserted into the  current  line  sepa-
                     73:        rated by single spaces.
                     74: 
1.1.1.2 ! misho      75:        0 (zero)
1.1       misho      76:               The zeroth word.  For the shell, this is the command word.
1.1.1.2 ! misho      77:        n      The nth word.
        !            78:        ^      The first argument.  That is, word 1.
        !            79:        $      The  last word.  This is usually the last argument, but will ex-
        !            80:               pand to the zeroth word if there is only one word in the line.
        !            81:        %      The first word matched by the most recent `?string?' search,  if
        !            82:               the  search  string  begins  with  a character that is part of a
        !            83:               word.
        !            84:        x-y    A range of words; `-y' abbreviates `0-y'.
        !            85:        *      All of the words but the zeroth.  This is a synonym  for  `1-$'.
        !            86:               It  is  not  an  error to use * if there is just one word in the
1.1       misho      87:               event; the empty string is returned in that case.
1.1.1.2 ! misho      88:        x*     Abbreviates x-$.
        !            89:        x-     Abbreviates x-$ like x*, but omits the last word.  If x is miss-
        !            90:               ing, it defaults to 0.
1.1       misho      91: 
                     92:        If  a  word  designator is supplied without an event specification, the
                     93:        previous command is used as the event.
                     94: 
1.1.1.2 ! misho      95:    Modifiers
1.1       misho      96:        After the optional word designator, there may appear a sequence of  one
1.1.1.2 ! misho      97:        or more of the following modifiers, each preceded by a `:'.  These mod-
        !            98:        ify, or edit, the word or words selected from the history event.
1.1       misho      99: 
1.1.1.2 ! misho     100:        h      Remove a trailing file name component, leaving only the head.
        !           101:        t      Remove all leading file name components, leaving the tail.
        !           102:        r      Remove a trailing suffix of the form .xxx, leaving the basename.
        !           103:        e      Remove all but the trailing suffix.
        !           104:        p      Print the new command but do not execute it.
        !           105:        q      Quote the substituted words, escaping further substitutions.
        !           106:        x      Quote the substituted words as with q, but break into  words  at
        !           107:               blanks  and newlines.  The q and x modifiers are mutually exclu-
        !           108:               sive; the last one supplied is used.
        !           109:        s/old/new/
        !           110:               Substitute new for the first occurrence  of  old  in  the  event
        !           111:               line.  Any character may be used as the delimiter in place of /.
        !           112:               The final delimiter is optional if it is the last  character  of
        !           113:               the event line.  The delimiter may be quoted in old and new with
        !           114:               a single backslash.  If & appears in new, it is replaced by old.
        !           115:               A  single backslash will quote the &.  If old is null, it is set
        !           116:               to the last old substituted, or, if no previous history  substi-
        !           117:               tutions  took  place,  the last string in a !?string[?]  search.
        !           118:               If new is null, each matching old is deleted.
        !           119:        &      Repeat the previous substitution.
        !           120:        g      Cause changes to be applied over the entire event line.  This is
        !           121:               used  in  conjunction  with `:s' (e.g., `:gs/old/new/') or `:&'.
        !           122:               If used with `:s', any delimiter can be used in place of /,  and
1.1       misho     123:               the  final  delimiter is optional if it is the last character of
1.1.1.2 ! misho     124:               the event line.  An a may be used as a synonym for g.
        !           125:        G      Apply the following `s' or `&' modifier once to each word in the
        !           126:               event line.
1.1       misho     127: 
1.1.1.2 ! misho     128: PROGRAMMING WITH HISTORY FUNCTIONS
1.1       misho     129:        This  section  describes  how  to use the History library in other pro-
                    130:        grams.
                    131: 
1.1.1.2 ! misho     132:    Introduction to History
        !           133:        A programmer using the History library has available functions for  re-
        !           134:        membering  lines  on  a history list, associating arbitrary data with a
1.1       misho     135:        line, removing lines from the list, searching through the  list  for  a
                    136:        line  containing  an arbitrary text string, and referencing any line in
1.1.1.2 ! misho     137:        the list directly.  In addition, a history expansion function is avail-
1.1       misho     138:        able  which  provides  for a consistent user interface across different
                    139:        programs.
                    140: 
                    141:        The user using programs written with the History library has the  bene-
                    142:        fit  of  a  consistent user interface with a set of well-known commands
                    143:        for manipulating the text of previous lines and using that text in  new
                    144:        commands.  The basic history manipulation commands are identical to the
1.1.1.2 ! misho     145:        history substitution provided by bash.
1.1       misho     146: 
1.1.1.2 ! misho     147:        The programmer can also use the Readline library, which  includes  some
        !           148:        history manipulation by default, and has the added advantage of command
        !           149:        line editing.
        !           150: 
        !           151:        Before declaring any functions using any functionality the History  li-
        !           152:        brary  provides in other code, an application writer should include the
        !           153:        file <readline/history.h> in any file that uses the  History  library's
        !           154:        features.   It  supplies  extern  declarations for all of the library's
        !           155:        public functions and variables, and declares all  of  the  public  data
        !           156:        structures.
1.1       misho     157: 
1.1.1.2 ! misho     158:    History Storage
1.1       misho     159:        The  history  list  is an array of history entries.  A history entry is
                    160:        declared as follows:
                    161: 
1.1.1.2 ! misho     162:        typedef void * histdata_t;
1.1       misho     163: 
                    164:        typedef struct _hist_entry {
                    165:          char *line;
                    166:          char *timestamp;
                    167:          histdata_t data;
                    168:        } HIST_ENTRY;
                    169: 
                    170:        The history list itself might therefore be declared as
                    171: 
1.1.1.2 ! misho     172:        HIST_ENTRY ** the_history_list;
1.1       misho     173: 
                    174:        The state of the History library is encapsulated into a  single  struc-
                    175:        ture:
                    176: 
                    177:        /*
                    178:         * A structure used to pass around the current state of the history.
                    179:         */
                    180:        typedef struct _hist_state {
                    181:          HIST_ENTRY **entries; /* Pointer to the entries themselves. */
                    182:          int offset;           /* The location pointer within this array. */
                    183:          int length;           /* Number of elements within this array. */
                    184:          int size;             /* Number of slots allocated to this array. */
                    185:          int flags;
                    186:        } HISTORY_STATE;
                    187: 
1.1.1.2 ! misho     188:        If the flags member includes HS_STIFLED, the history has been stifled.
1.1       misho     189: 
1.1.1.2 ! misho     190: History Functions
        !           191:        This  section  describes the calling sequence for the various functions
1.1       misho     192:        exported by the GNU History library.
                    193: 
1.1.1.2 ! misho     194:    Initializing History and State Management
        !           195:        This section describes functions used  to  initialize  and  manage  the
1.1       misho     196:        state of the History library when you want to use the history functions
                    197:        in your program.
                    198: 
1.1.1.2 ! misho     199:        void using_history (void)
        !           200:        Begin a session in which the history functions  might  be  used.   This
1.1       misho     201:        initializes the interactive variables.
                    202: 
1.1.1.2 ! misho     203:        HISTORY_STATE * history_get_history_state (void)
1.1       misho     204:        Return a structure describing the current state of the input history.
                    205: 
1.1.1.2 ! misho     206:        void history_set_history_state (HISTORY_STATE *state)
        !           207:        Set the state of the history list according to state.
1.1       misho     208: 
                    209: 
1.1.1.2 ! misho     210:    History List Management
        !           211:        These  functions  manage individual entries on the history list, or set
1.1       misho     212:        parameters managing the list itself.
                    213: 
1.1.1.2 ! misho     214:        void add_history (const char *string)
        !           215:        Place string at the end of the history list.  The associated data field
        !           216:        (if  any) is set to NULL.  If the maximum number of history entries has
        !           217:        been set using stifle_history(), and the new number of history  entries
        !           218:        would exceed that maximum, the oldest history entry is removed.
        !           219: 
        !           220:        void add_history_time (const char *string)
        !           221:        Change  the time stamp associated with the most recent history entry to
        !           222:        string.
        !           223: 
        !           224:        HIST_ENTRY * remove_history (int which)
        !           225:        Remove history entry at offset which from the history.  The removed el-
        !           226:        ement is returned so you can free the line, data, and containing struc-
        !           227:        ture.
        !           228: 
        !           229:        histdata_t free_history_entry (HIST_ENTRY *histent)
        !           230:        Free the history entry histent and any history library private data as-
        !           231:        sociated  with it.  Returns the application-specific data so the caller
        !           232:        can dispose of it.
        !           233: 
        !           234:        HIST_ENTRY * replace_history_entry (int which, const char *line,  hist-
        !           235:        data_t data)
        !           236:        Make  the  history  entry at offset which have line and data.  This re-
        !           237:        turns the old entry so the caller can dispose of  any  application-spe-
        !           238:        cific  data.   In  the  case of an invalid which, a NULL pointer is re-
        !           239:        turned.
1.1       misho     240: 
1.1.1.2 ! misho     241:        void clear_history (void)
1.1       misho     242:        Clear the history list by deleting all the entries.
                    243: 
1.1.1.2 ! misho     244:        void stifle_history (int max)
        !           245:        Stifle the history list, remembering only the last  max  entries.   The
        !           246:        history list will contain only max entries at a time.
1.1       misho     247: 
1.1.1.2 ! misho     248:        int unstifle_history (void)
1.1       misho     249:        Stop  stifling  the  history.   This returns the previously-set maximum
1.1.1.2 ! misho     250:        number of history entries (as set by  stifle_history()).   history  was
1.1       misho     251:        stifled.  The value is positive if the history was stifled, negative if
                    252:        it wasn't.
                    253: 
1.1.1.2 ! misho     254:        int history_is_stifled (void)
1.1       misho     255:        Returns non-zero if the history is stifled, zero if it is not.
                    256: 
                    257: 
1.1.1.2 ! misho     258:    Information About the History List
        !           259:        These functions return information about the entire history list or in-
        !           260:        dividual list entries.
        !           261: 
        !           262:        HIST_ENTRY ** history_list (void)
        !           263:        Return a NULL terminated array of HIST_ENTRY * which is the current in-
        !           264:        put history.  Element 0 of this list is  the  beginning  of  time.   If
        !           265:        there is no history, return NULL.
1.1       misho     266: 
1.1.1.2 ! misho     267:        int where_history (void)
1.1       misho     268:        Returns the offset of the current history element.
                    269: 
1.1.1.2 ! misho     270:        HIST_ENTRY * current_history (void)
1.1       misho     271:        Return  the  history  entry  at  the current position, as determined by
1.1.1.2 ! misho     272:        where_history().  If there is no entry there, return a NULL pointer.
1.1       misho     273: 
1.1.1.2 ! misho     274:        HIST_ENTRY * history_get (int offset)
        !           275:        Return the history entry at position offset.  The range of valid values
        !           276:        of  offset  starts  at history_base and ends at history_length - 1.  If
        !           277:        there is no entry there, or if offset is outside the valid  range,  re-
        !           278:        turn a NULL pointer.
1.1       misho     279: 
1.1.1.2 ! misho     280:        time_t history_get_time (HIST_ENTRY *)
        !           281:        Return  the  time stamp associated with the history entry passed as the
1.1       misho     282:        argument.
                    283: 
1.1.1.2 ! misho     284:        int history_total_bytes (void)
        !           285:        Return the number of bytes that the primary history entries are  using.
        !           286:        This  function  returns  the sum of the lengths of all the lines in the
1.1       misho     287:        history.
                    288: 
                    289: 
1.1.1.2 ! misho     290:    Moving Around the History List
1.1       misho     291:        These functions allow the current index into the history list to be set
                    292:        or changed.
                    293: 
1.1.1.2 ! misho     294:        int history_set_pos (int pos)
        !           295:        Set the current history offset to pos, an absolute index into the list.
        !           296:        Returns 1 on success, 0 if pos is less than zero or  greater  than  the
1.1       misho     297:        number of history entries.
                    298: 
1.1.1.2 ! misho     299:        HIST_ENTRY * previous_history (void)
        !           300:        Back  up  the current history offset to the previous history entry, and
        !           301:        return a pointer to that entry.  If there is no previous entry,  return
        !           302:        a NULL pointer.
        !           303: 
        !           304:        HIST_ENTRY * next_history (void)
        !           305:        If  the  current history offset refers to a valid history entry, incre-
        !           306:        ment the current history offset.  If the  possibly-incremented  history
        !           307:        offset refers to a valid history entry, return a pointer to that entry;
        !           308:        otherwise, return a NULL pointer.
1.1       misho     309: 
                    310: 
1.1.1.2 ! misho     311:    Searching the History List
1.1       misho     312:        These functions allow searching of the history list  for  entries  con-
                    313:        taining a specific string.  Searching may be performed both forward and
1.1.1.2 ! misho     314:        backward from the current history position.   The  search  may  be  an-
        !           315:        chored, meaning that the string must match at the beginning of the his-
        !           316:        tory entry.
        !           317: 
        !           318:        int history_search (const char *string, int direction)
        !           319:        Search the history for string, starting at the current history  offset.
        !           320:        If  direction  is  less than 0, then the search is through previous en-
        !           321:        tries, otherwise through subsequent entries.  If string is found,  then
        !           322:        the  current  history index is set to that history entry, and the value
        !           323:        returned is the offset in the line of the entry where string was found.
        !           324:        Otherwise, nothing is changed, and a -1 is returned.
        !           325: 
        !           326:        int history_search_prefix (const char *string, int direction)
        !           327:        Search  the history for string, starting at the current history offset.
        !           328:        The search is anchored: matching lines must begin with string.  If  di-
        !           329:        rection  is  less  than 0, then the search is through previous entries,
        !           330:        otherwise through subsequent entries.  If string  is  found,  then  the
1.1       misho     331:        current  history index is set to that entry, and the return value is 0.
                    332:        Otherwise, nothing is changed, and a -1 is returned.
                    333: 
1.1.1.2 ! misho     334:        int history_search_pos (const char *string, int direction, int pos)
        !           335:        Search for string in the history list, starting at pos, an absolute in-
        !           336:        dex into the list.  If direction is negative, the search proceeds back-
        !           337:        ward from pos, otherwise forward.  Returns the absolute  index  of  the
        !           338:        history element where string was found, or -1 otherwise.
1.1       misho     339: 
                    340: 
1.1.1.2 ! misho     341:    Managing the History File
1.1       misho     342:        The  History  library can read the history from and write it to a file.
                    343:        This section documents the functions for managing a history file.
                    344: 
1.1.1.2 ! misho     345:        int read_history (const char *filename)
        !           346:        Add the contents of filename to the history list, a line at a time.  If
        !           347:        filename  is NULL, then read from ~/.history.  Returns 0 if successful,
        !           348:        or errno if not.
        !           349: 
        !           350:        int read_history_range (const char *filename, int from, int to)
        !           351:        Read a range of lines from filename, adding them to the  history  list.
        !           352:        Start  reading  at  line from and end at to.  If from is zero, start at
        !           353:        the beginning.  If to is less than from, then read until the end of the
        !           354:        file.   If  filename  is NULL, then read from ~/.history.  Returns 0 if
        !           355:        successful, or errno if not.
        !           356: 
        !           357:        int write_history (const char *filename)
        !           358:        Write the current history to filename, overwriting filename  if  neces-
        !           359:        sary.   If filename is NULL, then write the history list to ~/.history.
        !           360:        Returns 0 on success, or errno on a read or write error.
        !           361: 
        !           362: 
        !           363:        int append_history (int nelements, const char *filename)
        !           364:        Append the last nelements of the history list to filename.  If filename
        !           365:        is  NULL, then append to ~/.history.  Returns 0 on success, or errno on
1.1       misho     366:        a read or write error.
                    367: 
1.1.1.2 ! misho     368:        int history_truncate_file (const char *filename, int nlines)
        !           369:        Truncate the history file filename, leaving only the last nlines lines.
        !           370:        If  filename  is NULL, then ~/.history is truncated.  Returns 0 on suc-
        !           371:        cess, or errno on failure.
1.1       misho     372: 
                    373: 
1.1.1.2 ! misho     374:    History Expansion
1.1       misho     375:        These functions implement history expansion.
                    376: 
1.1.1.2 ! misho     377:        int history_expand (char *string, char **output)
        !           378:        Expand string, placing the result into output, a pointer to  a  string.
1.1       misho     379:        Returns:
                    380:               0      If  no  expansions  took place (or, if the only change in
                    381:                      the text was the removal of escape  characters  preceding
                    382:                      the history expansion character);
                    383:               1      if expansions did take place;
                    384:               -1     if there was an error in expansion;
                    385:               2      if  the  returned  line should be displayed, but not exe-
1.1.1.2 ! misho     386:                      cuted, as with the :p modifier.
        !           387:        If an error occurred in expansion, then output contains  a  descriptive
1.1       misho     388:        error message.
                    389: 
1.1.1.2 ! misho     390:        char * get_history_event (const char *string, int *cindex, int qchar)
        !           391:        Returns  the  text  of the history event beginning at string + *cindex.
        !           392:        *cindex is modified to point to after the event specifier.  At function
        !           393:        entry,  cindex  points to the index into string where the history event
        !           394:        specification begins.  qchar is a character that is allowed to end  the
1.1       misho     395:        event  specification  in addition to the ``normal'' terminating charac-
                    396:        ters.
                    397: 
1.1.1.2 ! misho     398:        char ** history_tokenize (const char *string)
        !           399:        Return an array of tokens parsed out  of  string,  much  as  the  shell
        !           400:        might.   The tokens are split on the characters in the history_word_de-
        !           401:        limiters variable, and shell quoting conventions are obeyed.
        !           402: 
        !           403:        char * history_arg_extract (int first, int last, const char *string)
        !           404:        Extract a string segment consisting of the first through last arguments
        !           405:        present in string.  Arguments are split using history_tokenize().
1.1       misho     406: 
                    407: 
1.1.1.2 ! misho     408:    History Variables
1.1       misho     409:        This section describes the externally-visible variables exported by the
                    410:        GNU History Library.
                    411: 
1.1.1.2 ! misho     412:        int history_base
1.1       misho     413:        The logical offset of the first entry in the history list.
                    414: 
1.1.1.2 ! misho     415:        int history_length
1.1       misho     416:        The number of entries currently stored in the history list.
                    417: 
1.1.1.2 ! misho     418:        int history_max_entries
        !           419:        The maximum number of history entries.  This must be changed using sti-
        !           420:        fle_history().
1.1       misho     421: 
1.1.1.2 ! misho     422:        int history_write_timestamps
1.1       misho     423:        If non-zero, timestamps are written to the history file, so they can be
                    424:        preserved between sessions.  The default value is 0, meaning that time-
1.1.1.2 ! misho     425:        stamps  are  not saved.  The current timestamp format uses the value of
        !           426:        history_comment_char to delimit timestamp entries in the history  file.
        !           427:        If  that  variable does not have a value (the default), timestamps will
1.1       misho     428:        not be written.
                    429: 
1.1.1.2 ! misho     430:        char history_expansion_char
        !           431:        The character that introduces a history event.  The default is !.  Set-
1.1       misho     432:        ting this to 0 inhibits history expansion.
                    433: 
1.1.1.2 ! misho     434:        char history_subst_char
1.1       misho     435:        The character that invokes word substitution if found at the start of a
1.1.1.2 ! misho     436:        line.  The default is ^.
1.1       misho     437: 
1.1.1.2 ! misho     438:        char history_comment_char
        !           439:        During tokenization, if this character is seen as the  first  character
        !           440:        of  a  word,  then it and all subsequent characters up to a newline are
        !           441:        ignored, suppressing history expansion for the remainder of  the  line.
1.1       misho     442:        This is disabled by default.
                    443: 
1.1.1.2 ! misho     444:        char * history_word_delimiters
        !           445:        The  characters  that  separate tokens for history_tokenize().  The de-
        !           446:        fault value is " \t\n()<>;&|".
1.1       misho     447: 
1.1.1.2 ! misho     448:        char * history_no_expand_chars
1.1       misho     449:        The list of characters which inhibit history expansion if found immedi-
1.1.1.2 ! misho     450:        ately  following  history_expansion_char.   The  default is space, tab,
        !           451:        newline, \r, and =.
1.1       misho     452: 
1.1.1.2 ! misho     453:        char * history_search_delimiter_chars
        !           454:        The list of additional characters which can delimit  a  history  search
        !           455:        string,  in  addition to space, tab, : and ? in the case of a substring
1.1       misho     456:        search.  The default is empty.
                    457: 
1.1.1.2 ! misho     458:        int history_quotes_inhibit_expansion
        !           459:        If non-zero, double-quoted words are not scanned for the history expan-
        !           460:        sion  character or the history comment character.  The default value is
        !           461:        0.
1.1       misho     462: 
1.1.1.2 ! misho     463:        rl_linebuf_func_t * history_inhibit_expansion_function
1.1       misho     464:        This should be set to the address of a function that  takes  two  argu-
1.1.1.2 ! misho     465:        ments:  a  char  *  (string) and an int index into that string (i).  It
1.1       misho     466:        should return a non-zero value if the  history  expansion  starting  at
1.1.1.2 ! misho     467:        string[i]  should  not  be  performed;  zero if the expansion should be
        !           468:        done.  It is intended for use by applications like bash  that  use  the
1.1       misho     469:        history  expansion character for additional purposes.  By default, this
1.1.1.2 ! misho     470:        variable is set to NULL.
1.1       misho     471: 
1.1.1.2 ! misho     472: FILES
        !           473:        ~/.history
1.1       misho     474:               Default filename for reading and writing saved history
                    475: 
1.1.1.2 ! misho     476: SEE ALSO
        !           477:        The Gnu Readline Library, Brian Fox and Chet Ramey
        !           478:        The Gnu History Library, Brian Fox and Chet Ramey
        !           479:        bash(1)
        !           480:        readline(3)
1.1       misho     481: 
1.1.1.2 ! misho     482: AUTHORS
1.1       misho     483:        Brian Fox, Free Software Foundation
                    484:        bfox@gnu.org
                    485: 
                    486:        Chet Ramey, Case Western Reserve University
                    487:        chet.ramey@case.edu
                    488: 
1.1.1.2 ! misho     489: BUG REPORTS
        !           490:        If you find a bug in the history library, you should  report  it.   But
        !           491:        first,  you  should  make sure that it really is a bug, and that it ap-
        !           492:        pears in the latest version of the history library that you have.
1.1       misho     493: 
                    494:        Once you have determined that a bug actually exists, mail a bug  report
1.1.1.2 ! misho     495:        to  bug-readline@gnu.org.   If  you have a fix, you are welcome to mail
1.1       misho     496:        that as well!  Suggestions  and  `philosophical'  bug  reports  may  be
1.1.1.2 ! misho     497:        mailed  to  bug-readline@gnu.org  or  posted  to  the  Usenet newsgroup
        !           498:        gnu.bash.bug.
1.1       misho     499: 
                    500:        Comments and bug reports concerning this manual page should be directed
1.1.1.2 ! misho     501:        to chet.ramey@case.edu.
1.1       misho     502: 
                    503: 
                    504: 
1.1.1.2 ! misho     505: GNU History 8.1                  2020 July 17                       HISTORY(3)

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>