Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

usability problem of emacs describe-mode

86 views
Skip to first unread message

Xah Lee

unread,
Feb 23, 2009, 1:27:51 PM2/23/09
to
usability of emacs mode documentation.

emacs's describe-mode (Ctrl+h m) is really unusable. This is really a
shame because it is a very helpful key functionality in knowing what a
mode do, or what functionality it adds.

For example, when in w3m, i type “Ctrl+h m” to read the online doc
about the mode's features. Here's a excerpt:

------------------
«
Enabled minor modes: Abbrev Auto-Compression Blink-Cursor
Command-Frequency Command-Frequency-Autosave Delete-Selection
Desktop-Save Encoded-Kbd File-Name-Shadow Font-Lock Global-Font-Lock
Line-Number Menu-Bar Mouse-Wheel Recentf Shell-Dirtrack Show-Paren
Tooltip Transient-Mark Unify-8859-On-Encoding Utf-Translate-Cjk

(Information about these minor modes follows the major mode info.)

w3m mode:
Major mode for browsing web.

RET Display the page pointed to by the link under point.
You may use the prefix arg `2' or `C-u C-u' to make a new session.

If w3m-use-form is t, `RET' and `<mouse-2>' enable you to enter
forms.
You may use the prefix arg `2' or `C-u C-u' to make a new session.
<S-kp-enter> Display the page of the link in a new session.
If the region is active, visit all the links within the region.
<S-mouse-2> Display the page of the link in a new session by mouse.

C-c C-c Submit the form at point.

R Reload the current page.
r Redisplay the current page.
C t Redisplay the page, specifying a content type.
C c Redisplay the current page, specifying a charset.
C C Redisplay the current page and reset the user-specified charset
and
content type.

...

»
---------------------------------

then, in general some 70% of the page is irrelevant info about minor
modes. Excerpt:

«

Abbrev minor mode (indicator Abbrev):
Toggle Abbrev mode in the current buffer.
With optional argument ARG, turn abbrev mode on if ARG is
positive, otherwise turn it off. In Abbrev mode, inserting an
abbreviation causes it to expand and be replaced by its expansion.

Auto-Compression minor mode (no indicator):
Toggle automatic file compression and uncompression.
With prefix argument ARG, turn auto compression on if positive, else
off.
Return the new status of auto compression (non-nil means on).

Blink-Cursor minor mode (no indicator):
Toggle blinking cursor mode.
With a numeric argument, turn blinking cursor mode on if ARG is
positive,
otherwise turn it off. When blinking cursor mode is enabled, the
cursor of the selected window blinks.

Note that this command is effective only when Emacs
displays through a window system, because then Emacs does its own
cursor display. On a text-only terminal, this is not implemented.

»
-------------------------

It is really a fucking pain to read, to me, a emacs users for 10
years, and basically incomprehensible to new emacs users.

It first splatter the top of the screen about “minor-modes”. A
incomprehensible emacs technicality, fill with incomprehensible other
emacs tech terminologies.

Then, comes the emacs major mode inline doc. Half of the time i use
it, i can't find what i need in various major modes.

Then, it is followed by a bunch of minor mode inline docs, again with
profuse emacs incomprensible terminologies and practices.

For example the ^L char, that is a convention for paging marker in the
1980s. Few, if at all, any software or programer still use that or
understand what it is.

Then, imagine, it has to annoy users about discussion such as Blink-
Cursor, Tooltip, Menu-Bar, Mouse-Wheel, Transient-Mark, Delete-
Selection, Font-Lock, Line-Number, Show-Paren, Recentf, Abbrev,
Desktop-Save, Yas/Minor ... etc.

I have about 20 minor modes on. Having used emacs daily for 10 years,
half of the minor mode showing up in the describe-mode i don't even
know. e.g. Shell-Dirtrack, Auto-Compression, Encoded-Kbd, File-Name-
Shadow, Unify-8859-On-Encoding, Utf-Translate-Cjk.

Why the fuck do i care to be splashed with these info?

-------------------------------

Suggestion:

• describe-mode should just show the inline doc for the major mode.

• Add a link to the bottom to go to the full doc of the mode, if it
exists. (the link may be to info doc, or to a url online of the mode's
doc website)

• get rid of convention of using ^L for page break marker.

• Add a link at the bottom, to a page that shows inline doc of minor
modes.

In addition, many of the convention adds up the pain in reading the
doc. e.g. C t, C-u C-u, RET, <mouse-2>, etc. The C something really
should be Ctrl+c, RET should be Return or Enter, <mouse-2> should be
Right Button, etc. For example, look at these lines:

RET Display the page pointed to by the link under point.
<mouse-2> Follow the link under the mouse pointer.
R Reload the current page.

And if emacs adopted html/xml, these can easily be rendered as
buttons. ( For some detail on this, see:

• Emacs's M-‹key› Notation vs Alt+‹key› Notation
http://xahlee.org/emacs/modernization_meta_key.html

for example how button rendering really helps, see:

• Emacs Intermediate Tips
http://xahlee.org/emacs/emacs_int.html

Note that the button rendering is used in MS Windows and Mac OS X's
help files as well. (don't know about linux) And in Wikipedia's
articles related to keys, it is also used thru-out. e.g.
http://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts

)

Xah
http://xahlee.org/


Zachary Kline

unread,
Feb 23, 2009, 2:14:19 PM2/23/09
to
Hello,
I think the issue here is one of personal preference.
I for one find the mode help not only useful but essential in many instances, being new to the editor.
As for technical terminology, it is something that one will eventually pick up with time.
I should also mention that the contents of that buffer depend, in large part, on which mode you're currently in.
All this being said, I'm conservative and don't feel a need to change something that works in my case.
Best,
Zack.

Andreas Politz

unread,
Feb 23, 2009, 2:27:24 PM2/23/09
to
Xah Lee wrote:
> usability of emacs mode documentation.
>
> emacs's describe-mode (Ctrl+h m) is really unusable.
[...]

(defun describe-major-mode (&optional buffer)
"Describe only major-mode."
(interactive)
(let (minor-mode-list minor-mode-alist)
(describe-mode buffer)))

-ap

Tassilo Horn

unread,
Feb 23, 2009, 2:49:57 PM2/23/09
to
Xah Lee <xah...@gmail.com> writes:

> emacs's describe-mode (Ctrl+h m) is really unusable.

[...]

> Why the fuck do i care to be splashed with these info?

Having all minor mode descriptions on one page does make sense, because
then you can use isearch. Imagine you write "xy SPC" and suddenly it
expanded to "foobar". `C-h m C-s expand' will point you to the
culprit's description (abbrev-mode).

> Suggestion:
>
> • describe-mode should just show the inline doc for the major mode.

I'd object with the reason above.

> • Add a link to the bottom to go to the full doc of the mode, if it
> exists. (the link may be to info doc, or to a url online of the mode's
> doc website)

Yep, an info link would be nice. One could enforce that each command's
description contains a link to the relevant info pages, but that would
create a thight coupling between the code and the docs which requires
additional maintenance.

> • get rid of convention of using ^L for page break marker.

I don't have a opinion on that, but ^L doesn't occur in normal text, so
it makes parsing the *Help* buffer a bit easier.

> In addition, many of the convention adds up the pain in reading the
> doc. e.g. C t, C-u C-u, RET, <mouse-2>, etc. The C something really
> should be Ctrl+c, RET should be Return or Enter, <mouse-2> should be
> Right Button, etc.

I don't think that `Ctrl+c Alt+m' is more readable than `C-c M-m'. And
<mouse-2> may be the right mouse button on your system, but on mine it's
<mouse-3>. And with some gaming mouse it may be <mouse-17>.

Bye,
Tassilo

Xah Lee

unread,
Feb 23, 2009, 4:35:28 PM2/23/09
to
I've cleaned up and edited the page a bit. Now it's on my site here:

• Usability Problems Of Emacs's Mode Documentation
http://xahlee.org/emacs/modernization_mode_doc.html


Here's a plain text version:
-------------------------------

Usability Problems Of Emacs's Mode Documentation

Xah Lee, 2009-02-06

This page details some usability problems of Emacs's inline
documentation for its major-mode.

Emacs has a command describe-mode (Ctrl+h m) that shows the inline doc
for the current mode. For example, if you are coding in javascript,
html, perl, or python, you can type “Ctrl+h m” to quickly see a
summarization of what functionalities you have while coding in that
lang, and what are the keyboard shortcuts.

This is really a wonderful feature, but it is a shame that it has some
major usability problem, almost making this feature not usable. The
following gives some details.

For example, when in w3m mode, which is a mode that allows you to
browse the web pages, i type “Ctrl+h m” to read the online doc about
the mode's features. The result page starts like this:

Enabled minor modes: Abbrev Auto-Compression Blink-Cursor
Command-Frequency Command-Frequency-Autosave Delete-Selection
Desktop-Save Encoded-Kbd File-Name-Shadow Font-Lock Global-Font-
Lock
Line-Number Menu-Bar Mouse-Wheel Recentf Shell-Dirtrack Show-Paren
Tooltip Transient-Mark Unify-8859-On-Encoding Utf-Translate-Cjk

(Information about these minor modes follows the major mode info.)

Note that it first show users a bunch of meta info about “minor-
modes”. (most “minor modes”'s functionality are what today called
preference settings in other apps, while some minor modes provides
additional features such as abbreviation, templates, etc.)

Here's a excerpt of the minor mode doc that comes after the major mode
doc:

^L


Abbrev minor mode (indicator Abbrev):
Toggle Abbrev mode in the current buffer.
With optional argument ARG, turn abbrev mode on if ARG is
positive, otherwise turn it off. In Abbrev mode, inserting an
abbreviation causes it to expand and be replaced by its expansion.

^L


Auto-Compression minor mode (no indicator):
Toggle automatic file compression and uncompression.
With prefix argument ARG, turn auto compression on if positive,
else off.
Return the new status of auto compression (non-nil means on).

^L


Blink-Cursor minor mode (no indicator):
Toggle blinking cursor mode.
With a numeric argument, turn blinking cursor mode on if ARG is
positive,
otherwise turn it off. When blinking cursor mode is enabled, the
cursor of the selected window blinks.

Note that this command is effective only when Emacs
displays through a window system, because then Emacs does its own
cursor display. On a text-only terminal, this is not implemented.

^L
Cua minor mode (no indicator):
Toggle CUA key-binding mode.
When enabled, using shifted movement keys will activate the
region (and highlight the region using `transient-mark-mode'),
and typed text replaces the active selection.

These minor modes, filled with emacs technicalities and terminologies
specific to emacs, are not relevant to users. When user calls describe-
mode, most of the time she really want to know what functionality and
shortcuts the major mode provides. But these minor modes often fills
more than 60% of the page.

To me, it is really a pain to read (a emacs user for 10 years), and i
have learned the habit not even seeing them. I imagine it is very
confusing to new emacs users.

Imagine, it has to annoy users about discussion such as Blink-Cursor,


Tooltip, Menu-Bar, Mouse-Wheel, Transient-Mark, Delete-Selection, Font-

Lock, Line-Number. Each of these is at least one paragraph long, and
some are emacs's non-intuitive and weired tech jargons. For example,
the standard feature of having selected text highlighted, is in emacs
called transient-mark-mode. The standard feature of typing overriding
selected text, is in emacs tech jargon called delete-selection-mode.
The standard feature of copy/cut/paste keys, is in emacs called cua-
mode. Syntax highlighting is called font-lock-mode.

Does user really need to know, that he has Blinking Cursor on? And a
user needs to be told of the fact he has mouse wheel support on? And
menu bar, tooltip, syntax highlighting? Do users need explanation what
these do too?

The emacs minor mode, also includes proper features such as: Show-
Paren, Recentf, Desktop-Save, Abbrev, Yas/Minor ... etc. For example,
show-paren-mode highlight matching parenthesis. “recentf-mode” lets
user open recently opened files. “desktop-save-mode” preserves opened
files when emacs restarts.

It is nice to be able to see what features are currently on, and what
extra functionality it supports, but perhaps a separate command
describe-minor-modes would be better.

Minor mode listing also include a bunch that shows some technical
issues of emacs's current state that has little to do with daily use
of emacs. For example, it shows Shell-Dirtrack, Auto-Compression,
Encoded-Kbd, File-Name-Shadow, Unify-8859-On-Encoding, Utf-Translate-
Cjk. I have used emacs daily for 10 years, half of the minor mode
showing up in describe-mode i don't even know what exactly they are.

Also, the page litters “^L” char (ascii 12) through out. The “^L” is a
page break marker. Such practice is a convention in the 1980s. Almost
no software today does this, and very few professional programers
today understand what it is. This adds to the incomprehensibility.

I think the major usability problem with describe-mode is the listing
of minor modes. Though, the major mode's inline doc could also use
some improvement. Here's a excerpt of the inline doc for w3m:

w3m mode:
Major mode for browsing web.

RET Display the page pointed to by the link under point. You
may use
the prefix arg `2' or `C-u C-u' to make a new session.

If w3m-use-form is t, `RET' and `<mouse-2>' enable you to
enter forms.
You may use the prefix arg `2' or `C-u C-u' to make a new
session.

<S-kp-enter>
Display the page of the link in a new session.
If the region is active, visit all the links within the
region.

<S-mouse-2>
Display the page of the link in a new session by mouse.

C-c C-c Submit the form at point.

R Reload the current page.
r Redisplay the current page.
C t Redisplay the page, specifying a content type.
C c Redisplay the current page, specifying a charset.
C C Redisplay the current page and reset the user-specified
charset and
content type.

The key notation, such as “C-u C-u”, “RET”, are hard to read,
especially when used together with shortcut keys without a modifier
such as “C t”. The “<mouse-2>” and “S-kp-enter” are especially
cryptic.
Suggestions

* describe-mode should just show the inline doc for the major
mode.
* Add a link to the bottom that point to the full doc of the mode,
if it exists. (the link may be to info doc, or call browse-url to open
a html doc on local disk, or to a url online of the mode's doc
website)
* Get rid of convention of using ^L (ascii 12) for page break
marker.
* Add a link at the bottom, to a page that shows inline doc of
minor modes.
* Use curly quotes “” instead of the 1980's ascii kludge `'.

For detail about the key notation that adds up readability, see:
Emacs's M-‹key› Notation vs Alt+‹key› Notation.

The use of backtick char ` and single quote char ' for “matching
quotes” is a 1980's kludge. They also adds to the readability problem.

It would also be helpful, if the keys are rendered as buttons. Note
that the button rendering is used in the help files in MS Windows and
Mac OS X too. And in Wikipedia's articles related to keys, it is also
used thru-out. e.g. Table of keyboard shortcuts.

Here's a sample output for comparison:

w3m mode:
Major mode for browsing web.

Enter Display the page pointed to by the link under point.
You may use the prefix arg “2” or “Ctrl+u Ctrl+u” to make a new
session.
If w3m-use-form is t, “Enter” and “mouse middle button” enable you
to enter forms.
You may use the prefix arg “2” or “Ctrl+u Ctrl+u” to make a new
session.
Keypad Shift+Enter Display the page of the link in a new session.


If the region is active, visit all the links within the region.

Shift+Mouse Middle Button Display the page of the link in a new
session by mouse.
Ctrl+c Ctrl+c Submit the form at point.


R Reload the current page.
r Redisplay the current page.
C t Redisplay the page, specifying a content type.
C c Redisplay the current page, specifying a charset.
C C Redisplay the current page and reset the user-specified
charset and content type.

Xah
http://xahlee.org/


Xah Lee

unread,
Feb 23, 2009, 4:48:51 PM2/23/09
to
On Feb 23, 11:14 am, Zachary Kline <kline.zach...@gmail.com> wrote:
> Hello,
> I think the issue here is one of personal preference.
> I for one find the mode help not only useful but essential in many instances, being new to the editor.

Sure i find the describe-mode command useful too. Though, i'm
describing its usability problems, not contending it is not useful.

> As for technical terminology, it is something that one will eventually pick up with time.

Yes. But the issue about usability problem. If there is a usability
problem, you can't say it can't be picked up eventually. For example,
say there's a software with good doc and software B has bad doc. One
could say user will eventually understand the bad doc too.

I don't see your point.

For example, one of the point i mentioned is that weird terminology
adds to the readability problem, in conjunction with many other
issues. You say that user will pickup terminology eventually. Sure,
but how's that effect the criticism? If, for example, term A and B
both can be used, while A is easier to understand, and B is hard.
Then, i said emacs should adopt A. But, you say “As for technical


terminology, it is something that one will eventually pick up with

time.” How's that address the issue?

Perhaps, you are just saying that you don't see the emacs
terminologies as hard to understand or unintuitive as i implied? If
so, please do give reasons.

> I should also mention that the contents of that buffer depend, in large part, on which mode you're currently in.

Of course. That's what major mode for. As to minor mode, it depends on
the minor mode. I'm not sure what is your point?

> All this being said, I'm conservative and don't feel a need to change something that works in my case.

vi also works.

I'm also conservative.

Is there a exact point, about my criticism or suggestion, that you
disagree with? and the reason? Do you think, that there are some
particular point i pointed out, are incorrect? Or, do you think they
are misleading? Or, perhaps you think there are other aspects or
perspective that i didn't consider so makes my criticism not a good
one?

If so, you'll have to give reasons exactly.

Thanks for your feedback.

Xah
http://xahlee.org/

B. T. Raven

unread,
Feb 24, 2009, 12:41:23 PM2/24/09
to
Did you look at Andreas' defun? I don't use w3m-mode but maybe his
function will strip the info overload out of the full treatment provided
by "Describe Buffer Modes" (C-h m). It seems that your other concerns
are easily resolved with the generic Emacs tools already at your
disposal. For example, anything you might have an info doc for can be
gotten to with C-h i (maybe some u u u ) and then m (first couple of
letters of section of interest). This can all be accomplished before the
hand moves away from the home keys toward the mouse.

There is a constant tension between an application's power and usability
and the default behavior of Emacs seems to me to manage the
combinatorial explosion of functionalities better than what you have
proposed, with a few exceptions.

Ed

Xah Lee

unread,
Feb 24, 2009, 3:32:43 PM2/24/09
to

Xah Lee wrote:
• Usability Problems Of Emacs's Mode Documentation
http://xahlee.org/emacs/modernization_mode_doc.html

On Feb 24, 9:41 am, "B. T. Raven" <ni...@nihilo.net> wrote:
> Did you look at Andreas' defun?

The issue is a criticism, not about how can i do this or that.

imagine Roger Ebert gives 2 thumbs down on a movie, and you say: “why
don't you watch other movies instead?”.

> There is a constant tension between an application's power and usability
> and the default behavior of Emacs seems to me to manage the
> combinatorial explosion of functionalities better than what you have
> proposed, with a few exceptions.

You have to give reasons Raven.

Let's focus on this issue, let's not generalized or philosophize.

Xah
http://xahlee.org/


Xah Lee

unread,
Feb 24, 2009, 3:36:19 PM2/24/09
to

hi Andreas,

not sure if you agree or disagree with my criticism.

Thanks for the code though. I might use it in emacs2010. (may i use
it? GPL?)

Xah
http://xahlee.org/


B. T. Raven

unread,
Feb 24, 2009, 5:48:04 PM2/24/09
to
Xah Lee wrote:
> Xah Lee wrote:
> • Usability Problems Of Emacs's Mode Documentation
> http://xahlee.org/emacs/modernization_mode_doc.html
>
> On Feb 24, 9:41 am, "B. T. Raven" <ni...@nihilo.net> wrote:
>> Did you look at Andreas' defun?
>
> The issue is a criticism, not about how can i do this or that.

I was going to say, I'll take that as a no, but I see that you have
responded to his posting, after a fashion.

>
> imagine Roger Ebert gives 2 thumbs down on a movie, and you say: “why
> don't you watch other movies instead?”.

Metaphors be with you, Luke.

>
>> There is a constant tension between an application's power and usability
>> and the default behavior of Emacs seems to me to manage the
>> combinatorial explosion of functionalities better than what you have
>> proposed, with a few exceptions.
>
> You have to give reasons Raven.

No, I only have to give testimony. You said that an Emacs feature that I
had never bothered with before was "really unusable." After spending 5
or 10 minutes with it I find that it is eminently usable, but maybe not
by your fictional novice user who has experience only with MS Windows
programs. Who cares? What's the point of nitpicking over Emacs minutiae?
Creative people who aren't satisfied with the way Emacs handles certain
tasks don't endlessly whine about it; they make something, which, if the
powers that be think can be elegantly incorporated into a future
version, is seamlessly added. Instead you sound like you want to stage a
coup or something after your sowing of discontent reaches a critical mass.

>
> Let's focus on this issue, let's not generalized or philosophize.

The issue is still so murky that the only sensible thing to do is
philosophize until we know what we are talking about.

>

> Xah
> ∑ http://xahlee.org/
>
> ☄

Andreas Politz

unread,
Feb 24, 2009, 6:22:31 PM2/24/09
to
Xah Lee wrote:
> On Feb 23, 11:27 am, Andreas Politz <poli...@fh-trier.de> wrote:
>> Xah Lee wrote:
>>> usability of emacs mode documentation.
>>> emacs's describe-mode (Ctrl+h m) is really unusable.
>> [...]
>>
>> (defun describe-major-mode (&optional buffer)
>> "Describe only major-mode."
>> (interactive)
>> (let (minor-mode-list minor-mode-alist)
>> (describe-mode buffer)))
>>
>> -ap
>
> hi Andreas,
>
> not sure if you agree or disagree with my criticism.

My opinion on this matter is this :
Problem solved, case closed.

Xah Lee

unread,
Feb 24, 2009, 6:31:43 PM2/24/09
to
On Feb 24, 2:48 pm, "B. T. Raven" <ni...@nihilo.net> wrote:
> No, I only have to give testimony. You said that an Emacs feature that I
> had never bothered with before was "really unusable."

describe-mode is very important because it is similar to describe-
function. It gives a summary of what new commands and shortcuts are
available.

Xah
http://xahlee.org/

Kevin Rodgers

unread,
Feb 25, 2009, 3:11:15 AM2/25/09
to help-gn...@gnu.org
Xah Lee wrote:
> I think the major usability problem with describe-mode is the listing
> of minor modes.

Andreas posted a nice alternative. Here's another:

(defun describe-major-mode ()
"Describe `major-mode'."
(interactive)
(describe-function major-mode))

--
Kevin Rodgers
Denver, Colorado, USA

cmr....@gmail.com

unread,
Feb 25, 2009, 4:17:30 AM2/25/09
to
Although Xah's so called suggestions are often dubious, I think this
particular one does make some sense:

On 24 фев, 00:35, Xah Lee <xah...@gmail.com> wrote:
>     * Get rid of convention of using ^L (ascii 12) for page break
> marker.

Is there a way to draw a sort of horizontal line for the ASCII 12
symbol instead of printing "^L"? I'm talking about X version.

Andrey

Sébastien Vauban

unread,
Feb 25, 2009, 7:11:01 AM2/25/09
to
"cmr....@gmail.com" <cmr....@gmail.com> wrote:
> On 24 фев, 00:35, Xah Lee <xah...@gmail.com> wrote:
>> * Get rid of convention of using ^L (ascii 12) for page break
>> marker.
>
> Is there a way to draw a sort of horizontal line for the ASCII
> 12 symbol instead of printing "^L"? I'm talking about X
> version.

--8<---------------cut here---------------start------------->8---
;; display page delimiter `^L' as a horizontal line
(or standard-display-table (setq standard-display-table (make-display-table)))
(aset standard-display-table ?\f (vconcat "\n" (make-vector 78 ?-) "^L\n"))
--8<---------------cut here---------------end--------------->8---

Seb

--
Sébastien Vauban

Tassilo Horn

unread,
Feb 25, 2009, 7:46:30 AM2/25/09
to help-gn...@gnu.org
"cmr....@gmail.com" <cmr....@gmail.com> writes:

Hi Andrey,

> Is there a way to draw a sort of horizontal line for the ASCII 12
> symbol instead of printing "^L"? I'm talking about X version.

Look for PrettyLambda on emacswiki. I think something like this will do
the trick here, too.

Bye,
Tassilo
--
"OS's and GUI's come and go, only Emacs has lasting power."
Per Abrahamsen in <rjbsysc...@zuse.dina.kvl.dk>

Tassilo Horn

unread,
Feb 25, 2009, 7:58:03 AM2/25/09
to
Sébastien Vauban <zthjws...@spammotel.com> writes:

>> Is there a way to draw a sort of horizontal line for the ASCII 12
>> symbol instead of printing "^L"? I'm talking about X version.
>

> ;; display page delimiter `^L' as a horizontal line
> (or standard-display-table (setq standard-display-table (make-display-table)))
> (aset standard-display-table ?\f (vconcat "\n" (make-vector 78 ?-) "^L\n"))

Hey, very nice!

Thanks a lot,
Tassilo
--
If Richard Stallman has 1GB of RAM, and you have 1GB of RAM, Richard
Stallman has more RAM than you.

Drew Adams

unread,
Feb 25, 2009, 10:04:04 AM2/25/09
to cmr....@gmail.com, help-gn...@gnu.org
> >     * Get rid of convention of using ^L (ascii 12) for page break
> > marker.
>
> Is there a way to draw a sort of horizontal line for the ASCII 12
> symbol instead of printing "^L"? I'm talking about X version.

Yes.

Code: http://www.emacswiki.org/emacs/pp-c-l.el
Description: http://www.emacswiki.org/emacs/PrettyControlL

You can customize the appearance.
The screenshot shows the default appearance.

Xah Lee

unread,
Feb 25, 2009, 2:11:23 PM2/25/09
to
On Feb 24, 3:22 pm, Andreas Politz <poli...@fh-trier.de> wrote:
> Xah Lee wrote:
> > On Feb 23, 11:27 am, Andreas Politz <poli...@fh-trier.de> wrote:
> >> Xah Lee wrote:
> >>> usability of emacs mode documentation.
> >>> emacs's describe-mode (Ctrl+h m) is really unusable.
> >> [...]
>
> >> (defun describe-major-mode (&optional buffer)
> >>    "Describe only major-mode."
> >>    (interactive)
> >>    (let (minor-mode-list minor-mode-alist)
> >>      (describe-mode buffer)))
>
> >> -ap
>
> > hi Andreas,
>
> > not sure if you agree or disagree with my criticism.
>
> My opinion on this matter is this :
> Problem solved, case closed.

i can't see how that is.

If you think this is a problem, then your solution needs to be part of
emacs for it to be considered solved.

Xah
http://xahlee.org/


Xah Lee

unread,
Feb 25, 2009, 2:13:25 PM2/25/09
to
On Feb 25, 12:11 am, Kevin Rodgers <kevin.d.rodg...@gmail.com> wrote:
> Xah Lee wrote:
> > I think the major usability problem with describe-mode is the listing
> > of minor modes.
>
> Andreas posted a nice alternative.  Here's another:
>
> (defun describe-major-mode ()
>    "Describe `major-mode'."
>    (interactive)
>    (describe-function major-mode))

ok, i'm going to steal your code.

Xah
http://xahlee.org/


Xah Lee

unread,
Feb 25, 2009, 2:30:35 PM2/25/09
to

Thanks Drew and others.

I have currently these code:

;; code by Kevin Rodgers. 2009-02-25
(defun describe-major-mode ()
"Show inline doc for current major-mode."
(interactive)
(describe-function major-mode))

;; display page delimiter “^L” as a horizontal line. Code by Sébastien
Vauban. 2009-02-25


(or standard-display-table
(setq
standard-display-table (make-display-table)))

(aset standard-display-table ?\f (vconcat "\n" (make-vector 60 ?-) "^L
\n"))

;; Display the “^L” page break mark as a horizontal line
;; from http://www.emacswiki.org/emacs/OverlayControlL , 2009-02-25
;; code by Andre Riemann
(add-hook
'after-change-major-mode-hook
(lambda ()
(font-lock-add-keywords nil
`((,page-delimiter ;; variable with the regexp (usually "^\f" or
"^^L")
0
(prog1 nil
;; don't display ^L
(compose-region (match-beginning 0) (match-end 0) "")
;; make an overlay (like in hl-line)
(let ((pdl (make-overlay (line-beginning-position)
(line-beginning-position 2))))
;; :background has to be different from the background
color
;; gray1 here is just a little different from black
(overlay-put pdl 'face '(:underline "gray30" :background
"gray1"))
(overlay-put pdl 'modification-hooks
;; these arguments are received from
modification-hooks
'((lambda (overlay after-p begin end
&optional length)
(delete-overlay overlay))))
(overlay-put pdl 'insert-in-front-hooks
'((lambda (overlay after-p begin end
&optional length)
(delete-overlay overlay)))))) t)))))

(haven't tried Drew's PrettyControlL, the Andre code i just happened
to tried first)

If people think this is a problem, please perhaps file a bug report to
FSF. (Alt+x report-emacs-bug)

There are many diverse solutions on the web, but they need to become
part of emacs out of the box.

Xah
http://xahlee.org/


Teemu Likonen

unread,
Feb 25, 2009, 2:50:04 PM2/25/09
to
On 2009-02-25 11:30 (-0800), Xah Lee wrote:

> If people think this is a problem, please perhaps file a bug report to
> FSF. (Alt+x report-emacs-bug)
>
> There are many diverse solutions on the web, but they need to become
> part of emacs out of the box.

Why "please perhaps file a bug report" when you can do it yourself? In
open-source world there is this thing called "scratch your own itch". If
you scratch it well and produce good enough code it might even be
integrated to Emacs upstream.

Xah Lee

unread,
Feb 25, 2009, 3:25:23 PM2/25/09
to
Xah wrote:

• Usability Problems Of Emacs's Mode Documentation
http://xahlee.org/emacs/modernization_mode_doc.html

If people think this is a problem, please perhaps file a bug report to
FSF. (Alt+x report-emacs-bug)

There are many diverse solutions on the web, but they need to become
part of emacs out of the box.

On Feb 25, 11:50 am, Teemu Likonen <tliko...@iki.fi> wrote:
> Why "please perhaps file a bug report" when you can do it yourself?

I already did. If you see this as a valid point, it'll help. Because,
often, the emacs dev will just think Xah is this weird guy and can be
ignored of his lone voice.

People always just fight than doing anything useful.

In the past 10 years, whenever i wrote some criticism on various lang
or tech, the in-community retort “why don't you file bug report”, or
“why don't you contribute code”, or argue non-stop about some
philosophy or point of view. Usually, its not about the validity of
the criticism, it's more about politics and piss fight.

In the past 2 years, i filed some 30 or so bug reports to FSF on
emacs. I try to refrain opinion based reports or UI based ones,
because i know these are controversial. Because otherwise the
fuckheads will start to say i spam.

Btw, the result of almost all UI ones i reported are either put on the
wish list or dismissed.

In this thread, there are already lots of arguments.

> In open-source world there is this thing called "scratch your own itch". If
> you scratch it well and produce good enough code it might even be
> integrated to Emacs upstream.

Shut ya pizza hole.

I recommend:

• The Bug-Reporting Attitude
http://xahlee.org/UnixResource_dir/writ/bug_report_attitude.html

• What Desires Are Politically Important?
http://xahlee.org/Periodic_dosage_dir/_p2/russell-lecture.html

• On Microsoft Hatred
http://xahlee.org/UnixResource_dir/writ/mshatred155.html

• Responsible Software Licensing
http://xahlee.org/UnixResource_dir/writ/responsible_license.html

Xah
http://xahlee.org/

Drew Adams

unread,
Feb 26, 2009, 1:24:28 PM2/26/09
to Xah Lee, help-gn...@gnu.org
> If people think this is a problem, please perhaps file a
> bug report to FSF. (Alt+x report-emacs-bug)

Why not `M-x report-emacs-bug' yourself, rather than ask others to do so?
Quicker, and just as effective.

> There are many diverse solutions [better ways to show ^L]


> on the web, but they need to become part of emacs out of
> the box.

Filing an enhancement request through a bug report is one way to try to improve
vanilla Emacs, but discussion about such requests is typically more limited and
less fruitful than discussion in emacs...@gnu.org.

Reasons: (1) more people subscribe to emacs-devel, (2) people tend to look to
bug-gn...@gnu.org for bug reports, not for enhancement requests, (3)
enhancement requests are sometimes forgotten, even if not overlooked initially.

That said, I do occasionally submit enhancement requests rather than start a
discussion at emacs-devel. One reason can be to log a suggestion for later
consideration.

Wrt prettifying ^L in vanilla Emacs: I proposed that to emacs-devel years ago.
Here are some relevant threads:
http://lists.gnu.org/archive/html/emacs-devel/2006-12/msg00464.html
http://lists.gnu.org/archive/html/emacs-devel/2004-12/msg01035.html

And here's a related thread from 2004 about the describe-mode problems:
http://lists.gnu.org/archive/html/emacs-devel/2004-05/msg00275.html

IOW, these things have been brought up and discussed before.

Like it or not, the inescapable place to promote possible improvements to
vanilla Emacs is emacs...@gnu.org (not help-gnu-emacs). If you are truly
interested in changing vanilla Emacs, then emacs-devel is the mountain pass that
you must climb.

Lowland tavern discussion among comrades who agree can make one feel good, but
it is no substitute for scaling the mountain and confronting the monstrous pass
guardians. Only those with the keys to the pass can unbar the way. C'est la
viemacs.

Soliciting more bug-report voices doesn't really help promote a given change you
want. More voices at emacs-devel can help. Instead of encouraging people to file
the same bug, encourage them to add their voices to emacs-devel.

The alternative to improving vanilla Emacs is personal customization or
providing extension libraries to share. Some people only work within emacs-devel
to improve vanilla Emacs; some people only provide extension code; some people
do both, to varying degrees. Eventually, some add-on features do get copied or
merged into vanilla Emacs. I suggest that you either code your ideas or add them
to emacs-devel.

Teemu Likonen

unread,
Feb 26, 2009, 2:33:07 PM2/26/09
to
On 2009-02-25 12:25 (-0800), Xah Lee wrote:

> On Feb 25, 11:50 am, Teemu Likonen <tliko...@iki.fi> wrote:
>> Why "please perhaps file a bug report" when you can do it yourself?
>
> I already did.

Good. That is constructive, and I agree with the ^L thing.


> [...] Because otherwise the fuckheads will start to say i spam.
^^^^^^^^^

But that is not. Code which makes one's point visible is constructive;
whining that "fuckheads" don't agree with you and that nobody wants to
implement your pet features is not so.

Anyway, I find your ergonomic Emacs keybindings[1] interesting, and it's
nice that there is code available. I found the keybindings too
intrusive, though, so I implemented my own map which only changes
certain cursor movement keys. It's a global minor mode with its own mode
map so it can be turned on and off easily. The code is here:

http://www.emacswiki.org/emacs/ergo-movement-mode.el

---------------
1. http://xahlee.org/emacs/ergonomic_emacs_keybinding.html

Xah Lee

unread,
Feb 26, 2009, 5:17:42 PM2/26/09
to
Hi Drew,

On Feb 26, 10:24 am, "Drew Adams" <drew.ad...@oracle.com> wrote:
> > If people think this is a problem, please perhaps file a
> > bug report to FSF. (Alt+x report-emacs-bug)
>
> Why not `M-x report-emacs-bug' yourself, rather than ask others to do so?
> Quicker, and just as effective.

I did yesterday.
See
http://groups.google.com/group/gnu.emacs.bug/browse_frm/thread/a359eb663d991317

> > There are many diverse solutions [better ways to show ^L]
> > on the web, but they need to become part of emacs out of
> > the box.
>
> Filing an enhancement request through a bug report is one way to try to improve
> vanilla Emacs, but discussion about such requests is typically more limited and

> less fruitful than discussion in emacs-de...@gnu.org.


>
> Reasons: (1) more people subscribe to emacs-devel, (2) people tend to look to

> bug-gnu-em...@gnu.org for bug reports, not for enhancement requests, (3)


> enhancement requests are sometimes forgotten, even if not overlooked initially.

Thank you for the thoughtful and long reply about this.

I'll consider subscribing to the emacs dev mailing list.

> Wrt prettifying ^L in vanilla Emacs: I proposed that to emacs-devel years ago.
> Here are some relevant threads: http://lists.gnu.org/archive/html/emacs-devel/2006-12/msg00464.html http://lists.gnu.org/archive/html/emacs-devel/2004-12/msg01035.html
>
> And here's a related thread from 2004 about the describe-mode problems: http://lists.gnu.org/archive/html/emacs-devel/2004-05/msg00275.html

Nice.

I suppose the past effort on this issue went to wish-list heaven. LOL.

Richard Stallman, from my interaction with him in the past 2 years,
and some reading of his post in emacs dev, i'm starting to find him
very annoying. It appears to me, he's been sitting on his fat ass,
completely out of touch as a coder for at least 10 years, have
basically no knowledge of modern languages and technologies, but
pushes and dictates his politics.

The FSF's insistence of signing of legal paper to accept code
contribution is one huge obstacle too, for whatever good or bad
reasons they need to do it.

... the more i look into the emacs improvement issue, the more i start
to think forking is almost the only way. The Mac world really did
great job, with Aquamacs emacs and Carbon emacs, and precedent ports,
but ultimately mac is less than 5% of market share that puts a upper
bound on what it can do to influence the emacs community, even if
extremely successful. (to my chagrin, most emacs regulars here, i
realized thru discussion in the past 2 years, that they know almost
nothing about the social situation of emacs on the Mac.) The mac emacs
community, due partly also to political reasons, are quite separate
from other main emacs community. (having their own mailing list etc)
So, cross communication don't happen much. This is partly due to the
FSF and Richard Stallman's politics and Apple's Mac commercial
background. The guy who wrote aquaemacs emacs, from the few exchange i
had with him in 2008 or 2007 while i subscribed to the mac emacs list,
i don't find him much of a respectable person. He, incessantly ask for
donation, behaves in a nice politician way, and seems to behave in a
way so that he is the only person to lead a modern emacs. (you can
check the aquaemacs emacs source code to see some element of his
stance) When i discussed with him about modernization, he seems to
dismiss and badmouth it, yet implements all the ideas himself, and
confine it to the Mac community as much as possible.

There's Lennart Borgman's emacsw32. I haven't had a windows machine
since about 2006, so i haven't got into that community. I think it is
a viable and powerful road to a modern emacs, simply due to the fact
it is for Windows and has a usable out-of-box binary download. One
major problem is that Lennart considered the emacsw32 as some type of
emacs add-on, as opposed to “Download here and use right away”. Its
home page is complex with philosophies and patches and multiple
explanations and technicalities. So, basically, emacsw32 becomes
something for existing emacs users only.

Lennart is on the emacs dev mailing list. One of his philosophy about
emacs is that the Alt key should be compatible with Window's standard
behavior (it invokes menu). This is a great stance, but is at odds
with the typical emacs fanatics. Lennart is also a quite type of guy.
(it goddamn pains me that each time i need to mention his name and
find the correct spelling, i have to go to my own emacs page because
he almost fucking make it a point not to stick out his name as
authorship where he SHOULD, as a matter of publishing ethic. (he
probably think it is a modesty. LOL my fucking ass.)) I presume his
role in the emacs dev community is suppressed by the situation into
another insignificant odd-ends emacs variations creator and wish-list
maker.

----

frequently, whenever i use some open source software, often am amazed
at what kind absolute idiot created the user interface. And you
constantly hear the linux fanatics incessantly discuss and fight about
how to improve their usability for the masses yet going nowhere.
Linux, a free product, with its desktop(S) has been around since 1998
with huge brouhaha in mainstream media, today, it is still some 2%
user base. What a fat ass to ridicule upon.

Xah
http://xahlee.org/


Giorgos Keramidas

unread,
Feb 26, 2009, 9:21:21 PM2/26/09
to
On Thu, 26 Feb 2009 10:24:28 -0800, "Drew Adams" <drew....@oracle.com> wrote:
> Like it or not, the inescapable place to promote possible improvements
> to vanilla Emacs is emacs...@gnu.org (not help-gnu-emacs). If you
> are truly interested in changing vanilla Emacs, then emacs-devel is
> the mountain pass that you must climb.
>
> Lowland tavern discussion among comrades who agree can make one feel
> good, but it is no substitute for scaling the mountain and confronting
> the monstrous pass guardians. Only those with the keys to the pass can
> unbar the way. C'est la viemacs.

Heheh, very picturesque description of what it takes to contribute.

Wonderful writing, as we have become accustomed to expect from your
posts, Drew :)

cmr....@gmail.com

unread,
Feb 27, 2009, 3:44:38 AM2/27/09
to
Hi all!

It turns out that "^L" issue can be nicely resolved using
PrettyControlL minor mode by Drew Adams:

http://www.emacswiki.org/emacs/PrettyControlL
http://www.emacswiki.org/emacs/pp-c-l.el

I'm using the following customizations to display a nice, window-wide
line instead of "^L" string:

(custom-set-variables
...
'(pp^L-^L-string-function (lambda nil (make-string (1-
(window-width)) (string-to-char " "))))
'(pp^L-^L-string-pre "")
'(pretty-control-l-mode t)

...

(custom-set-faces
...
'(pp^L-highlight ((t (:inherit shadow :strike-through t))))
...

(add-hook 'window-setup-hook
'refresh-pretty-control-l)
(add-hook 'window-configuration-change-hook
'refresh-pretty-control-l)

----

frequently, whenever i read some post by Xah Lee, often am amazed at
what kind absolute idiot created it. And you constantly hear Xah
incessantly discuss and fight about how to improve Emacs usability for
the masses yet going nowhere. Xah Lee, a fat green troll, with his mad
ideas has been around since 1998 with huge experience in Elisp, today,
his Emacs Odyssay 2010 it is still some 0.0000000002% user base. What


a fat ass to ridicule upon.

Andrey Paramonov

David Kastrup

unread,
Feb 27, 2009, 4:46:28 AM2/27/09
to
Xah Lee <xah...@gmail.com> writes:

> Richard Stallman, from my interaction with him in the past 2 years,
> and some reading of his post in emacs dev, i'm starting to find him
> very annoying. It appears to me, he's been sitting on his fat ass,
> completely out of touch as a coder for at least 10 years, have
> basically no knowledge of modern languages and technologies, but
> pushes and dictates his politics.
>
> The FSF's insistence of signing of legal paper to accept code
> contribution is one huge obstacle too, for whatever good or bad
> reasons they need to do it.
>
> ... the more i look into the emacs improvement issue, the more i start
> to think forking is almost the only way.

There have been forks, and they usually turned out to be single-person
projects. Feel free to do your own fork. However, you should not
expect other people to join.

Whatever you may think of Richard's people skills (and he does not
regard them all too highly himself), yours are much worse. You come
across as a pompous ass, rude, impolite and non-cooperative rather than
merely headstrong, and you have no significant vision or record (in
particularly with Emacs coding) to show that could compensate for that.

--
David Kastrup

Lennart Borgman

unread,
Feb 27, 2009, 4:56:02 AM2/27/09
to cmr....@gmail.com, help-gn...@gnu.org
On Fri, Feb 27, 2009 at 9:44 AM, cmr....@gmail.com <cmr....@gmail.com> wrote:
> frequently, whenever i read some post by N N, often am amazed at
> what kind absolute idiot created it. And you constantly hear N N

> incessantly discuss and fight about how to improve Emacs usability for
> the masses yet going nowhere. N N, a fat green troll, with his mad

> ideas has been around since 1998 with huge experience in Elisp, today,
> his Emacs Odyssay 2010 it is still some 0.0000000002% user base. What
> a fat ass to ridicule upon.
>
> Andrey Paramonov


Andrey,
You are not allowed to attach persons here.

If you have trouble with your feelings against another person Internet
is not where you should display those feelings. Remember that it is
your personal feelings toward that other person. It is not a truth.

You are of course allowed to express different ideas, but that is not
what you are doing here.


Alan Mackenzie

unread,
Feb 27, 2009, 10:56:34 AM2/27/09
to
[ Newsgroups: trimmed ]

Hi, Xah!

In comp.emacs Xah Lee <xah...@gmail.com> wrote:

> Richard Stallman, from my interaction with him in the past 2 years,
> and some reading of his post in emacs dev, i'm starting to find him
> very annoying.

Don't worry about it. People have been finding RMS very annoying for
several decades. ;-)

> It appears to me, he's been sitting on his fat ass, completely out of
> touch as a coder for at least 10 years, have basically no knowledge of
> modern languages and technologies, but pushes and dictates his
> politics.

Well, he has this habit of being right about things, sometimes years
before most people are even aware of them.

> The FSF's insistence of signing of legal paper to accept code
> contribution is one huge obstacle too, for whatever good or bad reasons
> they need to do it.

It's irritating, yes, but hardly a huge obstacle. It's necessary
because, under USA law (so I'm told), a copyright lawsuit can only
proceed with the active involvement of all copyright holders. The
advantage, from your point of view, is that anytime anybody violates the
copyright of your code, you've got the legal resources of the FSF to
back you up.

> The guy who wrote aquaemacs emacs, from the few exchange .....


> i don't find him much of a respectable person.

[ .... ]

> (it goddamn pains me that each time i need to mention his [somebody
> else's] name and find the correct spelling, i have to go to my own
> emacs page because he almost ****ing make it a point not to stick out


> his name as authorship where he SHOULD, as a matter of publishing

> ethic. (he probably think it is a modesty. LOL my ****ing ass.))

[ .... ]

> frequently, whenever i use some open source software, often am amazed
> at what kind absolute idiot created the user interface.

Looks like you're having a bad day. Cheer up, and think of that tiny
minority of free software hackers who actually do a passable job. ;-)

> Xah

--
Alan Mackenzie (Nuremberg, Germany).

Xah Lee

unread,
Feb 27, 2009, 3:34:56 PM2/27/09
to
On Feb 27, 7:56 am, Alan Mackenzie <a...@muc.de> wrote:
> [ Newsgroups: trimmed ]
>
> Hi, Xah!
>
> In comp.emacs Xah Lee <xah...@gmail.com> wrote:
>
> > Richard Stallman, from my interaction with him in the past 2 years,
> > and some reading of his post in emacs dev, i'm starting to find him
> > very annoying.
>
> Don't worry about it. People have been finding RMS very annoying for
> several decades. ;-)
>
> > It appears to me, he's been sitting on his fat ass, completely out of
> > touch as a coder for at least 10 years, have basically no knowledge of
> > modern languages and technologies, but pushes and dictates his
> > politics.
>
> Well, he has this habit of being right about things, sometimes years
> before most people are even aware of them.

Alan, stop that mentality.

Richard Stallman, contributed to society in 2 significant ways. One is
his coding, producing many major software, such as emacs, gcc, etc.
The other, with far more greater impact, and is the reason he is
remembered in human animal history, is the creation of FSF with its
GPL.

His technical, coding, contribution is unquestionably a positive
contribution. His “free” software movement is, however, questionable.
The reason that society recognized this social contribution, is
partly, if not significantly, due to the fact that he is successful in
spreading his philosophy. For example, to illustrate, if Hitler was
successful, today he would be a hero, leader, founder, as opposed to a
criminal. As another illustration, if US lost the war to UK, then the
“founding fathers” of US would be considered criminals today who got
punished by death. In fact, many of the leaders in the US at the time
is doing quite morally questionable things besides treason.

Richard Stallman, also did some morally questionable things before he
started FSF. In one perspective, you can consider him a software
criminal. Lucky for him that at the time there was no software law
yet. Else, he'd be in jail before he had a chance to mouth his
manifesto. So, in this perspective, he is someone who breaks the law,
got dissed by MIT, got pissed, with vengeance he starts the FSF to
recoup his ego.

The above is one perspective. A perspective neutral, where human
animal's behavior is considered foremost sans a context of any
particular moral system.

> > The FSF's insistence of signing of legal paper to accept code
> > contribution is one huge obstacle too, for whatever good or bad reasons
> > they need to do it.
>
> It's irritating, yes, but hardly a huge obstacle. It's necessary
> because, under USA law (so I'm told), a copyright lawsuit can only
> proceed with the active involvement of all copyright holders. The
> advantage, from your point of view, is that anytime anybody violates the
> copyright of your code, you've got the legal resources of the FSF to
> back you up.

The FSF requirement of legal paper signing is a significant problem
for FSF's software to progress forward.

First, let's presume that it is something that needs to be done in
order for FSF to protect GPL.

Now, imagine, there are 2 software A and B. In A, there are paper
works going by postal mail, as parts of how A grow code. In B, there
is no such.

Today, thanks to FSF, vast majority of open source software uses model
B. Just look at all code at Google Code, SourceForge, or numerous
other open source code depositories. Today, the internet age where
people watch movies online and all sort of online transactions, the
paper work and postal mail agreement model is a major time drain and
impetus killing.

to help see this, imagine, if all Open Source software today, those
hosted by Google Code, Source Forge, all linux development, or any
code on emacswiki, requires a postal mail legal paper signing before
the code can be published, then, to what degree do you think will slow
down the progress? Can you now see?

So, now you see, GNU emacs's requirement for signing legal document
thru paper mail is a significant obstacle for GNU emacs to progress.

I have thought about how to remedy this situation for few minutes
yesterday, but didn't see any solution or conclusion. First, we
presume that it is in fact necessary for the paper work, as FSF says
so. Ok, then what can we do? I don't really know. If the paper work is
necessary, and of course FSF is practically the only one to protect
the GPL, in a sense allowing the thousands other open source or “free”
software to progress freely without paperwork. It appears to me we hav
run into a inherent “unsolvable” problem. I was thinking, perhaps GNU
software can be considered as kinda sacrifice, by requiring the legal
paper work in order to protect GPL for the whole open source
community, but meanwhile sacrifice GNU software's progress due to the
very paperwork bureaucracy... but this can't go on for long, because
eventually GNU's software will become so bad that people all uses
other's open source software, and if that is so, then FSF's GPL
protection role will rot out too, because only a very small percentage
of people is actually using FSF's “free” software...

The above paragraph is a bit of rambling. In any case, i do doubt the
necessity for FSF to require the paper work. Maybe it was important in
1990s or earlier, but probably not today. I even question if it was
necessary in the 1990s. For example, there was BSD's license. And
there's also the much simpler “public domain” release. Arguably these
does not propagate the concept behind FSF. (that is GPL, of which
Richard says is “fighting fire with fire”.) But in any case, consider
today, with huge participation of google, apple computer, and quite
several large organization and commercial entities participating in
open source projects in major ways, it is question today that even GPL
itself, is needed at all. Richard has been successful in his ideal of
software. Today, that is largely already achieved to the extend that
such concept can benefit society. (see note below) So, in this
perspective, FSF can in fact can today close shop and the existing
opene source and “free” software world may not fare worse.

Note: in the above, i didn't even discuss whether OpenSource or
“‘Free’ Software” concept is it itself good for society. There are
many debates on this.

e.g.
• A Case Aganist OpenSources (A New Paradigm in Intellectual Property
Law?) by Mathias Strasser, 2001. http://stlr.stanford.edu/STLR/Articles/01_STLR_4/article.htm

For me, i believe that “‘Free’ Software” idea is indeed a good idea,
but not so much how Richard paints it. The gist is that, software is a
piece of good, and by the very nature of software, it can be copied
without much cost. So, the traditional copyright law, usually allowing
one single copy, may not be of the best interest to human animals as a
whole, long term. In “‘Free’ software” ideal, software industry more
becomes a service oriented industry, where coders gets paid to modify
and customize existing software. This is also arguably a better
business model when compared with existing copyright software laws or
practices, where app is sold as a some type of permission to use.

> > The guy who wrote aquaemacs emacs, from the few exchange .....
> > i don't find him much of a respectable person.
>
> [ .... ]
>
> > (it goddamn pains me that each time i need to mention his [somebody
> > else's] name and find the correct spelling, i have to go to my own
> > emacs page because he almost ****ing make it a point not to stick out
> > his name as authorship where he SHOULD, as a matter of publishing
> > ethic. (he probably think it is a modesty. LOL my ****ing ass.))
>
> [ .... ]
>
> > frequently, whenever i use some open source software, often am amazed
> > at what kind absolute idiot created the user interface.
>
> Looks like you're having a bad day. Cheer up, and think of that tiny
> minority of free software hackers who actually do a passable job. ;-)

No, i didn't have a bad day. I get very irritated by idiots, in the
same sense most tech geekers gets irrigated by “dumb users” or how
society is being “dumbed down”. It usually don't effect my mood. I
enjoy teaching, and i enjoy fighting with socially ignorant tech
geekers, or geekers who's IQ are too low or speak beyond their brain.
On this point, you can see some explanation in the following article:

• (Knowledge + Love) / Disrespectfulness
http://xahlee.org/Netiquette_dir/disrespectfulness.html

Xah
http://xahlee.org/


David Kastrup

unread,
Feb 27, 2009, 4:32:09 PM2/27/09
to
Xah Lee <xah...@gmail.com> writes:

> His technical, coding, contribution is unquestionably a positive
> contribution. His “free” software movement is, however, questionable.
> The reason that society recognized this social contribution, is
> partly, if not significantly, due to the fact that he is successful in
> spreading his philosophy. For example, to illustrate, if Hitler was
> successful, today he would be a hero, leader, founder, as opposed to a
> criminal. As another illustration, if US lost the war to UK, then the
> “founding fathers” of US would be considered criminals today who got
> punished by death. In fact, many of the leaders in the US at the time
> is doing quite morally questionable things besides treason.
>
> Richard Stallman, also did some morally questionable things before he
> started FSF. In one perspective, you can consider him a software
> criminal. Lucky for him that at the time there was no software law
> yet.

Huh? What did he do according to your overboarding fantasy? He started
the free software movement exactly so that he would not be forced to
choose between morals and laws.

> Else, he'd be in jail before he had a chance to mouth his
> manifesto.

For what offense?

> So, in this perspective, he is someone who breaks the law, got dissed
> by MIT, got pissed, with vengeance he starts the FSF to recoup his
> ego.
>
> The above is one perspective. A perspective neutral, where human
> animal's behavior is considered foremost sans a context of any
> particular moral system.

Hogwash. Without a context of a moral system _and_ without existing
laws (which you claim did not exist at that time) _and_ without having
broken any law, calling somebody a criminal ist not "neutral", but
rather idiotic.

> I have thought about how to remedy this situation for few minutes
> yesterday, but didn't see any solution or conclusion.

Others have thought about those issues for decades. Do you really not
understand that statements like those make you appear like a pompous
fool without the slightest clue what he is talking about?

> The above paragraph is a bit of rambling. In any case, i do doubt the
> necessity for FSF to require the paper work. Maybe it was important in
> 1990s or earlier, but probably not today. I even question if it was
> necessary in the 1990s. For example, there was BSD's license.

Look, you don't even understand the difference between license types and
software ownership. It does not matter what license you pick: the only
party allowed to press for compliance is the copyright holder. Via
authorship or assignment.

> No, i didn't have a bad day. I get very irritated by idiots,

How do you manage to shave? Mirrors must be very annoying to you.

--
David Kastrup

Xah Lee

unread,
Feb 27, 2009, 5:24:22 PM2/27/09
to
The previous post is cleaned up a bit, now published at my website,
at:

• “Free” Software Morality, Richard Stallman, and Paperwork
Bureaucracy
http://xahlee.org/UnixResource_dir/writ2/FSF_philosophy.html

you can leave a comment at
http://xahlee.blogspot.com/2009/02/free-software-morality-richard-stallman.html

Xah
http://xahlee.org/

Lennart Borgman

unread,
Feb 27, 2009, 6:55:40 PM2/27/09
to Xah Lee, help-gn...@gnu.org
On Fri, Feb 27, 2009 at 9:34 PM, Xah Lee <xah...@gmail.com> wrote:
> yesterday, but didn't see any solution or conclusion. First, we
> presume that it is in fact necessary for the paper work, as FSF says
> so. Ok, then what can we do? I don't really know. If the paper work is
> necessary, and of course FSF is practically the only one to protect
> the GPL, in a sense allowing the thousands other open source or “free”
> software to progress freely without paperwork. It appears to me we hav
> run into a inherent “unsolvable” problem. I was thinking, perhaps GNU
> software can be considered as kinda sacrifice, by requiring the legal
> paper work in order to protect GPL for the whole open source
> community, but meanwhile sacrifice GNU software's progress due to the
> very paperwork bureaucracy... but this can't go on for long, because
> eventually GNU's software will become so bad that people all uses
> other's open source software, and if that is so, then FSF's GPL
> protection role will rot out too, because only a very small percentage
> of people is actually using FSF's “free” software...


I think that you are right when you assume that GPL actually protects
the other "free software" too. The key to understand this is that as
soon as the other "free software" gets under attach from copyright
holders then the GPL software will be much more important.

It is the dynamics that counts here.

However the main current problem in my opinion is the inability to
organize and fund ways to develop some of the main free software with
a mix of professional and "free time" developers. This could be done
if we can fight the new liberals oversimplified view of the economic
markets. However the politics are still much on their side so private
initiatives like Ubuntu is still the only way. (I am by the way very
glad for this initiative. It can perhaps serve as an example of what
governements can do - if they want to and are allowed to by the
strange economic laws we are under, the new liberal inspired laws.)


Lennart Borgman

unread,
Feb 27, 2009, 7:58:15 PM2/27/09
to Xah Lee, help-gn...@gnu.org
On Sat, Feb 28, 2009 at 12:55 AM, Lennart Borgman
<lennart...@gmail.com> wrote:
> On Fri, Feb 27, 2009 at 9:34 PM, Xah Lee <xah...@gmail.com> wrote:
>> yesterday, but didn't see any solution or conclusion. First, we
>> presume that it is in fact necessary for the paper work, as FSF says
>> so. Ok, then what can we do? I don't really know. If the paper work is
>> necessary, and of course FSF is practically the only one to protect
>> the GPL, in a sense allowing the thousands other open source or “free”
>> software to progress freely without paperwork. It appears to me we hav
>> run into a inherent “unsolvable” problem. I was thinking, perhaps GNU
>> software can be considered as kinda sacrifice, by requiring the legal
>> paper work in order to protect GPL for the whole open source
>> community, but meanwhile sacrifice GNU software's progress due to the
>> very paperwork bureaucracy... but this can't go on for long, because
>> eventually GNU's software will become so bad that people all uses
>> other's open source software, and if that is so, then FSF's GPL
>> protection role will rot out too, because only a very small percentage
>> of people is actually using FSF's “free” software...
>
>
> I think that you are right when you assume that GPL actually protects
> the other "free software" too. The key to understand this is that as
> soon as the other "free software" gets under attach from copyright
> holders then the GPL software will be much more important.
>
> It is the dynamics that counts here.
>
> However the main current problem in my opinion is the inability to
> organize and fund ways to develop some of the main free software with
> a mix of professional and "free time" developers. This could be done
> if we can fight the new liberals oversimplified view of the economic
> markets. However the politics are still much on their side so private
> initiatives like Ubuntu is still the only way. (I am by the way very
> glad for this initiative. It can perhaps serve as an example of what
> governements can do - if they want to and are allowed to by the
> strange economic laws we are under, the new liberal inspired laws.)

I got a private note that my use of "new liberals" may be
misunderstood. I use it in the European sense, as those who
aggressively fight for a laissez-fair economy without ever thinking
very much about the actual consequencies, but merely assume that
laissez-fair policy fixes everything.


Xah Lee

unread,
Feb 28, 2009, 3:57:44 AM2/28/09
to

Thanks Drew.

I have now tried your code and it's great. I also updated it here:

• Usability Problems Of Emacs's Mode Documentation
http://xahlee.org/emacs/modernization_mode_doc.html

Btw, when i insert a ^L, it automatically become displayed as
horizontal line but with the overlay display “Section (Printable
Page)”. Is there a way to turn that off? i.e. i just want a line.

Xah
http://xahlee.org/


Drew Adams

unread,
Feb 28, 2009, 10:47:56 AM2/28/09
to Xah Lee, help-gn...@gnu.org
> > > > * Get rid of convention of using ^L (ascii 12) for
> > > > page break marker.
> >
> > > Is there a way to draw a sort of horizontal line for the ASCII 12
> > > symbol instead of printing "^L"? I'm talking about X version.
> >
> > Yes.
> > Code:http://www.emacswiki.org/emacs/pp-c-l.el
> > Description:http://www.emacswiki.org/emacs/PrettyControlL
> > You can customize the appearance.
> > The screenshot shows the default appearance.
>
> Thanks Drew.
> I have now tried your code and it's great. I also updated it here:
>
> . Usability Problems Of Emacs's Mode Documentation

> http://xahlee.org/emacs/modernization_mode_doc.html
>
> Btw, when i insert a ^L, it automatically become displayed as
> horizontal line but with the overlay display "Section (Printable
> Page)". Is there a way to turn that off? i.e. i just want a line.


Yes, and it's described in the file and the doc strings of the user options. To
quote:

------8<-------------------
* Option `pp^L-^L-string':

Highlighted string displayed in place of each Control-l (^L) character.
If `pp^L-^L-string-function' is non-nil, then the string that function
returns is used instead of `pp^L-^L-string'.

* Option `pp^L-^L-string-function':

Function to produce string displayed in place of each Control-l (^L) char.
If this is non-nil, then option `pp^L-^L-string' is not used.
You can use this option to have a dynamically defined display string.
For example, with `foo' as the value, and this definition, a
window-width horizontal line is displayed.

(defun foo () (make-string (window-width) ?_))

In the library's Commentary:

Note: If you use option `pp^L-^L-string-function' to define the ^L
appearance based on the current window (e.g. its width), then you
might want to add command `refresh-pretty-control-l' to variable
`window-configuration-change-hook', to automatically update the ^L
display whenever you resize the window:

(add-hook 'window-configuration-change-hook
'refresh-pretty-control-l)
------8<-------------------

So:

* If you want a different static string from the default,
" Section (Printable Page) ", then just
customize `pp^L-^L-string'.

* If you want a dynamic string, such as a horizontal line for the
full window width, even as the window is resized, then use
`pp^L-^L-string-function'. That option can have a function value.
If it does, then whatever string that function returns is used.

You can also customize the face used, and prefix and suffix strings to bookend
the basic string.

Xah Lee

unread,
Mar 1, 2009, 6:34:35 PM3/1/09
to
On Feb 26, 11:33 am, Teemu Likonen <tliko...@iki.fi> wrote:
> Anyway, I find your ergonomic Emacs keybindings[1] interesting, and it's
> nice that there is code available.

Thank you.

> I found the keybindings too
> intrusive, though, so I implemented my own map which only changes
> certain cursor movement keys. It's a global minor mode with its own mode
> map so it can be turned on and off easily. The code is here:
>
> http://www.emacswiki.org/emacs/ergo-movement-mode.el
>
> ---------------
> 1. http://xahlee.org/emacs/ergonomic_emacs_keybinding.html

I'd appreciate it if you mention “Inspired by Xah Lee's Ergoemacs
keybindings”, possibly with a link.

For those finding the convertion too much, you can also start with
simpler ones, with elisp code given here:

http://code.google.com/p/ergoemacs/wiki/adoption

The simplest one is start with this:

;; kicking the habit
(global-unset-key (kbd "C-b")) ; backward-char
(global-unset-key (kbd "C-f")) ; forward-char
(global-unset-key (kbd "C-p")) ; previous-line
(global-unset-key (kbd "C-n")) ; next-line
(global-unset-key (kbd "C-SPC")) ; set-mark-command

;; Single char cursor movement.
(global-set-key (kbd "M-j") 'backward-char)
(global-set-key (kbd "M-l") 'forward-char)
(global-set-key (kbd "M-i") 'previous-line)
(global-set-key (kbd "M-k") 'next-line)

;; set mark
(global-set-key (kbd "M-SPC") 'set-mark-command)

Xah
http://xahlee.org/

Xah Lee

unread,
Mar 1, 2009, 8:46:32 PM3/1/09
to
Drew Adams wrote:

> Description:http://www.emacswiki.org/emacs/PrettyControlL

Hi Drew,

i'm having some problem customize this.

Basically, all i want is a single horizontal bar, in complete black,
that's about 60 chars long. (which is a bit longer than the default)

I tried to customize the string, or the font... basically now and then
spend some 30 min but can't achieve this.

i use customize-group. Each time, i have to reload pretty-control-l-
mode, then call describe-mode again to see.

The pp^l string i tried 60 spaces, to make it longer.

The pp^l highlight i tried adjust the box, but then i got 2 bars. Then
i tried turn off the box and use strick-through... but it became too
thin.

Also, i think when box is off and strike thru is on and string is
spaces, it doesn't show the strike thru.

Can you tell me what's the setting to use to get what i want? And,
would you consider this as default? i.e. just a simple black
horizontal line that's about 60 char long.

Thanks

Xah
http://xahlee.org/


Teemu Likonen

unread,
Mar 2, 2009, 12:57:59 AM3/2/09
to
On 2009-03-01 15:34 (-0800), Xah Lee wrote:

> On Feb 26, 11:33 am, Teemu Likonen <tliko...@iki.fi> wrote:
>> I found the keybindings too intrusive, though, so I implemented my
>> own map which only changes certain cursor movement keys. It's a
>> global minor mode with its own mode map so it can be turned on and
>> off easily. The code is here:
>>
>> http://www.emacswiki.org/emacs/ergo-movement-mode.el

> I'd appreciate it if you mention “Inspired by Xah Lee's Ergoemacs


> keybindings”, possibly with a link.

Ah, sorry. Done.

Drew Adams

unread,
Mar 2, 2009, 10:50:50 AM3/2/09
to Xah Lee, help-gn...@gnu.org
> > Description:http://www.emacswiki.org/emacs/PrettyControlL

>
> i'm having some problem customize this.
> Basically, all i want is a single horizontal bar, in complete black,
> that's about 60 chars long. (which is a bit longer than the default)
>
> I tried to customize the string, or the font... basically now and then
> spend some 30 min but can't achieve this.

I'm guessing it would help to get more familiar with the Customize UI, in
particular for faces. It's not ideal, but it is usable once you are familiar
with it.

> i use customize-group. Each time, i have to reload pretty-control-l-
> mode, then call describe-mode again to see.

To see what? You should never need to do that. Have you tried `M-x
refresh-pretty-control-l'?

> The pp^l string i tried 60 spaces, to make it longer.
> The pp^l highlight i tried adjust the box, but then i got 2 bars. Then
> i tried turn off the box and use strick-through... but it became too
> thin.

Emacs offers no way to change the strike-through thickness, AFAIK. I'm guessing
(only guessing) that things like strike-through are dependent on the font you
choose. And perhaps on your platform (?).

> Also, i think when box is off and strike thru is on and string is
> spaces, it doesn't show the strike thru.

It does for me. Perhaps report an Emacs bug for your version and platform.

> Can you tell me what's the setting to use to get what i want? And,
> would you consider this as default? i.e. just a simple black
> horizontal line that's about 60 char long.

1. Customize face `pp^l-highlight': Remove the boxing.

2. Customize option `pp^L-^L-string': Use a 60-char string of underline
characters, e.g. (make-string 60 ?_).

3. `M-x refresh-pretty-control-l'.

In what way doesn't that give you what you described?

Turn Strike-through or Overline on (also) if you want a double line:
==================. Or use a string of spaces, and turn on Underline and/or
Overline and/or Strike-through. Each of those lines can be colored, etc. Don't
forget to use the Value Menu to turn these attributes on - it's not enough to
check the box. This is no different from customizing any face.

I want the default string value to be what it is. It lets users, especially new
users, clearly recognize a page separator (and not mistake it for something
else). It's easy to customize it to get something different (once you are
familiar with Customize ;-)).

The default value practically shouts, "(1) I'm a page separator; (2) I cause
page separation when you print too; (3) Customize me, if you think I'm ugly".
About the only thing it doesn't advertize is that you can move among pages (`C-x
]' etc.) and otherwise operate on pages.

HTH.

Xah Lee

unread,
Mar 2, 2009, 4:09:12 PM3/2/09
to

Hi Drew,

Thanks for the help.

It did help. It did help. However, for some reason i'm still getting
problems.

Reproduction steps:

1. M-x customize-group , Pretty-Control-L
2. scroll to “Pp^L ^L String Pre” section. Change the value there to
60 spaces.
3. Uncheck the box. Check the underline. Color maroon.
4. Click Save for future session above.
5. Now, the .emacs shows the following:

(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(completions-first-difference ((t (:inherit bold :foreground
"red"))))
'(pp^L-highlight ((((type x w32 mac graphic) (class color))
(:underline "maroon"))))
'(show-paren-match ((((class color) (background light)) (:background
"azure2")))))

(custom-set-variables
;...
'(pp^L-^L-string
" •")
'(pretty-control-l-mode t)
)

However, refresh or restarting emacs it still displays “Section
(Printable Page)”.

This is tested on Carbon emacs and X11 emacs with gtk. Both version
22.x, on the mac.

Xah
http://xahlee.org/


Xah Lee

unread,
Mar 2, 2009, 4:15:59 PM3/2/09
to
On Mar 2, 1:09 pm, Xah Lee <xah...@gmail.com> wrote:
> On Mar 2, 7:50 am, "Drew Adams" <drew.ad...@oracle.com> wrote:
> > > > Description:http://www.emacswiki.org/emacs/PrettyControlL

Sorry, never mind.

It appears, that i have to either put (refresh-pretty-control-l)
before (pretty-control-l-mode t), or load the mode in the end.

Thanks.

Xah
http://xahlee.org/


0 new messages