bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#3174: NS: greek glyph rendering incoherent


From: David Reitter
Subject: bug#3174: NS: greek glyph rendering incoherent
Date: Sun, 31 May 2009 10:05:57 -0400

On May 31, 2009, at 1:32 AM, Adrian Robert wrote:

I'm including a patch (*) here that redoes the font selection process in nsfont.m and removes some NS-specific code elsewhere. Although it's a big change, I would say it is still under the bug- fix category because it causes the NS port to follow the others in this area, and it works a little better judging by the HELLO screen. However it would be good to have some testing before checking it in.

With your patch, Emacs -Q crashes when doing M-x view-hello-file.

I've printed some probably relevant status info, see below.

- David



Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000080
0x0020d208 in ns_charset_covers (set1=0x0, set2=0x16982a0, pct=0.899999976) at nsfont.m:271
271                 if (*bytes1 == 0)  // *bytes1 & *bytes2 != *bytes2
(gdb) bt
#0 0x0020d208 in ns_charset_covers (set1=0x0, set2=0x16982a0, pct=0.899999976) at nsfont.m:271 #1 0x0020d953 in ns_get_covering_families (script=0x1676050, pct=0.899999976) at nsfont.m:427 #2 0x0020dae3 in ns_findfonts (font_spec=6320332, isMatch=0 '\000') at nsfont.m:476 #3 0x0020dddc in nsfont_list (frame=9293316, font_spec=6320332) at nsfont.m:591 #4 0x001802e1 in font_list_entities (frame=9293316, spec=23552020) at font.c:2823 #5 0x00181ecf in font_find_for_lface (f=0x8dce00, attrs=0x16737d0, spec=7235580, c=-1) at font.c:3374 #6 0x002111d0 in fontset_find_font (fontset=23711172, c=1047, face=0x1673790, id=15, fallback=0) at fontset.c:602 #7 0x0021163b in fontset_font (fontset=23735636, c=1047, face=0x1673790, id=15) at fontset.c:703 #8 0x00211cdf in face_for_char (f=0x8dce00, face=0x1673790, c=1047, pos=171, object=25165833) at fontset.c:921 #9 0x000291f4 in get_next_display_element (it=0xbfffd518) at xdisp.c: 5954
#10 0x00042445 in display_line (it=0xbfffd518) at xdisp.c:16606
#11 0x0003bd2c in try_window (window=9292964, pos={charpos = 1, bytepos = 1}, check_margins=1) at xdisp.c:14057 #12 0x0003aa57 in redisplay_window (window=9292964, just_this_one_p=0) at xdisp.c:13680
#13 0x00036884 in redisplay_window_0 (window=9292964) at xdisp.c:12275
#14 0x00166146 in internal_condition_case_1 (bfun=0x36840 <redisplay_window_0>, arg=9292964, handlers=4785701, hfun=0x36808 <redisplay_window_error>) at eval.c:1560
#15 0x000367e6 in redisplay_windows (window=9292964) at xdisp.c:12254
#16 0x00035aa5 in redisplay_internal (preserve_echo_area=1) at xdisp.c: 11830 #17 0x000361cf in redisplay_preserve_echo_area (from_where=2) at xdisp.c:12074 #18 0x0000eaf6 in sit_for (timeout=16, reading=0, do_display=2) at dispnew.c:6616 #19 0x000da64e in Fexecute_extended_command (prefixarg=25165833) at keyboard.c:10577
#20 0x00168b96 in Ffuncall (nargs=2, args=0xbfffe8b0) at eval.c:3045
#21 0x001634da in Fcall_interactively (function=25201761, record_flag=25165833, keys=6299772) at callint.c:868
#22 0x00168bf0 in Ffuncall (nargs=4, args=0xbfffebb0) at eval.c:3051
#23 0x001686ac in call3 (fn=25280129, arg1=25201761, arg2=25165833, arg3=25165833) at eval.c:2875 #24 0x000da134 in Fcommand_execute (cmd=25201761, record_flag=25165833, keys=25165833, special=25165833) at keyboard.c: 10447
#25 0x000c9549 in command_loop_1 () at keyboard.c:1901
#26 0x00165fd8 in internal_condition_case (bfun=0xc778a <command_loop_1>, handlers=25205425, hfun=0xc6e93 <cmd_error>) at eval.c:1512
#27 0x000c73ba in command_loop_2 () at keyboard.c:1359
#28 0x00165969 in internal_catch (tag=25201545, func=0xc7385 <command_loop_2>, arg=25165833) at eval.c:1248
#29 0x000c7343 in command_loop () at keyboard.c:1338
#30 0x000c6917 in recursive_edit_1 () at keyboard.c:953
#31 0x000c6b20 in Frecursive_edit () at keyboard.c:1015
#32 0x000c4e25 in main (argc=2, argv=0xbffff1bc) at emacs.c:1852
Current language:  auto; currently objective-c
(gdb) print bytes1
$1 = (const short unsigned int *) 0x80

(gdb) bt full
#0 0x0020d208 in ns_charset_covers (set1=0x0, set2=0x16982a0, pct=0.899999976) at nsfont.m:271
        bytes1 = (const short unsigned int *) 0x80
        bytes2 = (const short unsigned int *) 0x2408ea0
        i = 64
        off = 0
        tot = 1
#1 0x0020d953 in ns_get_covering_families (script=0x1676050, pct=0.899999976) at nsfont.m:427
        fset = (NSCharacterSet *) 0x0
        allFamiliesEnum = (NSEnumerator *) 0x1674950
        charset = (NSCharacterSet *) 0x16982a0
        family = (NSString *) 0x8f6f40
        fontMgr = (NSFontManager *) 0x8df6a0
        allFamilies = (NSArray *) 0x2059800
        scriptToFamilies = (NSMutableDictionary *) 0x8df3f0
        families = (NSMutableSet *) 0x16748d0
#2 0x0020dae3 in ns_findfonts (font_spec=6320332, isMatch=0 '\000') at nsfont.m:476
        tem = 25366633
        list = 25165833
        fdesc = (NSFontDescriptor *) 0x0
        desc = (NSFontDescriptor *) 0x1
        fkeys = (NSMutableSet *) 0x16d65c
        matchingDescs = (NSArray *) 0xbfffcb48
        dEnum = (NSEnumerator *) 0x1800009
        family = (NSString *) 0x189b67b
        cFamilies = (NSSet *) 0x171381
        foundItal = 0 '\000'
#3 0x0020dddc in nsfont_list (frame=9293316, font_spec=6320332) at nsfont.m:591
No locals.
#4 0x001802e1 in font_list_entities (frame=9293316, spec=23552020) at font.c:2823
        copy = 6
        cache = 8211797
        f = (FRAME_PTR) 0x8dce00
        driver_list = (struct font_driver_list *) 0x8dcdd0
        ftype = 25165833
        val = 25165833
        vec = (Lisp_Object *) 0xbfffcb10
        size = 0
        need_filtering = 0
        i = 0
#5 0x00181ecf in font_find_for_lface (f=0x8dce00, attrs=0x16737d0, spec=7235580, c=-1) at font.c:3374
        work = 23552020
        frame = 9293316
        entities = 6291532
        val = 33840713
        props = {23674776, 23735632, 25165881, -1073754984, 2165913}
        size = 25165833
        foundry = {25369521, 25165833, 6291532}
        family = (Lisp_Object *) 0xbfffcbb0
        registry = {25366633, 6291532, 23674784}
        adstyle = {25165833, 6291532, 82904304}
        pixel_size = 12
        i = 0
        j = 0
        k = 0
        l = 0
        result = 7181484
#6 0x002111d0 in fontset_find_font (fontset=23711172, c=1047, face=0x1673790, id=15, fallback=0) at fontset.c:602
        rfont_def = 23551876
        font_def = 7147340
        font_entity = 25165833
        font_object = 25165833
        vec = 23674772
        font_group = 8191605
        i = 0
        charset_matched = -1
        f = (FRAME_PTR) 0x8dce00
#7 0x0021163b in fontset_font (fontset=23735636, c=1047, face=0x1673790, id=15) at fontset.c:703
        rfont_def = 25165833
        base_fontset = 23324980
#8 0x00211cdf in face_for_char (f=0x8dce00, face=0x1673790, c=1047, pos=171, object=25165833) at fontset.c:921
        fontset = 23735636
        rfont_def = 23747876
        charset = 25484649
        face_id = 15
        id = 15
#9 0x000291f4 in get_next_display_element (it=0xbfffd518) at xdisp.c: 5954
        pos = 171
        face = (struct face *) 0x1673790
        success_p = 1
#

frame 9
(gdb) print *face
$5 = {
  id = 0,
  gc = 0x16a4c00,
  stipple = 0,
  foreground = 2,
  background = 1,
  underline_color = 0,
  overline_color = 0,
  strike_through_color = 0,
  box_color = 0,
  font = 0x163d640,
  fontset = 3,
  pixmap_w = 0,
  pixmap_h = 0,
  box_line_width = 0,
  box = FACE_NO_BOX,
  use_box_color_for_shadows_p = 0,
  underline_p = 0,
  overline_p = 0,
  strike_through_p = 0,
  foreground_defaulted_p = 0,
  background_defaulted_p = 0,
  underline_defaulted_p = 0,
  overline_color_defaulted_p = 0,
  strike_through_color_defaulted_p = 0,
  box_color_defaulted_p = 0,
  tty_bold_p = 0,
  tty_dim_p = 0,
  tty_underline_p = 0,
  tty_alt_charset_p = 0,
  tty_reverse_p = 0,
  tty_blinking_p = 0,
  colors_copied_bitwise_p = 0,
  overstrike = 0,
  synth_ital = 0,
lface = {25166169, 25802363, 2377955, 25190409, 960, 25190409, 25190409, 25165833, 25165833, 25863083, 25863035, 25165833, 25165833, 25165833, 25165833, 23320132, 25165833, 25802235},
  hash = 25194329,
  next = 0x1674170,
  prev = 0x16a3910,
  ascii_face = 0x1673790,
  extra = 0x0
}


Attachment: smime.p7s
Description: S/MIME cryptographic signature


reply via email to

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