At 03:14 PM 4/11/00 -0400, you wrote:
>>> Paul, do you use tags as well as imenu and speedbar?
>
>Paul Kinnucan <[EMAIL PROTECTED]> 4/11/00 2:53:07 PM >>>
>> Yes, the primary advantage of tags is that you can jump to the
>> definition for a symbol that resides in some other file. Another is
>> that you can do so with a simple keystroke combination.
>
>> Here at the Mathworks we have a perl script that invokes etags on
>> our C and Java source hierarchies package by package. (I have gotten
>> around to updating it to use jtags for Java files.) It inserts a
>> tags file in package directory. Then it inserts a tags file at the
>> top level of the hierarchy that simply references the low-level tags
>> files.
>
>2Q:
>
>* How might one view said script? I've wondered if there was some way
> around the "one huge tags file," but never looked into the matter.
>
Sorry, it was developed for internal use here. I can't show it. Anway, the
scripts depend on features of the Mathworks source hierarchy.
It should be very simple for anyone to write a similar script from scratch,
using the following basic idea. Suppose your project directory is
structured as follows:
myproj
classes
doc
help
lib
src
TAGS
pkg1
TAGS
pkg1A
TAGS
...
pkg2
TAGS
...
The script recurses down the source hierarchy to the subdirectories and
creates a TAGS table for each subdirectory in that subdirectory, using
etags or JTAGS. Then, as a final step, it creates a TAGS table in the
top-level directory that simply includes the package TAGS tables, e.g.,
^L
pkg1/TAGS,include
^L
pkg1/pkg1A/TAGS,include
^L
pkg2/TAGS,include
Next set tags-table-list to the root directory of your source hierarchy:
(setq tags-table-list (list "/devel-server/myproj/src"))
Now, suppose you are in the pkg1 directory and you want to know the
definition of the symbol at point. Just type
M-,
Emacs looks first in the TAGS table in pkg1 for the definition and if it
does find it in pkg1, it searches the other packages listed in the root
TAGS table.
With this approach, your tags are distributed over many small TAGS tables,
instead of one humongous table, and you need make only one entry in your
tags-table-list for the entire source hierarchy.
Not bad, if I do say so myself.
>* I may be joining a project where I'd be doing mostly Perl. I'll miss
> JDE! Is there a Perl Development Environment for Emacs, or something
> similarly functional?
>
No, sorry.
- Paul
------------------------------------------------------------
TECH SUPPORT POLICY
I respond only to requests that contain a complete problem report. The
easiest way to ensure that your report is complete is to include the output
of the JDE->Help->Submit Problem Report command in your request.
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
JDE website: http://sunsite.auc.dk/jde/
JDE mailing list archive:
http://www.mail-archive.com/[email protected]/maillist.html