<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
  <!ENTITY debian "<productname>Debian GNU/Linux</productname>">
  <!ENTITY emacs  "<abbrev>GNU Emacs</abbrev>">
  <!ENTITY ttcn3  "<acronym>TTCN-3</acronym>">
  <!ENTITY ttcnmp "<acronym>TTCN.MP</acronym>">
]>

<!-- Manual page for ttcn-el, DocBook source file (C) 2000 W. Borgert
     debacle@debian.org

     $Id: ttcn-el.dbk,v 1.1 2007/02/24 06:33:26 dleidert-guest Exp $ -->

<refentry>
  <refentryinfo>
    <title>&emacs; modes for protocol testing languages</title>
    <titleabbrev>TTCN-3 mode</titleabbrev>
    <address>
      <email>debacle@debian.org</email>
    </address>
    <author>
      <firstname>W.</firstname>
      <surname>Borgert</surname>
    </author>
    <copyright>
      <year>2000</year>
      <holder>W. Borgert</holder>
    </copyright>
    <date>2000-07-28</date>
  </refentryinfo>
  <refmeta>
    <refentrytitle>ttcn-el</refentrytitle>

    <manvolnum>7</manvolnum>
    <refmiscinfo role="infodirsection">Development</refmiscinfo>
  </refmeta>
  <refnamediv>
    <refname>ttcn-el</refname>

    <refpurpose>&emacs; modes for protocol testing languages.</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
    <cmdsynopsis>
      <command>ttcn-3-mode</command>
    </cmdsynopsis>
    <cmdsynopsis>
      <command>ttcn-mode</command>
    </cmdsynopsis>
    <cmdsynopsis>
      <command>tm-functions</command>
    </cmdsynopsis>
  </refsynopsisdiv>
  <refsect1>
    <title>Description</title>

    <para>The programming modes <command>ttcn-3-mode</command>,
      <command>ttcn-mode</command>, and
      <command>tm-functions</command> for &emacs; are for programming
      in the &ttcn3;, core language (Testing and Test Control Notation
      - 3), &ttcnmp; format (Tree and Tabulart Combined Notation), or
      the Test Manager scripts, an enhancement to the Forth
      programming language, used in the Tektronix
      <productname>K1297</productname> protocol tester.</para>

    <para>The &ttcn3; programming mode
      (<command>ttcn-3-mode</command>, file
      <filename>ttcn3.el</filename>) does indentation, code
      colourisation (so-called font-locking) and gives you an index of
      test cases and other important definitions via the
      <guimenu>Module-Index</guimenu>.  With the command
      <command>ttcn3-parse</command> you can run an external
      TTCN3Parser or ttthreeparser, if available.  The keywords are
      according to the TTCN-3 BNF of 2001-10.  To switch off the logo
      splash screen, set the variable
      <varname>ttcn3-show-logo</varname> to <constant>nil</constant>
      in your <filename>~/.emacs</filename> file.  The logo is by
      Patrick Andrieu, the ASCII art version by W. Borgert.  This mode
      is based on <productname>CC Mode</productname>, please look in
      the <productname>CC Mode</productname> documentation for further
      information.</para>

    <para>The &ttcnmp; programming mode (<command>ttcn-mode</command>,
      file <filename>ttcn.el</filename>) is not for writing test
      suites from scratch, but for fixing small errors or doing little
      changes or just looking at the MP format.  No indentation is
      done, but some code colourisation, an index, and a menu with
      some navigation functions are given.  Note: For large test
      suites startup might become very slow.</para>

    <para>If one want that &emacs; treats files with the
      <filename>.mp</filename> extension automatically as
       &ttcnmp; files instead of MetaPost files, add the following
      lines to your <filename>~/.emacs</filename> file:
	<programlisting>(setq auto-mode-alist
	  (cons '("\\.mp\\'" . ttcn-mode) auto-mode-alist))</programlisting>
    </para>

    <para>The Test Manager programming functions
      (<command>tm-functions</command>, file <filename>tm.el</filename>)is
      an addition to the Forth programming mode
      (<command>forth-mode</command>, file
      <filename>forth.el</filename>).  It includes only minor
      additions to the regular Forth mode, i.e. font-locking, index
      menu, and support of the Test Manager specific words.</para>

    <para>To enable the <command>tm-functions</command> by default,
      add the following line to your
      <filename>~/.emacs</filename>:
      <programlisting>(add-hook 'forth-mode-hook 'tm-functions)
      </programlisting></para>

  </refsect1>
  <refsect1>
    <title>Files</title>

    <para>All lisp source files are in
      <filename>/usr/share/emacs/site-lisp/ttcn-el/</filename>.</para>
  </refsect1>
  <refsect1>
    <title>Author</title>

      <para>These programmes are made by <author><firstname>W.</firstname>
	<surname>Borgert</surname></author>
	&lt;<email>debacle@debian.org</email>&gt;, as well as this
	documentation.</para>

  </refsect1>
  <refsect1>
    <title>Thanks</title>

    <para>All important ideas and some code are taken from other
      &emacs; modes, and adapted to work with TTCN-3, &ttcnmp; and
      Test Manager files.  Thanks to Csaba Koppany and Theofanis
      Vassiliou-Gioles for valuable hints on current TTCN-3 keywords
      and regular expressions.</para>

  </refsect1>
  <refsect1>
    <title>Copyright</title>

    <para>Copyright 2000 W. Borgert and released under the
      <acronym>GNU</acronym> General Public License
      (<abbrev>GPL</abbrev>).  Permission is granted to copy,
      distribute and/or modify this document under the terms of the
      <acronym>GNU</acronym> Free Documentation License, Version 1.1;
      with no Invariant Sections, no Front-Cover Texts and no
      Back-Cover Texts.</para>
  </refsect1>
  <refsect1>
    <title>Bugs</title>

    <para>The indentation is not correct in many cases.</para>
  </refsect1>
  <refsect1>
    <title>History</title>

    <para>Version 0.6 released on 2001-10-10.  Updated
      keywords.</para>

    <para>Version 0.5 released on 2001-05-05.  Updated
      keywords.</para>

    <para>Version 0.4 released on 2001-02-02.  Calls external
      parser.</para>

    <para>Version 0.3 released on 2001-01-31.
      <filename>ttcn3.el</filename> should now work with GNU Emacs
      21.0 and XEmacs 21.1, too.</para>

    <para>Version 0.2 released on 2000-07-28.  Includes updates for
      &ttcn3; keywords in <filename>ttcn3.el</filename> and makes
      <filename>tm.el</filename> a function library instead of a major
      mode.</para>

    <para>Version 0.1 released on 2000-03-31.  Initial release.</para>
  </refsect1>
</refentry>
