unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Alan Mackenzie <acm@muc.de>
Cc: help-gnu-emacs@gnu.org, emacs-devel@gnu.org
Subject: Re: List of major modes?
Date: Tue, 15 Nov 2005 10:22:01 +0000 (GMT)	[thread overview]
Message-ID: <Pine.LNX.3.96.1051115101604.273B-100000@acm.acm> (raw)
In-Reply-To: <dladqr$ptj$1@sea.gmane.org>



On Mon, 14 Nov 2005, Kevin Rodgers wrote:

>David Reitter wrote:
> > The following dynamic definition seems to "sort of" work.

> > (defun major-modes ()
> >  (apropos-internal "-mode\\'"
> >    (lambda (mode)
> >      (and (commandp mode)
> >       (not (string-match "\\`turn-\\(on\\|off\\)-"
> >                    (symbol-name mode)))
> >         (not (assq mode minor-mode-list))))))


> > I don't know, however, whether minor-mode-list is complete, i.e.
> > whether it contains the not-yet-auto-loaded minor modes. From what I
> > see in easy-mmode.el, it doesn't look like it.

>I still think it would be better to include functions that follow the
>major mode conventions than to exclude functions that don't follow the
>minor mode conventions.  The Emacs Lisp manual has nodes describing both
>sets of conventions.

It is impossible to create a list of major modes, because a major mode is
simply a lisp function, with nothing definitive to distinguish it from
any other lisp function.

So how about having a property `emacs-mode' on symbols, with valid values
(major minor major-minor nil)?  Getting a list of major modes would then
be trivial.  (OK, for Emacs 23. ;-)

>-- 
>Kevin Rodgers

-- 
Alan Mackenzie (Munich, Germany)

  parent reply	other threads:[~2005-11-15 10:22 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-11 17:56 List of major modes? David Reitter
2005-11-11 18:35 ` Henrik Enberg
2005-11-11 18:51   ` Drew Adams
2005-11-11 19:12     ` Lennart Borgman
2005-11-11 21:51       ` David Reitter
2005-11-11 22:18         ` Lennart Borgman
2005-11-14 16:26         ` Kevin Rodgers
2005-11-14 16:40           ` Lennart Borgman
2005-11-14 19:32             ` Stefan Monnier
2005-11-15  5:43           ` Richard M. Stallman
2005-11-15 10:22           ` Alan Mackenzie [this message]
2005-11-15 18:21             ` Kevin Rodgers
2005-11-15 23:22             ` Richard M. Stallman
     [not found] <mailman.14537.1131532545.20277.help-gnu-emacs@gnu.org>
2005-11-09 17:05 ` rgb
  -- strict thread matches above, loose matches on Subject: below --
2005-11-09  9:40 David Reitter
2005-11-09 18:02 ` Edward O'Connor
2005-11-09 19:03 ` Kevin Rodgers
     [not found] ` <mailman.14613.1131563363.20277.help-gnu-emacs@gnu.org>
2005-11-10  1:04   ` rgb
2005-11-10  1:15     ` Lennart Borgman
     [not found]     ` <mailman.14670.1131585340.20277.help-gnu-emacs@gnu.org>
2005-11-10  1:34       ` rgb

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.3.96.1051115101604.273B-100000@acm.acm \
    --to=acm@muc.de \
    --cc=emacs-devel@gnu.org \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).