all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Michael Brand <michael.ch.brand@gmail.com>
Cc: 5018@debbugs.gnu.org
Subject: bug#5018: 23.1.50; Feature request: truncate-lines text property
Date: Mon, 05 Jun 2017 18:42:12 +0300	[thread overview]
Message-ID: <83fufea1bf.fsf@gnu.org> (raw)
In-Reply-To: <CALn3zoj8xJc+pQv_Qa9PMEgS75on7X3=c=TG9K-7Gh0XATmGKQ@mail.gmail.com> (message from Michael Brand on Mon, 5 Jun 2017 11:29:54 +0200)

> From: Michael Brand <michael.ch.brand@gmail.com>
> Date: Mon, 5 Jun 2017 11:29:54 +0200
> Cc: 5018@debbugs.gnu.org
> 
> > Would you like to work on implementing this feature?  I can provide
> > guidance if needed.
> 
> I can try. Maybe too ambitious for me or at least for me alone. I am
> new for example to the style of C in Emacs and to the display engine.
> And as usual for everybody my time is limited but as I have a need for
> this feature since maybe years I could compensate a bit with patience
> unless anybody wants to beat me.

If you decide to try it, I suggest to start by looking at my recent
changes that introduced hscrolling of only the current line.  This
feature should use similar techniques and touch the same places.

> >   . what text is supposed to have this property to mark the line as
> >     truncated, and how will Emacs know where the effect of the
> >     property ends?  e.g., will we require the property to be set on
> >     the entire line, including the newline, or will it be enough to
> >     set it only on part of the line?
> 
> The property only on \n looks good at first sight

The property on a newline makes the preceding line truncated or the
following line?  If the former, than what about the last line in a
buffer that doesn't end in a newline?  Also, looking for the property
in a very long line could slow down redisplay, since it would need to
know about this when it gets to the first character of the line.

> Anyway, I don't know if a text property will be the right solution in
> the end.

What other solution is possible?

> >   . when point moves along a line which is being truncated, and goes
> >     outside of the visible portion of the window, how do we want to
> >     hscroll the text in the window, in those parts that display lines
> >     which wrap?
> 
> This made me think most.
> 
> My first thought was:
> 
> Truncate on the left in sync with truncated lines and rewrap on the
> right
> 
>     :             #################
>     :    trunc1 tr#$unc2 trunc3 t$#
>     :    wrap1 wra#$p2 wrap3 wrap\#
>     :    4 wrap5 w#$rap6 wrap7 wr\#
>     :    ap8      #               #
>     :             #################
> 
> would lower or avoid column-related problems like with rectangle edit
> or ruler-mode. On the other hand I hope that changing what is the
> buffer bottom line after rewrap would not call for other problems.
> 
> But what would it help to wrap on the right when information is
> already hidden on the left? So...
> 
> My second thought is:
> 
> Fall back to truncate all lines
> 
>     :             #################
>     :    trunc1 tr#$unc2 trunc3 t$#
>     :    wrap1 wra#$p2 wrap3 wrap$#
>     :    more line#$s             #
>     :    even more#$ lines        #
>     :             #################
> 
> until column 0 becomes visible again is probably much easier, also for
> the user to understand what happens.

It could well be that the first variant is easier to implement.

> Should this discussion move to emacs-devel to reach more developers?

I'm not sure.  Most if not all of the relevant people read the bug
list as well.  Perhaps post a short message to emacs-devel telling the
interested people to read this discussion either via the bug tracker
or via the bug-gnu-emacs list.





  reply	other threads:[~2017-06-05 15:42 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-23 10:33 bug#5018: 23.1.50; Feature request: truncate-lines text property Carsten Dominik
2017-06-04 18:11 ` bug#5018: Michael Brand
2017-06-04 19:05   ` bug#5018: 23.1.50; Feature request: truncate-lines text property Eli Zaretskii
2017-06-05  9:29     ` Michael Brand
2017-06-05 15:42       ` Eli Zaretskii [this message]
2017-06-06 19:40         ` Michael Brand
2017-06-07  4:53           ` 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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83fufea1bf.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=5018@debbugs.gnu.org \
    --cc=michael.ch.brand@gmail.com \
    /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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.