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

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

Re: Newbie Conditional Problem


From: David Kastrup
Subject: Re: Newbie Conditional Problem
Date: 17 Jan 2003 17:52:57 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50

"CarlC" <carlc@snowbd.com> writes:

> "David Kastrup" <dak@gnu.org> wrote in message
> x54r87zrdo.fsf@lola.goethe.zz">news:x54r87zrdo.fsf@lola.goethe.zz...
> > Well, what do you expect? (goto-line line) is no function, and you
> > use it in the place of one, namely immediately after an opening
> 
> C-f h goto-line RET shows:
> 
> goto-line is an interactive compiled Lisp function in `simple'.

See?  goto-line is a function.  (goto-line line) is a function call.

> (goto-line ARG)

This is supposed to illustrate how goto-line is called.  A function
call is not the same as a function.

> Goto line ARG, counting from line 1 at beginning of buffer.
> 
> I am new to this. Is it technically a command or function? Can it be
> used immediatly after an opening parenthesis?

goto-line is a function.  It can be "used" immediately after an
opening parenthesis.  This is not what Emacs complained about.  Emacs
complained about using (goto-line line) after an opening
parenthesis.  (goto-line line) is not a function, it is a function
call.

> It seems to work fine outside of this conditional.

No, it doesn't.  (goto-line line) will work fine.
((goto-line line) ...) will not.

> I can put other commands in the conditional and they fail, also.

You don't put them in the conditional.  You put them in the
function call place of a function that you want to have as the body
of the conditional.

> > parenthesis of a non-special form.  I recommend that you instead use
> > progn after the opening parenthesis.  Look it up with
> >
> > C-h f progn RET
> 
> progn is a special form.
> (progn BODY ...)
> 
> Eval BODY forms sequentially and return value of last one.
> 
> This doesn't tell me a whole lot. I get an invalid function using progn,
> also. Is it a function?

(progn (goto-line line) (goto-line line))

would be a valid form.

((goto-line line) (goto-line line))

isn't, and because of the first function call in it which is used as
if it were a function.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum


reply via email to

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