unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: rasmith@tamu.edu
To: lennart.borgman@gmail.com
Cc: help-gnu-emacs@gnu.org
Subject: Re: search-forward in emacs23 lisp
Date: Sun, 28 Mar 2010 12:04:01 -0500 (CDT)	[thread overview]
Message-ID: <20100328.120401.200754749763864021.rasmith@aristotle.tamu.edu> (raw)
In-Reply-To: <e01d8a51003280950ob3cc945o2ba2e2d5c0503499@mail.gmail.com>

From: Lennart Borgman <lennart.borgman@gmail.com>
Subject: Re: search-forward in emacs23 lisp
Date: Sun, 28 Mar 2010 18:50:46 +0200

> On Sun, Mar 28, 2010 at 6:39 PM,  <rasmith@tamu.edu> wrote:> Sorry to
> reply to my own post, but the following rather ugly solution
>> solves the problem of finding a single FF byte:
>>      (while (/= (char-after) ?\377)
>>        (forward-char 1)
>>        )
>>      (forward-char 1)
>> This replaces
>>      (search-forward (unibyte-string ?\377))
>> which, in emacs23, no matter what I do, insists on turning the byte
>> into the two-byte string \231\277 before searching.
>>
>> But surely there's a better way?
> 
> Hi Robin,
> 
> Someone else knows this much better than me and can explain the
> details, but I believe that unibyte-string is a low level function
> that you do not need here.
> 
> How about just
> 
>    (search-forward (char-to-string ?\377))
>    or (search-forward (char-to-string 255))
> 
> Does that work for you?

Nope.  That's exactly what caused the original problem (that is, the
code that broke was exactly what you suggest).  Using either one of
these, what search-forward will look for is a two-byte string (in
other words, it undertakes to convert the high 8-bit character into
something like a utf-8 representation of it (\377 can't occur as the
first byte of a utf-8 character, which is probably what triggers
this).

Robin Smith




  reply	other threads:[~2010-03-28 17:04 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-27 20:31 search-forward in emacs23 lisp rasmith
2010-03-28 16:39 ` rasmith
2010-03-28 16:50   ` Lennart Borgman
2010-03-28 17:04     ` rasmith [this message]
2010-03-28 17:10       ` Lennart Borgman
2010-03-28 17:56         ` rasmith
2010-03-28 17:59         ` rasmith
2010-03-28 18:22           ` Lennart Borgman
2010-03-28 21:45 ` Peter Dyballa
2010-03-29  0:44   ` rasmith
2010-03-28 23:00 ` Johan Bockgård
2010-03-29  6:51   ` Eli Zaretskii
2010-03-29 15:01     ` rasmith
2010-03-29 15:17       ` Eli Zaretskii

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=20100328.120401.200754749763864021.rasmith@aristotle.tamu.edu \
    --to=rasmith@tamu.edu \
    --cc=help-gnu-emacs@gnu.org \
    --cc=lennart.borgman@gmail.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.
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).