GNU bug report logs - #2473
usability issues on emacs's describe-mode

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Severity: wishlist; Reported by: xah lee <xah@HIDDEN>; merged with #575; dated Wed, 25 Feb 2009 19:45:03 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.
Merged 575 2473. Request was from Glenn Morris <rgm@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 2473@HIDDEN:


Received: (at 2473) by emacsbugs.donarmstrong.com; 1 Mar 2009 11:25:25 +0000
From xma@HIDDEN Sun Mar  1 03:25:24 2009
X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02
	(2008-06-10) on rzlab.ucr.edu
X-Spam-Level: 
X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available.
	hammytokens:Tokens not available.
X-Spam-Status: No, score=-2.9 required=4.0 tests=FOURLA,HAS_BUG_NUMBER
	autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02
Received: from mf1.conovae.net (ded1.conovae.com [88.191.52.166])
	by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n21BPJVh021335
	for <2473@HIDDEN>; Sun, 1 Mar 2009 03:25:21 -0800
Received: by mf1.conovae.net (Postfix, from userid 10)
	id D5FDD261395; Sun,  1 Mar 2009 12:24:31 +0100 (CET)
Received: from zogzog.maillard.mobi (IDENT:1000@localhost [127.0.0.1])
	by zogzog.maillard.mobi (8.14.3/8.13.8) with ESMTP id n21BP3Hp029503;
	Sun, 1 Mar 2009 12:25:03 +0100
Received: (from xma@localhost)
	by zogzog.maillard.mobi (8.14.3/8.13.8/Submit) id n21BP2VU029502;
	Sun, 1 Mar 2009 12:25:02 +0100
Date: Sun, 1 Mar 2009 12:25:02 +0100
Message-Id: <200903011125.n21BP2VU029502@HIDDEN>
From: Xavier Maillard <xma@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
CC: rms@HIDDEN, 2473 <at> debbugs.gnu.org, xah@HIDDEN
In-reply-to: message from Eli Zaretskii on Fri, 27 Feb 2009 13:04:01 +0200
Subject: Re: bug#2473: usability issues on emacs's describe-mode
Organization: GNU's Not UNIX!
User-Agent: Rmail GNU emacs 23.0 on Slackware 12.2.0
Jabber-ID: xma01@HIDDEN
Reply-to: Xavier Maillard <xma@HIDDEN>
References:  
X-UUCPssh-Information: Please contact the ISP for more information
X-UUCPssh: Found to be clean
X-UUCPssh-SpamCheck: not spam, SpamAssassin (not cached, score=-4.399,
	required 6, autolearn=not spam, ALL_TRUSTED -1.80, BAYES_00 -2.60)
X-UUCPssh-From: xma@HIDDEN


   > From: Richard M Stallman <rms@HIDDEN>
   > Date: Fri, 27 Feb 2009 05:10:49 -0500
   > Cc: bug-gnu-emacs@HIDDEN
   > 
   > We list the minor mode info here as well as the major mode info,
   > because otherwise we would need a separate command to give info about
   > them, and that would be burdensome in another way.  The way we present
   > it is the best possible compromise between the various goals.  It
   > gives the minor mode info in brief form at the front, but puts most of
   > it at the end, out of the way.
   > 
   > I do see two ways to improve this:

   I see a 3rd way: make the buffer present an expandable list of modes,
   starting with just 2 items: the current major modes and "minor modes",
   e.g. similar to what we do in Speedbar, or maybe in Outline Mode
   (under "Hide Sublevels").  In ASCII art:

     + Major Mode: RMAIL Mode
     + Minor Modes

   Clicking on a plus near Major Mode would then expand to the text we
   currently show for that major mode, for example:

     - Major Mode: RMAIL mode
            Rmail Mode is used by M-x rmail for editing Rmail files.
            All normal editing commands are turned off.
            Instead, these commands are available:

            .    Move point to front of this message.
            /    Move point to bottom of this message.
            SPC  Scroll to next screen of this message.
            DEL  Scroll to previous screen of this message.
            n    Move to Next non-deleted message.
            p    Move to Previous non-deleted message.

     + Minor Modes

   Clicking on "Minor Modes" would show only the list of modes with short
   descriptions:

     - Minor Modes:
       + Auto-Compression -- automatic file compression and uncompression.
       + Blink-Cursor -- blink cursor in current window.
       + Desktop-Save -- save Emacs session on exit.
       + Display-Time -- display time, load average, and mail flag in modeline.
       + File-Name-Shadow -- shadow ignored part of file name in minibuffer.

   etc., you get the picture.  (We could also have a tooltip on each line
   showing more info for that mode.)  Clicking on any of the plus signs
   near a minor mode would display the full documentation for that minor
   mode, the one we show today unconditionally.

[...]

   WDYT?

This is a really good suggestion and would greatly improve C-h m
usability (which is the OP's main complaint.

	Xavier
-- 
http://www.gnu.org
http://www.april.org
http://www.lolica.org




Acknowledgement sent to Xavier Maillard <xma@HIDDEN>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs@HIDDEN>. Full text available.
Information forwarded to bug-submit-list@HIDDEN, Emacs Bugs <bug-gnu-emacs@HIDDEN>:
bug#2473; Package emacs. Full text available.

Message received at 2473@HIDDEN:


Received: (at 2473) by emacsbugs.donarmstrong.com; 28 Feb 2009 11:05:45 +0000
From lennart.borgman@HIDDEN Sat Feb 28 03:05:45 2009
X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02
	(2008-06-10) on rzlab.ucr.edu
X-Spam-Level: 
X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available.
	hammytokens:Tokens not available.
X-Spam-Status: No, score=-3.0 required=4.0 tests=HAS_BUG_NUMBER autolearn=ham
	version=3.2.5-bugs.debian.org_2005_01_02
Received: from an-out-0708.google.com (an-out-0708.google.com [209.85.132.241])
	by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n1SB5gDx016901
	for <2473@HIDDEN>; Sat, 28 Feb 2009 03:05:43 -0800
Received: by an-out-0708.google.com with SMTP id b38so1069404ana.31
        for <2473@HIDDEN>; Sat, 28 Feb 2009 03:05:41 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=gamma;
        h=domainkey-signature:mime-version:received:in-reply-to:references
         :date:message-id:subject:from:to:cc:content-type
         :content-transfer-encoding;
        bh=fHPcqljOsxtpXO0USc4duhZ65mlXWPWAO3Av85ujjD8=;
        b=fD+ahptYFV1sXiZb3TJo6aQbCySSWxMYzOACwGCE8X4fc9aRaqusawqm0C8REljEUW
         WAO89rXPNbBLNML9yyaGz2TidP4IbbKvM/CC8NdZmSn1zralffTPa1ihBmWn0ixu9WFe
         w6rDGO97ZiBHZbh466V+EByIQ6R4gZkRO01TA=
DomainKey-Signature: a=rsa-sha1; c=nofws;
        d=gmail.com; s=gamma;
        h=mime-version:in-reply-to:references:date:message-id:subject:from:to
         :cc:content-type:content-transfer-encoding;
        b=i1c4RJs3Cga7Eq/Vwhh0diU3/TawOqAOkkxq3WYZ7cFclw2V0cP9cL5VOlmAiHL466
         rMDzcwmkC/choAnZChzhSkXrBbpukzLNRhNv8FKWoLRLxtCRPmBXYRag8HB0nb6+WvPj
         wqWbFR91q1HnDxFCPNVlo724ZrkmuWcRnAjaA=
MIME-Version: 1.0
Received: by 10.220.95.83 with SMTP id c19mr1267172vcn.88.1235819141660; Sat, 
	28 Feb 2009 03:05:41 -0800 (PST)
In-Reply-To: <u8wnqq1af.fsf@HIDDEN>
References: <uzlg8p2e6.fsf@HIDDEN> <E1LdCCv-0000nS-Gv@HIDDEN>
	 <jwvab8718qk.fsf-monnier+emacsbugreports@HIDDEN>
	 <u8wnqq1af.fsf@HIDDEN>
Date: Sat, 28 Feb 2009 12:05:41 +0100
Message-ID: <e01d8a50902280305g4fca85bap913a52dea841493d@HIDDEN>
Subject: Re: bug#2473: usability issues on emacs's describe-mode
From: Lennart Borgman <lennart.borgman@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>, 2473 <at> debbugs.gnu.org
Cc: Stefan Monnier <monnier@HIDDEN>, xah@HIDDEN, rms@HIDDEN
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Sat, Feb 28, 2009 at 11:54 AM, Eli Zaretskii <eliz@HIDDEN> wrote:
>> From: Stefan Monnier <monnier@HIDDEN>
>> Cc: 2473@HIDDEN, =C2=A0Eli Zaretskii <eliz@HIDDEN>,=
 =C2=A0xah@HIDDEN
>> Date: Fri, 27 Feb 2009 23:34:21 -0500
>>
>> > =C2=A0 =C2=A0 I see a 3rd way: make the buffer present an expandable l=
ist of modes,
>> > =C2=A0 =C2=A0 starting with just 2 items: the current major modes and =
"minor modes",
>> > =C2=A0 =C2=A0 e.g. similar to what we do in Speedbar, or maybe in Outl=
ine Mode
>> > =C2=A0 =C2=A0 (under "Hide Sublevels"). =C2=A0In ASCII art:
>>
>> > =C2=A0 =C2=A0 =C2=A0 + Major Mode: RMAIL Mode
>> > =C2=A0 =C2=A0 =C2=A0 + Minor Modes
>>
>> > Using hiding is a good idea -- thanks.
>>
>> > I think that partcular way would be inconvenient. =C2=A0Specifically, =
it
>> > would be a hassle to initially hide the major mode documentation.
>> > That is what users most often want to see; making them type a command
>> > to expose it would be a gratuitous hassle.
>>
>> > So I suggest putting the partly-hidden minor mode list first,
>> > followed by the totally visible major mode documentation.
>
> For the record: I don't mind whether the major mode is first or last,
> nor whether it is Initially shown expanded or collapsed.
>
>> I don't think the difference with what we have now is worth
>> the trouble.
>
> The difference is twofold, IMO:
>
> =C2=A0. it presents a UI that's familiar to most users
> =C2=A0. it makes it easy to show initially a very short text without
> =C2=A0 =C2=A0hampering user's ability to get to the information she needs=
 most

And it is very easy to implement ...

> If that's not worth the trouble, then what is?
>
> (In case it wasn't clear, I wasn't suggesting that we make this change
> before Emacs 23.1 is released.)
>
>
>
>
>




Acknowledgement sent to Lennart Borgman <lennart.borgman@HIDDEN>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs@HIDDEN>. Full text available.
Information forwarded to bug-submit-list@HIDDEN, Emacs Bugs <bug-gnu-emacs@HIDDEN>:
bug#2473; Package emacs. Full text available.

Message received at 2473@HIDDEN:


Received: (at 2473) by emacsbugs.donarmstrong.com; 28 Feb 2009 10:54:56 +0000
From eliz@HIDDEN Sat Feb 28 02:54:55 2009
X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02
	(2008-06-10) on rzlab.ucr.edu
X-Spam-Level: 
X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available.
	hammytokens:Tokens not available.
X-Spam-Status: No, score=-3.0 required=4.0 tests=HAS_BUG_NUMBER autolearn=ham
	version=3.2.5-bugs.debian.org_2005_01_02
Received: from mtaout1.012.net.il (mtaout1.012.net.il [84.95.2.1])
	by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n1SAsqm1011115
	for <2473@HIDDEN>; Sat, 28 Feb 2009 02:54:54 -0800
Received: from conversion-daemon.i-mtaout1.012.net.il by i-mtaout1.012.net.il (HyperSendmail v2007.08) id <0KFR00900VN8QP00@HIDDEN> for 2473@HIDDEN; Sat, 28 Feb 2009 12:55:25 +0200 (IST)
Received: from HOME-C4E4A596F7 ([77.127.167.119]) by i-mtaout1.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0KFR004SFVO80V40@HIDDEN>; Sat, 28 Feb 2009 12:55:22 +0200 (IST)
Date: Sat, 28 Feb 2009 12:54:48 +0200
From: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#2473: usability issues on emacs's describe-mode
In-reply-to: <jwvab8718qk.fsf-monnier+emacsbugreports@HIDDEN>
X-012-Sender: halo1@HIDDEN
To: Stefan Monnier <monnier@HIDDEN>
Cc: rms@HIDDEN, 2473 <at> debbugs.gnu.org, xah@HIDDEN
Reply-to: Eli Zaretskii <eliz@HIDDEN>
Message-id: <u8wnqq1af.fsf@HIDDEN>
References: <uzlg8p2e6.fsf@HIDDEN> <E1LdCCv-0000nS-Gv@HIDDEN> <jwvab8718qk.fsf-monnier+emacsbugreports@HIDDEN>

> From: Stefan Monnier <monnier@HIDDEN>
> Cc: 2473@HIDDEN,  Eli Zaretskii <eliz@HIDDEN>,  xah@HIDDEN
> Date: Fri, 27 Feb 2009 23:34:21 -0500
> 
> >     I see a 3rd way: make the buffer present an expandable list of modes,
> >     starting with just 2 items: the current major modes and "minor modes",
> >     e.g. similar to what we do in Speedbar, or maybe in Outline Mode
> >     (under "Hide Sublevels").  In ASCII art:
> 
> >       + Major Mode: RMAIL Mode
> >       + Minor Modes
> 
> > Using hiding is a good idea -- thanks.
> 
> > I think that partcular way would be inconvenient.  Specifically, it
> > would be a hassle to initially hide the major mode documentation.
> > That is what users most often want to see; making them type a command
> > to expose it would be a gratuitous hassle.
> 
> > So I suggest putting the partly-hidden minor mode list first,
> > followed by the totally visible major mode documentation.

For the record: I don't mind whether the major mode is first or last,
nor whether it is Initially shown expanded or collapsed.

> I don't think the difference with what we have now is worth
> the trouble.

The difference is twofold, IMO:

  . it presents a UI that's familiar to most users
  . it makes it easy to show initially a very short text without
    hampering user's ability to get to the information she needs most

If that's not worth the trouble, then what is?

(In case it wasn't clear, I wasn't suggesting that we make this change
before Emacs 23.1 is released.)




Acknowledgement sent to Eli Zaretskii <eliz@HIDDEN>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs@HIDDEN>. Full text available.
Information forwarded to bug-submit-list@HIDDEN, Emacs Bugs <bug-gnu-emacs@HIDDEN>:
bug#2473; Package emacs. Full text available.

Message received at 2473@HIDDEN:


Received: (at 2473) by emacsbugs.donarmstrong.com; 28 Feb 2009 09:12:54 +0000
From xah@HIDDEN Sat Feb 28 01:12:54 2009
X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02
	(2008-06-10) on rzlab.ucr.edu
X-Spam-Level: 
X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available.
	hammytokens:Tokens not available.
X-Spam-Status: No, score=-3.0 required=4.0 tests=HAS_BUG_NUMBER autolearn=ham
	version=3.2.5-bugs.debian.org_2005_01_02
Received: from mout.perfora.net (mout.perfora.net [74.208.4.195])
	by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n1S9Coa7007306
	for <2473@HIDDEN>; Sat, 28 Feb 2009 01:12:51 -0800
Received: from [192.168.1.4] (c-24-6-175-142.hsd1.ca.comcast.net [24.6.175.142])
	by mrelay.perfora.net (node=mrus0) with ESMTP (Nemesis)
	id 0MKp8S-1LdLFK1ZVW-000Nov; Sat, 28 Feb 2009 04:12:39 -0500
In-Reply-To: <jwvab8718qk.fsf-monnier+emacsbugreports@HIDDEN>
References: <uzlg8p2e6.fsf@HIDDEN> <E1LdCCv-0000nS-Gv@HIDDEN> <jwvab8718qk.fsf-monnier+emacsbugreports@HIDDEN>
Mime-Version: 1.0 (Apple Message framework v753.1)
Content-Type: text/plain; charset=UTF-8; delsp=yes; format=flowed
Message-Id: <26F1345E-58EE-4C6A-B1DA-C72B7FC42FFC@HIDDEN>
Cc: rms@HIDDEN, 2473 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>
Content-Transfer-Encoding: quoted-printable
From: xah lee <xah@HIDDEN>
Subject: Re: bug#2473: usability issues on emacs's describe-mode
Date: Sat, 28 Feb 2009 01:12:00 -0800
To: Stefan Monnier <monnier@HIDDEN>
X-Mailer: Apple Mail (2.753.1)
X-Provags-ID: V01U2FsdGVkX19VPaUEe8qp9BLEB9cvxYRHz7z3JioQQAkE9sT
 RXNJsZ4KlxzlJogWPKG9uFYhTtqIDY6ZFy61aYdky9SufoNU8v
 O7sbgGr6fCjoN7Yvpn2gA==

For me, so far i personally prefer the solution where Ctrl+h m would =20
just show the major mode's inline doc.

I think that pretty much fixed it, very simple solution.

Showing the inline doc of major mode is a frequent operation. Perhaps =20=

daily, or few times per week. Showing the inline doc of ALL minor =20
modes, is probably not used much. (personally, i can't think i needed =20=

it in 10 years)

For people who want to display inline doc of all minor modes at once, =20=

the describe-mode can work as it is.

As for the ^L char, I think Drew Adam's code works well.

So, overall, for the above, the following simple code does the job.

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

(global-set-key (kbd "C-h m") 'describe-major-mode)

(require 'pp-c-l)
(pretty-control-l-mode 1)

-----------

For the hide/show solution, i think it's too complex. Complex in UI, =20
complex in implementation too. For me, if i wanted to discribe them =20
all, i rather prefer they all show, and not having to click each to =20
expand, or click on some Expand All button.

Thanks for all the suggestions.

   Xah
=E2=88=91 http://xahlee.org/

=E2=98=84

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


On Feb 27, 2009, at 8:34 PM, Stefan Monnier wrote:

>     I see a 3rd way: make the buffer present an expandable list of =20
> modes,
>     starting with just 2 items: the current major modes and "minor =20
> modes",
>     e.g. similar to what we do in Speedbar, or maybe in Outline Mode
>     (under "Hide Sublevels").  In ASCII art:

>       + Major Mode: RMAIL Mode
>       + Minor Modes

> Using hiding is a good idea -- thanks.

> I think that partcular way would be inconvenient.  Specifically, it
> would be a hassle to initially hide the major mode documentation.
> That is what users most often want to see; making them type a command
> to expose it would be a gratuitous hassle.

> So I suggest putting the partly-hidden minor mode list first,
> followed by the totally visible major mode documentation.

I don't think the difference with what we have now is worth
the trouble.  Basically, it's just a question of shortening the "list of
minor modes" at the beginning of the buffer (e.g. by removing global
minor modes from that list).


         Stefan



=E2=98=84






Acknowledgement sent to xah lee <xah@HIDDEN>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs@HIDDEN>. Full text available.
Information forwarded to bug-submit-list@HIDDEN, Emacs Bugs <bug-gnu-emacs@HIDDEN>:
bug#2473; Package emacs. Full text available.

Message received at 2473@HIDDEN:


Received: (at 2473) by emacsbugs.donarmstrong.com; 28 Feb 2009 04:34:33 +0000
From monnier@HIDDEN Fri Feb 27 20:34:33 2009
X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02
	(2008-06-10) on rzlab.ucr.edu
X-Spam-Level: 
X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available.
	hammytokens:Tokens not available.
X-Spam-Status: No, score=-0.5 required=4.0 tests=HAS_BUG_NUMBER,XIRONPORT
	autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02
Received: from ironport2-out.teksavvy.com (ironport2-out.teksavvy.com [206.248.154.182])
	by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n1S4YSWs013202
	for <2473@HIDDEN>; Fri, 27 Feb 2009 20:34:30 -0800
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: ArIFAA9OqEnO+JhN/2dsb2JhbACBWdVNhBQGg2s
X-IronPort-AV: E=Sophos;i="4.38,280,1233550800"; 
   d="scan'208";a="34517757"
Received: from 206-248-152-77.dsl.teksavvy.com (HELO pastel.home) ([206.248.152.77])
  by ironport2-out.teksavvy.com with ESMTP; 27 Feb 2009 23:34:23 -0500
Received: by pastel.home (Postfix, from userid 20848)
	id DD06D9170; Fri, 27 Feb 2009 23:34:21 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: rms@HIDDEN
Cc: 2473 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>,
        xah@HIDDEN
Subject: Re: bug#2473: usability issues on emacs's describe-mode
Message-ID: <jwvab8718qk.fsf-monnier+emacsbugreports@HIDDEN>
References: <uzlg8p2e6.fsf@HIDDEN> <E1LdCCv-0000nS-Gv@HIDDEN>
Date: Fri, 27 Feb 2009 23:34:21 -0500
In-Reply-To: <E1LdCCv-0000nS-Gv@HIDDEN> (Richard M. Stallman's
	message of "Fri, 27 Feb 2009 18:33:29 -0500")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.91 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii

>     I see a 3rd way: make the buffer present an expandable list of modes,
>     starting with just 2 items: the current major modes and "minor modes",
>     e.g. similar to what we do in Speedbar, or maybe in Outline Mode
>     (under "Hide Sublevels").  In ASCII art:

>       + Major Mode: RMAIL Mode
>       + Minor Modes

> Using hiding is a good idea -- thanks.

> I think that partcular way would be inconvenient.  Specifically, it
> would be a hassle to initially hide the major mode documentation.
> That is what users most often want to see; making them type a command
> to expose it would be a gratuitous hassle.

> So I suggest putting the partly-hidden minor mode list first,
> followed by the totally visible major mode documentation.

I don't think the difference with what we have now is worth
the trouble.  Basically, it's just a question of shortening the "list of
minor modes" at the beginning of the buffer (e.g. by removing global
minor modes from that list).


        Stefan






Acknowledgement sent to Stefan Monnier <monnier@HIDDEN>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs@HIDDEN>. Full text available.
Information forwarded to bug-submit-list@HIDDEN, Emacs Bugs <bug-gnu-emacs@HIDDEN>:
bug#2473; Package emacs. Full text available.

Message received at 2473@HIDDEN:


Received: (at 2473) by emacsbugs.donarmstrong.com; 27 Feb 2009 23:59:07 +0000
From drew.adams@HIDDEN Fri Feb 27 15:59:07 2009
X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02
	(2008-06-10) on rzlab.ucr.edu
X-Spam-Level: 
X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available.
	hammytokens:Tokens not available.
X-Spam-Status: No, score=-3.0 required=4.0 tests=HAS_BUG_NUMBER autolearn=ham
	version=3.2.5-bugs.debian.org_2005_01_02
Received: from rgminet13.oracle.com (rcsinet13.oracle.com [148.87.113.125])
	by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n1RNx4Ym019438
	for <2473@HIDDEN>; Fri, 27 Feb 2009 15:59:05 -0800
Received: from rgminet15.oracle.com (rcsinet15.oracle.com [148.87.113.117])
	by rgminet13.oracle.com (Switch-3.3.1/Switch-3.3.1) with ESMTP id n1S002QR012872
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Sat, 28 Feb 2009 00:00:04 GMT
Received: from acsmt700.oracle.com (acsmt700.oracle.com [141.146.40.70])
	by rgminet15.oracle.com (Switch-3.3.1/Switch-3.3.1) with ESMTP id n1RNwulB020149;
	Fri, 27 Feb 2009 23:58:57 GMT
Received: from dradamslap1 (/141.144.72.147)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 27 Feb 2009 15:58:53 -0800
From: "Drew Adams" <drew.adams@HIDDEN>
To: <rms@HIDDEN>, <2473 <at> debbugs.gnu.org>,
        "'Eli Zaretskii'" <eliz@HIDDEN>
Cc: <xah@HIDDEN>
References: <uzlg8p2e6.fsf@HIDDEN> <E1LdCCv-0000nS-Gv@HIDDEN>
Subject: RE: bug#2473: usability issues on emacs's describe-mode
Date: Fri, 27 Feb 2009 15:58:59 -0800
Message-ID: <00d001c99937$5c745a70$0200a8c0@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Office Outlook 11
Thread-Index: AcmZNWtXZxUwf3hZTdqDw8s1Ali+wQAAUsJQ
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3350
In-Reply-To: <E1LdCCv-0000nS-Gv@HIDDEN>
X-Source-IP: acsmt700.oracle.com [141.146.40.70]
X-Auth-Type: Internal IP
X-CT-RefId: str=0001.0A090203.49A87E3F.0189:SCFSTAT928724,ss=1,fgs=0

>     I see a 3rd way: make the buffer present an expandable 
>     list of modes, starting with just 2 items: the current major modes and 
>     "minor modes", e.g. similar to what we do in Speedbar, or maybe in Outline
Mode
>     (under "Hide Sublevels").  In ASCII art:
> 
>       + Major Mode: RMAIL Mode
>       + Minor Modes
> 
> Using hiding is a good idea -- thanks.
> 
> I think that partcular way would be inconvenient.  Specifically, it
> would be a hassle to initially hide the major mode documentation.
> That is what users most often want to see; making them type a command
> to expose it would be a gratuitous hassle.
> 
> So I suggest putting the partly-hidden minor mode list first,
> followed by the totally visible major mode documentation.

I misread what Eli wrote. I thought he suggested showing the major-mode info, by
default.

That is what I would prefer: 

* Use expandable/contractable entries for each mode (including the major mode).
* Expand the major mode info, by default.
* Put the major mode entry *before* the minor mode entries (like it is now).

IOW, I disagree with Richard about the order - keep the major mode first. We've
already discussed this and decided to put minor-mode info after major mode info.
That's TRT, IMO.





Acknowledgement sent to "Drew Adams" <drew.adams@HIDDEN>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs@HIDDEN>. Full text available.
Information forwarded to bug-submit-list@HIDDEN, Emacs Bugs <bug-gnu-emacs@HIDDEN>:
bug#2473; Package emacs. Full text available.

Message received at 2473@HIDDEN:


Received: (at 2473) by emacsbugs.donarmstrong.com; 27 Feb 2009 23:57:04 +0000
From lennart.borgman@HIDDEN Fri Feb 27 15:57:04 2009
X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02
	(2008-06-10) on rzlab.ucr.edu
X-Spam-Level: 
X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available.
	hammytokens:Tokens not available.
X-Spam-Status: No, score=-3.0 required=4.0 tests=HAS_BUG_NUMBER autolearn=ham
	version=3.2.5-bugs.debian.org_2005_01_02
Received: from mail-gx0-f177.google.com (mail-gx0-f177.google.com [209.85.217.177])
	by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n1RNv1uC019260
	for <2473@HIDDEN>; Fri, 27 Feb 2009 15:57:02 -0800
Received: by gxk25 with SMTP id 25so3430833gxk.1
        for <2473@HIDDEN>; Fri, 27 Feb 2009 15:56:55 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=gamma;
        h=domainkey-signature:mime-version:received:in-reply-to:references
         :date:message-id:subject:from:to:cc:content-type
         :content-transfer-encoding;
        bh=fdjo8Fhe4f6NHTbZrk0DQ9Fo79HLqki7i1SfbWU9frM=;
        b=fO52XPqm006nf5l1oPBh9Ua3/sg4hMmhoStwLiQuvWwD5ciHOmFYaBFHWEa+6dIg5N
         pnVjJuWvvNFjdI3P32F72T2EHVv/c3Xy1t1arYIJIOOLSyrdJwHCTtgy6VJWlQQjL3/t
         Ywr2nbiMtEiClLq2ILrNeacaV+CMPLj+qWL+g=
DomainKey-Signature: a=rsa-sha1; c=nofws;
        d=gmail.com; s=gamma;
        h=mime-version:in-reply-to:references:date:message-id:subject:from:to
         :cc:content-type:content-transfer-encoding;
        b=f4SruqtsH/xER6c8f4+1kuTqFLKr3xBFhyPcmoUTjvy9rodGzs+6nEF9IuVPU75Asd
         AJBh+Wi0VaoqoMfIvCCfrFkCUSLBp4dnsVqXAG2VMN1HOPJAsnCMr9U7n27ky3BYBKDS
         4uOENZ69MQlZHNwNyBt9+QhZhMIxplqpvKEQ8=
MIME-Version: 1.0
Received: by 10.231.20.1 with SMTP id d1mr2553249ibb.19.1235779015438; Fri, 27 
	Feb 2009 15:56:55 -0800 (PST)
In-Reply-To: <E1LdCCv-0000nS-Gv@HIDDEN>
References: <uzlg8p2e6.fsf@HIDDEN> <E1LdCCv-0000nS-Gv@HIDDEN>
Date: Sat, 28 Feb 2009 00:56:55 +0100
Message-ID: <e01d8a50902271556t23b4c8c2p3c06eff0f564c79e@HIDDEN>
Subject: Re: bug#2473: usability issues on emacs's describe-mode
From: Lennart Borgman <lennart.borgman@HIDDEN>
To: rms@HIDDEN, 2473 <at> debbugs.gnu.org
Cc: Eli Zaretskii <eliz@HIDDEN>, xah@HIDDEN
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Sat, Feb 28, 2009 at 12:33 AM, Richard M Stallman <rms@HIDDEN> wrote:
> =C2=A0 =C2=A0I see a 3rd way: make the buffer present an expandable list =
of modes,
> =C2=A0 =C2=A0starting with just 2 items: the current major modes and "min=
or modes",
> =C2=A0 =C2=A0e.g. similar to what we do in Speedbar, or maybe in Outline =
Mode
> =C2=A0 =C2=A0(under "Hide Sublevels"). =C2=A0In ASCII art:
>
> =C2=A0 =C2=A0 =C2=A0+ Major Mode: RMAIL Mode
> =C2=A0 =C2=A0 =C2=A0+ Minor Modes
>
> Using hiding is a good idea -- thanks.
>
> I think that partcular way would be inconvenient. =C2=A0Specifically, it
> would be a hassle to initially hide the major mode documentation.
> That is what users most often want to see; making them type a command
> to expose it would be a gratuitous hassle.
>
> So I suggest putting the partly-hidden minor mode list first,
> followed by the totally visible major mode documentation.


Maybe, but then make the major mode "node" hideable too.




Acknowledgement sent to Lennart Borgman <lennart.borgman@HIDDEN>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs@HIDDEN>. Full text available.
Information forwarded to bug-submit-list@HIDDEN, Emacs Bugs <bug-gnu-emacs@HIDDEN>:
bug#2473; Package emacs. Full text available.

Message received at 2473@HIDDEN:


Received: (at 2473) by emacsbugs.donarmstrong.com; 27 Feb 2009 23:35:53 +0000
From rms@HIDDEN Fri Feb 27 15:35:52 2009
X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02
	(2008-06-10) on rzlab.ucr.edu
X-Spam-Level: 
X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available.
	hammytokens:Tokens not available.
X-Spam-Status: No, score=-3.0 required=4.0 tests=HAS_BUG_NUMBER autolearn=ham
	version=3.2.5-bugs.debian.org_2005_01_02
Received: from fencepost.gnu.org (fencepost.gnu.org [140.186.70.10])
	by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n1RNZnhL012168
	for <2473@HIDDEN>; Fri, 27 Feb 2009 15:35:51 -0800
Received: from rms by fencepost.gnu.org with local (Exim 4.67)
	(envelope-from <rms@HIDDEN>)
	id 1LdCCv-0000nS-Gv; Fri, 27 Feb 2009 18:33:29 -0500
Content-Type: text/plain; charset=ISO-8859-15
From: Richard M Stallman <rms@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
CC: 2473 <at> debbugs.gnu.org, xah@HIDDEN
In-reply-to: <uzlg8p2e6.fsf@HIDDEN> (message from Eli Zaretskii on Fri, 27
	Feb 2009 13:04:01 +0200)
Subject: Re: bug#2473: usability issues on emacs's describe-mode
Reply-to: rms@HIDDEN
References:  <uzlg8p2e6.fsf@HIDDEN>
Message-Id: <E1LdCCv-0000nS-Gv@HIDDEN>
Date: Fri, 27 Feb 2009 18:33:29 -0500

    I see a 3rd way: make the buffer present an expandable list of modes,
    starting with just 2 items: the current major modes and "minor modes",
    e.g. similar to what we do in Speedbar, or maybe in Outline Mode
    (under "Hide Sublevels").  In ASCII art:

      + Major Mode: RMAIL Mode
      + Minor Modes

Using hiding is a good idea -- thanks.

I think that partcular way would be inconvenient.  Specifically, it
would be a hassle to initially hide the major mode documentation.
That is what users most often want to see; making them type a command
to expose it would be a gratuitous hassle.

So I suggest putting the partly-hidden minor mode list first,
followed by the totally visible major mode documentation.





Acknowledgement sent to rms@HIDDEN:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs@HIDDEN>. Full text available.
Information forwarded to bug-submit-list@HIDDEN, Emacs Bugs <bug-gnu-emacs@HIDDEN>:
bug#2473; Package emacs. Full text available.

Message received at 2473@HIDDEN:


Received: (at 2473) by emacsbugs.donarmstrong.com; 27 Feb 2009 15:19:58 +0000
From drew.adams@HIDDEN Fri Feb 27 07:19:58 2009
X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02
	(2008-06-10) on rzlab.ucr.edu
X-Spam-Level: 
X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available.
	hammytokens:Tokens not available.
X-Spam-Status: No, score=-2.9 required=4.0 tests=FOURLA,HAS_BUG_NUMBER
	autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02
Received: from rgminet13.oracle.com (rcsinet13.oracle.com [148.87.113.125])
	by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n1RFJsUf026707
	for <2473@HIDDEN>; Fri, 27 Feb 2009 07:19:55 -0800
Received: from rgminet15.oracle.com (rcsinet15.oracle.com [148.87.113.117])
	by rgminet13.oracle.com (Switch-3.3.1/Switch-3.3.1) with ESMTP id n1RFKrqZ021047
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 27 Feb 2009 15:20:54 GMT
Received: from acsmt707.oracle.com (acsmt707.oracle.com [141.146.40.85])
	by rgminet15.oracle.com (Switch-3.3.1/Switch-3.3.1) with ESMTP id n1RFJknt015778;
	Fri, 27 Feb 2009 15:19:47 GMT
Received: from dradamslap1 (/141.144.72.147)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Fri, 27 Feb 2009 15:19:41 +0000
From: "Drew Adams" <drew.adams@HIDDEN>
To: "'Lennart Borgman'" <lennart.borgman@HIDDEN>,
        <2473 <at> debbugs.gnu.org>, "'Eli Zaretskii'" <eliz@HIDDEN>
Cc: <xah@HIDDEN>, <rms@HIDDEN>
References: <3FD7E241-BEE3-43D6-B7F6-79A3758562FB@HIDDEN><E1Lczg9-0006xy-C8@HIDDEN> <uzlg8p2e6.fsf@HIDDEN> <e01d8a50902270331l1073f82ft53f8b62eafd98448@HIDDEN>
Subject: RE: bug#2473: usability issues on emacs's describe-mode
Date: Fri, 27 Feb 2009 07:19:39 -0800
Message-ID: <000401c998ee$d098e810$0200a8c0@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Office Outlook 11
Thread-Index: AcmY0QsvyUDDJTr5QRuZ+iMiFBwBBQAHJBlw
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3350
In-Reply-To: <e01d8a50902270331l1073f82ft53f8b62eafd98448@HIDDEN>
X-Source-IP: acsmt707.oracle.com [141.146.40.85]
X-Auth-Type: Internal IP
X-CT-RefId: str=0001.0A090202.49A80492.001B:SCFSTAT928724,ss=1,fgs=0

> > make the buffer present an expandable list of modes,
> > starting with just 2 items: the current major modes and=20
> > "minor modes", e.g. similar to what we do in Speedbar, or
> > maybe in Outline Mode (under "Hide Sublevels"). =A0In ASCII art:
> >
> > =A0+ Major Mode: RMAIL Mode
> > =A0+ Minor Modes
> >
> > Clicking on a plus near Major Mode would then expand to the text we
> > currently show for that major mode, for example:
> >
> > =A0- Major Mode: RMAIL mode
> > =A0 =A0 =A0 =A0 Rmail Mode is used by M-x rmail for editing Rmail =
files.
> > =A0 =A0 =A0 =A0 All normal editing commands are turned off.
> > =A0 =A0 =A0 =A0 Instead, these commands are available:
> >
> > =A0 =A0 =A0 =A0 . =A0 =A0Move point to front of this message.
> > =A0 =A0 =A0 =A0 / =A0 =A0Move point to bottom of this message.
> > =A0 =A0 =A0 =A0 SPC =A0Scroll to next screen of this message.
> > =A0 =A0 =A0 =A0 DEL =A0Scroll to previous screen of this message.
> > =A0 =A0 =A0 =A0 n =A0 =A0Move to Next non-deleted message.
> > =A0 =A0 =A0 =A0 p =A0 =A0Move to Previous non-deleted message.
> >
> > =A0+ Minor Modes
> >
> > Clicking on "Minor Modes" would show only the list of modes=20
> > with short descriptions:
> >
> > =A0- Minor Modes:
> > =A0 =A0+ Auto-Compression -- automatic file compression and=20
> >                          uncompression.
> > =A0 =A0+ Blink-Cursor -- blink cursor in current window.
> > =A0 =A0+ Desktop-Save -- save Emacs session on exit.
> > =A0 =A0+ Display-Time -- display time, load average, and mail=20
> >                      flag in modeline.
> > =A0 =A0+ File-Name-Shadow -- shadow ignored part of file name=20
> >                          in minibuffer.
> >
> > etc., you get the picture. =A0(We could also have a tooltip=20
> > on each line showing more info for that mode.) =A0Clicking on
> > any of the plus signs near a minor mode would display the
> > full documentation for that minor
> > mode, the one we show today unconditionally.
> >
> > This way, the user will be able to expand only the modes she is
> > interested in. =A0Using the short description, the user will=20
> > be able to find out what is/are the modes she is interested in,
> > if she doesn't know that in advance.
> >
> > For more functionality, we could add buttons and/or help-echo
> > links to go to the manual where the mode is fully described.
> >
> > WDYT?
>=20
> A very good suggestion.

Sounds good to me, too.

Actually, we've been around this block before. This discussion 5 years =
ago:
http://lists.gnu.org/archive/html/emacs-devel/2004-05/msg00275.html
seemed to end with people agreeing that we should show the major mode
information and provide links to show the info for each minor mode (in =
*Help*).
But no one ever implemented it.

The current suggestion is better in these related ways:
* You can print all mode info at once (with ^L acting as page =
separator).
* You can show the info for more than one minor mode at a time, in case
comparison helps.

But of course agreement will not (again) mean anything if no one ever =
implements
it.






Acknowledgement sent to "Drew Adams" <drew.adams@HIDDEN>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs@HIDDEN>. Full text available.
Information forwarded to bug-submit-list@HIDDEN, Emacs Bugs <bug-gnu-emacs@HIDDEN>:
bug#2473; Package emacs. Full text available.

Message received at 2473@HIDDEN:


Received: (at 2473) by emacsbugs.donarmstrong.com; 27 Feb 2009 11:31:33 +0000
From lennart.borgman@HIDDEN Fri Feb 27 03:31:33 2009
X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02
	(2008-06-10) on rzlab.ucr.edu
X-Spam-Level: 
X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available.
	hammytokens:Tokens not available.
X-Spam-Status: No, score=-2.9 required=4.0 tests=FOURLA,HAS_BUG_NUMBER
	autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02
Received: from yw-out-2324.google.com (yw-out-2324.google.com [74.125.46.29])
	by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n1RBVTDh026832
	for <2473@HIDDEN>; Fri, 27 Feb 2009 03:31:31 -0800
Received: by yw-out-2324.google.com with SMTP id 5so749389ywb.31
        for <2473@HIDDEN>; Fri, 27 Feb 2009 03:31:29 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=gamma;
        h=domainkey-signature:mime-version:received:in-reply-to:references
         :date:message-id:subject:from:to:cc:content-type
         :content-transfer-encoding;
        bh=7E1G/jGHb+ryUKL6ObU+vlrcHxWrcWIR3NiRAEO6iGc=;
        b=uaMtTdfER6Hto6C3pyIm4BOOn5UwGvCryyisK43yiN47MmPPNDnjtocbWNMFWxb6Mk
         fu5yecXUeX/VSXV3cGLp0WFV5E9IXpatwLnuJHl5W2JNJLLFnPVZh7F6RkAPd5FjiYlN
         wZxY3JXXe+3MBg2ICJ91ZAnXD3I1vU6l2BC94=
DomainKey-Signature: a=rsa-sha1; c=nofws;
        d=gmail.com; s=gamma;
        h=mime-version:in-reply-to:references:date:message-id:subject:from:to
         :cc:content-type:content-transfer-encoding;
        b=DeECpbfYtITH3xAviFM3LZSaiKmw9T1VcX5yOuT4Y5Xpb4zbU11Mgw4xjfIPZp2vrm
         W/mDGh4JTCS/BO4l9DBNJCZ0y8kYBEIf1rK8y+It82B2MrufoWdtZ5LjXvrDLHXBEbpl
         QxtYmVDb6wTDsqzzbRj2qIB2MezPoojW2Jg6k=
MIME-Version: 1.0
Received: by 10.231.20.65 with SMTP id e1mr2349557ibb.1.1235734289166; Fri, 27 
	Feb 2009 03:31:29 -0800 (PST)
In-Reply-To: <uzlg8p2e6.fsf@HIDDEN>
References: <3FD7E241-BEE3-43D6-B7F6-79A3758562FB@HIDDEN>
	 <E1Lczg9-0006xy-C8@HIDDEN> <uzlg8p2e6.fsf@HIDDEN>
Date: Fri, 27 Feb 2009 12:31:29 +0100
Message-ID: <e01d8a50902270331l1073f82ft53f8b62eafd98448@HIDDEN>
Subject: Re: bug#2473: usability issues on emacs's describe-mode
From: Lennart Borgman <lennart.borgman@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>, 2473 <at> debbugs.gnu.org
Cc: rms@HIDDEN, xah@HIDDEN
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Fri, Feb 27, 2009 at 12:04 PM, Eli Zaretskii <eliz@HIDDEN> wrote:
>> I do see two ways to improve this:
>
> I see a 3rd way: make the buffer present an expandable list of modes,
> starting with just 2 items: the current major modes and "minor modes",
> e.g. similar to what we do in Speedbar, or maybe in Outline Mode
> (under "Hide Sublevels"). =C2=A0In ASCII art:
>
> =C2=A0+ Major Mode: RMAIL Mode
> =C2=A0+ Minor Modes
>
> Clicking on a plus near Major Mode would then expand to the text we
> currently show for that major mode, for example:
>
> =C2=A0- Major Mode: RMAIL mode
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 Rmail Mode is used by M-x rmail for editing R=
mail files.
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 All normal editing commands are turned off.
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 Instead, these commands are available:
>
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 . =C2=A0 =C2=A0Move point to front of this me=
ssage.
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 / =C2=A0 =C2=A0Move point to bottom of this m=
essage.
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 SPC =C2=A0Scroll to next screen of this messa=
ge.
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 DEL =C2=A0Scroll to previous screen of this m=
essage.
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 n =C2=A0 =C2=A0Move to Next non-deleted messa=
ge.
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 p =C2=A0 =C2=A0Move to Previous non-deleted m=
essage.
>
> =C2=A0+ Minor Modes
>
> Clicking on "Minor Modes" would show only the list of modes with short
> descriptions:
>
> =C2=A0- Minor Modes:
> =C2=A0 =C2=A0+ Auto-Compression -- automatic file compression and uncompr=
ession.
> =C2=A0 =C2=A0+ Blink-Cursor -- blink cursor in current window.
> =C2=A0 =C2=A0+ Desktop-Save -- save Emacs session on exit.
> =C2=A0 =C2=A0+ Display-Time -- display time, load average, and mail flag =
in modeline.
> =C2=A0 =C2=A0+ File-Name-Shadow -- shadow ignored part of file name in mi=
nibuffer.
>
> etc., you get the picture. =C2=A0(We could also have a tooltip on each li=
ne
> showing more info for that mode.) =C2=A0Clicking on any of the plus signs
> near a minor mode would display the full documentation for that minor
> mode, the one we show today unconditionally.
>
> This way, the user will be able to expand only the modes she is
> interested in. =C2=A0Using the short description, the user will be able t=
o
> find out what is/are the modes she is interested in, if she doesn't
> know that in advance.
>
> For more functionality, we could add buttons and/or help-echo links to
> go to the manual where the mode is fully described.
>
> WDYT?

A very good suggestion.




Acknowledgement sent to Lennart Borgman <lennart.borgman@HIDDEN>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs@HIDDEN>. Full text available.
Information forwarded to bug-submit-list@HIDDEN, Emacs Bugs <bug-gnu-emacs@HIDDEN>:
bug#2473; Package emacs. Full text available.

Message received at 2473@HIDDEN:


Received: (at 2473) by emacsbugs.donarmstrong.com; 27 Feb 2009 11:04:09 +0000
From eliz@HIDDEN Fri Feb 27 03:04:09 2009
X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02
	(2008-06-10) on rzlab.ucr.edu
X-Spam-Level: 
X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available.
	hammytokens:Tokens not available.
X-Spam-Status: No, score=-2.9 required=4.0 tests=FOURLA,HAS_BUG_NUMBER
	autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02
Received: from mtaout2.012.net.il (mtaout2.012.net.il [84.95.2.4])
	by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n1RB45K2018346
	for <2473@HIDDEN>; Fri, 27 Feb 2009 03:04:06 -0800
Received: from conversion-daemon.i_mtaout2.012.net.il by i_mtaout2.012.net.il (HyperSendmail v2004.12) id <0KFQ00E001ALAS00@i_mtaout2.012.net.il> for 2473@HIDDEN; Fri, 27 Feb 2009 13:04:35 +0200 (IST)
Received: from HOME-C4E4A596F7 ([77.127.167.119]) by i_mtaout2.012.net.il (HyperSendmail v2004.12) with ESMTPA id <0KFQ00GM41FMUHM0@i_mtaout2.012.net.il>; Fri, 27 Feb 2009 13:04:35 +0200 (IST)
Date: Fri, 27 Feb 2009 13:04:01 +0200
From: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#2473: usability issues on emacs's describe-mode
In-reply-to: <E1Lczg9-0006xy-C8@HIDDEN>
X-012-Sender: halo1@HIDDEN
To: rms@HIDDEN, 2473 <at> debbugs.gnu.org
Cc: xah@HIDDEN
Reply-to: Eli Zaretskii <eliz@HIDDEN>
Message-id: <uzlg8p2e6.fsf@HIDDEN>
References: <3FD7E241-BEE3-43D6-B7F6-79A3758562FB@HIDDEN> <E1Lczg9-0006xy-C8@HIDDEN>

> From: Richard M Stallman <rms@HIDDEN>
> Date: Fri, 27 Feb 2009 05:10:49 -0500
> Cc: bug-gnu-emacs@HIDDEN
> 
> We list the minor mode info here as well as the major mode info,
> because otherwise we would need a separate command to give info about
> them, and that would be burdensome in another way.  The way we present
> it is the best possible compromise between the various goals.  It
> gives the minor mode info in brief form at the front, but puts most of
> it at the end, out of the way.
> 
> I do see two ways to improve this:

I see a 3rd way: make the buffer present an expandable list of modes,
starting with just 2 items: the current major modes and "minor modes",
e.g. similar to what we do in Speedbar, or maybe in Outline Mode
(under "Hide Sublevels").  In ASCII art:

  + Major Mode: RMAIL Mode
  + Minor Modes

Clicking on a plus near Major Mode would then expand to the text we
currently show for that major mode, for example:

  - Major Mode: RMAIL mode
	 Rmail Mode is used by M-x rmail for editing Rmail files.
	 All normal editing commands are turned off.
	 Instead, these commands are available:

	 .    Move point to front of this message.
	 /    Move point to bottom of this message.
	 SPC  Scroll to next screen of this message.
	 DEL  Scroll to previous screen of this message.
	 n    Move to Next non-deleted message.
	 p    Move to Previous non-deleted message.

  + Minor Modes

Clicking on "Minor Modes" would show only the list of modes with short
descriptions:

  - Minor Modes:
    + Auto-Compression -- automatic file compression and uncompression.
    + Blink-Cursor -- blink cursor in current window.
    + Desktop-Save -- save Emacs session on exit.
    + Display-Time -- display time, load average, and mail flag in modeline.
    + File-Name-Shadow -- shadow ignored part of file name in minibuffer.

etc., you get the picture.  (We could also have a tooltip on each line
showing more info for that mode.)  Clicking on any of the plus signs
near a minor mode would display the full documentation for that minor
mode, the one we show today unconditionally.

This way, the user will be able to expand only the modes she is
interested in.  Using the short description, the user will be able to
find out what is/are the modes she is interested in, if she doesn't
know that in advance.

For more functionality, we could add buttons and/or help-echo links to
go to the manual where the mode is fully described.

WDYT?




Acknowledgement sent to Eli Zaretskii <eliz@HIDDEN>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs@HIDDEN>. Full text available.
Information forwarded to bug-submit-list@HIDDEN, Emacs Bugs <bug-gnu-emacs@HIDDEN>:
bug#2473; Package emacs. Full text available.

Message received at 2473@HIDDEN:


Received: (at 2473) by emacsbugs.donarmstrong.com; 27 Feb 2009 10:13:12 +0000
From rms@HIDDEN Fri Feb 27 02:13:12 2009
X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02
	(2008-06-10) on rzlab.ucr.edu
X-Spam-Level: 
X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available.
	hammytokens:Tokens not available.
X-Spam-Status: No, score=-3.0 required=4.0 tests=HAS_BUG_NUMBER autolearn=ham
	version=3.2.5-bugs.debian.org_2005_01_02
Received: from fencepost.gnu.org (fencepost.gnu.org [140.186.70.10])
	by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n1RAD9Ot004914
	for <2473@HIDDEN>; Fri, 27 Feb 2009 02:13:10 -0800
Received: from rms by fencepost.gnu.org with local (Exim 4.67)
	(envelope-from <rms@HIDDEN>)
	id 1Lczg9-0006xy-C8; Fri, 27 Feb 2009 05:10:49 -0500
Content-Type: text/plain; charset=ISO-8859-15
From: Richard M Stallman <rms@HIDDEN>
To: xah lee <xah@HIDDEN>, 2473 <at> debbugs.gnu.org
CC: bug-gnu-emacs@HIDDEN
In-reply-to: <3FD7E241-BEE3-43D6-B7F6-79A3758562FB@HIDDEN> (message from
	xah lee on Wed, 25 Feb 2009 11:40:24 -0800)
Subject: Re: bug#2473: usability issues on emacs's describe-mode
Reply-to: rms@HIDDEN
References:  <3FD7E241-BEE3-43D6-B7F6-79A3758562FB@HIDDEN>
Message-Id: <E1Lczg9-0006xy-C8@HIDDEN>
Date: Fri, 27 Feb 2009 05:10:49 -0500

    Most of the minor modes, filled with emacs-specific technicalities  
    and terminologies, are not something emacs users need to know daily.  
    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.

YOU enabled a lot of those minor modes.
Here's what I get in emacs -Q:

    Enabled minor modes: Auto-Composition Auto-Compression Auto-Encryption
    File-Name-Shadow Font-Lock Global-Auto-Composition Global-Font-Lock
    Gpm-Mouse Line-Number Menu-Bar Tool-Bar Tooltip Transient-Mark

    (Information about these minor modes follows the major mode info.)
 
I don't think that list is going to make it hard for anyone to keep
reading.  You're making a mountain out of a molehill.

    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,  

These are at the END.  When the user sees them, she has already read
the info on the major mode, and she knows it.  She will only try to read
about the minor modes if she is curious about them.

We list the minor mode info here as well as the major mode info,
because otherwise we would need a separate command to give info about
them, and that would be burdensome in another way.  The way we present
it is the best possible compromise between the various goals.  It
gives the minor mode info in brief form at the front, but puts most of
it at the end, out of the way.

I do see two ways to improve this:

* Most minor mode doc strings include a standard explanation of what
the argument means.  We could include one copy of that standard
explanation at the front of the list of minor mode doc strings, and
then delete it from each of the individual doc strings, leaving just
the explanation of what the mode means.

* Some of these modes which are now enabled by default could perhaps
be eliminated, leaving them only as options, or perhaps removing them
entirely.  That would shorten the list of enabled minor modes and make
what remains more interesting.

For instance, do we need to have Auto Compression mode as a minor
mode?  If you want to examine one compressed file without
uncompressing it, it is easier to use find-file-literally.  I think it
is only for debugging that one would ever disable use Auto Compression
mode.  For that purpose, a No Auto Compression mode would be just as
good, or perhaps a No File Handlers mode.

Here are other default-on minor modes we should perhaps eliminate as
modes:

Auto-Composition Auto-Encryption File-Name-Shadow
Global-Auto-Composition Gpm-Mouse Line-Number Tooltip




Acknowledgement sent to rms@HIDDEN:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs@HIDDEN>. Full text available.
Information forwarded to bug-submit-list@HIDDEN, Emacs Bugs <bug-gnu-emacs@HIDDEN>:
bug#2473; Package emacs. Full text available.

Message received at submit@HIDDEN:


Received: (at submit) by emacsbugs.donarmstrong.com; 27 Feb 2009 10:13:14 +0000
From rms@HIDDEN Fri Feb 27 02:13:14 2009
X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02
	(2008-06-10) on rzlab.ucr.edu
X-Spam-Level: 
X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available.
	hammytokens:Tokens not available.
X-Spam-Status: No, score=-3.0 required=4.0 tests=HAS_BUG_NUMBER
	autolearn=unavailable version=3.2.5-bugs.debian.org_2005_01_02
Received: from lists.gnu.org (lists.gnu.org [199.232.76.165])
	by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n1RADBhY004917
	for <submit@HIDDEN>; Fri, 27 Feb 2009 02:13:12 -0800
Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43)
	id 1LcziQ-0006pW-Ep
	for bug-gnu-emacs@HIDDEN; Fri, 27 Feb 2009 05:13:10 -0500
Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43)
	id 1LcziO-0006ot-M5
	for bug-gnu-emacs@HIDDEN; Fri, 27 Feb 2009 05:13:08 -0500
Received: from [199.232.76.173] (port=44583 helo=monty-python.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.43)
	id 1LcziO-0006oq-Cw
	for bug-gnu-emacs@HIDDEN; Fri, 27 Feb 2009 05:13:08 -0500
Received: from fencepost.gnu.org ([140.186.70.10]:55201)
	by monty-python.gnu.org with esmtp (Exim 4.60)
	(envelope-from <rms@HIDDEN>)
	id 1LcziO-000256-2t
	for bug-gnu-emacs@HIDDEN; Fri, 27 Feb 2009 05:13:08 -0500
Received: from rms by fencepost.gnu.org with local (Exim 4.67)
	(envelope-from <rms@HIDDEN>)
	id 1Lczg9-0006xy-C8; Fri, 27 Feb 2009 05:10:49 -0500
Content-Type: text/plain; charset=ISO-8859-15
From: Richard M Stallman <rms@HIDDEN>
To: xah lee <xah@HIDDEN>, 2473 <at> debbugs.gnu.org
CC: bug-gnu-emacs@HIDDEN
In-reply-to: <3FD7E241-BEE3-43D6-B7F6-79A3758562FB@HIDDEN> (message from
	xah lee on Wed, 25 Feb 2009 11:40:24 -0800)
Subject: Re: bug#2473: usability issues on emacs's describe-mode
Reply-to: rms@HIDDEN
References: <3FD7E241-BEE3-43D6-B7F6-79A3758562FB@HIDDEN>
Message-Id: <E1Lczg9-0006xy-C8@HIDDEN>
Date: Fri, 27 Feb 2009 05:10:49 -0500
X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4)
X-CrossAssassin-Score: 2

    Most of the minor modes, filled with emacs-specific technicalities  
    and terminologies, are not something emacs users need to know daily.  
    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.

YOU enabled a lot of those minor modes.
Here's what I get in emacs -Q:

    Enabled minor modes: Auto-Composition Auto-Compression Auto-Encryption
    File-Name-Shadow Font-Lock Global-Auto-Composition Global-Font-Lock
    Gpm-Mouse Line-Number Menu-Bar Tool-Bar Tooltip Transient-Mark

    (Information about these minor modes follows the major mode info.)
 
I don't think that list is going to make it hard for anyone to keep
reading.  You're making a mountain out of a molehill.

    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,  

These are at the END.  When the user sees them, she has already read
the info on the major mode, and she knows it.  She will only try to read
about the minor modes if she is curious about them.

We list the minor mode info here as well as the major mode info,
because otherwise we would need a separate command to give info about
them, and that would be burdensome in another way.  The way we present
it is the best possible compromise between the various goals.  It
gives the minor mode info in brief form at the front, but puts most of
it at the end, out of the way.

I do see two ways to improve this:

* Most minor mode doc strings include a standard explanation of what
the argument means.  We could include one copy of that standard
explanation at the front of the list of minor mode doc strings, and
then delete it from each of the individual doc strings, leaving just
the explanation of what the mode means.

* Some of these modes which are now enabled by default could perhaps
be eliminated, leaving them only as options, or perhaps removing them
entirely.  That would shorten the list of enabled minor modes and make
what remains more interesting.

For instance, do we need to have Auto Compression mode as a minor
mode?  If you want to examine one compressed file without
uncompressing it, it is easier to use find-file-literally.  I think it
is only for debugging that one would ever disable use Auto Compression
mode.  For that purpose, a No Auto Compression mode would be just as
good, or perhaps a No File Handlers mode.

Here are other default-on minor modes we should perhaps eliminate as
modes:

Auto-Composition Auto-Encryption File-Name-Shadow
Global-Auto-Composition Gpm-Mouse Line-Number Tooltip





Acknowledgement sent to rms@HIDDEN:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs@HIDDEN>. Full text available.
Information forwarded to bug-submit-list@HIDDEN, Emacs Bugs <bug-gnu-emacs@HIDDEN>:
bug#2473; Package emacs. Full text available.

Message received at 2473@HIDDEN:


Received: (at 2473) by emacsbugs.donarmstrong.com; 26 Feb 2009 15:15:38 +0000
From monnier@HIDDEN Thu Feb 26 07:15:38 2009
X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02
	(2008-06-10) on rzlab.ucr.edu
X-Spam-Level: 
X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available.
	hammytokens:Tokens not available.
X-Spam-Status: No, score=-0.4 required=4.0 tests=FOURLA,HAS_BUG_NUMBER,
	XIRONPORT autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02
Received: from ironport2-out.teksavvy.com (ironport2-out.pppoe.ca [206.248.154.182])
	by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n1QFFZcd029360
	for <2473@HIDDEN>; Thu, 26 Feb 2009 07:15:36 -0800
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AgsFAP9ApklFxKYM/2dsb2JhbACBb9d+hBEGg2Y
X-IronPort-AV: E=Sophos;i="4.38,271,1233550800"; 
   d="scan'208";a="34437990"
Received: from 69-196-166-12.dsl.teksavvy.com (HELO pastel.home) ([69.196.166.12])
  by ironport2-out.teksavvy.com with ESMTP; 26 Feb 2009 10:15:29 -0500
Received: by pastel.home (Postfix, from userid 20848)
	id 649579114; Thu, 26 Feb 2009 10:15:28 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: xah lee <xah@HIDDEN>
Cc: 2473 <at> debbugs.gnu.org, bug-gnu-emacs@HIDDEN
Subject: Re: bug#2473: usability issues on emacs's describe-mode
Message-ID: <jwvtz6hdyil.fsf-monnier+emacsbugreports@HIDDEN>
References: <3FD7E241-BEE3-43D6-B7F6-79A3758562FB@HIDDEN>
Date: Thu, 26 Feb 2009 10:15:28 -0500
In-Reply-To: <3FD7E241-BEE3-43D6-B7F6-79A3758562FB@HIDDEN> (xah lee's
	message of "Wed, 25 Feb 2009 11:40:24 -0800")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.90 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

> For example, when in w3m mode, which is a mode that allows you to browse =
the
> web pages, i type =E2=80=9CCtrl+h m=E2=80=9D to read the online doc  abou=
t 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.)

> It began by listing =E2=80=9Cminor-modes=E2=80=9D. (What Emacs calls =E2=
=80=9Cminor modes=E2=80=9D, is
> similar in concept to modern app's preference settings  and
> add-ons features.)

C-h m has historically listed both minor modes and major modes.
Originally, it listed first the major mode than the minor modes, and
people complained that the minor modes were buried and nobody could
notice them.  So we added a header like above to advertize the
minor-mode info that can be found further down.

OT1H I don't think it's as bad as you make it out to be: as you say, you
learn to ignore it, so it does what it's intended to do: teaches you of
the presence of the minor mode info without preventing you from seeing
the major mode info.

OTOH, I agree that many of the above modes shouldn't be there.
More specifically, I think that the above list should only list
buffer-specific information, i.e. only minor modes which are
buffer-local.

The global minor modes could still be present in the *Help* buffer, but
then only at the very end, after the major mode and after the
buffer-local minor modes.


        Stefan




Acknowledgement sent to Stefan Monnier <monnier@HIDDEN>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs@HIDDEN>. Full text available.
Information forwarded to bug-submit-list@HIDDEN, Emacs Bugs <bug-gnu-emacs@HIDDEN>:
bug#2473; Package emacs. Full text available.

Message received at submit@HIDDEN:


Received: (at submit) by emacsbugs.donarmstrong.com; 26 Feb 2009 15:15:41 +0000
From monnier@HIDDEN Thu Feb 26 07:15:41 2009
X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02
	(2008-06-10) on rzlab.ucr.edu
X-Spam-Level: 
X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available.
	hammytokens:Tokens not available.
X-Spam-Status: No, score=-0.4 required=4.0 tests=FOURLA,HAS_BUG_NUMBER,
	XIRONPORT autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02
Received: from lists.gnu.org (lists.gnu.org [199.232.76.165])
	by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n1QFFYFH029361
	for <submit@HIDDEN>; Thu, 26 Feb 2009 07:15:35 -0800
Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43)
	id 1LchxU-00020A-W3
	for bug-gnu-emacs@HIDDEN; Thu, 26 Feb 2009 10:15:33 -0500
Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43)
	id 1LchxS-0001vr-Fi
	for bug-gnu-emacs@HIDDEN; Thu, 26 Feb 2009 10:15:32 -0500
Received: from [199.232.76.173] (port=37902 helo=monty-python.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.43)
	id 1LchxS-0001vW-48
	for bug-gnu-emacs@HIDDEN; Thu, 26 Feb 2009 10:15:30 -0500
Received: from ironport2-out.teksavvy.com ([206.248.154.182]:54289)
	by monty-python.gnu.org with esmtp (Exim 4.60)
	(envelope-from <monnier@HIDDEN>)
	id 1LchxR-0001Am-TB
	for bug-gnu-emacs@HIDDEN; Thu, 26 Feb 2009 10:15:30 -0500
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AgsFAP9ApklFxKYM/2dsb2JhbACBb9d+hBEGg2Y
X-IronPort-AV: E=Sophos;i="4.38,271,1233550800"; 
   d="scan'208";a="34437990"
Received: from 69-196-166-12.dsl.teksavvy.com (HELO pastel.home) ([69.196.166.12])
  by ironport2-out.teksavvy.com with ESMTP; 26 Feb 2009 10:15:29 -0500
Received: by pastel.home (Postfix, from userid 20848)
	id 649579114; Thu, 26 Feb 2009 10:15:28 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: xah lee <xah@HIDDEN>
Cc: 2473 <at> debbugs.gnu.org, bug-gnu-emacs@HIDDEN
Subject: Re: bug#2473: usability issues on emacs's describe-mode
Message-ID: <jwvtz6hdyil.fsf-monnier+emacsbugreports@HIDDEN>
References: <3FD7E241-BEE3-43D6-B7F6-79A3758562FB@HIDDEN>
Date: Thu, 26 Feb 2009 10:15:28 -0500
In-Reply-To: <3FD7E241-BEE3-43D6-B7F6-79A3758562FB@HIDDEN> (xah lee's
	message of "Wed, 25 Feb 2009 11:40:24 -0800")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.90 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized.

> For example, when in w3m mode, which is a mode that allows you to browse =
the
> web pages, i type =E2=80=9CCtrl+h m=E2=80=9D to read the online doc  abou=
t 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.)

> It began by listing =E2=80=9Cminor-modes=E2=80=9D. (What Emacs calls =E2=
=80=9Cminor modes=E2=80=9D, is
> similar in concept to modern app's preference settings  and
> add-ons features.)

C-h m has historically listed both minor modes and major modes.
Originally, it listed first the major mode than the minor modes, and
people complained that the minor modes were buried and nobody could
notice them.  So we added a header like above to advertize the
minor-mode info that can be found further down.

OT1H I don't think it's as bad as you make it out to be: as you say, you
learn to ignore it, so it does what it's intended to do: teaches you of
the presence of the minor mode info without preventing you from seeing
the major mode info.

OTOH, I agree that many of the above modes shouldn't be there.
More specifically, I think that the above list should only list
buffer-specific information, i.e. only minor modes which are
buffer-local.

The global minor modes could still be present in the *Help* buffer, but
then only at the very end, after the major mode and after the
buffer-local minor modes.


        Stefan





Acknowledgement sent to Stefan Monnier <monnier@HIDDEN>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs@HIDDEN>. Full text available.
Information forwarded to bug-submit-list@HIDDEN, Emacs Bugs <bug-gnu-emacs@HIDDEN>:
bug#2473; Package emacs. Full text available.
Severity set to `wishlist' from `normal' Request was from Glenn Morris <rgm@HIDDEN> to control@HIDDEN. Full text available.

Message received at submit@HIDDEN:


Received: (at submit) by emacsbugs.donarmstrong.com; 25 Feb 2009 19:41:31 +0000
From xah@HIDDEN Wed Feb 25 11:41:31 2009
X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02
	(2008-06-10) on rzlab.ucr.edu
X-Spam-Level: 
X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available.
	hammytokens:Tokens not available.
X-Spam-Status: No, score=0.0 required=4.0 tests=none autolearn=ham
	version=3.2.5-bugs.debian.org_2005_01_02
Received: from lists.gnu.org (lists.gnu.org [199.232.76.165])
	by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n1PJfQ1V024297
	for <submit@HIDDEN>; Wed, 25 Feb 2009 11:41:27 -0800
Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43)
	id 1LcPdF-0002is-FP
	for bug-gnu-emacs@HIDDEN; Wed, 25 Feb 2009 14:41:25 -0500
Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43)
	id 1LcPdA-0002gx-2u
	for bug-gnu-emacs@HIDDEN; Wed, 25 Feb 2009 14:41:24 -0500
Received: from [199.232.76.173] (port=41663 helo=monty-python.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.43)
	id 1LcPd9-0002gr-PP
	for bug-gnu-emacs@HIDDEN; Wed, 25 Feb 2009 14:41:19 -0500
Received: from mx20.gnu.org ([199.232.41.8]:53785)
	by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32)
	(Exim 4.60)
	(envelope-from <xah@HIDDEN>)
	id 1LcPd9-0005ay-5e
	for bug-gnu-emacs@HIDDEN; Wed, 25 Feb 2009 14:41:19 -0500
Received: from mout.perfora.net ([74.208.4.195])
	by mx20.gnu.org with esmtp (Exim 4.60)
	(envelope-from <xah@HIDDEN>)
	id 1LcPcy-0008Gf-Nm
	for bug-gnu-emacs@HIDDEN; Wed, 25 Feb 2009 14:41:08 -0500
Received: from [192.168.1.3] (c-24-6-175-142.hsd1.ca.comcast.net [24.6.175.142])
	by mrelay.perfora.net (node=mrus1) with ESMTP (Nemesis)
	id 0MKpCa-1LcPcp3ODZ-0001DG; Wed, 25 Feb 2009 14:41:02 -0500
Mime-Version: 1.0 (Apple Message framework v753.1)
Content-Transfer-Encoding: quoted-printable
Message-Id: <3FD7E241-BEE3-43D6-B7F6-79A3758562FB@HIDDEN>
Content-Type: text/plain; charset=UTF-8; delsp=yes; format=flowed
To: bug-gnu-emacs@HIDDEN
From: xah lee <xah@HIDDEN>
Subject: usability issues on emacs's describe-mode
Date: Wed, 25 Feb 2009 11:40:24 -0800
X-Mailer: Apple Mail (2.753.1)
X-Provags-ID: V01U2FsdGVkX1/5SLyOczPE0nDtqNpOJDA+4VQNm9Hp8zF2RO9
 PdBjGky2hiv7pXPBpi4+d9jyX6eWbM9q/Gul7/m9hXJgAoRy+C
 7GU2WsG3muMZAQnTAP59A==
X-detected-kernel: by mx20.gnu.org: Genre and OS details not recognized.
X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4)

hi guys,

Some problem i think on emacs describe-mode.

   http://xahlee.org/emacs/modernization_mode_doc.html

Here's a plain text version. Following the text is some proposed code =20=

solution (beta) that fixes 2 of the issues.

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

Usability Problems Of Emacs's Mode Documentation

Xah Lee, 2009-02-06

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

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

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

For example, when in w3m mode, which is a mode that allows you to =20
browse the web pages, i type =E2=80=9CCtrl+h m=E2=80=9D to read the =
online doc =20
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-=20
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.)

It began by listing =E2=80=9Cminor-modes=E2=80=9D. (What Emacs calls =
=E2=80=9Cminor =20
modes=E2=80=9D, is similar in concept to modern app's preference =
settings =20
and add-ons features.)

Here's a excerpt of the minor mode doc that comes after the major =20
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, =20
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 =20
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.

Most of the minor modes, filled with emacs-specific technicalities =20
and terminologies, are not something emacs users need to know daily. =20
When user calls describe-mode, most of the time she really want to =20
know what functionality and shortcuts the major mode provides. But =20
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 =20=

have learned the habit not even seeing them. I imagine it is very =20
confusing to new emacs users.

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

Tooltip, Menu-Bar, Mouse-Wheel, Transient-Mark, Delete-Selection, =20
Font-Lock, Line-Number. Each of these is at least one paragraph long, =20=

and some are emacs's non-intuitive and weired tech jargons. For =20
example, the standard feature of having selected text highlighted, is =20=

in emacs called transient-mark-mode. The standard feature of typing =20
overriding selected text, is in emacs tech jargon called delete-=20
selection-mode. The standard feature of copy/cut/paste keys, is in =20
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 =20
user needs to be told of the fact he has mouse wheel support on? And =20
menu bar, tooltip, syntax highlighting? Do users need explanation =20
what these do too?

The emacs minor mode, also includes proper features such as: Show-=20
Paren, Recentf, Desktop-Save, Abbrev, Yas/Minor ... etc. For example, =20=

show-paren-mode highlight matching parenthesis. =E2=80=9Crecentf-mode=E2=80=
=9D =20
lets user open recently opened files. =E2=80=9Cdesktop-save-mode=E2=80=9D =
=20
preserves opened files when emacs restarts.

It is nice to be able to see what features are currently on, and what =20=

extra functionality it supports, but perhaps a separate command =20
describe-minor-modes would be better.

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

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

I think the major usability problem with describe-mode is the listing =20=

of minor modes. Though, the major mode's inline doc could also use =20
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.  =20
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 =20
to enter forms.
             You may use the prefix arg `2' or `C-u C-u' to make a =20
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 =20
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 =20=

charset and
              content type.

The notation for keyboard shortcuts, such as =E2=80=9CC-u C-u=E2=80=9D, =
=E2=80=9CRET=E2=80=9D, =20
are hard to read. It becomes more confusing when there are shortcuts =20
that doesn't use a modifier such as =E2=80=9CC t=E2=80=9D. The =
=E2=80=9C<mouse-2>=E2=80=9D =20
and =E2=80=9CS-kp-enter=E2=80=9D 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 =20
mode, if it exists. (the link may be to info doc, or call browse-url =20
to open a html doc on local disk, or to a url online of the mode's =20
doc website)
     * Get rid of convention of using ^L (ascii 12) for page break =20
marker.
     * Add a link at the bottom, to a page that shows inline doc of =20
minor modes.
     * Use curly quotes =E2=80=9C=E2=80=9D instead of the 1980's ascii =
kludge `'.

For detail about the key notation that adds up readability, see: =20
Emacs's M-=E2=80=B9key=E2=80=BA Notation vs Alt+=E2=80=B9key=E2=80=BA =
Notation.

The use of backtick char ` and single quote char ' for =E2=80=9Cmatching =
=20
quotes=E2=80=9D 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 =20
that the button rendering is used in the help files in MS Windows and =20=

Mac OS X too. And in Wikipedia's articles related to keys, it is also =20=

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 =E2=80=9C2=E2=80=9D or =E2=80=9CCtrl+u =
Ctrl+u=E2=80=9D to make =20
a new session.
     If w3m-use-form is t, =E2=80=9CEnter=E2=80=9D and =E2=80=9Cmouse =
middle button=E2=80=9D =20
enable you to enter forms.
     You may use the prefix arg =E2=80=9C2=E2=80=9D or =E2=80=9CCtrl+u =
Ctrl+u=E2=80=9D to make =20
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 =20=

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 =20=

charset and content type.


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

;; 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 =E2=80=9C^L=E2=80=9D as a horizontal line. =
Code by =20
S=C3=A9bastien 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=20=

\n"))

;; Display the =E2=80=9C^L=E2=80=9D 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 =20=

"^^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 =20
color
             ;; gray1 here is just a little different from black
             (overlay-put pdl 'face '(:underline "gray30" :background =20=

"gray1"))
             (overlay-put pdl 'modification-hooks
                          ;; these arguments are received from =20
modification-hooks
                          '((lambda (overlay after-p begin end =20
&optional length)
                              (delete-overlay overlay))))
             (overlay-put pdl 'insert-in-front-hooks
                          '((lambda (overlay after-p begin end =20
&optional length)
                              (delete-overlay overlay)))))) t)))))

   Xah
=E2=88=91 http://xahlee.org/

=E2=98=84=





Acknowledgement sent to xah lee <xah@HIDDEN>:
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs@HIDDEN>. Full text available.
Report forwarded to bug-submit-list@HIDDEN, Emacs Bugs <bug-gnu-emacs@HIDDEN>:
bug#2473; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 25 Nov 2019 12:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.