summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2008-10-19 06:56:40 +0000
committerMike Frysinger <vapier@gentoo.org>2008-10-19 06:56:40 +0000
commitd2ba5228b9f4b7ae57850ad6a5b09b70fd22d62d (patch)
tree129efa17e1d325d64e35fe1e4a40e40fc1b8396a /app-editors
parentbroken (diff)
downloadgentoo-2-d2ba5228b9f4b7ae57850ad6a5b09b70fd22d62d.tar.gz
gentoo-2-d2ba5228b9f4b7ae57850ad6a5b09b70fd22d62d.tar.bz2
gentoo-2-d2ba5228b9f4b7ae57850ad6a5b09b70fd22d62d.zip
Add fix from upstream for cutting at end of file #240330 by amadeus.bit.
(Portage version: 2.2_rc12/cvs/Linux 2.6.26.2 x86_64)
Diffstat (limited to 'app-editors')
-rw-r--r--app-editors/nano/ChangeLog8
-rw-r--r--app-editors/nano/files/nano-2.1.6-cut-last.patch121
-rw-r--r--app-editors/nano/nano-2.1.6-r2.ebuild86
3 files changed, 214 insertions, 1 deletions
diff --git a/app-editors/nano/ChangeLog b/app-editors/nano/ChangeLog
index 17818a5b9738..7690ed657ee2 100644
--- a/app-editors/nano/ChangeLog
+++ b/app-editors/nano/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for app-editors/nano
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-editors/nano/ChangeLog,v 1.217 2008/10/08 10:09:57 armin76 Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-editors/nano/ChangeLog,v 1.218 2008/10/19 06:56:40 vapier Exp $
+
+*nano-2.1.6-r2 (19 Oct 2008)
+
+ 19 Oct 2008; Mike Frysinger <vapier@gentoo.org>
+ +files/nano-2.1.6-cut-last.patch, +nano-2.1.6-r2.ebuild:
+ Add fix from upstream for cutting at end of file #240330 by amadeus.bit.
08 Oct 2008; Raúl Porcel <armin76@gentoo.org> nano-2.0.9.ebuild,
nano-2.1.5.ebuild:
diff --git a/app-editors/nano/files/nano-2.1.6-cut-last.patch b/app-editors/nano/files/nano-2.1.6-cut-last.patch
new file mode 100644
index 000000000000..bf9e90d776d0
--- /dev/null
+++ b/app-editors/nano/files/nano-2.1.6-cut-last.patch
@@ -0,0 +1,121 @@
+http://bugs.gentoo.org/240330
+
+From a203163ac137a7b184e7e7a03ab7254e502d0775 Mon Sep 17 00:00:00 2001
+From: astyanax <astyanax@35c25a1d-7b9e-4130-9fde-d3aeb78583b8>
+Date: Tue, 14 Oct 2008 01:14:12 +0000
+Subject: [PATCH] 2008-10-13 Chris Allegretta <chrisa@asty.org>
+ * Remove CUTTOEND as an undo type as it's unneeded, fix u->to_end logic in undo struct.
+ * undo.c (update_undo): Don't free cutbuffer if NULL, fix for Savannah bug #24499
+
+git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4339 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
+---
+ ChangeLog | 4 ++++
+ src/cut.c | 2 +-
+ src/nano.h | 2 +-
+ src/text.c | 12 +++++-------
+ 4 files changed, 11 insertions(+), 9 deletions(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index 5f0f132..c14b724 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,7 @@
++2008-10-13 Chris Allegretta <chrisa@asty.org>
++ * Remove CUTTOEND as an undo type as it's unneeded, fix u->to_end logic in undo struct.
++ * undo.c (update_undo): Don't free cutbuffer if NULL, fix for Savannah bug #24499
++
+ 2008-10-04 Chris Allegretta <chrisa@asty.org>
+ * cut.c (Add_undo): Save last cut undo information so it can be used for next uncut, fixes
+ Savannah bug 24183.
+diff --git a/src/cut.c b/src/cut.c
+index 2689986..f92f9b3 100644
+--- a/src/cut.c
++++ b/src/cut.c
+@@ -245,7 +245,7 @@ void do_copy_text(void)
+ void do_cut_till_end(void)
+ {
+ #ifndef NANO_TINY
+- add_undo(CUTTOEND);
++ add_undo(CUT);
+ #endif
+ do_cut_text(FALSE, TRUE, FALSE);
+ }
+diff --git a/src/nano.h b/src/nano.h
+index c82122d..3bc10f1 100644
+--- a/src/nano.h
++++ b/src/nano.h
+@@ -170,7 +170,7 @@ typedef enum {
+ } function_type;
+
+ typedef enum {
+- ADD, DEL, REPLACE, SPLIT, UNSPLIT, CUT, CUTTOEND, UNCUT, INSERT, OTHER
++ ADD, DEL, REPLACE, SPLIT, UNSPLIT, CUT, UNCUT, INSERT, OTHER
+ } undo_type;
+
+ /* Structure types. */
+diff --git a/src/text.c b/src/text.c
+index 97e1f19..915d1c1 100644
+--- a/src/text.c
++++ b/src/text.c
+@@ -408,7 +408,7 @@ void redo_cut(undo *u) {
+ #ifdef DEBUG
+ fprintf(stderr, "Undoing multi-^K cut, u->linescut = %d\n", u->linescut);
+ #endif
+- for (i = 0, t = openfile->current; i < u->linescut; i++) {
++ for (i = 0, t = openfile->current; i < u->linescut && t->next != NULL ; i++) {
+
+ #ifdef DEBUG
+ fprintf(stderr, "Advancing, lineno = %d, data = \"%s\"\n", t->lineno, t->data);
+@@ -505,7 +505,6 @@ void do_undo(void)
+ renumber(f);
+ break;
+ case CUT:
+- case CUTTOEND:
+ undidmsg = _("text cut");
+ undo_cut(u);
+ break;
+@@ -629,7 +628,6 @@ void do_redo(void)
+ renumber(f);
+ break;
+ case CUT:
+- case CUTTOEND:
+ undidmsg = _("text cut");
+ redo_cut(u);
+ break;
+@@ -890,13 +888,12 @@ void add_undo(undo_type current_action)
+ u->strdata = data;
+ break;
+ case CUT:
+- case CUTTOEND:
+ u->mark_set = openfile->mark_set;
+ if (u->mark_set) {
+ u->mark_begin_lineno = openfile->mark_begin->lineno;
+ u->mark_begin_x = openfile->mark_begin_x;
+ }
+- u->to_end = (current_action == CUTTOEND);
++ u->to_end = (ISSET(CUT_TO_END)) ? TRUE : FALSE;
+ last_cutu = u;
+ break;
+ case UNCUT:
+@@ -951,7 +948,7 @@ void update_undo(undo_type action)
+ /* Change to an add if we're not using the same undo struct
+ that we should be using */
+ if (action != fs->last_action
+- || (action != CUT && action != CUTTOEND && action != INSERT
++ || (action != CUT && action != INSERT
+ && openfile->current->lineno != fs->current_undo->lineno)) {
+ add_undo(action);
+ return;
+@@ -1016,7 +1013,8 @@ void update_undo(undo_type action)
+ #endif
+ break;
+ case CUT:
+- case CUTTOEND:
++ if (!cutbuffer)
++ break;
+ if (u->cutbuffer)
+ free(u->cutbuffer);
+ u->cutbuffer = copy_filestruct(cutbuffer);
+--
+1.6.0.1
+
diff --git a/app-editors/nano/nano-2.1.6-r2.ebuild b/app-editors/nano/nano-2.1.6-r2.ebuild
new file mode 100644
index 000000000000..615147a163d1
--- /dev/null
+++ b/app-editors/nano/nano-2.1.6-r2.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-editors/nano/nano-2.1.6-r2.ebuild,v 1.1 2008/10/19 06:56:40 vapier Exp $
+
+inherit eutils
+if [[ ${PV} == "9999" ]] ; then
+ ESVN_REPO_URI="svn://svn.savannah.gnu.org/nano/trunk/nano"
+ inherit subversion
+else
+ MY_P=${PN}-${PV/_}
+ SRC_URI="http://www.nano-editor.org/dist/v${PV:0:3}/${MY_P}.tar.gz"
+fi
+
+DESCRIPTION="GNU GPL'd Pico clone with more functionality"
+HOMEPAGE="http://www.nano-editor.org/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
+IUSE="debug justify minimal ncurses nls slang spell unicode"
+
+DEPEND=">=sys-libs/ncurses-5.2
+ nls? ( sys-devel/gettext )
+ !ncurses? ( slang? ( sys-libs/slang ) )"
+
+src_unpack() {
+ if [[ ${PV} == "9999" ]] ; then
+ subversion_src_unpack
+ else
+ unpack ${A}
+ fi
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-cut-paste-segv.patch
+ epatch "${FILESDIR}"/${P}-cut-last.patch #240330
+ if [[ ! -e configure ]] ; then
+ ./autogen.sh || die "autogen failed"
+ fi
+}
+
+src_compile() {
+ local myconf=""
+ use ncurses \
+ && myconf="--without-slang" \
+ || myconf="${myconf} $(use_with slang)"
+
+ econf \
+ --bindir=/bin \
+ $(use_enable !minimal color) \
+ $(use_enable !minimal multibuffer) \
+ $(use_enable !minimal nanorc) \
+ --disable-wrapping-as-root \
+ $(use_enable spell speller) \
+ $(use_enable justify) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable unicode utf8) \
+ $(use_enable minimal tiny) \
+ ${myconf} \
+ || die "configure failed"
+ emake || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ dodoc ChangeLog README doc/nanorc.sample AUTHORS BUGS NEWS TODO
+ dohtml *.html
+ insinto /etc
+ newins doc/nanorc.sample nanorc
+
+ dodir /usr/bin
+ dosym /bin/nano /usr/bin/nano
+
+ insinto /usr/share/nano
+ local f
+ for f in "${FILESDIR}"/*.nanorc ; do
+ [[ -e ${D}/usr/share/nano/${f##*/} ]] && continue
+ doins "${f}" || die
+ echo "# include \"/usr/share/nano/${f##*/}\"" >> "${D}"/etc/nanorc
+ done
+}
+
+pkg_postinst() {
+ elog "More helpful info about nano, visit the GDP page:"
+ elog "http://www.gentoo.org/doc/en/nano-basics-guide.xml"
+}