2010-02-07 13 views

Répondre

6

define-derived-mode crée lui-même une table de touches avec le nom MODE-map, où MODE est le nom de la table de touches que vous venez de définir. Je ne suis pas sûr de ce que fait derive-mode-set-keymap ce n'est pas déjà fait avec define-derived-mode; en regardant la source, ils font des choses similaires, et je ne suis pas sûr des différences de très bas niveau entre les deux (eg define-derived-mode quitte la table de touches du mode parent comme parent de la nouvelle table de touches tandis que `derive-mode-set-keymap fusionne également les keymaps, quelle est la différence fonctionnelle entre les deux?).

Si vous effectuez les opérations suivantes:

(define-derived-mode foobar-mode text-mode "foo") 

Les variables suivantes seront définies:

  • foobar-mode-abbrev-table
  • foobar-mode-hook
  • foobar-mode-map
  • foobar-mode-syntax-table

Vous pouvez ensuite commencer à manipuler l'un de ceux-ci comme vous le souhaitez.

+0

Merci, cela a du sens. De plus, d'autres exemples de Lisp utilisant le mode defined-derived me font plus de sens maintenant. –