all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: David Reitter <david.reitter@gmail.com>
To: Adrian Robert <adrian.b.robert@gmail.com>
Cc: 3174@emacsbugs.donarmstrong.com
Subject: bug#3174: NS: greek glyph rendering incoherent
Date: Sun, 31 May 2009 10:05:57 -0400	[thread overview]
Message-ID: <9DB3A68B-E63D-462A-A9DF-C5C43B68115A@gmail.com> (raw)
In-Reply-To: <13CFFADB-0BD4-434A-AE6E-8178DFDB108C@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 8309 bytes --]

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 #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 2193 bytes --]

  parent reply	other threads:[~2009-05-31 14:05 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-27 16:51 bug#3174: NS: greek glyph rendering incoherent David Reitter
2009-05-27 19:14 ` Adrian Robert
2009-05-31  5:32 ` Adrian Robert
2009-05-31 14:02   ` Jason Rumney
2009-05-31 14:05   ` David Reitter [this message]
2009-05-31 14:26     ` Adrian Robert
2009-05-31 14:45       ` David Reitter
     [not found]         ` <6BA35FFE-3FC9-4525-86D7-2027A51FE015@gmail.com>
2009-05-31 17:57           ` David Reitter
2009-06-07  3:46             ` Adrian Robert
2009-06-07 13:02               ` David Reitter
     [not found] <23318529.post@talk.nabble.com>
2009-04-30 15:48 ` David Reitter
2016-07-10 14:45   ` Alan Third
2016-09-10 21:23     ` Alan Third

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9DB3A68B-E63D-462A-A9DF-C5C43B68115A@gmail.com \
    --to=david.reitter@gmail.com \
    --cc=3174@emacsbugs.donarmstrong.com \
    --cc=adrian.b.robert@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.