- Translation updates (see po/ChangeLog for details).
- Fix globals and externs such that nano will compile with
DISABLE_SPELLER (David Benbennick).
+ - Fix unreasonable fill values by wrapping at length 0 instead
+ of erroring out, and don't start up if the window size is too
+ small but fill is set reasonably. Changes to
+ nano.c:global_init(), window_init(), and handle_sigwinch().
+ New macro MIN_EDITOR_COLS replaces MIN_FILL_LENGTH
+ (David Benbennick).
- files.c:
cwd_tab_completion()
- Memory leak fix (David Benbennick).
current_x = 0;
current_y = 0;
- if ((editwinrows = LINES - 5 + no_help()) < MIN_EDITOR_ROWS)
+ editwinrows = LINES - 5 + no_help();
+ if (editwinrows < MIN_EDITOR_ROWS || COLS < MIN_EDITOR_COLS)
die_too_small();
fileage = NULL;
fill = wrap_at;
if (fill <= 0)
fill += COLS;
- if (fill < MIN_FILL_LENGTH)
- die_too_small();
+ if (fill < 0)
+ fill = 0;
#endif
hblank = charalloc(COLS + 1);
void window_init(void)
{
- if ((editwinrows = LINES - 5 + no_help()) < MIN_EDITOR_ROWS)
+ editwinrows = LINES - 5 + no_help();
+ if (editwinrows < MIN_EDITOR_ROWS)
die_too_small();
if (edit != NULL)
* But not in all cases, argh. */
COLS = win.ws_col;
LINES = win.ws_row;
- if ((editwinrows = LINES - 5 + no_help()) < MIN_EDITOR_ROWS)
+ editwinrows = LINES - 5 + no_help();
+ if (editwinrows < MIN_EDITOR_ROWS || COLS < MIN_EDITOR_COLS)
die_too_small();
#ifndef DISABLE_WRAPJUSTIFY
fill = wrap_at;
if (fill <= 0)
fill += COLS;
- if (fill < MIN_FILL_LENGTH)
- die_too_small();
+ if (fill < 0)
+ fill = 0;
#endif
hblank = nrealloc(hblank, COLS + 1);
/* Minimum editor window rows required for nano to work correctly */
#define MIN_EDITOR_ROWS 3
+/* Minimum editor window cols required for nano to work correctly */
+#define MIN_EDITOR_COLS 10
+
/* Default number of characters from end-of-line where text wrapping
occurs */
#define CHARS_FROM_EOL 8
-/* Minimum fill length (space available for text before wrapping
- occurs) */
-#define MIN_FILL_LENGTH 10
-
/* Maximum number of search history strings saved, same value used for
replace history */
#define MAX_SEARCH_HISTORY 100