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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: linefeed ^L symbol


From: Xah Lee
Subject: Re: linefeed ^L symbol
Date: Tue, 11 Dec 2007 13:09:12 -0800 (PST)
User-agent: G2/1.0

Tyler Smith:
<<I've just reinstalled Emacs 22.1 from source on Debian Lenny. I
notice now that ^L shows up here and there, presumably where a newline
should be.>>

The "^L" char is form feed (ascii 12). It is not the unix newline char
(which is line feed, ^J, ascii 10).

During the 1980s or early 1990s, the form feed char basically
functions as page break marker. It is still what emacs uses it for.

However, after 2 decades of computing industry changes, using the form
feed char for page break in source code is no longer widely practiced.
Emacs still uses it so because emacs did not take particular effort to
modernize. (modernize here means to adopt changing situation (usually
for the better), as opposed to following fashions and trends)

In emacs, you can jump to next ^L by pressing "Ctrl+x ]" and previosu
by "Ctrl+x [". By tradition, elisp code still uses it to indicate a
code page break. (not sure if this is mentioned or recommended in
emacs coding style guide, or how frequent it is used in existing elisp
files)

For more detail on this, please see:

* Why Emacs's Keyboard Shortcuts Are Painful
http://xahlee.org/emacs/emacs_kb_shortcuts_pain.html

* The Confusion of Emacs's Keystroke Representation
http://xahlee.org/emacs/keystroke_rep.html

  Xah
  xah@xahlee.org
\xAD\xF4 http://xahlee.org/

On Dec 11, 8:41 am, Tyler Smith <tyler.sm...@mail.mcgill.ca> wrote:
> Hi,
>
> I've just reinstalled Emacs 22.1 from source on Debian Lenny. I notice
> now that ^L shows up here and there, presumably where a newline should
> be. Does this mean I've messed something up something in the config? I
> shouldn't be seeing escape characters like this should I?
>
> Examples:
> From the Paragraph Start customize variable window:
> Paragraph Start: Hide Value  \|[        ]*$\|.* wrote:$\|.* wrote:$
>
> The actual value of this variable is:
> "\f\\|[    ]*$\\|.* wrote:$\\|.* wrote:$\\|.* wrote:$\\|.* wrote:$"
>
> I'm also confused as to why I should have \f in there to begin with,
> since I think Unix-like systems use \n instead?
>
> Thanks for any clarification,
>
> Tyler



reply via email to

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