lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Emacs mode indentation


From: Chris Jackson
Subject: Re: Emacs mode indentation
Date: Thu, 24 Jan 2002 11:47:18 +0000
User-agent: Mutt/1.3.25i

On Thu, Jan 24, 2002 at 11:20:42AM +0100, Jan Nieuwenhuizen wrote:
> Chris Jackson <address@hidden> writes:
> 
> > OK - The code below is a first attempt at indentation for lilypond-mode.
> 
> Wow.  That first attempt seems to work quite well, at first try!

Excellent. 

> > The problem with the accents / phrase marks is that the standard Emacs
> > syntax table is not able to deal with regexps as parenthesis-pairs, just
> > single characters.
> 
> Ouch.  Have you tried asking emacs gurus (eg address@hidden or
> address@hidden)?

Not directly, but as far as I can tell from browsing mailinglists this
is a recognised limitation. I'll investigate and try to find some other
obscure languages that have characters meaning different things in
different contexts...

> > As a result, this code is *very slow*, especially for indenting big
> > blocks of text at once at the bottom of a source file... But it's OK for
> > indenting single lines as you type. 
> 
> I must say that the speed is not too bad.  On my fairly old G3/233MHz,
> it feels comparable with c-mode's indenting speed.

The problem comes when I have largish source files, looking like, say,

thing = \notes {
(20 lines) 
}

nextthing = \notes {
(20 lines) 
}

... (about 10 of these)

and I select the block at the bottom of the file and run indent-region,
in which case it can take over a minute (on my Athlon 1.3...), whereas 
indenting the equivalent amount of C code would be instant. Not to
mention trying to indent the whole file at once...

> > +;;; some code is taken from ESS (Emacs Speaks Statistics) S-mode by 
> > A.J.Rossini <address@hidden>
> 
> (that's gpl'd right?)

Yep it's GPL. 

> Oh, and could you please send a ChangeLog entry?


--- lilypond-1.5.28/ChangeLog   Thu Jan 24 10:40:55 2002
+++ lilypond-1.5.28-new/ChangeLog       Thu Jan 24 10:41:17 2002
@@ -1,3 +1,14 @@
+2002-1-24 Chris Jackson <address@hidden>
+
+       * lilypond-indent.el: New file providing indentation for
+       parenthesised blocks of lilypond code in Emacs
+       
+       * lilypond-font-lock.el: Changes to the syntax table to facilitate
+       indentation and handle block comments properly. Distinguish
+       accents from close-brackets in fontification.
+
+       * lilypond-mode.el: LilyPond-indent-command set appropriately.
+               
 2001-12-29  Han-Wen  <address@hidden>
        
        * VERSION: 1.5.28 released


thanks,
-- 
chris



reply via email to

[Prev in Thread] Current Thread [Next in Thread]