[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: What's wrong with this seemingly simple function for unwrapping text
From: |
Tassilo Horn |
Subject: |
Re: What's wrong with this seemingly simple function for unwrapping text? |
Date: |
Fri, 12 Jan 2007 12:28:36 +0100 |
User-agent: |
Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.92 (gnu/linux) |
"Endless Story" <usable.thought@gmail.com> writes:
Hi,
> (defun unwrap-text ()
> (interactive)
> (setq fill-column 5000)
> (mark-whole-buffer)
^^^^^^^^^^^^^^^^^
,----[ C-h f mark-whole-buffer RET ]
| mark-whole-buffer is an interactive compiled Lisp function in `simple.el'.
| It is bound to C-x h, <menu-bar> <edit> <mark-whole-buffer>.
| (mark-whole-buffer)
|
| Put point at beginning and mark at end of buffer.
| You probably should not use this function in Lisp programs;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| it is usually a mistake for a Lisp function to use any subroutine
| that uses or sets the mark.
`----
> (fill-region)
^^^^^^^^^^^
That function has two mandatory arguments.
,----[ C-h f fill-region RET ]
| fill-region is an interactive compiled Lisp function in `fill.el'.
| It is bound to <menu-bar> <edit> <fill>.
| (fill-region FROM TO &optional JUSTIFY NOSQUEEZE TO-EOP)
| ^^^^ ^^
| Fill each of the paragraphs in the region.
| A prefix arg means justify as well.
| Ordinarily the variable `fill-column' controls the width.
|
| Noninteractively, the third argument JUSTIFY specifies which
| kind of justification to do: `full', `left', `right', `center',
| or `none' (equivalent to nil). t means handle each paragraph
| as specified by its text properties.
|
| The fourth arg NOSQUEEZE non-nil means to leave
| whitespace other than line breaks untouched, and fifth arg TO-EOP
| non-nil means to keep filling to the end of the paragraph (or next
| hard newline, if variable `use-hard-newlines' is on).
|
| Return the fill-prefix used for filling the last paragraph.
|
| If `sentence-end-double-space' is non-nil, then period followed by one
| space does not end a sentence, so don't break a line there.
`----
> (setq fill-column '70)
^
The quote is quite irritating.
> )
>
> When the function gets to fill-region, it bombs out, complaining about
> 'wrong number of variables.' So my questions are:
>
> 1) For any lisp experts, what's going wrong here?
See above.
> 2) Is there some built-in way for doing what I want to do?
Don't think so, but this should work:
--8<---------------cut here---------------start------------->8---
(defun unwrap-text ()
(interactive)
(let ((fill-column 9999))
(fill-region (point-min) (point-max))))
--8<---------------cut here---------------end--------------->8---
Regards,
Tassilo
--
* delYsid has mortgage, opportunity and penis in his score file.
<delYsid> thats pretty effective against spam
<Luke> aren't you worried about missing opportunities to mortgage
your penis?