comp.lang.ada
 help / color / mirror / Atom feed
* Re: Ada mode for emacs
@ 1993-09-08 22:19 munck
  0 siblings, 0 replies; 32+ messages in thread
From: munck @ 1993-09-08 22:19 UTC (permalink / raw)


In INFO-ADA Digest V93 #58, Rolf Ebert <ebert@enpc.fr> said:

> I don't want to start an editor flame war, but the best editor (IMHO)
> that I've ever seen or used is GNU-Emacs. ... hilight package for Ada
> which puts keywords in black-bold, comments in red-italic, ...
> ... full featured Ada mode for Emacs with templates, automatic
> indentation, online LRM and some other goodies ...

Along with that, I'd recommend the "hyperbole" hypertext package -- also
an emacs extension -- from wilma.cs.brown.edu:pub/hyperbole.  This will
allow you to structure your source code, documentation, tests, design
documents, requirements documents, etc. as a hypertext with links from
one to another.  Possible uses:

 - trace forward and backward from requirements to design to code to test

 - click on an identifier in the code and see its definition or
   references to it in the documentation.

 - structure documentation like an on-line HELP system, with point-and-
   click indices, cross-references, etc.

 - call up graphic editors to see requirements or design diagrams.

emacs and hyperbole have quite a bit of support for invoking programs; I
wonder if we could integrate GNAT with them?

Bob Munck

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Ada Mode for Emacs
@ 2002-06-09  0:26 chris.danx
  2002-06-09  2:34 ` Jeremy
                   ` (3 more replies)
  0 siblings, 4 replies; 32+ messages in thread
From: chris.danx @ 2002-06-09  0:26 UTC (permalink / raw)


Hi,

I'm having a spot of bother with Emacs and since I don't know if it's ada
mode specific I thought I'd ask here rather than gnu.emacs.help (there are
ppl here who use emacs IIRC).  The problem is that when TAB is pressed it
won't indent further than the previous line, and won't allow lines to be
indented of my free will (indentations can be decreased but not increased).

I did some digging and found an option

Emacs->Editing->Indent->Tab Always Indent

which controls the global behaviour.  This is non-nil and works for non-Ada
files.  I haven't tried editing files for other languages, so I don't know
if this is Ada mode specific.  Does Ada mode override this setting, or is it
a more general programming setting?  I've tried fiddling with the Ada mode
settings a little, but to no avail.  Also looked through most of the
customisation settings, but might have missed it.

This is most annoying since it doesn't allow information to be formatted in
a neat way, comments in particular:

e.g.

-- author:        Bob
-- date:          7th June 2002
-- last modified: 7th June 2002


The alternative emacs is currenlty imposing just looks silly.  Any ideas?


Chris.








^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-09  0:26 Ada Mode for Emacs chris.danx
@ 2002-06-09  2:34 ` Jeremy
  2002-06-09  5:19   ` David Marceau
  2002-06-09 13:05   ` chris.danx
  2002-06-09 11:08 ` Simon Wright
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 32+ messages in thread
From: Jeremy @ 2002-06-09  2:34 UTC (permalink / raw)


Your apt to start a war (or maybe I am) talking about editors, but
Emacs is the best for Ada!

You need to download the Ada mode for Emacs. It can be found at:

http://libre.act-europe.fr/

Once you have this, Emacs will do all the formatting for you,
perfectly! Places that you want to format with comments such as:

Put_Line ("Short"); -- Just demo
Put_Line ("Much longer than prev line"); -- Long

your right, tab will not indent. You will have to use your
space bar, but this is better because a space is always a space
no matter what your editor or platform, therefore your comments
will always align.

Once you get the mode, remove the Always Indent feature you
enabled and watch Emacs do what it's best at.

Jeremy

On Sat, 08 Jun 2002 20:26:39 -0400, chris.danx wrote:

> Hi,
> 
> I'm having a spot of bother with Emacs and since I don't know if it's
> ada mode specific I thought I'd ask here rather than gnu.emacs.help
> (there are ppl here who use emacs IIRC).  The problem is that when TAB
> is pressed it won't indent further than the previous line, and won't
> allow lines to be indented of my free will (indentations can be
> decreased but not increased).
> 
> I did some digging and found an option
> 
> Emacs->Editing->Indent->Tab Always Indent
> 
> which controls the global behaviour.  This is non-nil and works for
> non-Ada files.  I haven't tried editing files for other languages, so I
> don't know if this is Ada mode specific.  Does Ada mode override this
> setting, or is it a more general programming setting?  I've tried
> fiddling with the Ada mode settings a little, but to no avail.  Also
> looked through most of the customisation settings, but might have missed
> it.
> 
> This is most annoying since it doesn't allow information to be formatted
> in a neat way, comments in particular:
> 
> e.g.
> 
> -- author:        Bob
> -- date:          7th June 2002
> -- last modified: 7th June 2002
> 
> 
> The alternative emacs is currenlty imposing just looks silly.  Any
> ideas?
> 
> 
> Chris.



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-09  2:34 ` Jeremy
@ 2002-06-09  5:19   ` David Marceau
  2002-06-09  7:08     ` [OT] " Pascal Obry
  2002-06-11  9:12     ` Frode Tenneboe
  2002-06-09 13:05   ` chris.danx
  1 sibling, 2 replies; 32+ messages in thread
From: David Marceau @ 2002-06-09  5:19 UTC (permalink / raw)


Jeremy wrote:
> Emacs is the best for Ada!

Someone once said: "Great minds think alike" :)

I'm not saying I have a great mind but I'm with ya :)

My favourite Emacs features:
----------------------------
-integrated make/context-sensitive compiler error output opening up the
buffer with the selected compiler error
-the best global multi-file search and replace system using tags files
-pretty formatting
-beautiful two-up/four-up postscript printing
-context-sensitive word completion
-elisp macros/elisp macro debugger
-multi-buffer 
-multi-window
-multi-level undo
-multi-clipboard for pasting any previous copy cut
-the best bookmark facility ever to date
-the built-in info facility(the only thing missing is a smarter info
search engine facility dare I say � la old MS-DevNet 1992 gui search
facility).

Dream emacs features:
---------------------
UML/round-trip engineering � la Rational Rose from within emacs.  
IMHO UML diagrams are very productive for team-communication.
It would be interesting to have some fashion to represent the
interaction/sequence/fsm... inside the actual source code instead of
having
to have a separate model files as necessary with products such as
Rational Rose.
Also, it would be interesting to see a console-based character gui for
representing/editing uml diagrams and generating ada-source.
Obviously this would imply once finished doing your uml design, you
could regenerate your ada-source 
and generate high-quality postscript uml diagrams and documentation.
IMHO, and correct me if I am wrong, the Rational Rose documentation
generator is still not the ideal
since actual diagrams are pasted as contents into the MS-WORD documents.
What this means is every time you change the model, you need to
regenerate the entire WORD document which could take very long for large
models.
IMHO the proposed solution would use a different .ps file for every
different diagram and then checking the DTG of the source file � la make
against the actual UML diagram/document to build would yield a more
efficient solution.  That solution blasts away the COM/OLE moniker
necessity IMHO 
which Rose doesn't use anyways for its UML diagrams.  Instead of using
DCOM/OLE monikers or pasted METAFILES(Rose does this), cvs ssh/nfs
mounted file systems do the trick even if the file system is remote. 
That blows away most of the complexity of using DCOM/OLE :)

All-in-all gnat Ada-emacs is where I am most happy developing stuff
after having done some ada/java/c++/c on different os's and different
machines.

Sant� bonheur,
David Marceau



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [OT] Ada Mode for Emacs
  2002-06-09  5:19   ` David Marceau
@ 2002-06-09  7:08     ` Pascal Obry
  2002-06-09 10:35       ` Preben Randhol
  2002-06-11  9:12     ` Frode Tenneboe
  1 sibling, 1 reply; 32+ messages in thread
From: Pascal Obry @ 2002-06-09  7:08 UTC (permalink / raw)



David Marceau <davidmarceau@sympatico.ca> writes:

> Jeremy wrote:
> > Emacs is the best for Ada!
> 
> Someone once said: "Great minds think alike" :)
> 
> I'm not saying I have a great mind but I'm with ya :)
> 
> My favourite Emacs features:
> ----------------------------
> -integrated make/context-sensitive compiler error output opening up the
> buffer with the selected compiler error
> -the best global multi-file search and replace system using tags files
> -pretty formatting
> -beautiful two-up/four-up postscript printing
> -context-sensitive word completion
> -elisp macros/elisp macro debugger
> -multi-buffer 
> -multi-window
> -multi-level undo
> -multi-clipboard for pasting any previous copy cut
> -the best bookmark facility ever to date
> -the built-in info facility(the only thing missing is a smarter info
> search engine facility dare I say � la old MS-DevNet 1992 gui search
> facility).

And 
- remote editing (ange-ftp)
- edit directly content of .tar, .tar.gz and .tar.bz2.
- read mail
- read news
- shell (far better than the standard Windows shell)
- keep session (restart Emacs and it open all buffers and place the cursor
  at the right position)
- integrated VC + PCL-CVS (version control at the same level as dired mode)
- search/replace in multiple files
- hightly configurable
- ...

I know that a lot of editors does part of that, but I do not know another
editor that support _all_ of these features.

This is of course completely off topic :)

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [OT] Ada Mode for Emacs
  2002-06-09  7:08     ` [OT] " Pascal Obry
@ 2002-06-09 10:35       ` Preben Randhol
  2002-06-09 10:46         ` Pascal Obry
  2002-06-09 16:35         ` Darren New
  0 siblings, 2 replies; 32+ messages in thread
From: Preben Randhol @ 2002-06-09 10:35 UTC (permalink / raw)


On 09 Jun 2002 09:08:10 +0200, Pascal Obry wrote:
> 
> I know that a lot of editors does part of that, but I do not know another
> editor that support _all_ of these features.

Vim except for elisp of course.

Preben



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [OT] Ada Mode for Emacs
  2002-06-09 10:35       ` Preben Randhol
@ 2002-06-09 10:46         ` Pascal Obry
  2002-06-09 16:35         ` Darren New
  1 sibling, 0 replies; 32+ messages in thread
From: Pascal Obry @ 2002-06-09 10:46 UTC (permalink / raw)



Preben Randhol <randhol+abuse@pvv.org> writes:

> On 09 Jun 2002 09:08:10 +0200, Pascal Obry wrote:
> > 
> > I know that a lot of editors does part of that, but I do not know another
> > editor that support _all_ of these features.
> 
> Vim except for elisp of course.

Hum... of course...  :)

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-09  0:26 Ada Mode for Emacs chris.danx
  2002-06-09  2:34 ` Jeremy
@ 2002-06-09 11:08 ` Simon Wright
  2002-06-09 11:43   ` Preben Randhol
  2002-06-09 22:42 ` Stephen Leake
  2002-06-10 15:02 ` Georg Bauhaus
  3 siblings, 1 reply; 32+ messages in thread
From: Simon Wright @ 2002-06-09 11:08 UTC (permalink / raw)


"chris.danx" <spamoff.danx@ntlworld.com> writes:

> This is most annoying since it doesn't allow information to be
> formatted in a neat way, comments in particular:
> 
> e.g.
> 
> -- author:        Bob
> -- date:          7th June 2002
> -- last modified: 7th June 2002
> 
> 
> The alternative emacs is currenlty imposing just looks silly.  Any
> ideas?

I agree that it's more difficult to format comments (you could I guess
say "M-x text-mode" to go to text mode, "M-x ada-mode" to go back to
the Ada way? not tried ..)

However, having been using ada-mode and cc-mode (well, most
programming modes) for quite a while now (not sure how long, 6 years?)
I find the way they behave so very helpful that I'm prepared to put up
with the minor inconvenience of comment formatting of the sort you
describe.



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-09 11:08 ` Simon Wright
@ 2002-06-09 11:43   ` Preben Randhol
  2002-06-09 14:14     ` Pascal Obry
  0 siblings, 1 reply; 32+ messages in thread
From: Preben Randhol @ 2002-06-09 11:43 UTC (permalink / raw)


On 09 Jun 2002 12:08:53 +0100, Simon Wright wrote:
> "chris.danx" <spamoff.danx@ntlworld.com> writes:
> 
>> This is most annoying since it doesn't allow information to be
>> formatted in a neat way, comments in particular:
>> 
>> e.g.
>> 
>> -- author:        Bob
>> -- date:          7th June 2002
>> -- last modified: 7th June 2002
>> 
>> 
>> The alternative emacs is currenlty imposing just looks silly.  Any
>> ideas?

I think you will get more help on a emacs news group.

> However, having been using ada-mode and cc-mode (well, most
> programming modes) for quite a while now (not sure how long, 6 years?)
> I find the way they behave so very helpful that I'm prepared to put up
> with the minor inconvenience of comment formatting of the sort you
> describe.

In the "old days" when I used Emacs (before converting to vim) I seem to
remember that one of the modes had a function that overrode this the
indentation. I think the macro was tied to Ctrl-Tab or sth and it put in
spaces in stead of a Tab character. So that in the case above one just
press Ctrl-Tab to jump to the place where the name should be written.

If there isn't such a macro I guess some at a emacs news group will give
you one in two seconds time :-)

Preben



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-09  2:34 ` Jeremy
  2002-06-09  5:19   ` David Marceau
@ 2002-06-09 13:05   ` chris.danx
  2002-06-09 17:13     ` Chad R. Meiners
  2002-06-09 17:57     ` Simon Wright
  1 sibling, 2 replies; 32+ messages in thread
From: chris.danx @ 2002-06-09 13:05 UTC (permalink / raw)



"Jeremy" <j___c@cowgar.com> wrote in message
news:pan.2002.06.08.22.29.45.789120.21891@cowgar.com...
> Your apt to start a war (or maybe I am) talking about editors, but
> Emacs is the best for Ada!

I had no intention of starting a war, I just want to control formatting but
got no idea what I'm doing!


> You need to download the Ada mode for Emacs. It can be found at:
>
> http://libre.act-europe.fr/

I have it already, it comes with emacs 21.2.1 or has there been an update
since then?


> Once you have this, Emacs will do all the formatting for you,
> perfectly! Places that you want to format with comments such as:
>
> Put_Line ("Short"); -- Just demo
> Put_Line ("Much longer than prev line"); -- Long
>
> your right, tab will not indent. You will have to use your
> space bar, but this is better because a space is always a space
> no matter what your editor or platform, therefore your comments
> will always align.

Yes but most of the editors I use have soft tabs, and that's the way I like
it.  Emacs is customisable so in theory I should be able to get the same
behaviour, unfortunately in practise lack of knowlege of elisp prevents me.


> Once you get the mode, remove the Always Indent feature you
> enabled and watch Emacs do what it's best at.

I don't see how that would help, but I'll try it anyway... ok tried it
didn't work.  Emacs on windows says tab isn't implemented, don't know about
Linux.

I suppose what I want is:

Soft tabs (i.e. spaces)
soft tabs that always work!
auto indentation.

emacs does auto indentation in ada mode already, so all it needs are soft
tabs that always work when tab is hit.



Chris





^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-09 11:43   ` Preben Randhol
@ 2002-06-09 14:14     ` Pascal Obry
  0 siblings, 0 replies; 32+ messages in thread
From: Pascal Obry @ 2002-06-09 14:14 UTC (permalink / raw)



Preben Randhol <randhol+abuse@pvv.org> writes:

> In the "old days" when I used Emacs (before converting to vim) I seem to
> remember that one of the modes had a function that overrode this the
> indentation. I think the macro was tied to Ctrl-Tab or sth and it put in

Ctrl-Q before any keys, and the key is interpreted as-is.

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [OT] Ada Mode for Emacs
  2002-06-09 10:35       ` Preben Randhol
  2002-06-09 10:46         ` Pascal Obry
@ 2002-06-09 16:35         ` Darren New
  2002-06-09 23:54           ` Preben Randhol
  1 sibling, 1 reply; 32+ messages in thread
From: Darren New @ 2002-06-09 16:35 UTC (permalink / raw)


Preben Randhol wrote:
> 
> On 09 Jun 2002 09:08:10 +0200, Pascal Obry wrote:
> >
> > I know that a lot of editors does part of that, but I do not know another
> > editor that support _all_ of these features.
> 
> Vim except for elisp of course.

But vim has Tcl instead.

-- 
Darren New 
San Diego, CA, USA (PST). Cryptokeys on demand.
** http://home.san.rr.com/dnew/DNResume.html **
** http://images.fbrtech.com/dnew/ **

     My brain needs a "back" button so I can
         remember where I left my coffee mug.



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-09 13:05   ` chris.danx
@ 2002-06-09 17:13     ` Chad R. Meiners
  2002-06-10 11:07       ` Adrian Hoe
  2002-06-09 17:57     ` Simon Wright
  1 sibling, 1 reply; 32+ messages in thread
From: Chad R. Meiners @ 2002-06-09 17:13 UTC (permalink / raw)



"chris.danx" <spamoff.danx@ntlworld.com> wrote in message
news:4pIM8.494$ca2.82652@newsfep1-win.server.ntli.net...

> I suppose what I want is:
>
> Soft tabs (i.e. spaces)
> soft tabs that always work!
> auto indentation.
>
> emacs does auto indentation in ada mode already, so all it needs are soft
> tabs that always work when tab is hit.

Have you tried Ctrl-q tab ?  This gives me a tab while in ada-mode.

-CRM





^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-09 13:05   ` chris.danx
  2002-06-09 17:13     ` Chad R. Meiners
@ 2002-06-09 17:57     ` Simon Wright
  2002-06-10  9:59       ` Emmanuel Briot
  2002-06-10 11:09       ` Adrian Hoe
  1 sibling, 2 replies; 32+ messages in thread
From: Simon Wright @ 2002-06-09 17:57 UTC (permalink / raw)


"chris.danx" <spamoff.danx@ntlworld.com> writes:

> > You need to download the Ada mode for Emacs. It can be found at:
> >
> > http://libre.act-europe.fr/
> 
> I have it already, it comes with emacs 21.2.1 or has there been an
> update since then?

Not sure what comes with Emacs -- 21.1 certainly comes with an Ada
mode modified by Emmanuel Briot of ACT, but it's very very hard to
tell which revision it is since the CVS revision headers get mangled
somewhere. It's later than adamode-3.5, that I can see!

The libre.act-europe.fr site may well be more up to date.



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-09  0:26 Ada Mode for Emacs chris.danx
  2002-06-09  2:34 ` Jeremy
  2002-06-09 11:08 ` Simon Wright
@ 2002-06-09 22:42 ` Stephen Leake
  2002-06-10  1:27   ` chris.danx
  2002-06-10 12:00   ` chris.danx
  2002-06-10 15:02 ` Georg Bauhaus
  3 siblings, 2 replies; 32+ messages in thread
From: Stephen Leake @ 2002-06-09 22:42 UTC (permalink / raw)


"chris.danx" <spamoff.danx@ntlworld.com> writes:

> <snip requiest for "normal tab" in Ada-mode>

> The alternative emacs is currenlty imposing just looks silly.  Any ideas?

The behaviour you want is implemented by the function

tab-to-tab-stop

So you need to bind that to a key in ada-mode. I suggest S-tab or
C-tab, rather than tab itself:

(define-key ada-mode-map [C-tab] 'tab-to-tab-stop)

As others have pointed out, the "standard" Ada-mode tab function is
extremely useful in normal code. Give it a try, you'll like it
eventually :).

-- 
-- Stephe



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [OT] Ada Mode for Emacs
  2002-06-09 16:35         ` Darren New
@ 2002-06-09 23:54           ` Preben Randhol
  0 siblings, 0 replies; 32+ messages in thread
From: Preben Randhol @ 2002-06-09 23:54 UTC (permalink / raw)


On Sun, 09 Jun 2002 16:35:08 GMT, Darren New wrote:
> 
> But vim has Tcl instead.

Hmm didn't know that. I knew it had Python support and perl too I think.
Don't use them though.

Repository : http://vim.sf.net

Preben



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-09 22:42 ` Stephen Leake
@ 2002-06-10  1:27   ` chris.danx
  2002-06-10 12:52     ` Stephen Leake
  2002-06-11  6:08     ` Adrian Hoe
  2002-06-10 12:00   ` chris.danx
  1 sibling, 2 replies; 32+ messages in thread
From: chris.danx @ 2002-06-10  1:27 UTC (permalink / raw)



"Stephen Leake" <stephen_leake@acm.org> wrote in message
news:wk3cvwqdkv.fsf@acm.org...

> The behaviour you want is implemented by the function
>
> tab-to-tab-stop
>
> So you need to bind that to a key in ada-mode. I suggest S-tab or
> C-tab, rather than tab itself:
>
> (define-key ada-mode-map [C-tab] 'tab-to-tab-stop)

:(  That doesn't work.  It says "identifier not found" when C-tab is pressed
when there's no identifier and "no cross-reference available for reserved
word" so I'm guessing C-tab is redefined elsewhere.

M-tab won't work on Windows since M is alt and alt-tab is switch between
tasks/programs within Windows, S-tab is assigned to untab.

I reassigned s-tab to tab-to-tab-stop to test it, but it gives "not
implemented"!  Assigning it to another sequence "C-x\C-g" (which is free)
just gives a ping sound each time it's pressed (no text in the minibuffer)
:(  This is maddening!


> As others have pointed out, the "standard" Ada-mode tab function is
> extremely useful in normal code. Give it a try, you'll like it
> eventually :).

Sure the default will be ok, if the other tab (c-tab/s-tab/whatever) will
there when it's really needed (or rather wanted).


Chris





^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-09 17:57     ` Simon Wright
@ 2002-06-10  9:59       ` Emmanuel Briot
  2002-06-10 11:09       ` Adrian Hoe
  1 sibling, 0 replies; 32+ messages in thread
From: Emmanuel Briot @ 2002-06-10  9:59 UTC (permalink / raw)


> Not sure what comes with Emacs -- 21.1 certainly comes with an Ada
> mode modified by Emmanuel Briot of ACT, but it's very very hard to
> tell which revision it is since the CVS revision headers get mangled
> somewhere. It's later than adamode-3.5, that I can see!
> 
> The libre.act-europe.fr site may well be more up to date.


Actually, these are currently the same version. I know the headers are
modified, that's something I modify next time I am updating the Emacs CVS
repository, so that at least it is easy to compare. Basically, there shouldn't
be any need to install the ada-mode from libre.act-europe.fr, unless you are
using an older version of Emacs.

There have been some bug fixes, and a few minor enhancements in the development
version of ada-mode, mostly due to ACT customer's input, but nothing major,
which is why there are so few updates of the ada-mode.



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-09 17:13     ` Chad R. Meiners
@ 2002-06-10 11:07       ` Adrian Hoe
  0 siblings, 0 replies; 32+ messages in thread
From: Adrian Hoe @ 2002-06-10 11:07 UTC (permalink / raw)


Chad R. Meiners wrote:

> "chris.danx" <spamoff.danx@ntlworld.com> wrote in message
> news:4pIM8.494$ca2.82652@newsfep1-win.server.ntli.net...
> 
> 
>>I suppose what I want is:
>>
>>Soft tabs (i.e. spaces)
>>soft tabs that always work!
>>auto indentation.
>>
>>emacs does auto indentation in ada mode already, so all it needs are soft
>>tabs that always work when tab is hit.
>>
> 
> Have you tried Ctrl-q tab ?  This gives me a tab while in ada-mode.
> 
> -CRM
> 
> 
> 

Thanks Chad. I was looking very hard to do a tab in ada-mode. I just 
used to type spaces... ;-)

-- 
Remove *nospam* to email.              -- Adrian Hoe
                                        -- http://adrianhoe.com





^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-09 17:57     ` Simon Wright
  2002-06-10  9:59       ` Emmanuel Briot
@ 2002-06-10 11:09       ` Adrian Hoe
  1 sibling, 0 replies; 32+ messages in thread
From: Adrian Hoe @ 2002-06-10 11:09 UTC (permalink / raw)


Simon Wright wrote:

> "chris.danx" <spamoff.danx@ntlworld.com> writes:
> 
> 
>>>You need to download the Ada mode for Emacs. It can be found at:
>>>
>>>http://libre.act-europe.fr/
>>>
>>I have it already, it comes with emacs 21.2.1 or has there been an
>>update since then?
>>
> 
> Not sure what comes with Emacs -- 21.1 certainly comes with an Ada
> mode modified by Emmanuel Briot of ACT, but it's very very hard to
> tell which revision it is since the CVS revision headers get mangled
> somewhere. It's later than adamode-3.5, that I can see!
> 
> The libre.act-europe.fr site may well be more up to date.
> 

I am using 20.4 and I downloaded ada-mode from ACT website. It was a 
confusion of the version and I needed to hack the ada-mode so that it 
worked with 20.4. And now, it is 21.1!!!


-- 
Remove *nospam* to email.              -- Adrian Hoe
                                        -- http://adrianhoe.com





^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-09 22:42 ` Stephen Leake
  2002-06-10  1:27   ` chris.danx
@ 2002-06-10 12:00   ` chris.danx
  1 sibling, 0 replies; 32+ messages in thread
From: chris.danx @ 2002-06-10 12:00 UTC (permalink / raw)



"Stephen Leake" <stephen_leake@acm.org> wrote in message
news:wk3cvwqdkv.fsf@acm.org...
> "chris.danx" <spamoff.danx@ntlworld.com> writes:

> As others have pointed out, the "standard" Ada-mode tab function is
> extremely useful in normal code. Give it a try, you'll like it
> eventually :).


I've got a solution using a macro:

(fset 'danx-space-indent
   "\C-u3 ")

(global-set-key "\C-c\C-t" 'danx-space-indent)

It's only going to used in Ada mode (or modes that don't insert actual tab
characters) and sparingly, so as not to break tools that expect tabs.


Chris





^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-10  1:27   ` chris.danx
@ 2002-06-10 12:52     ` Stephen Leake
  2002-06-11  6:08     ` Adrian Hoe
  1 sibling, 0 replies; 32+ messages in thread
From: Stephen Leake @ 2002-06-10 12:52 UTC (permalink / raw)


"chris.danx" <spamoff.danx@ntlworld.com> writes:

> "Stephen Leake" <stephen_leake@acm.org> wrote in message
> news:wk3cvwqdkv.fsf@acm.org...
> 
> > The behaviour you want is implemented by the function
> >
> > tab-to-tab-stop
> >
> > So you need to bind that to a key in ada-mode. I suggest S-tab or
> > C-tab, rather than tab itself:
> >
> > (define-key ada-mode-map [C-tab] 'tab-to-tab-stop)
> 
> :(  That doesn't work.  It says "identifier not found" when C-tab is pressed
> when there's no identifier and "no cross-reference available for reserved
> word" so I'm guessing C-tab is redefined elsewhere.

Ah. Yes. You need to run the "define-key" line after ada-mode is
loaded, so it is run _after_ the default ada-mode key bindings.

You do this by using eval-after-load:

(eval-after-load "ada-mode" '(load "ada-mode-keys"))

Then put your key bindings in the file ada-mode-keys.el. Make sure
this file is in a directory on load-path.

> M-tab won't work on Windows since M is alt and alt-tab is switch
> between tasks/programs within Windows, S-tab is assigned to untab.
> 
> I reassigned s-tab to tab-to-tab-stop to test it, but it gives "not
> implemented"!  

Hmm. I don't know where that message is comming from.

> Assigning it to another sequence "C-x\C-g" (which is free) just
> gives a ping sound each time it's pressed (no text in the
> minibuffer) 

Yes, C-g is _always_ "abort key sequence"; you cannot use C-g in any
key sequence.

> :( This is maddening!

Yes. Emacs can be very confusing and frustrating, until you get used
to it.

Since we have drifted far from Ada, I suggest we take this off line;
email me directly.

-- 
-- Stephe



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-09  0:26 Ada Mode for Emacs chris.danx
                   ` (2 preceding siblings ...)
  2002-06-09 22:42 ` Stephen Leake
@ 2002-06-10 15:02 ` Georg Bauhaus
  3 siblings, 0 replies; 32+ messages in thread
From: Georg Bauhaus @ 2002-06-10 15:02 UTC (permalink / raw)


chris.danx <spamoff.danx@ntlworld.com> wrote:
: 
: -- author:        Bob
: -- date:          7th June 2002
: -- last modified: 7th June 2002

To answer this question, you can "quote" TAB. 
When saving the buffer is untabbified, i.e. an appropriate
amount of spaces takes the place of the tab character.
C-q as a prefix.

georg



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-10  1:27   ` chris.danx
  2002-06-10 12:52     ` Stephen Leake
@ 2002-06-11  6:08     ` Adrian Hoe
  2002-06-11 12:11       ` chris.danx
  1 sibling, 1 reply; 32+ messages in thread
From: Adrian Hoe @ 2002-06-11  6:08 UTC (permalink / raw)


chris.danx wrote:

> "Stephen Leake" <stephen_leake@acm.org> wrote in message
> news:wk3cvwqdkv.fsf@acm.org...
> 
> 
>>The behaviour you want is implemented by the function
>>
>>tab-to-tab-stop
>>
>>So you need to bind that to a key in ada-mode. I suggest S-tab or
>>C-tab, rather than tab itself:
>>
>>(define-key ada-mode-map [C-tab] 'tab-to-tab-stop)
>>
> 
> :(  That doesn't work.  It says "identifier not found" when C-tab is pressed
> when there's no identifier and "no cross-reference available for reserved
> word" so I'm guessing C-tab is redefined elsewhere.
> 
> M-tab won't work on Windows since M is alt and alt-tab is switch between
> tasks/programs within Windows, S-tab is assigned to untab.
> 
> I reassigned s-tab to tab-to-tab-stop to test it, but it gives "not
> implemented"!  Assigning it to another sequence "C-x\C-g" (which is free)
> just gives a ping sound each time it's pressed (no text in the minibuffer)
> :(  This is maddening!
> 


It doesn't work for me either. This is exhausting! Guess I will have 
to stick with ^Q tab for a while. :(
-- 
Remove *nospam* to email.              -- Adrian Hoe
                                        -- http://adrianhoe.com




^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-09  5:19   ` David Marceau
  2002-06-09  7:08     ` [OT] " Pascal Obry
@ 2002-06-11  9:12     ` Frode Tenneboe
  2002-06-11 11:54       ` John McCabe
  2002-06-11 18:25       ` Stephen Leake
  1 sibling, 2 replies; 32+ messages in thread
From: Frode Tenneboe @ 2002-06-11  9:12 UTC (permalink / raw)


David Marceau <davidmarceau@sympatico.ca> wrote:
> Jeremy wrote:
>> Emacs is the best for Ada!

> Someone once said: "Great minds think alike" :)

[Emacs features deleted]

My problem is that every time I'd like a specific feature I don't have
time to delve into elisp and hack around, so....would anyone who happen
to have a nicely commented .emacs, which works farily well with both 
emacs and Xemacs, be willing to share their file[s] with equal minded?

Regards,
 -Frode

-- 
^ Frode Tenneb�                    | email: ft@edh.ericsson.se      ^
| Ericsson AS., N-1788 Halden      | Phone: +47 69 21 41 47         |
| with Standard.Disclaimer; use Standard.Disclaimer;                |




^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-11  9:12     ` Frode Tenneboe
@ 2002-06-11 11:54       ` John McCabe
  2002-06-11 13:10         ` Adrian Hoe
  2002-06-11 18:25       ` Stephen Leake
  1 sibling, 1 reply; 32+ messages in thread
From: John McCabe @ 2002-06-11 11:54 UTC (permalink / raw)


On 11 Jun 2002 09:12:10 GMT, Frode Tenneboe <ft@alne.edh.ericsson.se>
wrote:

>David Marceau <davidmarceau@sympatico.ca> wrote:
>> Jeremy wrote:
>>> Emacs is the best for Ada!
>
>> Someone once said: "Great minds think alike" :)
>
>[Emacs features deleted]
>
>My problem is that every time I'd like a specific feature I don't have
>time to delve into elisp and hack around, so....would anyone who happen
>to have a nicely commented .emacs, which works farily well with both 
>emacs and Xemacs, be willing to share their file[s] with equal minded?

Are you aware that the XEmacs lot have changed their default init file
fairly recently?



^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-11  6:08     ` Adrian Hoe
@ 2002-06-11 12:11       ` chris.danx
  2002-06-11 13:17         ` Adrian Hoe
  0 siblings, 1 reply; 32+ messages in thread
From: chris.danx @ 2002-06-11 12:11 UTC (permalink / raw)



"Adrian Hoe" <mailbox@*nospam*adrianhoe.com> wrote in message
news:3d058666_2@news.tm.net.my...
> chris.danx wrote:
>

> It doesn't work for me either. This is exhausting!

No, look at Stephens other post.  I didn't reply to it on cla since Stephen
thought it'd be better taken off cla since it was more emacs than Ada which
is fair enough.

Stephens instructions will give you a tab character (I think, will double
check) instead of spaces, which isn't exactly the behaviour I wanted (still
playing around with the options to see if it does spaces, I know hitting
delete makes it jump back to the previous tab stop -- which you need to edit
from 3 to 60 say).

In the meantime I defined the following using Stephens instructions as a
guide:

; this goes in a custom file (e.g. ada-mode-keys.el).
;
(fset 'danx-space-indent
   "\C-u3 ")

(define-key ada-mode-map [C-tab] 'danx-space-indent)


; this goes in your .emacs file or default file
; (which I can't find).
;
(eval-after-load "ada-mode" '(load "ada-mode-keys"))


> Guess I will have
> to stick with ^Q tab for a while. :(

That gives "^@" as text here.


Chris





^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-11 11:54       ` John McCabe
@ 2002-06-11 13:10         ` Adrian Hoe
  2002-06-11 15:12           ` John McCabe
  0 siblings, 1 reply; 32+ messages in thread
From: Adrian Hoe @ 2002-06-11 13:10 UTC (permalink / raw)


[-- Attachment #1: Type: text/plain, Size: 1004 bytes --]

John McCabe wrote:

> On 11 Jun 2002 09:12:10 GMT, Frode Tenneboe <ft@alne.edh.ericsson.se>
> wrote:
> 
> 
>>David Marceau <davidmarceau@sympatico.ca> wrote:
>>
>>>Jeremy wrote:
>>>
>>>>Emacs is the best for Ada!
>>>>
>>>Someone once said: "Great minds think alike" :)
>>>
>>[Emacs features deleted]
>>
>>My problem is that every time I'd like a specific feature I don't have
>>time to delve into elisp and hack around, so....would anyone who happen
>>to have a nicely commented .emacs, which works farily well with both 
>>emacs and Xemacs, be willing to share their file[s] with equal minded?
>>
> 
> Are you aware that the XEmacs lot have changed their default init file
> fairly recently?
> 

Nope. I am not.

I would love to share my .emacs hack with everyone in cla who has 
interests in it. My hack is not neat and nice. Just quick and dirty. 
Improvements are very welcome.
-- 
Remove *nospam* to email.              -- Adrian Hoe
                                        -- http://adrianhoe.com


[-- Attachment #2: .emacs --]
[-- Type: text/plain, Size: 4576 bytes --]


;; Options Menu Settings
;; =====================
(cond
 ((and (string-match "XEmacs" emacs-version)
       (boundp 'emacs-major-version)
       (or (and
            (= emacs-major-version 19)
            (>= emacs-minor-version 14))
           (= emacs-major-version 20))
       (fboundp 'load-options-file))
  (load-options-file "/home/byhoe/.xemacs-options")))
;; ============================
;; End of Options Menu Settings
(custom-set-variables
 '(init-face-from-resources nil)
 '(lazy-shot-verbose nil)
 '(filladapt-mode nil nil (filladapt))
 '(display-time-24hr-format t)
 '(column-number-mode t)
 '(c-tab-always-indent nil)
 '(change-log-default-name "")
 '(ada-language-version (quote ada95))
 '(lazy-shot-stealth-verbose nil)
 '(add-log-mailing-address "")
 '(add-log-time-format (quote iso8601-time-string))
 '(line-number-mode t)
 '(compilation-always-signal-completion t)
 '(add-log-full-name "")
 '(user-mail-address "byhoe@neptune.greenlime.com" t)
 '(query-user-mail-address nil))
(custom-set-faces
 '(font-lock-string-face ((t (:foreground "white"))) t)
 '(paren-match ((t (:background "green3" :family ""))) t)
 '(font-lock-keyword-face ((t (:foreground "orange"))) t)
 '(primary-selection ((t (:background "darkseagreen2" :family ""))) t)
 '(font-lock-comment-face ((t (:foreground "yellow"))) t)
 '(zmacs-region ((t (:foreground "white" :background "blue" :family ""))) t))
(setq options-save-faces t)
(setq-default font-lock-maximum-decoration t)
(setq ada-which-compiler 'generic)

;;; ***************************
;;; Syntax highlighting
;;;
(cond (running-xemacs

       (setq font-lock-use-default-fonts nil)
       (setq font-lock-use-default-colors t)

       (require 'font-lock)

       ;; string face is green
       (set-face-foreground 'font-lock-string-face "white")

       ;; comments are italic and red; doc strings are italic
       ;;
       ;; (I use copy-face instead of make-face-italic/make-face-bold
       ;; because the startup code does intelligent things to the
       ;; 'italic and 'bold faces to ensure that they are different
       ;; from the default face.  For example, if the default face
       ;; is bold, then the 'bold face will be unbold.)
;;       (copy-face 'italic 'font-lock-comment-face)
       ;; Underlining comments looks terrible on tty's
;;       (set-face-underline-p 'font-lock-comment-face nil 'global 'tty)
;;       (set-face-highlight-p 'font-lock-comment-face t 'global 'tty)
;;       (copy-face 'font-lock-comment-face 'font-lock-doc-string-face)
;;       (set-face-foreground 'font-lock-comment-face "cyan3")

       ;; function names are bold and blue
       (copy-face 'font-lock-function-name-face)
       (set-face-foreground 'font-lock-function-name-face "blue")

       ;; misc. faces
       (and (find-face 'font-lock-preprocessor-face) ; 19.13 and above
            (copy-face 'bold 'font-lock-preprocessor-face))
       (copy-face 'italic 'font-lock-type-face)
       (copy-face 'bold 'font-lock-keyword-face)
       (set-face-foreground 'font-lock-keyword-face "orange")
       ))

;;; ********************
;;; func-menu is a package that scans your source file for function
;;; definitions and makes a menubar entry that lets you jump to any
;;; particular function definition by selecting it from the menu.  The
;;; following code turns this on for all of the recognized languages.
;;; Scanning the buffer takes some time, but not much.
;;;
;;; Send bug reports, enhancements etc to:
;;; David Hughes <ukchugd@ukpmr.cs.philips.nl>
;;;
(cond (running-xemacs
       (require 'func-menu)
       (define-key global-map 'f8 'function-menu)
       (add-hook 'find-file-hooks 'fume-add-menubar-entry)
       (define-key global-map "\C-cl" 'fume-list-functions)
       (define-key global-map "\C-cg" 'fume-prompt-function-goto)

       ;; The Hyperbole information manager package uses (shift button2) and
       ;; (shift button3) to provide context-sensitive mouse keys.  If you
       ;; use this next binding, it will conflict with Hyperbole's setup.
       ;; Choose another mouse key if you use Hyperbole.
       (define-key global-map '(shift button3) 'mouse-function-menu)

       ;; For descriptions of the following user-customizable variables,
       ;; type C-h v <variable>
       (setq fume-max-items 25
             fume-fn-window-position 3
             fume-auto-position-popup t
             fume-display-in-modeline-p t
             fume-menubar-menu-location "File"
             fume-buffer-name "*Function List*"
             fume-no-prompt-on-valid-default nil)
       ))

[-- Attachment #3: .xemacs-options --]
[-- Type: text/plain, Size: 31035 bytes --]

;; -*- Mode: Emacs-Lisp -*-

(setq options-file-xemacs-version '(20 4))
  (setq-default case-fold-search t)
  (setq-default overwrite-mode nil)
    (setq-default case-fold-search t)
  (setq-default case-replace t)
    (setq-default zmacs-regions t)
  (setq-default mouse-yank-at-point nil)
  (setq-default require-final-newline t)
  (setq-default next-line-add-newlines nil)
  (setq-default teach-extended-commands-p t)
  (setq-default teach-extended-commands-timeout 4)
  (setq-default debug-on-error nil)
  (setq-default debug-on-quit nil)
  (setq-default lpr-switches nil)
  (setq-default ps-print-color-p nil)
  (setq-default ps-paper-type 'a4)
  (setq-default get-frame-for-buffer-default-instance-limit nil)
  (setq-default temp-buffer-show-function 'show-temp-buffer-in-current-frame)
    (setq-default font-lock-auto-fontify t)
  (setq-default font-lock-use-fonts nil)
  (setq-default font-lock-use-colors '(color))
  (setq-default font-lock-maximum-decoration t)
  (setq-default font-lock-maximum-size 256000)
  (setq-default font-lock-mode-enable-list nil)
  (setq-default font-lock-mode-disable-list nil)
  (require 'font-lock)
  (remove-hook 'font-lock-mode-hook 'turn-on-fast-lock)
  (remove-hook 'font-lock-mode-hook 'turn-on-lazy-shot)
  (require 'paren)
  (paren-set-mode 'sexp)
  (if (featurep 'scrollbar) (progn (add-spec-list-to-specifier scrollbar-width 'nil) (add-spec-list-to-specifier scrollbar-height 'nil)))
  (add-spec-list-to-specifier modeline-shadow-thickness '((global (nil . 2))))
  (setq-default truncate-lines nil)
  (setq-default bar-cursor nil)
  (blink-cursor-mode t)
  (setq-default buffers-menu-max-size 25)
  (setq-default complex-buffers-menu-p nil)
  (setq-default buffers-menu-sort-function 'sort-buffers-menu-by-mode-then-alphabetically)
  (setq-default buffers-menu-grouping-function 'group-buffers-menu-by-mode-then-alphabetically)
  (setq-default buffers-menu-submenus-for-groups-p nil)
  (setq-default font-menu-ignore-scaled-fonts nil)
  (setq-default font-menu-this-frame-only-p nil)
  (if (featurep 'toolbar) (progn (set-default-toolbar-position 'top) (add-spec-list-to-specifier default-toolbar-visible-p 'nil) (add-spec-list-to-specifier toolbar-buttons-captioned-p 'nil)))
  (setq-default mouse-avoidance-mode nil)
  (setq-default browse-url-browser-function 'browse-url-w3)
  (make-face 'custom-group-tag-face-1)
  (make-face 'modeline-buffer-id)
  (make-face 'html-helper-underline-face)
  (make-face 'left-margin)
  (make-face 'bold)
  (make-face 'list-mode-item-selected)
  (make-face 'paren-mismatch)
  (make-face 'custom-set-face)
  (make-face 'html-helper-bold-face)
  (make-face 'modeline-mousable-minor-mode)
  (make-face 'red)
  (make-face 'widget-documentation-face)
  (make-face 'speedbar-tag-face)
  (make-face 'custom-saved-face)
  (make-face 'widget-inactive-face)
  (make-face 'underline)
  (make-face 'text-cursor)
  (make-face 'xrdb-option-value-face)
  (make-face 'info-xref)
  (make-face 'custom-rogue-face)
  (make-face 'gui-button-face)
  (make-face 'font-lock-reference-face)
  (make-face 'speedbar-button-face)
  (make-face 'custom-variable-tag-face)
  (make-face 'widget-button-pressed-face)
  (make-face 'widget-button-face)
  (make-face 'pointer)
  (make-face 'font-lock-doc-string-face)
  (make-face 'cperl-pod-head-face)
  (make-face 'italic)
  (make-face 'custom-changed-face)
  (make-face 'modeline)
  (make-face 'font-lock-type-face)
  (make-face 'widget-field-face)
  (make-face 'blue)
  (make-face 'cperl-here-face)
  (make-face 'custom-button-face)
  (make-face 'custom-state-face)
  (make-face 'custom-group-tag-face)
  (make-face 'custom-invalid-face)
  (make-face 'yellow)
  (make-face 'xrdb-option-name-face)
  (make-face 'font-lock-preprocessor-face)
  (make-face 'font-lock-variable-name-face)
  (make-face 'font-lock-m4-face)
  (make-face 'paren-blink-off)
  (make-face 'bold-italic)
  (make-face 'secondary-selection)
  (make-face 'speedbar-file-face)
  (make-face 'custom-variable-button-face)
  (make-face 'makefile-space-face)
  (make-face 'highlight)
  (make-face 'cperl-pod-face)
  (make-face 'info-node)
  (make-face 'speedbar-directory-face)
  (make-face 'speedbar-selected-face)
  (make-face 'font-lock-function-name-face)
  (make-face 'right-margin)
  (make-face 'modeline-mousable)
  (make-face 'html-helper-italic-face)
  (make-face 'custom-documentation-face)
  (make-face 'custom-modified-face)
  (make-face 'speedbar-highlight-face)
  (make-face 'isearch)
  (make-face 'default)
  (make-face 'green)
  (make-face 'custom-face-tag-face)
  (add-spec-list-to-specifier (face-property 'custom-group-tag-face-1 'foreground) '((global (nil . "red"))))
  (add-spec-list-to-specifier (face-property 'custom-group-tag-face-1 'underline) '((global (nil . t))))
  (add-spec-list-to-specifier (face-property 'modeline-buffer-id 'foreground) '((global ((color x) . "blue4") (nil . [#s(face name modeline)]))))
  (add-spec-list-to-specifier (face-property 'modeline-buffer-id 'background) '((global (nil . [#s(face name modeline)]))))
  (add-spec-list-to-specifier (face-property 'modeline-buffer-id 'font) '((global (nil . "-*-Clean-Medium-R-*-*-*-120-*-*-*-*-*-*") ((tty) . [bold-italic]) ((grayscale x) . [bold-italic]) ((mono x) . [bold-italic]))))
  (add-spec-list-to-specifier (face-property 'modeline-buffer-id 'background-pixmap) '((global ((x) . [inherit :face #s(face name modeline)]) ((tty) . [inherit :face #s(face name modeline)]) ((stream) . [inherit :face #s(face name modeline)]))))
  (add-spec-list-to-specifier (face-property 'modeline-buffer-id 'underline) '((global (nil . [#s(face name modeline)]))))
  (add-spec-list-to-specifier (face-property 'modeline-buffer-id 'strikethru) '((global (nil . [#s(face name modeline)]))))
  (add-spec-list-to-specifier (face-property 'modeline-buffer-id 'highlight) '((global (nil . [#s(face name modeline)]))))
  (add-spec-list-to-specifier (face-property 'modeline-buffer-id 'dim) '((global (nil . [#s(face name modeline)]))))
  (add-spec-list-to-specifier (face-property 'modeline-buffer-id 'blinking) '((global (nil . [#s(face name modeline)]))))
  (add-spec-list-to-specifier (face-property 'modeline-buffer-id 'reverse) '((global (nil . [#s(face name modeline)]))))
  (add-spec-list-to-specifier (face-property 'html-helper-underline-face 'underline) '((global (nil . t))))
  (add-spec-list-to-specifier (face-property 'bold 'font) '((global (nil . "-*-Clean-bold-R-*-*-*-120-*-*-*-*-*-*"))))
  (add-spec-list-to-specifier (face-property 'bold 'highlight) '((global ((tty) . t))))
  (add-spec-list-to-specifier (face-property 'list-mode-item-selected 'foreground) '((global (nil . "green") ((mono x) . [default background]))))
  (add-spec-list-to-specifier (face-property 'list-mode-item-selected 'background) '((global (nil . "green4") ((mono x) . [default foreground]) ((grayscale) . "gray68") ((color) . "gray68"))))
  (add-spec-list-to-specifier (face-property 'list-mode-item-selected 'reverse) '((global ((tty) . t))))
  (add-spec-list-to-specifier (face-property 'paren-mismatch 'foreground) '((global (nil . "black") ((grayscale x) . [modeline foreground]) ((mono x) . [modeline foreground]))))
  (add-spec-list-to-specifier (face-property 'paren-mismatch 'background) '((global (nil . "Red") ((grayscale x) . [modeline background]) ((mono x) . [modeline background]) ((color x) . "DeepPink"))))
  (add-spec-list-to-specifier (face-property 'paren-mismatch 'reverse) '((global ((tty) . t))))
  (add-spec-list-to-specifier (face-property 'custom-set-face 'foreground) '((global (nil . "blue"))))
  (add-spec-list-to-specifier (face-property 'custom-set-face 'background) '((global (nil . "white"))))
  (add-spec-list-to-specifier (face-property 'html-helper-bold-face 'font) '((global (nil . "-*-Clean-bold-R-*-*-*-120-*-*-*-*-*-*"))))
  (add-spec-list-to-specifier (face-property 'html-helper-bold-face 'highlight) '((global ((tty) . t))))
  (add-spec-list-to-specifier (face-property 'modeline-mousable-minor-mode 'foreground) '((global ((color x) . "green4") ((color x) . "forestgreen") (nil . [#s(face name modeline-mousable)]))))
  (add-spec-list-to-specifier (face-property 'modeline-mousable-minor-mode 'background) '((global (nil . [#s(face name modeline-mousable)]))))
  (add-spec-list-to-specifier (face-property 'modeline-mousable-minor-mode 'font) '((global (nil . "-*-Clean-Medium-R-*-*-*-120-*-*-*-*-*-*"))))
  (add-spec-list-to-specifier (face-property 'modeline-mousable-minor-mode 'background-pixmap) '((global ((x) . [inherit :face #s(face name modeline-mousable)]) ((tty) . [inherit :face #s(face name modeline-mousable)]) ((stream) . [inherit :face #s(face name modeline-mousable)]))))
  (add-spec-list-to-specifier (face-property 'modeline-mousable-minor-mode 'underline) '((global (nil . [#s(face name modeline-mousable)]))))
  (add-spec-list-to-specifier (face-property 'modeline-mousable-minor-mode 'strikethru) '((global (nil . [#s(face name modeline-mousable)]))))
  (add-spec-list-to-specifier (face-property 'modeline-mousable-minor-mode 'highlight) '((global (nil . [#s(face name modeline-mousable)]))))
  (add-spec-list-to-specifier (face-property 'modeline-mousable-minor-mode 'dim) '((global (nil . [#s(face name modeline-mousable)]))))
  (add-spec-list-to-specifier (face-property 'modeline-mousable-minor-mode 'blinking) '((global (nil . [#s(face name modeline-mousable)]))))
  (add-spec-list-to-specifier (face-property 'modeline-mousable-minor-mode 'reverse) '((global (nil . [#s(face name modeline-mousable)]))))
  (add-spec-list-to-specifier (face-property 'red 'foreground) '((global ((color) . "red"))))
  (add-spec-list-to-specifier (face-property 'widget-documentation-face 'foreground) '((global (nil . "dark green"))))
  (add-spec-list-to-specifier (face-property 'speedbar-tag-face 'foreground) '((global (nil . "brown"))))
  (add-spec-list-to-specifier (face-property 'speedbar-tag-face 'underline) '((global (nil))))
  (add-spec-list-to-specifier (face-property 'custom-saved-face 'underline) '((global (nil . t))))
  (add-spec-list-to-specifier (face-property 'widget-inactive-face 'foreground) '((global (nil . "dim gray"))))
  (add-spec-list-to-specifier (face-property 'underline 'underline) '((global (nil . t))))
  (add-spec-list-to-specifier (face-property 'text-cursor 'foreground) '((global (nil . "black"))))
  (add-spec-list-to-specifier (face-property 'text-cursor 'background) '((global (nil . "green") ((x) . "Red3"))))
  (add-spec-list-to-specifier (face-property 'text-cursor 'reverse) '((global ((tty) . t))))
  (add-spec-list-to-specifier (face-property 'xrdb-option-value-face 'foreground) '((global (nil . "forest green") ((color) . "green4") ((color) . "green"))))
  (add-spec-list-to-specifier (face-property 'info-xref 'font) '((global (nil . "-*-Clean-Medium-R-*-*-*-120-*-*-*-*-*-*") ((mule-fonts) . "-*-fixed-medium-r-*--16-*-iso8859-1") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-1") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-2") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-3") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-4") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-7") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-8") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-5") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-9") ((mule-fonts) . "-sun-gothic-medium-r-normal--14-120-75-75-c-60-jisx0201.1976-0") ((mule-fonts) . "-sun-gothic-medium-r-normal--14-120-75-75-c-120-jisx0208.1983-0") ((mule-fonts) . "-wadalab-gothic-medium-r-normal--14-120-75-75-c-120-jisx0212.1990-0") ((mule-fonts) . "-*-fixed-medium-r-*--*-jisx0201.1976-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-jisx0208.1983-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-jisx0212*-*") ((mule-fonts) . "-*-*-medium-r-*--*-gb2312.1980-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-cns11643*-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-big5*-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-sisheng_cwnn-0") ((mule-fonts) . "-*-mincho-medium-r-*--*-ksc5601.1987-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-tis620.2529-1"))))
  (add-spec-list-to-specifier (face-property 'info-xref 'highlight) '((global ((tty) . t))))
  (add-spec-list-to-specifier (face-property 'custom-rogue-face 'foreground) '((global (nil . "pink"))))
  (add-spec-list-to-specifier (face-property 'custom-rogue-face 'background) '((global (nil . "black"))))
  (add-spec-list-to-specifier (face-property 'gui-button-face 'foreground) '((global ((color x) . "black"))))
  (add-spec-list-to-specifier (face-property 'gui-button-face 'background) '((global ((color x) . "grey75"))))
  (add-spec-list-to-specifier (face-property 'gui-button-face 'reverse) '((global (nil . t))))
  (add-spec-list-to-specifier (face-property 'font-lock-reference-face 'foreground) '((global (nil . "hotpink") ((color) . "red3") ((color) . "red"))))
  (add-spec-list-to-specifier (face-property 'speedbar-button-face 'foreground) '((global (nil . "green4"))))
  (add-spec-list-to-specifier (face-property 'speedbar-button-face 'underline) '((global (nil))))
  (add-spec-list-to-specifier (face-property 'custom-variable-tag-face 'foreground) '((global (nil . "blue"))))
  (add-spec-list-to-specifier (face-property 'custom-variable-tag-face 'underline) '((global (nil . t))))
  (add-spec-list-to-specifier (face-property 'widget-button-pressed-face 'foreground) '((global (nil . "red"))))
  (add-spec-list-to-specifier (face-property 'widget-button-face 'font) '((global (nil . "-*-Clean-Medium-R-*-*-*-120-*-*-*-*-*-*") ((mule-fonts) . "-*-fixed-medium-r-*--16-*-iso8859-1") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-1") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-2") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-3") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-4") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-7") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-8") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-5") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-9") ((mule-fonts) . "-sun-gothic-medium-r-normal--14-120-75-75-c-60-jisx0201.1976-0") ((mule-fonts) . "-sun-gothic-medium-r-normal--14-120-75-75-c-120-jisx0208.1983-0") ((mule-fonts) . "-wadalab-gothic-medium-r-normal--14-120-75-75-c-120-jisx0212.1990-0") ((mule-fonts) . "-*-fixed-medium-r-*--*-jisx0201.1976-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-jisx0208.1983-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-jisx0212*-*") ((mule-fonts) . "-*-*-medium-r-*--*-gb2312.1980-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-cns11643*-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-big5*-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-sisheng_cwnn-0") ((mule-fonts) . "-*-mincho-medium-r-*--*-ksc5601.1987-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-tis620.2529-1"))))
  (add-spec-list-to-specifier (face-property 'widget-button-face 'highlight) '((global ((tty) . t))))
  (add-spec-list-to-specifier (face-property 'pointer 'foreground) '((global (nil . "#000000"))))
  (add-spec-list-to-specifier (face-property 'pointer 'background) '((global (nil . "#ffffff"))))
  (add-spec-list-to-specifier (face-property 'font-lock-doc-string-face 'foreground) '((global (nil . "white") ((color) . "green4") ((color) . "green"))))
  (add-spec-list-to-specifier (face-property 'font-lock-doc-string-face 'font) '((global (nil . "-*-Clean-Medium-r-*-*-*-120-*-*-*-*-*-*"))))
  (add-spec-list-to-specifier (face-property 'font-lock-doc-string-face 'underline) '((global ((tty)))))
  (add-spec-list-to-specifier (face-property 'font-lock-doc-string-face 'highlight) '((global ((tty) . t))))
  (add-spec-list-to-specifier (face-property 'cperl-pod-head-face 'foreground) '((global (nil . "steelblue"))))
  (add-spec-list-to-specifier (face-property 'italic 'font) '((global (nil . "-*-Clean-Medium-i-*-*-*-120-*-*-*-*-*-*"))))
  (add-spec-list-to-specifier (face-property 'italic 'underline) '((global ((tty) . t))))
  (add-spec-list-to-specifier (face-property 'custom-changed-face 'foreground) '((global (nil . "white"))))
  (add-spec-list-to-specifier (face-property 'custom-changed-face 'background) '((global (nil . "blue"))))
  (add-spec-list-to-specifier (face-property 'modeline 'foreground) '((global ((x) . "Black"))))
  (add-spec-list-to-specifier (face-property 'modeline 'background) '((global ((x) . "Gray75"))))
  (add-spec-list-to-specifier (face-property 'modeline 'reverse) '((global ((tty) . t))))
  (add-spec-list-to-specifier (face-property 'font-lock-type-face 'foreground) '((global (nil . "#cdb2fc") ((color) . "#6920ac"))))
  (add-spec-list-to-specifier (face-property 'widget-field-face 'background) '((global (nil . "gray85"))))
  (add-spec-list-to-specifier (face-property 'blue 'foreground) '((global ((color) . "blue"))))
  (add-spec-list-to-specifier (face-property 'blue 'font) '((global (nil . "-*-Clean-Medium-R-*-*-*-120-*-*-*-*-*-*"))))
  (add-spec-list-to-specifier (face-property 'cperl-here-face 'foreground) '((global (nil . "green4"))))
  (add-spec-list-to-specifier (face-property 'cperl-here-face 'background) '((global (nil . "grey85"))))
  (add-spec-list-to-specifier (face-property 'custom-button-face 'font) '((global (nil . "-*-Clean-Medium-R-*-*-*-120-*-*-*-*-*-*") ((mule-fonts) . "-*-fixed-medium-r-*--16-*-iso8859-1") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-1") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-2") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-3") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-4") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-7") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-8") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-5") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-9") ((mule-fonts) . "-sun-gothic-medium-r-normal--14-120-75-75-c-60-jisx0201.1976-0") ((mule-fonts) . "-sun-gothic-medium-r-normal--14-120-75-75-c-120-jisx0208.1983-0") ((mule-fonts) . "-wadalab-gothic-medium-r-normal--14-120-75-75-c-120-jisx0212.1990-0") ((mule-fonts) . "-*-fixed-medium-r-*--*-jisx0201.1976-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-jisx0208.1983-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-jisx0212*-*") ((mule-fonts) . "-*-*-medium-r-*--*-gb2312.1980-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-cns11643*-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-big5*-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-sisheng_cwnn-0") ((mule-fonts) . "-*-mincho-medium-r-*--*-ksc5601.1987-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-tis620.2529-1"))))
  (add-spec-list-to-specifier (face-property 'custom-button-face 'highlight) '((global ((tty) . t))))
  (add-spec-list-to-specifier (face-property 'custom-state-face 'foreground) '((global (nil . "dark green"))))
  (add-spec-list-to-specifier (face-property 'custom-group-tag-face 'foreground) '((global (nil . "blue"))))
  (add-spec-list-to-specifier (face-property 'custom-group-tag-face 'underline) '((global (nil . t))))
  (add-spec-list-to-specifier (face-property 'custom-invalid-face 'foreground) '((global (nil . "yellow"))))
  (add-spec-list-to-specifier (face-property 'custom-invalid-face 'background) '((global (nil . "red"))))
  (add-spec-list-to-specifier (face-property 'yellow 'foreground) '((global ((color) . "yellow"))))
  (add-spec-list-to-specifier (face-property 'xrdb-option-name-face 'foreground) '((global ((color) . "orange"))))
  (add-spec-list-to-specifier (face-property 'font-lock-preprocessor-face 'foreground) '((global (nil . "blue3") ((color) . "blue3") ((color) . "blue"))))
  (add-spec-list-to-specifier (face-property 'font-lock-variable-name-face 'foreground) '((global ((color) . "blue3") ((color) . "blue"))))
  (add-spec-list-to-specifier (face-property 'font-lock-m4-face 'foreground) '((global (nil . "blue3"))))
  (add-spec-list-to-specifier (face-property 'paren-blink-off 'foreground) '((global ((x) . "#ffffff"))))
  (add-spec-list-to-specifier (face-property 'bold-italic 'font) '((global (nil . "-*-Clean-medium-i-*-*-*-120-*-*-*-*-*-*"))))
  (add-spec-list-to-specifier (face-property 'bold-italic 'underline) '((global ((tty) . t))))
  (add-spec-list-to-specifier (face-property 'bold-italic 'highlight) '((global ((tty) . t))))
  (add-spec-list-to-specifier (face-property 'secondary-selection 'foreground) '((global (nil . "darkseagreen"))))
  (add-spec-list-to-specifier (face-property 'secondary-selection 'background) '((global ((grayscale) . "gray53") ((color) . "paleturquoise") ((color) . "green"))))
  (add-spec-list-to-specifier (face-property 'secondary-selection 'underline) '((global ((tty) . t))))
  (add-spec-list-to-specifier (face-property 'speedbar-file-face 'foreground) '((global (nil . "cyan4"))))
  (add-spec-list-to-specifier (face-property 'speedbar-file-face 'underline) '((global (nil))))
  (add-spec-list-to-specifier (face-property 'custom-variable-button-face 'font) '((global (nil . "-*-Clean-Medium-R-*-*-*-120-*-*-*-*-*-*") ((mule-fonts) . "-*-fixed-medium-r-*--16-*-iso8859-1") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-1") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-2") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-3") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-4") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-7") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-8") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-5") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-9") ((mule-fonts) . "-sun-gothic-medium-r-normal--14-120-75-75-c-60-jisx0201.1976-0") ((mule-fonts) . "-sun-gothic-medium-r-normal--14-120-75-75-c-120-jisx0208.1983-0") ((mule-fonts) . "-wadalab-gothic-medium-r-normal--14-120-75-75-c-120-jisx0212.1990-0") ((mule-fonts) . "-*-fixed-medium-r-*--*-jisx0201.1976-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-jisx0208.1983-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-jisx0212*-*") ((mule-fonts) . "-*-*-medium-r-*--*-gb2312.1980-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-cns11643*-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-big5*-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-sisheng_cwnn-0") ((mule-fonts) . "-*-mincho-medium-r-*--*-ksc5601.1987-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-tis620.2529-1"))))
  (add-spec-list-to-specifier (face-property 'custom-variable-button-face 'underline) '((global (nil . t))))
  (add-spec-list-to-specifier (face-property 'custom-variable-button-face 'highlight) '((global ((tty) . t))))
  (add-spec-list-to-specifier (face-property 'makefile-space-face 'background) '((global (nil . "hotpink"))))
  (add-spec-list-to-specifier (face-property 'highlight 'foreground) '((global (nil . "black"))))
  (add-spec-list-to-specifier (face-property 'highlight 'background) '((global (nil . "green") ((color) . "darkseagreen2") ((color) . "green") ((grayscale) . "gray53"))))
  (add-spec-list-to-specifier (face-property 'highlight 'highlight) '((global ((tty) . t))))
  (add-spec-list-to-specifier (face-property 'cperl-pod-face 'foreground) '((global (nil . "brown4"))))
  (add-spec-list-to-specifier (face-property 'info-node 'font) '((global (nil . "-*-Clean-Medium-R-*-*-*-120-*-*-*-*-*-*") ((mule-fonts) . "-*-fixed-medium-r-*--16-*-iso8859-1") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-1") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-2") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-3") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-4") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-7") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-8") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-5") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-9") ((mule-fonts) . "-sun-gothic-medium-r-normal--14-120-75-75-c-60-jisx0201.1976-0") ((mule-fonts) . "-sun-gothic-medium-r-normal--14-120-75-75-c-120-jisx0208.1983-0") ((mule-fonts) . "-wadalab-gothic-medium-r-normal--14-120-75-75-c-120-jisx0212.1990-0") ((mule-fonts) . "-*-fixed-medium-r-*--*-jisx0201.1976-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-jisx0208.1983-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-jisx0212*-*") ((mule-fonts) . "-*-*-medium-r-*--*-gb2312.1980-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-cns11643*-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-big5*-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-sisheng_cwnn-0") ((mule-fonts) . "-*-mincho-medium-r-*--*-ksc5601.1987-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-tis620.2529-1"))))
  (add-spec-list-to-specifier (face-property 'info-node 'underline) '((global ((tty) . t))))
  (add-spec-list-to-specifier (face-property 'info-node 'highlight) '((global ((tty) . t))))
  (add-spec-list-to-specifier (face-property 'speedbar-directory-face 'foreground) '((global (nil . "blue4"))))
  (add-spec-list-to-specifier (face-property 'speedbar-directory-face 'underline) '((global (nil))))
  (add-spec-list-to-specifier (face-property 'speedbar-selected-face 'foreground) '((global (nil . "red"))))
  (add-spec-list-to-specifier (face-property 'speedbar-selected-face 'underline) '((global (nil . t))))
  (add-spec-list-to-specifier (face-property 'font-lock-function-name-face 'foreground) '((global (nil . "cyan") ((color) . "blue3") ((color) . "blue"))))
  (add-spec-list-to-specifier (face-property 'modeline-mousable 'foreground) '((global ((color x) . "firebrick") (nil . [#s(face name modeline)]))))
  (add-spec-list-to-specifier (face-property 'modeline-mousable 'background) '((global (nil . [#s(face name modeline)]))))
  (add-spec-list-to-specifier (face-property 'modeline-mousable 'font) '((global (nil . "-*-Clean-Medium-R-*-*-*-120-*-*-*-*-*-*") ((grayscale x) . [bold]) ((mono x) . [bold]))))
  (add-spec-list-to-specifier (face-property 'modeline-mousable 'background-pixmap) '((global ((x) . [inherit :face #s(face name modeline)]) ((tty) . [inherit :face #s(face name modeline)]) ((stream) . [inherit :face #s(face name modeline)]))))
  (add-spec-list-to-specifier (face-property 'modeline-mousable 'underline) '((global (nil . [#s(face name modeline)]))))
  (add-spec-list-to-specifier (face-property 'modeline-mousable 'strikethru) '((global (nil . [#s(face name modeline)]))))
  (add-spec-list-to-specifier (face-property 'modeline-mousable 'highlight) '((global (nil . [#s(face name modeline)]))))
  (add-spec-list-to-specifier (face-property 'modeline-mousable 'dim) '((global (nil . [#s(face name modeline)]))))
  (add-spec-list-to-specifier (face-property 'modeline-mousable 'blinking) '((global (nil . [#s(face name modeline)]))))
  (add-spec-list-to-specifier (face-property 'modeline-mousable 'reverse) '((global (nil . [#s(face name modeline)]))))
  (add-spec-list-to-specifier (face-property 'html-helper-italic-face 'font) '((global (nil . "-*-Clean-Medium-i-*-*-*-120-*-*-*-*-*-*"))))
  (add-spec-list-to-specifier (face-property 'html-helper-italic-face 'underline) '((global ((tty) . t))))
  (add-spec-list-to-specifier (face-property 'custom-modified-face 'foreground) '((global (nil . "white"))))
  (add-spec-list-to-specifier (face-property 'custom-modified-face 'background) '((global (nil . "blue"))))
  (add-spec-list-to-specifier (face-property 'speedbar-highlight-face 'background) '((global (nil . "green"))))
  (add-spec-list-to-specifier (face-property 'speedbar-highlight-face 'underline) '((global (nil))))
  (add-spec-list-to-specifier (face-property 'isearch 'foreground) '((global (nil . "purple4"))))
  (add-spec-list-to-specifier (face-property 'isearch 'background) '((global (nil . "#cdb2fc") ((color) . "paleturquoise") ((color) . "green"))))
  (add-spec-list-to-specifier (face-property 'isearch 'font) '((global (nil . "-*-Clean-medium-r-*-*-*-120-*-*-*-*-*-*") ((mule-fonts) . "-*-fixed-medium-r-*--16-*-iso8859-1") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-1") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-2") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-3") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-4") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-7") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-8") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-5") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-9") ((mule-fonts) . "-sun-gothic-medium-r-normal--14-120-75-75-c-60-jisx0201.1976-0") ((mule-fonts) . "-sun-gothic-medium-r-normal--14-120-75-75-c-120-jisx0208.1983-0") ((mule-fonts) . "-wadalab-gothic-medium-r-normal--14-120-75-75-c-120-jisx0212.1990-0") ((mule-fonts) . "-*-fixed-medium-r-*--*-jisx0201.1976-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-jisx0208.1983-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-jisx0212*-*") ((mule-fonts) . "-*-*-medium-r-*--*-gb2312.1980-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-cns11643*-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-big5*-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-sisheng_cwnn-0") ((mule-fonts) . "-*-mincho-medium-r-*--*-ksc5601.1987-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-tis620.2529-1"))))
  (add-spec-list-to-specifier (face-property 'isearch 'highlight) '((global ((tty)))))
  (add-spec-list-to-specifier (face-property 'isearch 'reverse) '((global ((tty) . t))))
  (add-spec-list-to-specifier (face-property 'default 'foreground) '((global (nil . "green") ((x) . "#000000"))))
  (add-spec-list-to-specifier (face-property 'default 'background) '((global (nil . "black") ((x) . "#ffffff"))))
  (add-spec-list-to-specifier (face-property 'default 'font) '((global (nil . "-*-Clean-medium-r-*-*-*-120-*-*-*-*-*-*") ((mule-fonts) . "-*-fixed-medium-r-*--16-*-iso8859-1") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-1") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-2") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-3") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-4") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-7") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-8") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-5") ((mule-fonts) . "-*-fixed-medium-r-*--*-iso8859-9") ((mule-fonts) . "-sun-gothic-medium-r-normal--14-120-75-75-c-60-jisx0201.1976-0") ((mule-fonts) . "-sun-gothic-medium-r-normal--14-120-75-75-c-120-jisx0208.1983-0") ((mule-fonts) . "-wadalab-gothic-medium-r-normal--14-120-75-75-c-120-jisx0212.1990-0") ((mule-fonts) . "-*-fixed-medium-r-*--*-jisx0201.1976-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-jisx0208.1983-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-jisx0212*-*") ((mule-fonts) . "-*-*-medium-r-*--*-gb2312.1980-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-cns11643*-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-big5*-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-sisheng_cwnn-0") ((mule-fonts) . "-*-mincho-medium-r-*--*-ksc5601.1987-*") ((mule-fonts) . "-*-fixed-medium-r-*--*-tis620.2529-1"))))
  (add-spec-list-to-specifier (face-property 'default 'underline) '((global ((tty)))))
  (add-spec-list-to-specifier (face-property 'default 'highlight) '((global ((tty)))))
  (add-spec-list-to-specifier (face-property 'green 'foreground) '((global ((color) . "green"))))
  (add-spec-list-to-specifier (face-property 'custom-face-tag-face 'underline) '((global (nil . t))))
  (if (featurep 'mule) (set-language-environment '"English"))

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-11 12:11       ` chris.danx
@ 2002-06-11 13:17         ` Adrian Hoe
  2002-06-11 14:06           ` chris.danx
  0 siblings, 1 reply; 32+ messages in thread
From: Adrian Hoe @ 2002-06-11 13:17 UTC (permalink / raw)


chris.danx wrote:

> "Adrian Hoe" <mailbox@*nospam*adrianhoe.com> wrote in message
> news:3d058666_2@news.tm.net.my...
> 
>>chris.danx wrote:
>>
>>
> 
>>It doesn't work for me either. This is exhausting!
>>
> 
> No, look at Stephens other post.  I didn't reply to it on cla since Stephen
> thought it'd be better taken off cla since it was more emacs than Ada which
> is fair enough.
> 
> Stephens instructions will give you a tab character (I think, will double
> check) instead of spaces, which isn't exactly the behaviour I wanted (still
> playing around with the options to see if it does spaces, I know hitting
> delete makes it jump back to the previous tab stop -- which you need to edit
> from 3 to 60 say).
> 
> In the meantime I defined the following using Stephens instructions as a
> guide:
> 
> ; this goes in a custom file (e.g. ada-mode-keys.el).
> ;



I don't have this file in my directory. SHould I create one? Will it 
crash with ada-modes.el?





> (fset 'danx-space-indent
>    "\C-u3 ")
> 
> (define-key ada-mode-map [C-tab] 'danx-space-indent)

> 
> 
> ; this goes in your .emacs file or default file
> ; (which I can't find).
> ;
> (eval-after-load "ada-mode" '(load "ada-mode-keys"))
> 
> 
> 
>>Guess I will have
>>to stick with ^Q tab for a while. :(
>>
> 
> That gives "^@" as text here.
> 
> 
> Chris
> 
> 
> 



-- 
Remove *nospam* to email.              -- Adrian Hoe
                                        -- http://adrianhoe.com




^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-11 13:17         ` Adrian Hoe
@ 2002-06-11 14:06           ` chris.danx
  0 siblings, 0 replies; 32+ messages in thread
From: chris.danx @ 2002-06-11 14:06 UTC (permalink / raw)



"Adrian Hoe" <mailbox@*nospam*adrianhoe.com> wrote in message
news:3d05f74f_1@news.tm.net.my...

> > In the meantime I defined the following using Stephens instructions as a
> > guide:
> >
> > ; this goes in a custom file (e.g. ada-mode-keys.el).
> > ;
>
>
>
> I don't have this file in my directory. SHould I create one? Will it
> crash with ada-modes.el?

Yeah, put it on your path (e.g. in the same directory as the programming
modes, think it's called progmodes).

It won't clash with ada-modes.el, except that it redefines C-tab to have a
different behaviour than what it usually has (hence why it needs to be
loaded after ada-mode is loaded).


Chris





^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-11 13:10         ` Adrian Hoe
@ 2002-06-11 15:12           ` John McCabe
  0 siblings, 0 replies; 32+ messages in thread
From: John McCabe @ 2002-06-11 15:12 UTC (permalink / raw)


On Tue, 11 Jun 2002 21:10:46 +0800, Adrian Hoe
<mailbox@*nospam*adrianhoe.com> wrote:

>John McCabe wrote:
>
>> On 11 Jun 2002 09:12:10 GMT, Frode Tenneboe <ft@alne.edh.ericsson.se>
>> wrote:
>> 
>> 
>>>David Marceau <davidmarceau@sympatico.ca> wrote:
>>>
>>>>Jeremy wrote:
>>>>
>>>>>Emacs is the best for Ada!
>>>>>
>>>>Someone once said: "Great minds think alike" :)
>>>>
>>>[Emacs features deleted]
>>>
>>>My problem is that every time I'd like a specific feature I don't have
>>>time to delve into elisp and hack around, so....would anyone who happen
>>>to have a nicely commented .emacs, which works farily well with both 
>>>emacs and Xemacs, be willing to share their file[s] with equal minded?
>>>
>> 
>> Are you aware that the XEmacs lot have changed their default init file
>> fairly recently?
>> 
>
>Nope. I am not.

Ah - having looked at:

http://www.xemacs.org/Architecting-XEmacs/init-files.html

perhaps I'm a bit premature on that one, but it looks confusing
anyway!




^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: Ada Mode for Emacs
  2002-06-11  9:12     ` Frode Tenneboe
  2002-06-11 11:54       ` John McCabe
@ 2002-06-11 18:25       ` Stephen Leake
  1 sibling, 0 replies; 32+ messages in thread
From: Stephen Leake @ 2002-06-11 18:25 UTC (permalink / raw)


Frode Tenneboe <ft@alne.edh.ericsson.se> writes:

> My problem is that every time I'd like a specific feature I don't have
> time to delve into elisp and hack around, 

Well, I find hacking on Emacs to be a nice reminder of why I like Ada :).

> so....would anyone who happen to have a nicely commented .emacs,
> which works farily well with both emacs and Xemacs, be willing to
> share their file[s] with equal minded?

My Emacs stuff is available at
http://users.erols.com/leakstan/Stephe/emacs/index.html

It works with Emacs 20, and I'm upgrading to Emacs 21 (not on the web
site yet). I _don't_ use Xemacs, so you're on your own their.

As for nicely commented, _I_ can read it :).

-- 
-- Stephe



^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2002-06-11 18:25 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-06-09  0:26 Ada Mode for Emacs chris.danx
2002-06-09  2:34 ` Jeremy
2002-06-09  5:19   ` David Marceau
2002-06-09  7:08     ` [OT] " Pascal Obry
2002-06-09 10:35       ` Preben Randhol
2002-06-09 10:46         ` Pascal Obry
2002-06-09 16:35         ` Darren New
2002-06-09 23:54           ` Preben Randhol
2002-06-11  9:12     ` Frode Tenneboe
2002-06-11 11:54       ` John McCabe
2002-06-11 13:10         ` Adrian Hoe
2002-06-11 15:12           ` John McCabe
2002-06-11 18:25       ` Stephen Leake
2002-06-09 13:05   ` chris.danx
2002-06-09 17:13     ` Chad R. Meiners
2002-06-10 11:07       ` Adrian Hoe
2002-06-09 17:57     ` Simon Wright
2002-06-10  9:59       ` Emmanuel Briot
2002-06-10 11:09       ` Adrian Hoe
2002-06-09 11:08 ` Simon Wright
2002-06-09 11:43   ` Preben Randhol
2002-06-09 14:14     ` Pascal Obry
2002-06-09 22:42 ` Stephen Leake
2002-06-10  1:27   ` chris.danx
2002-06-10 12:52     ` Stephen Leake
2002-06-11  6:08     ` Adrian Hoe
2002-06-11 12:11       ` chris.danx
2002-06-11 13:17         ` Adrian Hoe
2002-06-11 14:06           ` chris.danx
2002-06-10 12:00   ` chris.danx
2002-06-10 15:02 ` Georg Bauhaus
  -- strict thread matches above, loose matches on Subject: below --
1993-09-08 22:19 Ada mode for emacs munck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox