Lors de l'édition du code Lisp, parfois il est utile de commenter entièrement une définition de haut niveau, comme celui-ci:Comment commentez-vous tout ou partie d'un Lisp s-exp en utilisant Paredit?
;(defun some-fn-which-is-broken (x)
; ...)
... ou commenter seulement une partie d'un texte, comme l'expression suivante:
(foo x
; y
z)
... puis recompiler le fichier et quelque chose test dans le REPL, etc.
Avec paredit-mode activé, cela ne fonctionne pas. Voici ce qui arrive, si le point est juste avant la première paren ci-dessous:
(defun some-fn (x)
...)
et que vous tapez un point-virgule, ce qui est entré est un point-virgule et une nouvelle ligne:
;
(defun some-fn (x)
...)
Même avec en commentant une partie s de l'expression:
(foo x
;
y
z)
Je pense que si la définition est sur une seule ligne, cela fonctionne:
;(defparameter *foo* 10)
... mais sinon je ne sais pas comment faire. Paredit est génial, j'aimerais vraiment continuer à l'utiliser. Y a-t-il des Lispers qui connaissent un moyen de contourner ce problème, ou des sorciers Emacs qui peuvent utiliser un peu Emacs Lisp pour se lier à quelque chose comme paredit-comment-out-s-expr
?
S'il y a une manière plus Lispy ou Emacsy de faire essentiellement la même chose, en commentant des parties de source à recompiler, n'hésitez pas à les suggérer!
Magnifique! Juste ce que je voulais. Merci! – spacemanaki
@spacemanaki En outre, en appuyant plusieurs fois sur C-M-SPC, sélectionnez plusieurs expressions s et appuyez sur C-M-u plusieurs fois pour atteindre la position souhaitée avant d'appuyer sur C-M-SPC –
Remarque: cela ne fonctionne pas. – Ven