Questions marquées «elisp-macros»

2
«Et» vs «quand» pour les conditions
Il s'agit d'un suivi des commentaires sur cette réponse . Les bits de code suivants semblent être équivalents: (and a b) (when a b) Bien sûr, andvous permet de mettre plus de conditions: (and a b c d)signifie(when (and a b c) d) J'ai tendance à utiliser whenuniquement pour exprimer …


1
Une macro avec defcustom entraîne l'erreur «La valeur du symbole car la variable est nulle» lors de la compilation d'octets
Dans deux de mes packages, j'ai une macro où le corps dépend d'une variable définie dans un defcustomformulaire. Lors de l'installation des packages depuis Melpa, la compilation d'octets se termine par: Erreur: la valeur du symbole en tant que variable est vide: my-defcustom-variable Ensuite, la compilation d'octets manuellement le fichier …

3
Quand utiliser la macro ou ne pas utiliser [fermé]
Fermé . Cette question doit être plus ciblée . Il n'accepte pas actuellement les réponses. Voulez-vous améliorer cette question? Mettez à jour la question afin qu'elle se concentre sur un problème uniquement en modifiant ce message . Fermé il y a 4 ans . Quand dois-je utiliser la macro dans …

2
Comment utiliser sans entrée?
De la docstring: N'exécutez BODY que tant qu'aucune entrée n'est en attente. Si l'entrée arrive, cela met fin à l'exécution de BODY et while-no-inputrenvoie t. Quitter le fait retourner nul. Si BODY se termine, while-no-inputrenvoie la valeur produite par BODY. Si je comprends bien, cette macro me permet (d'essayer) d'effectuer …

3
Comment puis-je créer plusieurs défuns en parcourant une liste?
Je travaille à l' optimisation de ma configuration emacs où je peux créer dynamiquement des fonctions interactives pour tous les thèmes que j'ai dans une liste. Voici une version simplifiée de la construction que j'essaie de faire fonctionner. ;; List containing names of functions that I want to create (setq …

1
Comment la portée des variables pour les macros est-elle déterminée?
Prenez l'exemple de macro suivant, défini dans macro.el. (defmacro some-macro (&rest body) `(let ((some-variable 1)) ,@body)) Et prendre la fonction suivante, définie dans un autre fichier , function.el. (defun some-function () (some-macro (do-something))) Quand function.elest compilé en octets, sera-t- some-variableil lié sous une liaison lexicale ou dynamique? Je comprends que …

1
eval-when-compile: defsubst vs defmacro vs define-inline
J'ai défini quelques fonctions simples dans init.el, par exemple my-cache-file: (defconst my-cache-directory (expand-file-name ".cache" user-emacs-directory)) ; ~/.emacs/.cache (defun my-cache-file (x) (expand-file-name x my-cache-directory)) ; ~/.emacs/.cache/x (setq savehist-file (my-cache-file "savehist")) (setq backup-directory-alist `(("." . ,(my-cache-file "backups/")))) Cela semblait être un bon cas d'utilisation pour defsubst: (defsubst my-cache-file (x) ...) Ensuite, j'ai …


1
Charges automatiques et variables
Je comprends ce que le chargement automatique fait pour les fonctions (enregistrer le fichier à charger lorsqu'une telle fonction est appelée ou que sa chaîne de documentation est récupérée). Cependant, il n'est pas clair comment utiliser la fonction de chargement automatique en conjonction avec des variables et des macros. J'ai …
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.