Subject: Re: Emacs trunk often freezes on NS

From: Angelo Graziosi <[email-masked]>
Date: Sun, 09 Nov 2014 11:23:32 +0100

After seeing this commit:

   Attempt to fix NS hang. Will probably cause merge conflicts.
   Jan D. 2014-11-08 16:32:37 (GMT)

I tried to build Emacs current trunk:

   Fix bootstrap failure after last change to eval-and-compile.
   Stefan Monnier 2014-11-09 05:14:25 (GMT)

but it fails:
[...]
nsterm.m:2153:5: warning: 'NSCopyBits' is deprecated: first deprecated 
in OS X 10.10 [-Wdeprecated-declarations]
     NSCopyBits (0, srcRect , dstOrigin);
     ^
/System/Library/Frameworks/AppKit.framework/Headers/NSGraphics.h:232:20: 
note: 'NSCopyBits' has been explicitly marked deprecated here
APPKIT_EXTERN void NSCopyBits(NSInteger srcGState, NSRect srcRect, 
NSPoint destPoint) NS_DEPRECATED_MAC(10_0, 10_10);
                    ^
nsterm.m:2215:3: warning: 'NSCopyBits' is deprecated: first deprecated 
in OS X 10.10 [-Wdeprecated-declarations]
   NSCopyBits (0, srcRect, dstOrigin);
   ^
/System/Library/Frameworks/AppKit.framework/Headers/NSGraphics.h:232:20: 
note: 'NSCopyBits' has been explicitly marked deprecated here
APPKIT_EXTERN void NSCopyBits(NSInteger srcGState, NSRect srcRect, 
NSPoint destPoint) NS_DEPRECATED_MAC(10_0, 10_10);
                    ^
nsterm.m:3922:11: error: use of undeclared identifier 'update_p'
           update_p = YES;
           ^
nsterm.m:3926:7: error: use of undeclared identifier 'update_p'
   if (update_p)
       ^
nsterm.m:4770:11: warning: 'NSRunAlertPanel' is deprecated: first 
deprecated in OS X 10.10 - Use NSAlert instead [-Wdeprecated-declarations]
     ret = NSRunAlertPanel(ns_app_name,
           ^
/System/Library/Frameworks/AppKit.framework/Headers/NSPanel.h:48:25: 
note: 'NSRunAlertPanel' has been explicitly marked deprecated here
APPKIT_EXTERN NSInteger NSRunAlertPanel(NSString *title, NSString 
*msgFormat, NSString *defaultButton, NSString *alternateButton, NSString 
*otherButton, ...) NS_FORMAT_FUNCTION(2,6) NS_DEPRECATED_MAC(10_0, 
10_10, "Use NSAlert instead");
                         ^
nsterm.m:4774:16: warning: 'NSAlertDefaultReturn' is deprecated: first 
deprecated in OS X 10.10 - Use NSAlertFirstButtonReturn, etc instead 
[-Wdeprecated-declarations]
     if (ret == NSAlertDefaultReturn)
                ^
/System/Library/Frameworks/AppKit.framework/Headers/NSPanel.h:79:5: 
note: 'NSAlertDefaultReturn' has been explicitly marked deprecated here
     NSAlertDefaultReturn NS_ENUM_DEPRECATED_MAC(10_0, 10_10, "Use 
NSAlertFirstButtonReturn, etc instead") = 1,
     ^
nsterm.m:4776:21: warning: 'NSAlertAlternateReturn' is deprecated: first 
deprecated in OS X 10.10 - Use NSAlertFirstButtonReturn, etc instead 
[-Wdeprecated-declarations]
     else if (ret == NSAlertAlternateReturn)
                     ^
/System/Library/Frameworks/AppKit.framework/Headers/NSPanel.h:80:5: 
note: 'NSAlertAlternateReturn' has been explicitly marked deprecated here
     NSAlertAlternateReturn NS_ENUM_DEPRECATED_MAC(10_0, 10_10, "Use 
NSAlertFirstButtonReturn, etc instead") = 0,
     ^
nsterm.m:6127:8: warning: 'useOptimizedDrawing:' is deprecated: first 
deprecated in OS X 10.10 [-Wdeprecated-declarations]
   [win useOptimizedDrawing: YES];
        ^
/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:674:1: 
note: 'useOptimizedDrawing:' has been explicitly marked deprecated here
- (void)useOptimizedDrawing:(BOOL)flag NS_DEPRECATED_MAC(10_0, 10_10);
^
nsterm.m:6189:9: warning: 'allocateGState' is deprecated: first 
deprecated in OS X 10.10 [-Wdeprecated-declarations]
   [self allocateGState];
         ^
/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:600:1: 
note: 'allocateGState' has been explicitly marked deprecated here
- (void)allocateGState NS_DEPRECATED_MAC(10_0, 10_10);
^
nsterm.m:6515:11: warning: 'useOptimizedDrawing:' is deprecated: first 
deprecated in OS X 10.10 [-Wdeprecated-declarations]
       [fw useOptimizedDrawing: YES];
           ^
/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:674:1: 
note: 'useOptimizedDrawing:' has been explicitly marked deprecated here
- (void)useOptimizedDrawing:(BOOL)flag NS_DEPRECATED_MAC(10_0, 10_10);
^
nsterm.m:6756:1: warning: conflicting return type in implementation of 
'draggingEntered:': 'NSDragOperation' (aka 'enum NSDragOperation') vs 
'NSUInteger' (aka 'unsigned long') [-Wmismatched-return-types]
-(NSUInteger) draggingEntered: (id <NSDraggingInfo>) sender
^ ~~~~~~~~~~
/System/Library/Frameworks/AppKit.framework/Headers/NSDragging.h:98:1: 
note: previous definition is here
- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender;
^  ~~~~~~~~~~~~~~~
nsterm.m:7145:33: warning: 'scrollerWidth' is deprecated: first 
deprecated in OS X 10.7 - Use 
+scrollerWidthForControlSize:scrollerStyle: instead 
[-Wdeprecated-declarations]
   r.size.width = [EmacsScroller scrollerWidth];
                                 ^
/System/Library/Frameworks/AppKit.framework/Headers/NSScroller.h:120:1: 
note: 'scrollerWidth' has been explicitly marked deprecated here
+ (CGFloat)scrollerWidth NS_DEPRECATED_MAC(10_0, 10_7, "Use 
+scrollerWidthForControlSize:scrollerStyle: instead");
[...]

In my OP I forgot to say that these issues occur on OSX 10.10.

Ciao,
  Angelo.

Il 08/11/2014 13:43, Angelo Graziosi ha scritto:
> After the changes of rev. 118192 (for which I already did a bug report
> [*]) and their fixes, Emacs trunk often freezes on NS. It seems that
> this occurs mainly when I double click a text to be copy/paste
> (elsewhere, usually) with CMD-c/CMD-v
>
> I notice also another thing.. When I run M-x SOMETHING the text at about
> the center of the frame (say a rectangle whose height is about that of
> the frame and the width is about 10 characters) is blanked (this for
> about the time in which M-x SOMETHING is executed).
>
> I haven't an exact recipe to reproduce the above issue, but I see them
> since trunk > Oct 22-23.
>
> The attached tar-ball contains both the Emacs forced quit report sent to
> Apple and the output of M-x report-emacs-bug.
>
>
> Ciao,
>   Angelo.
>
>
> ---
> [*] http://lists.gnu.org/archive/html/bug-gnu-emacs/2014-10/msg01068.html