summaryrefslogtreecommitdiff
path: root/piem.el
diff options
context:
space:
mode:
authorKyle Meyer <kyle@kyleam.com>2020-06-06 11:48:39 -0400
committerKyle Meyer <kyle@kyleam.com>2020-06-06 15:09:59 -0400
commit5495e23781c5223ad9caaa1cbe3a0d0500512812 (patch)
tree3ae3bb4f16776b54bca4537ac6214618476b4924 /piem.el
parent9faded3f5324b83a63d98550cbcef74dcc1e0bd4 (diff)
downloadpiem-5495e23781c5223ad9caaa1cbe3a0d0500512812.tar.gz
Extract patch information from a buffer rather than files
piem-am will become a command that works with mboxes outside of -b4. In this context, it's easier and cleaner to deal with a buffer than temporary files.
Diffstat (limited to 'piem.el')
-rw-r--r--piem.el23
1 files changed, 11 insertions, 12 deletions
diff --git a/piem.el b/piem.el
index 7b51d34..80e8a35 100644
--- a/piem.el
+++ b/piem.el
@@ -242,18 +242,17 @@ the following information about the patch series:
;;;; Patch handling
-(defun piem-series-info (cover patches)
- "Collect information for a patch series.
-COVER is an mbox with the cover letter, and PATCHES is an
-am-ready mbox. If the series does not have a cover letter (e.g.,
-a one-patch series), COVER may be nil."
- (with-temp-buffer
- (insert-file-contents (or cover patches))
- (let ((info (save-restriction
- (message-narrow-to-head)
- (list :date (message-fetch-field "date")
- :from (message-fetch-field "from")
- :subject (message-fetch-field "subject")))))
+(defun piem-extract-mbox-info (&optional buffer)
+ "Collect information from message in BUFFER.
+If BUFFER is nil, the current buffer is used. Any message after
+the first will be ignored."
+ (with-current-buffer (or buffer (current-buffer))
+ (let ((info (save-excursion
+ (save-restriction
+ (message-narrow-to-head)
+ (list :date (message-fetch-field "date")
+ :from (message-fetch-field "from")
+ :subject (message-fetch-field "subject"))))))
(when (re-search-forward (rx line-start "base-commit: "
(group (>= 40 hex-digit))
line-end)