emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: State of NS port


From: Chris Zheng
Subject: Re: State of NS port
Date: Sat, 12 Jan 2013 11:49:09 +0800

I suffered this problem too, and it's because of two bug fixes after I dig it awhile.

bug#11484: 23.4; Scrolling leaves traces of old text behind

http://lists.gnu.org/archive/html/bug-gnu-emacs/2012-05/msg00383.html

LCD-smoothing was turned off to fix this bug,

and 

bug#11541: - Another reproduction - Emacs 24.2; Null pointer on OSX with

http://lists.gnu.org/archive/html/bug-gnu-emacs/2012-09/msg01293.html

I simply revert these two fixes, and problem you mentioned is gone. 

So, maybe there are more deeper things around of these two bugs.

diff --git a/src/nsfont.m b/src/nsfont.m
index c0bea2e..a5fc570 100644
--- a/src/nsfont.m
+++ b/src/nsfont.m
@@ -560,10 +560,7 @@ ns_findfonts (Lisp_Object font_spec, BOOL isMatch)
     if (isMatch)
  [fkeys removeObject: NSFontFamilyAttribute];
 
-    if ([fkeys count] > 0)
-      matchingDescs = [fdesc matchingFontDescriptorsWithMandatoryKeys: fkeys];
-    else
-      matchingDescs = [NSMutableArray array];
+    matchingDescs = [fdesc matchingFontDescriptorsWithMandatoryKeys: fkeys];
 
     if (NSFONT_TRACE)
  NSLog(@"Got desc %@ and found %d matching fonts from it: ", fdesc,
@@ -1240,7 +1237,6 @@ nsfont_draw (struct glyph_string *s, int from, int to, int x, int y,
     else
       CGContextSetShouldAntialias (gcontext, 1);
 
-    CGContextSetShouldSmoothFonts (gcontext, NO);
     CGContextSetTextMatrix (gcontext, fliptf);
 
     if (bgCol != nil)


-- 
Best regards,
Chris

On Friday, January 11, 2013 at 12:27 AM, Adrian Robert wrote:

Hi,

I built the NS port of emacs under Mac OS X 10.8 today from trunk.  I realize a tremendous amount of work over the years has been done to clean up various glitches in menus, rendering, event handling, etc., many caused by my own poor work, but I was really disappointed to see some big steps backwards in basics.  Here is a screenshot of the HELLO file from today on left, and a version from 3 years ago on the right.

I've stepped back my direct involvement in the port to find more time to focus on other things, and I appreciate the work of others who have taken up the slack.  But glaring issues like extra blank space in the window, nonconformance to the system standard edge-rounding, and poor text rendering in the prevailing Carbon port (at the time) were part of what led me originally to resurrect the NS port to begin with back in 2004.

I don't know if the current steps backwards are due to the lack of maintenance in keeping up with internal core changes, or due to inadvertent and/or accepted losses in the course of making port enhancements.  But I would request that when people make changes, they keep an eye out for regressions introduced by them, and refrain from committing improvements that introduce new (or old) problems.

All I can do is make this request humbly, and apologize for my own lack of involvement, which while it has surely led to improvement of the codebase overall, seems to have caused some penalty as well.

respectfully,
Adrian



reply via email to

[Prev in Thread] Current Thread [Next in Thread]