From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: kifer@cs.sunysb.edu (Michael Kifer) Newsgroups: gmane.emacs.help Subject: Re: need advice about fixing up my new vimpact-mode, a Vim emulation mode based on viper-mode Date: Mon, 19 Feb 2007 16:59:12 -0500 Message-ID: <9011.1171922352@cs.sunysb.edu> References: NNTP-Posting-Host: lo.gmane.org X-Trace: sea.gmane.org 1171988795 8313 80.91.229.12 (20 Feb 2007 16:26:35 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 20 Feb 2007 16:26:35 +0000 (UTC) Cc: help-gnu-emacs@gnu.org To: "Jason Spiro" Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Tue Feb 20 17:26:20 2007 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1HJXok-0000H6-08 for geh-help-gnu-emacs@m.gmane.org; Tue, 20 Feb 2007 17:26:17 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HJXoc-00029O-EP for geh-help-gnu-emacs@m.gmane.org; Tue, 20 Feb 2007 11:26:06 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HJREs-0004BL-Up for help-gnu-emacs@gnu.org; Tue, 20 Feb 2007 04:24:47 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HJREs-0004AG-11 for help-gnu-emacs@gnu.org; Tue, 20 Feb 2007 04:24:46 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HJREr-0004A4-Nz for help-gnu-emacs@gnu.org; Tue, 20 Feb 2007 04:24:45 -0500 Original-Received: from sbcs.cs.sunysb.edu ([130.245.1.15]) by monty-python.gnu.org with esmtp (Exim 4.52) id 1HJREr-0003NH-Cg for help-gnu-emacs@gnu.org; Tue, 20 Feb 2007 04:24:45 -0500 Original-Received: from localhost (compserv1 [130.245.1.44]) by sbcs.cs.sunysb.edu (8.13.6/8.12.11) with ESMTP id l1K9OaTr018255; Tue, 20 Feb 2007 04:24:37 -0500 (EST) Original-Received: from [127.0.0.1]:10025 (localhost [127.0.0.1]) by localhost (Postfix) with ESMTP id 3E1B274060; Mon, 19 Feb 2007 16:59:12 -0500 (EST) In-Reply-To: Message from "Jason Spiro" of "Mon, 19 Feb 2007 05:37:51 EST." X-Mailer: MH-E 8.0.3; nmh 1.1; GNU Emacs 22.0.93 X-detected-kernel: Inktomi crawler X-Mailman-Approved-At: Tue, 20 Feb 2007 11:25:45 -0500 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:41355 Archived-At: "Jason Spiro" writes: > > Hi help-gnu-emacs@gnu.org readers, > > I have created a mode called vimpact-mode, a Vim emulation mode based > on viper-mode. It is based mainly on snippets of code from around the > Web. The pre-alpha is at: > > http://www.jspiro.com/files/sw/vimpact-mode/vimpact-mode-0.0.1.el > > I now have four questions. > > Vimpact-mode is currently a major mode; that's bad. (It uses > define-derived-mode, which unfortunately lets me make major modes > only.) I want to make it into a minor mode, but I am not sure if I > should make it a derivative of viper-mode or if I should fork the > viper elisp files and distribute my mode's code. Yes, for an editor emulator, I think, a major mode is close to unacceptable. Viper used to be a major mode long time ago and there were too many usability problems with that. Basically, too much of emacs functionality is shut out by such a major mode. > Here are my design goals: > > * I plan for all all viper and vimpact functions and customizable > variables to have the same prefix, "viper-". I don't want some to > begin with "viper-" and some to begin with "vimpact-". That'd be > confusing. > > Question 1: Do you think I am right: is my way better than the other > option of having a mix of prefixes? I think it is not acceptable to use the same prefix as some other package unless your package can be logically considered an extension of that other package. Even then it might be better to use a different prefix. > * I'd prefer vimpact to be an add-on to viper, not a fork of it, since > I want vimpact to contain only vim-derived features, not all-new ones. Yes. In fact, why can't it be just another viper keymap? > Question 2: Do you think I am right about my add-on idea? Or would > it be better if all or most of the vimpact-mode changes could somehow > be merged into viper-mode (perhaps I could do it)? Eventually maybe. I haven't used vim extensively for a long time, but what kind of essential functionality are you planning to add? > Question 3: How much time would it take me, a mediocre elisp coder, > to make vimpact into a proper minor mode that starts up viper-mode > then adds the vimpact customizations (the add-on idea from before)? > How much time would it take me to merge the vimpact-mode changes into > the viper source code? Here is an algorithm to measure the time: 1. Start by implementing exactly 1/2 of the vimpact-mode functionality. 2. Carefully measure the time it took you to do this. 3. Multiply that amount by 2 (that is number "two"). 4. Add 20% to the result to cover various eventualities. :-) > Question 4: Considering that I am an elisp newbie, is anyone willing > to do the work themselves? :-) You then would be the maintainer of > vimpact-mode. :-) cheers --michael > Thanks in advance, > Jason Spiro > > -- > Jason Spiro: computer consulting with a smile. > I also provide training and spyware removal services for homes and businesses. > Call or email for a FREE 5-minute consultation. Satisfaction guaranteed. > +1 (416) 781-5938 / Email: info@jspiro.com / MSN: jasonspiro@hotmail.com >