git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/3] git-blame.el: Use with-current-buffer where appropriate

From
Lawrence Mitchell <wence@gmx.li>
Date
Jun 10, 2012, 11:58 UTC
Message-ID
<1339329484-12088-2-git-send-email-wence@gmx.li>
In-Reply-To
<1339329484-12088-1-git-send-email-wence@gmx.li>
From: Rüdiger Sonderfeld <ruediger@c-plusplus.de>

In git-blame-filter and git-blame-new-commit we need to execute the body with (current-buffer) bound to the correct output buffer. We then want to restore the previous value of (current-buffer). The idiom

   (save-excursion
     (set-buffer buf)
     ...)

will not correctly save the original buffer the code was executed in. Instead, use with-current-buffer as recommended in Emacs documentation.

Signed-off-by: Rüdiger Sonderfeld <ruediger@c-plusplus.de>
Signed-off-by: Lawrence Mitchell <wence@gmx.li>
---
 contrib/emacs/git-blame.el | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/contrib/emacs/git-blame.el b/contrib/emacs/git-blame.el
index 5428ff7..20cf9a6 100644
--- a/contrib/emacs/git-blame.el
+++ b/contrib/emacs/git-blame.el
@@ -337,8 +337,7 @@ See also function `git-blame-mode'."
 (defvar in-blame-filter nil)
 
 (defun git-blame-filter (proc str)
-  (save-excursion
-    (set-buffer (process-buffer proc))
+  (with-current-buffer (process-buffer proc)
     (goto-char (process-mark proc))
     (insert-before-markers str)
     (goto-char 0)
@@ -385,8 +384,7 @@ See also function `git-blame-mode'."
           info))))
 
 (defun git-blame-create-overlay (info start-line num-lines)
-  (save-excursion
-    (set-buffer git-blame-file)
+  (with-current-buffer git-blame-file
     (let ((inhibit-point-motion-hooks t)
           (inhibit-modification-hooks t))
       (goto-char (point-min))
-- 
1.7.10.2.552.gaa3bb87
Previous: Lawrence MitchellNext: Lawrence Mitchell
Message 12 of 18 in “git-blame.el: Fix compilation warnings.”
  1. git-blame.el: Fix compilation warnings.Rüdiger Sonderfeld, Jan 12, 2012
  2. Jonathan NiederJan 12, 2012
  3. Rüdiger SonderfeldJan 12, 2012
  4. Sending patches with KMail (Re: [PATCH] git-blame.el: Fix compilation warnings.)Jonathan Nieder, Jan 13, 2012
  5. Junio C HamanoJan 14, 2012
  6. Jonathan NiederJan 14, 2012
  7. Jonathan NiederJan 14, 2012
  8. Junio C HamanoJan 15, 2012
  9. Rüdiger SonderfeldJan 14, 2012
  10. git-blame.el: use mapc instead of mapcarJonathan Nieder, Jun 10, 2012
  11. 1/3 git-blame.el: Do not use goto-line in lisp codeLawrence Mitchell, Jun 10, 2012
  12. 2/3 git-blame.el: Use with-current-buffer where appropriateLawrence Mitchell, Jun 10, 2012
  13. 3/3 git-blame.el: Do not use bare 0 to mean (point-min)Lawrence Mitchell, Jun 10, 2012
  14. Jonathan NiederJun 14, 2012
  15. Lawrence MitchellJun 14, 2012
  16. 1/3 git-blame.el: Do not use goto-line in lisp codeLawrence Mitchell, Jun 14, 2012
  17. 2/3 git-blame.el: Use with-current-buffer where appropriateLawrence Mitchell, Jun 14, 2012
  18. 3/3 git-blame.el: Do not use bare 0 to mean (point-min)Lawrence Mitchell, Jun 14, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.