{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf460 {\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset0 Monaco;} {\colortbl;\red255\green255\blue255;\red0\green79\blue175;\red11\green12\blue197;} \margl1440\margr1440\vieww11680\viewh13920\viewkind0 \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural \f0\b\fs28 \cf2 \ul \ulc3 Context-Menu-CM \b0\fs22 \cf0 \ulnone \ \fs24 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural \b \cf0 Usage \b0 :\ This code provides a simple mechanism for allowing multiple tools to use Hemlock's contextual popup menu. It is based on the idea of a "default" tool. Right-Click in a Hemlock window produces the default tool's popup menu. The default tool popup menu has tool-specific entries, but it also has a "Tool" submenu. The "Tool" submenu lists all other available tools. Selecting a tool makes it the default.\ \ Currently, there are three tools that you can load:\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural \cf3 \cf2 CL-Documentation-CM\cf0 -- provides access to documentation for :CL symbols. \ \cf3 \cf2 Hemlock-Commands-CM\cf0 -- provides access to documentation for Hemlock commands.\ \cf2 List-Definitions-CM\cf0 -- provides a listing of file definitions, plus 2 history lists.\ (See the respective ReadMe files for details.)\ \ The point of the utility, however, is to make it easy to select which tools you want to use and to make it easy to write and integrate your own new tools. There is a simple API for this, described in the file "NewTools".\ \ \pard\pardeftab720\ql\qnatural \b \cf0 HyperSpec \b0 : CL-Documentation-CM and Hemlock-Commands-CM require the HyperSpec. You either have to be connected to the internet,\cf2 \cf0 or you need to use a local copy and set this variable in ~/ccl-init.lisp:\ \ \pard\pardeftab720\ql\qnatural \f1\fs20 \cf2 ;;; Use your own path here, if you are using a local copy of the HyperSpec: \f0\fs24 \cf0 \ \f1\fs20 \cf2 (setq gui::*hyperspec-root-url* (gui::pathname-to-url "/Lisp/hyperspec-7-0/")) \f0\fs24 \cf0 \ Set the variable before you require the tools. A local copy is recommended.\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural \cf0 \ \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural \b \cf0 Setup: \b0 \ \pard\pardeftab720\ql\qnatural \cf2 cd ccl/contrib/\ svn update\ \ \cf0 That will pull in new versions of all contribs, including Context-Menu, Hemlock-Commands-CM, CL-Documentation-CM and List-Definitions-CM.\ \cf2 \ \cf0 In the Listener or in ~/ccl-init.lisp execute these forms:\ \ \pard\pardeftab720\ql\qnatural \f1\fs20 \cf2 ;;; Use your own path here, if you are using a local copy of the HyperSpec: \f0\fs24 \cf0 \ \f1\fs20 \cf2 (setq gui::*hyperspec-root-url* (gui::pathname-to-url "/Lisp/hyperspec-7-0/")) \f0\fs24 \ \ \f1\fs20 (require :context-menu-cm)\ (require :cl-documentation-cm)\ (require :list-definitions-cm)\ (require :hemlock-commands-cm)\ (cmenu:set-default-tool "List-Definitions-CM") \f0\fs24 \ \ \pard\pardeftab720\ql\qnatural \cf0 Then (but only as a last resort) read the documentation for each tool.\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural \cf0 \ Context-Menu-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.\ \ \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural \b \cf0 Shareware \b0 :\ If you decide to use Context-Menu-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.\ \ }