diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 14 | ||||
| -rw-r--r-- | src/fileio.c | 7 | ||||
| -rw-r--r-- | src/nsterm.h | 2 | ||||
| -rw-r--r-- | src/nsterm.m | 18 |
4 files changed, 29 insertions, 12 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index b51f3c15a66..d44de652dde 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,17 @@ | |||
| 1 | 2014-11-10 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * fileio.c (Finsert_file_contents): Invalidate buffer caches also | ||
| 4 | when the inserted text does not need decoding. (Bug#18982) | ||
| 5 | |||
| 6 | 2014-11-10 Jan Djärv <jan.h.d@swipnet.se> | ||
| 7 | |||
| 8 | * nsterm.h (EmacsScroller): judge returns bool. | ||
| 9 | |||
| 10 | * nsterm.m (ns_set_vertical_scroll_bar): Release bar. | ||
| 11 | (ns_judge_scroll_bars): Only set removed if judge returns true. | ||
| 12 | (judge): Returns bool == condemned. Remove self from window. | ||
| 13 | (setPosition:portion:whole:): Remove raise SIGIO (Bug#18757). | ||
| 14 | |||
| 1 | 2014-11-10 Stefan Monnier <monnier@iro.umontreal.ca> | 15 | 2014-11-10 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 16 | ||
| 3 | * keyboard.c (command_loop_1): Record this-command in recent-keys. | 17 | * keyboard.c (command_loop_1): Record this-command in recent-keys. |
diff --git a/src/fileio.c b/src/fileio.c index cdbd0be28ad..7d7b0b3148f 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -4329,8 +4329,11 @@ by calling `format-decode', which see. */) | |||
| 4329 | coding_system = CODING_ID_NAME (coding.id); | 4329 | coding_system = CODING_ID_NAME (coding.id); |
| 4330 | } | 4330 | } |
| 4331 | else if (inserted > 0) | 4331 | else if (inserted > 0) |
| 4332 | adjust_after_insert (PT, PT_BYTE, PT + inserted, PT_BYTE + inserted, | 4332 | { |
| 4333 | inserted); | 4333 | invalidate_buffer_caches (current_buffer, PT, PT + inserted); |
| 4334 | adjust_after_insert (PT, PT_BYTE, PT + inserted, PT_BYTE + inserted, | ||
| 4335 | inserted); | ||
| 4336 | } | ||
| 4334 | 4337 | ||
| 4335 | /* Call after-change hooks for the inserted text, aside from the case | 4338 | /* Call after-change hooks for the inserted text, aside from the case |
| 4336 | of normal visiting (not with REPLACE), which is done in a new buffer | 4339 | of normal visiting (not with REPLACE), which is done in a new buffer |
diff --git a/src/nsterm.h b/src/nsterm.h index 7997072dcac..b33e6b2ee08 100644 --- a/src/nsterm.h +++ b/src/nsterm.h | |||
| @@ -396,7 +396,7 @@ typedef float EmacsCGFloat; | |||
| 396 | - repeatScroll: (NSTimer *)sender; | 396 | - repeatScroll: (NSTimer *)sender; |
| 397 | - condemn; | 397 | - condemn; |
| 398 | - reprieve; | 398 | - reprieve; |
| 399 | - judge; | 399 | - (bool)judge; |
| 400 | @end | 400 | @end |
| 401 | 401 | ||
| 402 | 402 | ||
diff --git a/src/nsterm.m b/src/nsterm.m index 577b2a27724..64951da308f 100644 --- a/src/nsterm.m +++ b/src/nsterm.m | |||
| @@ -3803,6 +3803,7 @@ ns_set_vertical_scroll_bar (struct window *window, | |||
| 3803 | bar = XNS_SCROLL_BAR (window->vertical_scroll_bar); | 3803 | bar = XNS_SCROLL_BAR (window->vertical_scroll_bar); |
| 3804 | [bar removeFromSuperview]; | 3804 | [bar removeFromSuperview]; |
| 3805 | wset_vertical_scroll_bar (window, Qnil); | 3805 | wset_vertical_scroll_bar (window, Qnil); |
| 3806 | [bar release]; | ||
| 3806 | } | 3807 | } |
| 3807 | ns_clear_frame_area (f, left, top, width, height); | 3808 | ns_clear_frame_area (f, left, top, width, height); |
| 3808 | unblock_input (); | 3809 | unblock_input (); |
| @@ -3996,8 +3997,8 @@ ns_judge_scroll_bars (struct frame *f) | |||
| 3996 | { | 3997 | { |
| 3997 | view = [subviews objectAtIndex: i]; | 3998 | view = [subviews objectAtIndex: i]; |
| 3998 | if (![view isKindOfClass: [EmacsScroller class]]) continue; | 3999 | if (![view isKindOfClass: [EmacsScroller class]]) continue; |
| 3999 | [view judge]; | 4000 | if ([view judge]) |
| 4000 | removed = YES; | 4001 | removed = YES; |
| 4001 | } | 4002 | } |
| 4002 | 4003 | ||
| 4003 | if (removed) | 4004 | if (removed) |
| @@ -7227,9 +7228,10 @@ if (cols > 0 && rows > 0) | |||
| 7227 | } | 7228 | } |
| 7228 | 7229 | ||
| 7229 | 7230 | ||
| 7230 | - judge | 7231 | -(bool)judge |
| 7231 | { | 7232 | { |
| 7232 | NSTRACE (judge); | 7233 | NSTRACE (judge); |
| 7234 | bool ret = condemned; | ||
| 7233 | if (condemned) | 7235 | if (condemned) |
| 7234 | { | 7236 | { |
| 7235 | EmacsView *view; | 7237 | EmacsView *view; |
| @@ -7238,11 +7240,14 @@ if (cols > 0 && rows > 0) | |||
| 7238 | view = (EmacsView *)FRAME_NS_VIEW (frame); | 7240 | view = (EmacsView *)FRAME_NS_VIEW (frame); |
| 7239 | if (view != nil) | 7241 | if (view != nil) |
| 7240 | view->scrollbarsNeedingUpdate++; | 7242 | view->scrollbarsNeedingUpdate++; |
| 7243 | if (window) | ||
| 7244 | wset_vertical_scroll_bar (window, Qnil); | ||
| 7245 | window = 0; | ||
| 7241 | [self removeFromSuperview]; | 7246 | [self removeFromSuperview]; |
| 7242 | [self release]; | 7247 | [self release]; |
| 7243 | unblock_input (); | 7248 | unblock_input (); |
| 7244 | } | 7249 | } |
| 7245 | return self; | 7250 | return ret; |
| 7246 | } | 7251 | } |
| 7247 | 7252 | ||
| 7248 | 7253 | ||
| @@ -7297,11 +7302,6 @@ if (cols > 0 && rows > 0) | |||
| 7297 | #endif | 7302 | #endif |
| 7298 | } | 7303 | } |
| 7299 | 7304 | ||
| 7300 | /* Events may come here even if the event loop is not running. | ||
| 7301 | If we don't enter the event loop, the scroll bar will not update. | ||
| 7302 | So send SIGIO to ourselves. */ | ||
| 7303 | if (apploopnr == 0) raise (SIGIO); | ||
| 7304 | |||
| 7305 | return self; | 7305 | return self; |
| 7306 | } | 7306 | } |
| 7307 | 7307 | ||