emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: awesome feature (yet to be added?)


From: Stefan Monnier
Subject: Re: awesome feature (yet to be added?)
Date: Fri, 30 May 2014 21:30:39 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux)

> Emacs. My use case is outorg.el that converts programming language buffers
> (structured the outshine way, i.e. with outcommented Org-mode headers)
> temporarily to org-mode for text editing and then back to the
> programming major-mode.

After uncommenting, how do you know which lines should be recommented?
Do you remember them in some variable?  Or do you wrap the code parts in
those (ugly) +begin...+end "brackets"?
Do you uncomment all comments, or only those that "look like Org stuff"?

> the original major-mode. I do this linewise, and in fact outorg can't
> handle those special multiline comments like in C or Java. 

Why do it line-wise?

> A robust generic (= major-mode agnostic) `invert-comment' function as
> part of Emacs that knows how to handle multiline comments too would come
> very handy.

It looks like the exact meaning of such a function is slightly different
for every one, so such a function would need lots of hooks and config
vars to cover all cases.

But you can write your own function starting with

   (defun my-uncomment-region (beg end)
     (let (spt)
       (while (and (< (point) end)
                   (setq spt (comment-search-forward end t)))
         (let ((ept (progn
                      (goto-char spt)
                      (unless (or (comment-forward)
                                  ;; Allow non-terminated comments.
                                  (eobp))
                        (error "Can't find the comment end"))
                      (point))))
           (uncomment-region spt ept)))))


-- Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]