From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Joe Corneli Newsgroups: gmane.emacs.devel Subject: Re: yet another todo editing system Date: Sun, 08 Jun 2003 07:32:57 -0500 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: References: <16098.1698.415992.223606@nick.uklinux.net> <1055004206.1439.12.camel@lan1> <20030607210527.GA20914@gnu.org> NNTP-Posting-Host: main.gmane.org X-Trace: main.gmane.org 1055075491 27275 80.91.224.249 (8 Jun 2003 12:31:31 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sun, 8 Jun 2003 12:31:31 +0000 (UTC) Cc: emacs-devel Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Sun Jun 08 14:31:29 2003 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 19OzKb-00075n-00 for ; Sun, 08 Jun 2003 14:31:29 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 19Oze7-0007Uk-00 for ; Sun, 08 Jun 2003 14:51:39 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.20) id 19OzMT-0007fc-4T for emacs-devel@quimby.gnus.org; Sun, 08 Jun 2003 08:33:25 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.20) id 19OzM5-0007dl-BM for emacs-devel@gnu.org; Sun, 08 Jun 2003 08:33:01 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.20) id 19OzM3-0007da-HM for emacs-devel@gnu.org; Sun, 08 Jun 2003 08:33:00 -0400 Original-Received: from dell3.ma.utexas.edu ([146.6.139.124]) by monty-python.gnu.org with esmtp (Exim 4.20) id 19OzM3-0007dW-3V for emacs-devel@gnu.org; Sun, 08 Jun 2003 08:32:59 -0400 Original-Received: from linux182.ma.utexas.edu (linux182.ma.utexas.edu [146.6.139.171]) by dell3.ma.utexas.edu (8.11.3/8.10.2) with ESMTP id h58CWvN12055; Sun, 8 Jun 2003 07:32:57 -0500 Original-Received: from jcorneli by linux182.ma.utexas.edu with local (Exim 3.36 #1 (Debian)) id 19OzM1-00083d-00; Sun, 08 Jun 2003 07:32:57 -0500 Original-To: ttn@glug.org In-reply-to: (message from Thien-Thi Nguyen on 08 Jun 2003 06:37:04 -0400) Comments: Hyperbole mail buttons accepted, v04.18. X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Emacs development discussions. List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:14913 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:14913 Dear Thi, Well, your point of view seems well-informed. Mine certainly isn't; consequentially I probably stand to benefit from wading through a certain about of "verbiage" and _not_ discarding it. True enough, education in the ways of free software wasn't what I was explicitly looking for - but implicitly it was, at least in part. I'll take it when I can get it. What follows isn't _very_ technical, but its a reasonable overview of what I want compared with what is out there. It doesn't look like there is anything _too_ hard -- but neither does it look like there is something that does _exactly_ what I want. These are things I could use advice on but that I don't necessarily _need_ advice on in order to proceed. My methods for finding relevant packages were: (X) seaching EmacsWiki for 'todo' and following links that came up, particularly links at http://www.emacswiki.org/cgi-bin/wiki.pl?CategoryTodo (Y) reviewing what I learned from a webpage with lots of comments by Kai Grossjohann that I randomly found during a websearch yesterday at Google groups for 'emacs rmail email "HTML mail"' -- the tenth item returned turns out to be an interesting discussion of various todo modes, the long link is this: http://groups.google.com/groups?q=emacs+rmail+email++%22HTML+mail%22&hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=m2adjxi9sj.fsf%40mmynste.corp.vha.com&rnum=10 and (Z) downloading and installing everything that seemed particularly relevant, trying it out, and browsing the documentation. Results of this investigation: the package hyperbole seems to supply a good bit of the same functionality as my "todo" program -- in particular, if I made a buffer "example" that looks like this: this is a list and I had a file "list" in the right path that looks like this: Lists are the basic building blocks of Lisp They are also the basic building blocks of most Todo modes then hitting "C-h h a" when my cursor was on the word "list" in the buffer "example" would cause a new buffer containing the file "list" to open up in Emacs. You can see how this can be used to browse one-word lists. If I hit "C-h h a" when my cursor is on the line Lists are the basic building blocks of Lisp in the buffer "list", then who knows what will happen. Presumably I could write some macros that would get my files to open up so that hyperbole will automatically parse each line as a "button", so that I could get the above-quoted line to point to a file "lisp", say. I haven't found the details yet, but this doesn't seem like it should be too hard. I'll have to dig further into the documentation for hyperbole is all. For now, it looks like this combination will provide essentially the same information as the lists that I _exported_ from my todo program. (Which, for those of you new to this "thread", is available at www.ma.utexas.edu/~jcorneli/no_index.html/todo/todo.html together with several examples and a bit of documentation.) What I'm not seeing here is the neat "up" feature that my program supplies. Description of todo's "up feature": When you are viewing a list and you submit the command "up", one of three things happen: if the current list has exactly one "client", that client is displayed and gets the focus of the program. If the current list has more than one client, you are prompted with a list and told to choose one. Assuming you manage to do that alright, focus shifts to the chosen one as above. Finally, if the current list has no clients you get an error message. Clientele information is developed in real time as users add information to the "todo database". Each list with clients contains a "hidden" link to the list of clients, and this list is adjusted every time the user does something like add a link from file A to file B or delete a link from file A to file B. This feature is useful for figuring out who cites what. For example, what definitions in math dictionary rely on the definition of a group, or which papers in an annotated bibliography refer to John Doe, 1984. It might also be useful for doing mathematical computations (assuming someone wanted to do computations within the framework of the todo database for some reason). This "up" business seems serious, but probably by no means fatal. On to something new. Here is something I would _like_ to have in my ideal list editor: the ability to take a list element such as Lists are the basic building blocks of Lisp and generate from it a new list something like Lists are the basic building blocks of Lisp where presumably each element of the new list is defined by something in the extant database of entries (or if not defined at least related somehow, perhaps just as a representative of a semantic category in the case of "are the"). I don't see much problem with writing a function in Emacs that would break a string up in this way (or any number of other ways) -- so this probably isn't a sticking point, assuming that everything else I've mentioned so far works. The example above reminds me of another feature of my program: the ability to describe each element of a list with a one-letter tag. Maybe each element would be marked up with a hint as tothe part of language that it comes from: Cat Run Fast or some such thing. These tags can be used (at least in theory) to generate markup in the exported document. Maybe I want to export to colorful HTML and get each noun to be green, each verb to be yellow, and each adverb to be blue. Figuring out how to do this with hyperbole -- and figuring out how to export the files once they are tagged -- seem to be the last of my problems with "porting" my program. Porting is in quotes, because except for exporting to formats that use only very trivial markup, I haven't yet gotten around to getting this done in my program. Anyway, it doesn't seem likely to be too hard to export lists once they exist, so I don't think this will be a sticking point. That means the only thing that poses a real challenge is "up", and that should be pretty doable. Joe PS. Another question is whether it mightn't be nice to make everything colorful, a la outline more for example; I'll plan to worry about that later.