help-gnu-emacs
[Top][All Lists]
Advanced

[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?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]