From: Greg Hill <ghill@synergymicro.com>
Cc: bug-gnu-emacs@gnu.org
Subject: Re: Re: bug in field-string and field-string-no-properties
Date: Thu, 14 Aug 2003 18:00:38 -0700 [thread overview]
Message-ID: <p04310106bb61da269a13@[198.17.100.22]> (raw)
In-Reply-To: <3F3BA301.4522.6E53D5@localhost>
> > There appears to be a bug in field-string and
>> field-string-no-properties. When (point) or the POS argument is at
>> the first character of a field, the function returns an empty
>> string. The following fragment of code, executed in the scratch
>> buffer, illustrates the problem.
>>
> > (progn
>> (set-buffer (get-buffer-create "junk"))
>> (erase-buffer)
>> (insert "Test")
>> (put-text-property (point-min) (point-max) 'field 1)
>> (message "field-string at 1 = '%s'\nfield-string at 2 = '%s'"
>> (field-string-no-properties 1) (field-string-no-properties 2)))
>
>>From (elisp) Fields Info node:
>
>"When the characters before and after POS are part of the same field,
>there is no doubt which field contains POS: the one those characters
>both belong to. When POS is at a boundary between fields, which field
>it belongs to depends on the stickiness of the `field' properties of
>the two surrounding characters (see *note Sticky Properties::). The
>field whose property would be inherited by text inserted at POS is the
>field that contains POS."
If stickiness is the issue, then the default rear-stickiness of the
last character of a field should identify the field-string "to the
left of" a point; but as the example below shows, it does not. It
seems to me that for a four-character field there ought to be at
least four places at which field-string will return it.
As it stands, field-string returns a string only if the character to
the left AND the character to the right of POS both have the same
field property. That means, of course, that for a field that is one
character long, there is no way you can ever get field-string to
return anything but an empty string.
(progn
(set-buffer (get-buffer-create "junk"))
(erase-buffer)
(insert "Test")
(put-text-property (point-min) (point-max) 'field 1)
(message "field-string at 1 = '%s'\nfield-string at 2 =
'%s'\nfield-string at (point-max) = '%s'"
(field-string-no-properties 1)
(field-string-no-properties 2)
(field-string-no-properties (point-max)) ) )
--Greg
parent reply other threads:[~2003-08-15 1:00 UTC|newest]
Thread overview: expand[flat|nested] mbox.gz Atom feed
[parent not found: <3F3BA301.4522.6E53D5@localhost>]
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='p04310106bb61da269a13@[198.17.100.22]' \
--to=ghill@synergymicro.com \
--cc=bug-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.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
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).