From: "Tom Breton (Tehom)" <tehom@panix.com>
To: "Stefan Monnier" <monnier@iro.umontreal.ca>
Cc: emacs-devel@gnu.org
Subject: Re: ewoc patch
Date: Wed, 9 Dec 2009 23:52:56 -0500 [thread overview]
Message-ID: <08698ba442eec12008bede6987588958.squirrel@mail.panix.com> (raw)
In-Reply-To: <jwv1vj3desp.fsf-monnier+emacs@gnu.org>
I have, as you asked, adapted my changes for the latest CVS ewoc, for
emacs 23.1. A few remarks:
How do you prefer to handle the part of the ewoc-create interface that
gives separator? I can see several ways of proceeding:
* Add another optional argument. So there'd be both "nosep" and
"separator"
* Con: It's ugly to have 2 arguments with strongly overlapping
meanings.
* Con: Confusing if the given arguments disagree.
* Replace argument "nosep" with "separator"
* Con: Breaks backward compatibility.
* Pro: Suffices to control all the variability
* Keep only "nosep" as an argument.
* Con: The flexibility is not available, though it exists internally.
* Provide two function signatures; maybe name the other
`ewoc-create*'.
* Con: Makes the interface a little bigger.
>>> The Emacs package generally doesn't like version numbers, so I'd rather
>>> not introduce one here, unless there's really a good reason for it.
>> I added it so that other packages that wanted or needed a variable
>> separator could tell whether it was available. Otherwise they would
>> make
>> errors if an old ewoc.el was loaded. If you have a better way in mind,
>> I'll use it.
>
> Better just try to use the feature and detect when it's not available.
> E.g. check the feature's presence via `fboundp' or by trying the call
> with the extra parametwer and catch the
> `wrong-number-of-arguments' error.
I'm not sure that would suffice. ewoc-create is fbound in any case. That
leaves us with trying ewoc-create and catching the error. My fear is that
a client's call to ewoc-create would not naturally occur at a good time
for this. Ie, a client would appear to load correctly, would be started
by the user, and only then realize that it was relying on something that
wasn't available.
>>> We still don't have a testsuite in Emacs, but we'll gladly add the
>>> testsuite to our repository (we have a `test' subdirectory for that).
>> Sure. But it uses my tester package rtest; there is an old version of
>> rtest out there but I'm using my new version that is still in flux.
>> (Which, circularly, is the reason I wanted to make ewoc more flexible)
>
> I understand. It's OK if the tests can't be run as-is.
OK. I just added tests for ewoc-do as well. I will submit the test code.
Thanks for your help,
Tom Breton (Tehom)
next prev parent reply other threads:[~2009-12-10 4:52 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-09 4:03 ewoc patch Tom Breton (Tehom)
2009-12-09 4:19 ` ewoc patch (Was wrong patch, right one attached) Tom Breton (Tehom)
2009-12-09 4:40 ` ewoc patch Stefan Monnier
2009-12-09 20:57 ` Tom Breton (Tehom)
2009-12-09 21:25 ` Stefan Monnier
2009-12-10 4:52 ` Tom Breton (Tehom) [this message]
2009-12-10 7:28 ` Stefan Monnier
2009-12-11 1:23 ` Tom Breton (Tehom)
2009-12-11 5:09 ` Stefan Monnier
2010-08-21 10:52 ` Stefan Monnier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=08698ba442eec12008bede6987588958.squirrel@mail.panix.com \
--to=tehom@panix.com \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.