[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#21072: Brave new mark-defun (and a testing tool)
From: |
npostavs |
Subject: |
bug#21072: Brave new mark-defun (and a testing tool) |
Date: |
Tue, 18 Apr 2017 20:04:35 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Marcin Borkowski <mbork@mbork.pl> writes:
>> Oh, right, I thought it was doing backward-comment, but the difference
>> is that it stops at blank lines, thus the *non-redundant* looking-at
>> call.
>>
>> I wonder if that's a sensible thing to do for languages that have
>> multiline comments though, e.g. Javascript:
>>
>> /*
>>
>> This function returns 0
>>
>> */
>> function foo () {
>> return 0;
>> }
>>
>> Although we might say that such comments should have "*" on the empty lines.
>
> Definitely. OTOH, what if they don't...? I'm not sure how to detect
> such a situation. Any ideas?
(defun beginning-of-defun-comments (&optional arg)
"Move to the beginning of ARGth defun, including comments."
(interactive "^p")
(unless arg (setq arg 1))
(beginning-of-defun arg)
(while (let ((pt (prog1 (point) (forward-line -1)))
(ppss (syntax-ppss)))
(cond ((nth 4 ppss) (goto-char (nth 8 ppss)))
((and (parse-partial-sexp
(point) (line-end-position) nil t ppss)
(not (bolp)) (eolp)))
(t (goto-char pt) nil)))))
However there will always be some comment style that doesn't work, e.g.
// Some description followed by a blank.
function name(arg) {
}
Another option is to give up the comment marking, it seems a bit
complicated to implement and explain to users.
- bug#21072: Brave new mark-defun (and a testing tool), Glenn Morris, 2017/04/02
- bug#21072: Brave new mark-defun (and a testing tool), Marcin Borkowski, 2017/04/21
- bug#21072: Brave new mark-defun (and a testing tool), Marcin Borkowski, 2017/04/21
- bug#21072: Brave new mark-defun (and a testing tool), npostavs, 2017/04/22
- bug#21072: Brave new mark-defun (and a testing tool), Marcin Borkowski, 2017/04/24
- bug#21072: Brave new mark-defun (and a testing tool), npostavs, 2017/04/24
- bug#21072: Brave new mark-defun (and a testing tool), Marcin Borkowski, 2017/04/25
- bug#21072: Brave new mark-defun (and a testing tool), npostavs, 2017/04/25