From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: tfb@hurricane.OCF.Berkeley.EDU (Thomas F. Burdick) Newsgroups: gmane.emacs.help Subject: Re: Emacs as platform for the application Date: 19 Sep 2002 11:35:52 -0700 Organization: University of California, Berkeley Sender: help-gnu-emacs-admin@gnu.org Message-ID: References: NNTP-Posting-Host: localhost.gmane.org X-Trace: main.gmane.org 1032461180 13477 127.0.0.1 (19 Sep 2002 18:46:20 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Thu, 19 Sep 2002 18:46:20 +0000 (UTC) Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 17s6Je-0003VC-00 for ; Thu, 19 Sep 2002 20:46:18 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10) id 17s6Jd-0008NV-00; Thu, 19 Sep 2002 14:46:17 -0400 Original-Path: shelby.stanford.edu!nntp.stanford.edu!newsfeed.stanford.edu!newsfeed.berkeley.edu!ucberkeley!agate.berkeley.edu!agate!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 52 Original-NNTP-Posting-Host: hurricane.ocf.berkeley.edu Original-X-Trace: agate.berkeley.edu 1032460553 53538 192.58.221.201 (19 Sep 2002 18:35:53 GMT) Original-X-Complaints-To: usenet@agate.berkeley.edu Original-NNTP-Posting-Date: Thu, 19 Sep 2002 18:35:53 +0000 (UTC) X-Newsreader: Gnus v5.7/Emacs 20.7 Original-Xref: nntp.stanford.edu gnu.emacs.help:105082 Original-To: help-gnu-emacs@gnu.org Errors-To: help-gnu-emacs-admin@gnu.org X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.help:1636 X-Report-Spam: http://spam.gmane.org/gmane.emacs.help:1636 googleartist@yahoo.com (Artist) writes: > Hi, > I would like to deploy emacs based application. > We have several users and I would like to put together the basic > application and then add the functionalities as per need base. > This is what I have thought: > To put emacs on the server and have the users running that program > with functions written let's say in perl accessed by keybinding. > Now my users are not emacs aware and I would like to suppress all the > key binding (except of course, something like self-insert-command) > other than what's absolutely required plus binding which can provide > functions written by me. I'm not positive I understand your question, but I think I do, and I've done this before: you want to use Emacs as a programming environment for making a somewhat-editor-like application that's not actually an editor, and you don't want your end users to need to know that it's Emacs underneath. To do this, you want to build your own Emacs; the elisp manual contains an introduction to this. What you have temacs, load in the ordinary parts of elisp that your application is going to use (or all of it, to be safe), and your application code. When dumping the full emacs, you can ctonrol what happens at startup. Have startup start up your application, and then you control all the keybindings, menu items, etc., in the initial buffer. If you don't bind ordinary functions like execute-extended-command, find-file, etc., then your users can't call them. You get the normal Emacs event loop, the mode line, minibuffer, and menu bar, but apart from that, you can control things to the extent that your users don't have to have any idea they're using Emacs[*]. If you're going to distribute this application (internal "distribution" in an organization doesn't count), you should look into the licensing issues, as I think it would fall under the GPL (whereas if you just used a standard Emacs as your environment, you could distribute your application seperately under whatever terms you wanted). [*] Of course, you should still credit Emacs somewhere, like an About box that says "this application is built on GNU Emacs" -- but you can control the application to the extent that your users won't need to realize this. -- /|_ .-----------------------. ,' .\ / | No to Imperialist war | ,--' _,' | Wage class war! | / / `-----------------------' ( -. | | ) | (`-. '--.) `. )----'