[Top][All Lists]

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

Keywords (Re: Emacs-23 release branch)

From: Juri Linkov
Subject: Keywords (Re: Emacs-23 release branch)
Date: Thu, 11 Mar 2010 22:48:04 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.93 (x86_64-pc-linux-gnu)

> Having dbus in "net" makes just as little sense to me, so I guess
> that'd be OK ;-)
> But we should maybe think of a better directory structure.

And better keyword dictionary structure too.

AFAIS currently there are two types of lisp subdirectories:

1. Subdirectories that contain a separate package:
   calc calendar cedet erc eshell gnus mh-e nxml org url

   (It seems heuristics for creating a separate subdirectory for the
   package is when the number of its files reaches some threshold like
   a dozen of files.)

2. The names of remaining subdirectories look very like keywords.

Actually there are already at least 3 different Emacs taxonomies:

1. Directory structure

2. Keywords for finder (info "(emacs) Library Keywords")

3. Customization group hierarchy

There are still many mismatches between them.  For instance,
`quickurl.el' is located in the `net' subdirectory, has the keyword
`hypermedia' and its customization groups belongs to `abbrev'.

Fortunately, there were attempts to merge existing taxonomies,
so finder keywords correspond to top-level customization groups.

There is also already some match between subdirectory names
and finder keywords:

  Dir calendar
    Keyword calendar (calendar and time management support)

  Dir emulation
    Keyword emulations (emulations of other editors)
    Keyword unix (front-ends/assistants for, or emulators of, UNIX-like 

  Dir emacs-lisp
    Keyword extensions (Emacs Lisp language extensions)
    Keyword lisp (Lisp support, including Emacs Lisp)
    Keyword maint (maintenance aids for the Emacs development group)

  Dir international
  Dir language
    Keyword i18n (internationalization and alternate character-set support)

  Dir mail
    Keyword mail (modes for electronic-mail handling)

  Dir play
    Keyword games (games, jokes and amusements)

  Dir progmodes
    Keyword languages (specialized modes for editing programming languages)
    Keyword c (support for the C language and related languages)

  Dir term
    Keyword terminals (support for terminal types)

  Dir textmodes
    Keyword tex (supporting code for the TeX formatter)
    Keyword wp (word processing)

If we will try to merge keywords and directory names, then we could create
new subdirectories for existing keywords (and put these files in them):

  Dir for Keyword comm (communications, networking, remote access to files)

    Files like a new file secrets.el, etc.

  Dir for Keyword hypermedia (support for links between text or other media 
  Dir for Keyword multimedia (images and sound support)

    Files doc-view.el iimage.el image-dired.el image.el image-file.el
    image-mode.el ezimage.el

  Dir for Keyword help (support for on-line help systems)

    Files ehelp.el help-at-pt.el help.el help-fns.el help-macro.el
    help-mode.el info.el info-look.el informat.el info-xref.el

Also we could add new keywords and their corresponding subdirectories:

  Keyword completion and Dir completion:

    Files complete.el completion.el icomplete.el
    minibuf-eldef.el minibuffer.el pcomplete.el

  Keyword diff and Dir diff:

     Files compare-w.el diff.el diff-mode.el ediff-diff.el ediff.el
     ediff-help.el ediff-hook.el ediff-init.el ediff-merg.el
     ediff-mult.el ediff-ptch.el ediff-util.el ediff-vers.el

  Keyword vcs and Dir vcs:

    Files vc.el vc-annotate.el vc-arch.el vc-bzr.el vc-cvs.el
    vc-dav.el vc-dir.el vc-dispatcher.el vc-git.el vc-hg.el
    vc-hooks.el vc-mtn.el vc-rcs.el vc-sccs.el vc-svn.el cvs-status.el
    pcvs-defs.el pcvs-info.el pcvs-parse.el pcvs-util.el pcvs.el

The remaining existing keywords that IMO are too specific
for a separate subdirectory:

  Keyword abbrev (abbreviation handling, typing shortcuts, macros)
  Keyword bib (code related to the `bib' bibliography processor)
  Keyword faces (support for multiple fonts)
  Keyword hardware (support for interfacing with exotic hardware)
  Keyword mouse (mouse support)
  Keyword outlines (support for hierarchical outlining)

The remaining existing keywords that IMO are too broad for a separate
subdirectory (but are good for top-level customization groups):

  Keyword convenience (convenience features for faster editing)
  Keyword data (support for editing files of data)
  Keyword docs (support for Emacs documentation)
  Keyword files (support for editing and manipulating files)
  Keyword frames (support for Emacs frames and window systems)
  Keyword internal (code for Emacs internals, build process, defaults)
  Keyword local (code local to your site)
  Keyword matching (various sorts of searching and matching)
  Keyword news (support for netnews reading and posting)
  Keyword oop (support for object-oriented programming)
  Keyword processes (process, subshell, compilation, and job control support)
  Keyword tools (programming tools)

Juri Linkov

reply via email to

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