Function: display--line-is-continued-p

display--line-is-continued-p is a function defined in xdisp.c.

Signature

(display--line-is-continued-p)

Documentation

Return non-nil if the current screen line is continued on display.

Source Code

// Defined in /usr/src/emacs/src/xdisp.c
{
  struct buffer *oldb = current_buffer;
  struct window *w = XWINDOW (selected_window);
  enum move_it_result rc = MOVE_POS_MATCH_OR_ZV;

  set_buffer_internal_1 (XBUFFER (w->contents));

  if (PT < ZV)
    {
      struct text_pos startpos;
      struct it it;
      void *itdata;
      /* Use a marker, since vertical-motion enters redisplay, which can
	 trigger fontifications, which in turn could modify buffer text.  */
      Lisp_Object opoint = Fpoint_marker ();

      /* Make sure to start from the beginning of the current screen
	 line, so that move_it_in_display_line_to counts pixels correctly.  */
      Fvertical_motion (make_fixnum (0), selected_window, Qnil);
      SET_TEXT_POS (startpos, PT, PT_BYTE);
      itdata = bidi_shelve_cache ();
      start_display (&it, w, startpos);
      /* If lines are truncated, no line is continued.  */
      if (it.line_wrap != TRUNCATE)
	{
	  it.glyph_row = NULL;
	  rc = move_it_in_display_line_to (&it, ZV, -1, MOVE_TO_POS);
	}
      SET_PT_BOTH (marker_position (opoint), marker_byte_position (opoint));
      bidi_unshelve_cache (itdata, false);
    }
  set_buffer_internal_1 (oldb);

  return rc == MOVE_LINE_CONTINUED ? Qt : Qnil;
}