Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8534957
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 11, 20262026-06-11T10:19:03+00:00 2026-06-11T10:19:03+00:00

I am following the elisp introduction. Very first chapters. Here is two exemples I’ve

  • 0

I am following the elisp introduction. Very first chapters. Here is two exemples I’ve copied/pasted from the html book. I’ve evaluated both forms, and here I copie/paste the returned value and the output as a side effect from the *Messages* buffer (I don’t know how to copy the mini-buffer content).

First form

(let ((zebra 'stripes)
      (tiger 'fierce))
  (message "One kind of animal has %s and another is %s."
           zebra tiger))

Output from *Messages*

One kind of animal has stripes and another is fierce.
#("One kind of animal has stripes and another is fierce." 23 30 (fontified t))

Second form

(let ((birch 3)
      pine
      fir
      (oak 'some))
  (message "Here are %d variables with %s, %s and %s value."
           birch pine fir oak))

Output from *Messages* is:

Here are 3 variables with nil, nil and some value.
"Here are 3 variables with nil, nil and some value."

Why is the first form returning a lambda value please?
What make the first form so special that the returned value won’t be a character string?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-11T10:19:04+00:00Added an answer on June 11, 2026 at 10:19 am

    The message return type is merely a string. In the *Messages* buffer you see both the return value of message (displayed in quotes in the echo area by the evaluating command), and the unquoted string displayed in the echo area by message itself. The first result was not a lambda, but a string with text properties.

    In Emacs, the printable representation of string objects is normally their contents in double quotes, as in your second example. However, strings with text properties attached are printed in a more complex manner, as #("...string contents..." start end (property value...) ...). This extended syntax is for the Lisp reader to be able to recreate the properties when the string is read back from its textual representation. You can test this by evaluating M-: (insert #("foo" 0 3 (face (:foreground "yellow")))) in a fresh buffer – the text will come up yellow because the string itself contained instructions to paint it yellow. (To see this, you need to be in a fresh buffer obtained with, say, C-x b randomname RET — it won’t work in syntax-highlighted buffers such as *scratch*, because they colorize the text themselves.)

    So, the first string you printed came with properties attached, possibly as an artifact of copying and pasting, which is why it was printed as #("..." ...). The second string had no properties, and could be printed as a simple string.

    The Emacs Lisp manual contains much more info on text properties.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

following code is used to find url from a string with php. Here is
I have the following dead simple elisp functions; the first removes the fill breaks
I wanted to automate the html export of two org-mode files using a elisp
I'm trying to learn Lisp (elisp, actually), and I tried writing the following function
Following chunk html code works as expected: <iframe src=http://www.amazon.com/></iframe> But when trying embed inner
Following on from my previous question: Simple inner join in linq How would I
I am trying to access the StackExchange API from Emacs' elisp: (require 'url) (require
Following on from an earlier question I'm trying to get multiple (widgets or in
Following example code from the libpcap documentation yields the following code which should report
Following the instructions here: http://www.padrinorb.com/guides/padrino-mailer I have the delivery method added on the app.rb

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.