[issue1816] sys.cmd_flags patch

2010-12-30 Thread Éric Araujo

Éric Araujo mer...@netwok.org added the comment:

I’ve recently remarked that -i maps to both sys.flags.inspect and 
sys.flags.interactive.  Is this behavior useful?

--
nosy: +eric.araujo

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue1816
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1816] sys.cmd_flags patch

2010-12-30 Thread Georg Brandl

Georg Brandl ge...@python.org added the comment:

Maybe not, but note that there is both a Py_InteractiveFlag and Py_InspectFlag, 
and they enable different things (they are both set by -i, while setting the 
PYTHONINSPECT envvar only activates Py_InspectFlag).

--
nosy: +georg.brandl

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue1816
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1816] sys.cmd_flags patch

2010-12-30 Thread Éric Araujo

Éric Araujo mer...@netwok.org added the comment:

Okay, so having both flags makes sense.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue1816
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1816] sys.cmd_flags patch

2008-01-13 Thread Christian Heimes

Christian Heimes added the comment:

The new patch is using a struct sequence (like the result of os.stat):

 import sys
 sys.flags
sys.flags (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
 dir(sys.flags)
['__add__', '__class__', '__contains__', '__delattr__', '__doc__',
'__eq__', '__ge__', '__getattribute__', '__getitem__', '__getslice__',
'__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__',
'__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__',
'__repr__', '__rmul__', '__setattr__', '__str__', 'debug',
'division_new', 'division_warning', 'dont_write_bytecode',
'ingnore_environment', 'inspect', 'interactive', 'n_fields',
'n_sequence_fields', 'n_unnamed_fields', 'no_site', 'optimize',
'py3k_warning', 'tabcheck', 'unicode', 'verbose']
 sys.flags.debug
0

Please ignore the other files. They are part of my second PEP.

Added file: http://bugs.python.org/file9149/trunk_sys_flags.patch

__
Tracker [EMAIL PROTECTED]
http://bugs.python.org/issue1816
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1816] sys.cmd_flags patch

2008-01-13 Thread Guido van Rossum

Guido van Rossum added the comment:

Can't you use a namedtuple?  Then printing it would show the names of
the flags...

__
Tracker [EMAIL PROTECTED]
http://bugs.python.org/issue1816
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1816] sys.cmd_flags patch

2008-01-13 Thread Christian Heimes

Christian Heimes added the comment:

Guido van Rossum wrote:
 Can't you use a namedtuple?  Then printing it would show the names of
 the flags...

... and increase the startup costs of Python by loading several
additional modules. The collections module imports _collections,
operator and keyword. I'd rather see a better repr function for the
sequence types.

__
Tracker [EMAIL PROTECTED]
http://bugs.python.org/issue1816
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1816] sys.cmd_flags patch

2008-01-13 Thread Guido van Rossum

Guido van Rossum added the comment:

 I'd rather see a better repr function for the
 sequence types.

Agreed.  It's kind of unfortunate that we have two implementations for
the same concept, one in C and one in Python.

__
Tracker [EMAIL PROTECTED]
http://bugs.python.org/issue1816
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1816] sys.cmd_flags patch

2008-01-13 Thread Christian Heimes

Christian Heimes added the comment:

I've coded sys.flags for my per-user site-packages PEP. I could make it
a function but the function would be called by site.py on every startup.

__
Tracker [EMAIL PROTECTED]
http://bugs.python.org/issue1816
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1816] sys.cmd_flags patch

2008-01-13 Thread Christian Heimes

Christian Heimes added the comment:

Does anybody see a problem with this repr slot implementation for
structseq? It gives this output:

 os.stat(.)
posix.stat_result st_mode=16832, st_ino=11666571L, st_dev=65025L,
st_nlink=20, st_uid=1000, st_gid=1000, st_size=4096L,
st_atime=1200261754, st_mtime=1200261721, st_ctime=1200261721

static PyObject *
structseq_repr(PyStructSequence *obj)
{
PyObject *tup, *val, *repr;
PyTypeObject *typ = Py_TYPE(obj);
int i, len;
char buf[250+5]; /* ...\0 */
char *cname, *crepr;
char *pbuf = buf;
char *endbuf = buf[250];

*pbuf++ = '';
strncpy(pbuf, typ-tp_name, 50);
pbuf += strlen(typ-tp_name)  50 ? 50 : strlen(typ-tp_name);
*pbuf++ = ' ';

if ((tup = make_tuple(obj)) == NULL) {
return NULL;
}
for (i=0; i  VISIBLE_SIZE(obj); i++) {
cname = typ-tp_members[i].name;
val = PyTuple_GetItem(tup, i);
if (cname == NULL || val == NULL) {
return NULL;
}
repr = PyObject_Repr(val);
if (repr == NULL) {
Py_DECREF(tup);
return NULL;
}
crepr = PyString_AsString(repr);
if (crepr == NULL) {
Py_DECREF(tup);
Py_DECREF(repr);
return NULL;
}
len = strlen(cname) + strlen(crepr) + 3;
if ((pbuf+len)  endbuf) {
strcpy(pbuf, cname);
pbuf += strlen(cname);
*pbuf++ = '=';
strcpy(pbuf, crepr);
pbuf += strlen(crepr);
*pbuf++ = ',';
*pbuf++ = ' ';
Py_DECREF(repr);
}
else {
strcpy(pbuf, ...);
pbuf += 5;
Py_DECREF(repr);
break;
}
}
Py_DECREF(tup);

pbuf-=2;
*pbuf++ = '';
*pbuf = '\0';

repr = PyString_FromString(buf);
return repr;
}

__
Tracker [EMAIL PROTECTED]
http://bugs.python.org/issue1816
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1816] sys.cmd_flags patch

2008-01-13 Thread Guido van Rossum

Guido van Rossum added the comment:

Nice -- perhaps you can make it look like a function call,
posix.stat_result(st_mode=..., ...)?  (Then someone else might finally
create a constructor with such a signature. :-)

__
Tracker [EMAIL PROTECTED]
http://bugs.python.org/issue1816
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1816] sys.cmd_flags patch

2008-01-13 Thread Christian Heimes

Christian Heimes added the comment:

Committed in r59947, r59948 and r59949

--
resolution:  - fixed
status: open - closed

__
Tracker [EMAIL PROTECTED]
http://bugs.python.org/issue1816
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1816] sys.cmd_flags patch

2008-01-12 Thread Christian Heimes

New submission from Christian Heimes:

The output should be self explaining:
./python -tt -E -OO -Qnew -c import sys; print sys.cmd_flags
('Qnew', 'O', 'OO', 'E', 't', 'tt')

I'll provide doc updates and a mini test if the patch wanted.

--
components: Interpreter Core
files: trunk_sys_cmd_flags.patch
keywords: patch
messages: 59840
nosy: tiran
priority: normal
severity: normal
status: open
title: sys.cmd_flags patch
versions: Python 2.6
Added file: http://bugs.python.org/file9143/trunk_sys_cmd_flags.patch

__
Tracker [EMAIL PROTECTED]
http://bugs.python.org/issue1816
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1816] sys.cmd_flags patch

2008-01-12 Thread Guido van Rossum

Guido van Rossum added the comment:

I like the idea of exposing Python's command line flags, but I think
this API is a bit odd.  I'd rather see it be a struct with members named
after the various arguments and values that are ints or bools -- or
simply a bunch of new flags directly in the sys module if making it a
string is too much work.

It also looks like the patch includes a few unrelated changes to
install.py and site.py.

--
nosy: +gvanrossum

__
Tracker [EMAIL PROTECTED]
http://bugs.python.org/issue1816
__
___
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com