Desde Emacs 21, ha habido un módulo denominado 'newcomment
, que tiene diferentes estilos de comentarios (véase la variable 'comment-styles
Este ajuste se acerca a lo que quiere:
(setq comment-style 'multi-line)
(Nota: probablemente debería hacer esa .. puesta en 'c-mode-hook
)
Sin embargo, ninguno de los ajustes hacen que los comentarios se parecen a lo que quiere
La forma más fácil vi a conseguir lo que quieres es añadir este truco:
(defadvice comment-region-internal (before comment-region-internal-hack-ccs activate)
"override 4th argument to be just spaces"
(when (eq major-mode 'c-mode) ; some condition here
(let ((arg (ad-get-arg 4)))
(when arg
(ad-set-arg 4 (make-string (length arg) ?\))))))
Los valores actuales de comment-style
siempre el prefijo líneas de comentario con "*" (si no el conjunto "/ *").
Si no tiene Emacs 21, supongo que podría simplemente descargar newcomment.el
del repositorio. No sé si funciona como está en versiones anteriores de Emacs, pero podría valer la pena, aunque actualizar Emacs sería una mejor solución.
Mi hack rompe el 'uncomment-region
. Una solución adecuada sería cambiar 'comment-padright
. Eso requeriría un poco más de investigación para no romper otras cosas. El truco anterior solo cambia el comportamiento en 'c-mode
(ajuste la condición a su gusto).
Lo único que me da Google para "comment-estilos" es http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=3371 Emacs Ch a comment-estilos no da nada ya sea. –
Está definido en Emacs 23.1, ¿está utilizando una versión anterior? –
Estoy usando los Emacs que vienen con Ubuntu/FreeBSD. En Windows tengo Emacs 23.1 pero ahora estoy usando FreeBSD y dice 22.3.1. De todos modos tu ejemplo funcionó, así que gracias. –