[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Yet another maildir question
From: |
Jesse F. Hughes |
Subject: |
Re: Yet another maildir question |
Date: |
Fri, 23 Jul 2004 23:41:42 +0200 |
User-agent: |
Gnus/5.090017 (Oort Gnus v0.17) XEmacs/21.4 (Reasonable Discussion, linux) |
johnsu01 <x@x.x> writes:
> It only prettifies the Group buffer. But, yeah, tab completion is
> still off the original name. I didn't write those original
> functions---but that sure would be a nice feature to add.
I haven't written those functions either, but I altered your functions
slightly.
Here is the now badly-named lookup function and my translation table.
Notice that I allow regular expressions in the first position. In the
second position, you can replace text with the corresponding match
from the first. So, a group like "lists.humor" shows up just as
"humor". It's a little nicer for me, since I often subscribe to a
list for only a brief period and I don't feel like editing the table
every time that happens.
Probably there is a much nicer way to write the lookup function.
(setq gnus-group-translation-table
'(("trash.bogofilter$" "Trash (bogofilter)")
("trash$" "Trash")
("egowatch$" "Usenet alert")
("tue$" "TU/E misc.")
("lists.fom$" "FOM")
("lists\\.\\(.*\\)" "\\1")
("newsgroup.chats$" "Usenet chats")
("newsgroup.chats.gnus$" "Gnus chats")
("newsgroup.chats.Linux$" "Linux chats")
("tue.research$" "Research")))
(defun lookup-by-tail (string matchers)
(let ((replacements
(mapcar #'(lambda (matcher)
(let* ((rexp (car matcher))
(then-expr (cadr matcher)))
(if (string-match rexp string)
(let ((i 0)
(ret ""))
(while (< i (length then-expr))
(if (char= (aref then-expr i) ?\\ )
(progn
(setq i (+ i 1))
;; Should be at a digit now.
(setq num
(string-to-int
(char-to-string (aref then-expr
i))))
(setq ret
(concat ret (match-string num
string))))
(setq ret
(concat ret
(char-to-string (aref then-expr
i)))))
(setq i (+ i 1)))
ret))))
matchers)))
(find-if 'identity replacements)))
--
"By initially making it virtually impossible to maintain a heterogenous
environment of Word 95 and Word 97 systems, Microsoft offered its customers
that most eloquent of arguments for upgrading: the delicate sound of a
revolver being cocked somewhere just out of sight." --Dan Martinez