Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!cmcl2!husc6!mit-eddie!rutgers!clyde!cbatt!ihnp4!inuxc!pur-ee!j.cc.purdue.edu!i.cc.purdue.edu!arthur.cs.purdue.edu!narten From: narten@arthur.cs.purdue.edu (Thomas Narten) Newsgroups: comp.emacs Subject: need (serious) documentation on writing packages Message-ID: <844@arthur.cs.purdue.edu> Date: Mon, 19-Jan-87 10:11:14 EST Article-I.D.: arthur.844 Posted: Mon Jan 19 10:11:14 1987 Date-Received: Tue, 20-Jan-87 20:31:43 EST Organization: Department of Computer Science, Purdue University Lines: 37 I have recently switched from gosmacs to gnumacs, and I have had much trouble porting some of my mlisp packages to run under gnumacs. The main problem I have had is that I have no documentation on writing packages or detailed explanations of what primitives there are and what they do. I have looked at several packages that come with Gnumacs, but am still frustrated. I have the "GNU Emacs Manual", fifth edition, version 18, October 86. Unfortunately it is geared toward novice users and its explanations stick pretty much with how to use existing packages. I find the explanation on specific commands to be insufficient. Here are some of the things I need to know. 1) What are the basic primitives (i.e. builtin, from which all others are built), and what exactly do they do? The explanations given in "GNU Emacs Manual" are in general too simple and do not give concise detailed definitions of what the functions do. In addition, there are many functions that are not described here, and no distinction is made between functions that are basic primitive and those that are lisp functions. 2) Is there a recursive-edit that follows that of gosmacs? In particular, I want to have a C mode where I can enter comment-mode, during which newlines are mapped to "\n * " for instance, whereas normally they map to newline and indent. Furthermore, I want to be able to enter and exit this mode without explicitely saving keymaps (or worse--specific key bindings) on entry and restoring them on exit. In gosmacs, recursive-edit save the current bindings restoring them on exit. This allows one to enter a new mode, rebind keys at will knowing that the original bindings will be restored on exit. I have looked at text-mode and c-mode, but haven't been able to find what I want. 3) Has someone written anything up on how to write packages? If so, how can it be attained? I would be surprised to learn that I am the first one to have trouble writing packages. -- Thomas Narten narten@cs.purdue.EDU or {ihnp4, allegra}!purdue!narten