J'ai fait une fonction personnalisée qui combine deux fonctions du mode Twitter , twittering-favorite
et twittering-native-retweet
cependant ces deux ont besoin de ma part en répondant à une question oui ou non.
Je veux savoir s'il existe un moyen d'envelopper ces deux fonctions avec quelque chose qui leur fera recevoir une réponse sans mon intervention directe.
twittering-mode
(et je ne prendrai pas la peine d'accéder au code), mais comme un conseil général: généralement, au lieu de faire ce que vous suggérez (faire du code qui simule la réponse d'un utilisateuryes
), il est préférable de faire du code qui utilise directement le code qui attend la réponse. IOW, essayez de tirer parti du chemin du code source qu'uneyes
réponse provoquerait à invoquer. (Juste une suggestion.)Réponses:
EDIT: Comme @hatschipuh l'a souligné dans les commentaires, une
flet
construction de type est plus simple et ne repose pas sur ma macro de conseil idiosyncrasique. Au moins sur mon Emacs (24.5.1),cl-flet
utilise la portée lexicale, vous aurez donc besoin dunoflet
package pour que l'extrait de code suivant fonctionne. Faites défiler vers le bas pour la réponse originale et idiosyncrasique.EDIT: Ceci est la réponse d'origine, sauf que j'ai corrigé
my/bypass-confirmation-all
de travailler comme annoncé et changé un peu les conventions d'appel.Voici un wrapper général qui devrait fonctionner pour n'importe quelle fonction.
Ce code dépend de cette macro, qui semble être ma solution de choix pour tout sur Stackexchange.
Je ne sais pas si ce code est le moyen le plus intelligent de gérer cette situation. En général, j'aime utiliser ce genre de conseils temporaires pour apporter des modifications aux fonctions existantes au lieu de dupliquer le code des fonctions d'origine, en partie parce que cela aide à pérenniser votre fonction modifiée contre les changements indépendants de l'original. Mais dans ce cas, vous devrez peut-être prendre des précautions supplémentaires, car si les
twittering-mode
mises à jour et les modifications des invites ou en ajoute une supplémentaire, vous ne verrez pas les modifications. Puisqu'une invite y ou n indique un choix controversé, cela pourrait avoir des conséquences malheureuses.EDIT: Il m'est venu à l'esprit qu'un exemple d'utilisation pourrait être utile. Cet exemple fonctionne avec l'une ou l'autre implémentation.
la source
(flet ((yes-or-no-p (prompt) t) (y-or-n-p (prompt) t)) body...)