aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog14
-rw-r--r--src/fileio.c7
-rw-r--r--src/nsterm.h2
-rw-r--r--src/nsterm.m18
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 @@
12014-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
62014-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
12014-11-10 Stefan Monnier <monnier@iro.umontreal.ca> 152014-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