From: Nikolaj Schumacher <me@nschum.de>
To: Decebal <CLDWesterhof@gmail.com>
Cc: help-gnu-emacs@gnu.org
Subject: Re: Extra info in modeline (tip and questions)
Date: Wed, 15 Apr 2009 15:14:23 +0200 [thread overview]
Message-ID: <m263h65aa8.fsf@nschum.de> (raw)
In-Reply-To: <a38f66b7-b0a7-4820-af14-00040e90719b@r33g2000yqn.googlegroups.com> (Decebal's message of "Tue, 14 Apr 2009 22:53:57 -0700 (PDT)")
Decebal <CLDWesterhof@gmail.com> wrote:
> The reason I put the closing parentheses on its own line, is that I
> find that more readable. I would even prefer:
It probably is. I do it in C myself. But with Lisp you have so many
parentheses that you lose too much vertical space.
The trick is to read the indentation instead of trying to mentally match
parentheses. Since I got used to that I actually prefer the concise representation.
>> Also there are alternatives to updating the mode-line from a timer.
>> The mode-line supports a special :eval form with functions that are
>> called automatically, or you might update the values in
>> `after-change-functions'.
>
> Do you have any good pointers?
Just C-h v mode-line-format and C-h v after-change-functions.
For an :eval example see:
http://nschum.de/src/emacs/window-numbering-mode/
for hooks:
http://www.emacswiki.org/emacs-en/ChangeHook
> What I would like is that when I call the function interactively, that
> instead of returning the value, the value is displayed in the
> minibuffer. For this I need to know if the function is called
> interactively. If that is the case, I should do:
> (message <return-value>)
> Is there a way to know if the function called interactively?
Well, there is `called-interactively-p', but I would just add another
parameter like this:
(defun test (beg end &optional verbose)
(interactive "r\nd")
(when verbose
(message (buffer-substring beg end))))
> I also have another function where I need to input a boolean value
> interactively. At the moment I am doing this with n and use 0 for
> false and every other value for true. Is there a better way?
You can use `y-or-n-p' or `yes-or-no-p'. But they don't have
characters in the interactive form. So you need to do this:
(interactive (list (y-or-n-p "bool: ")))
Often the prefix-arg is perfect for boolean options, too.
regards,
Nikolaj Schumacher
next prev parent reply other threads:[~2009-04-15 13:14 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-14 14:03 Extra info in modeline (tip and questions) Decebal
2009-04-14 15:54 ` Nikolaj Schumacher
[not found] ` <mailman.5329.1239724470.31690.help-gnu-emacs@gnu.org>
2009-04-15 5:53 ` Decebal
2009-04-15 13:14 ` Nikolaj Schumacher [this message]
[not found] ` <mailman.5377.1239801271.31690.help-gnu-emacs@gnu.org>
2009-04-28 7:55 ` Decebal
2009-04-28 10:27 ` Decebal
2009-04-28 8:04 ` Decebal
2009-04-28 8:23 ` Decebal
2009-04-15 11:06 ` Decebal
2009-04-15 13:23 ` Nikolaj Schumacher
[not found] ` <mailman.5379.1239801830.31690.help-gnu-emacs@gnu.org>
2009-04-15 16:13 ` Decebal
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m263h65aa8.fsf@nschum.de \
--to=me@nschum.de \
--cc=CLDWesterhof@gmail.com \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.