Next: , Previous: What is predictive completion?, Up: Top


2 Obtaining and Installing

The current version of the predictive completion package can be obtained from http://www.dr-qubit.org/emacs.php.

If you are upgrading from a previous version, make sure you first backup dictionaries you use by dumping the words and data they contain to files (unless you want to start from scratch). To make the backups, use predictive-dump-dict-to-file. See Loading and Saving Dictionaries. It is not enough to make a copy of the dictionary file. Only the plain-text “dumped” format is guaranteed to be portable across different versions of predictive mode.

However, this version of the predictive completion package (version 0.22 and newer, or more specifically version 0.12 and newer of the dict-tree.el library) uses a different format than earlier versions, even for the “dumped” files! To port a dictionary from older versions to this version, use the following procedure:

  1. backup the dictionay using predictive-dump-dict-to-file as just described, using the old version of the predictive package;
  2. start Emacs;
  3. load the predictive-convert-dump-format library (included in this version of the predictive completion package) using M-x load-file /path/to/predictive-convert-dump-format.el;
  4. open the “dumped” dictionary backup file in Emacs;
  5. run the predictive-convert-dump-format command;
  6. recreate the dictionary using the predictive-create-dict command (see Creating Dictionaries).

Repeat this procedure for each dictionary that you want to port to this new version.

Older versions of the predictive completion package saved dictionaries in a compiled form that was not portable across different versions of Emacs. Newer versions now automatically save dictionaries in both compiled and uncompiled forms. If you are upgrading to a different version of Emacs, but continuing to use the same recent version of the predictive completion package, then it is sufficient to delete the compiled dictionary files (extension .elc, but make sure you do not delete the uncompiled files with extension .el!), and let predictive mode recompile them automatically when the dictionaries are saved.

However, backing up your dictionaries by dumping them to plain-text files, as described above, is still a very good idea (just to be on the safe side!).

To install the package, extract the files using tar -xvzf predictive.tar.gz. This will unpack the files in a new directory called predictive/. Now byte-compile all the Lisp files and create the required dictionaries by running make in the predictive/ directory. If necessary, you can specify explicitly where your Emacs resides with make EMACS=/path/to/emacs.

Then run make install to copy the package files to ~/.emacs.d/predictive/ (the ~/.emacs.d/ directory will be created if it doesn't already exist). If you want to install the files elsewhere, you can change the default install location using make install DESTDIR=/path/to/install/ and the package files will be copied to the /path/to/install/ directory.

The dictionaries are intended to be user-specific, and must be writable by your user. If you're performing a site-wide installation of the predictive package, the dictionary files (all files starting with the prefix dict- and ending in .elc or .el, except dict-tree.el) need to be copied to a separate writable directory for each user. For this reason, the dictionaries will still be installed under ~/.emacs.d/predictive/ even if DESTDIR is specified. (You will have to copy them manually for any other users who want to use predictive.) If you want to change the dictionary install location, use make install DICTDIR=/path/to/dictionaries/. This can of course be combined with the DESTDIR option: make install DESTDIR=/path/to/install/ DICTDIR=/path/to/dictionaries/.

Finally, put the following lines in your .emacs file (replace the paths as appropriate if you're not using the default install locations):

     ;; predictive install location
     (add-to-list 'load-path "~/.emacs.d/predictive/")
     ;; dictionary locations
     (add-to-list 'load-path "~/.emacs.d/predictive/latex/")
     (add-to-list 'load-path "~/.emacs.d/predictive/texinfo/")
     (add-to-list 'load-path "~/.emacs.d/predictive/html/")
     ;; load predictive package
     (require 'predictive)

Alternatively, you can save memory and only load the lisp libraries when they're needed (i.e. when you first run the predictive-mode command), by replacing the final line as follows:

     ;; predictive install location
     (add-to-list 'load-path "~/.emacs.d/predictive/")
     ;; dictionary locations
     (add-to-list 'load-path "~/.emacs.d/predictive/latex/")
     (add-to-list 'load-path "~/.emacs.d/predictive/texinfo/")
     (add-to-list 'load-path "~/.emacs.d/predictive/html/")
     ;; load predictive package
     (autoload 'predictive-mode "~/.emacs.d/predictive/predictive"
               "Turn on Predictive Completion Mode." t)

If you want to install the info documentation into your local info system, you should run the following command as root: make info-install. If your info dir file is not located in /usr/share/info/, then you can specify its location using make info-install INFODIR=/path/to/info/.

For more details, and for alternative installation options, you should consult the INSTALL file included in the predictive package.