unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Jaehwang Jerry Jung <tomtomjhj@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 39517@debbugs.gnu.org
Subject: bug#39517: [PATCH] Add new option 'word-wrap-boundary'
Date: Tue, 11 Feb 2020 00:36:01 +0900	[thread overview]
Message-ID: <fb2ba175-29aa-4683-e398-1ed2a69967a3@gmail.com> (raw)
In-Reply-To: <83lfpbdbbq.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 2489 bytes --]

Hi. Thank you for the comments.

On 2/10/20 12:34 AM, Eli Zaretskii wrote:
>> From: Jaehwang Jerry Jung<tomtomjhj@gmail.com>
>> Date: Sun,  9 Feb 2020 16:43:34 +0900
>> Cc: Jaehwang Jerry Jung<tomtomjhj@gmail.com>
>>
>> * src/buffer.c (syms_of_buffer): Define buffer-local variable
>> word-wrap-boundary.
>> * src/buffer.h (struct buffer): Add word_wrap_boundary_.
>> * src/xdisp.c (IT_DISPLAYING_WORD_WRAP_BOUNDARY): replaces
>> IT_DISPLAYING_WHITESPACE.
> Thank you for your interest in Emacs.
>
> When proposing a new feature, please always describe the rationale and
> relevant practical use cases.  In this case, it is not clear to me
> when it would make sense to allow arbitrary characters as wrap
> boundaries.  Maybe you had only white-space characters in mind, but
> then why not use [:space:] or some Unicode category specification
> instead of allowing any characters?

I noticed that word wrapping looks a bit weird when the text contains
long URLs.  So I wanted to add non-word ASCII characters so that URLs
can be wrapped more naturally as in other editors, while not changing
the default behavior.

>> +  /* Characters that may cause word wrapping.  */
>> +  Lisp_Object word_wrap_boundary_;
> Any reason this is a Lisp object and not a C string?

No specific reason for that. I chose Lisp object because other members
like name_ are Lisp objects too.

>> -#define IT_DISPLAYING_WHITESPACE(it)					\
>> -  ((it->what == IT_CHARACTER && (it->c == ' ' || it->c == '\t'))	\
>> +#define IT_DISPLAYING_WORD_WRAP_BOUNDARY(it)				\
>> +  ((it->what == IT_CHARACTER						\
>> +    && strchr ((char *) SDATA (BVAR (current_buffer, word_wrap_boundary)), \
>> +		it->c))							\
> This cannot be right: characters are stored in Lisp strings in a
> multibyte encoding that is superset of UTF-8, so the above will only
> support pure-ASCII boundary characters, which is probably not what you
> had in mind.

You're right. Actually I think it would be simpler to hard-code a better
list of boundary characters in that macro.

> This feature, if we decide to accept it, will also need to be
> described in the Emacs user manual, as that is why you exposed this to
> Lisp.  We would also want a defcustom form for it, probably in
> cus-start.el.

Thanks for letting me know that.

> Last, but not least, for a contribution this large, we will need you
> to assign the copyright to the FSF.  If you agree, I will send you the
> form to fill and the instructions to send it.

Yes, I agree.


[-- Attachment #2: Type: text/html, Size: 3846 bytes --]

  reply	other threads:[~2020-02-10 15:36 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-09  7:43 bug#39517: [PATCH] Add new option 'word-wrap-boundary' Jaehwang Jerry Jung
2020-02-09 15:34 ` Eli Zaretskii
2020-02-10 15:36   ` Jaehwang Jerry Jung [this message]
2020-02-10 16:10     ` Eli Zaretskii
2020-02-11 15:43       ` Jaehwang Jerry Jung
2020-08-09 11:23         ` Lars Ingebrigtsen
2020-08-09 14:11           ` Eli Zaretskii
2020-08-09 15:23             ` Jaehwang Jerry Jung
2020-08-09 15:25               ` Lars Ingebrigtsen
2020-08-09 15:44               ` Eli Zaretskii

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=fb2ba175-29aa-4683-e398-1ed2a69967a3@gmail.com \
    --to=tomtomjhj@gmail.com \
    --cc=39517@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    /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).