nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit cb34a67ea1f4066bedae61c6497e449589e3e7f3
parent ee383dbd6cd40e5927d36fa9e6ffd6607c4a4c45
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date:   Fri,  6 Feb 2004 21:20:05 +0000

make the saving of marked status in open_files->file_flags work properly
again; a tweak to the ISSET() macro in 1.3.0 to make it only return 0 or
1 broke it


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1647 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

Diffstat:
MChangeLog | 8++++++--
Msrc/files.c | 11+++++++++--
2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -13,6 +13,10 @@ CVS code - shortcut list, and tweak the unjustify routine to use it. (DLR) - files.c: + add_open_files() + - Make the saving of marked status in open_files->file_flags + work properly again; a tweak to the ISSET() macro in 1.3.0 + to make it only return 0 or 1 broke it. (DLR) write_marked() - New function used to write the current marked selection to a file, split out from do_writeout(). (DLR) @@ -361,8 +365,8 @@ GNU nano 1.3.0 - 2003.10.22 interpreted as Ctrl-[character], and the support for Pico's Esc Esc [three-digit decimal ASCII code] input method. (DLR) do_mark() - - Toggle MARK_ISSET() at the beginning of the function instead - of setting it in one place and unsetting it in another place. + - Toggle MARK_ISSET at the beginning of the function instead of + setting it in one place and unsetting it in another place. (David Benbennick) do_suspend() - Use handle_hupterm() to handle SIGHUP and SIGTERM so we can diff --git a/src/files.c b/src/files.c @@ -777,17 +777,24 @@ int add_open_file(int update) /* save current line number */ open_files->file_lineno = current->lineno; + /* start with default modification status: unmodified (and marking + status, if available: unmarked) */ + open_files->file_flags = 0; + /* if we're updating, save current modification status (and marking status, if available) */ if (update) { #ifndef NANO_SMALL - open_files->file_flags = (MODIFIED & ISSET(MODIFIED)) | (MARK_ISSET & ISSET(MARK_ISSET)); + if (ISSET(MODIFIED)) + open_files->file_flags |= MODIFIED; if (ISSET(MARK_ISSET)) { open_files->file_mark_beginbuf = mark_beginbuf; open_files->file_mark_beginx = mark_beginx; + open_files->file_flags |= MARK_ISSET; } #else - open_files->file_flags = (MODIFIED & ISSET(MODIFIED)); + if (ISSET(MODIFIED)) + open_files->file_flags |= MODIFIED; #endif }