]> git.ipfire.org Git - thirdparty/bash.git/blob - bashhist.h
fix minor mem leaks; fix problem with parser state during a DEBUG trap with -T enable...
[thirdparty/bash.git] / bashhist.h
1 /* bashhist.h -- interface to the bash history functions in bashhist.c. */
2
3 /* Copyright (C) 1993-2023 Free Software Foundation, Inc.
4
5 This file is part of GNU Bash, the Bourne Again SHell.
6
7 Bash is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 Bash is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with Bash. If not, see <http://www.gnu.org/licenses/>.
19 */
20
21 #if !defined (_BASHHIST_H_)
22 #define _BASHHIST_H_
23
24 #include "stdc.h"
25
26 /* Flag values for history_control */
27 #define HC_IGNSPACE 0x01
28 #define HC_IGNDUPS 0x02
29 #define HC_ERASEDUPS 0x04
30
31 #define HC_IGNBOTH (HC_IGNSPACE|HC_IGNDUPS)
32
33 #if defined (STRICT_POSIX)
34 # undef HISTEXPAND_DEFAULT
35 # define HISTEXPAND_DEFAULT 0
36 #else
37 # if !defined (HISTEXPAND_DEFAULT)
38 # define HISTEXPAND_DEFAULT 1
39 # endif /* !HISTEXPAND_DEFAULT */
40 #endif
41
42 extern int remember_on_history;
43 extern int enable_history_list; /* value for `set -o history' */
44 extern int literal_history; /* controlled by `shopt lithist' */
45 extern int force_append_history;
46 extern int history_lines_this_session;
47 extern int history_lines_in_file;
48 extern int history_expansion;
49 extern int history_control;
50 extern int command_oriented_history;
51 extern int current_command_first_line_saved;
52 extern int current_command_first_line_comment;
53 extern int hist_last_line_added;
54 extern int hist_last_line_pushed;
55
56 extern int dont_save_function_defs;
57
58 # if defined (READLINE)
59 extern int hist_verify;
60 # endif
61
62 # if defined (BANG_HISTORY)
63 extern int history_expansion_inhibited;
64 extern int double_quotes_inhibit_history_expansion;
65 # endif /* BANG_HISTORY */
66
67 extern void bash_initialize_history (void);
68 extern void bash_history_reinit (int);
69 extern void bash_history_disable (void);
70 extern void bash_history_enable (void);
71 extern void bash_clear_history (void);
72 extern int bash_delete_histent (int);
73 extern int bash_delete_history_range (int, int);
74 extern int bash_delete_last_history (void);
75 extern void load_history (void);
76 extern void save_history (void);
77 extern int maybe_append_history (char *);
78 extern int maybe_save_shell_history (void);
79 extern char *pre_process_line (char *, int, int);
80 extern void maybe_add_history (char *);
81 extern void bash_add_history (char *);
82 extern int check_add_history (char *, int);
83 extern int history_number (void);
84
85 extern void setup_history_ignore (const char *);
86
87 extern char *last_history_line (void);
88
89 #endif /* _BASHHIST_H_ */