[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [C-u M-q] -> unfill-paragraph
From: |
Tom Roche |
Subject: |
Re: [C-u M-q] -> unfill-paragraph |
Date: |
Sun, 13 Nov 2011 10:52:44 -0500 |
User-agent: |
GNU Emacs 23.3.1 (x86_64-pc-linux-gnu, GTK+ Version 2.24.4) |
[Text-mode table enclosed--best viewed in monospace font.]
Tom Roche Thu, 10 Nov 2011 12:29:33 -0500
>> [How] to write one's own `fill-paragraph' façade such that
>> * [my-fill-paragraph] would hide [the] emacs-provided
>> `fill-paragraph'
>> * [my-fill-paragraph] could delegate to the emacs-provided
>> `fill-paragraph' except when called with prefix argument
Scott Frazer Thu, 10 Nov 2011 14:00:14 -0500
> (defun my-fill-paragraph (&optional arg)
> (interactive "P")
> (let ((fill-column (if arg (point-max) fill-column)))
> (fill-paragraph)))
> (global-set-key (kbd "M-q") 'my-fill-paragraph)
That works, except for region handling. What the code above does is
+----------------------------------------------------------------+
| | M-q | C-u M-q |
+----------------------------------------------------------------+
| no region selected | fill the paragraph | unfill the paragraph |
| | surrounding or | surrounding or |
| | following point | following point |
+----------------------------------------------------------------+
| region selected | nothing | unfills first (only) |
| | | paragraph in region |
+----------------------------------------------------------------+
What I want is
+------------------------------------------------------------------+
| | M-q | C-u M-q |
+------------------------------------------------------------------+
| no region selected | fill the paragraph | unfill the paragraph |
| | surrounding or | surrounding or |
| | following point | following point |
+------------------------------------------------------------------+
| region selected | fill all paragraphs | unfill all paragraphs |
| | in the region | in the region |
+------------------------------------------------------------------+
Note that the wanted region-handling behaviors are those which one gets using
M-x, i.e., with region selected
* `M-x fill-paragraph' fills all paragraphs in the selected region
* `M-x unfill-paragraph' unfills all paragraphs in the selected region
How to fix? Apologies for elisp lameness. One Of These Days I really gotta sit
down and learn the tool. But right now, I gotta learn more fortran first :-(
Your assistance is appreciated, Tom Roche <Tom_Roche@pobox.com>