sjk@sri-spam (05/01/85)
From: sjk@sri-spam [this message may not be of interest to some of the "info-*" readers] Note that many elisp modules have documentation strings with default key binding assumptions instead of dynamically determining the correct binding. For example, in this excerpt from startup.el: (defun command-line-1 (args) . . . (insert ", Copyright (C) 1985 by Richard M. Stallman. It is freeware: you may copy and redistribute it under certain conditions. Type C-h C-c to see those conditions. Type C-h C-d for information on getting copies from me.\n") (message "Type Control-h for help; Control-x u to undo changes") . . .) The point here is that if you start changing defaults, be sure to change any references in the internal documentation, preferably in a generalized manner. I have been thinking about fixing other modules that are brain damaged this way, especially in output from "describe-mode", but am not sure of a good way of doing it. Suggestions?? By the way, is there some way other than "etags" to determine which elisp module a function is defined in? I often find a bug in a function and don't know how to easily find its source file. Should this information be internally available to Emacs and, if so, how? Lastly, is there a way to determine which functions can be invoked with "M-X <function>" and which must be invoked with "eval-expression" (or an equivalent)? Does use of the "interactive" call in a function determine this property? Sometimes I run "describe-function" on something that catches my eye only to find out it can't be interactively invoked. Perhaps <help>-d and <help>-k could distinguish this information? Any comments are appreciated!! scott PS - Lynn... the "Tymnet" domain in "figmo@tymix.Tymnet" is not recognized by most mailers; you may want to add a valid "reply-to" field to your messages.
mikem@wisc-stat.arpa (05/01/85)
From: Mike Meyer <mikem@wisc-stat.arpa> larus%ucbdali@berkeley laso has a version of MHE for gnu-emacs. You might waht to get together with him to save some effort. --Mike
crl@purdue-newton (05/07/85)
From: crl@purdue-newton (I am not a designer or maintainer of GNU EMACS, although I have been recently working heavily with it, and understand most of it. Therefore, my comments may not agree with those of the authors.) There is currently not a very good way around the problem with the help strings regarding key bindings. The best way around this is to use some sort of escape mechanism in the documentation strings ala ITS EMACS. The way this works is as follows. If you want to refer to a function, say "save-buffer", you have a documentation string such as: "To save the changes, type \\[save-buffer\\]" The help commands then key on the \\[ \\] strings and replace it with whatever is currently bound like "^X^S" or if not bound "M-x save-buffer". The more I think about it, the easier it sounds. Maybe I'll take a crack at it sometime soon. I have found that etags does not work on .el files. I think that this is due to not recognizing the .el extension. I'll have to look at it sometime. It is indeed the (interactive) call that makes a function interactively callable, i.e., by M-x or keystroke. (commandp FUNCTION) is t if so, and indeed Help could show this somehow. As a side note, I am currently almost finished rewriting the MHI package from Gosling Mocklisp that interacts with the MH ver 5 Mail System. I'll turn it over to everyone "real soon now". Charles LaBrec crl @ purdue-newton.ARPA (an EMACS hacker from way back who still fondly remembers TECO)