Annotation of embedaddon/readline/doc/history.0, revision 1.1.1.1
1.1 misho 1: HISTORY(3) HISTORY(3)
2:
3:
4:
5: NNAAMMEE
6: history - GNU History Library
7:
8: CCOOPPYYRRIIGGHHTT
9: The GNU History Library is Copyright (C) 1989-2011 by the Free Software
10: Foundation, Inc.
11:
12: DDEESSCCRRIIPPTTIIOONN
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:
18:
19: HHIISSTTOORRYY EEXXPPAANNSSIIOONN
20: The history library supports a history expansion feature that is iden-
21: tical to the history expansion in bbaasshh.. This section describes what
22: syntax features are available.
23:
24: History expansions introduce words from the history list into the input
25: stream, making it easy to repeat commands, insert the arguments to a
26: previous command into the current input line, or fix errors in previous
27: commands quickly.
28:
29: History expansion is usually performed immediately after a complete
30: line is read. It takes place in two parts. The first is to determine
31: which line from the history list to use during substitution. The sec-
32: ond is to select portions of that line for inclusion into the current
33: one. The line selected from the history is the _e_v_e_n_t, and the portions
34: of that line that are acted upon are _w_o_r_d_s. Various _m_o_d_i_f_i_e_r_s are
35: available to manipulate the selected words. The line is broken into
36: words in the same fashion as bbaasshh does when reading input, so that sev-
37: eral words that would otherwise be separated are considered one word
38: when surrounded by quotes (see the description of hhiissttoorryy__ttookkeenniizzee(())
39: below). History expansions are introduced by the appearance of the
40: history expansion character, which is !! by default. Only backslash (\\)
41: and single quotes can quote the history expansion character.
42:
43: EEvveenntt DDeessiiggnnaattoorrss
44: An event designator is a reference to a command line entry in the his-
45: tory list. Unless the reference is absolute, events are relative to
46: the current position in the history list.
47:
48: !! Start a history substitution, except when followed by a bbllaannkk,
49: newline, = or (.
50: !!_n Refer to command line _n.
51: !!--_n Refer to the current command minus _n.
52: !!!! Refer to the previous command. This is a synonym for `!-1'.
53: !!_s_t_r_i_n_g
54: Refer to the most recent command preceding the current position
55: in the history list starting with _s_t_r_i_n_g.
56: !!??_s_t_r_i_n_g[[??]]
57: Refer to the most recent command preceding the current position
58: in the history list containing _s_t_r_i_n_g. The trailing ?? may be
59: omitted if _s_t_r_i_n_g is followed immediately by a newline.
60: ^^_s_t_r_i_n_g_1^^_s_t_r_i_n_g_2^^
61: Quick substitution. Repeat the last command, replacing _s_t_r_i_n_g_1
62: with _s_t_r_i_n_g_2. Equivalent to ``!!:s/_s_t_r_i_n_g_1/_s_t_r_i_n_g_2/'' (see MMoodd--
63: iiffiieerrss below).
64: !!## The entire command line typed so far.
65:
66: WWoorrdd DDeessiiggnnaattoorrss
67: Word designators are used to select desired words from the event. A ::
68: separates the event specification from the word designator. It may be
69: omitted if the word designator begins with a ^^, $$, **, --, or %%. Words
70: are numbered from the beginning of the line, with the first word being
71: denoted by 0 (zero). Words are inserted into the current line sepa-
72: rated by single spaces.
73:
74: 00 ((zzeerroo))
75: The zeroth word. For the shell, this is the command word.
76: _n The _nth word.
77: ^^ The first argument. That is, word 1.
78: $$ The last word. This is usually the last argument, but will
79: expand to the zeroth word if there is only one word in the line.
80: %% The word matched by the most recent `?_s_t_r_i_n_g?' search.
81: _x--_y A range of words; `-_y' abbreviates `0-_y'.
82: ** All of the words but the zeroth. This is a synonym for `_1_-_$'.
83: It is not an error to use ** if there is just one word in the
84: event; the empty string is returned in that case.
85: xx** Abbreviates _x_-_$.
86: xx-- Abbreviates _x_-_$ like xx**, but omits the last word.
87:
88: If a word designator is supplied without an event specification, the
89: previous command is used as the event.
90:
91: MMooddiiffiieerrss
92: After the optional word designator, there may appear a sequence of one
93: or more of the following modifiers, each preceded by a `:'.
94:
95: hh Remove a trailing file name component, leaving only the head.
96: tt Remove all leading file name components, leaving the tail.
97: rr Remove a trailing suffix of the form _._x_x_x, leaving the basename.
98: ee Remove all but the trailing suffix.
99: pp Print the new command but do not execute it.
100: qq Quote the substituted words, escaping further substitutions.
101: xx Quote the substituted words as with qq, but break into words at
102: bbllaannkkss and newlines.
103: ss//_o_l_d//_n_e_w//
104: Substitute _n_e_w for the first occurrence of _o_l_d in the event
105: line. Any delimiter can be used in place of /. The final
106: delimiter is optional if it is the last character of the event
107: line. The delimiter may be quoted in _o_l_d and _n_e_w with a single
108: backslash. If & appears in _n_e_w, it is replaced by _o_l_d. A sin-
109: gle backslash will quote the &. If _o_l_d is null, it is set to
110: the last _o_l_d substituted, or, if no previous history substitu-
111: tions took place, the last _s_t_r_i_n_g in a !!??_s_t_r_i_n_g[[??]] search.
112: && Repeat the previous substitution.
113: gg Cause changes to be applied over the entire event line. This is
114: used in conjunction with `::ss' (e.g., `::ggss//_o_l_d//_n_e_w//') or `::&&'.
115: If used with `::ss', any delimiter can be used in place of /, and
116: the final delimiter is optional if it is the last character of
117: the event line. An aa may be used as a synonym for gg.
118: GG Apply the following `ss' modifier once to each word in the event
119: line.
120:
121: PPRROOGGRRAAMMMMIINNGG WWIITTHH HHIISSTTOORRYY FFUUNNCCTTIIOONNSS
122: This section describes how to use the History library in other pro-
123: grams.
124:
125: IInnttrroodduuccttiioonn ttoo HHiissttoorryy
126: The programmer using the History library has available functions for
127: remembering lines on a history list, associating arbitrary data with a
128: line, removing lines from the list, searching through the list for a
129: line containing an arbitrary text string, and referencing any line in
130: the list directly. In addition, a history _e_x_p_a_n_s_i_o_n function is avail-
131: able which provides for a consistent user interface across different
132: programs.
133:
134: The user using programs written with the History library has the bene-
135: fit of a consistent user interface with a set of well-known commands
136: for manipulating the text of previous lines and using that text in new
137: commands. The basic history manipulation commands are identical to the
138: history substitution provided by bbaasshh.
139:
140: If the programmer desires, he can use the Readline library, which
141: includes some history manipulation by default, and has the added advan-
142: tage of command line editing.
143:
144: Before declaring any functions using any functionality the History
145: library provides in other code, an application writer should include
146: the file _<_r_e_a_d_l_i_n_e_/_h_i_s_t_o_r_y_._h_> in any file that uses the History
147: library's features. It supplies extern declarations for all of the
148: library's public functions and variables, and declares all of the pub-
149: lic data structures.
150:
151:
152: HHiissttoorryy SSttoorraaggee
153: The history list is an array of history entries. A history entry is
154: declared as follows:
155:
156: _t_y_p_e_d_e_f _v_o_i_d _* hhiissttddaattaa__tt;;
157:
158: typedef struct _hist_entry {
159: char *line;
160: char *timestamp;
161: histdata_t data;
162: } HIST_ENTRY;
163:
164: The history list itself might therefore be declared as
165:
166: _H_I_S_T___E_N_T_R_Y _*_* tthhee__hhiissttoorryy__lliisstt;;
167:
168: The state of the History library is encapsulated into a single struc-
169: ture:
170:
171: /*
172: * A structure used to pass around the current state of the history.
173: */
174: typedef struct _hist_state {
175: HIST_ENTRY **entries; /* Pointer to the entries themselves. */
176: int offset; /* The location pointer within this array. */
177: int length; /* Number of elements within this array. */
178: int size; /* Number of slots allocated to this array. */
179: int flags;
180: } HISTORY_STATE;
181:
182: If the flags member includes HHSS__SSTTIIFFLLEEDD, the history has been stifled.
183:
184: HHiissttoorryy FFuunnccttiioonnss
185: This section describes the calling sequence for the various functions
186: exported by the GNU History library.
187:
188: IInniittiiaalliizziinngg HHiissttoorryy aanndd SSttaattee MMaannaaggeemmeenntt
189: This section describes functions used to initialize and manage the
190: state of the History library when you want to use the history functions
191: in your program.
192:
193: _v_o_i_d uussiinngg__hhiissttoorryy (_v_o_i_d)
194: Begin a session in which the history functions might be used. This
195: initializes the interactive variables.
196:
197: _H_I_S_T_O_R_Y___S_T_A_T_E _* hhiissttoorryy__ggeett__hhiissttoorryy__ssttaattee (_v_o_i_d)
198: Return a structure describing the current state of the input history.
199:
200: _v_o_i_d hhiissttoorryy__sseett__hhiissttoorryy__ssttaattee (_H_I_S_T_O_R_Y___S_T_A_T_E _*_s_t_a_t_e)
201: Set the state of the history list according to _s_t_a_t_e.
202:
203:
204: HHiissttoorryy LLiisstt MMaannaaggeemmeenntt
205: These functions manage individual entries on the history list, or set
206: parameters managing the list itself.
207:
208: _v_o_i_d aadddd__hhiissttoorryy (_c_o_n_s_t _c_h_a_r _*_s_t_r_i_n_g)
209: Place _s_t_r_i_n_g at the end of the history list. The associated data field
210: (if any) is set to NNUULLLL.
211:
212: _v_o_i_d aadddd__hhiissttoorryy__ttiimmee (_c_o_n_s_t _c_h_a_r _*_s_t_r_i_n_g)
213: Change the time stamp associated with the most recent history entry to
214: _s_t_r_i_n_g.
215:
216: _H_I_S_T___E_N_T_R_Y _* rreemmoovvee__hhiissttoorryy (_i_n_t _w_h_i_c_h)
217: Remove history entry at offset _w_h_i_c_h from the history. The removed
218: element is returned so you can free the line, data, and containing
219: structure.
220:
221: _h_i_s_t_d_a_t_a___t ffrreeee__hhiissttoorryy__eennttrryy (_H_I_S_T___E_N_T_R_Y _*_h_i_s_t_e_n_t)
222: Free the history entry _h_i_s_t_e_n_t and any history library private data
223: associated with it. Returns the application-specific data so the
224: caller can dispose of it.
225:
226: _H_I_S_T___E_N_T_R_Y _* rreeppllaaccee__hhiissttoorryy__eennttrryy (_i_n_t _w_h_i_c_h_, _c_o_n_s_t _c_h_a_r _*_l_i_n_e_, _h_i_s_t_-
227: _d_a_t_a___t _d_a_t_a)
228: Make the history entry at offset _w_h_i_c_h have _l_i_n_e and _d_a_t_a. This
229: returns the old entry so the caller can dispose of any application-spe-
230: cific data. In the case of an invalid _w_h_i_c_h, a NNUULLLL pointer is
231: returned.
232:
233: _v_o_i_d cclleeaarr__hhiissttoorryy (_v_o_i_d)
234: Clear the history list by deleting all the entries.
235:
236: _v_o_i_d ssttiiffllee__hhiissttoorryy (_i_n_t _m_a_x)
237: Stifle the history list, remembering only the last _m_a_x entries.
238:
239: _i_n_t uunnssttiiffllee__hhiissttoorryy (_v_o_i_d)
240: Stop stifling the history. This returns the previously-set maximum
241: number of history entries (as set by ssttiiffllee__hhiissttoorryy(())). history was
242: stifled. The value is positive if the history was stifled, negative if
243: it wasn't.
244:
245: _i_n_t hhiissttoorryy__iiss__ssttiifflleedd (_v_o_i_d)
246: Returns non-zero if the history is stifled, zero if it is not.
247:
248:
249: IInnffoorrmmaattiioonn AAbboouutt tthhee HHiissttoorryy LLiisstt
250: These functions return information about the entire history list or
251: individual list entries.
252:
253: _H_I_S_T___E_N_T_R_Y _*_* hhiissttoorryy__lliisstt (_v_o_i_d)
254: Return a NNUULLLL terminated array of _H_I_S_T___E_N_T_R_Y _* which is the current
255: input history. Element 0 of this list is the beginning of time. If
256: there is no history, return NNUULLLL.
257:
258: _i_n_t wwhheerree__hhiissttoorryy (_v_o_i_d)
259: Returns the offset of the current history element.
260:
261: _H_I_S_T___E_N_T_R_Y _* ccuurrrreenntt__hhiissttoorryy (_v_o_i_d)
262: Return the history entry at the current position, as determined by
263: wwhheerree__hhiissttoorryy(()). If there is no entry there, return a NNUULLLL pointer.
264:
265: _H_I_S_T___E_N_T_R_Y _* hhiissttoorryy__ggeett (_i_n_t _o_f_f_s_e_t)
266: Return the history entry at position _o_f_f_s_e_t, starting from hhiiss--
267: ttoorryy__bbaassee. If there is no entry there, or if _o_f_f_s_e_t is greater than
268: the history length, return a NNUULLLL pointer.
269:
270: _t_i_m_e___t hhiissttoorryy__ggeett__ttiimmee (_H_I_S_T___E_N_T_R_Y _*)
271: Return the time stamp associated with the history entry passed as the
272: argument.
273:
274: _i_n_t hhiissttoorryy__ttoottaall__bbyytteess (_v_o_i_d)
275: Return the number of bytes that the primary history entries are using.
276: This function returns the sum of the lengths of all the lines in the
277: history.
278:
279:
280: MMoovviinngg AArroouunndd tthhee HHiissttoorryy LLiisstt
281: These functions allow the current index into the history list to be set
282: or changed.
283:
284: _i_n_t hhiissttoorryy__sseett__ppooss (_i_n_t _p_o_s)
285: Set the current history offset to _p_o_s, an absolute index into the list.
286: Returns 1 on success, 0 if _p_o_s is less than zero or greater than the
287: number of history entries.
288:
289: _H_I_S_T___E_N_T_R_Y _* pprreevviioouuss__hhiissttoorryy (_v_o_i_d)
290: Back up the current history offset to the previous history entry, and
291: return a pointer to that entry. If there is no previous entry, return
292: a NNUULLLL pointer.
293:
294: _H_I_S_T___E_N_T_R_Y _* nneexxtt__hhiissttoorryy (_v_o_i_d)
295: Move the current history offset forward to the next history entry, and
296: return the a pointer to that entry. If there is no next entry, return
297: a NNUULLLL pointer.
298:
299:
300: SSeeaarrcchhiinngg tthhee HHiissttoorryy LLiisstt
301: These functions allow searching of the history list for entries con-
302: taining a specific string. Searching may be performed both forward and
303: backward from the current history position. The search may be
304: _a_n_c_h_o_r_e_d, meaning that the string must match at the beginning of the
305: history entry.
306:
307: _i_n_t hhiissttoorryy__sseeaarrcchh (_c_o_n_s_t _c_h_a_r _*_s_t_r_i_n_g_, _i_n_t _d_i_r_e_c_t_i_o_n)
308: Search the history for _s_t_r_i_n_g, starting at the current history offset.
309: If _d_i_r_e_c_t_i_o_n is less than 0, then the search is through previous
310: entries, otherwise through subsequent entries. If _s_t_r_i_n_g is found,
311: then the current history index is set to that history entry, and the
312: value returned is the offset in the line of the entry where _s_t_r_i_n_g was
313: found. Otherwise, nothing is changed, and a -1 is returned.
314:
315: _i_n_t hhiissttoorryy__sseeaarrcchh__pprreeffiixx (_c_o_n_s_t _c_h_a_r _*_s_t_r_i_n_g_, _i_n_t _d_i_r_e_c_t_i_o_n)
316: Search the history for _s_t_r_i_n_g, starting at the current history offset.
317: The search is anchored: matching lines must begin with _s_t_r_i_n_g. If
318: _d_i_r_e_c_t_i_o_n is less than 0, then the search is through previous entries,
319: otherwise through subsequent entries. If _s_t_r_i_n_g is found, then the
320: current history index is set to that entry, and the return value is 0.
321: Otherwise, nothing is changed, and a -1 is returned.
322:
323: _i_n_t hhiissttoorryy__sseeaarrcchh__ppooss (_c_o_n_s_t _c_h_a_r _*_s_t_r_i_n_g_, _i_n_t _d_i_r_e_c_t_i_o_n_, _i_n_t _p_o_s)
324: Search for _s_t_r_i_n_g in the history list, starting at _p_o_s, an absolute
325: index into the list. If _d_i_r_e_c_t_i_o_n is negative, the search proceeds
326: backward from _p_o_s, otherwise forward. Returns the absolute index of
327: the history element where _s_t_r_i_n_g was found, or -1 otherwise.
328:
329:
330: MMaannaaggiinngg tthhee HHiissttoorryy FFiillee
331: The History library can read the history from and write it to a file.
332: This section documents the functions for managing a history file.
333:
334: _i_n_t rreeaadd__hhiissttoorryy (_c_o_n_s_t _c_h_a_r _*_f_i_l_e_n_a_m_e)
335: Add the contents of _f_i_l_e_n_a_m_e to the history list, a line at a time. If
336: _f_i_l_e_n_a_m_e is NNUULLLL, then read from _~_/_._h_i_s_t_o_r_y. Returns 0 if successful,
337: or eerrrrnnoo if not.
338:
339: _i_n_t rreeaadd__hhiissttoorryy__rraannggee (_c_o_n_s_t _c_h_a_r _*_f_i_l_e_n_a_m_e_, _i_n_t _f_r_o_m_, _i_n_t _t_o)
340: Read a range of lines from _f_i_l_e_n_a_m_e, adding them to the history list.
341: Start reading at line _f_r_o_m and end at _t_o. If _f_r_o_m is zero, start at
342: the beginning. If _t_o is less than _f_r_o_m, then read until the end of the
343: file. If _f_i_l_e_n_a_m_e is NNUULLLL, then read from _~_/_._h_i_s_t_o_r_y. Returns 0 if
344: successful, or eerrrrnnoo if not.
345:
346: _i_n_t wwrriittee__hhiissttoorryy (_c_o_n_s_t _c_h_a_r _*_f_i_l_e_n_a_m_e)
347: Write the current history to _f_i_l_e_n_a_m_e, overwriting _f_i_l_e_n_a_m_e if neces-
348: sary. If _f_i_l_e_n_a_m_e is NNUULLLL, then write the history list to _~_/_._h_i_s_t_o_r_y.
349: Returns 0 on success, or eerrrrnnoo on a read or write error.
350:
351:
352: _i_n_t aappppeenndd__hhiissttoorryy (_i_n_t _n_e_l_e_m_e_n_t_s_, _c_o_n_s_t _c_h_a_r _*_f_i_l_e_n_a_m_e)
353: Append the last _n_e_l_e_m_e_n_t_s of the history list to _f_i_l_e_n_a_m_e. If _f_i_l_e_n_a_m_e
354: is NNUULLLL, then append to _~_/_._h_i_s_t_o_r_y. Returns 0 on success, or eerrrrnnoo on
355: a read or write error.
356:
357: _i_n_t hhiissttoorryy__ttrruunnccaattee__ffiillee (_c_o_n_s_t _c_h_a_r _*_f_i_l_e_n_a_m_e_, _i_n_t _n_l_i_n_e_s)
358: Truncate the history file _f_i_l_e_n_a_m_e, leaving only the last _n_l_i_n_e_s lines.
359: If _f_i_l_e_n_a_m_e is NNUULLLL, then _~_/_._h_i_s_t_o_r_y is truncated. Returns 0 on suc-
360: cess, or eerrrrnnoo on failure.
361:
362:
363: HHiissttoorryy EExxppaannssiioonn
364: These functions implement history expansion.
365:
366: _i_n_t hhiissttoorryy__eexxppaanndd (_c_h_a_r _*_s_t_r_i_n_g_, _c_h_a_r _*_*_o_u_t_p_u_t)
367: Expand _s_t_r_i_n_g, placing the result into _o_u_t_p_u_t, a pointer to a string.
368: Returns:
369: 0 If no expansions took place (or, if the only change in
370: the text was the removal of escape characters preceding
371: the history expansion character);
372: 1 if expansions did take place;
373: -1 if there was an error in expansion;
374: 2 if the returned line should be displayed, but not exe-
375: cuted, as with the ::pp modifier.
376: If an error ocurred in expansion, then _o_u_t_p_u_t contains a descriptive
377: error message.
378:
379: _c_h_a_r _* ggeett__hhiissttoorryy__eevveenntt (_c_o_n_s_t _c_h_a_r _*_s_t_r_i_n_g_, _i_n_t _*_c_i_n_d_e_x_, _i_n_t _q_c_h_a_r)
380: Returns the text of the history event beginning at _s_t_r_i_n_g + _*_c_i_n_d_e_x.
381: _*_c_i_n_d_e_x is modified to point to after the event specifier. At function
382: entry, _c_i_n_d_e_x points to the index into _s_t_r_i_n_g where the history event
383: specification begins. _q_c_h_a_r is a character that is allowed to end the
384: event specification in addition to the ``normal'' terminating charac-
385: ters.
386:
387: _c_h_a_r _*_* hhiissttoorryy__ttookkeenniizzee (_c_o_n_s_t _c_h_a_r _*_s_t_r_i_n_g)
388: Return an array of tokens parsed out of _s_t_r_i_n_g, much as the shell
389: might. The tokens are split on the characters in the hhiiss--
390: ttoorryy__wwoorrdd__ddeelliimmiitteerrss variable, and shell quoting conventions are
391: obeyed.
392:
393: _c_h_a_r _* hhiissttoorryy__aarrgg__eexxttrraacctt (_i_n_t _f_i_r_s_t_, _i_n_t _l_a_s_t_, _c_o_n_s_t _c_h_a_r _*_s_t_r_i_n_g)
394: Extract a string segment consisting of the _f_i_r_s_t through _l_a_s_t arguments
395: present in _s_t_r_i_n_g. Arguments are split using hhiissttoorryy__ttookkeenniizzee(()).
396:
397:
398: HHiissttoorryy VVaarriiaabblleess
399: This section describes the externally-visible variables exported by the
400: GNU History Library.
401:
402: _i_n_t hhiissttoorryy__bbaassee
403: The logical offset of the first entry in the history list.
404:
405: _i_n_t hhiissttoorryy__lleennggtthh
406: The number of entries currently stored in the history list.
407:
408: _i_n_t hhiissttoorryy__mmaaxx__eennttrriieess
409: The maximum number of history entries. This must be changed using ssttii--
410: ffllee__hhiissttoorryy(()).
411:
412: _i_n_t hhiissttoorryy__wwiittee__ttiimmeessttaammppss
413: If non-zero, timestamps are written to the history file, so they can be
414: preserved between sessions. The default value is 0, meaning that time-
415: stamps are not saved. The current timestamp format uses the value of
416: _h_i_s_t_o_r_y___c_o_m_m_e_n_t___c_h_a_r to delimit timestamp entries in the history file.
417: If that variable does not have a value (the default), timestamps will
418: not be written.
419:
420: _c_h_a_r hhiissttoorryy__eexxppaannssiioonn__cchhaarr
421: The character that introduces a history event. The default is !!. Set-
422: ting this to 0 inhibits history expansion.
423:
424: _c_h_a_r hhiissttoorryy__ssuubbsstt__cchhaarr
425: The character that invokes word substitution if found at the start of a
426: line. The default is ^^.
427:
428: _c_h_a_r hhiissttoorryy__ccoommmmeenntt__cchhaarr
429: During tokenization, if this character is seen as the first character
430: of a word, then it and all subsequent characters up to a newline are
431: ignored, suppressing history expansion for the remainder of the line.
432: This is disabled by default.
433:
434: _c_h_a_r _* hhiissttoorryy__wwoorrdd__ddeelliimmiitteerrss
435: The characters that separate tokens for hhiissttoorryy__ttookkeenniizzee(()). The
436: default value is "" \\tt\\nn(())<<>>;;&&||"".
437:
438: _c_h_a_r _* hhiissttoorryy__nnoo__eexxppaanndd__cchhaarrss
439: The list of characters which inhibit history expansion if found immedi-
440: ately following hhiissttoorryy__eexxppaannssiioonn__cchhaarr. The default is space, tab,
441: newline, \\rr, and ==.
442:
443: _c_h_a_r _* hhiissttoorryy__sseeaarrcchh__ddeelliimmiitteerr__cchhaarrss
444: The list of additional characters which can delimit a history search
445: string, in addition to space, tab, _: and _? in the case of a substring
446: search. The default is empty.
447:
448: _i_n_t hhiissttoorryy__qquuootteess__iinnhhiibbiitt__eexxppaannssiioonn
449: If non-zero, single-quoted words are not scanned for the history expan-
450: sion character. The default value is 0.
451:
452: _r_l___l_i_n_e_b_u_f___f_u_n_c___t _* hhiissttoorryy__iinnhhiibbiitt__eexxppaannssiioonn__ffuunnccttiioonn
453: This should be set to the address of a function that takes two argu-
454: ments: a cchhaarr ** (_s_t_r_i_n_g) and an iinntt index into that string (_i). It
455: should return a non-zero value if the history expansion starting at
456: _s_t_r_i_n_g_[_i_] should not be performed; zero if the expansion should be
457: done. It is intended for use by applications like bbaasshh that use the
458: history expansion character for additional purposes. By default, this
459: variable is set to NNUULLLL.
460:
461: FFIILLEESS
462: _~_/_._h_i_s_t_o_r_y
463: Default filename for reading and writing saved history
464:
465: SSEEEE AALLSSOO
466: _T_h_e _G_n_u _R_e_a_d_l_i_n_e _L_i_b_r_a_r_y, Brian Fox and Chet Ramey
467: _T_h_e _G_n_u _H_i_s_t_o_r_y _L_i_b_r_a_r_y, Brian Fox and Chet Ramey
468: _b_a_s_h(1)
469: _r_e_a_d_l_i_n_e(3)
470:
471: AAUUTTHHOORRSS
472: Brian Fox, Free Software Foundation
473: bfox@gnu.org
474:
475: Chet Ramey, Case Western Reserve University
476: chet.ramey@case.edu
477:
478: BBUUGG RREEPPOORRTTSS
479: If you find a bug in the hhiissttoorryy library, you should report it. But
480: first, you should make sure that it really is a bug, and that it
481: appears in the latest version of the hhiissttoorryy library that you have.
482:
483: Once you have determined that a bug actually exists, mail a bug report
484: to _b_u_g_-_r_e_a_d_l_i_n_e@_g_n_u_._o_r_g. If you have a fix, you are welcome to mail
485: that as well! Suggestions and `philosophical' bug reports may be
486: mailed to _b_u_g_-_r_e_a_d_l_i_n_e@_g_n_u_._o_r_g or posted to the Usenet newsgroup
487: ggnnuu..bbaasshh..bbuugg.
488:
489: Comments and bug reports concerning this manual page should be directed
490: to _c_h_e_t_._r_a_m_e_y_@_c_a_s_e_._e_d_u.
491:
492:
493:
494: GNU History 6.3 2013 June 27 HISTORY(3)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>