Go to the first, previous, next, last section, table of contents.


Installing FUSE

Unpacking the distribution

@fuse{} is distributed in two compressed archive formats. One uses the standard unix TAR and GZIP utilities, the other uses ZIP. Their contents are the same. Use whichever one is more convenient for you.

You can unpack the distribution any place on your disk. One of the steps of the installation discussed in See section Configuring, making, and installing. will move all of the necessary files to their final home. To unpack the TARred and GZIPped file, cd to your lisp directory and execute these commands:

    > gunzip fuse.tar.gz
    > tar xvf fuse.tar

To unpack the ZIPped file, execute this commands:

    > unzip fuse.zip

After doing one of those steps, you will find that the @fuse{} distribution has been unpacked into a subdirectory called `fuse-#.#.#', where the `#' signs denote the current version number of @fuse{}.

Now cd into the `fuse-#.#.#' subdirectory. Here is what you will find in that directory.

Configuring, making, and installing.

Before starting, you need to decide on a few things. During the first step in the installation process, you will be asked a few questions that @fuse{} needs to know to install itself properly. These are

  1. Will you be using Emacs or XEmacs?(1). XEmacs refers to the version from @url{http://www.xemacs.org}.}
  2. In which directory will you be installing @fuse{}? If you are installing @fuse{} as a normal user, then this should be a directory where you keep personal Emacs lisp files. If you are installing @fuse{} as root, then this should be the `site-lisp' directory. Telling the wrong place to the installation script will result in @fuse{} not being accessible to Emacs.
  3. What is the location of perl on your computer? The `configure' script will most likely be able to determine this, but if it fails you will need to supply its location. Perl is required to properly install various scripts the @fuse{} uses to plot data and perform other chores. You can determine its location by which perl under tcsh or type perl under bash.
  4. Do you want the installation script to edit your `.emacs' file so that @fuse{} is automatically used with input files. To do so the script will write several lines to your `.emacs' file. If you have previously installed @fuse{} then it is probably safe to answer no to this question. If you are installing this as root, you will have to edit the `site-start.el' file by hand with the lines printed to the screen at the end of the configuration step.(2) will handle this for the root installation, but the current version does not.}

Once you have decided on these points, type configure at the command line. This is an interactive script that asks you for the answers to the questions. Just follow the instructions printed on the screen.

Once the configuration is done, type make then make install. Please note that if the location where you intend to have @fuse{} installed is the same as the place where you unpacked it, you should skip the make install step. Nothing bad will happen if you don't skip it, but you will get a lot of non-critical but alarming looking error messages.(3)

The lines that are added to the `.emacs' file look something like this, with ~/lisp/fuse/ replaced by the installation location on your computer:

       (setq load-path
             (append (list "~/lisp/fuse/" ) load-path))
       (setq auto-mode-alist
             (append (list (cons "\\.inp$" 'input-mode))
                     auto-mode-alist))
       (autoload 'fuse-mode "fuse" t)
       (autoload 'input-mode "input" t)
       (add-hook 'dired-load-hook
                 '(lambda () (load-library "fuse-dired")))

The first two lines tell emacs where to find @fuse{}. The next three lines tells Emacs to use @fuse{} for files ending in `.inp'. The two `autoload' lines tell Emacs how to start using @fuse{}. The last allows for batch processing of input files using dired mode in Emacs.

Customizing FUSE

There are lots of variables which can be set to customize the appearance and behavior of @fuse{}. The variables are listed in the quick reference card which comes with @fuse{} or can be listed using the `variable apropos' function in Emacs or the `hyper apropos' function in XEmacs. There are at least four ways to do so, some more convenient than others.

  1. At any time while using @fuse{}, you can type M-x set-variable and respond with the name of the variable you want to change and the value you want to change it too. This solution, however, does not last between Emacs sessions. To make a permanent change you need to do one of the other things in this list.
  2. Add lines to your `.emacs' file. Take a look at the file `dot-emacs' that comes with @fuse{} for an example of this. The best way to set a user variable in `.emacs' is
           (add-hook 'fuse-mode-hook '(lambda ()
                    (setq input-comment-char "% ")
                    (setq input-stanza-indent 2)   ))
    
    In this example I set two user variables to their default values.
  3. Create a file called `.fuse'. This file is read when a buffer first enters Input mode. It contains Emacs lisp statements for setting the values of the variables. An example of a `.fuse' file is given with the @fuse{} distribution in a file called `dot-fuse'. In this example, every user configurable is set to its default value. The lines of the `.fuse' file look like these two:
      (setq input-comment-char "% ")
      (setq input-stanza-indent 2)
    
    This is a little redundant with the `.emacs' file, but it is convenient to have another place to put your @fuse{} customizations and keep clutter out of `.emacs'.
  4. If you are using GNU Emacs 20 or XEmacs 20, or if you have the `custom' package specially installed for version 19 of either program, you can use it to set and save changes to @fuse{}'s user variables. This is the easiest way of customizing @fuse{} or any other Emacs package. Just type M-x customize-group and answer fuse. You will then be presented with a hypertext buffer for setting the @fuse{} user variables. @fuse{} is in the Local customization group.


Go to the first, previous, next, last section, table of contents.