unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Chong Yidong <cyd@stupidchicken.com>
Cc: emacs-devel@gnu.org
Subject: Re: vertical-motion bug
Date: Sat, 15 Jul 2006 11:48:03 -0400	[thread overview]
Message-ID: <E1G1mN9-0001hr-00@cyd> (raw)
In-Reply-To: <87hd1ic3tc.fsf@stupidchicken.com> (message from Chong Yidong on Sat, 15 Jul 2006 10:58:55 -0400)

For what it's worth, reverting the following line in the 2006-06-14
change makes things work again.  I don't know if this is the correct
fix, since I don't know why that line was introduced in the first
place.

*** emacs/src/xdisp.c.~1.1109.~	2006-07-15 11:38:46.000000000 -0400
--- emacs/src/xdisp.c	2006-07-15 11:46:48.000000000 -0400
***************
*** 5315,5321 ****
    it->area = TEXT_AREA;
    it->multibyte_p = !NILP (current_buffer->enable_multibyte_characters);
    it->sp = 0;
-   it->string_from_display_prop_p = 0;
    it->face_before_selective_p = 0;
  
    if (set_stop_p)
--- 5315,5320 ----

>   From: Chong Yidong <cyd@stupidchicken.com>
>
>   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 15:48 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-15 14:58 vertical-motion bug Chong Yidong
2006-07-15 15:48 ` Chong Yidong [this message]
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

  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=E1G1mN9-0001hr-00@cyd \
    --to=cyd@stupidchicken.com \
    --cc=emacs-devel@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).