From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.devel Subject: Keywords (Re: Emacs-23 release branch) Date: Thu, 11 Mar 2010 22:48:04 +0200 Organization: JURTA Message-ID: <87hbomwu4b.fsf_-_@mail.jurta.org> References: <87zl2g24xy.fsf@stupidchicken.com> <87mxyfq3bz.fsf@gmx.de> <87sk87h49a.fsf@gmx.de> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1268340877 7474 80.91.229.12 (11 Mar 2010 20:54:37 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 11 Mar 2010 20:54:37 +0000 (UTC) Cc: Chong Yidong , Michael Albinus , emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Mar 11 21:54:32 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1NppOo-0002d1-S6 for ged-emacs-devel@m.gmane.org; Thu, 11 Mar 2010 21:54:31 +0100 Original-Received: from localhost ([127.0.0.1]:54971 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NppOo-0008Mx-BU for ged-emacs-devel@m.gmane.org; Thu, 11 Mar 2010 15:54:30 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NppOj-0008Mi-Bv for emacs-devel@gnu.org; Thu, 11 Mar 2010 15:54:25 -0500 Original-Received: from [140.186.70.92] (port=44909 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NppOh-0008MV-A9 for emacs-devel@gnu.org; Thu, 11 Mar 2010 15:54:24 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NppOf-0000kP-7A for emacs-devel@gnu.org; Thu, 11 Mar 2010 15:54:23 -0500 Original-Received: from smtp-out2.starman.ee ([85.253.0.4]:47692 helo=mx2.starman.ee) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NppOe-0000k5-Ty for emacs-devel@gnu.org; Thu, 11 Mar 2010 15:54:21 -0500 X-Virus-Scanned: by Amavisd-New at mx2.starman.ee Original-Received: from mail.starman.ee (82.131.70.237.cable.starman.ee [82.131.70.237]) by mx2.starman.ee (Postfix) with ESMTP id C2B373F4111; Thu, 11 Mar 2010 22:54:11 +0200 (EET) In-Reply-To: (Stefan Monnier's message of "Thu, 11 Mar 2010 09:04:45 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.93 (x86_64-pc-linux-gnu) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:121832 Archived-At: > 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 features) 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 types) 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 ediff-wind.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 PS: 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 http://www.jurta.org/emacs/