From: Gerald Wildgruber <wildgruber@tu-berlin.de>
To: Emanuel Berg <moasen@zoho.com>
Cc: help-gnu-emacs@gnu.org
Subject: Re: How to do a massive unfill paragraph operation over several hundred files?
Date: Sun, 30 Sep 2018 21:47:32 +0200 [thread overview]
Message-ID: <87pnwuvkbv.fsf@tu-berlin.de> (raw)
In-Reply-To: <8636ts4jz3.fsf@zoho.com>
Hi,
thanks for the hint!
What I do now is the following: in every file I want to normalize (= unwrap) I use a kbd macro consisting of two consecutive functions:
1. an unfill function (originally posted by Stefan Monnier if I remember correctly):
(defun unfill-paragraph (&optional region)
"Takes a multi-line paragraph and makes it into a single line of text."
(interactive (progn (barf-if-buffer-read-only) '(t)))
(let ((fill-column (point-max)))
(fill-paragraph nil region)))
2. org-forward-paragraph
I then repeat the macro with an infinite argument.
This works quite well and the result requires very little manual correction; all Org mode constructs like lists, blocks etc are preserved.
But these are of course interactive functions; how would I script them to non-interactive code in the way you proposed for emacs batch processing, i.e. not expecting any input except a number files to operate on? Can I load org-mode on the fly in order for emacs to understand the second function (org-forward-paragraph)?
Thanks
Gerald.
On Sa, Sep 29 2018, Emanuel Berg <moasen@zoho.com> wrote:
> Gerald Wildgruber wrote:
>
>> MY QUESTION: What would be a good way to
>> AUTOMATE such an unfill operation, removing all
>> line breaks from all paragraphs over a large
>> number of files?
>
> Script to insert a string into files
> 1, 2, and 3:
>
> #! /bin/zsh
>
> local script=do-this.el
>
> emacs -Q --batch --script $script 1 2 3
>
> Elisp to do it:
>
> ;; do-this.el
>
> (dolist (f argv)
> (find-file f)
> (insert "Sail Ho!") ; do your thing here
> (save-buffer) )
---------------------
Sent with mu4e
next prev parent reply other threads:[~2018-09-30 19:47 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <mailman.1463.1538170475.1284.help-gnu-emacs@gnu.org>
2018-09-29 11:32 ` How to do a massive unfill paragraph operation over several hundred files? Emanuel Berg
2018-09-29 12:04 ` history of argv (was: Re: How to do a massive unfill paragraph operation over several hundred files?) Emanuel Berg
2018-09-29 12:44 ` Skip Montanaro
2018-09-29 23:20 ` John Yates
[not found] ` <mailman.1503.1538263274.1284.help-gnu-emacs@gnu.org>
2018-09-30 18:20 ` Emanuel Berg
[not found] ` <mailman.1481.1538225108.1284.help-gnu-emacs@gnu.org>
2018-09-29 15:14 ` Emanuel Berg
2018-09-29 18:07 ` Barry Margolin
2018-09-29 21:20 ` James K. Lowden
2018-09-30 19:47 ` Gerald Wildgruber [this message]
[not found] ` <mailman.1577.1538336869.1284.help-gnu-emacs@gnu.org>
2018-09-30 20:28 ` How to do a massive unfill paragraph operation over several hundred files? Emanuel Berg
2018-10-01 5:48 ` Gerald Wildgruber
[not found] ` <mailman.1589.1538372941.1284.help-gnu-emacs@gnu.org>
2018-10-01 9:42 ` Emanuel Berg
2018-10-01 14:37 ` Gerald Wildgruber
2018-10-01 15:21 ` Robert Pluim
2018-10-02 12:11 ` Gerald Wildgruber
2018-10-02 15:37 ` Noam Postavsky
2018-10-03 10:11 ` Gerald Wildgruber
2018-10-03 23:52 ` Noam Postavsky
2018-10-08 5:42 ` Gerald Wildgruber
[not found] ` <mailman.1666.1538561477.1284.help-gnu-emacs@gnu.org>
2018-10-03 14:12 ` Emanuel Berg
[not found] ` <mailman.1650.1538482287.1284.help-gnu-emacs@gnu.org>
2018-10-02 15:11 ` Emanuel Berg
[not found] ` <mailman.1626.1538404685.1284.help-gnu-emacs@gnu.org>
2018-10-01 15:12 ` Emanuel Berg
2018-09-28 8:16 Gerald Wildgruber
2018-09-29 2:04 ` ken
[not found] ` <mailman.1466.1538186663.1284.help-gnu-emacs@gnu.org>
2018-09-29 11:34 ` Emanuel Berg
2018-09-30 5:10 ` Van L
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=87pnwuvkbv.fsf@tu-berlin.de \
--to=wildgruber@tu-berlin.de \
--cc=help-gnu-emacs@gnu.org \
--cc=moasen@zoho.com \
/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.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.