From: "David Kågedal" <davidk@lysator.liu.se>
To: catalin.marinas@gmail.com, git@vger.kernel.org
Subject: [StGit PATCH 13/17] Emacs mode: Add stgit-edit command
Date: Fri, 14 Dec 2007 11:59:02 +0100 [thread overview]
Message-ID: <20071214105856.18066.18189.stgit@krank> (raw)
In-Reply-To: <20071214105238.18066.23281.stgit@krank>
Signed-off-by: David Kågedal <davidk@lysator.liu.se>
---
contrib/stgit.el | 25 +++++++++++++++++++++++++
1 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/contrib/stgit.el b/contrib/stgit.el
index 4282585..a344869 100644
--- a/contrib/stgit.el
+++ b/contrib/stgit.el
@@ -89,6 +89,7 @@ Argument DIR is the repository path."
(define-key stgit-mode-map "n" 'next-line)
(define-key stgit-mode-map "g" 'stgit-refresh)
(define-key stgit-mode-map "r" 'stgit-rename)
+ (define-key stgit-mode-map "e" 'stgit-edit)
(define-key stgit-mode-map "\C-r" 'stgit-repair)
(define-key stgit-mode-map "C" 'stgit-commit)
(define-key stgit-mode-map "U" 'stgit-uncommit)
@@ -204,6 +205,30 @@ Commands:
(goto-char (point-min))
(diff-mode))))
+(defun stgit-edit ()
+ "Edit the patch on the current line"
+ (interactive)
+ (let ((patch (if (stgit-applied-at-point)
+ (stgit-patch-at-point)
+ (error "This patch is not applied")))
+ (edit-buf (get-buffer-create "*stgit edit*"))
+ (dir default-directory))
+ (log-edit 'stgit-confirm-edit t nil edit-buf)
+ (set (make-local-variable 'stgit-edit-patch) patch)
+ (setq default-directory dir)
+ (let ((standard-output edit-buf))
+ (stgit-run "edit" "--save-template=-" patch))))
+
+(defun stgit-confirm-edit ()
+ (interactive)
+ (let ((file (make-temp-file "stgit-edit-")))
+ (write-region (point-min) (point-max) file)
+ (stgit-capture-output nil
+ (stgit-run "edit" "-f" file stgit-edit-patch))
+ (with-current-buffer log-edit-parent-buffer
+ (stgit-refresh))))
+
+
(defun stgit-help ()
"Display help for the StGit mode."
(interactive)
next prev parent reply other threads:[~2007-12-14 11:00 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-14 10:55 [StGit PATCH 00/17] Series short description David Kågedal
2007-12-14 10:55 ` [StGit PATCH 01/17] Add an StGit mode for emacs David Kågedal
2007-12-14 10:56 ` [StGit PATCH 02/17] Emacs mode: Show keybindings when user presses "h" or "?" David Kågedal
2007-12-14 10:56 ` [StGit PATCH 03/17] Emacs mode: Add an explanatory header David Kågedal
2007-12-14 10:57 ` [StGit PATCH 04/17] Emacs mode: Makefile for building stgit.el David Kågedal
2007-12-14 10:57 ` [StGit PATCH 05/17] Emacs mode: push/pop next patch, not patch at point David Kågedal
2007-12-14 10:57 ` [StGit PATCH 06/17] Emacs mode: Let "P" push or pop " David Kågedal
2007-12-14 10:57 ` [StGit PATCH 07/17] Emacs mode: Bind "G" to "stg goto" David Kågedal
2007-12-14 10:57 ` [StGit PATCH 08/17] Emacs mode: show patches' short description David Kågedal
2007-12-14 10:58 ` [StGit PATCH 09/17] Emacs mode: Improve the output buffer state David Kågedal
2007-12-14 10:58 ` [StGit PATCH 10/17] Emacs mode: Bind n and p David Kågedal
2007-12-14 10:58 ` [StGit PATCH 11/17] Emacs mode: add stgit-repair David Kågedal
2007-12-14 10:58 ` [StGit PATCH 12/17] Emacs mode: added stgit-commit and stgit-uncommit David Kågedal
2007-12-14 10:59 ` David Kågedal [this message]
2007-12-14 10:59 ` [StGit PATCH 14/17] Emacs mode: added fontification David Kågedal
2007-12-14 10:59 ` [StGit PATCH 15/17] Emacs mode: Added stgit-new David Kågedal
2007-12-14 10:59 ` [StGit PATCH 16/17] Emacs mode: Add mark command David Kågedal
2007-12-14 10:59 ` [StGit PATCH 17/17] Emacs mode: coalesce command David Kågedal
2007-12-17 11:09 ` [StGit PATCH 00/17] Series short description Catalin Marinas
2007-12-17 22:48 ` Karl Hasselström
2007-12-18 5:21 ` kha/safe and kha/experimental updated Karl Hasselström
2007-12-18 16:09 ` Catalin Marinas
2007-12-18 16:39 ` Jakub Narebski
2007-12-18 16:52 ` Catalin Marinas
2007-12-19 9:41 ` David Kågedal
2007-12-19 9:50 ` David Kågedal
2007-12-19 10:19 ` Catalin Marinas
2007-12-19 9:38 ` Karl Hasselström
2007-12-19 10:44 ` Jakub Narebski
2007-12-19 11:40 ` Karl Hasselström
2007-12-19 11:47 ` Catalin Marinas
2007-12-19 16:23 ` Jakub Narebski
2007-12-19 17:02 ` Catalin Marinas
2007-12-19 17:14 ` David Kågedal
2007-12-19 17:14 ` Karl Hasselström
2007-12-19 9:34 ` Karl Hasselström
2007-12-19 10:09 ` Catalin Marinas
2007-12-19 11:20 ` Karl Hasselström
2007-12-19 11:40 ` Catalin Marinas
2007-12-19 12:10 ` Karl Hasselström
2007-12-19 15:38 ` Catalin Marinas
2007-12-19 14:59 ` Catalin Marinas
2007-12-19 15:39 ` David Kågedal
2007-12-18 9:11 ` [StGit PATCH 00/17] Series short description Catalin Marinas
2007-12-18 9:20 ` David Kågedal
2007-12-18 9:24 ` Karl Hasselström
2007-12-19 22:19 ` [StGit PATCH 0/2] Make new infrastructure subdirectory safe Karl Hasselström
2007-12-19 22:19 ` [StGit PATCH 1/2] Test that "stg goto" can be called from a subdirectory Karl Hasselström
2007-12-19 22:24 ` [StGit PATCH 2/2] Make "stg goto" subdirectory safe Karl Hasselström
2007-12-19 22:46 ` kha/safe updated Karl Hasselström
2007-12-19 23:17 ` Catalin Marinas
2007-12-19 23:26 ` Karl Hasselström
2007-12-19 23:29 ` Catalin Marinas
2007-12-20 6:39 ` Karl Hasselström
2007-12-19 23:24 ` David Kågedal
2007-12-20 6:38 ` Karl Hasselström
2007-12-19 22:28 ` [StGit PATCH 0/2] Make new infrastructure subdirectory safe Karl Hasselström
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20071214105856.18066.18189.stgit@krank \
--to=davidk@lysator.liu.se \
--cc=catalin.marinas@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).