mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Pete Wyckoff <pw@osc.edu>
To: Tigran Aivazian <tigran@veritas.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: dget()
Date: Sat, 19 May 2001 10:58:20 -0400	[thread overview]
Message-ID: <20010519105820.B29838@bigger.osc.edu> (raw)
In-Reply-To: <989917611.27689.9.camel@nomade> <Pine.LNX.4.21.0105151012470.1705-100000@penguin.homenet>
In-Reply-To: <Pine.LNX.4.21.0105151012470.1705-100000@penguin.homenet>; from tigran@veritas.com on Tue, May 15, 2001 at 10:14:47AM +0100

tigran@veritas.com said:
> # cd /usr/src/linux
> # find -name '*.[ch]' | ctags -L- &
>
> On 15 May 2001, Xavier Bestel wrote:
> > # cd /usr/src/linux
> > # make tags
> 
> No, I never use that one because it skips very useful entries like the
> ones from EXPORT_SYMBOL etc. Also, it only shows the current architecture.
> So, the tags target in the Makefile would only become useful when it is
> stripped of extra (unnecessary, imho) logic and turned into a plain one I
> suggested above.

You can use the -I feature to ignore some keywords, but not the
functions they modify.  Without ignoring __initdata, for instance, you
get a couple hundred tags for it, and none for the actual variable,
e.g. cpu_vendor_names.  My current ignore list for the kernel is at
http://www.osc.edu/~pw/ctags-ignore .
If you really want to see the EXPORT_SYMBOL(tag) lines, you'll want
to remove that one from the list (and be sure to do the sorting...),

Next, the wonderful editor Vim doesn't read my mind quite well enough.
When I want to see the tag for "page", for example, I really
want to look at the definition of the struct in include/linux/mm.h, not
at any of the 16 other places which declare a variable struct page *page;.
So I run the tags file through a perl script which percolates those
interesting items to the top when there are multiple entries for the
same identifier.  It's here: http://www.osc.edu/~pw/sort-tags .

Finally, I modify the Makefile to generate tags with these
modifications. Here's the snippet: 

tags: dummy
	( find include/asm-$(ARCH) -name "*.h" ;\
	  find include -type d \( -name "asm-*" -o -name config \) -prune \
	  -o -name "*.h" -print ; find $(SUBDIRS) init -name '*.[chS]' ) |\
	ctags -I../ctags-ignore -L - -f - | sort-tags > tags

Note that this only generates tags for your current architecture,
and that your ctags must be Exuberant and version >= 5.0.

		-- Pete

  reply	other threads:[~2001-05-19 14:58 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-05-15  8:09 dget() Blesson Paul
2001-05-15  8:21 ` dget() Tigran Aivazian
2001-05-15  9:06   ` dget() Xavier Bestel
2001-05-15  9:14     ` dget() Tigran Aivazian
2001-05-19 14:58       ` Pete Wyckoff [this message]
2001-05-15  8:24 ` dget() Alexander Viro
2001-05-15 15:40 dget() Rick Hohensee

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

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

  git send-email \
    --in-reply-to=20010519105820.B29838@bigger.osc.edu \
    --to=pw@osc.edu \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tigran@veritas.com \
    /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

all inboxes | Powered by JetHome®