Chris Allegretta | 11b0011 | 2000-08-06 21:13:45 +0000 | [diff] [blame] | 1 | /* $Id$ */ |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 2 | /************************************************************************** |
| 3 | * global.c * |
| 4 | * * |
Jordi Mallach | 8ae5789 | 2002-01-04 17:57:40 +0000 | [diff] [blame] | 5 | * Copyright (C) 1999-2002 Chris Allegretta * |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 6 | * This program is free software; you can redistribute it and/or modify * |
| 7 | * it under the terms of the GNU General Public License as published by * |
Chris Allegretta | 3a24f3f | 2001-10-24 11:33:54 +0000 | [diff] [blame] | 8 | * the Free Software Foundation; either version 2, or (at your option) * |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 9 | * any later version. * |
| 10 | * * |
| 11 | * This program is distributed in the hope that it will be useful, * |
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * |
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
| 14 | * GNU General Public License for more details. * |
| 15 | * * |
| 16 | * You should have received a copy of the GNU General Public License * |
| 17 | * along with this program; if not, write to the Free Software * |
| 18 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * |
| 19 | * * |
| 20 | **************************************************************************/ |
| 21 | |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 22 | #include "config.h" |
Chris Allegretta | 6efda54 | 2001-04-28 18:03:52 +0000 | [diff] [blame] | 23 | |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 24 | #include <assert.h> |
Chris Allegretta | 6efda54 | 2001-04-28 18:03:52 +0000 | [diff] [blame] | 25 | #include <sys/stat.h> |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 26 | #include "nano.h" |
| 27 | #include "proto.h" |
| 28 | |
| 29 | #ifndef NANO_SMALL |
| 30 | #include <libintl.h> |
| 31 | #define _(string) gettext(string) |
| 32 | #else |
| 33 | #define _(string) (string) |
| 34 | #endif |
| 35 | |
| 36 | /* |
| 37 | * Global variables |
| 38 | */ |
Chris Allegretta | 48b0670 | 2002-02-22 04:30:50 +0000 | [diff] [blame] | 39 | |
Chris Allegretta | 88520c9 | 2001-05-05 17:45:54 +0000 | [diff] [blame] | 40 | int flags = 0; /* Our new flag containing many options */ |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 41 | WINDOW *edit; /* The file portion of the editor */ |
| 42 | WINDOW *topwin; /* Top line of screen */ |
| 43 | WINDOW *bottomwin; /* Bottom buffer */ |
Chris Allegretta | 1a6e904 | 2000-12-14 13:56:28 +0000 | [diff] [blame] | 44 | char *filename = NULL; /* Name of the file */ |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 45 | int editwinrows = 0; /* How many rows long is the edit |
| 46 | window? */ |
| 47 | filestruct *current; /* Current buffer pointer */ |
| 48 | int current_x = 0, current_y = 0; /* Current position of X and Y in |
| 49 | the editor - relative to edit |
| 50 | window (0,0) */ |
| 51 | filestruct *fileage = NULL; /* Our file buffer */ |
| 52 | filestruct *edittop = NULL; /* Pointer to the top of the edit |
| 53 | buffer with respect to the |
| 54 | file struct */ |
| 55 | filestruct *editbot = NULL; /* Same for the bottom */ |
| 56 | filestruct *filebot = NULL; /* Last node in the file struct */ |
| 57 | filestruct *cutbuffer = NULL; /* A place to store cut text */ |
| 58 | |
Chris Allegretta | 355fbe5 | 2001-07-14 19:32:47 +0000 | [diff] [blame] | 59 | #ifdef ENABLE_MULTIBUFFER |
Chris Allegretta | f2387fb | 2002-04-10 02:31:20 +0000 | [diff] [blame] | 60 | openfilestruct *open_files = NULL; /* The list of open files */ |
Chris Allegretta | 2d7893d | 2001-07-11 02:08:33 +0000 | [diff] [blame] | 61 | #endif |
| 62 | |
Chris Allegretta | e4f940d | 2002-03-03 22:36:36 +0000 | [diff] [blame] | 63 | #ifndef DISABLE_JUSTIFY |
| 64 | char *quotestr = "> "; /* Quote string */ |
| 65 | #endif |
| 66 | |
Chris Allegretta | 31925e4 | 2000-11-02 04:40:39 +0000 | [diff] [blame] | 67 | char *answer = NULL; /* Answer str to many questions */ |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 68 | int totlines = 0; /* Total number of lines in the file */ |
Chris Allegretta | b3655b4 | 2001-10-22 03:15:31 +0000 | [diff] [blame] | 69 | long totsize = 0; /* Total number of bytes in the file */ |
Chris Allegretta | 88520c9 | 2001-05-05 17:45:54 +0000 | [diff] [blame] | 70 | int placewewant = 0; /* The column we'd like the cursor |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 71 | to jump to when we go to the |
| 72 | next or previous line */ |
| 73 | |
Chris Allegretta | 6d690a3 | 2000-08-03 22:51:21 +0000 | [diff] [blame] | 74 | int tabsize = 8; /* Our internal tabsize variable */ |
| 75 | |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 76 | char *hblank; /* A horizontal blank line */ |
| 77 | char *help_text; /* The text in the help window */ |
| 78 | |
| 79 | /* More stuff for the marker select */ |
| 80 | |
| 81 | filestruct *mark_beginbuf; /* the begin marker buffer */ |
| 82 | int mark_beginx; /* X value in the string to start */ |
| 83 | |
Chris Allegretta | e1f1452 | 2001-09-19 03:19:43 +0000 | [diff] [blame] | 84 | #ifndef DISABLE_OPERATINGDIR |
Chris Allegretta | f5de33a | 2002-02-27 04:14:16 +0000 | [diff] [blame] | 85 | char *operating_dir = NULL; /* Operating directory, which we can't */ |
| 86 | char *full_operating_dir = NULL;/* go higher than */ |
Chris Allegretta | e1f1452 | 2001-09-19 03:19:43 +0000 | [diff] [blame] | 87 | #endif |
| 88 | |
Chris Allegretta | 8d8e012 | 2001-04-18 04:28:54 +0000 | [diff] [blame] | 89 | #ifndef DISABLE_SPELLER |
| 90 | char *alt_speller; /* Alternative spell command */ |
| 91 | #endif |
| 92 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 93 | shortcut *main_list = NULL; |
| 94 | shortcut *whereis_list = NULL; |
| 95 | shortcut *replace_list = NULL; |
Chris Allegretta | 48b0670 | 2002-02-22 04:30:50 +0000 | [diff] [blame] | 96 | shortcut *replace_list_2 = NULL; /* 2nd half of replace dialog */ |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 97 | shortcut *goto_list = NULL; |
| 98 | shortcut *gotodir_list = NULL; |
| 99 | shortcut *writefile_list = NULL; |
| 100 | shortcut *insertfile_list = NULL; |
| 101 | shortcut *help_list = NULL; |
| 102 | shortcut *spell_list = NULL; |
Chris Allegretta | 7162e3d | 2002-04-06 05:02:14 +0000 | [diff] [blame] | 103 | #ifndef NANO_SMALL |
Chris Allegretta | 52c5a6e | 2002-03-21 05:07:28 +0000 | [diff] [blame] | 104 | shortcut *extcmd_list = NULL; |
Chris Allegretta | 7162e3d | 2002-04-06 05:02:14 +0000 | [diff] [blame] | 105 | #endif |
Rocco Corsi | af5c302 | 2001-01-12 07:51:05 +0000 | [diff] [blame] | 106 | #ifndef DISABLE_BROWSER |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 107 | shortcut *browser_list = NULL; |
Chris Allegretta | f4b9601 | 2001-01-03 07:11:47 +0000 | [diff] [blame] | 108 | #endif |
| 109 | |
Chris Allegretta | 8ce2413 | 2001-04-30 11:28:46 +0000 | [diff] [blame] | 110 | #ifdef ENABLE_COLOR |
| 111 | colorstruct colors[NUM_NCOLORS]; |
Chris Allegretta | 08893e0 | 2001-11-29 02:42:27 +0000 | [diff] [blame] | 112 | colortype *colorstrings = NULL; |
Chris Allegretta | b6c5dc2 | 2002-05-04 03:47:33 +0000 | [diff] [blame] | 113 | syntaxtype *syntaxes = NULL; |
Chris Allegretta | 8ce2413 | 2001-04-30 11:28:46 +0000 | [diff] [blame] | 114 | #endif |
| 115 | |
Chris Allegretta | 8c8d370 | 2001-10-28 05:00:39 +0000 | [diff] [blame] | 116 | #if !defined(DISABLE_BROWSER) || !defined(DISABLE_MOUSE) || !defined (DISABLE_HELP) |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 117 | shortcut *currshortcut; /* Current shortcut list we're using */ |
Chris Allegretta | 6fe6149 | 2001-05-21 12:56:25 +0000 | [diff] [blame] | 118 | #endif |
Chris Allegretta | 6b58acd | 2001-04-12 03:01:53 +0000 | [diff] [blame] | 119 | |
Chris Allegretta | f0b26df | 2001-01-20 22:18:18 +0000 | [diff] [blame] | 120 | #ifndef NANO_SMALL |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 121 | toggle *toggles = NULL; |
Chris Allegretta | f0b26df | 2001-01-20 22:18:18 +0000 | [diff] [blame] | 122 | #endif |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 123 | |
Chris Allegretta | 9fc8d43 | 2000-07-07 01:49:52 +0000 | [diff] [blame] | 124 | /* Regular expressions */ |
| 125 | |
Chris Allegretta | 805c26d | 2000-09-06 13:39:17 +0000 | [diff] [blame] | 126 | #ifdef HAVE_REGEX_H |
Chris Allegretta | bd9e7c3 | 2000-10-26 01:44:42 +0000 | [diff] [blame] | 127 | regex_t search_regexp; /* Global to store compiled search regexp */ |
| 128 | regmatch_t regmatches[10]; /* Match positions for parenthetical |
| 129 | subexpressions, max of 10 */ |
Chris Allegretta | 3533a34 | 2002-03-24 23:19:32 +0000 | [diff] [blame] | 130 | #ifdef ENABLE_COLOR |
| 131 | regex_t color_regexp; /* Global to store compiled search regexp */ |
Chris Allegretta | 373bc2f | 2002-03-24 23:20:32 +0000 | [diff] [blame] | 132 | regmatch_t colormatches[1]; /* Match positions for parenthetical */ |
Chris Allegretta | b6c5dc2 | 2002-05-04 03:47:33 +0000 | [diff] [blame] | 133 | |
| 134 | regex_t syntaxfile_regexp; /* Global to store compiled search regexp */ |
| 135 | regmatch_t synfilematches[1]; /* Match positions for parenthetical */ |
Chris Allegretta | 3533a34 | 2002-03-24 23:19:32 +0000 | [diff] [blame] | 136 | #endif /* ENABLE_COLOR */ |
| 137 | |
Chris Allegretta | 805c26d | 2000-09-06 13:39:17 +0000 | [diff] [blame] | 138 | #endif |
Chris Allegretta | 9fc8d43 | 2000-07-07 01:49:52 +0000 | [diff] [blame] | 139 | |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 140 | int length_of_list(const shortcut *s) |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 141 | { |
| 142 | int i = 0; |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 143 | |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 144 | for (; s != NULL; s = s->next) |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 145 | i++; |
| 146 | |
| 147 | return i; |
| 148 | } |
| 149 | |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 150 | /* Initialize a struct *without* our lovely braces =( */ |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 151 | static void sc_init_one(shortcut **shortcutage, int key, |
| 152 | const char *desc, |
| 153 | #ifndef DISABLE_HELP |
| 154 | const char *help, |
| 155 | #endif /* !DISABLE_HELP */ |
| 156 | int alt, int misc1, int misc2, int view, |
| 157 | int (*func) (void)) |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 158 | { |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 159 | shortcut *s; |
| 160 | |
| 161 | if (*shortcutage == NULL) { |
| 162 | *shortcutage = nmalloc(sizeof(shortcut)); |
| 163 | s = *shortcutage; |
| 164 | } else { |
| 165 | for (s = *shortcutage; s->next != NULL; s = s->next) |
| 166 | ; |
| 167 | s->next = nmalloc(sizeof(shortcut)); |
| 168 | s = s->next; |
| 169 | } |
| 170 | |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 171 | s->val = key; |
| 172 | s->desc = desc; |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 173 | #ifndef DISABLE_HELP |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 174 | s->help = help; |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 175 | #endif /* !DISABLE_HELP */ |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 176 | s->altval = alt; |
| 177 | s->misc1 = misc1; |
| 178 | s->misc2 = misc2; |
| 179 | s->viewok = view; |
| 180 | s->func = func; |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 181 | s->next = NULL; |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 182 | } |
| 183 | |
Chris Allegretta | f0b26df | 2001-01-20 22:18:18 +0000 | [diff] [blame] | 184 | #ifndef NANO_SMALL |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 185 | /* Create one new toggle structure, at the end of the toggles |
| 186 | * linked list. */ |
| 187 | static void toggle_init_one(int val, const char *desc, int flag) |
Chris Allegretta | 756f220 | 2000-09-01 13:32:47 +0000 | [diff] [blame] | 188 | { |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 189 | toggle *u; |
| 190 | |
| 191 | if (toggles == NULL) { |
| 192 | toggles = nmalloc(sizeof(toggle)); |
| 193 | u = toggles; |
| 194 | } else { |
| 195 | for (u = toggles; u->next != NULL; u = u->next) |
| 196 | ; |
| 197 | u->next = nmalloc(sizeof(toggle)); |
| 198 | u = u->next; |
| 199 | } |
| 200 | |
| 201 | u->val = val; |
| 202 | u->desc = desc; |
| 203 | u->flag = flag; |
| 204 | u->next = NULL; |
Chris Allegretta | 756f220 | 2000-09-01 13:32:47 +0000 | [diff] [blame] | 205 | } |
| 206 | |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 207 | /* Deallocate all of the toggles */ |
| 208 | static void free_toggles(void) |
Chris Allegretta | 756f220 | 2000-09-01 13:32:47 +0000 | [diff] [blame] | 209 | { |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 210 | toggle *pt; /* Think "previous toggle" */ |
| 211 | |
| 212 | while (toggles != NULL) { |
| 213 | pt = toggles; |
| 214 | toggles = toggles->next; |
| 215 | free(pt); |
| 216 | } |
| 217 | toggles = NULL; |
| 218 | } |
| 219 | |
| 220 | static void toggle_init(void) |
| 221 | { |
Chris Allegretta | 756f220 | 2000-09-01 13:32:47 +0000 | [diff] [blame] | 222 | char *toggle_const_msg, *toggle_autoindent_msg, *toggle_suspend_msg, |
| 223 | *toggle_nohelp_msg, *toggle_picomode_msg, *toggle_mouse_msg, |
Chris Allegretta | 658399a | 2001-06-14 02:54:22 +0000 | [diff] [blame] | 224 | *toggle_cuttoend_msg, *toggle_wrap_msg, *toggle_case_msg, |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 225 | *toggle_backwards_msg, *toggle_noconvert_msg, *toggle_dos_msg, |
| 226 | *toggle_mac_msg, *toggle_smooth_msg; |
Chris Allegretta | 2d7893d | 2001-07-11 02:08:33 +0000 | [diff] [blame] | 227 | |
Chris Allegretta | d7934d4 | 2000-10-03 05:39:29 +0000 | [diff] [blame] | 228 | #ifdef HAVE_REGEX_H |
Chris Allegretta | bd9e7c3 | 2000-10-26 01:44:42 +0000 | [diff] [blame] | 229 | char *toggle_regexp_msg; |
Chris Allegretta | d7934d4 | 2000-10-03 05:39:29 +0000 | [diff] [blame] | 230 | #endif |
Chris Allegretta | 756f220 | 2000-09-01 13:32:47 +0000 | [diff] [blame] | 231 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 232 | #ifdef ENABLE_MULTIBUFFER |
| 233 | char *toggle_load_msg; |
| 234 | #endif |
Chris Allegretta | 3e3ae94 | 2001-09-22 19:02:04 +0000 | [diff] [blame] | 235 | |
Chris Allegretta | 756f220 | 2000-09-01 13:32:47 +0000 | [diff] [blame] | 236 | toggle_const_msg = _("Constant cursor position"); |
Chris Allegretta | f8163dc | 2000-09-03 01:06:40 +0000 | [diff] [blame] | 237 | toggle_autoindent_msg = _("Auto indent"); |
Chris Allegretta | 756f220 | 2000-09-01 13:32:47 +0000 | [diff] [blame] | 238 | toggle_suspend_msg = _("Suspend"); |
Chris Allegretta | f0f63a8 | 2000-09-02 18:44:21 +0000 | [diff] [blame] | 239 | toggle_nohelp_msg = _("Help mode"); |
Chris Allegretta | bf9a8cc | 2000-11-17 01:37:39 +0000 | [diff] [blame] | 240 | toggle_picomode_msg = _("Pico mode"); |
Chris Allegretta | 756f220 | 2000-09-01 13:32:47 +0000 | [diff] [blame] | 241 | toggle_mouse_msg = _("Mouse support"); |
| 242 | toggle_cuttoend_msg = _("Cut to end"); |
Chris Allegretta | 8d990b5 | 2001-09-22 22:14:25 +0000 | [diff] [blame] | 243 | toggle_backwards_msg = _("Backwards search"); |
| 244 | toggle_case_msg = _("Case sensitive search"); |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 245 | |
| 246 | #ifdef HAVE_REGEX_H |
| 247 | toggle_regexp_msg = _("Regular expression search"); |
| 248 | #endif |
| 249 | |
| 250 | toggle_noconvert_msg = _("No conversion from DOS/Mac format"); |
Chris Allegretta | 7004c28 | 2001-09-22 00:42:10 +0000 | [diff] [blame] | 251 | toggle_dos_msg = _("Writing file in DOS format"); |
Chris Allegretta | 995177f | 2001-09-22 04:34:23 +0000 | [diff] [blame] | 252 | toggle_mac_msg = _("Writing file in Mac format"); |
Chris Allegretta | 3e3ae94 | 2001-09-22 19:02:04 +0000 | [diff] [blame] | 253 | toggle_smooth_msg = _("Smooth scrolling"); |
Chris Allegretta | f0f63a8 | 2000-09-02 18:44:21 +0000 | [diff] [blame] | 254 | toggle_wrap_msg = _("Auto wrap"); |
Chris Allegretta | 756f220 | 2000-09-01 13:32:47 +0000 | [diff] [blame] | 255 | |
Chris Allegretta | 355fbe5 | 2001-07-14 19:32:47 +0000 | [diff] [blame] | 256 | #ifdef ENABLE_MULTIBUFFER |
| 257 | toggle_load_msg = _("Multiple file buffers"); |
Chris Allegretta | 2d7893d | 2001-07-11 02:08:33 +0000 | [diff] [blame] | 258 | #endif |
| 259 | |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 260 | free_toggles(); |
| 261 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 262 | toggle_init_one(TOGGLE_CONST_KEY, toggle_const_msg, CONSTUPDATE); |
| 263 | toggle_init_one(TOGGLE_AUTOINDENT_KEY, toggle_autoindent_msg, AUTOINDENT); |
| 264 | toggle_init_one(TOGGLE_SUSPEND_KEY, toggle_suspend_msg, SUSPEND); |
| 265 | toggle_init_one(TOGGLE_NOHELP_KEY, toggle_nohelp_msg, NO_HELP); |
| 266 | toggle_init_one(TOGGLE_PICOMODE_KEY, toggle_picomode_msg, PICO_MODE); |
| 267 | toggle_init_one(TOGGLE_WRAP_KEY, toggle_wrap_msg, NO_WRAP); |
| 268 | toggle_init_one(TOGGLE_MOUSE_KEY, toggle_mouse_msg, USE_MOUSE); |
| 269 | toggle_init_one(TOGGLE_CUTTOEND_KEY, toggle_cuttoend_msg, CUT_TO_END); |
| 270 | toggle_init_one(TOGGLE_BACKWARDS_KEY, toggle_backwards_msg, REVERSE_SEARCH); |
| 271 | toggle_init_one(TOGGLE_CASE_KEY, toggle_case_msg, CASE_SENSITIVE); |
Chris Allegretta | 805c26d | 2000-09-06 13:39:17 +0000 | [diff] [blame] | 272 | #ifdef HAVE_REGEX_H |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 273 | toggle_init_one(TOGGLE_REGEXP_KEY, toggle_regexp_msg, USE_REGEXP); |
Chris Allegretta | 756f220 | 2000-09-01 13:32:47 +0000 | [diff] [blame] | 274 | #endif |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 275 | #ifdef ENABLE_MULTIBUFFER |
| 276 | toggle_init_one(TOGGLE_LOAD_KEY, toggle_load_msg, MULTIBUFFER); |
Chris Allegretta | 805c26d | 2000-09-06 13:39:17 +0000 | [diff] [blame] | 277 | #endif |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 278 | toggle_init_one(TOGGLE_NOCONVERT_KEY, toggle_noconvert_msg, NO_CONVERT); |
| 279 | toggle_init_one(TOGGLE_DOS_KEY, toggle_dos_msg, DOS_FILE); |
| 280 | toggle_init_one(TOGGLE_MAC_KEY, toggle_mac_msg, MAC_FILE); |
| 281 | toggle_init_one(TOGGLE_SMOOTH_KEY, toggle_smooth_msg, SMOOTHSCROLL); |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 282 | } |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 283 | #endif /* !NANO_SMALL */ |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 284 | |
| 285 | |
| 286 | /* Deallocate the given shortcut. */ |
| 287 | static void free_shortcutage(shortcut **shortcutage) |
| 288 | { |
| 289 | shortcut *s, *ps; |
| 290 | |
| 291 | assert(shortcutage != NULL); |
| 292 | s = *shortcutage; |
| 293 | while (s != NULL) { |
| 294 | ps = s; |
| 295 | s = s->next; |
| 296 | free(ps); |
| 297 | } |
| 298 | *shortcutage = NULL; |
Chris Allegretta | 756f220 | 2000-09-01 13:32:47 +0000 | [diff] [blame] | 299 | } |
| 300 | |
Chris Allegretta | 0779835 | 2000-11-27 22:58:23 +0000 | [diff] [blame] | 301 | void shortcut_init(int unjustify) |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 302 | { |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 303 | #ifndef DISABLE_HELP |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 304 | char *nano_help_msg = "", *nano_writeout_msg = "", *nano_exit_msg = "", |
| 305 | *nano_goto_msg = "", *nano_justify_msg = "", *nano_replace_msg = |
| 306 | "", *nano_insert_msg = "", *nano_whereis_msg = |
| 307 | "", *nano_prevpage_msg = "", *nano_nextpage_msg = |
| 308 | "", *nano_cut_msg = "", *nano_uncut_msg = "", *nano_cursorpos_msg = |
| 309 | "", *nano_spell_msg = "", *nano_up_msg = "", *nano_down_msg = |
| 310 | "", *nano_forward_msg = "", *nano_back_msg = "", *nano_home_msg = |
| 311 | "", *nano_end_msg = "", *nano_firstline_msg = |
| 312 | "", *nano_lastline_msg = "", *nano_refresh_msg = |
| 313 | "", *nano_mark_msg = "", *nano_delete_msg = |
| 314 | "", *nano_backspace_msg = "", *nano_tab_msg = |
Chris Allegretta | 5f36c37 | 2001-07-16 00:48:53 +0000 | [diff] [blame] | 315 | "", *nano_enter_msg = "", *nano_cancel_msg = |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 316 | "", *nano_unjustify_msg = "", *nano_append_msg = |
Chris Allegretta | 0e9b7aa | 2002-04-16 03:15:47 +0000 | [diff] [blame] | 317 | "", *nano_prepend_msg = ""; |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 318 | |
Chris Allegretta | 7162e3d | 2002-04-06 05:02:14 +0000 | [diff] [blame] | 319 | #ifdef ENABLE_MULTIBUFFER |
| 320 | char *nano_openprev_msg = "", *nano_opennext_msg = ""; |
| 321 | #endif |
| 322 | |
Chris Allegretta | 5f36c37 | 2001-07-16 00:48:53 +0000 | [diff] [blame] | 323 | char *nano_tofiles_msg = "", *nano_gotodir_msg = "", *nano_case_msg = |
Chris Allegretta | 52c5a6e | 2002-03-21 05:07:28 +0000 | [diff] [blame] | 324 | "", *nano_reverse_msg = "", *nano_execute_msg = ""; |
Chris Allegretta | 6235a7d | 2002-02-27 04:38:32 +0000 | [diff] [blame] | 325 | char *nano_dos_msg = "", *nano_mac_msg = ""; |
| 326 | |
Chris Allegretta | 2bef182 | 2001-09-28 19:53:11 +0000 | [diff] [blame] | 327 | #ifdef HAVE_REGEX_H |
| 328 | char *nano_regexp_msg = "", *nano_bracket_msg = ""; |
| 329 | #endif |
Chris Allegretta | 6636dc3 | 2001-01-05 05:41:07 +0000 | [diff] [blame] | 330 | |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 331 | nano_help_msg = _("Invoke the help menu"); |
| 332 | nano_writeout_msg = _("Write the current file to disk"); |
Chris Allegretta | 2d7893d | 2001-07-11 02:08:33 +0000 | [diff] [blame] | 333 | |
Chris Allegretta | 355fbe5 | 2001-07-14 19:32:47 +0000 | [diff] [blame] | 334 | #ifdef ENABLE_MULTIBUFFER |
Chris Allegretta | 2d7893d | 2001-07-11 02:08:33 +0000 | [diff] [blame] | 335 | nano_exit_msg = _("Close currently loaded file/Exit from nano"); |
| 336 | #else |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 337 | nano_exit_msg = _("Exit from nano"); |
Chris Allegretta | 2d7893d | 2001-07-11 02:08:33 +0000 | [diff] [blame] | 338 | #endif |
| 339 | |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 340 | nano_goto_msg = _("Goto a specific line number"); |
| 341 | nano_justify_msg = _("Justify the current paragraph"); |
Chris Allegretta | 0779835 | 2000-11-27 22:58:23 +0000 | [diff] [blame] | 342 | nano_unjustify_msg = _("Unjustify after a justify"); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 343 | nano_replace_msg = _("Replace text within the editor"); |
| 344 | nano_insert_msg = _("Insert another file into the current one"); |
| 345 | nano_whereis_msg = _("Search for text within the editor"); |
| 346 | nano_prevpage_msg = _("Move to the previous screen"); |
| 347 | nano_nextpage_msg = _("Move to the next screen"); |
| 348 | nano_cut_msg = _("Cut the current line and store it in the cutbuffer"); |
| 349 | nano_uncut_msg = _("Uncut from the cutbuffer into the current line"); |
Chris Allegretta | 88520c9 | 2001-05-05 17:45:54 +0000 | [diff] [blame] | 350 | nano_cursorpos_msg = _("Show the position of the cursor"); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 351 | nano_spell_msg = _("Invoke the spell checker (if available)"); |
| 352 | nano_up_msg = _("Move up one line"); |
| 353 | nano_down_msg = _("Move down one line"); |
| 354 | nano_forward_msg = _("Move forward one character"); |
| 355 | nano_back_msg = _("Move back one character"); |
| 356 | nano_home_msg = _("Move to the beginning of the current line"); |
| 357 | nano_end_msg = _("Move to the end of the current line"); |
| 358 | nano_firstline_msg = _("Go to the first line of the file"); |
| 359 | nano_lastline_msg = _("Go to the last line of the file"); |
| 360 | nano_refresh_msg = _("Refresh (redraw) the current screen"); |
| 361 | nano_mark_msg = _("Mark text at the current cursor location"); |
| 362 | nano_delete_msg = _("Delete the character under the cursor"); |
| 363 | nano_backspace_msg = |
| 364 | _("Delete the character to the left of the cursor"); |
| 365 | nano_tab_msg = _("Insert a tab character"); |
| 366 | nano_enter_msg = _("Insert a carriage return at the cursor position"); |
| 367 | nano_case_msg = |
| 368 | _("Make the current search or replace case (in)sensitive"); |
Chris Allegretta | f4b9601 | 2001-01-03 07:11:47 +0000 | [diff] [blame] | 369 | nano_tofiles_msg = _("Go to file browser"); |
Chris Allegretta | 52c5a6e | 2002-03-21 05:07:28 +0000 | [diff] [blame] | 370 | nano_execute_msg = _("Execute external command"); |
Rocco Corsi | 12f294c | 2001-04-14 06:50:24 +0000 | [diff] [blame] | 371 | nano_gotodir_msg = _("Goto Directory"); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 372 | nano_cancel_msg = _("Cancel the current function"); |
Chris Allegretta | cc197ef | 2001-05-29 04:21:44 +0000 | [diff] [blame] | 373 | nano_append_msg = _("Append to the current file"); |
Chris Allegretta | 0e9b7aa | 2002-04-16 03:15:47 +0000 | [diff] [blame] | 374 | nano_prepend_msg = _("Prepend to the current file"); |
Chris Allegretta | 8d990b5 | 2001-09-22 22:14:25 +0000 | [diff] [blame] | 375 | nano_reverse_msg = _("Search backwards"); |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 376 | nano_dos_msg = _("Write file out in DOS format"); |
| 377 | nano_mac_msg = _("Write file out in Mac format"); |
Chris Allegretta | 2bef182 | 2001-09-28 19:53:11 +0000 | [diff] [blame] | 378 | #ifdef HAVE_REGEX_H |
Chris Allegretta | 8d990b5 | 2001-09-22 22:14:25 +0000 | [diff] [blame] | 379 | nano_regexp_msg = _("Use Regular expressions"); |
| 380 | nano_bracket_msg = _("Find other bracket"); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 381 | #endif |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 382 | #ifdef ENABLE_MULTIBUFFER |
| 383 | nano_openprev_msg = _("Open previously loaded file"); |
| 384 | nano_opennext_msg = _("Open next loaded file"); |
Chris Allegretta | 2bef182 | 2001-09-28 19:53:11 +0000 | [diff] [blame] | 385 | #endif |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 386 | #endif /* !DISABLE_HELP */ |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 387 | |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 388 | free_shortcutage(&main_list); |
Chris Allegretta | f5de33a | 2002-02-27 04:14:16 +0000 | [diff] [blame] | 389 | |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 390 | /* The following macro is to be used in calling sc_init_one. The point is |
| 391 | * that sc_init_one takes 9 arguments, unless DISABLE_HELP is defined, |
| 392 | * when the fourth one should not be there. */ |
| 393 | #ifdef DISABLE_HELP |
| 394 | # define IFHELP(help, nextvar) nextvar |
| 395 | #else |
| 396 | # define IFHELP(help, nextvar) help, nextvar |
| 397 | #endif |
| 398 | |
| 399 | sc_init_one(&main_list, NANO_HELP_KEY, _("Get Help"), |
| 400 | IFHELP(nano_help_msg,) 0, NANO_HELP_FKEY, 0, VIEW, |
| 401 | do_help); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 402 | |
Chris Allegretta | 355fbe5 | 2001-07-14 19:32:47 +0000 | [diff] [blame] | 403 | #ifdef ENABLE_MULTIBUFFER |
Chris Allegretta | 2d7893d | 2001-07-11 02:08:33 +0000 | [diff] [blame] | 404 | if (open_files != NULL && (open_files->prev || open_files->next)) |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 405 | sc_init_one(&main_list, NANO_EXIT_KEY, _("Close"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 406 | IFHELP(nano_exit_msg,) 0, NANO_EXIT_FKEY, 0, VIEW, |
| 407 | do_exit); |
Chris Allegretta | 2d7893d | 2001-07-11 02:08:33 +0000 | [diff] [blame] | 408 | else |
| 409 | #endif |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 410 | sc_init_one(&main_list, NANO_EXIT_KEY, _("Exit"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 411 | IFHELP(nano_exit_msg,) 0, NANO_EXIT_FKEY, 0, VIEW, |
| 412 | do_exit); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 413 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 414 | sc_init_one(&main_list, NANO_WRITEOUT_KEY, _("WriteOut"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 415 | IFHELP(nano_writeout_msg,) |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 416 | 0, NANO_WRITEOUT_FKEY, 0, NOVIEW, do_writeout_void); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 417 | |
Chris Allegretta | bf9a8cc | 2000-11-17 01:37:39 +0000 | [diff] [blame] | 418 | if (ISSET(PICO_MODE)) |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 419 | sc_init_one(&main_list, NANO_JUSTIFY_KEY, _("Justify"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 420 | IFHELP(nano_justify_msg,) 0, NANO_JUSTIFY_FKEY, 0, |
Chris Allegretta | 16e4168 | 2000-09-11 22:33:54 +0000 | [diff] [blame] | 421 | NOVIEW, do_justify); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 422 | else |
Chris Allegretta | 32da456 | 2002-01-02 15:12:21 +0000 | [diff] [blame] | 423 | |
| 424 | #ifdef ENABLE_MULTIBUFFER |
| 425 | /* this is so we can view multiple files */ |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 426 | sc_init_one(&main_list, NANO_INSERTFILE_KEY, _("Read File"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 427 | IFHELP(nano_insert_msg,) |
Chris Allegretta | 32da456 | 2002-01-02 15:12:21 +0000 | [diff] [blame] | 428 | 0, NANO_INSERTFILE_FKEY, 0, VIEW, do_insertfile_void); |
| 429 | #else |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 430 | sc_init_one(&main_list, NANO_INSERTFILE_KEY, _("Read File"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 431 | IFHELP(nano_insert_msg,) |
Chris Allegretta | 2d7893d | 2001-07-11 02:08:33 +0000 | [diff] [blame] | 432 | 0, NANO_INSERTFILE_FKEY, 0, NOVIEW, do_insertfile_void); |
Chris Allegretta | 32da456 | 2002-01-02 15:12:21 +0000 | [diff] [blame] | 433 | #endif |
Chris Allegretta | af6414a | 2001-02-11 19:05:05 +0000 | [diff] [blame] | 434 | |
| 435 | if (ISSET(PICO_MODE)) |
Chris Allegretta | 32da456 | 2002-01-02 15:12:21 +0000 | [diff] [blame] | 436 | |
| 437 | #ifdef ENABLE_MULTIBUFFER |
| 438 | /* this is so we can view multiple files */ |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 439 | sc_init_one(&main_list, NANO_INSERTFILE_KEY, _("Read File"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 440 | IFHELP(nano_insert_msg,) |
Chris Allegretta | 32da456 | 2002-01-02 15:12:21 +0000 | [diff] [blame] | 441 | 0, NANO_INSERTFILE_FKEY, 0, VIEW, do_insertfile_void); |
| 442 | #else |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 443 | sc_init_one(&main_list, NANO_INSERTFILE_KEY, _("Read File"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 444 | IFHELP(nano_insert_msg,) |
Chris Allegretta | 2d7893d | 2001-07-11 02:08:33 +0000 | [diff] [blame] | 445 | 0, NANO_INSERTFILE_FKEY, 0, NOVIEW, do_insertfile_void); |
Chris Allegretta | 32da456 | 2002-01-02 15:12:21 +0000 | [diff] [blame] | 446 | #endif |
| 447 | |
Chris Allegretta | af6414a | 2001-02-11 19:05:05 +0000 | [diff] [blame] | 448 | else |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 449 | sc_init_one(&main_list, NANO_REPLACE_KEY, _("Replace"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 450 | IFHELP(nano_replace_msg,) |
Chris Allegretta | f7dee92 | 2002-01-07 16:43:25 +0000 | [diff] [blame] | 451 | NANO_ALT_REPLACE_KEY, NANO_REPLACE_FKEY, 0, NOVIEW, do_replace); |
Chris Allegretta | af6414a | 2001-02-11 19:05:05 +0000 | [diff] [blame] | 452 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 453 | sc_init_one(&main_list, NANO_WHEREIS_KEY, _("Where Is"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 454 | IFHELP(nano_whereis_msg,) |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 455 | 0, NANO_WHEREIS_FKEY, 0, VIEW, do_search); |
| 456 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 457 | sc_init_one(&main_list, NANO_PREVPAGE_KEY, _("Prev Page"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 458 | IFHELP(nano_prevpage_msg,) |
Chris Allegretta | 3e3ae94 | 2001-09-22 19:02:04 +0000 | [diff] [blame] | 459 | 0, NANO_PREVPAGE_FKEY, KEY_PPAGE, VIEW, do_page_up); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 460 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 461 | sc_init_one(&main_list, NANO_NEXTPAGE_KEY, _("Next Page"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 462 | IFHELP(nano_nextpage_msg,) |
Chris Allegretta | 3e3ae94 | 2001-09-22 19:02:04 +0000 | [diff] [blame] | 463 | 0, NANO_NEXTPAGE_FKEY, KEY_NPAGE, VIEW, do_page_down); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 464 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 465 | sc_init_one(&main_list, NANO_CUT_KEY, _("Cut Text"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 466 | IFHELP(nano_cut_msg,) |
| 467 | 0, NANO_CUT_FKEY, 0, NOVIEW, do_cut_text); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 468 | |
Chris Allegretta | 0779835 | 2000-11-27 22:58:23 +0000 | [diff] [blame] | 469 | if (unjustify) |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 470 | sc_init_one(&main_list, NANO_UNJUSTIFY_KEY, _("UnJustify"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 471 | IFHELP(nano_unjustify_msg,) |
| 472 | 0, 0, 0, NOVIEW, do_uncut_text); |
Chris Allegretta | 0779835 | 2000-11-27 22:58:23 +0000 | [diff] [blame] | 473 | else |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 474 | sc_init_one(&main_list, NANO_UNCUT_KEY, _("UnCut Txt"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 475 | IFHELP(nano_uncut_msg,) |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 476 | 0, NANO_UNCUT_FKEY, 0, NOVIEW, do_uncut_text); |
| 477 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 478 | sc_init_one(&main_list, NANO_CURSORPOS_KEY, _("Cur Pos"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 479 | IFHELP(nano_cursorpos_msg,) |
Chris Allegretta | 2084acc | 2001-11-29 03:43:08 +0000 | [diff] [blame] | 480 | 0, NANO_CURSORPOS_FKEY, 0, VIEW, do_cursorpos_void); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 481 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 482 | sc_init_one(&main_list, NANO_SPELL_KEY, _("To Spell"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 483 | IFHELP(nano_spell_msg,) |
| 484 | 0, NANO_SPELL_FKEY, 0, NOVIEW, do_spell); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 485 | |
| 486 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 487 | sc_init_one(&main_list, NANO_UP_KEY, _("Up"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 488 | IFHELP(nano_up_msg,) |
| 489 | 0, KEY_UP, 0, VIEW, do_up); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 490 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 491 | sc_init_one(&main_list, NANO_DOWN_KEY, _("Down"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 492 | IFHELP(nano_down_msg,) |
| 493 | 0, KEY_DOWN, 0, VIEW, do_down); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 494 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 495 | sc_init_one(&main_list, NANO_FORWARD_KEY, _("Forward"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 496 | IFHELP(nano_forward_msg,) |
| 497 | 0, KEY_RIGHT, 0, VIEW, do_right); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 498 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 499 | sc_init_one(&main_list, NANO_BACK_KEY, _("Back"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 500 | IFHELP(nano_back_msg,) |
| 501 | 0, KEY_LEFT, 0, VIEW, do_left); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 502 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 503 | sc_init_one(&main_list, NANO_HOME_KEY, _("Home"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 504 | IFHELP(nano_home_msg,) |
| 505 | 0, KEY_HOME, 362, VIEW, do_home); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 506 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 507 | sc_init_one(&main_list, NANO_END_KEY, _("End"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 508 | IFHELP(nano_end_msg,) |
| 509 | 0, KEY_END, 385, VIEW, do_end); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 510 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 511 | sc_init_one(&main_list, NANO_REFRESH_KEY, _("Refresh"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 512 | IFHELP(nano_refresh_msg,) |
| 513 | 0, 0, 0, VIEW, total_refresh); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 514 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 515 | sc_init_one(&main_list, NANO_MARK_KEY, _("Mark Text"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 516 | IFHELP(nano_mark_msg,) |
| 517 | NANO_ALT_MARK_KEY, 0, 0, NOVIEW, do_mark); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 518 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 519 | sc_init_one(&main_list, NANO_DELETE_KEY, _("Delete"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 520 | IFHELP(nano_delete_msg,) 0, KEY_DC, |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 521 | NANO_CONTROL_D, NOVIEW, do_delete); |
| 522 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 523 | sc_init_one(&main_list, NANO_BACKSPACE_KEY, _("Backspace"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 524 | IFHELP(nano_backspace_msg,) 0, |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 525 | KEY_BACKSPACE, 127, NOVIEW, do_backspace); |
| 526 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 527 | sc_init_one(&main_list, NANO_TAB_KEY, _("Tab"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 528 | IFHELP(nano_tab_msg,) |
| 529 | 0, 0, 0, NOVIEW, do_tab); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 530 | |
Chris Allegretta | bf9a8cc | 2000-11-17 01:37:39 +0000 | [diff] [blame] | 531 | if (ISSET(PICO_MODE)) |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 532 | sc_init_one(&main_list, NANO_REPLACE_KEY, _("Replace"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 533 | IFHELP(nano_replace_msg,) |
Chris Allegretta | 044d1b1 | 2002-01-08 00:33:32 +0000 | [diff] [blame] | 534 | NANO_ALT_REPLACE_KEY, NANO_REPLACE_FKEY, 0, NOVIEW, do_replace); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 535 | else |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 536 | sc_init_one(&main_list, NANO_JUSTIFY_KEY, _("Justify"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 537 | IFHELP(nano_justify_msg,) |
| 538 | 0, NANO_JUSTIFY_FKEY, 0, NOVIEW, do_justify); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 539 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 540 | sc_init_one(&main_list, NANO_ENTER_KEY, _("Enter"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 541 | IFHELP(nano_enter_msg,) |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 542 | 0, KEY_ENTER, NANO_CONTROL_M, NOVIEW, do_enter_void); |
| 543 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 544 | sc_init_one(&main_list, NANO_GOTO_KEY, _("Goto Line"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 545 | IFHELP(nano_goto_msg,) |
Chris Allegretta | f7dee92 | 2002-01-07 16:43:25 +0000 | [diff] [blame] | 546 | NANO_ALT_GOTO_KEY, NANO_GOTO_FKEY, 0, VIEW, do_gotoline_void); |
Chris Allegretta | af6414a | 2001-02-11 19:05:05 +0000 | [diff] [blame] | 547 | |
Chris Allegretta | 8d990b5 | 2001-09-22 22:14:25 +0000 | [diff] [blame] | 548 | #if (!defined NANO_SMALL) && (defined HAVE_REGEX_H) |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 549 | sc_init_one(&main_list, -9, _("Find Other Bracket"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 550 | IFHELP(nano_bracket_msg,) |
Chris Allegretta | 8d990b5 | 2001-09-22 22:14:25 +0000 | [diff] [blame] | 551 | NANO_BRACKET_KEY, 0, 0, VIEW, do_find_bracket); |
| 552 | #endif |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 553 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 554 | #ifdef ENABLE_MULTIBUFFER |
| 555 | sc_init_one(&main_list, -9, _("Previous File"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 556 | IFHELP(nano_openprev_msg,) |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 557 | NANO_OPENPREV_KEY, 0, 0, VIEW, open_prevfile_void); |
| 558 | sc_init_one(&main_list, -9, _("Next File"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 559 | IFHELP(nano_opennext_msg,) |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 560 | NANO_OPENNEXT_KEY, 0, 0, VIEW, open_nextfile_void); |
| 561 | #endif |
Chris Allegretta | b3655b4 | 2001-10-22 03:15:31 +0000 | [diff] [blame] | 562 | |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 563 | free_shortcutage(&whereis_list); |
Chris Allegretta | f5de33a | 2002-02-27 04:14:16 +0000 | [diff] [blame] | 564 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 565 | sc_init_one(&whereis_list, NANO_HELP_KEY, |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 566 | _("Get Help"), IFHELP(nano_help_msg,) |
| 567 | 0, 0, 0, VIEW, do_help); |
Chris Allegretta | b3655b4 | 2001-10-22 03:15:31 +0000 | [diff] [blame] | 568 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 569 | sc_init_one(&whereis_list, NANO_CANCEL_KEY, |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 570 | _("Cancel"), IFHELP(nano_cancel_msg,) |
| 571 | 0, 0, 0, VIEW, 0); |
Chris Allegretta | b3655b4 | 2001-10-22 03:15:31 +0000 | [diff] [blame] | 572 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 573 | sc_init_one(&whereis_list, NANO_FIRSTLINE_KEY, _("First Line"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 574 | IFHELP(nano_firstline_msg,) |
| 575 | 0, 0, 0, VIEW, do_first_line); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 576 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 577 | sc_init_one(&whereis_list, NANO_LASTLINE_KEY, _("Last Line"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 578 | IFHELP(nano_lastline_msg,) |
| 579 | 0, 0, 0, VIEW, do_last_line); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 580 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 581 | sc_init_one(&whereis_list, NANO_OTHERSEARCH_KEY, _("Replace"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 582 | IFHELP(nano_replace_msg,) |
| 583 | 0, 0, 0, VIEW, do_replace); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 584 | |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 585 | sc_init_one(&whereis_list, NANO_FROMSEARCHTOGOTO_KEY, _("Goto Line"), |
| 586 | IFHELP(nano_goto_msg,) |
| 587 | 0, 0, 0, VIEW, do_gotoline_void); |
Chris Allegretta | 8c2b40f | 2000-06-29 01:30:04 +0000 | [diff] [blame] | 588 | |
Chris Allegretta | 5f36c37 | 2001-07-16 00:48:53 +0000 | [diff] [blame] | 589 | #ifndef NANO_SMALL |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 590 | sc_init_one(&whereis_list, TOGGLE_CASE_KEY, _("Case Sens"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 591 | IFHELP(nano_case_msg,) |
| 592 | 0, 0, 0, VIEW, 0); |
Chris Allegretta | 658399a | 2001-06-14 02:54:22 +0000 | [diff] [blame] | 593 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 594 | sc_init_one(&whereis_list, TOGGLE_BACKWARDS_KEY, _("Direction"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 595 | IFHELP(nano_reverse_msg,) |
| 596 | 0, 0, 0, VIEW, 0); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 597 | |
Chris Allegretta | 658399a | 2001-06-14 02:54:22 +0000 | [diff] [blame] | 598 | #ifdef HAVE_REGEX_H |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 599 | sc_init_one(&whereis_list, TOGGLE_REGEXP_KEY, |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 600 | _("Regexp"), IFHELP(nano_regexp_msg,) |
| 601 | 0, 0, 0, VIEW, 0); |
Chris Allegretta | 658399a | 2001-06-14 02:54:22 +0000 | [diff] [blame] | 602 | #endif |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 603 | #endif /* !NANO_SMALL */ |
Chris Allegretta | 5f36c37 | 2001-07-16 00:48:53 +0000 | [diff] [blame] | 604 | |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 605 | free_shortcutage(&replace_list); |
Chris Allegretta | b3655b4 | 2001-10-22 03:15:31 +0000 | [diff] [blame] | 606 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 607 | sc_init_one(&replace_list, NANO_HELP_KEY, |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 608 | _("Get Help"), IFHELP(nano_help_msg,) |
| 609 | 0, 0, 0, VIEW, do_help); |
Chris Allegretta | b3655b4 | 2001-10-22 03:15:31 +0000 | [diff] [blame] | 610 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 611 | sc_init_one(&replace_list, NANO_CANCEL_KEY, |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 612 | _("Cancel"), IFHELP(nano_cancel_msg,) |
| 613 | 0, 0, 0, VIEW, 0); |
Chris Allegretta | 5f36c37 | 2001-07-16 00:48:53 +0000 | [diff] [blame] | 614 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 615 | sc_init_one(&replace_list, NANO_FIRSTLINE_KEY, _("First Line"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 616 | IFHELP(nano_firstline_msg,) |
| 617 | 0, 0, 0, VIEW, do_first_line); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 618 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 619 | sc_init_one(&replace_list, NANO_LASTLINE_KEY, _("Last Line"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 620 | IFHELP(nano_lastline_msg,) |
| 621 | 0, 0, 0, VIEW, do_last_line); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 622 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 623 | sc_init_one(&replace_list, NANO_OTHERSEARCH_KEY, _("No Replace"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 624 | IFHELP(nano_whereis_msg,) |
| 625 | 0, 0, 0, VIEW, do_search); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 626 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 627 | sc_init_one(&replace_list, NANO_FROMSEARCHTOGOTO_KEY, |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 628 | _("Goto Line"), IFHELP(nano_goto_msg,) |
| 629 | 0, 0, 0, VIEW, do_gotoline_void); |
Chris Allegretta | 8c2b40f | 2000-06-29 01:30:04 +0000 | [diff] [blame] | 630 | |
Chris Allegretta | 5f36c37 | 2001-07-16 00:48:53 +0000 | [diff] [blame] | 631 | #ifndef NANO_SMALL |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 632 | sc_init_one(&replace_list, TOGGLE_CASE_KEY, _("Case Sens"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 633 | IFHELP(nano_case_msg,) |
| 634 | 0, 0, 0, VIEW, 0); |
Chris Allegretta | 658399a | 2001-06-14 02:54:22 +0000 | [diff] [blame] | 635 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 636 | sc_init_one(&replace_list, TOGGLE_BACKWARDS_KEY, _("Direction"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 637 | IFHELP(nano_reverse_msg,) |
| 638 | 0, 0, 0, VIEW, 0); |
Chris Allegretta | 105da33 | 2000-10-31 05:10:10 +0000 | [diff] [blame] | 639 | |
Chris Allegretta | 658399a | 2001-06-14 02:54:22 +0000 | [diff] [blame] | 640 | #ifdef HAVE_REGEX_H |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 641 | sc_init_one(&replace_list, TOGGLE_REGEXP_KEY, |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 642 | _("Regexp"), IFHELP(nano_regexp_msg,) |
| 643 | 0, 0, 0, VIEW, 0); |
Chris Allegretta | 658399a | 2001-06-14 02:54:22 +0000 | [diff] [blame] | 644 | #endif |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 645 | #endif /* !NANO_SMALL */ |
Chris Allegretta | 5f36c37 | 2001-07-16 00:48:53 +0000 | [diff] [blame] | 646 | |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 647 | free_shortcutage(&replace_list_2); |
Chris Allegretta | b3655b4 | 2001-10-22 03:15:31 +0000 | [diff] [blame] | 648 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 649 | sc_init_one(&replace_list_2, NANO_HELP_KEY, |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 650 | _("Get Help"), IFHELP(nano_help_msg,) |
| 651 | 0, 0, 0, VIEW, do_help); |
Chris Allegretta | b3655b4 | 2001-10-22 03:15:31 +0000 | [diff] [blame] | 652 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 653 | sc_init_one(&replace_list_2, NANO_CANCEL_KEY, |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 654 | _("Cancel"), IFHELP(nano_cancel_msg,) |
| 655 | 0, 0, 0, VIEW, 0); |
Chris Allegretta | 105da33 | 2000-10-31 05:10:10 +0000 | [diff] [blame] | 656 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 657 | sc_init_one(&replace_list_2, NANO_FIRSTLINE_KEY, _("First Line"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 658 | IFHELP(nano_firstline_msg,) |
| 659 | 0, 0, 0, VIEW, do_first_line); |
Chris Allegretta | 105da33 | 2000-10-31 05:10:10 +0000 | [diff] [blame] | 660 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 661 | sc_init_one(&replace_list_2, NANO_LASTLINE_KEY, _("Last Line"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 662 | IFHELP(nano_lastline_msg,) |
| 663 | 0, 0, 0, VIEW, do_last_line); |
Chris Allegretta | 105da33 | 2000-10-31 05:10:10 +0000 | [diff] [blame] | 664 | |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 665 | free_shortcutage(&goto_list); |
Chris Allegretta | b3655b4 | 2001-10-22 03:15:31 +0000 | [diff] [blame] | 666 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 667 | sc_init_one(&goto_list, NANO_HELP_KEY, |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 668 | _("Get Help"), IFHELP(nano_help_msg,) |
| 669 | 0, 0, 0, VIEW, do_help); |
Chris Allegretta | b3655b4 | 2001-10-22 03:15:31 +0000 | [diff] [blame] | 670 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 671 | sc_init_one(&goto_list, NANO_CANCEL_KEY, _("Cancel"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 672 | IFHELP(nano_cancel_msg,) |
| 673 | 0, 0, 0, VIEW, 0); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 674 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 675 | sc_init_one(&goto_list, NANO_FIRSTLINE_KEY, _("First Line"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 676 | IFHELP(nano_firstline_msg,) |
| 677 | 0, 0, 0, VIEW, &do_first_line); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 678 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 679 | sc_init_one(&goto_list, NANO_LASTLINE_KEY, _("Last Line"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 680 | IFHELP(nano_lastline_msg,) |
| 681 | 0, 0, 0, VIEW, &do_last_line); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 682 | |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 683 | free_shortcutage(&help_list); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 684 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 685 | sc_init_one(&help_list, NANO_PREVPAGE_KEY, _("Prev Page"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 686 | IFHELP(nano_prevpage_msg,) |
Chris Allegretta | 3e3ae94 | 2001-09-22 19:02:04 +0000 | [diff] [blame] | 687 | 0, NANO_PREVPAGE_FKEY, KEY_PPAGE, VIEW, do_page_up); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 688 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 689 | sc_init_one(&help_list, NANO_NEXTPAGE_KEY, _("Next Page"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 690 | IFHELP(nano_nextpage_msg,) |
Chris Allegretta | 3e3ae94 | 2001-09-22 19:02:04 +0000 | [diff] [blame] | 691 | 0, NANO_NEXTPAGE_FKEY, KEY_NPAGE, VIEW, do_page_down); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 692 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 693 | sc_init_one(&help_list, NANO_EXIT_KEY, _("Exit"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 694 | IFHELP(nano_exit_msg,) |
| 695 | 0, NANO_EXIT_FKEY, 0, VIEW, do_exit); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 696 | |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 697 | free_shortcutage(&writefile_list); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 698 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 699 | sc_init_one(&writefile_list, NANO_HELP_KEY, |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 700 | _("Get Help"), IFHELP(nano_help_msg,) |
| 701 | 0, 0, 0, VIEW, do_help); |
Chris Allegretta | b3655b4 | 2001-10-22 03:15:31 +0000 | [diff] [blame] | 702 | |
Rocco Corsi | af5c302 | 2001-01-12 07:51:05 +0000 | [diff] [blame] | 703 | #ifndef DISABLE_BROWSER |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 704 | sc_init_one(&writefile_list, NANO_TOFILES_KEY, _("To Files"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 705 | IFHELP(nano_tofiles_msg,) |
| 706 | 0, 0, 0, NOVIEW, 0); |
Chris Allegretta | f4b9601 | 2001-01-03 07:11:47 +0000 | [diff] [blame] | 707 | #endif |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 708 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 709 | #ifndef NANO_SMALL |
| 710 | sc_init_one(&writefile_list, TOGGLE_DOS_KEY, |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 711 | _("DOS Format"), IFHELP(nano_dos_msg,) |
| 712 | 0, 0, 0, NOVIEW, 0); |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 713 | |
| 714 | sc_init_one(&writefile_list, TOGGLE_MAC_KEY, |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 715 | _("Mac Format"), IFHELP(nano_mac_msg,) |
| 716 | 0, 0, 0, NOVIEW, 0); |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 717 | #endif |
| 718 | |
| 719 | sc_init_one(&writefile_list, |
| 720 | NANO_APPEND_KEY, _("Append"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 721 | IFHELP(nano_append_msg,) |
| 722 | 0, 0, 0, NOVIEW, 0); |
Chris Allegretta | cc197ef | 2001-05-29 04:21:44 +0000 | [diff] [blame] | 723 | |
Chris Allegretta | 0e9b7aa | 2002-04-16 03:15:47 +0000 | [diff] [blame] | 724 | sc_init_one(&writefile_list, |
| 725 | NANO_PREPEND_KEY, _("Prepend"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 726 | IFHELP(nano_prepend_msg,) |
| 727 | 0, 0, 0, NOVIEW, 0); |
Chris Allegretta | 0e9b7aa | 2002-04-16 03:15:47 +0000 | [diff] [blame] | 728 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 729 | sc_init_one(&writefile_list, NANO_CANCEL_KEY, |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 730 | _("Cancel"), IFHELP(nano_cancel_msg,) |
| 731 | 0, 0, 0, VIEW, 0); |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 732 | |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 733 | free_shortcutage(&insertfile_list); |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 734 | |
| 735 | sc_init_one(&insertfile_list, NANO_HELP_KEY, |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 736 | _("Get Help"), IFHELP(nano_help_msg,) |
| 737 | 0, 0, 0, VIEW, do_help); |
Chris Allegretta | b3655b4 | 2001-10-22 03:15:31 +0000 | [diff] [blame] | 738 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 739 | sc_init_one(&insertfile_list, NANO_CANCEL_KEY, _("Cancel"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 740 | IFHELP(nano_cancel_msg,) |
| 741 | 0, 0, 0, VIEW, 0); |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 742 | |
Chris Allegretta | cc197ef | 2001-05-29 04:21:44 +0000 | [diff] [blame] | 743 | #ifndef DISABLE_BROWSER |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 744 | sc_init_one(&insertfile_list, NANO_TOFILES_KEY, _("To Files"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 745 | IFHELP(nano_tofiles_msg,) |
| 746 | 0, 0, 0, NOVIEW, 0); |
Chris Allegretta | cc197ef | 2001-05-29 04:21:44 +0000 | [diff] [blame] | 747 | #endif |
Chris Allegretta | 52c5a6e | 2002-03-21 05:07:28 +0000 | [diff] [blame] | 748 | #ifndef NANO_SMALL |
| 749 | sc_init_one(&insertfile_list, NANO_EXTCMD_KEY, _("Execute Command"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 750 | IFHELP(nano_execute_msg,) |
| 751 | 0, 0, 0, NOVIEW, 0); |
Chris Allegretta | 52c5a6e | 2002-03-21 05:07:28 +0000 | [diff] [blame] | 752 | #endif |
Chris Allegretta | cc197ef | 2001-05-29 04:21:44 +0000 | [diff] [blame] | 753 | |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 754 | free_shortcutage(&spell_list); |
Chris Allegretta | 7162e3d | 2002-04-06 05:02:14 +0000 | [diff] [blame] | 755 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 756 | sc_init_one(&spell_list, NANO_HELP_KEY, |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 757 | _("Get Help"), IFHELP(nano_help_msg,) |
| 758 | 0, 0, 0, VIEW, do_help); |
Chris Allegretta | b3655b4 | 2001-10-22 03:15:31 +0000 | [diff] [blame] | 759 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 760 | sc_init_one(&spell_list, NANO_CANCEL_KEY, _("Cancel"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 761 | IFHELP(nano_cancel_msg,) |
| 762 | 0, 0, 0, VIEW, 0); |
Chris Allegretta | cc197ef | 2001-05-29 04:21:44 +0000 | [diff] [blame] | 763 | |
Chris Allegretta | 52c5a6e | 2002-03-21 05:07:28 +0000 | [diff] [blame] | 764 | #ifndef NANO_SMALL |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 765 | free_shortcutage(&extcmd_list); |
Chris Allegretta | 7162e3d | 2002-04-06 05:02:14 +0000 | [diff] [blame] | 766 | |
Chris Allegretta | 52c5a6e | 2002-03-21 05:07:28 +0000 | [diff] [blame] | 767 | sc_init_one(&extcmd_list, NANO_HELP_KEY, |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 768 | _("Get Help"), IFHELP(nano_help_msg,) |
| 769 | 0, 0, 0, VIEW, do_help); |
Chris Allegretta | 52c5a6e | 2002-03-21 05:07:28 +0000 | [diff] [blame] | 770 | |
| 771 | sc_init_one(&extcmd_list, NANO_CANCEL_KEY, _("Cancel"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 772 | IFHELP(nano_cancel_msg,) |
| 773 | 0, 0, 0, VIEW, 0); |
Chris Allegretta | 52c5a6e | 2002-03-21 05:07:28 +0000 | [diff] [blame] | 774 | #endif |
Chris Allegretta | a2ea193 | 2000-06-06 05:53:49 +0000 | [diff] [blame] | 775 | |
Rocco Corsi | af5c302 | 2001-01-12 07:51:05 +0000 | [diff] [blame] | 776 | #ifndef DISABLE_BROWSER |
Chris Allegretta | f5de33a | 2002-02-27 04:14:16 +0000 | [diff] [blame] | 777 | |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 778 | free_shortcutage(&browser_list); |
Chris Allegretta | f5de33a | 2002-02-27 04:14:16 +0000 | [diff] [blame] | 779 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 780 | sc_init_one(&browser_list, NANO_HELP_KEY, |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 781 | _("Get Help"), IFHELP(nano_help_msg,) |
| 782 | 0, 0, 0, VIEW, do_help); |
Chris Allegretta | b3655b4 | 2001-10-22 03:15:31 +0000 | [diff] [blame] | 783 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 784 | sc_init_one(&browser_list, NANO_EXIT_KEY, _("Exit"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 785 | IFHELP(nano_exit_msg,) |
| 786 | 0, NANO_EXIT_FKEY, 0, VIEW, 0); |
Chris Allegretta | b3655b4 | 2001-10-22 03:15:31 +0000 | [diff] [blame] | 787 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 788 | sc_init_one(&browser_list, NANO_PREVPAGE_KEY, _("Prev Page"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 789 | IFHELP(nano_prevpage_msg,) |
Chris Allegretta | f4b9601 | 2001-01-03 07:11:47 +0000 | [diff] [blame] | 790 | 0, NANO_PREVPAGE_FKEY, KEY_PPAGE, VIEW, 0); |
| 791 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 792 | sc_init_one(&browser_list, NANO_NEXTPAGE_KEY, _("Next Page"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 793 | IFHELP(nano_nextpage_msg,) |
Chris Allegretta | f4b9601 | 2001-01-03 07:11:47 +0000 | [diff] [blame] | 794 | 0, NANO_NEXTPAGE_FKEY, KEY_NPAGE, VIEW, 0); |
| 795 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 796 | sc_init_one(&browser_list, NANO_GOTO_KEY, _("Goto"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 797 | IFHELP(nano_gotodir_msg,) |
| 798 | NANO_ALT_GOTO_KEY, NANO_GOTO_FKEY, 0, VIEW, 0); |
Rocco Corsi | 12f294c | 2001-04-14 06:50:24 +0000 | [diff] [blame] | 799 | |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 800 | free_shortcutage(&gotodir_list); |
Chris Allegretta | f5de33a | 2002-02-27 04:14:16 +0000 | [diff] [blame] | 801 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 802 | sc_init_one(&gotodir_list, NANO_HELP_KEY, |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 803 | _("Get Help"), IFHELP(nano_help_msg,) |
| 804 | 0, 0, 0, VIEW, do_help); |
Chris Allegretta | f4b9601 | 2001-01-03 07:11:47 +0000 | [diff] [blame] | 805 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 806 | sc_init_one(&gotodir_list, NANO_CANCEL_KEY, _("Cancel"), |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 807 | IFHELP(nano_cancel_msg,) |
| 808 | 0, 0, 0, VIEW, 0); |
Rocco Corsi | 12f294c | 2001-04-14 06:50:24 +0000 | [diff] [blame] | 809 | |
Chris Allegretta | f4b9601 | 2001-01-03 07:11:47 +0000 | [diff] [blame] | 810 | #endif |
| 811 | |
| 812 | |
Chris Allegretta | a8c2257 | 2002-02-15 19:17:02 +0000 | [diff] [blame] | 813 | #if !defined(DISABLE_BROWSER) || !defined(DISABLE_MOUSE) || !defined (DISABLE_HELP) |
| 814 | currshortcut = main_list; |
| 815 | #endif |
| 816 | |
Chris Allegretta | f5de33a | 2002-02-27 04:14:16 +0000 | [diff] [blame] | 817 | #ifndef NANO_SMALL |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 818 | toggle_init(); |
Chris Allegretta | f5de33a | 2002-02-27 04:14:16 +0000 | [diff] [blame] | 819 | #endif |
Chris Allegretta | dab017e | 2002-04-23 10:56:06 +0000 | [diff] [blame] | 820 | } |
Chris Allegretta | f5de33a | 2002-02-27 04:14:16 +0000 | [diff] [blame] | 821 | |
| 822 | /* added by SPK for memory cleanup, gracefully return our malloc()s */ |
| 823 | void thanks_for_all_the_fish(void) |
| 824 | { |
| 825 | #ifdef ENABLE_MULTIBUFFER |
Chris Allegretta | f2387fb | 2002-04-10 02:31:20 +0000 | [diff] [blame] | 826 | openfilestruct * current_open_file; |
Chris Allegretta | f5de33a | 2002-02-27 04:14:16 +0000 | [diff] [blame] | 827 | #endif |
| 828 | |
Chris Allegretta | 2598c66 | 2002-03-28 01:59:34 +0000 | [diff] [blame] | 829 | #ifndef DISABLE_OPERATINGDIR |
Chris Allegretta | f5de33a | 2002-02-27 04:14:16 +0000 | [diff] [blame] | 830 | if (operating_dir != NULL) |
| 831 | free(operating_dir); |
| 832 | if (full_operating_dir != NULL) |
| 833 | free(full_operating_dir); |
| 834 | #endif |
| 835 | if (last_search != NULL) |
| 836 | free(last_search); |
| 837 | if (last_replace != NULL) |
| 838 | free(last_replace); |
| 839 | if (hblank != NULL) |
| 840 | free(hblank); |
| 841 | #ifndef DISABLE_SPELLER |
| 842 | if (alt_speller != NULL) |
| 843 | free(alt_speller); |
| 844 | #endif |
| 845 | if (help_text != NULL) |
| 846 | free(help_text); |
| 847 | if (filename != NULL) |
| 848 | free(filename); |
| 849 | if (answer != NULL) |
| 850 | free(answer); |
| 851 | if (cutbuffer != NULL) |
| 852 | free_filestruct(cutbuffer); |
| 853 | |
| 854 | free_shortcutage(&main_list); |
| 855 | free_shortcutage(&whereis_list); |
| 856 | free_shortcutage(&replace_list); |
| 857 | free_shortcutage(&replace_list_2); |
| 858 | free_shortcutage(&help_list); |
| 859 | free_shortcutage(&writefile_list); |
| 860 | free_shortcutage(&insertfile_list); |
| 861 | free_shortcutage(&spell_list); |
| 862 | #ifndef DISABLE_BROWSER |
| 863 | free_shortcutage(&browser_list); |
| 864 | #endif |
| 865 | free_shortcutage(&gotodir_list); |
| 866 | free_shortcutage(&goto_list); |
| 867 | |
| 868 | #ifndef NANO_SMALL |
| 869 | free_toggles(); |
| 870 | #endif |
| 871 | |
| 872 | #ifdef ENABLE_MULTIBUFFER |
| 873 | /* Cleanup of Multibuffers . . . |
| 874 | Do not cleanup the current one, that is fileage . . . do the |
| 875 | rest of them though! (should be none if all went well) */ |
| 876 | current_open_file = open_files; |
Chris Allegretta | f2387fb | 2002-04-10 02:31:20 +0000 | [diff] [blame] | 877 | if (open_files != NULL) { |
| 878 | while (open_files->prev != NULL) |
| 879 | open_files = open_files->prev; |
| 880 | while (open_files->next != NULL) { |
Chris Allegretta | f5de33a | 2002-02-27 04:14:16 +0000 | [diff] [blame] | 881 | /* cleanup of a multi buf . . . */ |
Chris Allegretta | f2387fb | 2002-04-10 02:31:20 +0000 | [diff] [blame] | 882 | open_files = open_files->next; |
| 883 | if (open_files->prev != current_open_file) |
| 884 | free_openfilestruct(open_files->prev); |
Chris Allegretta | f5de33a | 2002-02-27 04:14:16 +0000 | [diff] [blame] | 885 | } |
| 886 | /* cleanup of last multi buf . . . */ |
Chris Allegretta | f2387fb | 2002-04-10 02:31:20 +0000 | [diff] [blame] | 887 | free_openfilestruct(open_files); |
Chris Allegretta | f5de33a | 2002-02-27 04:14:16 +0000 | [diff] [blame] | 888 | } |
Chris Allegretta | f2387fb | 2002-04-10 02:31:20 +0000 | [diff] [blame] | 889 | #else |
Chris Allegretta | f5de33a | 2002-02-27 04:14:16 +0000 | [diff] [blame] | 890 | /* starting the cleanup of fileage now . . . */ |
| 891 | |
| 892 | if (fileage != NULL) |
Chris Allegretta | f2387fb | 2002-04-10 02:31:20 +0000 | [diff] [blame] | 893 | free_filestruct(fileage); |
| 894 | #endif |
Chris Allegretta | f5de33a | 2002-02-27 04:14:16 +0000 | [diff] [blame] | 895 | |
| 896 | /* that is all for now */ |
| 897 | |
| 898 | } |