help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: [newbie] emacs flyspell not understands well accented chars


From: Oliver Scholz
Subject: Re: [newbie] emacs flyspell not understands well accented chars
Date: Tue, 03 Jun 2003 16:53:57 +0200
User-agent: Gnus/5.090019 (Oort Gnus v0.19) Emacs/21.3.50 (windows-nt)

Mario Giammarco <mgiammarco@nospam.supereva.it> writes:

> Oliver Scholz wrote:
>
>
>>> I obtain at the start of emacs this error: Symbol value as variable is
>>> void
>> 
>> This error message is about the symbol
>> `ispell-local-dictionary-alist', I presume?
>> 
>> Very, very strange, it seems to be preloaded on my Emacs. Does it
>> work, if you put a
>> 
>> (require 'ispell)
>> 
>> immediately before the `(add-to-list ... )'?
>> 
>
> I have put (require 'ispell) as you said but the error persists, this is the
> backtrace:
>
> Debugger entered--Lisp error: (void-variable               )
>   (add-to-list (quote ispell-local-dictionary-alist)                (quote
[...]

Huh? This looks very, very wrong. Did you modify this backtrace
somehow? If not, then I am really puzzled. If
`ispell-local-dictionary-alist' is undefined (if that's the reason for
the error), then I'd expect to see something like

Debugger entered--Lisp error: (void-variable ispell-local-dictionary-alist)
  add-to-list(ispell-local-dictionary-alist ("italianx" "[[:alpha:]]" 
"[^[:alpha:]]" "[']" t ("-C" "-d" "italian") "~latin1" iso-8859-15))
[...]

... alright let's go about this methodically:

1) Please remove the `add-to-list' expression from your .emacs and
   start it as usual. Then type `M-x locate-library RET ispell RET'
   and post what you see in the echo area (messages are collected in a
   special buffer *Messages*, you can copy&paste the line from there).

   One possible reason why you Emacs behaves in a different way than
   mine could be that you have a second ispell.el library in your
   load-path which shadows the ispell.el that comes with Emacs. If
   that's the case, we'll find it out with `M-x locate-library'.


2) Please start Emacs from a command line like this:

   emacs -q --no-site-file

   This makes sure that Emacs does not load your configuration file,
   which makes sure that there is no other, unrelated problem that
   could interfere here.

   Then insert the `(add-to-list ... )' expression into the buffer
   named *scratch*. Move the cursor behind the last parenthesis and
   type `C-x C-e'. Do you get a similar error? If so, please post the
   whole backtrace (per copy&past) and then try to replace
   `ispell-local-dictionary-alist' with `ispell-dictionary-alist':

(add-to-list 'ispell-dictionary-alist
             '("italianx"
               "[[:alpha:]]"
               "[^[:alpha:]]"
               "[']" t
               ("-C" "-d" "italian")
               "~latin1" iso-8859-15))

   Again, put point behind the last parenthesis and hit `C-x C-e'. Do
   you get an error then, too?

>> Aah, I suspected something like that.
>> 
>> This expression is wrong. It doesn't give an error, of course, but in
>> fact it does absolutely nothing.
>> 
> Sigh I newer will be a lisp programmer :-(

If everything is alright, you normally shouldn't have to expose
yourself to Lisp in order to use Emacs. Unfortunately sometimes things
go wrong as in your case.

Personally I found Lisp very easy as my first programming language. I
think, if you already know other programming languages, you could
have slightly more problems with it, because it is so very different,
constituting a whole family of its own.

In case, you are interested: here are some very simplified notes
about Lisp-expressions:

(symbol ....)

This expression calls a function named `symbol'. Everything else
inside the parentheses is passed as an argument to the function
`symbol'.

'(symbol ...)

This expression is just a list with the symbol `symbol' as its first
element. No function call takes place, because of the `''. That is:
the expression is _quoted_.

symbol

This symbol is treated as the name of a variable. The Lisp
interpreter evaluates it and uses its value.

'symbol

This symbol is quoted. The Lisp interpreter uses the symbol
itself. (Symbols are a special data type in Lisp.)

Now this stuff works together recursively:

(symbol-1 'symbol-2              ; First argument
          symbol-3               ; Second argument
          (symbol-4)             ; Third argument
          '(symbol-5 symbol-6))  ; Fourth argument

This calls the _function_ symbol-1 with four arguments: 1) The symbol
symbol-2, 2) the value of the variable `symbol-3'. 3) To get the third
argument, the Lisp interpreter calls the _function_ `symbol-4'
(without arguments), its return value is after that used as the third
argument for the function `symbol-1'. 4) A list with the symbols
`symbol-5' and `symbol-6' as its elements.

I hope, I didn't introduce more confusion. Don't worry. Even if you
don't know Lisp: I do. Just make sure, that you post _exactly_ what
you do.

    Oliver
-- 
15 Prairial an 211 de la Révolution
Liberté, Egalité, Fraternité!


reply via email to

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