🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.modula2
Article #182

Re: EMACS Binding for Modula-2

#182
From: Mitchell Wyle
Date: Mon, 17 Jul 1989 13:52
65 lines
3931 bytes
In article <54474@tut.cis.ohio-state.edu> Doug Kerr <doug@cis.ohio-state.edu> writes:
>In article <8907062021.AA13058@thinman.ctc.contel.com> Modula2 List <INFO-M2%UCF1VM.bitnet@jade.berkeley.edu> writes:
>>Does anyone have a set of macros for a syntax directed editor (or at least a
>>set of skeleton templates) for Modula-2 and Emacs that they would like to
>>share.

>GNU Emacs contains a Modula-2 editing support package.

...and it ain't so good.  I watched the emacs fanatics use it and explain
how great it is before porting professor Gutknecht's sara macro set to vi. 
The "electric modula2" emacs macro set which comes with gnu has the
following shortcomings:

1.  It is not orthogonal.  Some macros are 4 keystrokes, others are 2,
    still others are command-meta-shift-control-left-toe-under-up 7.

2.  It saves an average of 5 keystrokes a pop, not 25 (like mine)

3.  It's in emacs (blech) and if your box doesn't have emacs you're sol.
    (that's "sh*t out of luck" for you non anglo-people)

Here (once again) is Mitch's port of Gutknecht's sara modula-2 macro
package in vi map macros:

begin 644 elec.m2.exrc
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
H:6YG(BD[(%=R:71E26YT*'9A<BD[(%=R:71E3&X[%@T6&VMW=V-W"B@B
 
end
-- 
-Mitchell F. Wyle
Institut fuer Informationssysteme         wyle@inf.ethz.ch 
ETH Zentrum / 8092 Zurich, Switzerland    +41 1 256 5237
Technical Details
Message-ID: <332@ethz-inf.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!cs.utexas.edu!uunet!mcvax!cernvax!ethz!ethz-inf!wyle
References: <8907062021.AA13058@thinman.ctc.contel.com> <54474@tut.cis.ohio-state.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!cs.utexas.edu!uunet!mcvax!cernvax!ethz!ethz-inf!wyle
From: wyle@inf.ethz.ch (Mitchell Wyle)
Newsgroups: comp.lang.modula2
Subject: Re: EMACS Binding for Modula-2
Keywords: vi does it better
Message-ID: <332@ethz-inf.UUCP>
Date: 17 Jul 89 13:52:55 GMT
References: <8907062021.AA13058@thinman.ctc.contel.com> <54474@tut.cis.ohio-state.edu>
Reply-To: wyle@inf.ethz.ch
Organization: ETH Zurich
Lines: 65