Comment puis-je savoir quel package emacs intégré doit être «requis»?

8

Je lisais le journal des modifications pour emacs 24.4 ( C-hn) et essayais de voir ce qu'est la fonction de notification de fichier. J'ai essayé de faire C-hvune variable associée auto-revert-use-notifymais rien ne s'est affiché.

J'ai ensuite cherché ce nom de variable dans le code source emacs et j'ai découvert qu'il était utilisé dans lisp/autorevert.el. Après cela (require 'autorevert), toutes les fonctions et variables sous-jacentes ont été définies.

Question: Comment savoir si et ce dont j'ai besoin requiresi je veux utiliser une fonction intégrée emacs alors inactive? Existe-t-il une liste de ces packages?

Kaushal Modi
la source
J'utilise souvent helm apropos pour savoir quels types de commandes / fonctions / variables sont à ma disposition. Il s'avère que parfois le paramètre exact que je veux est "intégré", mais je dois d'abord requireson package.
nispio

Réponses:

6

Pour autant que je sache, la réponse à vos questions est " Vous ne pouvez pas savoir " et " Il n'y a pas une telle liste de bibliothèques ".

aproposet les commandes similaires sont basées uniquement sur ce qui est actuellement chargé ou chargé automatiquement, pas sur ce qui est distribué avec Emacs. À moins que quelque chose ne soit (a) intégré (c'est-à-dire en code C), (b) disponible à partir d'une bibliothèque déjà chargée, ou (c) chargé automatiquement, il n'est pas sélectionné par de telles commandes.

Dans ce cas, votre seul recours est de rechercher le code source (pour autant que je sache). Grepping est une façon de le faire.

Si une variable telle que auto-revert-use-notify(qui est une option utilisateur) est explicitement mentionnée dans les Emacs NEWS ( C-h N), alors ce serait génial si cette mention était liée à la bibliothèque source qui la définit, vous pouvez donc simplement RETcliquer ou cliquer mouse-2sur son nom pour ouvrir le fichier de bibliothèque à sa définition. Vous souhaiterez peut-être utiliser M-x report-emacs-bugpour déposer cela comme une demande d'amélioration.

(Il peut également être utile d'avoir une commande pour le faire en général: recherchez la définition d'une variable ou d'une fonction dans le code source distribué, sans que la bibliothèque ait besoin d'être chargée. Dans ce cas, vous connaissiez le nom exact de la variable, mais a dû greptrouver où il est défini.)

A dessiné
la source
On dirait qu'il est temps pour un require+package qui vous permet de parcourir les symboles des packages qui n'ont pas encore été chargés. ;-)
nispio
@nispio: Allez-y! Avec des comportements facultatifs pour rechercher soit (1) les bibliothèques fournies avec la distribution Emacs, soit (2) les bibliothèques de votre load-path. ;-) (Mais une bibliothèque nommée apropos+.elexiste déjà, même minime, et ce n'est pas vraiment une question require.)
Drew