]> git.wh0rd.org Git - nano.git/commitdiff
New cvs code, data abstraction is good
authorChris Allegretta <chrisa@asty.org>
Fri, 28 Jul 2000 00:58:35 +0000 (00:58 +0000)
committerChris Allegretta <chrisa@asty.org>
Fri, 28 Jul 2000 00:58:35 +0000 (00:58 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@138 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

BUGS
ChangeLog
configure
configure.in
cut.c
nano.c
po/nano.pot
proto.h

diff --git a/BUGS b/BUGS
index 797271781228e893c60e013a3230998a29992982..1930e6d003d8ffe0fa19d0052e27893dc4c1c2dc 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -40,6 +40,8 @@
   until a pageup/down occurs (22)[FIXED]
 - Using nano -t, user can not exit until a filename is given via ^O. (30)
  [FIXED]
+- Doing a cut with -k can screw up the filestruct, fault is in cutting
+ code. (36)  [FIXED]
 
 ** Open BUGS **
 
index 35d6cf2acdc9bc020e901749176b7f5184d47c05..36da775e9c029c7d2a17f4e64ba81662dd2c4703 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+CVS code
+- nano.c:
+  splice_node():
+       - New function, abstracts linking in nodes.   Fixes bug #36.
+
 nano-0.9.14 - 07/27/2000
 - nano.h:
        - Set CUT_TO_END to a different bit than TEMP_OPT.  Fixes bug #32.
index 1c592bd125701860b9dd851bbd902a412713ccb7..7bee9070070bd0b16078c0af81df4cb26bcbfaf9 100755 (executable)
--- a/configure
+++ b/configure
@@ -710,7 +710,7 @@ fi
 
 PACKAGE=nano
 
-VERSION=0.9.14
+VERSION=0.9.14-cvs
 
 if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
   { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
index edf77cf6b3963a0e3ff41ad0d8ca0feb01b734a0..4373bb06ea0ede9688ec7ed71320b6f81e338d42 100644 (file)
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_INIT(nano.c)
-AM_INIT_AUTOMAKE(nano, 0.9.14)
+AM_INIT_AUTOMAKE(nano, 0.9.14-cvs)
 AM_CONFIG_HEADER(config.h:config.h.in)
 ALL_LINGUAS="es de fr it id fi"
 
diff --git a/cut.c b/cut.c
index 8950ccd9fbf6a8d0a1b59101a78229612868c981..d3fcf18a0cf69a61c8d8d0656e7e648719f03b8a 100644 (file)
--- a/cut.c
+++ b/cut.c
@@ -368,9 +368,7 @@ int do_uncut_text(void)
            tmp = make_new_node(current);
            tmp->data = nmalloc(strlen(&current->data[current_x]) + 1);
            strcpy(tmp->data, &current->data[current_x]);
-           tmp->next = current->next;
-           current->next = tmp;
-           tmp->prev = current;
+           splice_node(current, tmp, current->next);
            current->data[current_x] = 0;
            current->data = nrealloc(current->data, strlen(current->data) + 1);     
            current = current->next;
diff --git a/nano.c b/nano.c
index 185e6edc888e289135a977ad7b516608deba61ef..3781632d476e884a6811afd5879bcec02f921892 100644 (file)
--- a/nano.c
+++ b/nano.c
@@ -417,6 +417,16 @@ filestruct *make_new_node(filestruct * prevnode)
     return newnode;
 }
 
+/* Splice a node into an existing filestruct */
+void splice_node(filestruct *begin, filestruct *new, filestruct *end)
+{
+    new->next = end;
+    new->prev = begin;
+    begin->next = new;
+    if (end != NULL)
+       end->prev = new;
+}
+
 int do_mark()
 {
 #ifdef NANO_SMALL
@@ -510,15 +520,11 @@ int do_enter(filestruct * inptr)
     }
     *tmp = 0;
 
-    new->next = inptr->next;
-    new->prev = inptr;
-    inptr->next = new;
-    if (new->next != NULL)
-       new->next->prev = new;
-    else {
+    if (inptr->next != NULL) {
        filebot = new;
        editbot = new;
     }
+    splice_node(inptr, new, inptr->next);
 
     totsize++;
     renumber(current);
index 78bb33145d98cc87179fcd19d3ce829a2c4c2352..1d4bf51b2237155ea7f672090b8189654faebf5e 100644 (file)
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2000-07-27 20:16-0400\n"
+"POT-Creation-Date: 2000-07-27 21:00-0400\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -55,7 +55,7 @@ msgstr ""
 msgid "File to insert [from ./] "
 msgstr ""
 
-#: files.c:272 files.c:296 files.c:486 nano.c:1149
+#: files.c:272 files.c:296 files.c:486 nano.c:1155
 msgid "Cancelled"
 msgstr ""
 
@@ -563,98 +563,98 @@ msgstr ""
 msgid " Email: nano@asty.org\tWeb: http://www.asty.org/nano\n"
 msgstr ""
 
-#: nano.c:426
+#: nano.c:436
 msgid "Mark Set"
 msgstr ""
 
-#: nano.c:431
+#: nano.c:441
 msgid "Mark UNset"
 msgstr ""
 
-#: nano.c:875
+#: nano.c:881
 #, c-format
 msgid "check_wrap called with inptr->data=\"%s\"\n"
 msgstr ""
 
-#: nano.c:935
+#: nano.c:941
 #, c-format
 msgid "current->data now = \"%s\"\n"
 msgstr ""
 
-#: nano.c:988
+#: nano.c:994
 #, c-format
 msgid "After, data = \"%s\"\n"
 msgstr ""
 
-#: nano.c:1058
+#: nano.c:1064
 msgid "Error deleting tempfile, ack!"
 msgstr ""
 
-#: nano.c:1076
+#: nano.c:1082
 #, c-format
 msgid "Could not create a temporary filename: %s"
 msgstr ""
 
-#: nano.c:1099
+#: nano.c:1105
 #, c-format
 msgid "Could not invoke spell program \"%s\""
 msgstr ""
 
 #. Why 32512? I dont know!
-#: nano.c:1105
+#: nano.c:1111
 msgid "Could not invoke \"ispell\""
 msgstr ""
 
-#: nano.c:1118
+#: nano.c:1124
 msgid "Finished checking spelling"
 msgstr ""
 
-#: nano.c:1136
+#: nano.c:1142
 msgid "Save modified buffer (ANSWERING \"No\" WILL DESTROY CHANGES) ? "
 msgstr ""
 
-#: nano.c:1259
+#: nano.c:1265
 msgid "Cannot resize top win"
 msgstr ""
 
-#: nano.c:1261
+#: nano.c:1267
 msgid "Cannot move top win"
 msgstr ""
 
-#: nano.c:1263
+#: nano.c:1269
 msgid "Cannot resize edit win"
 msgstr ""
 
-#: nano.c:1265
+#: nano.c:1271
 msgid "Cannot move edit win"
 msgstr ""
 
-#: nano.c:1267
+#: nano.c:1273
 msgid "Cannot resize bottom win"
 msgstr ""
 
-#: nano.c:1269
+#: nano.c:1275
 msgid "Cannot move bottom win"
 msgstr ""
 
-#: nano.c:1742
+#: nano.c:1748
 msgid "Main: set up windows\n"
 msgstr ""
 
-#: nano.c:1764
+#: nano.c:1770
 msgid "Main: bottom win\n"
 msgstr ""
 
-#: nano.c:1770
+#: nano.c:1776
 msgid "Main: open file\n"
 msgstr ""
 
-#: nano.c:1843
+#: nano.c:1849
 #, c-format
 msgid "I got Alt-[-%c! (%d)\n"
 msgstr ""
 
-#: nano.c:1859
+#: nano.c:1865
 #, c-format
 msgid "I got Alt-%c! (%d)\n"
 msgstr ""
diff --git a/proto.h b/proto.h
index 1e0d9df738372951f0f23704997256cf414a441a..465af06840ada532fd1f1cfc6c97fbe154eeaabf 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -107,6 +107,7 @@ void *nrealloc(void *ptr, size_t howmuch);
 void die(char *msg, ...);
 void new_file(void);
 void new_magicline(void);
+void splice_node(filestruct *begin, filestruct *new, filestruct *end);
 
 int do_writeout_void(void), do_exit(void), do_gotoline_void(void);
 int do_insertfile(void), do_search(void), page_up(void), page_down(void);