+- Marked cutting sometimes leaves a newline in the file unintelligently,
+ such as when all of a line is selected but the mark doesn't proceed to
+ the new line. (8) [FIXED/IRRELEVANT]
- Certains are not lined up properly when there are tabs in them at
certain col values. (9) [FIXED]
- edit_refresh() and update_line() do not handle selecting text when the
[FIXED]
- Using nano -t, user can not exit until a filename is given via ^O. (30)
[FIXED]
+- totsize problems still abound in do_justify (33) [FIXED]
- Using -k cut text is not pasted properly. (34) [FIXED].
- Using -k pasted text is not updated properly if it goes beyond editbot. (35)
[FIXED]
current line to the top of the screen, which it shouldn't do. (50)
[FIXED]
- with PDCURSES, running meta-X turns off the keypad. (51) [FIXED]
+- Resizing the window completely screws up the display if in any other
+ mode than normal editing (help screen, search and replace, file
+ browser..) (52) [FIXED]
- Alt speller argument (-s, --speller) does not take a string argument of
more than one word. (53) [FIXED].
-- totsize problems still abound in do_justify (33) [FIXED]
-- Marked cutting sometimes leaves a newline in the file unintelligently,
- such as when all of a line is selected but the mark doesn't proceed to
- the new line. (8) [FIXED/IRRELEVANT]
** Open BUGS **
-- Resizing the window completely screws up the display if in any other
- mode than normal editing (help screen, search and replace, file
- browser..) (52)
-
$Id$
easily replaced with COLS / 2 (oops, not current_x & y (Rob)).
- Deleted free_node, duplicate of delete_node, and changed all
free_node calls to delete_node.
+ - Fix for resizing the window in modes other than normal edit mode
+ Changes to handle_sigwinch(), main(). Fixes bug #52 (Rocco).
- files.c:
write_file()
- Don't free() realname on error, if it needs to be free()d later
#include <stdlib.h>
#include <stdarg.h>
#include <signal.h>
+#include <setjmp.h>
#include <unistd.h>
#include <string.h>
#include <fcntl.h>
char *last_replace = NULL; /* Last replacement string */
int search_last_line; /* Is this the last search line? */
+static sigjmp_buf jmpbuf; /* Used to return to mainloop after SIGWINCH */
+
/* What we do when we're all set to exit */
RETSIGTYPE finish(int sigage)
{
titlebar(NULL);
edit_refresh();
display_main_list();
+ blank_statusbar();
total_refresh();
+
+ /* Jump back to mainloop */
+ siglongjmp(jmpbuf, 1);
+
#endif
}
int optchr;
int kbinput; /* Input from keyboard */
long startline = 0; /* Line to try and start at */
- int keyhandled = 0; /* Have we handled the keystroke yet? */
- int i, modify_control_seq = 0;
+ int keyhandled; /* Have we handled the keystroke yet? */
+ int i, modify_control_seq;
char *argv0;
#ifdef _POSIX_VDISABLE
struct termios term;
else
edit_update(fileage, CENTER);
+ /* return here after a sigwinch */
+ sigsetjmp(jmpbuf,1);
+
+ /* Fix clobber-age */
+ kbinput = 0;
+ keyhandled = 0;
+ modify_control_seq = 0;
+
edit_refresh();
reset_cursor();
void nano_disabled_msg(void);
void window_init(void);
#ifdef NANO_EXTRA
-void do_credits(void);
+void do_credits(int junk);
#endif
int do_writeout_void(void), do_exit(void), do_gotoline_void(void);
char *do_browse_from(char *inpath);
#endif
+RETSIGTYPE main_loop (int junk);
filestruct *copy_node(filestruct * src);
filestruct *copy_filestruct(filestruct * src);