next up previous
Next: Approaches to Customization Up: Tool Support of Previous: Tool Support of

An Example of an Application

  A simple personal database will be used to illustrate some of the practical aspects of customizations via hooks. The database contains information about addresses, phone numbers, and electronic mail addresses of persons, institutions, and companies. The facility is implemented in Emacs Lisp, and it is used as an integrated part of Emacs. When writing letters, addresses can be extracted from the database and be inserted into the letters; similarly when sending electronic mail, the e-mail addresses can be extracted from the database; and, finally, the database can be used as an electronic phone directory.

A query on the personal database consists internally of two parts: (1) extraction of information from the database, and (2) utilization of the extracted information in some context. Both parts are opened via the use of hooks. When information has been extracted from the database there is an intercepting hook, which is able to modify the result before it is utilized. As the default, the information is typically displayed in a new Emacs buffer, but this may also be changed by procedures attached to the hooks.

Kurt Noermark
Wed Mar 6 09:44:24 MET 1996