[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] scratch/replace-region-contents 28a5d77: Move replace-regi
From: |
Tassilo Horn |
Subject: |
[Emacs-diffs] scratch/replace-region-contents 28a5d77: Move replace-region-contents from subr.el to subr-x.el |
Date: |
Sat, 9 Feb 2019 04:15:05 -0500 (EST) |
branch: scratch/replace-region-contents
commit 28a5d77dda96947db2331a69e16072043ee2102a
Author: Tassilo Horn <address@hidden>
Commit: Tassilo Horn <address@hidden>
Move replace-region-contents from subr.el to subr-x.el
* lisp/emacs-lisp/subr-x.el (replace-region-contents): Move from
subr.el.
* lisp/json.el (subr-x): Require subr-x.
---
lisp/emacs-lisp/subr-x.el | 27 +++++++++++++++++++++++++++
lisp/json.el | 3 +++
lisp/subr.el | 27 ---------------------------
3 files changed, 30 insertions(+), 27 deletions(-)
diff --git a/lisp/emacs-lisp/subr-x.el b/lisp/emacs-lisp/subr-x.el
index 7d9f0bb..5020772 100644
--- a/lisp/emacs-lisp/subr-x.el
+++ b/lisp/emacs-lisp/subr-x.el
@@ -250,6 +250,33 @@ TRIM-LEFT and TRIM-RIGHT default to \"[ \\t\\n\\r]+\"."
(substring string 0 (- (length string) (length suffix)))
string))
+(defun replace-region-contents (beg end replace-fn &optional max-costs)
+ "Replace the region between BEG and END using REPLACE-FN.
+REPLACE-FN runs on the current buffer narrowed to the region. It
+should return either a string or a buffer replacing the region.
+
+The replacement is performed using `replace-buffer-contents'
+which also describes the MAX-COSTS argument.
+
+Note: If the replacement is a string, it'll be placed in a
+temporary buffer so that `replace-buffer-contents' can operate on
+it. Therefore, if you already have the replacement in a buffer,
+it makes no sense to convert it to a string using
+`buffer-substring' or similar."
+ (save-excursion
+ (save-restriction
+ (narrow-to-region beg end)
+ (goto-char (point-min))
+ (let ((repl (funcall replace-fn)))
+ (if (bufferp repl)
+ (replace-buffer-contents repl max-costs)
+ (let ((source-buffer (current-buffer)))
+ (with-temp-buffer
+ (insert repl)
+ (let ((tmp-buffer (current-buffer)))
+ (set-buffer source-buffer)
+ (replace-buffer-contents tmp-buffer max-costs)))))))))
+
(provide 'subr-x)
;;; subr-x.el ends here
diff --git a/lisp/json.el b/lisp/json.el
index cd8fe9a..455444c 100644
--- a/lisp/json.el
+++ b/lisp/json.el
@@ -49,10 +49,13 @@
;; 2008-02-21 - Installed in GNU Emacs.
;; 2011-10-17 - Patch `json-alist-p' and `json-plist-p' to avoid recursion -tzz
;; 2012-10-25 - Added pretty-printed reformatting -Ryan Crum (address@hidden)
+;; 2019-02-02 - Pretty-printing now uses replace-region-contents and support
for
+;; minimization -tsdh
;;; Code:
(require 'map)
+(require 'subr-x)
;; Parameters
diff --git a/lisp/subr.el b/lisp/subr.el
index af00344..122a0d8 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -5476,31 +5476,4 @@ returned list are in the same order as in TREE.
;; for discoverability:
(defalias 'flatten-list 'flatten-tree)
-(defun replace-region-contents (beg end replace-fn &optional max-costs)
- "Replace the region between BEG and END using REPLACE-FN.
-REPLACE-FN runs on the current buffer narrowed to the region. It
-should return either a string or a buffer replacing the region.
-
-The replacement is performed using `replace-buffer-contents'
-which also describes the MAX-COSTS argument.
-
-Note: If the replacement is a string, it'll be placed in a
-temporary buffer so that `replace-buffer-contents' can operate on
-it. Therefore, if you already have the replacement in a buffer,
-it makes no sense to convert it to a string using
-`buffer-substring' or similar."
- (save-excursion
- (save-restriction
- (narrow-to-region beg end)
- (goto-char (point-min))
- (let ((repl (funcall replace-fn)))
- (if (bufferp repl)
- (replace-buffer-contents repl max-costs)
- (let ((source-buffer (current-buffer)))
- (with-temp-buffer
- (insert repl)
- (let ((tmp-buffer (current-buffer)))
- (set-buffer source-buffer)
- (replace-buffer-contents tmp-buffer max-costs)))))))))
-
;;; subr.el ends here
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] scratch/replace-region-contents 28a5d77: Move replace-region-contents from subr.el to subr-x.el,
Tassilo Horn <=