Skip to main content


elisp question

I just put a call to eval in my code and I feel dirty now.

The context went something like this:

(eval (cons 'concat (my-function arg1 arg2)))

I had initially hoped to use
(concat . (my-function arg1 arg2))

...but this resulted in a call to
(concat my-function arg1 arg2)

Which was not what I expected.

Is there a better way I could've written this?
#emacs #lisp #elisp

Edit: Got my answer. I wanted:

(apply 'concat (my-func arg1 arg2))
in reply to Jonathan Lamothe

elisp question

Sensitive content

in reply to Jonathan Lamothe

elisp question

Sensitive content

This entry was edited (3 hours ago)
in reply to hajovonta

elisp question

@hajovonta Yup. Got my answer.

I had figured out why it wasn't working. I was just unaware of the existence of the apply function, which turned out to be exactly what I needed.

in reply to Jonathan Lamothe

elisp question

Sensitive content

in reply to Thuna

elisp question

@Thuna ...and this is why I wish I could search for functions by type signature like in Haskell. 😛

I find myself reinventing the wheel oftentimes simply because I didn't know the function I wanted already existed.

This website uses cookies. If you continue browsing this website, you agree to the usage of cookies.