Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

GNU Emacs 20.5.1 bugi!

0 views
Skip to first unread message

Joona I Palaste

unread,
Mar 4, 2001, 4:11:20 PM3/4/01
to
Löysinpä kivan bugin GNU Emacs 20.5.1:stä...

Yrittäkääpä kirjoittaa ko. Emacsilla C-moodissa seuraavaa tiedostoa:

#include <stdio.h>
int main(void)
{
return 0;
}

Kaikki sujuu hyvin puolipisteeseen (;) asti. Kun sitten painaa sitä
puolipistettä näppäimistöllä, koko Emacs hyytyy siihen paikkaan. Ainoa
keino päästä siitä eroon on tappaa koko prosessi SIGINT-, SIGTERM- tai
SIGKILL-signaalilla.
Koska tuo ylläoleva ohjelma on täysin ANSI C -standardin mukainen, ei
GNU Emacs 20.5.1:n C-moodi toimi ihan oikein.

--
/-- Joona Palaste (pal...@cc.helsinki.fi) ---------------------------\
| Kingpriest of "The Flying Lemon Tree" G++ FR FW+ M- #108 D+ ADA N+++|
| http://www.helsinki.fi/~palaste W++ B OP+ |
\----------------------------------------- Finland rules! ------------/

"As we all know, the hardware for the PC is great, but the software sucks."
- Petro Tyschtschenko

Ilkka Oksanen

unread,
Mar 4, 2001, 6:59:56 PM3/4/01
to

Joona I Palaste <pal...@cc.helsinki.fi> writes:
> Kaikki sujuu hyvin puolipisteeseen (;) asti. Kun sitten painaa sitä
> puolipistettä näppäimistöllä, koko Emacs hyytyy siihen paikkaan. Ainoa
> keino päästä siitä eroon on tappaa koko prosessi SIGINT-, SIGTERM- tai
> SIGKILL-signaalilla.

Tämä nyt ei liity mitenkään yksistään linuxiin, mutta kokeilitko
painaa control-g:tä. Ainakin tässä Xemacs 21.1.12:ssa
ja Gnu emacs 20.6.1 se auttaa. Vika on mitä todennäköisimmin
c-modessa, eikä itse (x)emacsissa

-ilkka

Juha Autero

unread,
Mar 5, 2001, 4:04:23 AM3/5/01
to
Joona I Palaste <pal...@cc.helsinki.fi> writes:

> Löysinpä kivan bugin GNU Emacs 20.5.1:stä...

Sama bugi näyttää olevan Xemacs 31.1.9:ssä. Kuten Illka Oksanen totesi
viestissä <m3d7bxg...@c208d.mtalo.ton.tut.fi> kyseessä on varmasti
c-moden ongelma.

> Kaikki sujuu hyvin puolipisteeseen (;) asti. Kun sitten painaa sitä
> puolipistettä näppäimistöllä, koko Emacs hyytyy siihen paikkaan.

Puolipiste suorittaa c-moodissa komennon c-electric-semi&comma.
Nuo .*-electric-.* komennot myös sisentävät rivin käytössä olevien
sisennyssääntöjen mukaisesti. C-moden sisennys on kontekstipohjainen
ja koodi nähtävästi jää ikiloopiin yrittäessään selvittää kyseisen
rivin kontekstia. Ja siitähän pääsee pois C-g:llä.

> Koska tuo ylläoleva ohjelma on täysin ANSI C -standardin mukainen, ei
> GNU Emacs 20.5.1:n C-moodi toimi ihan oikein.

Onko? C-moden sisennysalgoritmille näyttää tuottavan ongelmia se, että
preprosessorin "#include" -komennon alussa on välilyöntejä. Ja käsittääkseni
C-standardi sanoo, että noiden on oltava rivin alussa.

--
Juha Autero
http://www.iki.fi/jautero/
Eschew obscurity!

0 new messages