From: Keith David Bershatsky <esq@lawlist.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 29002@debbugs.gnu.org
Subject: bug#29002: it.first_visible_x is erroneously 0 while horizontal scrolling.
Date: Thu, 26 Oct 2017 11:56:08 -0700 [thread overview]
Message-ID: <m2376591rr.wl%esq@lawlist.com> (raw)
In-Reply-To: <m2h8umbu0k.wl%esq@lawlist.com>
Thank you for the suggestion about using w->min_hscroll.
Unfortunately, w->min_hscroll returns a value of 0 in this example.
Here is a link to a new screen-shot based upon the revised bug-hscroll test incorporating w->min_hscroll:
https://www.lawlist.com/images/bug_hscroll_02.png
And, here is the revised test used as a basis to create the new screen-shot:
DEFUN ("bug-hscroll", Fbug_hscroll, Sbug_hscroll, 0, 0, 0,
doc: /* Demonstrate the Emacs hscroll bug. */)
(void)
{
struct window *w = decode_live_window (selected_window);
struct it it;
void *itdata = bidi_shelve_cache ();
struct text_pos start_text_position;
int first_x, min_hscroll;
SET_TEXT_POS_FROM_MARKER (start_text_position, w->start);
start_display (&it, w, start_text_position);
first_x = it.first_visible_x;
min_hscroll = w->min_hscroll;
bidi_unshelve_cache (itdata, false);
Lisp_Object my_object_one = make_number (first_x);
Lisp_Object my_object_two = make_number (min_hscroll);
AUTO_STRING (my_string_one, "it.first_visible_x: %s | w->min_hscroll: %d");
CALLN (Fmessage, my_string_one, my_object_one, my_object_two);
return make_number (first_x);
}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DATE: [10-26-2017 08:56:23] <26 Oct 2017 18:56:23 +0300>
FROM: Eli Zaretskii <eliz@gnu.org>
>
> * * *
> >
> > • hscrolling_current_line_p is true.
> > • w->suspend_auto_hscroll is false.
> > • w->hscroll > 0.
> > • All non-current lines are also hscrolled.
> > • it.first_visible_x == 0.
> >
> > What would be a good method to programmatically test to see whether all other lines are hscrolled given the above?
>
> The above means that auto-hscroll is set to 'current-line'. In this
> case, the line that shows point is hscrolled by w->hscroll, and all
> the other lines are hscrolled by w->min_hscroll (in units of the
> frame's canonical character width).
next prev parent reply other threads:[~2017-10-26 18:56 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-26 1:03 bug#29002: it.first_visible_x is erroneously 0 while horizontal scrolling Keith David Bershatsky
2017-10-26 3:45 ` Keith David Bershatsky
2017-10-26 4:51 ` Eli Zaretskii
2017-10-26 6:20 ` Keith David Bershatsky
2017-10-26 15:56 ` Eli Zaretskii
2017-10-26 18:56 ` Keith David Bershatsky [this message]
2017-10-29 11:23 ` Eli Zaretskii
2017-10-29 17:29 ` Keith David Bershatsky
2017-10-29 18:29 ` Eli Zaretskii
2017-10-29 18:56 ` Eli Zaretskii
2017-10-29 18:56 ` Keith David Bershatsky
2017-10-29 19:23 ` Eli Zaretskii
2017-10-29 19:08 ` Keith David Bershatsky
2017-10-29 20:12 ` Keith David Bershatsky
2017-10-30 18:02 ` Eli Zaretskii
2017-10-30 19:36 ` Keith David Bershatsky
2017-11-04 9:32 ` Eli Zaretskii
2017-11-05 0:16 ` Keith David Bershatsky
2017-11-05 9:15 ` Keith David Bershatsky
2017-11-05 10:44 ` Eli Zaretskii
2017-11-05 16:59 ` Keith David Bershatsky
2017-11-05 18:12 ` Eli Zaretskii
2017-11-06 1:05 ` Keith David Bershatsky
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=m2376591rr.wl%esq@lawlist.com \
--to=esq@lawlist.com \
--cc=29002@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 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.