|
|
1.1 ! root 1: ;; From [email protected] Fri Aug 29 12:49:28 1986 ! 2: ;; Path: mit-prep!mit-hermes!mit-eddie!genrad!panda!husc6!seismo!mnetor!yetti!mike ! 3: ;; From: [email protected] (Mike Clarkson ) ! 4: ;; Newsgroups: net.sources ! 5: ;; Subject: Gnu Emacs EDT Emulation - Introduction - 1/3 ! 6: ;; Date: 27 Aug 86 23:30:33 GMT ! 7: ;; Reply-To: [email protected] (Mike Clarkson ) ! 8: ;; Organization: York University Computer Science ! 9: ;; ! 10: ;; Here's my EDT emulation for GNU Emacs that is based on the EDT emulation ! 11: ;; for Gosling's Emacs sent out on the net a couple of years ago by Lynn Olson ! 12: ;; at Tektronics. This emulation was widely distributed as the file edt.ml ! 13: ;; in the maclib directory of most Emacs distributions. ! 14: ;; ! 15: ;; My emulation consists of two files: edt.el and edtdoc.el. The edtdoc.el file ! 16: ;; is the documentation, that you can add to the beginning of edt.el if you ! 17: ;; want. I have split them because I have been loading the edt.el file a lot ! 18: ;; during debugging. ! 19: ;; ! 20: ;; I will gladly take all criticisms and complaints to heart, and will fix ! 21: ;; what bugs I can find. As this is my first elisp hack, you may have to ! 22: ;; root out a few nasties hidden in the code. Please let me know if you ! 23: ;; find any (sorry, ! 24: ;; no rewards :-). I would also be interested if there are better, ! 25: ;; cleaner, faster ways of doing some of the things that I have done. ! 26: ;; ! 27: ;; You must understand some design considerations that I had in mind. ! 28: ;; The intention was not really to "emulate" EDT, but rather to take advantage ! 29: ;; of the years of EDT experience that had accumulated in my right hand, ! 30: ;; while at the same time taking advantage of EMACS. ! 31: ;; ! 32: ;; Some major differences are: ! 33: ;; ! 34: ;; HELP is describe-key; ! 35: ;; GOLD/HELP is describe-function; ! 36: ;; FIND is isearch-forward/backward; ! 37: ;; GOLD/HELP is occur-menu, which finds all occurrences of a search string; ! 38: ;; ENTER is other-window; ! 39: ;; SUBS is subprocess-command. Note that you will have to change this ! 40: ;; yourself to shell if you are running Un*x; ! 41: ;; PAGE is next-paragraph, because that's more useful than page. ! 42: ;; SPECINS is copy-to-killring; ! 43: ;; GOLD/GOLD is mark-section-wisely, which is my command to mark the ! 44: ;; section in a manner consistent with the major-mode. It ! 45: ;; uses mark-defun for emacs-lisp, lisp, mark-c-function for C, ! 46: ;; and mark-paragraph for other modes. ! 47: ;; ! 48: ;; ! 49: ;; Some subtle differences are: ! 50: ;; ! 51: ;; APPEND is append-to-buffer. One doesn't append to the kill ring much ! 52: ;; and SPECINS is now copy-to-killring; ! 53: ;; REPLACE is replace-regexp; ! 54: ;; FILL is fill-region-wisely, which uses indent-region for C, lisp ! 55: ;; emacs-lisp, and fill-region for others. It asks if you really ! 56: ;; want to fill-region in TeX-mode, because I find this to be ! 57: ;; very dangerous. ! 58: ;; CHNGCASE is case-flip for the character under the cursor only. ! 59: ;; I felt that case-flip region is unlikely, as usually you ! 60: ;; upcase-region or downcase region. Also, unlike EDT it ! 61: ;; is independent of the direction you are going, as that ! 62: ;; drives me nuts. ! 63: ;; ! 64: ;; I use Emacs definition of what a word is. This is considerably different from ! 65: ;; what EDT thinks a word is. This is not good for dyed-in-the-wool EDT fans, ! 66: ;; but is probably preferable for experienced Emacs users. My assumption is that ! 67: ;; the former are a dying breed now that GNU Emacs has made it to VMS, but let me ! 68: ;; know how you feel. Also, when you undelete a word it leave the point at the ! 69: ;; end of the undeleted text, rather than the beginning. I might change this ! 70: ;; as I'm not sure if I like this or not. I'm also not sure if I want it to ! 71: ;; set the mark each time you delete a character or word. ! 72: ;; ! 73: ;; Backspace does not invoke beginning-of-line, because ^H is the help prefix, ! 74: ;; and I felt it should be left as such. You can change this if you like. ! 75: ;; ! 76: ;; The ADVANCE and BACKUP keys do not work as terminators for forward or ! 77: ;; backward searches. In Emacs, all search strings are terminated by return. ! 78: ;; The searches will however go forward or backward depending on your current ! 79: ;; direction. Also, when you change directions, the mode line will not be ! 80: ;; updated immediately, but only when you next execute an emacs function. ! 81: ;; Personally, I consider this to be a bug, not a feature. ! 82: ;; ! 83: ;; This should also work with VT-2xx's, though I haven't tested it extensively ! 84: ;; on those terminals. It assumes that the CSI-map of vt_200.el has been defined. ! 85: ;; ! 86: ;; There are also a whole bunch of GOLD letter, and GOLD character bindings: ! 87: ;; look at edtdoc.el for them, or better still, look at the edt.el lisp code, ! 88: ;; because after all, in the true Lisp tradition, the source code is *assumed* ! 89: ;; to be self-documenting :-) ! 90: ;; ! 91: ;; Mike Clarkson, ...!allegra \ BITNET: mike@YUYETTI or ! 92: ;; CRESS, York University, ...!decvax \ SYMALG@YUSOL ! 93: ;; 4700 Keele Street, ...!ihnp4 > !utzoo!yetti!mike ! 94: ;; North York, Ontario, ...!linus / ! 95: ;; CANADA M3J 1P3. ...!watmath / Phone: +1 (416) 736-2100 x 7767 ! 96: ;; ! 97: ;; Note that I am not on ARPA, and must gateway any ARPA mail through BITNET or ! 98: ;; UUCP. If you have a UUCP or BITNET address please use it for communication ! 99: ;; so that I can reach you directly. If you have both, the BITNET address ! 100: ;; is preferred. ! 101: ;; -- ! 102: ;; Mike Clarkson, ...!allegra \ BITNET: mike@YUYETTI or ! 103: ;; CRESS, York University, ...!decvax \ SYMALG@YUSOL ! 104: ;; 4700 Keele Street, ...!ihnp4 > !utzoo!yetti!mike ! 105: ;; North York, Ontario, ...!linus / ! 106: ;; CANADA M3J 1P3. ...!watmath / Phone: +1 (416) 737-2100 x 7767
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.