From: Antonin Houska <ah@cybertec.at>
To: npostavs@users.sourceforge.net
Cc: 26049@debbugs.gnu.org
Subject: bug#26049: 25.2; Extra lines not added to comment
Date: Sat, 23 Sep 2017 09:41:37 +0200 [thread overview]
Message-ID: <17405.1506152497@localhost> (raw)
In-Reply-To: <20705.1490770493@localhost>
[-- Attachment #1: Type: text/plain, Size: 2267 bytes --]
Antonin Houska <ah@cybertec.at> wrote:
> npostavs@users.sourceforge.net wrote:
>
> > Antonin Houska <ah@cybertec.at> writes:
> > >
> > >> > (progn (goto-char end) (end-of-line) (skip-syntax-backward " ")
> > >> > (<= (point) end))
> > >> > (or block (not (string= "" comment-end)))
> > >> > ! (or block (progn (goto-char beg) (search-forward
> > >> > ! "\n"
> > >> > ! (min (1+ end) (point-max)) t)))))
> > >
> > >> Maybe (re-search-forward "$" end t) is better? It's a bit unclear to me
> > >> what exactly all those tests are looking for. That code could use some
> > >> comments...
> > >
> > > I've just verified your approach - it does work too.
>
> > "$" also matches at the end of buffer even if it doesn't end in newline
> > (which is a very marginal corner case, I just happened to notice it
> > because I didn't hit RET in my test buffer).
>
> IMO this is ok. If the 'extra-line value of `comment-style' tells that the
> comment should look like this
>
> /*
> * some comment
> */
>
> it'd be kind of inconsistend if just a missing RET at the end of buffer
> resulted in this
>
> /* some comment */
>
> which effectively means discrepancy from the customization setting.
>
> (The initial version of my patch ignored the `extra-line' setting in this
> special case, but it was a thinko rather than intention.)
>
> >
> > > + ;; Trim trailing whitespace from cs if there's some.
> > > + (setq cs (string-trim cs))
> >
> > This would trim leading whitespace too, do we want that?
>
> I haven't noticed any related issue but yes, string-trim-right is more
> precise. If the (supposedly accidental) leading space should be removed from
> the value of `comment-start', it should probably happen elsewhere in the code
> because it's not specific to the 'extra-line style.
The next version of the patch (with string-trim replaced with
string-trim-right) is below. Is there anything else I should do?
--
Antonin Houska
Cybertec Schönig & Schönig GmbH
Gröhrmühlgasse 26
A-2700 Wiener Neustadt
Web: http://www.postgresql-support.de, http://www.cybertec.at
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: newcomment.diff --]
[-- Type: text/x-diff, Size: 1524 bytes --]
diff --git a/lisp/newcomment.el b/lisp/newcomment.el
new file mode 100644
index 1af8929..f2d9735
*** a/lisp/newcomment.el
--- b/lisp/newcomment.el
***************
*** 69,74 ****
--- 69,77 ----
;;; Code:
+ (eval-when-compile
+ (require 'subr-x))
+
;;;###autoload
(defalias 'indent-for-comment 'comment-indent)
;;;###autoload
*************** the region rather than at left margin."
*** 1139,1144 ****
--- 1142,1150 ----
;; make the leading and trailing lines if requested
(when lines
+ ;; Trim trailing whitespace from cs if there's some.
+ (setq cs (string-trim-right cs))
+
(let ((csce
(comment-make-extra-lines
cs ce ccs cce min-indent max-indent block)))
*************** changed with `comment-style'."
*** 1209,1215 ****
(progn (goto-char end) (end-of-line) (skip-syntax-backward " ")
(<= (point) end))
(or block (not (string= "" comment-end)))
! (or block (progn (goto-char beg) (search-forward "\n" end t)))))
;; don't add end-markers just because the user asked for `block'
(unless (or lines (string= "" comment-end)) (setq block nil))
--- 1215,1221 ----
(progn (goto-char end) (end-of-line) (skip-syntax-backward " ")
(<= (point) end))
(or block (not (string= "" comment-end)))
! (or block (progn (goto-char beg) (re-search-forward "$" end t)))))
;; don't add end-markers just because the user asked for `block'
(unless (or lines (string= "" comment-end)) (setq block nil))
next prev parent reply other threads:[~2017-09-23 7:41 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-10 13:41 bug#26049: 25.2; Extra lines not added to comment Antonin Houska
2017-03-28 3:29 ` npostavs
2017-03-28 12:52 ` Antonin Houska
2017-03-29 2:25 ` npostavs
2017-03-29 6:54 ` Antonin Houska
2017-09-23 7:41 ` Antonin Houska [this message]
2017-09-23 14:37 ` Noam Postavsky
2017-11-06 10:14 ` Antonin Houska
2017-11-07 0:07 ` Noam Postavsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=17405.1506152497@localhost \
--to=ah@cybertec.at \
--cc=26049@debbugs.gnu.org \
--cc=npostavs@users.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).