unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [ghill@synergymicro.com: Re: Re: bug in field-string and field-string-no-properties]
@ 2003-08-27 22:12 Richard Stallman
  2003-08-28 21:32 ` Fwd: Re: Re: bug in field-string and field-string-no-properties Stefan Monnier
  0 siblings, 1 reply; 6+ messages in thread
From: Richard Stallman @ 2003-08-27 22:12 UTC (permalink / raw)
  Cc: emacs-devel

Would you please give me your thoughts on this issue?  What he says
seems logical; at the same time, I'm concerned that changing the spec
of field-string could easily break something that depends on the
current behavior.

(Everyone else is welcome to discuss it too, but I particularly
am looking for Stefan's and Miles' thoughts.)

------- Start of forwarded message -------
In-Reply-To: <3F3BA301.4522.6E53D5@localhost>
Date: Thu, 14 Aug 2003 18:00:38 -0700
To: John Paul Wallington <jpw@gnu.org>
From: Greg Hill <ghill@synergymicro.com>
Cc: bug-gnu-emacs@gnu.org
Subject: Re: Re: bug in field-string and field-string-no-properties
Sender: bug-gnu-emacs-bounces+rms=gnu.org@gnu.org

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


_______________________________________________
Bug-gnu-emacs mailing list
Bug-gnu-emacs@gnu.org
http://mail.gnu.org/mailman/listinfo/bug-gnu-emacs
------- End of forwarded message -------

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2003-08-29 21:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-08-27 22:12 [ghill@synergymicro.com: Re: Re: bug in field-string and field-string-no-properties] Richard Stallman
2003-08-28 21:32 ` Fwd: Re: Re: bug in field-string and field-string-no-properties Stefan Monnier
2003-08-29  2:20   ` Greg Hill
2003-08-29  2:36     ` Miles Bader
2003-08-29 18:53       ` Kevin Rodgers
2003-08-29 21:55       ` Greg Hill

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