Martin v. Löwis mar...@v.loewis.de added the comment:
What about this phrasing then:
MiniDOM has a smaller memory footprint than some of the other DOM
compliant implementations for Python (such as 4DOM), but uses about
10x more memory than the faster and simpler xml.etree.cElementTree
Stefan Behnel sco...@users.sourceforge.net added the comment:
It's the tree based API most python users are parsing XML with, though. So I do
not agree that it's comparing apples and oranges, not at all. It's comparing
tree based XML libraries, only one of which is worth being called light
STINNER Victor victor.stin...@haypocalc.com added the comment:
Hi, haypo, would you mind modify your newly added parse_format_flags()
function so that it can diff the precision value of '%.0s' and
'%s'(Currently both of them return precision as 0)?
You should update your patch attached to
Martin v. Löwis mar...@v.loewis.de added the comment:
It's the tree based API most python users are parsing XML with,
though. So I do not agree that it's comparing apples and oranges, not
at all. It's comparing tree based XML libraries, only one of which is
worth being called light weight,
STINNER Victor victor.stin...@haypocalc.com added the comment:
I am working with Python since 5 years (and on Python since 3 years): I never
seen any garbage string in error messages. My concern is to not truncate
strings in error messages anymore. I consider that it is more important than
STINNER Victor victor.stin...@haypocalc.com added the comment:
Does subprocess work from inside Windows GUI applications?
You mean: Python embedded in another program? I don't know. How can I test that?
I never see any warning in subprocess documentation saying that subprocess
doesn't work
Ray.Allen ysj@gmail.com added the comment:
Here is the updated patch:
1, Work with function parse_format_flags() which is introduced in issue10829,
and the patch is simpler and more clear than before.
2, Change parse_format_flags() to set precision value to -1 in the case of '%s'
in order
Marc-Andre Lemburg m...@egenix.com added the comment:
STINNER Victor wrote:
STINNER Victor victor.stin...@haypocalc.com added the comment:
Does subprocess work from inside Windows GUI applications?
You mean: Python embedded in another program? I don't know. How can I test
that?
Try
Stefan Behnel sco...@users.sourceforge.net added the comment:
If that is a real concern, I'd rather reduce the memory footprint of
minidom than put actual performance figures into the documentation
that will likely outdate over time.
Personally, I do not think it's worth putting much work
STINNER Victor victor.stin...@haypocalc.com added the comment:
History of PyErr_Format():
- r7580 (13 years ago): creation of PyErr_Format() using a buffer of 500 bytes
(fixed size buffer, allocated on the stack)
- r17159 (10 years ago): PyErr_Format() allocates a dynamic buffer on the heap
STINNER Victor victor.stin...@haypocalc.com added the comment:
Try to use platform from within IDLE ...
I tried subprocess.call('calc.exec'): it works.
I tried p=subprocess.Popen('echo hello', shell=True, stdout=subprocess.PIPE);
p.communicate(): it works too (I get the output and there is
Marc-Andre Lemburg m...@egenix.com added the comment:
STINNER Victor wrote:
STINNER Victor victor.stin...@haypocalc.com added the comment:
Try to use platform from within IDLE ...
I tried subprocess.call('calc.exec'): it works.
I tried p=subprocess.Popen('echo hello', shell=True,
Changes by STINNER Victor victor.stin...@haypocalc.com:
--
title: PyUnicode_FromFormat segfault - PyUnicode_FromFormat: implement width
and precision for %s, %S, %R, %V, %U, %A
___
Python tracker rep...@bugs.python.org
Changes by Charles-Francois Natali neolo...@free.fr:
--
nosy: neologix
priority: normal
severity: normal
status: open
title: some posix module functions
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11382
New submission from Charles-Francois Natali neolo...@free.fr:
Some posix module functions unnecessarily release the GIL.
For example, posix_dup, posix_dup2 and posix_pipe all release the GIL, but
those are non-blocking syscalls (the don't imply any I/O, only modifying the
process file
Changes by Eric Smith e...@trueblade.com:
--
components: +Interpreter Core
nosy: +eric.smith, pitrou
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11382
___
Amaury Forgeot d'Arc amaur...@gmail.com added the comment:
On Windows at least, these functions call malloc() and DuplicateHandle().
--
nosy: +amaury.forgeotdarc
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11382
New submission from Nick Coghlan ncogh...@gmail.com:
~/devel/py3k$ ./python -c compile('1*'*10+'1', 'broken', 'eval')
Segmentation fault
Going by the gdb stack trace we're blowing the stack due to the recursive
descent in compiler_visit_expr.
--
messages: 129950
nosy: ncoghlan
Antoine Pitrou pit...@free.fr added the comment:
Agreed with Stefan's concern.
--
nosy: +pitrou
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11379
___
Nick Coghlan ncogh...@gmail.com added the comment:
Updated Lib/test/crashers/compiler_recursion.py to refer back to this issue.
(As well as making it actually crash again on my system - apparently an
expression nested 59k deep wasn't enough to kill the stack here, so I bumped it
to 100k)
STINNER Victor victor.stin...@haypocalc.com added the comment:
New patch deprecating platform.popen() and removing _popen.
Marc-Andre: Do you agree to deprecate platform.popen() in favour of subprocess?
--
Added file: http://bugs.python.org/file20984/platform_popen-2.patch
Charles-Francois Natali neolo...@free.fr added the comment:
I didn't even know that Windows had such calls.
But anyway, if we start releasing the GIL around each malloc call, then it's
going to get really complicated:
static PyObject *
posix_geteuid(PyObject *self, PyObject *noargs)
{
New submission from STINNER Victor victor.stin...@haypocalc.com:
os.popen() was deprecated in Python 2.6 but it does still exist in Python 3.3.
The function is no more documented: there is an entry in os documentation, but
the entry is not in the index, and it has a reference to the file
Neil Muller drnlmuller+b...@gmail.com added the comment:
See issue6490 , which covers much of the same ground.
--
nosy: +Neil Muller
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11384
___
Changes by STINNER Victor victor.stin...@haypocalc.com:
--
resolution: - duplicate
status: open - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11384
___
Amaury Forgeot d'Arc amaur...@gmail.com added the comment:
What are you trying to achieve? Do you have loops which contain no other
syscall than os.dup2()?
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11382
STINNER Victor victor.stin...@haypocalc.com added the comment:
r55334 removed popen2, popen3 and popen4 from the os module from Python 3
(before the 3.0 release), but not os.popen.
Python 3.2 has now convenience functions in subprocess to get the output of a
program:
- check_output()
-
STINNER Victor victor.stin...@haypocalc.com added the comment:
The following documentation should also be updated to use the new convenience
functions:
http://docs.python.org/py3k/library/subprocess.html#replacing-os-popen-os-popen2-os-popen3
--
___
Marc-Andre Lemburg m...@egenix.com added the comment:
STINNER Victor wrote:
STINNER Victor victor.stin...@haypocalc.com added the comment:
New patch deprecating platform.popen() and removing _popen.
Patch looks good.
Marc-Andre: Do you agree to deprecate platform.popen() in favour of
Charles-Francois Natali neolo...@free.fr added the comment:
Well, those are contrived examples showing the effect of the convoy effect
induced by those unneeded GIL release/acquire: releasing and re-acquiring the
GIL comes with a cost (e.g. under Linux, futex are really fast in the
Antoine Pitrou pit...@free.fr added the comment:
Well, those are contrived examples showing the effect of the convoy
effect induced by those unneeded GIL release/acquire: releasing and
re-acquiring the GIL comes with a cost (e.g. under Linux, futex are
really fast in the uncontended case
STINNER Victor victor.stin...@haypocalc.com added the comment:
Commited to 3.3 (r88721).
--
resolution: - fixed
status: open - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11377
___
STINNER Victor victor.stin...@haypocalc.com added the comment:
Oh, I forget subprocess.call(b'ls'): command as a byte string = fixed in
Python 3.3 (r88720).
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue8513
Charles-Francois Natali neolo...@free.fr added the comment:
Do you want to propose a patch?
Sure, if removing those calls to Py_BEGIN_ALLOW_THREADS/Py_END_ALLOW_THREADS
seems reasonable (I might haved missed something obvious).
Just to be clear, I'm not at all criticizing the current GIL
Antoine Pitrou pit...@free.fr added the comment:
Just to be clear, I'm not at all criticizing the current GIL
implementation, there's been a great work done on it.
I'm just saying that releasing and re-acquiring the GIL around fast
syscalls is probaly not a good idea.
If these syscalls
STINNER Victor victor.stin...@haypocalc.com added the comment:
subprocess_getoutput.patch: patch subprocess.getstatusoutput() to use directly
Popen, instead of os.popen, with stderr=subprocess.STDOUT instead of 21
shell redirection. It strips also all trailing spaces and newlines, not just
Changes by STINNER Victor victor.stin...@haypocalc.com:
--
nosy: +haypo
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue8972
___
___
Steffen Daode Nurpmeso sdao...@googlemail.com added the comment:
Giampaolo Rodola' g.rod...@gmail.com added the comment:
Please try to provide a patch which fixes (as in makes the test pass) this
specific issue only. As for other changes such as the code restyling you can
open a separate
Giampaolo Rodola' g.rod...@gmail.com added the comment:
Fixed in r88722.
I did not catch EAGAIN in connect() as it makes hang some tests.
--
resolution: - fixed
status: open - closed
versions: -Python 2.6
___
Python tracker rep...@bugs.python.org
Charles-Francois Natali neolo...@free.fr added the comment:
2011/3/3 Antoine Pitrou rep...@bugs.python.org:
Antoine Pitrou pit...@free.fr added the comment:
Just to be clear, I'm not at all criticizing the current GIL
implementation, there's been a great work done on it.
I'm just saying
Changes by STINNER Victor victor.stin...@haypocalc.com:
--
nosy: +haypo
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue9723
___
___
Giampaolo Rodola' g.rod...@gmail.com added the comment:
OSX failure is tracked in issue 11351.
Closing this out as fixed.
--
resolution: accepted - fixed
status: open - closed
___
Python tracker rep...@bugs.python.org
Changes by STINNER Victor victor.stin...@haypocalc.com:
--
nosy: +haypo
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue7839
___
___
Giampaolo Rodola' g.rod...@gmail.com added the comment:
issue11351-5.patch no longer applies cleanly and I don't have an OSX box to
test against at the moment.
Could you please update your patch? If you tell me it's gonna fix the test I'm
going to commit it assuming everything is fine.
Giampaolo Rodola' g.rod...@gmail.com added the comment:
Can you write an actual patch which includes tests?
Also, I think the z.patch in attachment is targeted for python 2.x as it does
not apply cleanly against the current trunk.
--
___
Python
STINNER Victor victor.stin...@haypocalc.com added the comment:
I tried to add a shell argument (to be able to disable the shell) and
to accept any Popen keyword, but I don't know how to implement
shell=False if the input is a list of arguments. list2cmdline() is
unsafe on UNIX (see #8972).
Steffen Daode Nurpmeso sdao...@googlemail.com added the comment:
Giampaolo Rodola' g.rod...@gmail.com added the comment:
issue11351-5.patch no longer applies cleanly and I don't have an OSX box to
test against at the moment.
Could you please update your patch? If you tell me it's gonna
STINNER Victor victor.stin...@haypocalc.com added the comment:
I think that it is now too late to change getstatusoutput() output type
(str-bytes). I prefer Unicode and I think that most users will have to decode
bytes to Unicode anyway. So the right solution is to be able to configure
Roumen Petrov bugtr...@roumenpetrov.info added the comment:
All is duplicate on already posted patches . It is not work to review limited
functionality posted here.
--
nosy: +rpetrov
___
Python tracker rep...@bugs.python.org
Changes by Antoine Pitrou pit...@free.fr:
--
nosy: +ned.deily
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11351
___
___
Python-bugs-list mailing
Steffen Daode Nurpmeso sdao...@googlemail.com added the comment:
It's ok, but for the statistics:
16:59 ~/arena/code.extern.repos/py3k.hg $ hg identify
e79364a6bed8 (py3k) tip
16:59 ~/arena/code.extern.repos/py3k.hg $ hg slog -r tip
Changeset: 10021:e79364a6bed8
branch: py3k
tag:
Giampaolo Rodola' g.rod...@gmail.com added the comment:
I'm at e79364a6bed8/[svn r88726].
issue11351-5.patch applies and the test is ok, at least in respect
to sendfile:
Sorry, I'm still not used to the whole svn/mercurial change.
I applied your patch in r88729.
Let's see how the buildbot
STINNER Victor victor.stin...@haypocalc.com added the comment:
A quick search gives me:
- #1006238
- #1597850
- #3754
- #5404
- #3871
Are they the same patches from Buildroot?
--
___
Python tracker rep...@bugs.python.org
Steffen Daode Nurpmeso sdao...@googlemail.com added the comment:
Giampaolo Rodola' g.rod...@gmail.com added the comment:
Let's see how the buildbot goes.
Italian Espressi are the best!
(Our local classical radio station plays Respighi's Pini di Roma
almost every day ...)
--
Giampaolo Rodola' g.rod...@gmail.com added the comment:
=)
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11351
___
___
Python-bugs-list mailing
Raymond Hettinger rhettin...@users.sourceforge.net added the comment:
I concur with Georg.
--
nosy: +rhettinger
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11381
___
Zsolt Cserna zsolt.cse...@morganstanley.com added the comment:
No, I think it's not the duplicate of any of the bugs you've specified.
Meanwhile I've installed to another location and it's now python 2.7.1, but the
problem still present:
My configure parameters are:
Eric Smith e...@trueblade.com added the comment:
I don't feel strongly one way or the other about it. I was just relaying the
reason I heard when I asked the question about why it's done the way it is.
I suggest mentioning that you're going to commit this change on python-dev,
since this
R. David Murray rdmur...@bitdance.com added the comment:
Committed to py3k in r88730, 3.2 in r88731, and 2.7 in r88732.
I tested it by hand; mbox open failed before patch, succeeded (read-only) after
patch. I also changed two other cases of EACCES tests without testing them; I
don't see how
Eli Bendersky eli...@gmail.com added the comment:
Committed the bytearray methods in revision 88733.
Closing this issue. Will handle wrong exception and MutableSequence ABC method
addition in separate issues.
--
status: open - closed
___
Python
New submission from anatoly techtonik techto...@gmail.com:
TextTestRunner has a run method, which is not documented. It is also is not
clear how to add suite to TextTestRunner to be executed later by unittest.main()
--
assignee: docs@python
components: Documentation, Tests
messages:
New submission from Eli Bendersky eli...@gmail.com:
bytearray.pop() currently throws OverflowError when popping an empty bytearray,
instead of IndexError.
See Issue #10516 for reference discussion.
--
assignee: rhettinger
components: Interpreter Core
keywords: easy, needs review
New submission from Nikolay Fomichev morphsa...@gmail.com:
A simple code:
class App():
def __init__(self):
self.root = tk.Tk()
self.btn = tk.Button(self.root, text='Click me')
self.btn.pack()
self.btn.bind('Button-1', self.click)
Марк Коренберг socketp...@gmail.com added the comment:
I did not catch EAGAIN in connect() as it makes hang some tests.
maybe incorrect tests? which test(s) failed ?
mmarkk@fad:/usr/include$ fgrep EWOULDB -r .
./asm-generic/errno.h:#define EWOULDBLOCK EAGAIN /* Operation would
block */
Eli Bendersky eli...@gmail.com added the comment:
The attached patch changes the exception thrown to IndexError, as well as
aligning the error message to the one thrown by list.
--
keywords: +patch
Added file: http://bugs.python.org/file20986/issue11386.1.patch
Giampaolo Rodola' g.rod...@gmail.com added the comment:
Committed in r88734.
--
resolution: - fixed
status: open - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue9795
___
New submission from Eli Bendersky eli...@gmail.com:
Now that both list and bytearray support the clear() method (see issue #10516),
MutableSequence.clear() has to be implemented.
This is pending on commit for issue #11386, which fixes the exception thrown by
bytearray.pop() when the bytearray
Changes by Марк Коренберг socketp...@gmail.com:
Added file: http://bugs.python.org/file20987/z31.patch
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11259
___
Марк Коренберг socketp...@gmail.com added the comment:
actual patch which includes tests
I do not understand you. Probably I can not write that patch. Do not know how
to. Sorry :(
--
___
Python tracker rep...@bugs.python.org
Raymond Hettinger rhettin...@users.sourceforge.net added the comment:
The patch looks fine. Please apply and backport.
Also, please search all other pop() methods in the standard library to see if
this bug occurred anywhere else. Popping from an empty container should be a
LookupError,
Raymond Hettinger rhettin...@users.sourceforge.net added the comment:
s/has to be/could be/
But yes, this would be a worthwhile addition to MutableSequence :-)
--
nosy: +stutzbach
___
Python tracker rep...@bugs.python.org
Georg Brandl ge...@python.org added the comment:
+1.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11388
___
___
Python-bugs-list mailing list
Giampaolo Rodola' g.rod...@gmail.com added the comment:
By writing a test I mean adding a unittest-based test case in
Lib/test/test_asynchat.py which fails before fixing Lib/asynchat.py and
succeeds afterwards.
Now, I'm not even sure I properly understood your bug exactly.
I've never used
Changes by Daniel Urban urban.dani...@gmail.com:
--
nosy: +durban
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11388
___
___
Python-bugs-list
Charles-Francois Natali neolo...@free.fr added the comment:
Attached is a patch removing useless calls to
Py_BEGIN_ALLOW_THREADS/Py_END_ALLOW_THREADS for several posix
functions.
It's straigthforward, but since I only have Linux boxes, I couldn't
test it under Windows.
--
keywords:
New submission from anatoly techtonik techto...@gmail.com:
I can't find a way to execute DocTests contained in a separate README.txt file
using unittest.main() function. That doesn't allow to control verbosity for
debugging.
I am doing it this way in the tests.py
import doctest
import
New submission from anatoly techtonik techto...@gmail.com:
doctest module need to parse -h/--help parameters, and accept flags like
ELLIPSIS from command line. Otherwise it very hard to debug tests like
contained in the attached README.
It is also worth to make it parameter compatible with
Steffen Daode Nurpmeso sdao...@googlemail.com added the comment:
Buildbot ok, i hope it's ok for you all
that i close this heavy-load issue.
More fun further on up the road ...
from a non-MQ user.
--
___
Python tracker rep...@bugs.python.org
Changes by Steffen Daode Nurpmeso sdao...@googlemail.com:
--
status: open - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11351
___
___
Changes by Giampaolo Rodola' g.rod...@gmail.com:
--
resolution: - fixed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11351
___
___
Giampaolo Rodola' g.rod...@gmail.com added the comment:
Thanks.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11351
___
___
Python-bugs-list
Ned Deily n...@acm.org added the comment:
Looks good to me and the test does now run successfully.
Note that sendfile() was introduced with OS X 10.5 so, like a number of other
similar calls, os.sendfile() will not be present on 32-bit-only OS X installer
builds which are built with a minimum
Ned Deily n...@acm.org added the comment:
I don't have a strong feeling about it but it seems to me that getstatusoutput
is broken now so something should needs to be changed. If I understand your
suggestion, adding a universal_newlines option to getstatusoutput similar to
Popen, with a True
Changes by Craig McQueen pyt...@craig.mcqueen.id.au:
--
nosy: +cmcqueen1975
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue10592
___
___
Giampaolo Rodola' g.rod...@gmail.com added the comment:
Patch in attachment updates the previous one which no longer applies cleanly in
py 3.3.
The control connection address is used for *both* passive (PASV) and active
(PORT) connections, which is the same approach I used in pyftpdlib.
Changes by Giampaolo Rodola' g.rod...@gmail.com:
--
assignee: - giampaolo.rodola
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue1661754
___
___
Changes by Dave Malcolm dmalc...@redhat.com:
--
nosy: +dmalcolm
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue10924
___
___
Python-bugs-list
New submission from Charles-Francois Natali neolo...@free.fr:
$ cat /tmp/test_mmap.py
import mmap
m = mmap.mmap(-1, 1024, prot=mmap.PROT_READ|mmap.PROT_EXEC)
m[0] = 0
$ ./python /tmp/test_mmap.py
Segmentation fault
When trying to perform a write, is_writable is called to check that we can
Giampaolo Rodola' g.rod...@gmail.com added the comment:
we do not want that the same (host, port) is used for
both control and data connections.
I meant *port*, not (host, port).
--
___
Python tracker rep...@bugs.python.org
Antoine Pitrou pit...@free.fr added the comment:
Patch looks mostly good. Why do you use ~PROT_WRITE instead of
PROT_READ|PROT_EXEC as in your example?
(I'm unsure whether a POSIX implementation could refuse such a value)
--
nosy: +pitrou
stage: - patch review
type: - crash
versions:
v_peter leanmeandonothingmach...@gmail.com added the comment:
I think it would be nice to get this test in.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue9173
___
New submission from Sandro Tosi sandro.t...@gmail.com:
Following up http://mail.python.org/pipermail/docs/2011-January/002786.html I
prepared this patch to
- correct Verhulst name
- explain that the results can be against common sense
Also, what's exactly related to world coordinates in this
New submission from STINNER Victor victor.stin...@haypocalc.com:
Fault handler for SIGSEGV, SIGFPE, SIGBUS and SIGILL signals: display the
Python backtrace and restore the previous handler. Allocate an alternate stack
for this handler, if sigaltstack() is available, to be able to allocate
Changes by Antoine Pitrou pit...@free.fr:
--
nosy: +dmalcolm
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11393
___
___
Python-bugs-list mailing
STINNER Victor victor.stin...@haypocalc.com added the comment:
I tested faulthandler on Linux, FreeBSD and Windows XP: it works well. I
suppose that it works on any operating systems.
You can also try it on know crashers: Lib/test/crashers/ (you have to modify
the files to add: import
Giampaolo Rodola' g.rod...@gmail.com added the comment:
Again, it's not clear to me what you are complaining about.
Please try to be more clear and/or provide a patch.
--
nosy: +giampaolo.rodola
___
Python tracker rep...@bugs.python.org
Changes by Florian Mayer florma...@aim.com:
--
nosy: +segfaulthunter
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11266
___
___
Python-bugs-list
Changes by STINNER Victor victor.stin...@haypocalc.com:
--
keywords: +easy
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue11373
___
___
LW cjejuni2...@yahoo.com added the comment:
so i downloaded the python-3.2 source again, applied the .diff file. still
getting _io.TextIOWrapper open file error. then ran the major 5 individual make
test_ files errors. hope u can find from these:
Bob Wintemberg rwi...@gmail.com added the comment:
The following is a patch to fix this documentation issue in release27-maint.
--
keywords: +patch
nosy: +rwinte
Added file: http://bugs.python.org/file20993/patch-27.diff
___
Python tracker
1 - 100 of 116 matches
Mail list logo