# Interfacing(2)

[Home] [Commands] [Variables] [Macro-Dev] [Glossary]

## INTERFACING

This sections describes how MicroEmacs 2009 may be interfaced to external components.

## Shells

A shell window may be opened within the context of the editor using the command ishell(3), whereby an interactive command shell is presented within a buffer.

In the Microsoft Windows environment a cygwin UNIX style BASH shell may be realised with the cygwin(3) command.

## Debugger

Within the UNIX environment the GNU gdb(1) or native UNIX dbx(1) debuggers may be invoked from the editor using gdb(3) or dbx(3). respectively This invokes the debugger and follows the debugging process in the editor window, automatically opening the source files as the debugger calls for them.

## Microsoft Developer Studio

In the Microsoft windows environment, the memsdev(1) DLL may be attached to the Microsoft Developer Studio to enable MicroEmacs 2009 to be used in place of the in-built editor.

## File Searching

File searching is performed using grep(1) using the grep(3) command. For Windows then the GNU grep utility is recommended, for MS-DOS then the DJGPP version of GNU grep is recommended.

## File Differencing

Differencing files, or directories is performed using the diff(1) utility using the diff(3) command. For all platforms the GNU diff utility is recommended as this provides a comprehensive differencing that is not typically available with native UNIX diff utilities.

## Tag Files

A tag capability exists (see find-tag(2)) such that source functions and alike may be located quickly using a tags file. The standard ctags(1) format is used by MicroEmacs. The tags file itself may be generated by MicroEmacs 2009 from the menu (Tools->XX Tools->Create Tags File). Alternatively a tags file may be generated by the ctags(1) utility. This is typically standard on UNIX platforms. For Windows and DOS platforms then the Exuberant Ctags is recommended, this is available from:-

`http://darren.hiebert.com`

A MicroEmacs 2009 compatible tags file may be generated using the command line "`ctags -N --format=1 ."` cataloging the current directory. To generate tags for a directory tree then use "`ctags -NR --format=1 .`". Refer to the Exuberant Ctags documentation for a more detailed description of the utility.

## Compilation

Compilation is performed using the compile(3) command. This invokes a command shell, typically using make(1) to initiate a build sequence.

## Client-Server

The Client-Server interface allows other client applications to inject commands into an already existing MicroEmacs 2009 session (the server), thereby controlling the editor remotely. This is typically used to inject new files into the editor to be presented to the user.

The Client-Server interface is available in both the UNIX and Microsoft Windows environments. This mechanism is used in the Microsoft windows environment by the memsdev(1) DLL to attach the Microsoft Developer Studio to MicroEmacs 2009. This may be used with similar effects within the UNIX environments from the X-Window managers desktop in addition to other utilities such as TkDesk(1).

## Command Line Filer

MicroEmacs may be invoked as a command filter in it's own right, macro scripts have been developed to perform a dos2unix(1) conversion operation, generate tags files etc. See Command Line Filters.

## SEE ALSO

ctags(1), compile(3), cygwin(3), dbx(3), diff(3), find-tag(2) gdb(3), grep(3), ishell(3), memsdev(1),
Client-Server, Command Line Filters.

(c) Copyright JASSPA 2009
Last Modified: 2009/08/29
Generated On: 2009/10/12

</HMTL>