[PATCH] emacs: create patch filename from subject for inline patch fake parts
David Edmondson
dme at dme.org
Wed Dec 21 01:21:37 PST 2011
On Tue, 20 Dec 2011 16:52:52 -0500, Austin Clements <amdragon at MIT.EDU> wrote:
> Seems like a definite improvement, but perhaps a let* instead of all
> of the setq's?
What would be a lispy approach? I tried:
(defun notmuch-subject-to-patch-filename (subject)
"Convert a typical patch mail subject line into a suitable filename."
(concat
(let ((filename subject)
(transforms
'(("^ *\\(\\[[^]]*\\]\\)? *" . "")
("[. ]*$" . "")
("[^A-Za-z0-9._-]+" . "-")
("\\.+" . "."))))
(mapc (lambda (transform)
(setq filename (replace-regexp-in-string (car transform) (cdr transform) filename)))
transforms)
(substring filename 0 (min (length filename) 50)))
".patch"))
...but that seems a bit unwieldy. `let*' looks best, but still feels a
bit odd:
(defun notmuch-subject-to-patch-filename (subject)
"Convert a typical patch mail subject line into a suitable filename."
(concat
(let* ((filename (replace-regexp-in-string "^ *\\(\\[[^]]*\\]\\)? *" "" subject))
(filename (replace-regexp-in-string "[. ]*$" "" filename))
(filename (replace-regexp-in-string "[^A-Za-z0-9._-]+" "-" filename))
(filename (replace-regexp-in-string "\\.+" "." filename)))
(substring filename 0 (min (length filename) 50)))
".patch"))
dme.
--
David Edmondson, http://dme.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20111221/f9b88266/attachment-0001.pgp>
More information about the notmuch
mailing list