summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2003-10-25 05:32:49 +0000
committerMike Frysinger <vapier@gentoo.org>2003-10-25 05:32:49 +0000
commit1f3090974569838b47a9fa38889a1182073805af (patch)
treee0be4bd7246c29600e0db3b34482cc8945992acd /app-editors
parentbumped to stable (diff)
downloadgentoo-2-1f3090974569838b47a9fa38889a1182073805af.tar.gz
gentoo-2-1f3090974569838b47a9fa38889a1182073805af.tar.bz2
gentoo-2-1f3090974569838b47a9fa38889a1182073805af.zip
wsconvert patch
Diffstat (limited to 'app-editors')
-rw-r--r--app-editors/nano/files/1.3.0-wsconvert.patch197
-rw-r--r--app-editors/nano/nano-1.3.0.ebuild8
2 files changed, 204 insertions, 1 deletions
diff --git a/app-editors/nano/files/1.3.0-wsconvert.patch b/app-editors/nano/files/1.3.0-wsconvert.patch
new file mode 100644
index 000000000000..d56067c21237
--- /dev/null
+++ b/app-editors/nano/files/1.3.0-wsconvert.patch
@@ -0,0 +1,197 @@
+diff -ur nano-1.3.0.orig/doc/nanorc.sample nano-1.3.0/doc/nanorc.sample
+--- nano-1.3.0.orig/doc/nanorc.sample 2003-10-25 01:13:28.280054984 -0400
++++ nano-1.3.0/doc/nanorc.sample 2003-10-25 01:16:13.805891232 -0400
+@@ -86,6 +86,16 @@
+ ## Use this tab size instead of the default; it must be greater than 0
+ # set tabsize 8
+
++## Use this tab char instead of the default space; it can either be the
++## ascii value of the character you wish to see (refer to ascii(7)) or
++## it can be a single character. 187 seems to be a 'good' value.
++# set tabconvert 32
++## Same as tabconverting above, but applied to spaces.
++## it can be a single character. 183 seems to be a 'good' value.
++# set spaceconvert 32
++## Finally, you can toggle whitespace converting with this
++# set wsconvert
++
+ ## Save automatically on exit, don't prompt
+ # set tempfile
+
+diff -ur nano-1.3.0.orig/src/global.c nano-1.3.0/src/global.c
+--- nano-1.3.0.orig/src/global.c 2003-10-25 01:13:28.287053920 -0400
++++ nano-1.3.0/src/global.c 2003-10-25 01:14:47.756972656 -0400
+@@ -84,6 +84,9 @@
+ int tabsize = -1; /* Our internal tabsize variable. The
+ default value 8 is set in main(). */
+
++int tabconvert = ' ';
++int spaceconvert = ' ';
++
+ char *hblank = NULL; /* A horizontal blank line */
+ #ifndef DISABLE_HELP
+ char *help_text; /* The text in the help window */
+@@ -227,7 +230,7 @@
+ char *toggle_const_msg, *toggle_autoindent_msg, *toggle_suspend_msg,
+ *toggle_nohelp_msg, *toggle_cuttoend_msg,
+ *toggle_noconvert_msg, *toggle_dos_msg, *toggle_mac_msg,
+- *toggle_backup_msg, *toggle_smooth_msg;
++ *toggle_backup_msg, *toggle_smooth_msg, *toggle_wsconvert_msg;
+ #ifndef DISABLE_MOUSE
+ char *toggle_mouse_msg;
+ #endif
+@@ -259,6 +262,7 @@
+ toggle_mac_msg = _("Writing file in Mac format");
+ toggle_backup_msg = _("Backing up file");
+ toggle_smooth_msg = _("Smooth scrolling");
++ toggle_wsconvert_msg = _("Whitespace converting");
+ #ifdef ENABLE_COLOR
+ toggle_syntax_msg = _("Color syntax highlighting");
+ #endif
+@@ -273,6 +277,7 @@
+ toggle_init_one(TOGGLE_AUTOINDENT_KEY, toggle_autoindent_msg, AUTOINDENT);
+ toggle_init_one(TOGGLE_SUSPEND_KEY, toggle_suspend_msg, SUSPEND);
+ toggle_init_one(TOGGLE_NOHELP_KEY, toggle_nohelp_msg, NO_HELP);
++ toggle_init_one(TOGGLE_WSCONVERT_KEY, toggle_wsconvert_msg, WS_CONVERT);
+ #ifndef DISABLE_WRAPPING
+ toggle_init_one(TOGGLE_WRAP_KEY, toggle_wrap_msg, NO_WRAP);
+ #endif
+diff -ur nano-1.3.0.orig/src/nano.c nano-1.3.0/src/nano.c
+--- nano-1.3.0.orig/src/nano.c 2003-10-25 01:13:28.288053768 -0400
++++ nano-1.3.0/src/nano.c 2003-10-25 01:21:58.101550336 -0400
+@@ -3009,6 +3009,9 @@
+ edit_refresh();
+ break;
+ #endif
++ case TOGGLE_WSCONVERT_KEY:
++ edit_refresh();
++ break;
+ }
+
+ /* We are assuming here that shortcut_init() above didn't free and
+diff -ur nano-1.3.0.orig/src/nano.h nano-1.3.0/src/nano.h
+--- nano-1.3.0.orig/src/nano.h 2003-10-25 01:13:28.288053768 -0400
++++ nano-1.3.0/src/nano.h 2003-10-25 01:15:49.714553672 -0400
+@@ -272,6 +272,7 @@
+ #define HISTORY_CHANGED (1<<28)
+ #define HISTORYLOG (1<<29)
+ #define JUSTIFY_MODE (1<<30)
++#define WS_CONVERT (1<<31)
+
+ /* Control key sequences, changing these would be very very bad */
+
+@@ -427,6 +428,7 @@
+ #define TOGGLE_MAC_KEY NANO_ALT_O
+ #define TOGGLE_SMOOTH_KEY NANO_ALT_S
+ #define TOGGLE_NOCONVERT_KEY NANO_ALT_N
++#define TOGGLE_WSCONVERT_KEY NANO_ALT_V
+ #define TOGGLE_BACKUP_KEY NANO_ALT_B
+ #define TOGGLE_SYNTAX_KEY NANO_ALT_Y
+ #endif /* !NANO_SMALL */
+diff -ur nano-1.3.0.orig/src/proto.h nano-1.3.0/src/proto.h
+--- nano-1.3.0.orig/src/proto.h 2003-10-25 01:13:28.288053768 -0400
++++ nano-1.3.0/src/proto.h 2003-10-25 01:16:41.660656664 -0400
+@@ -41,7 +41,7 @@
+ extern long totsize;
+ extern int temp_opt;
+ extern int flags;
+-extern int tabsize;
++extern int tabsize, tabconvert, spaceconvert;
+ extern int search_last_line;
+ extern int search_offscreen;
+ extern int currslen;
+diff -ur nano-1.3.0.orig/src/rcfile.c nano-1.3.0/src/rcfile.c
+--- nano-1.3.0.orig/src/rcfile.c 2003-10-25 01:13:28.288053768 -0400
++++ nano-1.3.0/src/rcfile.c 2003-10-25 01:29:20.587282280 -0400
+@@ -60,6 +60,7 @@
+ #endif
+ #ifndef NANO_SMALL
+ {"noconvert", NO_CONVERT},
++ {"wsconvert", WS_CONVERT},
+ #endif
+ {"nofollow", NOFOLLOW_SYMLINKS},
+ {"nohelp", NO_HELP},
+@@ -85,6 +86,8 @@
+ #endif
+ {"suspend", SUSPEND},
+ {"tabsize", 0},
++ {"tabconvert", ' '},
++ {"spaceconvert", ' '},
+ {"tempfile", TEMP_OPT},
+ {"view", VIEW_MODE},
+ {NULL, 0}
+@@ -531,6 +534,8 @@
+ #endif
+ if (set == 1) {
+ if (!strcasecmp(rcopts[i].name, "tabsize")
++ || !strcasecmp(rcopts[i].name, "tabconvert")
++ || !strcasecmp(rcopts[i].name, "spaceconvert")
+ #ifndef DISABLE_OPERATINGDIR
+ || !strcasecmp(rcopts[i].name, "operatingdir")
+ #endif
+@@ -594,12 +599,30 @@
+ * accept 0 while checking other
+ * errors. */
+ j = (int)strtol(option, &first_error, 10);
+- if (errno == ERANGE || *option == '\0' || *first_error != '\0')
+- rcfile_error(_("Requested tab size %d invalid"),
+- j);
+- else
+- tabsize = j;
+- }
++ if (!strcasecmp(rcopts[i].name, "tabconvert")) {
++ if (errno == ERANGE || *first_error != '\0') {
++ if (*option == '\0')
++ rcfile_error(_("requested tab convert is invalid"));
++ else
++ tabconvert = option[0];
++ } else
++ tabconvert = j;
++ } else if (!strcasecmp(rcopts[i].name, "spaceconvert")) {
++ if (errno == ERANGE || *first_error != '\0') {
++ if (*option == '\0')
++ rcfile_error(_("requested space convert is invalid"));
++ else
++ spaceconvert = option[0];
++ } else
++ spaceconvert = j;
++ } else {
++ if (errno == ERANGE || *option == '\0' || *first_error != '\0')
++ rcfile_error(_("requested tab size %d invalid"),
++ j);
++ else
++ tabsize = j;
++ }
++ }
+ } else
+ SET(rcopts[i].flag);
+ #ifdef DEBUG
+diff -ur nano-1.3.0.orig/src/winio.c nano-1.3.0/src/winio.c
+--- nano-1.3.0.orig/src/winio.c 2003-10-25 01:13:28.289053616 -0400
++++ nano-1.3.0/src/winio.c 2003-10-25 01:27:12.934688424 -0400
+@@ -471,11 +471,12 @@
+ index = 0;
+
+ for (; index < alloc_len; buf++) {
+- if (*buf == '\t')
+- do {
++ if (*buf == '\t') {
++ converted[index++] = (ISSET(WS_CONVERT) ? tabconvert : ' ');
++ while ((column + index) % tabsize) {
+ converted[index++] = ' ';
+- } while ((column + index) % tabsize);
+- else if (is_cntrl_char(*buf)) {
++ }
++ } else if (is_cntrl_char(*buf)) {
+ converted[index++] = '^';
+ if (*buf == '\n')
+ /* Treat newlines embedded in a line as encoded nulls;
+@@ -487,7 +488,7 @@
+ else
+ converted[index++] = *buf + 64;
+ } else
+- converted[index++] = *buf;
++ converted[index++] = (*buf==' '&&ISSET(WS_CONVERT)) ? spaceconvert : *buf;
+ }
+ assert(len <= alloc_len + column - start_col);
+ charmove(converted, converted + start_col - column, len);
diff --git a/app-editors/nano/nano-1.3.0.ebuild b/app-editors/nano/nano-1.3.0.ebuild
index 725dc0d09d9a..a2c8ef26db73 100644
--- a/app-editors/nano/nano-1.3.0.ebuild
+++ b/app-editors/nano/nano-1.3.0.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-editors/nano/nano-1.3.0.ebuild,v 1.1 2003/10/25 05:06:18 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-editors/nano/nano-1.3.0.ebuild,v 1.2 2003/10/25 05:32:49 vapier Exp $
inherit eutils
@@ -21,6 +21,12 @@ PROVIDE="virtual/editor"
S=${WORKDIR}/${MY_P}
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ epatch ${FILESDIR}/${PV}-wsconvert.patch
+}
+
src_compile() {
local myconf=""
use build && myconf="${myconf} --disable-wrapping-as-root"