From: Bastien <bzg@gnu.org>
To: "Pascal J. Bourguignon" <pjb@informatimago.com>
Cc: emacs-devel@gnu.org
Subject: Re: Why (substring "abc" 0 4) does not return "abc" instead of an error?
Date: Mon, 16 Jul 2012 16:40:37 +0200 [thread overview]
Message-ID: <87r4sbeplm.fsf@altern.org> (raw)
In-Reply-To: <87liij3l8f.fsf@kuiper.lan.informatimago.com> (Pascal J. Bourguignon's message of "Mon, 16 Jul 2012 15:10:24 +0200")
Hi Pascal,
"Pascal J. Bourguignon" <pjb@informatimago.com> writes:
> (defun mysubstring (str start end)
> (substring str (max start 0)
> (if end
> (min end (length str))
> (length str))))
>
> and use (mysubstring "abc" 0 4) --> "abc"
> instead of substring.
I know how to implement my own defun for this but thanks.
My question was about what _justifies_ the current behavior.
Dmitry said at least JS, Ruby, Python and perhaps C++ uses
the behavior I mention -- so I'm even more curious now.
I am not saying the behavior I expect is superior, it is
just the one I expect -- I would like to read a good reason
for the current one. Juanma have a point when he said that
the current behavior is consistent with other *-substring
functions but again, `substring' seems different to me.
> The point of lisp is to let you define your own language seamlessly.
True.
But the point of sharing code is also to not reinvent the
wheel, right?
Best,
--
Bastien
next prev parent reply other threads:[~2012-07-16 14:40 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-16 3:45 Why (substring "abc" 0 4) does not return "abc" instead of an error? Dmitry Gutov
2012-07-16 7:32 ` Bastien
2012-07-16 7:52 ` Thierry Volpiatto
2012-07-16 8:38 ` Bastien
2012-07-16 13:03 ` Dmitry Gutov
2012-07-16 14:32 ` Bastien
2012-07-16 13:10 ` Pascal J. Bourguignon
2012-07-16 14:40 ` Bastien [this message]
2012-07-16 15:00 ` Pascal J. Bourguignon
2012-07-16 15:07 ` Lennart Borgman
2012-07-16 15:19 ` Pascal J. Bourguignon
2012-07-16 15:22 ` Bastien
2012-07-16 15:46 ` Bastien
2012-07-16 15:49 ` Bastien
2012-07-16 19:49 ` Thien-Thi Nguyen
2012-07-16 22:32 ` Bastien
2012-07-16 15:56 ` Pascal J. Bourguignon
2012-07-16 16:13 ` Bastien
-- strict thread matches above, loose matches on Subject: below --
2012-07-16 19:00 Dmitry Gutov
2012-07-16 19:51 ` Tassilo Horn
2012-07-15 23:15 Bastien
2012-07-15 23:29 ` Juanma Barranquero
2012-07-15 23:59 ` Bastien
2012-07-16 0:10 ` Juanma Barranquero
2012-07-16 7:14 ` Bastien
2012-07-16 16:15 ` Stefan Monnier
2012-07-16 16:22 ` Bastien
2012-07-16 16:46 ` Bastien
2012-07-16 17:57 ` Tassilo Horn
2012-07-16 18:51 ` Lars Magne Ingebrigtsen
2012-07-16 19:30 ` Bastien
2012-07-16 19:30 ` Tassilo Horn
2012-07-16 20:20 ` Pascal J. Bourguignon
2012-07-16 19:25 ` Bastien
2012-07-16 19:43 ` Bastien
2012-07-16 20:19 ` Pascal J. Bourguignon
2012-07-16 20:30 ` Stefan Monnier
2012-07-16 22:28 ` Lennart Borgman
2012-07-16 22:48 ` Bastien
2012-07-16 22:53 ` Lennart Borgman
2012-07-16 7:38 ` Andreas Schwab
2012-07-16 9:40 ` Juanma Barranquero
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=87r4sbeplm.fsf@altern.org \
--to=bzg@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=pjb@informatimago.com \
/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.