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:
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
}