unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
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.



  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).