unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#49742: 28.0.50; previous-single-property-change sometimes wrong?
@ 2021-07-26 15:47 T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-07-26 16:29 ` Eli Zaretskii
  0 siblings, 1 reply; 13+ messages in thread
From: T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-07-26 15:47 UTC (permalink / raw)
  To: 49742


This appears to a corner case where previous-single-property-change
breaks in a surprizing way.

1. ;;; Evaluate the below to get a string with properties.
(setq s

#("-L Trace line evolution (-L)

History simplification" 0 2 (face transient-blue button (t) category transient-button-button command magit-log:-L) 2 25 (button (t) category transient-button-button command magit-log:-L) 25 27 (face transient-inactive-value button (t) category transient-button-button command magit-log:-L) 27 28 (button (t) category transient-button-button command magit-log:-L) 30 52 (face transient-heading)))


2.;;; Insert into a new buffer
(switch-to-buffer "foo")
(insert s)

4. ;;; Place point on the 'H' of "history"

   5. ;;; eval
   (previous-single-property-change (point 'face)

   Instead of returning value of point before the 'H', this returns a
   value that is unexpected, it returns point  past the ')'

   --Raman


In GNU Emacs 28.0.50 (build 13, x86_64-pc-linux-gnu, GTK+ Version 3.24.24, cairo version 1.16.0)
 of 2021-07-22 built on raman-glaptop
Repository revision: 5b868503f53f1cf67388238f825518bfe30398fd
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
System Description: Debian GNU/Linux rodete

Configured using:
 'configure --enable-silent-rules --without-xwidgets --with-mailutils
 --without-compress-install LDFLAGS=-O3 'CPPFLAGS=-Ofast ''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ
JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES
NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF
TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3 ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=none
  locale-coding-system: utf-8-unix

Major mode: Text

Minor modes in effect:
  recentf-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  orgalist-mode: t
  shell-dirtrack-mode: t
  savehist-mode: t
  save-place-mode: t
  psession-mode: t
  psession-autosave-mode: t
  midnight-mode: t
  ido-ubiquitous-mode: t
  flx-ido-mode: t
  ido-everywhere: t
  display-time-mode: t
  disable-mouse-global-mode: t
  company-statistics-mode: t
  company-prescient-mode: t
  prescient-persist-mode: t
  auto-correct-mode: t
  global-voice-lock-mode: t
  voice-lock-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tab-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  auto-fill-function: #[128 \300\301\302\x03#\207 [apply orgalist--auto-fill yas--auto-fill nil] 5 nil]
  abbrev-mode: t

Load-path shadows:
/home/raman/emacs/lisp/emacspeak/lisp/tapestry hides /home/raman/emacs/lisp/site-lisp/vm/lisp/tapestry
/home/raman/.emacs.d/elpa/lispy-20210702.1206/elpa hides /home/raman/.emacs.d/elpa/ivy-20210602.1349/elpa
/home/raman/.emacs.d/elpa/transient-20210723.1601/transient hides /usr/local/share/emacs/28.0.50/lisp/transient
/home/raman/emacs/lisp/emacspeak/lisp/tetris hides /usr/local/share/emacs/28.0.50/lisp/play/tetris

Features:
(shadow emacsbug mailalias face-remap recentf tree-widget
bash-completion magit-patch magit-subtree magit-ediff emacspeak-ediff
ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help
ediff-init ediff-util emacspeak-forge forge-list forge-commands
forge-semi forge-bitbucket buck forge-gogs gogs forge-gitea gtea
forge-gitlab glab forge-github ghub-graphql treepy gsexp ghub
let-alist gnutls forge-notify forge-revnote forge-pullreq forge-issue
forge-topic yaml bug-reference forge-post smartparens-markdown
emacspeak-markdown markdown-mode forge-repo forge forge-core forge-db
closql emacsql-sqlite emacsql emacsql-compiler url-http url-auth
url-gw nsm emacspeak-magit magit-submodule magit-obsolete magit-blame
magit-stash magit-reflog magit-bisect magit-push magit-pull
magit-fetch magit-clone magit-remote magit-commit magit-sequence
magit-notes magit-worktree magit-tag magit-merge magit-branch
magit-reset magit-files magit-refs magit-status magit
emacspeak-package package url-handlers magit-repos magit-apply
magit-wip magit-log which-func magit-diff smerge-mode diff git-commit
log-edit pcvs-util emacspeak-add-log add-log magit-core
magit-autorevert autorevert filenotify magit-margin magit-transient
magit-process with-editor magit-mode emacspeak-transient transient
magit-git magit-section magit-utils crm char-fold misearch
multi-isearch mule-util emacspeak-dbus nm amixer emacspeak-gnus
gm-nnir nnir gnus-art mm-uu mml2015 mm-view mml-smime smime dig
gnus-sum gnus-group gnus-undo gnus-start gnus-dbus dbus
emacspeak-orgalist orgalist smartparens-org emacspeak-org ol-eww
emacspeak-eww emacspeak-google gweb emacspeak-we emacspeak-xslt
dom-addons eww xdg url-queue shr kinsoku svg dom browse-url url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util mailcap mm-url org-tempo emacspeak-tempo tempo org
ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote
org-src ob-comint org-pcomplete org-list org-faces org-entities
org-version ob-emacs-lisp ob-core ob-eval org-table ol org-keys
org-compat org-macs org-loaddefs format-spec emacspeak-calendar appt
diary-lib diary-loaddefs solar cal-dst cal-menu calendar cal-loaddefs
macrostep-c cmacexp macrostep emacspeak-tcl tcl emacspeak-lispy lispy
emacspeak-hydra hydra lv swiper emacspeak-ivy ivy ivy-faces
ivy-overlay colir color delsel lispy-inline avy emacspeak-outline
noutline outline edebug backtrace help-fns radix-tree lispy-tags
mode-local emacspeak-comint shell pcomplete comint emacspeak-wizards
vc-git emacspeak-diff-mode diff-mode easy-mmode vc-dispatcher
yasnippet-snippets emacspeak-yasnippet yasnippet emacspeak-smartparens
smartparens-config smartparens-javascript smartparens-text
smartparens-c smartparens emacspeak-hideshow hideshow company-bbdb
company-semantic company-template company-files company-abbrev
company-keywords company-etags etags fileloop generator emacspeak-xref
xref emacspeak-project project ring company-dabbrev-code
company-dabbrev company-capf js imenu emacspeak-c cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
cl-extra emacspeak-advice emacspeak-cedet warnings xml gnus-cloud
nnimap nnmail mail-source utf7 netrc nnoo parse-time iso8601 gnus-spec
gnus-int gnus-range emacspeak-message message rmc puny rfc822 mml
mml-sec emacspeak-epa epa derived epg epg-config mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader gnus-win
emacspeak-hide smtpmail sendmail auth-source-xoauth2 auth-source-pass
url-parse url-vars gnus nnheader gnus-util emacspeak-rmail rmail
rmail-loaddefs auth-source eieio eieio-core eieio-loaddefs
password-cache rfc2047 rfc2045 ietf-drums time-date mail-utils mm-util
mail-prsvr emacspeak-widget emacspeak-auctex emacspeak-tab-bar
emacspeak-kmacro emacspeak-info emacspeak-ido emacspeak-flycheck
emacspeak-custom emacspeak-company emacspeak-buff-menu soundscape
emacspeak-muggles flycheck ansi-color find-func help-mode rx dash
savehist saveplace psession frameset async midnight
ido-completing-read+ memoize cus-edit pp wid-edit minibuf-eldef gmaps
g-utils cl-macs json map flx-ido flx ido emacspeak-m-player
emacspeak-amark ladspa emacspeak-dired locate dired dired-loaddefs
time disable-mouse company-statistics company-prescient prescient
company edmacro kmacro subr-x auto-correct thingatpt cus-start
cus-load modus-vivendi-theme pcase modus-themes seq gv server
file-xoauth2 laptop-local xbacklight emacs-startup emacspeak-setup
emacspeak emacspeak-preamble emacspeak-sounds emacspeak-speak
text-property-search sox-gen emacspeak-keymap emacspeak-pronounce
voice-defs voice-setup outloud-voices dtk-speak cl-seq byte-opt
bytecomp byte-compile cconv advice cl-loaddefs cl-lib info tex-site
slime-autoloads iso-transl tooltip eldoc electric uniquify ediff-hook
vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd
tool-bar dnd fontset image regexp-opt fringe tabulated-list replace
newcomment text-mode elisp-mode lisp-mode prog-mode register page
tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar
mouse jit-lock font-lock syntax font-core term/tty-colors frame
minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew
greek romanian slovak czech european ethiopic indian cyrillic chinese
composite charscript charprop case-table epa-hook jka-cmpr-hook help
simple abbrev obarray cl-preloaded nadvice button loaddefs faces
cus-face macroexp files window text-properties overlay sha1 md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote threads dbusbind inotify lcms2 dynamic-setting
system-font-setting font-render-setting cairo move-toolbar gtk
x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 681624 465381)
 (symbols 48 47649 65)
 (strings 32 191994 93919)
 (string-bytes 1 6275630)
 (vectors 16 108517)
 (vector-slots 8 2019785 660233)
 (floats 8 2558 1354)
 (intervals 56 1961 1030)
 (buffers 992 34))


-- 

Thanks,

--Raman(I Search, I Find, I Misplace, I Research)
♉ Id: kg:/m/0285kf1  🦮

-- 

Thanks,

--Raman(I Search, I Find, I Misplace, I Research)
♉ Id: kg:/m/0285kf1  🦮





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

* bug#49742: 28.0.50; previous-single-property-change sometimes wrong?
  2021-07-26 15:47 bug#49742: 28.0.50; previous-single-property-change sometimes wrong? T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-07-26 16:29 ` Eli Zaretskii
  2021-07-26 17:19   ` T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2021-07-26 16:29 UTC (permalink / raw)
  To: T.V Raman; +Cc: 49742

> Date: Mon, 26 Jul 2021 08:47:07 -0700
> From:  "T.V Raman" via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
> 
> 
> This appears to a corner case where previous-single-property-change
> breaks in a surprizing way.
> 
> 1. ;;; Evaluate the below to get a string with properties.
> (setq s
> 
> #("-L Trace line evolution (-L)
> 
> History simplification" 0 2 (face transient-blue button (t) category transient-button-button command magit-log:-L) 2 25 (button (t) category transient-button-button command magit-log:-L) 25 27 (face transient-inactive-value button (t) category transient-button-button command magit-log:-L) 27 28 (button (t) category transient-button-button command magit-log:-L) 30 52 (face transient-heading)))
> 
> 
> 2.;;; Insert into a new buffer
> (switch-to-buffer "foo")
> (insert s)
> 
> 4. ;;; Place point on the 'H' of "history"
> 
>    5. ;;; eval
>    (previous-single-property-change (point 'face)
> 
>    Instead of returning value of point before the 'H', this returns a
>    value that is unexpected, it returns point  past the ')'

What does "M-x describe-text-properties RET" say at the position
returned by the above previous-single-property-change call?  Does that
value explain the result?  If not, why not?





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

* bug#49742: 28.0.50; previous-single-property-change sometimes wrong?
  2021-07-26 16:29 ` Eli Zaretskii
@ 2021-07-26 17:19   ` T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-07-26 18:59     ` Eli Zaretskii
  0 siblings, 1 reply; 13+ messages in thread
From: T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-07-26 17:19 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 49742

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=gb18030, Size: 1930 bytes --]

Eli Zaretskii <eliz@gnu.org> writes:


See below for the results you ask. It does not explain itself because
property 'face is nil at positions  30 and 29.

Contents of help buffer after describe-text-properties below:
Text content at position 28:


Here is a ¡®nil¡¯ button labeled ¡®)¡¯.


There are text properties here:
  button               (t)
  category             transient-button-button
  command              magit-log:-L

[back]

>> Date: Mon, 26 Jul 2021 08:47:07 -0700
>> From:  "T.V Raman" via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
>> 
>> 
>> This appears to a corner case where previous-single-property-change
>> breaks in a surprizing way.
>> 
>> 1. ;;; Evaluate the below to get a string with properties.
>> (setq s
>> 
>> #("-L Trace line evolution (-L)
>> 
>> History simplification" 0 2 (face transient-blue button (t) category transient-button-button command magit-log:-L) 2 25 (button (t) category transient-button-button command magit-log:-L) 25 27 (face transient-inactive-value button (t) category transient-button-button command magit-log:-L) 27 28 (button (t) category transient-button-button command magit-log:-L) 30 52 (face transient-heading)))
>> 
>> 
>> 2.;;; Insert into a new buffer
>> (switch-to-buffer "foo")
>> (insert s)
>> 
>> 4. ;;; Place point on the 'H' of "history"
>> 
>>    5. ;;; eval
>>    (previous-single-property-change (point 'face)
>> 
>>    Instead of returning value of point before the 'H', this returns a
>>    value that is unexpected, it returns point  past the ')'
>
> What does "M-x describe-text-properties RET" say at the position
> returned by the above previous-single-property-change call?  Does that
> value explain the result?  If not, why not?

-- 

Thanks,

--Raman(I Search, I Find, I Misplace, I Research)
7©4 Id: kg:/m/0285kf1  •0Ü8





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

* bug#49742: 28.0.50; previous-single-property-change sometimes wrong?
  2021-07-26 17:19   ` T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-07-26 18:59     ` Eli Zaretskii
  2021-07-27  2:02       ` T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2021-07-26 18:59 UTC (permalink / raw)
  To: T.V Raman; +Cc: 49742

> From: "T.V Raman" <raman@google.com>
> Cc: 49742@debbugs.gnu.org
> Date: Mon, 26 Jul 2021 10:19:13 -0700
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> 
> See below for the results you ask. It does not explain itself because
> property 'face is nil at positions  30 and 29.

Yes, it's nil.  So that is the last position before 'H' where the
value of the 'face' property changes -- from transient-inactive-value
to nil.  Which is why the function returns that position.

If this still doesn't explain the results, please tell what is missing
from the explanation.





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

* bug#49742: 28.0.50; previous-single-property-change sometimes wrong?
  2021-07-26 18:59     ` Eli Zaretskii
@ 2021-07-27  2:02       ` T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-07-27  2:30         ` Eli Zaretskii
  0 siblings, 1 reply; 13+ messages in thread
From: T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-07-27  2:02 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 49742

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=gb18030, Size: 843 bytes --]

Eli Zaretskii <eliz@gnu.org> writes:

It's not returning the position be 'H', it's returning a point 3
positions further back

>> From: "T.V Raman" <raman@google.com>
>> Cc: 49742@debbugs.gnu.org
>> Date: Mon, 26 Jul 2021 10:19:13 -0700
>> 
>> Eli Zaretskii <eliz@gnu.org> writes:
>> 
>> 
>> See below for the results you ask. It does not explain itself because
>> property 'face is nil at positions  30 and 29.
>
> Yes, it's nil.  So that is the last position before 'H' where the
> value of the 'face' property changes -- from transient-inactive-value
> to nil.  Which is why the function returns that position.
>
> If this still doesn't explain the results, please tell what is missing
> from the explanation.

-- 

Thanks,

--Raman(I Search, I Find, I Misplace, I Research)
7©4 Id: kg:/m/0285kf1  •0Ü8





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

* bug#49742: 28.0.50; previous-single-property-change sometimes wrong?
  2021-07-27  2:02       ` T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-07-27  2:30         ` Eli Zaretskii
  2021-07-27  3:06           ` T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2021-07-27  2:30 UTC (permalink / raw)
  To: T.V Raman; +Cc: 49742

> From: "T.V Raman" <raman@google.com>
> Cc: 49742@debbugs.gnu.org
> Date: Mon, 26 Jul 2021 19:02:03 -0700
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> It's not returning the position be 'H', it's returning a point 3
> positions further back

Yes, that's what I meant.  If you still think it is incorrect, could
you please explain why you think that result is incorrect?





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

* bug#49742: 28.0.50; previous-single-property-change sometimes wrong?
  2021-07-27  2:30         ` Eli Zaretskii
@ 2021-07-27  3:06           ` T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-07-27  4:23             ` Eli Zaretskii
  0 siblings, 1 reply; 13+ messages in thread
From: T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-07-27  3:06 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 49742

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=gb18030, Size: 649 bytes --]

Eli Zaretskii <eliz@gnu.org> writes:

I believe  value returned should be point before the 'H', ie the newline
where property face is nil.
>> From: "T.V Raman" <raman@google.com>
>> Cc: 49742@debbugs.gnu.org
>> Date: Mon, 26 Jul 2021 19:02:03 -0700
>> 
>> Eli Zaretskii <eliz@gnu.org> writes:
>> 
>> It's not returning the position be 'H', it's returning a point 3
>> positions further back
>
> Yes, that's what I meant.  If you still think it is incorrect, could
> you please explain why you think that result is incorrect?

-- 

Thanks,

--Raman(I Search, I Find, I Misplace, I Research)
7©4 Id: kg:/m/0285kf1  •0Ü8





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

* bug#49742: 28.0.50; previous-single-property-change sometimes wrong?
  2021-07-27  3:06           ` T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-07-27  4:23             ` Eli Zaretskii
  2021-07-27 14:50               ` T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2021-07-27  4:23 UTC (permalink / raw)
  To: T.V Raman; +Cc: 49742

On July 27, 2021 6:06:31 AM GMT+03:00, "T.V Raman" <raman@google.com> wrote:
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> I believe  value returned should be point before the 'H', ie the
> newline
> where property face is nil.

No, because this function scans back from POSITION, and that is the position between the newline and 'H' in your case, because that's where point is.  So the function must return a position before that.





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

* bug#49742: 28.0.50; previous-single-property-change sometimes wrong?
  2021-07-27  4:23             ` Eli Zaretskii
@ 2021-07-27 14:50               ` T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-07-27 15:23                 ` Andreas Schwab
  0 siblings, 1 reply; 13+ messages in thread
From: T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-07-27 14:50 UTC (permalink / raw)
  To: eliz; +Cc: 49742, raman

we're talking across one another,   point is on 'H' with face
'transient-heading. previous-single-property-change should return 1 <
(point) since the face property there is nil; instead it's returning a
value that is further back.

Eli Zaretskii writes:
 > On July 27, 2021 6:06:31 AM GMT+03:00, "T.V Raman" <raman@google.com> wrote:
 > > Eli Zaretskii <eliz@gnu.org> writes:
 > > 
 > > I believe  value returned should be point before the 'H', ie the
 > > newline
 > > where property face is nil.
 > 
 > No, because this function scans back from POSITION, and that is the position between the newline and 'H' in your case, because that's where point is.  So the function must return a position before that.

-- 

Thanks,

--Raman(I Search, I Find, I Misplace, I Research)
♉ Id: kg:/m/0285kf1  🦮

--

Thanks,

--Raman(I Search, I Find, I Misplace, I Research)
♉ Id: kg:/m/0285kf1  🦮





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

* bug#49742: 28.0.50; previous-single-property-change sometimes wrong?
  2021-07-27 14:50               ` T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-07-27 15:23                 ` Andreas Schwab
  2021-07-27 15:40                   ` T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 13+ messages in thread
From: Andreas Schwab @ 2021-07-27 15:23 UTC (permalink / raw)
  To: 49742; +Cc: raman

previous-single-property-change starts with the property value on the
character preceding position, and returns a position so that the
property value on the preceding character is different.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."





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

* bug#49742: 28.0.50; previous-single-property-change sometimes wrong?
  2021-07-27 15:23                 ` Andreas Schwab
@ 2021-07-27 15:40                   ` T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-07-27 15:46                     ` Lars Ingebrigtsen
  0 siblings, 1 reply; 13+ messages in thread
From: T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-07-27 15:40 UTC (permalink / raw)
  To: schwab; +Cc: 49742, eliz, raman


That now all makes sense, Thanks Andreas for the explanation!

This also means that if you want to find the range of characters
having the same face, then it's a mess if you'r eon the first
character of that range

-- 

Thanks,

--Raman(I Search, I Find, I Misplace, I Research)
♉ Id: kg:/m/0285kf1  🦮

--

Thanks,

--Raman(I Search, I Find, I Misplace, I Research)
♉ Id: kg:/m/0285kf1  🦮





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

* bug#49742: 28.0.50; previous-single-property-change sometimes wrong?
  2021-07-27 15:40                   ` T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-07-27 15:46                     ` Lars Ingebrigtsen
  2021-07-27 16:02                       ` T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 13+ messages in thread
From: Lars Ingebrigtsen @ 2021-07-27 15:46 UTC (permalink / raw)
  To: 49742; +Cc: schwab, raman

"T.V Raman" via "Bug reports for GNU Emacs, the Swiss army knife of text
editors" <bug-gnu-emacs@gnu.org> writes:

> This also means that if you want to find the range of characters
> having the same face, then it's a mess if you'r eon the first
> character of that range

Yup.  Consider using (text-property-search-forward 'face) instead.

But as there is no bug here, I'm closing this bug report.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





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

* bug#49742: 28.0.50; previous-single-property-change sometimes wrong?
  2021-07-27 15:46                     ` Lars Ingebrigtsen
@ 2021-07-27 16:02                       ` T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 13+ messages in thread
From: T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-07-27 16:02 UTC (permalink / raw)
  To: larsi; +Cc: 49742, schwab, eliz, raman

SG -- thanks Lars, and I only recently discovered
text-property-searc-* it's one of those hidden gems.

Lars Ingebrigtsen writes:
 > "T.V Raman" via "Bug reports for GNU Emacs, the Swiss army knife of text
 > editors" <bug-gnu-emacs@gnu.org> writes:
 > 
 > > This also means that if you want to find the range of characters
 > > having the same face, then it's a mess if you'r eon the first
 > > character of that range
 > 
 > Yup.  Consider using (text-property-search-forward 'face) instead.
 > 
 > But as there is no bug here, I'm closing this bug report.
 > 
 > -- 
 > (domestic pets only, the antidote for overdose, milk.)
 >    bloggy blog: http://lars.ingebrigtsen.no

-- 

Thanks,

--Raman(I Search, I Find, I Misplace, I Research)
♉ Id: kg:/m/0285kf1  🦮

--

Thanks,

--Raman(I Search, I Find, I Misplace, I Research)
♉ Id: kg:/m/0285kf1  🦮





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

end of thread, other threads:[~2021-07-27 16:02 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-26 15:47 bug#49742: 28.0.50; previous-single-property-change sometimes wrong? T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-07-26 16:29 ` Eli Zaretskii
2021-07-26 17:19   ` T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-07-26 18:59     ` Eli Zaretskii
2021-07-27  2:02       ` T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-07-27  2:30         ` Eli Zaretskii
2021-07-27  3:06           ` T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-07-27  4:23             ` Eli Zaretskii
2021-07-27 14:50               ` T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-07-27 15:23                 ` Andreas Schwab
2021-07-27 15:40                   ` T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-07-27 15:46                     ` Lars Ingebrigtsen
2021-07-27 16:02                       ` T.V Raman via Bug reports for GNU Emacs, the Swiss army knife of text editors

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