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

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

Re: Make new buffers into new frames


From: tomas
Subject: Re: Make new buffers into new frames
Date: Mon, 30 Sep 2024 06:41:04 +0200

On Sun, Sep 29, 2024 at 07:31:07PM +0000, Heime wrote:
> 
> 
> 
> 
> 
> Sent with Proton Mail secure email.
> 
> On Monday, September 30th, 2024 at 7:22 AM, tomas@tuxteam.de 
> <tomas@tuxteam.de> wrote:
> 
> > On Sun, Sep 29, 2024 at 07:16:22PM +0000, Heime wrote:
> > 
> > [...]
> > 
> > > > > > 'action (display-message my-message "Info Buffer")
> > 
> > > > And now explain to us what kind of thing the function "insert-button"
> > > > expects after the symbol 'action.
> > > 
> > > There is not much information in the manual about it. In the section
> > > Button Properties, action states that it requires a function
> > 
> > 
> > Aha! A function. Now stop ten seconds: a function makes sense? Yes,
> > kind of. To me at least.
> > 
> > And now: what are you giving to it?
> 
> I am currently giving it the command to print the text in some new buffer.

No. You are not. What does your lisp do when it "sees" the expression

  (+ 1 2)

...and what is the result?

You put the expression

  (display-message my-message "Info Buffer")

...which gets evaluated on-the-spot, and returns... a window! (what you can
confirm if you follow the code). So your insert-button invocation places a
window in its 'action "place" and tries to call that window as if it were a
function. This can't go well.

Thus the error message.

Once again. Try to wrap your head around the Lisp evaluation model. This will
save you a lot of work long-term.

Cheers
-- 
t

Attachment: signature.asc
Description: PGP signature


reply via email to

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