From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Nix Newsgroups: gmane.emacs.devel Subject: Re: Does CEDET work? Date: Mon, 23 Apr 2012 13:50:52 +0100 Message-ID: <87ipgq8vdf.fsf@spindle.srvr.nix> References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1335185488 3527 80.91.229.3 (23 Apr 2012 12:51:28 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 23 Apr 2012 12:51:28 +0000 (UTC) Cc: emacs-devel@gnu.org To: Les Harris Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Apr 23 14:51:27 2012 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1SMIjk-0005hr-Pd for ged-emacs-devel@m.gmane.org; Mon, 23 Apr 2012 14:51:24 +0200 Original-Received: from localhost ([::1]:44027 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SMIjk-0000aP-6h for ged-emacs-devel@m.gmane.org; Mon, 23 Apr 2012 08:51:24 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:49013) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SMIja-0000GY-VE for emacs-devel@gnu.org; Mon, 23 Apr 2012 08:51:22 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SMIjV-0001J7-Nq for emacs-devel@gnu.org; Mon, 23 Apr 2012 08:51:14 -0400 Original-Received: from icebox.esperi.org.uk ([81.187.191.129]:60077 helo=mail.esperi.org.uk) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SMIjV-0001H6-Dv for emacs-devel@gnu.org; Mon, 23 Apr 2012 08:51:09 -0400 Original-Received: from esperi.org.uk (nix@spindle.srvr.nix [192.168.14.15]) by mail.esperi.org.uk (8.14.5/8.14.5) with ESMTP id q3NCoqkx020221; Mon, 23 Apr 2012 13:50:52 +0100 Original-Received: (from nix@localhost) by esperi.org.uk (8.14.5/8.14.5/Submit) id q3NCoqkh001526; Mon, 23 Apr 2012 13:50:52 +0100 Emacs: a compelling argument for pencil and paper. In-Reply-To: (Les Harris's message of "Wed, 18 Apr 2012 21:29:04 -0700") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.95 (gnu/linux) X-DCC-INFN-TO-Metrics: spindle 1233; Body=2 Fuz1=2 Fuz2=2 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 81.187.191.129 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:149957 Archived-At: On 19 Apr 2012, Les Harris said: > And lest you think that setup required extensive, painstaking > configuration I present to you the sum total of my CEDET specific > configuration: > > ;; Semantic > (global-semantic-idle-completions-mode t) > (global-semantic-decoration-mode t) > (global-semantic-highlight-func-mode t) > (global-semantic-show-unmatched-syntax-mode t) So I just tried this. Random headers (e.g. stdlib.h, but not stdio.h) were promptly highlighted in the semantic-decoration-on-unparsed-includes face; other headers that required -I flags to be added to the include path (e.g. glib.h) got highlighted in the semantic-decoration-on-unparsed-includes face. The latter I could fix with semantic-customize-system-include-path, but the former was harder to fix. Digging about in the info files, I found this: ,---- | 2.2.4 Create System Databases | ----------------------------- | | If your supported language stores the system libraries in readily | available parsable source code, you can pre-generate database files for | them once, which will be used over and over for tools such as | summary-mode, or the analyzer. | | -- Command: semanticdb-create-ebrowse-database dir | Create an EBROWSE database for directory DIR. The database file | is stored in ~/.semanticdb, or whichever directory is specified by | `semanticdb-default-system-save-directory'. `---- Great! I thought. A shame that function doesn't exist, nor does any plausible replacement for it. I have no idea when Semantic built its cache for /usr/include, nor why stdio.h didn't get included, nor how to force it to rebuild anything. But even despite this, Semantic is wonderful, ever so much better than it was years ago when I looked at it last. I'll definitely be using it constantly in future. One other mode not mentioned: (global-semantic-mru-syntax-mode t) lets you hit C-x B to go back to any previous function / tag that you've edited, with the most-frequently-changed stuff at the top of the list. *This* is a feature that I've never seen any other editor provide, and is seriously useful. One other feature not mentioned: C-x , G gives you a *very* nice menu for the current tag, far nicer than that in the Emacs package provided by e.g. GNU global (which C-x , G can interact with, and which is itself better by miles than the standard tagging tools in my opinion). -- NULL && (void)