[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/debbugs 5447e7b 158/311: * debbugs-gnu.el (debbugs-gnu-
From: |
Stefan Monnier |
Subject: |
[elpa] externals/debbugs 5447e7b 158/311: * debbugs-gnu.el (debbugs-gnu-fix-patch): Further patch path fixups. |
Date: |
Sun, 29 Nov 2020 18:42:01 -0500 (EST) |
branch: externals/debbugs
commit 5447e7bb2e98e75c1f57355a1cc67d73032f014e
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
* debbugs-gnu.el (debbugs-gnu-fix-patch): Further patch path fixups.
---
debbugs-gnu.el | 64 +++++++++++++++++++++++++++++++++-------------------------
1 file changed, 36 insertions(+), 28 deletions(-)
diff --git a/debbugs-gnu.el b/debbugs-gnu.el
index 034f6f6..89da0a6 100644
--- a/debbugs-gnu.el
+++ b/debbugs-gnu.el
@@ -1372,14 +1372,20 @@ If given a prefix, patch in the branch directory
instead."
(gnus-with-article-buffer
(dolist (handle (mapcar 'cdr (gnus-article-mime-handles)))
(when (string-match "diff\\|patch" (mm-handle-media-type handle))
- (push (mm-handle-buffer handle) patch-buffers))))
+ (push (cons (mm-handle-encoding handle)
+ (mm-handle-buffer handle))
+ patch-buffers))))
(unless patch-buffers
(gnus-summary-show-article 'raw)
(article-decode-charset)
- (push gnus-article-buffer patch-buffers))
- (dolist (buffer patch-buffers)
+ (push (cons nil gnus-article-buffer) patch-buffers))
+ (dolist (elem patch-buffers)
(with-temp-buffer
- (insert-buffer-substring buffer)
+ (insert-buffer-substring (cdr elem))
+ (cond ((eq (car elem) 'base64)
+ (base64-decode-region (point-min) (point-max)))
+ ((eq (car elem) 'qp)
+ (quoted-printable-decode-region (point-min) (point-max))))
(debbugs-gnu-fix-patch dir)
(call-process-region (point-min) (point-max)
"patch" nil output-buffer nil
@@ -1419,29 +1425,31 @@ If given a prefix, patch in the branch directory
instead."
(defun debbugs-gnu-fix-patch (dir)
(setq dir (directory-file-name (expand-file-name dir)))
(goto-char (point-min))
- (re-search-forward diff-file-header-re nil t)
- (goto-char (match-beginning 0))
- (let ((target-name (car (diff-hunk-file-names))))
- (when (and target-name
- (or (not (string-match "/" target-name))
- (and (string-match "^[ab]/" target-name)
- (not (file-exists-p
- (expand-file-name (substring target-name 2)
- dir))))))
- ;; We have a simple patch that refers to a file somewhere in the
- ;; tree. Find it.
- (when-let ((files (directory-files-recursively
- dir (concat "^" (regexp-quote
- (file-name-nondirectory target-name))
- "$"))))
- (when (re-search-forward (concat "^[+]+ "
- (regexp-quote target-name)
- "\\([ \t\n]\\)")
- nil t)
- (replace-match (concat "+++ a"
- (substring (car files) (length dir))
- (match-string 1))
- nil t))))))
+ (while (re-search-forward diff-file-header-re nil t)
+ (goto-char (match-beginning 0))
+ (let ((target-name (car (diff-hunk-file-names))))
+ (when (and target-name
+ (or (not (string-match "/" target-name))
+ (and (string-match "^[ab]/" target-name)
+ (not (file-exists-p
+ (expand-file-name (substring target-name 2)
+ dir))))
+ (file-exists-p (expand-file-name target-name dir))))
+ ;; We have a simple patch that refers to a file somewhere in the
+ ;; tree. Find it.
+ (when-let ((files (directory-files-recursively
+ dir (concat "^" (regexp-quote
+ (file-name-nondirectory
target-name))
+ "$"))))
+ (when (re-search-forward (concat "^[+]+ "
+ (regexp-quote target-name)
+ "\\([ \t\n]\\)")
+ nil t)
+ (replace-match (concat "+++ a"
+ (substring (car files) (length dir))
+ (match-string 1))
+ nil t)))))
+ (forward-line 2)))
(defun debbugs-gnu-find-contributor (string)
"Search through ChangeLogs to find contributors."
@@ -1485,7 +1493,7 @@ If given a prefix, patch in the branch directory instead."
;; Fall back on the email address.
(t
(cadr from))))))
- (goto-char (point-min))
+ (goto-char (point-max))
(end-of-line)
(insert " (tiny change"))
(goto-char point)))))
- [elpa] externals/debbugs ad9c74d 096/311: * debbugs.el (debbugs-get-usertag): Fix comments., (continued)
- [elpa] externals/debbugs ad9c74d 096/311: * debbugs.el (debbugs-get-usertag): Fix comments., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 3371e00 097/311: * debbugs-gnu.el (debbugs-gnu-usertags): Show also local tags., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 46fd25b 100/311: * debbugs.texi: Add 2012 to copyright years., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs d559351 107/311: * README: Add command `debbugs-gnu-bugs'., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 0306e62 108/311: Fix GPL. debbugs is NOT part of Emacs., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs aed4c19 120/311: * debbugs.el:, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 5647a71 125/311: Make the `t' "tag" command persist over reordering, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs c3826d1 134/311: Add *.info and dir to debbugs, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 9d44129 136/311: Grammar fixes in debbugs manuals, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 4e3b14c 152/311: Update branch directory, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 5447e7b 158/311: * debbugs-gnu.el (debbugs-gnu-fix-patch): Further patch path fixups.,
Stefan Monnier <=
- [elpa] externals/debbugs 19bd860 105/311: * debbugs-gnu.el : Require wid-edit.el., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 234c1d0 058/311: * debbugs-gnu.el (debbugs-gnu-default-severities), Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs cc9e0a0 075/311: Upgrade package version to 0.3., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 10f4c37 090/311: Clear up the current limit when narrowing., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs f4a0a4b 091/311: Adapt copyright year., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs e4c3368 092/311: (debbugs-gnu-default-packages): Add "fm" to the choices., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 74b2e16 093/311: * Debbugs.wsdl: Add get_usertag specification., Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 2e4ea48 098/311: * debbugs-gnu.el (debbugs-gnu-usertags): Rename argument to USERS, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs d80d972 099/311: * debbugs.el:, Stefan Monnier, 2020/11/29
- [elpa] externals/debbugs 7693594 101/311: Fix the copyright section to point out that it's not part of Emacs., Stefan Monnier, 2020/11/29