Bug#431962: python-gnome2-desktop: gtksourceview.SourceTagStyle().mask is not writable

2007-07-18 Thread Adeodato Simó
* Josselin Mouette [Tue, 17 Jul 2007 23:55:33 +0200]:

 Le vendredi 06 juillet 2007 à 13:29 +0200, Adeodato Simó a écrit :
  Package: python-gnome2-desktop
  Version: 2.18.0-2
  Severity: normal
  Tags: upstream

  Hello.

  It seems that the 'mask' attribute of gtksourceview.SourceTagStyle
  objects is not writable, but instead derived whenever
  SourceTagSytle.foreground or SourceTagStyle.background are set (see
  gtksourceview.override).

  I see no reason for this to be this way, since it breaks setting all
  three foreground, background and mask, letting the TagStyle object
  figure out which colors to finally use. Which works from C (it's what
  gedit does, see string_to_tag_style() in gedit-languages-manager.c).

  All this makes it necessary when working in Python code to check the
  value of mask, and refraining from setting foreground or background
  colors according to its value, which seems more unpythonic to me than
  having the attribute writable.

 The upstream developers don't intend to change that:

 I disagree.  The 'mask' field only exists because of limitations in 
 the C
 language.  In Python we can instead automatically compute mask based 
 on the
 attributes that have been actually set, which is more intuitive and 
 less error
 prone.  I don't know why you'd ever want to e.g. modify 
 style.background but
  

 not set the flag in style.mask saying background was set.
  ^^

Bah, I made that very clear in my text:

  it breaks setting all
  three foreground, background and mask, letting the TagStyle object
  figure out which colors to finally use. Which works from C (it's what
  gedit does, see string_to_tag_style() in gedit-languages-manager.c).

If you read from gedit's configuration files, background and foreground
are stored, even if only the foreground was configured (the background
is set to #000). So what gedit does is set both colors, plus the mask
(which is also stored), and let the tagstyle code figure out what to
use. That is not possible from Python.

 If you need more information, I suggest you followup on the upstream
 bug: http://bugzilla.gnome.org/show_bug.cgi?id=456750

Many thanks for forwarding the bug upstream. Would you mind forwarding
the above as well, so that the developer can see at least what's the use
case? (Since I doubt he'll change his mind; so this should be the last
comment on this bug.)

Thanks,

-- 
Adeodato Simó dato at net.com.org.es
Debian Developer  adeodato at debian.org
 
  Listening to: The Rolling Stones - Undercover of the Night




Bug#431962: python-gnome2-desktop: gtksourceview.SourceTagStyle().mask is not writable

2007-07-17 Thread Josselin Mouette
Le vendredi 06 juillet 2007 à 13:29 +0200, Adeodato Simó a écrit :
 Package: python-gnome2-desktop
 Version: 2.18.0-2
 Severity: normal
 Tags: upstream
 
 Hello.
 
 It seems that the 'mask' attribute of gtksourceview.SourceTagStyle
 objects is not writable, but instead derived whenever
 SourceTagSytle.foreground or SourceTagStyle.background are set (see
 gtksourceview.override).
 
 I see no reason for this to be this way, since it breaks setting all
 three foreground, background and mask, letting the TagStyle object
 figure out which colors to finally use. Which works from C (it's what
 gedit does, see string_to_tag_style() in gedit-languages-manager.c).
 
 All this makes it necessary when working in Python code to check the
 value of mask, and refraining from setting foreground or background
 colors according to its value, which seems more unpythonic to me than
 having the attribute writable.

The upstream developers don't intend to change that:

I disagree.  The 'mask' field only exists because of limitations in 
the C
language.  In Python we can instead automatically compute mask based on 
the
attributes that have been actually set, which is more intuitive and 
less error
prone.  I don't know why you'd ever want to e.g. modify 
style.background but
not set the flag in style.mask saying background was set.

AIUI you don't need to refrain from setting anything and the mask is
automatically computed.

If you need more information, I suggest you followup on the upstream
bug: http://bugzilla.gnome.org/show_bug.cgi?id=456750

Cheers,
-- 
 .''`.
: :' :  We are debian.org. Lower your prices, surrender your code.
`. `'   We will add your hardware and software distinctiveness to
  `-our own. Resistance is futile.


signature.asc
Description: Ceci est une partie de message	numériquement signée


Bug#431962: python-gnome2-desktop: gtksourceview.SourceTagStyle().mask is not writable

2007-07-06 Thread Adeodato Simó
Package: python-gnome2-desktop
Version: 2.18.0-2
Severity: normal
Tags: upstream

Hello.

It seems that the 'mask' attribute of gtksourceview.SourceTagStyle
objects is not writable, but instead derived whenever
SourceTagSytle.foreground or SourceTagStyle.background are set (see
gtksourceview.override).

I see no reason for this to be this way, since it breaks setting all
three foreground, background and mask, letting the TagStyle object
figure out which colors to finally use. Which works from C (it's what
gedit does, see string_to_tag_style() in gedit-languages-manager.c).

All this makes it necessary when working in Python code to check the
value of mask, and refraining from setting foreground or background
colors according to its value, which seems more unpythonic to me than
having the attribute writable.

Thanks.

-- 
Adeodato Simó dato at net.com.org.es
Debian Developer  adeodato at debian.org
 
If you want the holes in your knowledge showing up try teaching someone.
-- Alan Cox