summaryrefslogtreecommitdiff
path: root/lisp/init-editing.el
diff options
context:
space:
mode:
authorKyle Meyer <kyle@kyleam.com>2016-01-04 21:55:26 -0500
committerKyle Meyer <kyle@kyleam.com>2016-01-04 21:55:26 -0500
commit0d666eab0a36789c5c98fa7d37b928a9f39acaa5 (patch)
treebb757c1ad52e65590665c309c5d4c3f6dd4dac97 /lisp/init-editing.el
parent13c91ede13ff41869390092c4d6bd9d80d7e2eae (diff)
downloademacs.d-0d666eab0a36789c5c98fa7d37b928a9f39acaa5.tar.gz
lisp/init-text.el: Delete
Diffstat (limited to 'lisp/init-editing.el')
-rw-r--r--lisp/init-editing.el25
1 files changed, 25 insertions, 0 deletions
diff --git a/lisp/init-editing.el b/lisp/init-editing.el
index 0131a56..c7be657 100644
--- a/lisp/init-editing.el
+++ b/lisp/init-editing.el
@@ -71,6 +71,31 @@ special case.
(forward-line -1)
(delete-blank-lines))))
+(defun km/export-wrapped-text (&optional xselect)
+ "Export the text in current buffer as wrapped text.
+
+This is useful for preparing text in emacs and then exporting to
+a wrapped buffer for pasting text (e.g., into a web form).
+
+With an active region, restrict export to this region. If
+XSELECT is non-nil, copy the region with `x-select-text'."
+ (interactive "P")
+ (let ((wrapped-buffer (get-buffer-create "*Wrapped export*")))
+ (apply #'copy-to-buffer wrapped-buffer
+ (if (use-region-p)
+ (list (region-beginning) (region-end))
+ (list (point-min) (point-max))))
+ (with-current-buffer wrapped-buffer
+ (while (not (eobp))
+ (forward-paragraph)
+ (forward-line -1)
+ (km/unfill-paragraph)
+ (forward-line 1))
+ (when xselect
+ (x-select-text
+ (buffer-substring-no-properties (point-min) (point-max)))))
+ (pop-to-buffer wrapped-buffer)))
+
(defun km/narrow-to-comment-heading ()
"Narrow to the current comment heading subtree.