all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Chong Yidong <cyd@stupidchicken.com>
Subject: vertical-motion bug
Date: Sat, 15 Jul 2006 10:58:55 -0400	[thread overview]
Message-ID: <87hd1ic3tc.fsf@stupidchicken.com> (raw)

In a scratch buffer:

  M-<
  M-: (insert (propertize "a" 'display "a\nb\nc\n")) RET
  M-<
  C-n (or M-: (vertical-motion 1))

Result: point moves down three lines.  The expected behavior, based on
the `vertical-motion' docstring, is to move just one line.  This
behavior was broken by something in the following change:

2006-06-14  Kim F. Storm  <storm@cua.dk>

	* dispextern.h (IT_STACK_SIZE): New macro specifying size of
	iterator stack (instead of hardcoded number).  Increase from 2 to
	4 to make room for propertized overlay strings before and after a
	display string, image or composition.
	(struct it): Add image_id and method members to iterator stack.

	* xdisp.c (init_from_display_pos): Don't set it->method and
	overlay_string_index after pop_it.  Add asserts.
	(handle_stop): Look for overlay strings around a display string,
	image, or composition.  Handle properties on those strings.
	(next_overlay_string): Don't set string, pos or method after pop_it.
	(get_overlay_strings_1): Split from get_overlay_strings; don't
	modify it if no overlay strings are found.
	(get_overlay_strings): Use get_overlay_strings_1.  Always set
	it->string and it->method.
	(push_it): Push it->image_id and it->method.  Push it->object
	instead of it->string if method is GET_FROM_IMAGE.
	(pop_it): Pop it->image_id and it->method.  Ppo it->object
	instead of it->string if method is GET_FROM_IMAGE.
	Reset it->current.string_pos if popped it->string is nil.
	(reseat_1): Remove comment dated 19 May 2003.  It expressed doubt
	whether a given change was correct; but the change is correct.
	Clear it->string_from_display_prop_p.
	(set_iterator_to_next): Rely on it->method and it->image_id from
	iterator stack, instead of setting them explicitly after pop_it.

             reply	other threads:[~2006-07-15 14:58 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-15 14:58 Chong Yidong [this message]
2006-07-15 15:48 ` vertical-motion bug Chong Yidong
2006-07-16 22:26   ` Kim F. Storm
2006-07-16  6:25 ` Richard Stallman
2006-07-16 12:45   ` Chong Yidong

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=87hd1ic3tc.fsf@stupidchicken.com \
    --to=cyd@stupidchicken.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.