diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/indent.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/indent.c b/src/indent.c index 402456e1685..c084890c069 100644 --- a/src/indent.c +++ b/src/indent.c | |||
| @@ -221,7 +221,7 @@ skip_invisible (pos, next_boundary_p, to, window) | |||
| 221 | { | 221 | { |
| 222 | Lisp_Object prop, position, overlay_limit, proplimit; | 222 | Lisp_Object prop, position, overlay_limit, proplimit; |
| 223 | Lisp_Object buffer; | 223 | Lisp_Object buffer; |
| 224 | int end; | 224 | int end, inv_p; |
| 225 | 225 | ||
| 226 | XSETFASTINT (position, pos); | 226 | XSETFASTINT (position, pos); |
| 227 | XSETBUFFER (buffer, current_buffer); | 227 | XSETBUFFER (buffer, current_buffer); |
| @@ -266,11 +266,13 @@ skip_invisible (pos, next_boundary_p, to, window) | |||
| 266 | } | 266 | } |
| 267 | /* if the `invisible' property is set, we can skip to | 267 | /* if the `invisible' property is set, we can skip to |
| 268 | the next property change */ | 268 | the next property change */ |
| 269 | if (!NILP (window) && EQ (XWINDOW (window)->buffer, buffer)) | 269 | prop = Fget_char_property (position, Qinvisible, |
| 270 | prop = Fget_char_property (position, Qinvisible, window); | 270 | (!NILP (window) |
| 271 | else | 271 | && EQ (XWINDOW (window)->buffer, buffer)) |
| 272 | prop = Fget_char_property (position, Qinvisible, buffer); | 272 | ? window : buffer); |
| 273 | if (TEXT_PROP_MEANS_INVISIBLE (prop) > NILP (window)) | 273 | inv_p = TEXT_PROP_MEANS_INVISIBLE (prop); |
| 274 | /* When counting columns (window == nil), don't skip over ellipsis text. */ | ||
| 275 | if (NILP (window) ? inv_p == 1 : inv_p) | ||
| 274 | return *next_boundary_p; | 276 | return *next_boundary_p; |
| 275 | return pos; | 277 | return pos; |
| 276 | } | 278 | } |