Installation(1) microemacs Installation(1) INSTALLATION This page describes introductory notes for the installation and setup of MicroEmacs '06. Quick Install The quickest way to install MicroEmacs for testing without reading the rest of this document is to:- * Create a new directory i.e. jasspa. * Unpack the macros archive into this directory. * Unpack the executable into this directory. * Run me from this directory. On starting, you will be prompted for a default directory, accept the defaults. Use the mouse and configure the user from the menu bar:- Help->User Setup This allows the user and screen settings to be altered. On becoming more accustomed to the editor then a fuller installation may be performed. Getting Help See Contact Information for full contact information. A mail archive exists at:- http://groups.yahoo.com/group/jasspa/ If you wish to participate in the list then you must first register by sending an empty mail message body to:- jasspa-subscribe@yahoogroups.com You will then be able to mail any questions into the group. Registration is required in order to prevent spam mailings from entering into the lists. Distribution MicroEmacs is distributed in the following files:- Complete Installations The Microsoft 95/98/NT/2K/XP, Solaris, HP-UX, Linux and the more popular platforms may be installed using a package and do not require the components specified in later sections as these are all bundled together (these packages do not include spelling). jasspa-me-YYYYMMDD-1.i386.rpm - Linux RedHat 9.x package. jasspa-me-YYYYMMDD-1.src.rpm - Linux RedHat 9.x source package. jasspa-mepkg-hpux-pa-10.20-YYYYMMDD.depot.gz - HP-UX 10 package. jasspa-mepkg-hpux-pa-11.00-YYYYMMDD.depot.gz - HP-UX 11 package. jasspa-mepkg-ms-win32-2004030.zip - 95/98/NT/2K/XP Install Shield jasspa-mepkg-sun-i386-58-YYYYMMDD.zip - Sun 2.8(i386) package. jasspa-mepkg-sun-i386-59-YYYYMMDD.zip - Sun 2.9(i386) package. jasspa-mepkg-sun-sparc-56-YYYYMMDD.zip - Sun 2.6(Sparc) package. jasspa-mepkg-sun-sparc-58-YYYYMMDD.zip - Sun 2.8(Sparc) package. jasspa-mepkg-sun-sparc-59-YYYYMMDD.zip - Sun 2.9(Sparc) package. Executable Source Code The source code release for MicroEmacs '06 contains makefiles (*.mak) for all supported platforms. Microsoft '95/'98/NT/2K/XP makefiles contain options at the top of the makefile to enable/disable console and URL support. jasspa-mesrc-YYYYMMDD.zip - Source code for all platforms jasspa-mesrc-YYYYMMDD.tar.gz - Source code Executable Images jasspa-me-cygwin-YYYYMMDD.exe.gz - Cygwin Executable (X-Windows) jasspa-me-hpux-pa-10.20-YYYYMMDD.gz - Hewlett Packard HP-UX 10 Executable jasspa-me-hpux-pa-11.00-YYYYMMDD.gz - Hewlett Packard HP-UX 11 Executable jasspa-me-ibm-aix-4-YYYYMMDD.gz - IBM's AIX 4.3 Executable jasspa-me-linux-i386-2.4-YYYYMMDD.gz - Linux 2.2.x/2.4.x Executable jasspa-me-linux-i386-2.6-YYYYMMDD.gz - Linux 2.6.x Executable jasspa-me-ms-win32-YYYYMMDD.zip - Windows 32' (95/98/NT/2K/XP) Executable jasspa-me-ms-win32s-YYYYMMDD.zip - Windows win32s (Win3.1/3.11) Executable jasspa-me-msdos-djgpp1-YYYYMMDD.zip - DOS Executable (DJGPP v1.x) jasspa-me-msdos-djgpp2-YYYYMMDD.zip - DOS Executable (DJGPP v2.x) jasspa-me-openbsd-i386-3.4-YYYYMMDD.gz - Open BSD 3.4 Executable jasspa-me-sgi-irix-6-YYYYMMDD.gz - Silicon Graphics Irix 6 Executable jasspa-me-sun-i386-58-YYYYMMDD.gz - Sun Solaris 2.8 Intel Platform Executable jasspa-me-sun-i386-59-YYYYMMDD.gz - Sun Solaris 2.9 Intel Platform Executable jasspa-me-sun-sparc-56-YYYYMMDD.gz - Sun OS 5.5 Executable jasspa-me-sun-sparc-58-YYYYMMDD.gz - Sun OS 5.8 Executable jasspa-me-sun-sparc-59-YYYYMMDD.gz - Sun OS 5.9 Executable jasspa-mec-apple-darwin-6.6-YYYYMMDD.gz - Apple console Executable jasspa-mec-cygwin-YYYYMMDD.exe.gz - Cygwin Executable (Console) Help File Images (all platforms) jasspa-mewinhlp-YYYYMMDD.zip - Windows Help file jasspa-mehtm-YYYYMMDD.zip - HTML Help files for 8.3 file systems (.htm) jasspa-mehtml-YYYYMMDD.tar.gz - HTML Help files (.html) Macro File Images (all platforms) jasspa-memacros-YYYYMMDD.tar.gz - Macro files jasspa-memacros-YYYYMMDD.zip - Macro files jasspa-metree-YYYYMMDD.tar.gz - Complete install tree + help jasspa-metree-YYYYMMDD.zip - Complete install tree + help Spelling Dictionaries (all platforms) One of the following base dictionaries is required for spelling. The extended dictionaries require the base dictionary and are recommended for a more comprehensive spelling list. Other languages are supported. ls_dede.zip - German rules and base + extended dictionary. ls_engb.zip - British rules and base + extended dictionary. ls_enus.zip - American rules and base + extended dictionary. ls_eses.zip - Spanish rules and dictionary. ls_frfr.zip - French rules and dictionary. ls_itit.zip - Italian rules and dictionary ls_plpl.zip - Polish rules and dictionary. ls_ptpt.zip - Portuguese rules and dictionary. ls_ruye.zip - Russian YE rules and dictionary. ls_ruyo.zip - Russian YO rules and dictionary. ls_dede.tar.gz - German rules and base + extended dictionary. ls_engb.tar.gz - British rules and base + extended dictionary. ls_enus.tar.gz - American rules and base + extended dictionary. ls_eses.tar.gz - Spanish rules and dictionary. ls_frfr.tar.gz - French rules and dictionary. ls_itit.tar.gz - Italian rules and dictionary ls_plpl.tar.gz - Polish rules and dictionary. ls_ptpt.tar.gz - Portuguese rules and dictionary. ls_ruye.tar.gz - Russian YE rules and dictionary. ls_ruyo.tar.gz - Russian YO rules and dictionary. NOTE: The binary versions of the executables held on the site include the platform name as part of the executable name i.e. me for DOS is called medos.exe. On installing the binaries onto the target machine, you should rename the executable to me or me.exe, whatever is appropriate. The ONLY exception to this rule is the Microsoft Windows executable where mewin32.exe should be renamed to me32.exe. Our reason for this naming is to allow the executables to be unpacked in the same directory and not be confused with each other. Installation Directories The suggested installation structure for all platforms is defined as:- jasspa / | \ / | \ / | \ spelling macros company This directory structure is suggested to facilitate upgrades in the future and to keep user data separate from the system macros. MicroEmacs understands this directory structure. The directory structures are defined as: macros The standard macro distribution, as supplied by JASSPA. spelling Spelling dictionaries. company Company wide local definitions for the local site. This directory may be omitted if not applicable. Header templates (.etf are typically copied from the macro directory to the company directory and modified for the local site. The search order is defined as root, company, macros, spelling. UNIX Installation (System Wide) A system wide installation on UNIX for multiple users adheres to conventional package installation methods. Distribution Components Required: jasspa-me--YYYYMMDD.gz jasspa-metree-YYYYMMDD.tar.gz .gz jasspa-mehtml-YYYYMMDD.tar.gz (optional) Installation: It is recommended that the macro files are placed in a standard shared system directory. The standard directory locations searched by MicroEmacs are defined on a per-platform basis, only one of the directory locates is selected, as follows: HP-UX SunOS AIX Cygwin IRIX UnixWare ***BSD Linux NeXT /opt/jasspa: y y y y y y n n n /usr/share/jasspa: y y y y y y y n n /usr/local/jasspa: y y y y y y y y y /usr/local/share/jasspa: n n n n y n n n n * Create the directory /usr/local/jasspa. * Unpack and install the jasspa-metree-YYYYMMDD.tar.gz into this directory. * If spelling dictionaries are required then place them in the spelling sub-directory created when metree was unpacked. Unpack and install the spelling into this directory. * If the standard icons are required for Gnome, KDE or some other window manager then create the sub-directory /usr/local/jasspa/icons and unpack and install the icons into the new directory. * Unpack (or build) the executable and place in "/usr/local/bin" The executable may now be run by all users. If the macros are placed in a non-standard directory location then the environment variable MEINSTALLPATH(5) to define the root jasspa tree. For csh(1) users execute a "rehash" command and then me(1) can be executed from the command line. By default a X-Windows terminal is displayed, ensure that $DISPLAY and $TERM are correctly configured. To execute a terminal emulation then execute me with the -n option i.e. "me -n". Note that this is not required if you are using a vt100 emulation. When MicroEmacs is executed the local directory ~/.jasspa is created for the user settings. The user home directory may be changed by setting the environment variable $MEPATH(5). UNIX Installation (Single User) Where the user is not permitted to install 3rd party applications in the system directories then MicroEmacs may be installed locally as follows:- * Create the directory ~/.jasspa. * Unpack and install the jasspa-metree-YYYYMMDD.tar.gz into this directory. * If spelling dictionaries are required then place them in the spelling sub-directory created when metree was unpacked. Unpack and install the spelling into this directory. * If the standard icons are required for Gnome, KDE or some other window manager then create the sub-directory ~/.jasspa/icons and unpack and install the icons into the new directory. * The user files will be placed in the ~/.jasspa directory by default. To keep the user macros separate then the directory ~/.jasspa/$LOGNAME may be created and will identified as the users home directory. * Unpack (or build) the executable and place in "~/bin" MicroEmacs may be executed after it has been re-hashed (depending on the shell). DOS Installation MS-DOS has no concept of a standard installation directory. The location of the MicroEmacs macros is generally determined from the directory location of the executable. Executable: Compiled with DJGPP V1.0 Distribution components required: jasspa-me-msdos-djgpp1-YYYYMMDD.zip jasspa-metree-YYYYMMDD.zip .zip mewinhlp.zip if you are using windows 3.1/3.11 Recommended installed components: grep - Version of grep (djgpp recommended) make - Version of make (djgpp recommended) diff - Version of diff (djgpp recommended) Installation: This installation relies on the executable position. * Create the directory c:\jasspa (or other location) * Unpack and install the jasspa-metree-YYYYMMDD.zip into this directory. * If spelling dictionaries are required then place them in the spelling sub-directory created when metree was unpacked. Unpack and install the spelling into this directory. * Unzip the executable and place it in the jasspa root directory c:\jasspa. * Edit "c:\autoexec.bat" and add the following lines:- SET PATH=%PATH%;c:\jasspa * Reboot the system. * MicroEmacs may be run from the command line using me. Graphics Cards: MicroEmacs may be configured to the text modes of your graphics card. Refer to you graphics card DOS text modes to identify the text modes supported by your monitor. The text mode number may be entered into the user monitor configuration, defined in Help->User Setup. Running DOS Version From Windows (3.x) The MS-DOS version of MicroEmacs may be executed from a .pif file. Use the pif editor to create a new .pif file to launch MicroEmacs. The size of the DOS window may be configured from the command line, set the terminal size using one of the following command lines:- me -c -v$TERM=E80x50 - 80 x 50 window me -c -v$TERM=E80x25 - 80 x 25 window. We usually add the -c option so that MicroEmacs is executed with history information. This may be omitted if required. Microsoft Windows 3.1/3.11 Executable: Compiled with Microsoft Developer 2.0 Helper DLL: Under Win32s a helper DLL methnk16.dll is required to perform the pipe-shell-command(2) in a synchronous manner. This should be installed into the C:\WINDOWS\SHELL directory. This (rather inelegantly) gets around the problems of spawning a process under win32s due to a number of Microsoft bugs in the operating system. Note: that on a spawn operation a MS-DOS window is visible, this is due to the nature of the command shell on this platform which has a tendency to prompt the user at every opportunity, hence a certain amount of interaction (which is out of our control) is necessary. The helper DLL is compiled with a 16-bit Windows compiler - MSVC 1.5. Distribution components required: jasspa-me-ms-win32s-YYYYMMDD.zip jasspa-metree-YYYYMMDD.zip jasspa-mewinhlp-YYYYMMDD.zip .zip Recommended installed components: 4dos - command shell (giving stderr redirection) grep - Version of grep (GNU port of grep recommended) diff - Version of diff (GNU port of grep recommended) make - use nmake or GNU port of make. Ifwin32s is a requirement on this platform, typically taken from pw1118.exe which freely available on the Internet. Installation: This version of Windows does not have a install directory as '95/'98 and it is expected that the MS-DOS version will coexist. No Install Shield installation is provided. Install in a directory structure similar to MS-DOS. Install the helper DLL methnk16.dll in the C:\WINDOWS\SHELL directory. Create a me32.ini(8) file in the C:\WINDOWS directory to identify the location of the MicroEmacs '06 components, this much the same as the '95/'98 file, change the directory paths to suite the install base. Support Status: The win32s release has not been used with vengeance, although no specific problems have been reported with this release. Windows 95/98/NT/2K/XP Executable: Compiled with Microsoft Developer 6.x Install Shield An Install Shield version of MicroEmacs is available which includes all of the distribution components. Distribution components required: jasspa-mepkg-ms-win32-2004030.zip Recommended installed components: grep - Version of grep (GNU port of grep recommended) diff - Version of diff (GNU port of grep recommended) make - use nmake or GNU port of make. A good source of UNIX native tools is http://unxutils.sourceforge.net/ - for native windows grep, diff, zip etc. http://www.cygwin.com - for a shell environment. Installation: * Create the directory "c:\Program Files\Jasspa\MicroEmacs" (or other location) * Create the sub-directory c:\Program Files\Jasspa\MicroEmacs\macros. Unpack and install the memacros.zip into this directory * If spelling dictionaries are required then create the directory c:\Program Files\Jasspa\MicroEmacs\spelling. Unpack and install the spelling into this directory. * Unzip the executable components into "C:\Program Files\Jasspa\MicroEmacs" * Create a short cut to MicroEmacs for the Desktop Right click on the desk top => New => Short => Command Line: "c:\Program Files\Jasspa\MicroEmacs\me.exe -c" => Short Cut Name: "MicroEmacs" MicroEmacs may be executed from the shortcut. Open Actions Microsoft Windows 95/98/NT provide short cut actions, assigning an open action to a file. The short cuts may be installed from the Install Shield installation, but may alternatively be explicitly defined by editing the registry file with regedit(1). A file open action in the registry is bound to the file file extension, to bind a file extension .foo to the editor then the following registry entries should be defined:- [HKEY_CLASSES_ROOT\.foo] "MicroEmacs_foo" [HKEY_CLASSES_ROOT\MicroEmacs_foo\DefaultIcon] "C:\Program File\JASSPA\MicroEmacs\meicons,23" [HKEY_CLASSES_ROOT\MicroEmacs_foo\Shell\open] "&Open" [HKEY_CLASSES_ROOT\MicroEmacs_foo\Shell\open\command] "C:\Program File\JASSPA\MicroEmacs\me32.exe -o "%1"" In the previous example the DefaultIcon entry is the icon assigned to the file. This may be an icon taken from meicons.exe (in this case icon number 23), or may be some other icon. The open action in the example uses the -o option of the client-server, which loads the file into the current MicroEmacs '06 session, alternatively the -c option may be used to retain the previous context, or no option if a new session with no other files loaded is started. A generic open for ALL files may be defined using a wild-card, this may be used to place a MicroEmacs edit entry in the right-click pop-up menu, as follows:- [HKEY_CLASSES_ROOT\*\shell] [HKEY_CLASSES_ROOT\*\shell\MicroEmacs] "&MicroEmacs" [HKEY_CLASSES_ROOT\*\shell\MicroEmacs\command] "C:\Program File\JASSPA\MicroEmacs\me32.exe -o "%1"" ORGANIZING A LOCAL USER PROFILE MicroEmacs uses local user configuration profiles to store user specific information. The user information may be stored in the MicroEmacs directory, or more typically in a users private directory. On login systems then the user name and user private directory location is automatically determined from the system. The user name identified by MicroEmacs is $user-name(5) this value may be set or re-defined using the environment variable $MENAME(5). On MS-DOS and early windows systems where there is no user login then then $MENAME(5) may be defined in the environment. The location of the user information depends upon your platform and installation configuration. The private directory identified by MicroEmacs is $user-path(5) this location may be changed by defining the environment variable $MEUSERPATH(5). Microsoft Windows users may use the me32.ini(8) file to define MicroEmacs configuration path and name information. User Profile Files Files contained in the user profiles typically include:- .emf - The users start up profile - .emf. .edf - The users spelling dictionary. .erf - The users registry configuration file. These files are automatically set up by MicroEmacs. These files are established from the menu "Help->User Setup". The "Setup Path" item defines the location of the files, but must be MANUALLY included in the $MEPATH environment. Company Profiles Company profiles include standard files and extensions to the standard files which may be related to a company, this is typically .emf where is the name of the company. The directory may also include template files etf(8) files which defines the standard header template used in the files. Files in the "company" directory would over-ride the standard template files. SEE ALSO $user-name(5), $user-path(5), $MEINSTALLPATH(5), $MENAME(5), $MENAME(5), $MEPATH(5), $MEUSERPATH(5), Company Profiles, File Hooks, File Language Templates, User Profiles. USER PROFILES This section describes how a user profile should be incorporated into MicroEmacs '06. A user profile defines a set of extensions to MicroEmacs which encapsulates settings which are used by an individual user. The user profile allows:- * Saving of the last session (history), allowing the next invocation of MicroEmacs '06 to restore your previous session. The -c option to me(1) restores a previous sessions buffers to the same state prior to exiting the editor. * Personalized spelling dictionaries. * Redefinition of MicroEmacs '06 operation, allowing the editor to be tailored to an individual's requirements. Including the re-binding of keys, modification of the screen colors. Definition of personal macros etc. Identification In order to identify a user MicroEmacs '06 uses information in the system to determine the name of the user, and in turn the configuration to use. On all systems the value of the environment variable $MENAME(5) takes priority over any other means of user identification. If this variable is not defined then the host system typically provides a mechanism to determine the current user. MS-DOS and Microsoft Windows systems present problems where a login prompt is not used. Each of the supported platforms are now described. UNIX The login name is determined from the /etc/passwd file and defines $user-name(5). The environment variable $MENAME(5) may be defined alter the default user configuration file name. DOS MS-DOS typically has no concept of the user name. The user name may be defined in the autoexec.bat file, choose a name of 8 characters or less, i.e. to fix the user name to fred then add the following line:- SET MENAME=fred Remember to re-boot the system before the new command takes effect. (see the next step, there is another change to autoexec.bat). Microsoft Windows Microsoft windows environments may, or may not, have login enabled. If login is enabled then $user-name(5) is set to the login user name. The login name may be overridden by setting the environment variable $MENAME(5) this may be performed in the environment or through the me32.ini(8) file. Shared Platforms Platforms may share the same set of configuration files. Consider a system which may boot under MS-DOS, Windows '98, NT and Linux. Provided that the macro files are located on a file system that may be mounted by all of the other operating systems and the $MEUSERPATH(5) and $MEPATH(5) are set appropriately to point to the users private MicroEmacs and system directories, then a single set of macro files may be shared across all platforms. Personal MicroEmacs Directory The private user profile is stored in a separate directory. The directory that MicroEmacs uses is typically automatically created at start up, but may be created manually by the user. If the directory is to be placed in a special location then the $MEUSERPATH(5) environment variable should be defined and set to point at this directory location. UNIX In the UNIX environment then the local directory is typically created in the users home directory obtained from the /etc/passwd file and is called ~/.jasspa. MicroEmacs will automatically look for this directory and set the $user-path(5) variable to this value. The location may be overridden by setting the environment variable $MEUSERPATH(5) to reference a different directory location. DOS For MS-DOS environments, there is typically no user directory, it is suggested that the user directory is created in the MicroEmacs directory, use the $MENAME defined in the previous step i.e. mkdir c:\jasspa\fred Change or add the environment variable $MEUSERPATH(5) in the autoexec.bat to include the new directory i.e. SET MEUSERPATH=c:\jasspa\fred Windows In Microsoft Windows environment using Explorer 4.0 or later then a user application data directory exists ($APPDATA) and MicroEmacs will create a directory jasspa in this directory location to hold private data. If there is no such data area then all user configuration is stored in the executable directory location (or a sub-directory called $user-name(5)). The user data area $user-path(5) may be modified by creating a new directory and setting the environment variable $MEUSERPATH(5) to point to this new directory location. The location be specified by a meuserpath entry in the me32.ini(8) file rather than setting the environment variable $MEUSERPATH(5). Creating Your Profile On starting MicroEmacs for the first time then the user is guided through the configuration file setup to create any local configuration files. Once set up then MicroEmacs may be configured using the user-setup(3) dialog:- Help => User Setup The User Profile Files created in the user directory include:- * Setup registry and previous session history $user-name.erf (see erf(8)). This stores the user-setup settings and the context from previous edit sessions. * Users start-up file $user-name.emf (see emf(8)). This is typically referred to as "user.emf" in the documentation and means the users private MicroEmacs macro file. The user may make local changes to MicroEmacs in this file, this may include definition of new key bindings, defining new hook functions etc. You should override the standard MicroEmacs settings from your start-up file rather than modifying the standard MicroEmacs files. * Personal spelling dictionary lsdplang.edf (see edf(8)). Multiple spelling dictionaries may be created, one for each language. Any words that are added to the spelling dictionary are stored in these files. In addition to the above, if new private macro files are constructed then they should be added to this directory (if they are not global to the company). EXAMPLE The following are examples of some individuals start-up files:- ; Jon's special settings ; ; Last Modified <190698.2226> ; ; Macro to delete the whitespace, or if an a word all of the ; word until the next word is reached. define-macro super-delete set-variable #l0 0 !while ¬ &sin @wc " \t\n" forward-char set-variable #l0 &add #l0 1 !done !repeat !force forward-char !if $status set-variable #l0 &add #l0 1 !endif !until &or &seq @wc "" ¬ &sin @wc " \t\n" #l0 backward-delete-char !return !emacro ; Make a previous-buffer command. define-macro previous-buffer &neg @# next-buffer !emacro ; spotless; Perform a clean and remove any multi-blank lines. define-macro spotless -1 clean !emacro ; comment-adjust; Used for comments in electric-c mode (and the other ; electic modes. Moves to the comment fill position, saves having to mess ; around with comments at the end of the line. 0 define-macro comment-adjust ; delete all spaces up until the next character !while &sin @wc " \t" forward-delete-char !done ; Fill the line to the current $c-margin. We use this as ; this is the only variable that tells us where the margin ; should be. !if &gre $window-acol 0 backward-char !if &sin @wc " \t" forward-delete-char !jump -4 !else forward-char !endif !endif ; Now fill to the $c-margin &sub $c-margin $window-acol insert-string " " !emacro ; Macro to force buffer to compile buffer for C-x ' define-macro compile-error-buffer !force delete-buffer *compile* change-buffer-name "*compile*" !emacro ; ; Set up the bindings. ; global-bind-key super-delete "C-delete" global-bind-key beginning-of-line "home" global-bind-key end-of-line "end" global-bind-key undo "f4" !if &seq %emulate "ERROR" global-bind-key comment-adjust "esc tab" global-bind-key comment-adjust "C-insert" ; Like a korn shell please. ml-bind-key tab "esc esc" !endif ; ; Setup for windows and UNIX. ; ; Define my hilighting colour for Windows and UNIX. !if &equ &band $system 0x001 0 !if ¬ &seq $platform "win32" ; Small bold font is better for me. change-font "-*-clean-medium-r-*-*-*-130-*-*-*-*-*-*" !endif !endif ; Change the default diff command-line for GNU diff utility all platforms set-variable %diff-com "diff --context --minimal --ignore-space-change --report-identical-files --recursive" set-variable %gdiff-com "diff --context --ignore-space-change -w" ; Setup for cygwin !if &seq $platform "win32" set-variable %cygwin-path "c:/cygwin" set-variable %cygwin-hilight 1 !endif ; Set up the ftp flags. The letters have the following meaning: ; c - Create a console (*ftp-console* for ftp, *http-console* for http) ; s - Show the console ; p - Show download progress ('#' every 2Kb downloaded) set-variable %ftp-flags "csp" ; Info files ;To hilight the .info and also the dir file add-file-hook ".info dir" fhook-info ; Info-files ;To hilight all info files without the extension .info ;but starting with the text "This is info file.. -2 add-file-hook "This is Info file" fhook-info ; Finished ml-write "Configured to Jon's requirements" SEE ALSO user-setup(3), $search-path(5), $user-name(5), $user-path(5), $MEINSTALLPATH(5), $MENAME(5), $MEPATH(5), $MEUSERPATH(5), me32.ini(8), Company Profiles, File Hooks, File Language Templates, Installation. COMPANY PROFILES This section describes how a company profile should be incorporated into MicroEmacs '06. A company profile defines a set of extensions to MicroEmacs which encapsulate settings which are used on a company wide basis. This type of configuration is typically used with a networked (shared) installation. The company profile would typically include:- * Name of the company. * Standard header files including company copyright statements. * Standard file layouts * Company defined language extensions. Location Of The Company Information It is suggested that all of the company extensions applied to MicroEmacs '06 are performed in a separate directory location which shadows the MicroEmacs standard macro file directory. This enables the original files to be sourced if a user does not want to include the company files. This method also allows MicroEmacs to be updated in the future, whilst retaining the company files. The company files are generally placed in the company sub-directory described in the installation notes. Content Of The Company Information Company macro file The company file is typically called by the company name (i.e. jasspa.emf) create a new company file. The file includes your company name and hook functions for any new file types that have been defined for the company, an example company file for Jasspa might be defined as:- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; Author : Jasspa ; Created : Thu Jul 24 09:44:49 1997 ; Last Modified : <190698.2225> ; ; Description Extensions for Jasspa ; ; Notes ; ; History ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Define the name of the company. set-variable %company-name "Jasspa" ; Add Jasspa specific file hooks ; Make-up foo file hook add-file-hook ".foo" fhook-foo 1 add-file-hook "-!-[ \t]*foobar.*-!-" fhook-foo ; -!- foobar -!- ; Override the make with localised build command set-variable %compile-com "build" The file contains company specific file hooks and the name of the company. Other Company Files Files defined on behalf of the company are included in the company directory. These would include:- * Template header files etf(8). * Hook file definitions (hkXXX.emf) for company specific files, see add-file-hook(2). * Extensions to the standard hook definitions (myXXX.emf) for company specific language extensions to the standard hook files. See File Hooks and File Language Templates. SEE ALSO $MEINSTALLPATH(5), $MENAME(5), $MEPATH(5), File Hooks, File Language Templates, Installation, user-setup(3), User Profiles.