unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#23730: 24.5; format removes text properties
@ 2016-06-08 13:41 ynyaaa
  2016-06-08 16:57 ` Eli Zaretskii
  2016-06-09  2:07 ` ynyaaa
  0 siblings, 2 replies; 4+ messages in thread
From: ynyaaa @ 2016-06-08 13:41 UTC (permalink / raw)
  To: 23730


`format' may remove text properties.
Second form is an example.

(format (propertize "%d" 'face '(:background "red")) 1)
=>#("1" 0 1 (face (:background "red")))

(format (propertize "%2d" 'face '(:background "red")) 1)
=>" 1"

(format (propertize "%02d" 'face '(:background "red")) 1)
=>#("01" 0 2 (face (:background "red")))




In GNU Emacs 24.5.1 (i686-pc-mingw32)
 of 2015-04-11 on LEG570
Windowing system distributor `Microsoft Corp.', version 6.0.6002
Configured using:
 `configure --prefix=/c/usr --host=i686-pc-mingw32'

Important settings:
  value of $LANG: JPN
  locale-coding-system: cp932

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent messages:

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util help-fns mail-prsvr mail-utils time-date japan-util tooltip
electric uniquify ediff-hook vc-hooks lisp-float-type mwheel dos-w32
ls-lisp w32-common-fns disp-table w32-win w32-vars tool-bar dnd fontset
image regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode
register page menu-bar rfn-eshadow timer select scroll-bar mouse
jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
w32notify w32 multi-tty emacs)

Memory information:
((conses 8 76884 6016)
 (symbols 32 17447 0)
 (miscs 32 38 127)
 (strings 16 10667 4075)
 (string-bytes 1 268458)
 (vectors 8 10181)
 (vector-slots 4 462567 3812)
 (floats 8 57 124)
 (intervals 28 266 22)
 (buffers 508 12))





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

* bug#23730: 24.5; format removes text properties
  2016-06-08 13:41 bug#23730: 24.5; format removes text properties ynyaaa
@ 2016-06-08 16:57 ` Eli Zaretskii
  2016-06-09  2:07 ` ynyaaa
  1 sibling, 0 replies; 4+ messages in thread
From: Eli Zaretskii @ 2016-06-08 16:57 UTC (permalink / raw)
  To: ynyaaa; +Cc: 23730

> From: ynyaaa@gmail.com
> Date: Wed, 08 Jun 2016 22:41:46 +0900
> 
> 
> `format' may remove text properties.
> Second form is an example.
> 
> (format (propertize "%d" 'face '(:background "red")) 1)
> =>#("1" 0 1 (face (:background "red")))
> 
> (format (propertize "%2d" 'face '(:background "red")) 1)
> =>" 1"
> 
> (format (propertize "%02d" 'face '(:background "red")) 1)
> =>#("01" 0 2 (face (:background "red")))

Why did you expect the properties of the format specifier to be
preserved?  The documentation only promises that the characters
_other_ than the format specifier are copied with their properties,
but makes no such promises about the specifier.

IOW, this is the intended behavior.  If you want the result of the
conversion to have some properties, you should propertize the return
value.





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

* bug#23730: 24.5; format removes text properties
  2016-06-08 13:41 bug#23730: 24.5; format removes text properties ynyaaa
  2016-06-08 16:57 ` Eli Zaretskii
@ 2016-06-09  2:07 ` ynyaaa
  2016-06-09 13:54   ` Eli Zaretskii
  1 sibling, 1 reply; 4+ messages in thread
From: ynyaaa @ 2016-06-09  2:07 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 23730

Eli Zaretskii <eliz@gnu.org> writes:

>The documentation only promises that the characters
>_other_ than the format specifier are copied with their properties,

Text properties after the format spericifier are copied
with wrong positions.

(format (concat (propertize "%2d" 'x 'X)
                (propertize "a" 'a 'A)
                (propertize "b" 'b 'B))
        1)
=>#(" 1ab" 0 1 (a A) 1 2 (b B))





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

* bug#23730: 24.5; format removes text properties
  2016-06-09  2:07 ` ynyaaa
@ 2016-06-09 13:54   ` Eli Zaretskii
  0 siblings, 0 replies; 4+ messages in thread
From: Eli Zaretskii @ 2016-06-09 13:54 UTC (permalink / raw)
  To: ynyaaa; +Cc: 23730-done

> From: ynyaaa@gmail.com
> Cc: 23730@debbugs.gnu.org
> Date: Thu, 09 Jun 2016 11:07:01 +0900
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >The documentation only promises that the characters
> >_other_ than the format specifier are copied with their properties,
> 
> Text properties after the format spericifier are copied
> with wrong positions.
> 
> (format (concat (propertize "%2d" 'x 'X)
>                 (propertize "a" 'a 'A)
>                 (propertize "b" 'b 'B))
>         1)
> =>#(" 1ab" 0 1 (a A) 1 2 (b B))

Fixed on the master branch, thanks.  Fixing this also corrected your
originally reported issue, so I made it clear in the documentation
that the text properties from the format specifiers are also copied.





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

end of thread, other threads:[~2016-06-09 13:54 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-08 13:41 bug#23730: 24.5; format removes text properties ynyaaa
2016-06-08 16:57 ` Eli Zaretskii
2016-06-09  2:07 ` ynyaaa
2016-06-09 13:54   ` Eli Zaretskii

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