[comp.emacs] Emacs and hypertext

blk@mbunix.mitre.org (Kahn) (11/17/89)

I am working on a tool for tracing system requirements down to actual
code.  I am considering augmenting gnu emacs to support a sort of
hypertext environment, connecting different parts of the documentation
and code in a variety of ways.  Some of these links may be processed
automatically by a cross reference sort of tool.

Has anyone dabbled with hypertext in emacs?  Or pointers embedded in
text?  My best bet might be the INFO system included with recent
versions of gnumacs, but I don't understand it and we will need to
make modifications.  Any help and pointers appreciated.

Brian Kahn   B<   blk@security.mitre.org

skr@uncle.UUCP (Steve K. Roggenkamp) (11/19/89)

In a previous job, we implemented a poor man's hypertext system using GNU Emacs
and its etags program.  A location in the text was indicated by placing it
between a `|' and a `!':  |this is a node!.  These two characters were chosen
because they are relatively innocuous and they do not occur frequently in
ordinary text.  The node text could be of any length as long as it is contained
on one line.

Next the etags program was modified so these would generate an entry in the
TAGS file.  We also modified the find-tags function so when the cursor was
in a sexp of the form `(See xxx)' it would default to `xxx'.  Once these things
had been done, a user could easily move from one location in a document to 
another location in some other document.

Finally, we made some filters to remove the bar and bang from the nodes
before formatting for printing.

While this is not a very sophisticated system, it provided quite a bit of
functionality for a modest (less than a day) bit of work.

-- 
Steven K. Roggenkamp, skr@uncle.UUCP, n8emr!uncle!skr@osu-cis.cis.ohio-state.edu
(614) h:792-8236, w:764-4208;  

skr @uncle.UUCP ("Steve K. Roggenkamp") (11/19/89)

In a previous job, we implemented a poor man's hypertext system using GNU Emacs
and its etags program.  A location in the text was indicated by placing it
between a `|' and a `!':  |this is a node!.  These two characters were chosen
because they are relatively innocuous and they do not occur frequently in
ordinary text.  The node text could be of any length as long as it is contained
on one line.

Next the etags program was modified so these would generate an entry in the
TAGS file.  We also modified the find-tags function so when the cursor was
in a sexp of the form `(See xxx)' it would default to `xxx'.  Once these things
had been done, a user could easily move from one location in a document to
another location in some other document.

Finally, we made some filters to remove the bar and bang from the nodes
before formatting for printing.

While this is not a very sophisticated system, it provided quite a bit of
functionality for a modest (less than a day) bit of work.

--
Steven K. Roggenkamp, skr@uncle.UUCP, n8emr!uncle!skr@osu-cis.cis.ohio-state.edu
(614) h:792-8236, w:764-4208;