From: "Andreas Röhler" <andreas.roehler@easy-emacs.de>
To: help-gnu-emacs@gnu.org
Subject: Re: Is it obvious that string-match syntax matching is affected by the current buffer?
Date: Sun, 13 Mar 2016 17:52:32 +0100 [thread overview]
Message-ID: <56E59AD0.5070302@easy-emacs.de> (raw)
In-Reply-To: <loom.20160313T173100-226@post.gmane.org>
On 13.03.2016 17:31, Tom wrote:
> I did a word constituent match with string-match and a question
> occured to me: what controls what is considered word constituent
> in this case?
>
> I checked info, but I saw no mention of this, so I did a test and
> yes, the current syntax table affects string-match:
>
> (let ((tab (make-syntax-table)))
> (modify-syntax-entry ?a " " tab)
> (with-syntax-table tab
> (string-match "\\s-" "a")))
>
>
> Isn't a strange? E.g. I'm doing a string match in elisp, so I'm
> not working with the current buffer, yet its active syntax table
> affects the result of string-match. Seems to me these are
> different domains and string-match should have its own
> string-match-syntax-table or something, so there can be no
> match side effects depending on the currently active buffer.
>
> Do you think it's obvious for the elisp users that string-match
> is affected by the current buffer? Maybe the documentation should
> mention this. (Maybe it does, but I didn't see it.)
>
>
>
string-match here is called from inside a let, so the settings there
prevail.
Also from inside let: "with-syntax-table tab" - whilst"tab" is also
let-bound.
Let protects against outer settings, so current-buffer or not seems not
at stake.
next prev parent reply other threads:[~2016-03-13 16:52 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-13 16:31 Is it obvious that string-match syntax matching is affected by the current buffer? Tom
2016-03-13 16:52 ` Andreas Röhler [this message]
2016-03-13 16:56 ` Tom
2016-03-13 17:23 ` Eli Zaretskii
2016-03-13 19:19 ` Tom
2016-03-13 19:36 ` Eli Zaretskii
2016-03-14 0:13 ` Stefan Monnier
2016-03-14 0:40 ` Drew Adams
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56E59AD0.5070302@easy-emacs.de \
--to=andreas.roehler@easy-emacs.de \
--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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).