With the following forms in my .emacs, which the *scratch* buffer
    evaluates without complaint, (from which I infer that they are at least
    syntactically correct)
    
    (defconst *vowels* '(?a ?e ?i ?o ?u ?y)
      "A list of the English vowels in lowercase.")
    
    ...
    (defun vowelp (char)
      (memq (downcase char) *vowels*))
    
    (defun goto-vowel
    "Skip to next vowel after point."
    (interactive)
    (while (not (vowelp (char-after))) (forward-char))
    )
    
    (define-key global-map [f11] 'goto-vowel)
    
    ...
    
    I get this error message:
    
    "call-interactively: Invalid function: (lambda "Skip to next vowel after
    point." (interactive) (while (not (vowelp (char-after)))
    (forward-char)))"
    
    What am I not understanding here?

Your function is missing an argument list. It should have the empty list after 
the command name:

    (defun goto-vowel ()
     ...)



_______________________________________________
Help-gnu-emacs mailing list
Help-gnu-emacs@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gnu-emacs

Reply via email to