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: Re: tags for functions Date: Sun, 25 Jan 2009 02:32:09 +0200 Organization: JURTA Message-ID: <87tz7oxodr.fsf@jurta.org> References: <867i4pemv5.fsf@lifelogs.com> <86y6x49un4.fsf@lifelogs.com> <86ljt39ysz.fsf@lifelogs.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1232843670 1558 80.91.229.12 (25 Jan 2009 00:34:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 25 Jan 2009 00:34:30 +0000 (UTC) Cc: emacs-devel@gnu.org To: Ted Zlatanov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jan 25 01:35:43 2009 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.50) id 1LQsyU-00015R-DD for ged-emacs-devel@m.gmane.org; Sun, 25 Jan 2009 01:35:42 +0100 Original-Received: from localhost ([127.0.0.1]:40497 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LQsxC-0005Cr-MN for ged-emacs-devel@m.gmane.org; Sat, 24 Jan 2009 19:34:22 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LQsx8-0005CY-1B for emacs-devel@gnu.org; Sat, 24 Jan 2009 19:34:18 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LQsx6-0005CD-KQ for emacs-devel@gnu.org; Sat, 24 Jan 2009 19:34:17 -0500 Original-Received: from [199.232.76.173] (port=45471 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LQsx6-0005CA-EL for emacs-devel@gnu.org; Sat, 24 Jan 2009 19:34:16 -0500 Original-Received: from relay03.kiev.sovam.com ([62.64.120.201]:62696) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LQsx5-0004tb-Ub for emacs-devel@gnu.org; Sat, 24 Jan 2009 19:34:16 -0500 Original-Received: from [83.170.232.243] (helo=smtp.svitonline.com) by relay03.kiev.sovam.com with esmtp (Exim 4.69) (envelope-from ) id 1LQswx-000Omf-9N; Sun, 25 Jan 2009 02:34:07 +0200 In-Reply-To: <86ljt39ysz.fsf@lifelogs.com> (Ted Zlatanov's message of "Thu, 22 Jan 2009 08:54:04 -0600") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (x86_64-pc-linux-gnu) X-Scanner-Signature: 669e5d776fa0e81a52da9f410dfff76f X-DrWeb-checked: yes X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. 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:108210 Archived-At: >>> 1) build a list of command keywords quickly (using each package's >>> Keywords?) >>> >>> 2) refine the keywords into a simple taxonomy that is not too big nor >>> too small. > > GM> Just because I haven't seen finder mentioned yet in this dicussion, > GM> M-x finder-list-keywords already tries to do something related to > GM> the above. > > Great, that saves me a lot of work. I can just hook into it and get the > global list of keywords and the packages which use each one. Very > useful. The work then becomes: > > 1) figure out place to store keywords (symbol plist or global) > 2) add :keywords to defun and defvar, etc. as needed > 3) figure out keywords for each function (and symbol?) based on package > 4) refine and grow the tag space, figure out synonym rings finder.el extracts package keywords from the comments in the file header. Doing the same for function keywords means placing them in the comments before the function definition. Many modern programming languages use the @-syntax for documentation tags. So for Emacs Lisp they could look like: ;; @tag1 ;; @tag2 (defun my-move-defun () "Docstring." ...) However, since Emacs uses doc strings for documentation it would be better to add them in doc strings like: (defun my-move-defun () "Docstring. @tag1 @tag2" ...) -- Juri Linkov http://www.jurta.org/emacs/