debian/0000755000000000000000000000000011773532500007171 5ustar debian/control0000644000000000000000000000077011773525507010611 0ustar Source: elvis-tiny Section: base Priority: standard Maintainer: Miquel van Smoorenburg Build-Depends: libncurses5-dev, debhelper (>= 8) Standards-Version: 3.5.1.0 Package: elvis-tiny Architecture: any Pre-depends: ${shlibs:Depends} Description: Tiny vi compatible editor for the base system Elvis-tiny is based on a 1991 Minix version of elvis. You should install another vi-editor (such as "vim", "elvis" or "nvi") if you want a vi editor that is full featured and has no bugs. debian/elvis-tiny.manpages0000644000000000000000000000002411773404434013011 0ustar debian/elvis-tiny.1 debian/elvis-tiny.lintian-overrides0000644000000000000000000000024711773416625014670 0ustar elvis-tiny binary: unknown-section base elvis-tiny binary: binary-without-manpage bin/vi elvis-tiny binary: command-with-path-in-maintainer-script postinst:24 /bin/ls debian/patches/0000755000000000000000000000000011773526761010634 5ustar debian/patches/warnings.patch0000644000000000000000000002065511773526761013515 0ustar diff -ruN elvis-tiny-1.4.orig/main.c elvis-tiny-1.4.test2/main.c --- elvis-tiny-1.4.orig/main.c 2012-06-29 21:27:00.000000000 +0000 +++ elvis-tiny-1.4/main.c 2012-06-29 22:01:48.651235702 +0000 @@ -13,6 +13,9 @@ #include "config.h" #include #include +#include +#include +#include #include "vi.h" extern trapint(); /* defined below */ @@ -25,7 +25,7 @@ /*---------------------------------------------------------------------*/ -void main(argc, argv) +int main(argc, argv) int argc; char *argv[]; { @@ -330,7 +349,7 @@ refresh(); endwin(); - exit(0); + return(0); /*NOTREACHED*/ } diff -ruN elvis-tiny-1.4.orig/tio.c elvis-tiny-1.4.test2/tio.c --- elvis-tiny-1.4.orig/tio.c 2012-06-29 21:27:00.000000000 +0000 +++ elvis-tiny-1.4/tio.c 2012-06-29 21:59:40.945080102 +0000 @@ -15,6 +15,9 @@ # include #endif #include +#include +#include +#include #include "vi.h" @@ -354,7 +354,7 @@ return 0; } # else -static int dummy() +static void dummy() { } # endif diff -ruN elvis-tiny-1.4.orig/tmp.c elvis-tiny-1.4.test2/tmp.c --- elvis-tiny-1.4.orig/tmp.c 2012-06-29 21:27:00.000000000 +0000 +++ elvis-tiny-1.4/tmp.c 2012-06-29 21:58:55.172307677 +0000 @@ -13,6 +13,9 @@ #include "config.h" #include +#include +#include +#include #include "vi.h" #if TOS # include @@ -24,7 +24,7 @@ # endif #endif #include - +#include #ifndef NO_MODELINE static void do_modeline(l, stop) diff -ruN elvis-tiny-1.4.orig/cmd1.c elvis-tiny-1.4.test2/cmd1.c --- elvis-tiny-1.4.orig/cmd1.c 2012-06-29 21:27:00.000000000 +0000 +++ elvis-tiny-1.4/cmd1.c 2012-06-29 22:04:33.470016427 +0000 @@ -14,6 +14,8 @@ #include "config.h" #include +#include +#include #include "vi.h" #include "regexp.h" @@ -270,7 +272,7 @@ suspend_curses(); if (frommark == 0L) { - system(extra); + elvis_system(extra); } else /* pipe lines from the file through the command */ { diff -ruN elvis-tiny-1.4.orig/cmd2.c elvis-tiny-1.4.test2/cmd2.c --- elvis-tiny-1.4.orig/cmd2.c 2012-06-29 21:27:00.000000000 +0000 +++ elvis-tiny-1.4/cmd2.c 2012-06-29 22:05:11.710661704 +0000 @@ -11,6 +11,9 @@ /* This file contains some of the commands - mostly ones that change text */ #include +#include +#include +#include #include "config.h" #include "vi.h" #include "regexp.h" @@ -23,7 +26,7 @@ # include # endif #endif - +#include /*ARGSUSED*/ void cmd_substitute(frommark, tomark, cmd, bang, extra) diff -ruN elvis-tiny-1.4.orig/config.h elvis-tiny-1.4.test2/config.h --- elvis-tiny-1.4.orig/config.h 2012-06-29 21:27:00.000000000 +0000 +++ elvis-tiny-1.4/config.h 2012-06-29 21:56:09.341509847 +0000 @@ -148,7 +148,6 @@ #if BSD || UNIX7 || OSK # define strchr index #endif -extern char *strchr(); /* BSD uses bcopy() instead of memcpy() */ #if BSD @@ -219,6 +211,10 @@ # endif #endif +#ifndef ANY_UNIX +# define elvis_system system +#endif + #if MSDOS || TOS /* do not change TMPNAME, CUTNAME and SCRATCH*: they MUST begin with '%s\\'! */ # ifndef TMPDIR diff -ruN elvis-tiny-1.4.orig/curses.c elvis-tiny-1.4.test2/curses.c --- elvis-tiny-1.4.orig/curses.c 2012-06-29 21:27:00.000000000 +0000 +++ elvis-tiny-1.4/curses.c 2012-06-29 21:40:40.521843315 +0000 @@ -35,6 +35,8 @@ #endif #include +#include +#include extern char *getenv(); static void starttcap(); diff -ruN elvis-tiny-1.4.orig/cut.c elvis-tiny-1.4.test2/cut.c --- elvis-tiny-1.4.orig/cut.c 1991-08-04 21:20:36.000000000 +0000 +++ elvis-tiny-1.4/cut.c 2012-06-29 22:02:36.956050189 +0000 @@ -20,6 +20,10 @@ #define rename(a,b) Frename(0,a,b) #endif +#include +#include +#include + # define NANNONS 9 /* number of annonymous buffers */ static struct cutbuf Binary files elvis-tiny-1.4.orig/elvis and elvis-tiny-1.4.test2/elvis differ diff -ruN elvis-tiny-1.4.orig/ex.c elvis-tiny-1.4.test2/ex.c --- elvis-tiny-1.4.orig/ex.c 2012-06-29 21:27:00.000000000 +0000 +++ elvis-tiny-1.4/ex.c 2012-06-29 21:41:51.715043811 +0000 @@ -12,6 +12,7 @@ #include "config.h" #include +#include #include "vi.h" #ifndef isascii diff -ruN elvis-tiny-1.4.orig/input.c elvis-tiny-1.4.test2/input.c --- elvis-tiny-1.4.orig/input.c 1991-08-04 21:20:39.000000000 +0000 +++ elvis-tiny-1.4/input.c 2012-06-29 22:01:40.723101264 +0000 @@ -15,7 +15,7 @@ #include #include "config.h" #include "vi.h" - +#include #ifndef NO_DIGRAPH static struct _DIG diff -ruN elvis-tiny-1.4.orig/misc.c elvis-tiny-1.4.test2/misc.c --- elvis-tiny-1.4.orig/misc.c 1991-08-04 21:20:40.000000000 +0000 +++ elvis-tiny-1.4/misc.c 2012-06-29 21:44:19.449535042 +0000 @@ -12,6 +12,7 @@ #include "config.h" #include "vi.h" +#include /* find a particular line & return a pointer to a copy of its text */ diff -ruN elvis-tiny-1.4.orig/modify.c elvis-tiny-1.4.test2/modify.c --- elvis-tiny-1.4.orig/modify.c 1991-08-04 21:20:41.000000000 +0000 +++ elvis-tiny-1.4/modify.c 2012-06-29 21:42:08.743330889 +0000 @@ -8,6 +8,7 @@ #include "config.h" #include "vi.h" +#include #ifdef DEBUG # include diff -ruN elvis-tiny-1.4.orig/move2.c elvis-tiny-1.4.test2/move2.c --- elvis-tiny-1.4.orig/move2.c 1991-08-04 21:20:43.000000000 +0000 +++ elvis-tiny-1.4/move2.c 2012-06-29 21:42:35.279778404 +0000 @@ -13,6 +13,7 @@ #include "config.h" #include "vi.h" #include "regexp.h" +#include extern long atol(); diff -ruN elvis-tiny-1.4.orig/opts.c elvis-tiny-1.4.test2/opts.c --- elvis-tiny-1.4.orig/opts.c 1991-08-04 21:20:46.000000000 +0000 +++ elvis-tiny-1.4/opts.c 2012-06-29 22:01:00.602424228 +0000 @@ -14,6 +14,8 @@ #include "config.h" #include "vi.h" +#include +#include #ifndef NULL #define NULL (char *)0 #endif diff -ruN elvis-tiny-1.4.orig/regexp.c elvis-tiny-1.4.test2/regexp.c --- elvis-tiny-1.4.orig/regexp.c 1991-08-04 21:20:51.000000000 +0000 +++ elvis-tiny-1.4/regexp.c 2012-06-29 21:40:49.137988598 +0000 @@ -31,6 +31,8 @@ #include #include +#include +#include #include "config.h" #include "vi.h" #include "regexp.h" diff -ruN elvis-tiny-1.4.orig/regsub.c elvis-tiny-1.4.test2/regsub.c --- elvis-tiny-1.4.orig/regsub.c 2012-06-29 21:27:00.000000000 +0000 +++ elvis-tiny-1.4/regsub.c 2012-06-29 21:41:02.030205985 +0000 @@ -5,6 +5,8 @@ */ #include +#include +#include #include "config.h" #include "vi.h" #include "regexp.h" diff -ruN elvis-tiny-1.4.orig/system.c elvis-tiny-1.4.test2/system.c --- elvis-tiny-1.4.orig/system.c 2012-06-29 21:27:00.000000000 +0000 +++ elvis-tiny-1.4/system.c 2012-06-29 22:00:32.609951944 +0000 @@ -23,14 +23,17 @@ #include #include #include +#include +#include +#include extern char **environ; #if ANY_UNIX /* This is a new version of the system() function. The only difference * between this one and the library one is: this one uses the o_shell option. */ -int system(cmd) +int elvis_system(cmd) char *cmd; /* a command to run */ { int status; /* exit status of the command */ diff -ruN elvis-tiny-1.4.orig/vcmd.c elvis-tiny-1.4.test2/vcmd.c --- elvis-tiny-1.4.orig/vcmd.c 1991-08-04 21:20:58.000000000 +0000 +++ elvis-tiny-1.4/vcmd.c 2012-06-29 21:58:03.495435859 +0000 @@ -13,6 +13,8 @@ #include "config.h" #include "vi.h" +#include +#include #if MSDOS #include #include @@ -627,7 +629,7 @@ waswarn = *o_warn; *o_warn = FALSE; suspend_curses(); - if (system(cmdline)) + if (elvis_system(cmdline)) { addstr("<<< failed >>>\n"); } diff -ruN elvis-tiny-1.4.orig/vi.c elvis-tiny-1.4.test2/vi.c --- elvis-tiny-1.4.orig/vi.c 1991-08-04 21:21:00.000000000 +0000 +++ elvis-tiny-1.4/vi.c 2012-06-29 21:59:19.628720297 +0000 @@ -10,6 +10,7 @@ #include "config.h" #include +#include #include "vi.h" diff -ruN elvis-tiny-1.4.orig/vi.h elvis-tiny-1.4.test2/vi.h --- elvis-tiny-1.4.orig/vi.h 1991-08-04 21:21:02.000000000 +0000 +++ elvis-tiny-1.4/vi.h 2012-06-29 21:57:35.398961810 +0000 @@ -409,6 +409,9 @@ extern void ex(); extern void vi(); extern void doexcmd(); +#ifndef elvis_system +extern int elvis_system(); +#endif #ifndef NO_ABBR extern void cmd_abbr(); debian/patches/series0000644000000000000000000000036211773410663012043 0ustar makefile.patch argsize.patch failsleep.patch filesize.patch redraw.patch termios.patch patch-tempfile.diff warnings.patch patch-substitute-fails.diff patch-range-segfault.diff patch-bug-258640.diff patch-siglongjmp.diff patch-fix-resize.diff debian/patches/patch-siglongjmp.diff0000644000000000000000000000250211773402575014727 0ustar setjmp/longjmp are used to jump out of signal handlers. That causes weirdness. Use sigsetjmp/siglongjmp. diff -ruN t/elvis-tiny-1.4/main.c elvis-tiny-1.4/main.c --- t/elvis-tiny-1.4/main.c 2008-04-30 23:09:50.000000000 +0200 +++ elvis-tiny-1.4/main.c 2008-04-30 22:54:52.000000000 +0200 @@ -17,7 +17,7 @@ extern trapint(); /* defined below */ extern char *getenv(); -jmp_buf jmpenv; +sigjmp_buf jmpenv; #ifndef NO_DIGRAPH static init_digraphs(); @@ -307,7 +307,7 @@ */ while (mode != MODE_QUIT) { - if (setjmp(jmpenv)) + if (sigsetjmp(jmpenv, 1)) { /* Maybe we just aborted a change? */ abortdo(); @@ -368,7 +368,7 @@ #else signal(signo, trapint); #endif - longjmp(jmpenv, 1); + siglongjmp(jmpenv, 1); return 0; } diff -ruN t/elvis-tiny-1.4/tio.c elvis-tiny-1.4/tio.c --- t/elvis-tiny-1.4/tio.c 2008-04-30 23:09:50.000000000 +0200 +++ elvis-tiny-1.4/tio.c 2008-04-30 22:54:57.000000000 +0200 @@ -347,10 +347,10 @@ #if !MSDOS && !TOS # if BSD || COHERENT -static jmp_buf env_timeout; +static sigjmp_buf env_timeout; static int dummy() { - longjmp(env_timeout, 1); + siglongjmp(env_timeout, 1); return 0; } # else @@ -549,7 +549,7 @@ while (j > 1) { #if BSD || COHERENT - if (setjmp(env_timeout)) + if (sigsetjmp(env_timeout, 1)) { /* we timed out - assume no mapping */ j = 0; debian/patches/patch-range-segfault.diff0000644000000000000000000000360411773402575015466 0ustar Date: Mon, 17 Jan 2000 00:35:57 -0800 To: bugs@debian.org From: Ross Boylan Subject: vi (?) segfaults Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Package: boot-floppies Version: 2.2.4 (potato i386) I suspect this problem is really for elvis-tiny 1.4-7, which dpkg showed as installed, but I'm not 100% sure. Please reassign as appropriate. If I vi sources.list and execute the command :1,44s/stable/potato/g I get a segmentation fault. Using % in place of 1,44 works alright. After the seg fault, the file is locked, and can't be edited further. I had to reboot the system (I know there's a better way; fee free to enlighten me) to access the file. (Well, I also did a mv sources.list s.l.bak; cp s.l.bak sources.list; rm s.l.bak. But there's a better way than that too, right?) But to return the original subject: the file doesn't have 44 lines. But a segfault seems like a poor reaction to that problem... From: "David Douthitt" To: miquels@cistron.nl Date: Wed, 13 Dec 2000 09:36:44 -0600 Subject: elvis-tiny Message-ID: <3A37432C.147.3BB4F415@localhost> I have a few fixes for elvis-tiny, one for bug #55407 (vi segfaults) and one for bug #73059 (substitute & fails on third substitution). I've included them in the text below. They're two separate patches; so cut them out into two files. I don't know if I qualify as "maintainer" but I'll see if I can keep fixing and learning as time goes on. --- elvis-tiny-1.4/ex.c.orig Sun Aug 4 23:20:37 1991 +++ elvis-tiny-1.4/ex.c Sun Jan 14 16:25:29 2001 @@ -390,6 +390,11 @@ msg("first address exceeds the second"); return; } + if (markline(tomark) > markline(MARK_LAST)) + { + msg("there are only %d lines in the file", nlines); + return; + } } isdfl = (scan == cmdbuf); debian/patches/termios.patch0000644000000000000000000000407611773402601013330 0ustar diff '--exclude=debian' -ruN x/elvis-tiny-1.4.orig/curses.c elvis-tiny-1.4/curses.c --- x/elvis-tiny-1.4.orig/curses.c 2012-06-29 19:23:00.014231174 +0000 +++ elvis-tiny-1.4/curses.c 2012-06-29 17:54:18.000000000 +0000 @@ -19,7 +19,7 @@ #if ANY_UNIX # if UNIXV -# include +# include # undef TIOCWINSZ /* we can't handle it correctly yet */ # else # include @@ -105,8 +105,8 @@ #if ANY_UNIX # if UNIXV -static struct termio oldtermio; /* original tty mode */ -static struct termio newtermio; /* cbreak/noecho tty mode */ +static struct termios oldtermio; /* original tty mode */ +static struct termios newtermio; /* cbreak/noecho tty mode */ # else static struct sgttyb oldsgttyb; /* original tty mode */ static struct sgttyb newsgttyb; /* cbreak/nl/noecho tty mode */ @@ -164,7 +164,7 @@ /* change the terminal mode to cbreak/noecho */ #if ANY_UNIX # if UNIXV - ioctl(2, TCGETA, &oldtermio); + tcgetattr(2, &oldtermio); # else ioctl(2, TIOCGETP, &oldsgttyb); # endif @@ -213,7 +213,7 @@ /* change the terminal mode back the way it was */ #if ANY_UNIX # if UNIXV - ioctl(2, TCSETAW, &oldtermio); + tcsetattr(2, TCSANOW, &oldtermio); # else ioctl(2, TIOCSETP, &oldsgttyb); @@ -243,19 +243,25 @@ /* change the terminal mode to cbreak/noecho */ #if ANY_UNIX # if UNIXV - ospeed = (oldtermio.c_cflag & CBAUD); + ospeed = cfgetospeed(&oldtermio); ERASEKEY = oldtermio.c_cc[VERASE]; newtermio = oldtermio; newtermio.c_iflag &= (IXON|IXOFF|IXANY|ISTRIP|IGNBRK); newtermio.c_oflag &= ~OPOST; newtermio.c_lflag &= ISIG; newtermio.c_cc[VINTR] = ctrl('C'); /* always use ^C for interrupts */ +#ifdef VSUSP + newtermio.c_cc[VSUSP] = 0; /* disable ^Z for elvis */ +#endif +#ifdef VLNEXT + newtermio.c_cc[VLNEXT] = 0; /* disable ^V for elvis */ +#endif newtermio.c_cc[VMIN] = 1; newtermio.c_cc[VTIME] = 0; # ifdef VSWTCH newtermio.c_cc[VSWTCH] = 0; # endif - ioctl(2, TCSETAW, &newtermio); + tcsetattr(2, TCSANOW, &newtermio); # else /* BSD or V7 or Coherent or Minix */ struct tchars tbuf; # ifdef TIOCSLTC debian/patches/makefile.patch0000644000000000000000000000152311773532415013424 0ustar --- elvis-tiny-1.4.orig/Makefile.mix 1991-08-04 21:20:19.000000000 +0000 +++ elvis-tiny-1.4/Makefile.mix 2012-06-29 20:26:25.262635031 +0000 @@ -36,6 +36,30 @@ # DUMMY usually nothing, but OS9 needs "dummy" # DOC name of "doc" directory, with a trailing slash +#---- These settings are recommended for Linux ---- +O= .o +E= +EXTRA= +EXTRA2= +LIBS= -ltinfo +BIN= /usr/bin +CFLAGS= -O2 -DM_SYSV -DCRUNCH -DNO_MKEXRC -DNO_CURSORSHAPE -DNO_CHARATTR \ + -DNO_SHOWMODE -DNO_MODELINE -DNO_OPTCOLS -DNO_DIGRAPH -DNO_ABBR \ + -DNO_AT -DNO_SENTENCE -DNO_ERRLIST -fsigned-char $(EXTRA_CFLAGS) +OF= -o +RF= -c +DATE= -DDATE=\'\"`date`\"\' +EVAL= eval +PROGS= elvis +CHMEM= +SORT= -DSORT +INST= inst.unix +RM= rm -f +PR1= refont -c +PR2= | lpr +DUMMY= +DOC= doc/ + #---- These settings are recommended for System-V UNIX and SCO XENIX-386 ---- #O= .o #E= debian/patches/argsize.patch0000644000000000000000000000163011773402601013303 0ustar diff '--exclude=debian' -ruN x/elvis-tiny-1.4.orig/main.c elvis-tiny-1.4/main.c --- x/elvis-tiny-1.4.orig/main.c 2012-06-29 19:22:52.702106206 +0000 +++ elvis-tiny-1.4/main.c 2012-06-29 17:54:18.000000000 +0000 @@ -195,11 +196,29 @@ #if ! ( MSDOS || TOS ) firstarg = argv[i]; #endif - strcpy(args, argv[i]); - while (++i < argc && strlen(args) + 1 + strlen(argv[i]) < sizeof args) + args[0] = 0; + while (i < argc) { - strcat(args, " "); - strcat(args, argv[i]); + if (strlen(argv[i]) > 128) + { + msg("file name too long"); + endmsgs(); + refresh(); + sleep(1); + endwin(); + exit(1); + } + if (strlen(args) + strlen(argv[i]) + 1 >= sizeof(args)) + { + msg("too many files on command line"); + endmsgs(); + refresh(); + sleep(1); + endwin(); + exit(1); + } + if (args[0]) strcat(args, " "); + strcat(args, argv[i++]); } } #if ! ( MSDOS || TOS ) debian/patches/redraw.patch0000644000000000000000000000166411773402601013132 0ustar diff '--exclude=debian' -ruN x/elvis-tiny-1.4.orig/redraw.c elvis-tiny-1.4/redraw.c --- x/elvis-tiny-1.4.orig/redraw.c 1991-08-04 21:20:49.000000000 +0000 +++ elvis-tiny-1.4/redraw.c 2012-06-29 17:54:18.000000000 +0000 @@ -354,7 +354,16 @@ if (i == '\t' && !*o_list) { i = col + tabstop - (col % tabstop); +#if 1 + /* + * With modern terminals, autowrap occurs only + * if a new character is added after limitcol. + * -- miquels@cistron.nl 23-Jan-2002 + */ + if (i < limitcol || (has_AM && i <= limitcol)) +#else if (i < limitcol) +#endif { #ifdef CRUNCH if (!clr && has_PT && !((i - leftcol) & 7)) @@ -450,7 +459,16 @@ clrtoeol(); } #endif +#if 1 + /* + * With modern terminals, autowrap occurs only + * if a new character is added after limitcol. + * -- miquels@cistron.nl 22-Feb-1998 + */ + if (!has_AM || col <= limitcol) +#else if (!has_AM || col < limitcol) +#endif { addch('\n'); } debian/patches/patch-tempfile.diff0000644000000000000000000001227511773410020014353 0ustar From: Topi Miettinen To: submit@bugs.debian.org Date: Tue, 17 Oct 2000 20:30:00 +0300 Subject: Bug#74976: elvis-tiny: temporary file problems Package: elvis-tiny Version: 1.4-9 Severity: grave Elvis-tiny (probably full elvis also) has serious problems with temporary file use. Those files are created with a predictable pattern and O_EXCL flag is not used when opening. This makes elvis users vulnerable to race conditions and/or data lossage. ======================================================================= Topi included a patch to fix these problems, but the patch itself was broken in 2 ways: 1. Recovery of lost files didn't work anymore 2. :w to an existing file broke. The patch below by Miquel van Smoorenburg, based on Topi's bugreport and patch, should fix the bug without any side effects. --- elvis-tiny-1.4/Makefile.mix.orig 2012-06-29 20:26:25.262635031 +0000 +++ elvis-tiny-1.4/Makefile.mix 2012-06-29 20:23:07.000000000 +0000 @@ -45,7 +45,8 @@ BIN= /usr/bin CFLAGS= -O2 -DM_SYSV -DCRUNCH -DNO_MKEXRC -DNO_CURSORSHAPE -DNO_CHARATTR \ -DNO_SHOWMODE -DNO_MODELINE -DNO_OPTCOLS -DNO_DIGRAPH -DNO_ABBR \ - -DNO_AT -DNO_SENTENCE -DNO_ERRLIST -fsigned-char $(EXTRA_CFLAGS) + -DNO_AT -DNO_SENTENCE -DNO_ERRLIST -DUSE_MKSTEMP -DUSE_SNPRINTF \ + -fsigned-char $(EXTRA_CFLAGS) OF= -o RF= -c DATE= -DDATE=\'\"`date`\"\' diff -ruN elvis-tiny-1.4.b4/cmd1.c elvis-tiny-1.4/cmd1.c --- elvis-tiny-1.4.b4/cmd1.c Tue Nov 28 11:50:09 2000 +++ elvis-tiny-1.4/cmd1.c Tue Nov 28 11:53:23 2000 @@ -158,6 +158,8 @@ mark[*extra - 'a'] = tomark; } +void cmd_write2(MARK frommark, MARK tomark, int fd); + /*ARGSUSED*/ void cmd_write(frommark, tomark, cmd, bang, extra) MARK frommark; @@ -168,9 +170,6 @@ { int fd; int append; /* boolean: write in "append" mode? */ - REG long l; - REG char *scan; - REG int i; /* if all lines are to be written, use tmpsave() */ if (frommark == MARK_FIRST && tomark == MARK_LAST) @@ -221,6 +220,16 @@ return; } } + cmd_write2(frommark, tomark, fd); + close(fd); +} + +void cmd_write2(MARK frommark, MARK tomark, int fd) +{ + REG long l; + REG char *scan; + REG int i; + for (l = markline(frommark); l <= markline(tomark); l++) { /* get the next line */ @@ -231,7 +240,6 @@ /* print the line */ twrite(fd, scan, i); } - close(fd); } diff -ruN elvis-tiny-1.4.b4/system.c elvis-tiny-1.4/system.c --- elvis-tiny-1.4.b4/system.c Tue Nov 28 11:50:09 2000 +++ elvis-tiny-1.4/system.c Tue Nov 28 12:00:54 2000 @@ -22,6 +22,8 @@ #include "config.h" #include "vi.h" +#include +#include #include extern char **environ; @@ -331,7 +333,7 @@ { int scratch; /* fd of the scratch file */ int fd; /* fd of the pipe from the filter */ - char scrout[50]; /* name of the scratch out file */ + char *scrout = NULL; /* name of the scratch out file */ MARK new; /* place where new text should go */ int i; @@ -339,6 +341,9 @@ if (to) { /* we have lines */ + scrout = malloc(strlen(o_directory) + 9 + 1); /* strlen("/soXXXXXX") */ + if (!scrout) + return -1; #if MSDOS || TOS strcpy(scrout, o_directory); if ((i=strlen(scrout)) && strchr("\\/:", scrout[i-1])) @@ -347,6 +352,7 @@ #else sprintf(scrout, SCRATCHOUT, o_directory); #endif +#if !USE_MKSTEMP mktemp(scrout); cmd_write(from, to, CMD_BANG, 0, scrout); @@ -357,6 +363,13 @@ unlink(scrout); return -1; } +#else + if ((scratch = mkstemp(scrout)) < 0) + return -1; + /* use those lines as stdin */ + cmd_write2(from, to, scratch); + lseek(scratch, 0L, SEEK_SET); +#endif } else { @@ -371,6 +384,7 @@ { close(scratch); unlink(scrout); + free(scrout); } return -1; } @@ -429,6 +443,7 @@ { close(scratch); unlink(scrout); + free(scrout); } return 0; } diff -ruN elvis-tiny-1.4.b4/tmp.c elvis-tiny-1.4/tmp.c --- elvis-tiny-1.4.b4/tmp.c Tue Nov 28 11:50:09 2000 +++ elvis-tiny-1.4/tmp.c Tue Nov 28 13:02:18 2000 @@ -23,6 +23,7 @@ # include # endif #endif +#include #ifndef NO_MODELINE @@ -193,7 +194,12 @@ tmpname[i++]=SLASH; sprintf(tmpname+i, TMPNAME+3, sum, statb.st_ino, statb.st_dev); #else +# if USE_SNPRINTF + snprintf(tmpname, sizeof(tmpname), TMPNAME, + o_directory, sum, statb.st_ino, statb.st_dev); +# else sprintf(tmpname, TMPNAME, o_directory, sum, statb.st_ino, statb.st_dev); +# endif #endif /* make sure nobody else is editing the same file */ @@ -209,11 +215,28 @@ /* create the temp file */ #if ANY_UNIX - close(creat(tmpname, 0600)); /* only we can read it */ +# if USE_MKSTEMP + scan = malloc(strlen(o_directory) + 10 + 1); /* "/elvXXXXXX" */ + if (scan == NULL) { + FAIL("No memory: %s", strerror(errno)); + } + sprintf(scan, "%s/elvXXXXXX", o_directory); + if ((tmpfd = mkstemp(scan)) >= 0) { + if (link(scan, tmpname) < 0) { + close(tmpfd); + tmpfd = -1; + } + unlink(scan); + } + free(scan); +# else + tmpfd = open(tmpname, O_CREAT|O_WRONLY|O_TRUNC|O_EXCL, 0600); + /* only we can read it */ +# endif #else close(creat(tmpname, FILEPERMS)); /* anybody body can read it, alas */ -#endif tmpfd = open(tmpname, O_RDWR | O_BINARY); +#endif if (tmpfd < 0) { FAIL("Can't create temporary file, errno=%d", errno); debian/patches/patch-substitute-fails.diff0000644000000000000000000000366711773402575016102 0ustar From: "David Douthitt" To: submit@bugs.debian.org Date: Tue, 3 Oct 2000 11:01:13 -0500 Subject: Substitution command & fails on third (second?) try Reply-to: ddouthitt@mennonite.minister.net Message-ID: <39D9BC79.32551.23FF0C@localhost> Package: elvis-tiny Version: 1.4 Do the following on a file: :s/tcp/TCP!/ j & j & The first substitution works, then the first & , then on the second & it replaces the substitution string with a '~' character. For example, given: my-tcp his-tcp her-tcp their-tcp The results would be: my-TCP! his-TCP! her-~ their-~ This is consistent. From: "David Douthitt" To: miquels@cistron.nl Date: Wed, 13 Dec 2000 09:36:44 -0600 Subject: elvis-tiny Reply-to: n9ubh@callsign.net Message-ID: <3A37432C.147.3BB4F415@localhost> I have a few fixes for elvis-tiny, one for bug #55407 (vi segfaults) and one for bug #73059 (substitute & fails on third substitution). I've included them in the text below. They're two separate patches; so cut them out into two files. I don't know if I qualify as "maintainer" but I'll see if I can keep fixing and learning as time goes on. --- elvis-tiny-1.4/regsub.c.orig Sun Jan 14 16:23:39 2001 +++ elvis-tiny-1.4/regsub.c Sun Jan 14 16:24:13 2001 @@ -194,10 +194,18 @@ } *dst = '\0'; - /* remember what text we inserted this time */ - if (previous) - free(previous); - previous = (char *)malloc((unsigned)(strlen(start) + 1)); - if (previous) - strcpy(previous, start); +#ifndef NO_MAGIC + /* Don't copy the pattern if it is '~'; leave previous copy alone */ + if (! (*start == '~' && *o_magic)) + { +#endif + /* remember what text we inserted this time */ + if (previous) + free(previous); + previous = (char *)malloc((unsigned)(strlen(start) + 1)); + if (previous) + strcpy(previous, start); +#ifndef NO_MAGIC + } +#endif } debian/patches/filesize.patch0000644000000000000000000000173711773402601013461 0ustar diff '--exclude=debian' -ruN x/elvis-tiny-1.4.orig/cmd2.c elvis-tiny-1.4/cmd2.c --- x/elvis-tiny-1.4.orig/cmd2.c 1991-08-04 21:20:31.000000000 +0000 +++ elvis-tiny-1.4/cmd2.c 2012-06-29 17:54:18.000000000 +0000 @@ -591,6 +591,12 @@ msg("\"%s\" is not a regular file", extra); return; } + if (statb.st_size > 500000) + { + msg("\"%s\" is too large (>500000 bytes)", extra); + close(fd); + return; + } #endif /* not CRUNCH */ /* get blocks from the file, and add them */ diff '--exclude=debian' -ruN x/elvis-tiny-1.4.orig/tmp.c elvis-tiny-1.4/tmp.c --- x/elvis-tiny-1.4.orig/tmp.c 2012-06-29 19:22:09.285371591 +0000 +++ elvis-tiny-1.4/tmp.c 2012-06-29 17:54:18.000000000 +0000 @@ -133,6 +133,13 @@ msg("\"%s\" is not a regular file", origname); return tmpstart(""); } + /* Can't edit files > 500.000 bytes */ + if (statb.st_size > 500000) + { + msg("\"%s\" is too big (>500000 bytes)", + origname); + return tmpstart(""); + } } else { debian/patches/patch-bug-258640.diff0000644000000000000000000000070011773411103014062 0ustar --- elvis-tiny-1.4.orig/config.h 1991-08-04 21:20:32.000000000 +0000 +++ elvis-tiny/config.h 2012-06-29 20:37:02.505417127 +0000 @@ -178,13 +178,6 @@ # define uchar unsigned char #endif -/* Some compilers prefer to have malloc declared as returning a (void *) */ -#if BSD -extern void *malloc(); -#else -extern char *malloc(); -#endif - /* Most compilers could benefit from using the "register" storage class */ #if 1 # define REG register debian/patches/failsleep.patch0000644000000000000000000000156711773402601013614 0ustar diff '--exclude=debian' -ruN x/elvis-tiny-1.4.orig/tmp.c elvis-tiny-1.4/tmp.c --- x/elvis-tiny-1.4.orig/tmp.c 2012-06-29 19:22:09.285371591 +0000 +++ elvis-tiny-1.4/tmp.c 2012-06-29 17:54:18.000000000 +0000 @@ -76,7 +76,7 @@ /* The FAIL() macro prints an error message and then exits. */ -#define FAIL(why,arg) mode = MODE_EX; msg(why, arg); endwin(); exit(9) +#define FAIL(why,arg) mode = MODE_EX; msg(why, arg); sleep(1); endwin(); exit(9) /* This is the name of the temp file */ static char tmpname[80]; diff '--exclude=debian' -ruN x/elvis-tiny-1.4.orig/main.c elvis-tiny-1.4/main.c --- x/elvis-tiny-1.4.orig/main.c 2012-06-29 19:22:52.702106206 +0000 +++ elvis-tiny-1.4/main.c 2012-06-29 17:54:18.000000000 +0000 @@ -124,6 +124,7 @@ msg("Use the `virec` program to recover lost files"); endmsgs(); refresh(); + sleep(1); endwin(); exit(0); break; debian/patches/patch-fix-resize.diff0000644000000000000000000000162411773402575014647 0ustar * Use sigaction() instead of signal() for SIGWINCH, and do not set SA_RESTART. This way read() will return -1/EINTR and elvis will resize the screen. * Include for TIOCGWINSZ diff -ruN t/elvis-tiny-1.4/curses.c elvis-tiny-1.4/curses.c --- t/elvis-tiny-1.4/curses.c 2008-04-30 23:09:50.000000000 +0200 +++ elvis-tiny-1.4/curses.c 2008-04-30 23:28:49.000000000 +0200 @@ -26,6 +26,10 @@ # endif #endif +#ifdef __linux__ +# include +#endif + #if TOS # include #endif @@ -483,13 +487,20 @@ { int lines; int cols; +#ifdef SIGWINCH + struct sigaction sa; +#endif #ifdef TIOCGWINSZ struct winsize size; #endif #ifdef SIGWINCH /* reset the signal vector */ - signal(SIGWINCH, getsize); + if (signo == 0) { + memset(&sa, 0, sizeof(sa)); + sa.sa_handler = getsize; + sigaction(SIGWINCH, &sa, 0); + } #endif /* get the window size, one way or another. */ debian/changelog.upstream0000644000000000000000000000010611773365712012710 0ustar The elvis-tiny source code doesn't come with an upstream changelog. debian/wrapper.c0000644000000000000000000000301611773365712011026 0ustar /* * vi-wrapper Should be installed as /bin/vi. This program first * checks if /usr/bin/vi exists. If it does, it checks if * it isn't a link to /bin/vi, and executes it. * * If /usr/bin/vi isn't present it does the same for * /bin/elvis-tiny. * * Copyright 2000 Miquel van Smoorenburg miquels@cistron.nl * License: GPL v2 or later. * */ #include #include #include #include #include #include #define REALVI "/usr/bin/vi" #define TINYVI "/bin/elvis-tiny" #define WRAPVI "/bin/vi" /* * Avoid stdio - it saves a few hundred bytes, and so keeps the * size of the executable _just_ under 4096 bytes. */ #define err(x) write(2, x, sizeof(x) - 1) int main(int argc, char **argv) { struct stat real, tiny, wrap; char *r = NULL; int e; if (stat(WRAPVI, &wrap) != 0) { err("vi: wrapper should be installed as " WRAPVI "\n"); exit(1); } if (stat(REALVI, &real) == 0) { if (real.st_dev == wrap.st_dev && real.st_ino == wrap.st_ino) { err("vi: " REALVI " is the same as the wrapper in " WRAPVI "\n"); exit(1); } execv(REALVI, argv); r = REALVI; e = errno; } if (stat(TINYVI, &tiny) == 0) { if (tiny.st_dev == wrap.st_dev && tiny.st_ino == wrap.st_ino) { err("vi: " TINYVI " is the same as the wrapper in " WRAPVI "\n"); exit(1); } execv(TINYVI, argv); r = TINYVI; e = errno; } if (r) { errno = e; perror(r); exit(1); } err("vi: wrapper couldn't execute " REALVI " nor " TINYVI "\n"); return 1; } debian/source/0000755000000000000000000000000011773403144010472 5ustar debian/source/format0000644000000000000000000000001411773403144011700 0ustar 3.0 (quilt) debian/elvis-tiny.10000644000000000000000000000056011773365712011370 0ustar .TH ELVIS-TINY 1 "May 13, 1997" "" "Debian GNU/Linux Manual" .SH NAME elvis-tiny \- Tiny vi-compatible editor .SH DESCRIPTION Elvis-tiny is a very small vi-compatible editor with limited capabilities. If you want more features (and documentation), install its big brother \fBelvis\fP or any of the other vi clones such as \fBnvi\fP or \fPvim\fP. .SH "SEE ALSO" ae(1). debian/compat0000644000000000000000000000000211773403253010371 0ustar 8 debian/rules0000755000000000000000000000201111773527552010256 0ustar #! /usr/bin/make -f tmp = $(shell pwd)/debian/elvis-tiny ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) EXTRA_CFLAGS = -g endif %: dh $@ override_dh_auto_build: make -f Makefile.mix EXTRA_CFLAGS="$(EXTRA_CFLAGS)" $(CC) $(EXTRA_CFLAGS) -O2 -o wrapper debian/wrapper.c override_dh_auto_install: install -m 755 -d $(tmp)/bin install -m 755 elvis $(tmp)/bin/elvis-tiny install -m 755 wrapper $(tmp)/bin/vi override_dh_auto_clean: make -f Makefile.mix clobber override_dh_installchangelogs: dh_installchangelogs debian/changelog.upstream # We used to strip as much as possible to save a few bytes (it made # the vi wrapper fit in a 4K block on i386 - just) but it's probably # a bad idea to mess with ELF comments and notes. #override_dh_strip: # dh_strip #ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) # strip --remove-section=.comment --remove-section=.note $(tmp)/bin/vi # strip --remove-section=.comment --remove-section=.note $(tmp)/bin/elvis-tiny #endif override_dh_clean: dh_clean rm -f wrapper elvis debian/elvis-tiny.docs0000644000000000000000000000001311773404755012152 0ustar KNOWN.BUGS debian/copyright0000644000000000000000000000350111773413777011141 0ustar Copyright for elvis 1.4 (elvis-tiny) This file contains the copyright part from the original README, and a clarification by the author. Copyright (C) Steve Kirkendall 1991 ==================== original copyright =========================== Elvis is a clone of vi/ex, the standard UNIX editor. Elvis supports nearly all of the vi/ex commands, in both visual mode and colon mode. Elvis is freely redistributable, in either source form or executable form. There are no restrictions on how you may use it. Author: Steve Kirkendall E-mail: kirkenda@cs.pdx.edu Snail 14407 SW Teal Blvd. Apt.C Mail: Beaverton, OR 97005 Phone: (503) 643-6980 ==================== clarification ================================ From: Steve Kirkendall Reply-To: kirkenda@cs.pdx.edu To: Miquel van Smoorenburg Subject: Re: elvis 1.4 Message-ID: <3A21A76D.CE7C4D2@uswest.net> Date: Sun, 26 Nov 2000 16:14:37 -0800 Organization: Elvis References: <20001122144219.A6118@cistron.nl> Miquel van Smoorenburg wrote: > > Hello, > > I've packaged elvis 1.4 up as "elvis tiny" to have a small > vi clone for use on bootfloppies etc for the Debian/Linux distribution. > > The README says: > > Elvis is freely redistributable, in either source form or executable form. > There are no restrictions on how you may use it. > > Did you mean that it is allright to distribute modified versions > without any restrictions as well (I assume so, but someone filed > a bugreport against the elvis-tiny package claiming it wasn't > DFSG-free) Yes, modified versions can be freely redistributed. Elvis 2.0 was distributed with a slightly more restrictive license, which made some people uncomfortable; that's probably where the bug report came from. Elvis 2.1 and later are distributed under the Perl "Artistic" license. debian/elvis-tiny.postinst0000644000000000000000000000166611773416377013127 0ustar #! /bin/sh set -e case "$1" in configure) ;; abort-upgrade|abort-remove|abort-deconfigure) exit 0 ;; esac umask 022 # # elvis-tiny moved from /usr/bin/elvis-tiny to # /bin/elvis-tiny, so adjust symlink if nessecary # # We don't need to adjust the 'editor' alternative since # it didn't exist in packages before the move. # link= if [ -L /etc/alternatives/vi ] then link=`/bin/ls -ld /etc/alternatives/vi | sed -e 's/^.*-> //'` fi if [ "$link" = "/usr/bin/elvis-tiny" ] then ln -sf /bin/elvis-tiny /etc/alternatives/vi update-alternatives --auto vi fi # Alternative for /usr/bin/vi update-alternatives --install /usr/bin/vi vi /bin/elvis-tiny 10 \ --slave /usr/share/man/man1/vi.1.gz vi.1.gz \ /usr/share/man/man1/elvis-tiny.1.gz # Alternative for /usr/bin/editor update-alternatives --install /usr/bin/editor editor /bin/elvis-tiny 10 \ --slave /usr/share/man/man1/editor.1.gz editor.1.gz \ /usr/share/man/man1/elvis-tiny.1.gz debian/changelog0000644000000000000000000001563311773532472011063 0ustar elvis-tiny (1.4-23) unstable; urgency=low * convert to new source format * convert to debhelper * fix some more gcc warnings * link with -ltinfo instead of -lncurses * change maintainer email address to debian email address -- Miquel van Smoorenburg Sat, 30 Jun 2012 10:13:28 +0200 elvis-tiny (1.4-22) unstable; urgency=low * make window-resizing work (closes: #168231) * use sigsetjmp/siglongjmp so that jumping out of a signal handler sort of works (it's a bad idea anyway) (closes: #161734) -- Miquel van Smoorenburg Wed, 30 Apr 2008 23:05:37 +0200 elvis-tiny (1.4-21) unstable; urgency=low * Honour DEB_BUILD_OPTIONS debug and nostrip (closes: #436816) -- Miquel van Smoorenburg Sat, 19 Apr 2008 22:45:21 +0200 elvis-tiny (1.4-20) unstable; urgency=low * Fix overflow in command line processing (closes: #203258). Note that elvis-tiny is riddled with strcpy's and fixing all of them would be a major undertaking akin to a rewrite. * Disable CTRL-Z as elvis-tiny has no suspend support (closes: #136862, #206518) -- Miquel van Smoorenburg Sat, 26 Nov 2005 14:58:47 +0100 elvis-tiny (1.4-19) unstable; urgency=low * QA Group upload orphaning this package * debian/rules: invoke dpkg-gencontrol with -isp * debian/control: rephrase package description synopsis -- Andrew Pollock Wed, 5 Oct 2005 07:02:38 +1000 elvis-tiny (1.4-18.1) unstable; urgency=low * 0-day NMU from the QA meeting. * Correcting conflicting types for 'malloc' (closes: #258640) * Replacing "gcc" with "$(CC)" for being able to cross-compile (closes: #285295) * Removing obsolete code for /usr/doc support (closes: #254913) -- Axel Beckert Sun, 11 Sep 2005 02:08:26 +0200 elvis-tiny (1.4-18) unstable; urgency=low * Include string.h in tmp.c to solve prototype problem on 64-bit platforms (closes: #124028) * tmp.c: fix problem where a TAB expanded exactly at the right margin and screen drawing was wrong (closes: #79385) * Set LC_ALL=POSIX in debian/rules -- Miquel van Smoorenburg Wed, 23 Jan 2002 22:52:47 +0100 elvis-tiny (1.4-17) unstable; urgency=low * Remove empty /usr/doc directory from package (closes: #121549) -- Miquel van Smoorenburg Wed, 28 Nov 2001 17:13:37 +0100 elvis-tiny (1.4-16) unstable; urgency=high * Change arguments to ln -sf in postinst (closes: #100283,#112124) * Small adjustements for complete migration to termios instead of termio (closes: #106099) -- Miquel van Smoorenburg Fri, 5 Oct 2001 13:10:51 +0200 elvis-tiny (1.4-15) unstable; urgency=low * Make sure /etc/alternatives/vi also points to /bin/elvis-tiny and not /usr/bin/elvis-tiny (closes: #90094, #92633) -- Miquel van Smoorenburg Thu, 5 Apr 2001 17:56:50 +0200 elvis-tiny (1.4-14) unstable; urgency=low * Fix small bug in the range-segfault.patch patch (closes: #88119) -- Miquel van Smoorenburg Thu, 1 Mar 2001 17:21:09 +0100 elvis-tiny (1.4-13) unstable; urgency=low * Oops. Should go into unstable only, with urgency=low... -- Miquel van Smoorenburg Wed, 21 Feb 2001 14:07:11 +0100 elvis-tiny (1.4-12) stable unstable; urgency=high * Patch by David Douthitt to fix subsitition bug (closes: #73059) * Patch by David Douthitt to fix range bug (closes: #55407) * Move elvis-tiny to /bin (closes: #37571) * Install wrapper in /bin/vi that execs /usr/bin/vi if it is present and /bin/elvis-tiny otherwise (closes: #72889) * Install alternative for 'editor' (closes: #85318) -- Miquel van Smoorenburg Tue, 20 Feb 2001 14:08:19 +0100 elvis-tiny (1.4-11) stable unstable; urgency=high * The patch by Topi Miettinen to fix critical bug #74976 broke file recovery, but also the :w command. Re-engineered the patch so that the bug is fixed without any side-effects (closes: #77918) * Add explanation by the author to clear up copyright notice (closes: #72021) -- Miquel van Smoorenburg Tue, 28 Nov 2000 13:13:40 +0100 elvis-tiny (1.4-10) stable unstable; urgency=high * Close tempfile hole. This is a critical bug, since it can be exploited locally. Patch by Topi Miettinen Upload to both stable and unstable. (closes: #74976) * Check for files > 500000 bytes (closes: #44601) * There is no changelog file, say so (closes: #60003) * Runs fine in 80x30 for me (closes: #62720) * Compile warnings aren't bugs on old sources (closes: #62807) * Add Build-Depends (closes: #70311) * Fix update-alternatives call (closes: #71212) * Compile with gcc -fsigned-char (closes: #62807) -- Miquel van Smoorenburg Wed, 22 Nov 2000 15:04:54 +0100 elvis-tiny (1.4-9) frozen unstable; urgency=high * Add patch for Alpha (closes: #58672) -- Miquel van Smoorenburg Tue, 7 Mar 2000 23:43:04 +0100 elvis-tiny (1.4-8) unstable; urgency=high * Set SHELL=/bin/bash in debian/rules (closes: #54607) * MU this time (closes: #54146) * Move man and doc to /usr/share -- Miquel van Smoorenburg Fri, 14 Jan 2000 13:35:10 +0100 elvis-tiny (1.4-7.1) unstable; urgency=low * Non-maintainer upload during bug-squashing-party. * Recompilation with ncurses5. * Fixed rules-file to work with /bin/ash. -- Christian Kurz Sat, 8 Jan 2000 12:56:19 +0100 elvis-tiny (1.4-7) unstable; urgency=low * Link with ncurses4 -- Miquel van Smoorenburg Thu, 29 Oct 1998 19:14:40 +0100 elvis-tiny (1.4-6) unstable; urgency=low * Fixes bugs: #22773: elvis-tiny: incorrect manpage permissions -- Miquel van Smoorenburg Mon, 5 Oct 1998 13:00:37 +0200 elvis-tiny (1.4-5) unstable; urgency=low * Lintian fixes * Fixes bugs: #12284: elvis-tiny unable to display long lines. #14391: /usr/doc/$(PACKAGE)/copyright should not be compressed -- Miquel van Smoorenburg Sun, 22 Feb 1998 15:43:36 +0100 elvis-tiny (1.4-4) unstable; urgency=low * libc6 version -- Miquel van Smoorenburg Wed, 24 Sep 1997 14:05:38 +0200 elvis-tiny (1.4-3) frozen unstable; urgency=high * Corrected alternatives priority (0 -> 10). -- Miquel van Smoorenburg Sun, 1 Jun 1997 15:55:16 +0200 elvis-tiny (1.4-2) frozen unstable; urgency=high * Corrected alternatives priority (99 -> 0). -- Miquel van Smoorenburg Fri, 30 May 1997 14:10:28 +0200 elvis-tiny (1.4-1) unstable; urgency=low * Initial release of a tiny vi compatible editor. (it was uploaded to "Incoming" before with distribution=experimental but never got processed - would be nice if that actually worked.) -- Miquel van Smoorenburg Tue, 20 May 1997 14:38:24 +0200 debian/elvis-tiny.prerm0000644000000000000000000000033611773416403012350 0ustar #! /bin/sh set -e if [ "$1" = "remove" ] then update-alternatives --remove vi /usr/bin/elvis-tiny update-alternatives --remove vi /bin/elvis-tiny update-alternatives --remove editor /bin/elvis-tiny fi exit 0