From: Lars Ingebrigtsen <larsi@gnus.org>
To: Paul Eggert <eggert@cs.ucla.edu>
Cc: rms@gnu.org, emacs-devel@gnu.org
Subject: Re: RFC: String interpolation
Date: Wed, 14 Dec 2016 00:55:17 +0100 [thread overview]
Message-ID: <m3vaun4c62.fsf@gnus.org> (raw)
In-Reply-To: <4e9c0a7e-2d44-5fc7-79d8-7b19758fef01@cs.ucla.edu> (Paul Eggert's message of "Tue, 13 Dec 2016 10:05:42 -0800")
Paul Eggert <eggert@cs.ucla.edu> writes:
> (message (concat "Clock stopped at %s after "
> (org-minutes-to-clocksum-string (+ (* 60 h) m))
> "%s")
> te (if remove " => LINE REMOVED" ""))
>
> could be rewritten this way:
>
> (message "Clock stopped at %s%" te
> " after %s%" (org-minutes-to-clocksum-string (+ (* 60 h) m))
> "%s" (if remove " => LINE REMOVED" ""))
I've been trying out this syntax a bit (just rewriting a few statements
to see whether they look better or worse than the old statements :-)),
and I think I kinda like it.
It seems clean and there's no "magic", so there are no corner cases that
I can see.
The number of ""s may be an impediment against using it in some cases,
though. If you look at a simple format statement today:
(message "The time is %d in the %s bit of %s" clock part country)
I don't think you'd want to rewrite that to
(message "The time is %d%" clock " in the %s%" part " bit of %s%" country)
Or would you? (The final "%" is optional, of course.") It has the
advantage that you don't have to count to match up variables with
formatting statements, but it's not as immediately clear what the
resulting string will end up looking like.
Hm...
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
next prev parent reply other threads:[~2016-12-13 23:55 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-08 1:13 RFC: String interpolation Clément Pit--Claudel
2016-12-08 8:27 ` Andreas Schwab
2016-12-08 8:38 ` Joost Kremers
2016-12-08 9:05 ` Philippe Vaucher
2016-12-08 18:25 ` Clément Pit--Claudel
2016-12-08 9:02 ` Philippe Vaucher
2016-12-08 18:22 ` Clément Pit--Claudel
2016-12-08 14:43 ` Joost Kremers
2016-12-08 18:37 ` Clément Pit--Claudel
2016-12-08 20:04 ` Stefan Monnier
2016-12-09 8:57 ` Joost Kremers
2016-12-08 15:51 ` Drew Adams
2016-12-08 18:21 ` Clément Pit--Claudel
2016-12-08 20:38 ` Richard Stallman
[not found] ` <<E1cF5SK-0000HO-EL@fencepost.gnu.org>
2016-12-08 22:04 ` Drew Adams
2016-12-08 19:05 ` Stefan Monnier
2016-12-08 19:31 ` Clément Pit--Claudel
2016-12-08 21:31 ` Stefan Monnier
2016-12-10 16:01 ` Clément Pit--Claudel
2016-12-09 19:19 ` Ted Zlatanov
2016-12-09 22:45 ` Clément Pit--Claudel
2016-12-11 2:53 ` Ted Zlatanov
2016-12-11 18:46 ` Lars Ingebrigtsen
2016-12-11 18:56 ` Clément Pit--Claudel
2016-12-11 19:34 ` Lars Ingebrigtsen
2016-12-11 17:38 ` Stefan Monnier
2016-12-11 17:53 ` Clément Pit--Claudel
2016-12-10 14:11 ` Lars Ingebrigtsen
2016-12-10 14:25 ` Clément Pit--Claudel
2016-12-10 15:39 ` Lars Ingebrigtsen
2016-12-10 15:49 ` Clément Pit--Claudel
2016-12-10 16:01 ` Yuri Khan
2016-12-10 17:58 ` Clément Pit--Claudel
2016-12-11 17:47 ` Stefan Monnier
2016-12-11 19:31 ` Yuri Khan
2016-12-11 20:12 ` Stefan Monnier
2016-12-11 9:35 ` Richard Stallman
2016-12-11 16:29 ` Clément Pit--Claudel
2016-12-11 18:42 ` Lars Ingebrigtsen
2016-12-12 19:41 ` Richard Stallman
2016-12-11 18:41 ` Lars Ingebrigtsen
2016-12-11 21:05 ` Helmut Eller
2016-12-11 21:26 ` Lars Ingebrigtsen
2016-12-12 2:39 ` Stefan Monnier
2016-12-12 9:44 ` Lars Ingebrigtsen
2016-12-12 13:03 ` Stefan Monnier
2016-12-12 14:47 ` Lars Ingebrigtsen
2016-12-12 15:04 ` Stefan Monnier
2016-12-12 15:26 ` Lars Ingebrigtsen
2016-12-12 17:05 ` Stefan Monnier
2016-12-12 17:12 ` Lars Ingebrigtsen
2016-12-12 17:23 ` Stefan Monnier
2016-12-12 13:40 ` Clément Pit--Claudel
2016-12-12 14:43 ` Lars Ingebrigtsen
2016-12-12 14:54 ` Clément Pit--Claudel
2016-12-12 17:14 ` Stefan Monnier
2016-12-12 17:46 ` Paul Eggert
2016-12-12 18:33 ` Lars Ingebrigtsen
2016-12-12 19:51 ` Ted Zlatanov
2016-12-12 20:41 ` Paul Eggert
2016-12-12 23:40 ` Paul Eggert
2016-12-13 17:42 ` Richard Stallman
2016-12-13 18:05 ` Paul Eggert
2016-12-13 23:55 ` Lars Ingebrigtsen [this message]
2016-12-14 0:07 ` Paul Eggert
2016-12-14 0:10 ` John Wiegley
2016-12-14 0:14 ` Lars Ingebrigtsen
2016-12-14 0:17 ` Paul Eggert
2016-12-14 0:26 ` John Wiegley
2016-12-14 1:48 ` Drew Adams
2016-12-14 2:48 ` Elias Mårtenson
2016-12-14 3:33 ` Drew Adams
2016-12-14 3:52 ` Elias Mårtenson
2016-12-14 13:52 ` Lars Brinkhoff
2016-12-14 13:57 ` Lars Brinkhoff
2016-12-14 0:24 ` Drew Adams
2016-12-14 0:21 ` Clément Pit--Claudel
2016-12-14 14:10 ` Lars Ingebrigtsen
2016-12-14 17:00 ` Richard Stallman
2016-12-12 19:43 ` Richard Stallman
2016-12-12 21:11 ` Lars Ingebrigtsen
2016-12-13 17:41 ` Richard Stallman
2016-12-13 17:43 ` Lars Ingebrigtsen
2016-12-14 17:01 ` Richard Stallman
2016-12-13 1:04 ` Ted Zlatanov
2016-12-12 16:39 ` Helmut Eller
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=m3vaun4c62.fsf@gnus.org \
--to=larsi@gnus.org \
--cc=eggert@cs.ucla.edu \
--cc=emacs-devel@gnu.org \
--cc=rms@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.