|
|
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.