]> git.wh0rd.org Git - nano.git/commitdiff
Remove malloc.h completely and add color synatx highlighting toggle
authorChris Allegretta <chrisa@asty.org>
Sun, 13 Oct 2002 18:43:45 +0000 (18:43 +0000)
committerChris Allegretta <chrisa@asty.org>
Sun, 13 Oct 2002 18:43:45 +0000 (18:43 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1300 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
configure.ac
global.c
nano.c
nano.h
rcfile.c
winio.c

index 249533fb20d4febce54a1fbc0c0df7eb5382c58c..e4752e447af50a0a2f6450d81ffce41096ea59d3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,11 @@
 CVS code -
 - General:
        - Translation updates (see po/ChangeLog for details).
+       - Remove malloc.h, as it's unneeded and just causes annoyances on
+         *BSD systems.  Added stdlib.h to global.c
+       - Added Meta-Y toggle to disable/enable color syntax highlighting
+         completely.  This may eventually be per-buffer, but that's too
+         complicated for a feature freeze.
 
 GNU nano 1.1.11 - 10/01/2002
 - General:
index 34f9b9c9a82da01e64bd930601a4e09e38c9baab..b0d3dd7c8ef3b65ab0aa0ce4149bdc6eebf49630 100644 (file)
@@ -15,7 +15,7 @@ AC_SYS_LARGEFILE
 
 dnl Checks for header files.
 AC_HEADER_STDC
-AC_CHECK_HEADERS(fcntl.h unistd.h malloc.h termios.h termio.h limits.h getopt.h regex.h)
+AC_CHECK_HEADERS(fcntl.h unistd.h termios.h termio.h limits.h getopt.h regex.h)
 
 dnl options
 AC_ARG_ENABLE(debug, 
index 0e978606c13ccb201a080396bb965269aab22c1c..5fc946b51693a4c98162ea4588d68efb6b3e0a2e 100644 (file)
--- a/global.c
+++ b/global.c
@@ -21,6 +21,7 @@
 
 #include "config.h"
 
+#include <stdlib.h>
 #include <assert.h>
 #include <sys/stat.h>
 #include "proto.h"
@@ -222,6 +223,9 @@ void toggle_init(void)
 #ifdef ENABLE_MULTIBUFFER
     char *toggle_load_msg;
 #endif
+#ifdef ENABLE_COLOR
+    char *toggle_syntax_msg;
+#endif
 
     /* There is no need to reinitialize the toggles.  They can't
        change.  In fact, reinitializing them causes a segfault in
@@ -242,6 +246,9 @@ void toggle_init(void)
     toggle_mac_msg = _("Writing file in Mac format");
     toggle_backup_msg = _("Backing up file");
     toggle_smooth_msg = _("Smooth scrolling");
+#ifdef ENABLE_COLOR
+    toggle_syntax_msg = _("Color syntax highlighting");
+#endif
 #ifndef DISABLE_WRAPPING
     toggle_wrap_msg = _("Auto wrap");
 #endif
@@ -267,6 +274,9 @@ void toggle_init(void)
     toggle_init_one(TOGGLE_MAC_KEY, toggle_mac_msg, MAC_FILE);
     toggle_init_one(TOGGLE_BACKUP_KEY, toggle_backup_msg, BACKUP_FILE);
     toggle_init_one(TOGGLE_SMOOTH_KEY, toggle_smooth_msg, SMOOTHSCROLL);
+#ifdef ENABLE_COLOR
+    toggle_init_one(TOGGLE_SYNTAX_KEY, toggle_syntax_msg, COLOR_SYNTAX);
+#endif
 }
 
 #ifdef DEBUG
diff --git a/nano.c b/nano.c
index c68ae8aaa2bbaec18505bc856864174397afd353..538099ddf966ca57bf4b9c192683912e72912a41 100644 (file)
--- a/nano.c
+++ b/nano.c
@@ -2838,6 +2838,9 @@ void do_toggle(const toggle *which)
     case TOGGLE_MAC_KEY:
        UNSET(DOS_FILE);
        break;
+    case TOGGLE_SYNTAX_KEY:
+       edit_refresh();
+       break;
     }
 
     /* We are assuming here that shortcut_init() above didn't free and
diff --git a/nano.h b/nano.h
index e16a941cda66be2d527e335db1909bca158fdfb3..3e38bc008ccebd75cb125aa19c57d72f85826be2 100644 (file)
--- a/nano.h
+++ b/nano.h
  *                                                                        *
  **************************************************************************/
 
-#ifdef HAVE_MALLOC_H
-#include <malloc.h>
-#endif
-
 #ifdef HAVE_LIMITS_H
 #include <limits.h>
 #endif
@@ -174,7 +170,6 @@ typedef struct syntaxtype {
     exttype *extensions;       /* List of extensions that this applies to */
     colortype *color;          /* color struct for this syntax */
     struct syntaxtype *next;
-
 } syntaxtype;
 
 #endif /* ENABLE_COLOR */
@@ -211,6 +206,7 @@ typedef struct syntaxtype {
 #define NO_CONVERT             (1<<26)
 #define BACKUP_FILE            (1<<27)
 #define NO_RCFILE              (1<<28)
+#define COLOR_SYNTAX           (1<<28)
 
 /* Control key sequences, changing these would be very very bad */
 
@@ -364,6 +360,7 @@ know what you're doing */
 #define TOGGLE_SMOOTH_KEY      NANO_ALT_S
 #define TOGGLE_NOCONVERT_KEY   NANO_ALT_N
 #define TOGGLE_BACKUP_KEY      NANO_ALT_B
+#define TOGGLE_SYNTAX_KEY      NANO_ALT_Y
 #endif /* !NANO_SMALL */
 
 #define MAIN_VISIBLE 12
index 0f55f1167b981bc92efa8f6b228f66fced414b08..43594413d5d9585b10ec3e385ce848b388285d26 100644 (file)
--- a/rcfile.c
+++ b/rcfile.c
@@ -275,6 +275,7 @@ void parse_syntax(char *ptr)
     if (syntaxes == NULL) {
        syntaxes = (syntaxtype *)nmalloc(sizeof(syntaxtype));
        tmpsyntax = syntaxes;
+       SET(COLOR_SYNTAX);
     } else {
        for (tmpsyntax = syntaxes; tmpsyntax->next != NULL;
                tmpsyntax = tmpsyntax->next)
diff --git a/winio.c b/winio.c
index fb79153b615ceadaad9b191eebfd95ae9fe40f48..e09cdcd14d3f9fb034dc72796df422ebbdf8b720 100644 (file)
--- a/winio.c
+++ b/winio.c
@@ -614,7 +614,7 @@ void edit_add(const filestruct *fileptr, int yval, int start
     mvwaddnstr(edit, yval, 0, &fileptr->data[start], COLS);
 
 #ifdef ENABLE_COLOR
-    if (colorstrings != NULL) {
+    if (colorstrings != NULL && ISSET(COLOR_SYNTAX)) {
        const colortype *tmpcolor = colorstrings;
 
        for (; tmpcolor != NULL; tmpcolor = tmpcolor->next) {