diff options
author | 2008-10-19 06:56:40 +0000 | |
---|---|---|
committer | 2008-10-19 06:56:40 +0000 | |
commit | d2ba5228b9f4b7ae57850ad6a5b09b70fd22d62d (patch) | |
tree | 129efa17e1d325d64e35fe1e4a40e40fc1b8396a /app-editors/nano | |
parent | broken (diff) | |
download | gentoo-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/nano')
-rw-r--r-- | app-editors/nano/ChangeLog | 8 | ||||
-rw-r--r-- | app-editors/nano/files/nano-2.1.6-cut-last.patch | 121 | ||||
-rw-r--r-- | app-editors/nano/nano-2.1.6-r2.ebuild | 86 |
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" +} |