]> git.wh0rd.org Git - nano.git/commitdiff
work around slang brokenness
authorDavid Lawrence Ramsey <pooka109@gmail.com>
Sat, 9 Jul 2005 05:24:33 +0000 (05:24 +0000)
committerDavid Lawrence Ramsey <pooka109@gmail.com>
Sat, 9 Jul 2005 05:24:33 +0000 (05:24 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2841 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
src/nano.h
src/proto.h
src/winio.c

index 055947351277dedc1f2e5b4d88eaa15d78ac5ebc..a222650551b44f5c4f218ece07f7c9b51c7cff0b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -23,10 +23,11 @@ CVS code -
          rename open_pipe() execute_command(), and remove
          execute_command(). (DLR)
        - Replace almost all mvwaddstr(hblank) calls with mvwhline(' ',
-         COLS) calls, which do the same thing.  Changes to
-         do_browser(), blank_titlebar(), blank_topbar(), blank_edit(),
-         blank_statusbar(), blank_bottombars(), update_line(), and
-         edit_refresh(). (DLR)
+         COLS) calls, which do the same thing.  New function
+         nmvwhline() (since slang doesn't define mvwhline()); changes
+         to do_browser(), blank_titlebar(), blank_topbar(),
+         blank_edit(), blank_statusbar(), blank_bottombars(),
+         update_line(), and edit_refresh(). (DLR)
 - files.c:
   open_file()
        - Assert that filename isn't NULL, and don't do anything special
@@ -82,6 +83,8 @@ CVS code -
   display_string()
        - Display invalid multibyte sequences as Unicode 0xFFFD
          (Replacement Character). (DLR)
+  total_redraw()
+       - Rework to use functions that slang actually defines. (DLR)
 - configure.ac:
        - Since we only use vsnprintf() now, remove the tests for
          snprintf(). (DLR)
index b9ac25f1d6e49065e61c06e1e2494c6f4cc339e5..b418ac8e8fd033785bf0c3b6a42b75386da00fbe 100644 (file)
 #define getline ngetline
 #endif
 
+/* Slang curses emulation brain damage, part 3: Slang doesn't define
+ * mvwhline(), so use the version we have. */
+#ifdef USE_SLANG
+#define mvwhline nmvwhline
+#endif
+
 #define VERMSG "GNU nano " VERSION
 
 /* If we aren't using ncurses, turn the mouse support off, as it's
index 2323ae0737f6e3d489f878c9eb5bdd4188fc47bd..196d9151af49929081605ca840342fde0ad7376c 100644 (file)
@@ -567,6 +567,9 @@ void get_totals(const filestruct *begin, const filestruct *end, size_t
        *lines, size_t *size);
 
 /* Public functions in winio.c. */
+#ifdef USE_SLANG
+int nmvwhline(WINDOW *win, int y, int x, char ch, int n);
+#endif
 #ifndef NANO_SMALL
 void reset_kbinput(void);
 #endif
index ac64d4bc870f1e357467be3308e32df6aa2b6f6e..3ddb04575583e801a4d641f8a968ee15c80626ba 100644 (file)
@@ -52,6 +52,19 @@ static bool resetstatuspos = FALSE;
                                /* Should we reset the cursor position
                                 * at the statusbar prompt? */
 
+#ifdef USE_SLANG
+/* Slang curses emulation brain damage, part 4: Slang doesn't define
+ * mvwhline(). */
+int nmvwhline(WINDOW *win, int y, int x, char ch, int n)
+{
+    wmove(win, y, x);
+    for (; n > 0; n--)
+       waddch(win, ch);
+
+    return 0;
+}
+#endif
+
 /* Control character compatibility:
  *
  * - NANO_BACKSPACE_KEY is Ctrl-H, which is Backspace under ASCII, ANSI,
@@ -3776,14 +3789,8 @@ int do_yesno(bool all, const char *msg)
 
 void total_redraw(void)
 {
-#ifdef USE_SLANG
-    /* Slang curses emulation brain damage, part 3: Slang doesn't define
-     * curscr. */
-    SLsmg_touch_screen();
-    SLsmg_refresh();
-#else
-    wrefresh(curscr);
-#endif
+    touchwin(stdscr);
+    wrefresh(stdscr);
 }
 
 void total_refresh(void)