From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stephen Berman Newsgroups: gmane.emacs.devel Subject: Re: New version of todo-mode.el (announcement + user guide) Date: Wed, 12 Jun 2013 23:37:35 +0200 Message-ID: <877ghzdn8g.fsf@rosalinde.fritz.box> References: <87k3m2275u.fsf@rosalinde.fritz.box> <8761xmxfnx.fsf@bzg.ath.cx> <87txl6ghjq.fsf@rosalinde.fritz.box> <87a9myggr7.fsf@wanadoo.es> <87sj0p8z99.fsf@rosalinde.fritz.box> <87mwqwpk98.fsf@rosalinde.fritz.box> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1371073075 14900 80.91.229.3 (12 Jun 2013 21:37:55 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 12 Jun 2013 21:37:55 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jun 12 23:37:55 2013 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Umsjq-0008VF-9w for ged-emacs-devel@m.gmane.org; Wed, 12 Jun 2013 23:37:54 +0200 Original-Received: from localhost ([::1]:35677 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Umsjp-0008Co-SE for ged-emacs-devel@m.gmane.org; Wed, 12 Jun 2013 17:37:53 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37974) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Umsjh-00086O-7z for emacs-devel@gnu.org; Wed, 12 Jun 2013 17:37:50 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Umsjb-0006IO-Pv for emacs-devel@gnu.org; Wed, 12 Jun 2013 17:37:45 -0400 Original-Received: from mout.gmx.net ([212.227.17.22]:55097) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Umsjb-0006Ht-GZ for emacs-devel@gnu.org; Wed, 12 Jun 2013 17:37:39 -0400 Original-Received: from mailout-de.gmx.net ([10.1.76.31]) by mrigmx.server.lan (mrigmx001) with ESMTP (Nemesis) id 0MSoaR-1UwxUa3uuD-00RqnD for ; Wed, 12 Jun 2013 23:37:37 +0200 Original-Received: (qmail invoked by alias); 12 Jun 2013 21:37:37 -0000 Original-Received: from i59F55541.versanet.de (EHLO rosalinde.fritz.box) [89.245.85.65] by mail.gmx.net (mp031) with SMTP; 12 Jun 2013 23:37:37 +0200 X-Authenticated: #20778731 X-Provags-ID: V01U2FsdGVkX1/OtHEZNO3ODCipPFspnBqiFtprCVJctJcHLpqre6 vMOATlWaf1yRb0 In-Reply-To: (Stefan Monnier's message of "Tue, 11 Jun 2013 17:48:34 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) X-Y-GMX-Trusted: 0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 212.227.17.22 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:160387 Archived-At: On Tue, 11 Jun 2013 17:48:34 -0400 Stefan Monnier wrote: >> Thank you for the vote of confidence. Regarding compatibility, as >> explained in the last section of the user guide I posted, the way the >> new and old todo file formats treat the item date header makes them >> practically incompatible. > > Too bad, but not surprising. > >> However, I've provided a command which converts a copy of an old-style >> todo file into new-style one and a copy of an old-style >> `todo-file-done' file into a new-style todo archive file. > > That's not sufficient for people who use the same TODO file on various > machines whereas those machines don't all have the same Emacs version > (hence some will have the old todo-mode and others will have the new one). I was kind of hoping todo-mode users would be so wowed by the new version that they'd convert their old files and not look back... but I didn't consider the use-case you mention. I'll try to write a command that converts from the new to the old format, but this may not be so straightforward, because the new format has structure at all three organizational levels (item, category, and file) for which there's no correspondence in the old format. (Likewise, there's nothing in the new format corresponding to use of todo-prefix in the old format, but I consider that difference to be one of the main advantages of the new version. In fact, I think the way the old version interacts with the Emacs diary is rather buggy, at least for my usage, and the fact that there have been no bug reports about that leads me to believe that few if any todo-mode users include the todo file in the diary -- or they have a very different pattern of use from mine (which is what lead to me work on the new version).) >> - A third alternative is to install the new version as posted with the >> new name and prefix in place of the old version and move that to >> lisp/obsolete/, so people could still use it but would have more >> incentive to use the new version. > > That sounds like the better solution. Even better if the old and the > new code can be both in use at the same time (e.g. if you have > converted some of your todo files but not all). I want to be sure what you're saying here: are you saying there's something better than making the old version obsolete? Or are you saying it is ok to make it obsolete? (Your parenthetical example is a bit confusing, because the old version only supports using one todo file at a time. I guess you could have several todos files, but to switch between them you'd have to unload todo-mode.el, change the value of todo-file-do and reload the package. The fact that you can simultaneously use multiple todo files is another big advantage of the new version -- and probably also the main stumbling block in converting from the new to the old format.) >> - Although I eliminated, changed or reimplemented almost all the code in >> the old version, there are bits here and there that I've retained, as >> well as the basic concepts and UI of handling todo lists. So should >> the original author, Oliver Seidel, still be listed as an author, or >> is it sufficient to acknowledge him in the commentary (as I do in the >> code I posted)? > > I don't see why we shouldn't keep him in the list of authors. Ok. >> - If Glenn Morris approves, can I install the patch I included for >> diary-lib.el? > > I'm OK with whatever he agrees with in this respect. I agree with him that a hook would be better, but if I can't figure out how to do it that way, I'll probably use the patch as a fallback. (I just saw your response to Glenn as I was about to post this; see my response to him about the problems I see with adding a hook, though that could well just be my lack of insight.) >> - The code makes use of a powerset function, which Emacs doesn't have. >> I tried but couldn't come up with my own algorithm but found a >> recursive Common Lisp implementation and an iterative one in C on a >> website whose content is licensed under the GFDL. I reimplemented the >> latter in Elisp, so at least the code is not literally copied. Is >> this a cause for concern with respect to copyright assignment? > > It sounds borderline. That's a bit intimidating. Maybe the code Wolfgang Jenkner posted in this thread could be used instead -- even better if it were just added to Emacs. Juri Linkov also posted one a little while ago, which was actually essentially the same as the Common Lisp recursive definition. Is this really subject to copyright? >> - I've tried to follow the Emacs coding conventions and used checkdoc, >> but one of the things I'm uncertain about is the new "--" > > Lots of packages don't follow this convention. It's not a problem. Ok. >> - I also have a question about documentation. The user guide I posted >> is certainly too long and detailed for the commentary section of the >> source code, and I guess also for the Emacs manual. Should I try to >> destill it down to a reasonable manual entry, added to the diary >> chapter? If so, I'd be grateful for suggestions about what to omit or >> how to make it otherwise suitable. Alternatively, if it is deemed >> worthwhile including all the information, it could be added as >> separate manual. > > Either way is fine by me, but a separate todo-mode Texinfo manual sounds > perfectly acceptable. I'll probably do that then, since it should be easier than trying to pare it down. Steve Berman