List-Definitions-CM

This code is part of a collection of Context-Menu tools.  For general information see: ccl/contrib/foy/context-menu/ReadMe.  You must (require :context-menu-cm) to use this, but you can choose which of the other tools you want to load.  There is also a standalone version of this code called simply, List-Definitions.

Features:
List-Definitions-CM adds a dynamic contextual popup menu to Hemlock:
    Right-Click -->  produces an alphabetized listing of the file's definitions.
    Command-Right-Click -->  produces a positional listing of the file's definitions.
    Alt-Right-Click -->  produces a position history list.
    Alt-Command-Right-Click -->  produces a file history list.

The history lists contain up to 25 most-recently-visited positions or files.  The lists are persistent and are stored here:

~/Library/Preferences/org.clairvaux/list-definitions/position-history
~/Library/Preferences/org.clairvaux/list-definitions/file-history

These actions add a definition position to the history list:
    Meta-Period
    Control-x, Control-e
    Control-x, Control-c
    Using the definitions popup
    Shift-Control-Space

Note:  When you start a new session, you can resume the previous session's work by accessing the history lists in the Listener window.

HyperSpec: Some tools require the HyperSpec.  See the Context-Menus/ReadMe.

Setup:
cd  ccl/contrib/
svn update

That will pull in new versions of all contribs, including Context-Menu-CM, Hemlock-Commands-CM, CL-Documentation-CM and List-Definitions-CM.

In the Listener or in ~/ccl-init.lisp execute these forms:

;;; Use your own path here, if you are using a local copy of the HyperSpec:
(setq gui::*hyperspec-root-url* (gui::pathname-to-url "/Lisp/hyperspec-7-0/"))

(require :context-menu-cm)
(require :cl-documentation-cm)
(require :list-definitions-cm)
(require :hemlock-commands-cm)
(cmenu:set-default-tool "List-Definitions-CM")

List-Definitions-CM and the other tools are also available at:   www.clairvaux.org/downloads/
But updating the contribs directory and then requiring what you need works nicely.

Shareware:
If you decide to use List-Definitions-CM on a regular basis, please make a $5 contribution to either the Save Darfur Coalition or the World Wildlife Fund.  You can do this online.