xemacs-gtk branch published
Jeff Sparkes
jsparkes at gmail.com
Wed Jun 2 10:46:43 EDT 2010
On Sun, May 30, 2010 at 9:18 AM, Aidan Kehoe <kehoea at parhasard.net> wrote:
>
> Hi Jeff --
>
> Ar an t-ochtú lá déag de mí Bealtaine, scríobh Jeff Sparkes:
>
> > I've been porting XEmacs to Gtk 2.X. I have a working, mostly
> functional
> > version published to
> > to http://hg.debian.org/hg/xemacs/xemacs-gtk/
>
> Great work!
>
> > Here's some release notes:
> > xemacs-gtk has enough functionality to be useful. I'm using it as my
> > day-to-day emacs now.
> >
> > I'm hoping that a version that compiles and runs will spur others
> > to contribute too.
>
> I have the following problems when I attempt to get it running, on OS X
> 10.4
> with GTK 2.0.0.23:
>
> -- I need these patches to get it close to running:
>
> http://www.parhasard.net/xemacs/almost-building.diff
>
>
I have been working on different features in separate repositories,
and sometimes my checkins are not in sync. I was also building
with C++, which is rather more forgiving. I've checked you patches
where I hadn't already fixed the problem.
I'm a newbie to Gtk, so I don't know anything about why Gtk would
want to use RANDR. The only answer I can give is to add the
Xrender extension. It's enough work to get anything working at all. :-)
> -- With those patches, when I start, I get:
>
> bonbon [ ./xemacs -vanilla
> gtk_init
> Xlib: extension "RANDR" missing on display ":0.0".
>
> (xemacs:16889): Gtk-WARNING **: Default font does not have a positive size
>
> [...]
>
>
> Fatal error: assertion failed, file ui-gtk.c, line 516,
> G_TYPE_IS_FUNDAMENTAL (t)
>
> Fatal error (6).
>
> Your files have been auto-saved.
> Use `M-x recover-session' to recover them.
>
> Your version of XEmacs was distributed with a PROBLEMS file that may
> describe
> your crash, and with luck a workaround. Please check it first, but do
> report
> the crash anyway.
>
> [...]
>
> Lisp backtrace follows:
>
> # (unwind-protect ...)
> gtk-import-function-internal(GtkWidget "gtk_notebook_new" nil)
> # bind (args)
> gtk-notebook-new()
> # bind (instance plist)
> gtk-widget-instantiate-notebook-internal((:descriptor "Buffers" :face
> buffers-tab :orientation top :pixel-width (gutter-pixel-width) :items
> (["*scratch*" (buffers-tab-switch-to-buffer "*scratch*") :selected t]))
> #<image-instance (widget) on #<window on "*scratch*" 0x4> tab-control
> "Buffers" face=#<face buffers-tab "Face for displaying the buffers tab.">
> -1x-1 on #<gtk-frame>^C^Zzsh: killed ./xemacs -vanilla
>
> The relevant GDB backtrace is as follows:
>
> (gdb) bt
> #0 0x9003d1bc in kill ()
> #1 0x9010e8df in raise ()
> #2 0x9010d432 in abort ()
> #3 0x000932ca in assert_failed (file=0x3e744c "ui-gtk.c", line=516,
> expr=0x3e7430 "G_TYPE_IS_FUNDAMENTAL (t)") at emacs.c:4823
> #4 0x001e851e in type_to_marshaller_type (t=46764800) at ui-gtk.c:516
> #5 0x001edf65 in Fgtk_import_function_internal (rettype=4494904,
> name=6002476, args=4547416) at ui-gtk.c:731
> #6 0x0009cc4b in Ffuncall (nargs=4, args=0xbfffc230) at eval.c:4092
> #7 0x0002f960 in execute_optimized_program (program=0x2ce304c
> "ÁÂN¬\vÃÁÂÄÅÆÇ##ˆÈÉÁÂÊ#\b\"‡", program_length=24, stack_depth=7,
> constants_data=0x55e67c) at bytecode.c:921
> #8 0x0009fe63 in funcall_compiled_function (fun=24, nargs=0,
> args=0xbfffc478) at eval.c:3679
> #9 0x0009ca3d in Ffuncall (nargs=1, args=0xbfffc474) at eval.c:4137
> #10 0x0002f960 in execute_optimized_program (program=0x2ce302c "À ‡",
> program_length=3, stack_depth=2, constants_data=0x55e6b4) at bytecode.c:921
> #11 0x0009fe63 in funcall_compiled_function (fun=3, nargs=2,
> args=0xbfffc6b8) at eval.c:3679
> #12 0x0009ca3d in Ffuncall (nargs=3, args=0xbfffc6b4) at eval.c:4137
> #13 0x0002f960 in execute_optimized_program (program=0x2ce2ffc
> "\vÄH\032ÅÆÇ\v#A\031\nÃN®\002È\t\b\"*‡", program_length=22, stack_depth=5,
> constants_data=0x539724) at bytecode.c:921
> #14 0x0009fe63 in funcall_compiled_function (fun=22, nargs=5,
> args=0xbfffc900) at eval.c:3679
> #15 0x0009ca3d in Ffuncall (nargs=6, args=0xbfffc8fc) at eval.c:4137
> #16 0x0009ced1 in call5 (fn=4343488, arg0=47066768, arg1=47064096,
> arg2=4547416, arg3=4547416, arg4=53194240) at eval.c:5426
> #17 0x001e0675 in gtk_widget_instantiate_1 (image_instance=47066768,
> instantiator=47064096, pointer_fg=4547416, pointer_bg=4547416,
> domain=53194240) at glyphs-gtk.c:2317
> #18 0x000979df in va_call_trapping_problems_1 (ai_mi_madre=0xbfffcc30) at
> eval.c:6094
> #19 0x000a2546 in call_with_condition_handler (handler=0x9fbeb
> <flagged_a_squirmer>, handler_arg=46327296, fun=0x97903
> <call_trapping_problems_2>, arg=46327296) at eval.c:2316
> #20 0x000a258a in call_trapping_problems_1 (opaque=46327296) at eval.c:5748
> #21 0x00099eda in internal_catch (tag=6518092, func=0xa255b
> <call_trapping_problems_1>, arg=46327296, threw=0xbfffcb8c,
> thrown_tag=0xbfffcb80, backtrace_before_throw=0xbfffcb88) at eval.c:1692
> #22 0x000a0eaa in call_trapping_problems (warning_class=4541344,
> warning_string=0x0, flags=98304, problem=0x0, fun=0x97954
> <va_call_trapping_problems_1>, arg=0xbfffcc30) at eval.c:6025
> #23 0x000a1b60 in call_with_suspended_errors (fun=0x1e04aa
> <gtk_widget_instantiate_1>, retval=4547416, class_=4541344,
> errb={really_unlikely_name_to_have_accidentally_in_a_non_errb_structure =
> 3333632}, nargs=5) at eval.c:6189
> #24 0x001d28e4 in gtk_widget_instantiate (image_instance=0,
> instantiator=-1878797892, pointer_fg=-1073758212, pointer_bg=4547416,
> unused_dest_mask=111, domain=53194240) at glyphs-gtk.c:2354
> #25 0x001dfe28 in gtk_tab_control_instantiate (image_instance=47066768,
> instantiator=47064096, pointer_fg=4547416, pointer_bg=4547416,
> dest_mask=111, domain=53194240) at glyphs-gtk.c:2668
> #26 0x0016d096 in instantiate_image_instantiator (governing_domain=6851916,
> domain=53194240, instantiator=47064096, pointer_fg=4547416,
> pointer_bg=4547416, dest_mask=111, glyph=47057760) at glyphs.c:816
> #27 0x0016e69a in image_instantiate (specifier=47057808,
> unused_matchspec=4236488, domain=53194240, instantiator=47064096, depth=3,
> no_fallback=92720) at glyphs.c:3409
> #28 0x000979df in va_call_trapping_problems_1 (ai_mi_madre=0xbfffd0c0) at
> eval.c:6094
> #29 0x000a2546 in call_with_condition_handler (handler=0x9fbeb
> <flagged_a_squirmer>, handler_arg=46275664, fun=0x97903
> <call_trapping_problems_2>, arg=46275664) at eval.c:2316
> #30 0x000a258a in call_trapping_problems_1 (opaque=46275664) at eval.c:5748
> #31 0x00099eda in internal_catch (tag=6518092, func=0xa255b
> <call_trapping_problems_1>, arg=46275664, threw=0xbfffd01c,
> thrown_tag=0xbfffd010, backtrace_before_throw=0xbfffd018) at eval.c:1692
> #32 0x000a0eaa in call_trapping_problems (warning_class=4540096,
> warning_string=0x0, flags=98312, problem=0x0, fun=0x97954
> <va_call_trapping_problems_1>, arg=0xbfffd0c0) at eval.c:6025
> #33 0x000a1b60 in call_with_suspended_errors (fun=0x16dad2
> <image_instantiate>, retval=4236488, class_=4540096,
> errb={really_unlikely_name_to_have_accidentally_in_a_non_errb_structure =
> 8675309}, nargs=5) at eval.c:6189
> #34 0x00352f15 in specifier_instance_from_inst_list (specifier=47057808,
> matchspec=4236488, domain=53194240, inst_list=50638260,
> errb={really_unlikely_name_to_have_accidentally_in_a_non_errb_structure =
> 8675309}, no_quit=1, depth=3, instantiator=0x0, no_fallback=0) at
> specifier.c:2827
> #35 0x00353673 in specifier_instance_1 (specifier=47057808,
> matchspec=4236488, domain=53194240,
> errb={really_unlikely_name_to_have_accidentally_in_a_non_errb_structure =
> 8675309}, no_quit=1, no_fallback=0, depth=1, instantiator=0x0) at
> specifier.c:2993
> #36 0x0016fc1b in glyph_width (glyph_or_image=47057760, domain=53194240) at
> glyphs.c:4000
> #37 0x002d4f51 in add_glyph_rune (data=0xbfffd650, gb=0x2ce2df0,
> pos_type=0, allow_cursor=0, cachel=0x0) at redisplay.c:1845
> #38 0x002d5b2b in add_glyph_runes (data=0xbfffd650, pos_type=0) at
> redisplay.c:2106
> #39 0x002e6c1d in create_string_text_block (w=0x32bae00,
> disp_string=51013812, dl=0xbfffd794, start_pos=0, prop=0xbfffd7ec,
> default_face=0) at redisplay.c:4901
> #40 0x002ed076 in generate_displayable_area (w=0x32bae00,
> disp_string=51013812, xpos=0, ypos=37, width=584, height=419, dla=0x2ce24f0,
> start_pos=0, default_face=0) at redisplay.c:5286
> #41 0x0020aa6d in calculate_gutter_size (w=0x32bae00, pos=TOP_EDGE) at
> gutter.c:325
> #42 0x0020b4a9 in gutter_specs_changed (specifier=6556556, w=0x32bae00,
> oldval=50674800, pos=TOP_EDGE) at gutter.c:887
> #43 0x00353d95 in recompute_one_cached_specifier_in_window
> (specifier=6556556, w=0x32bae00) at specifier.c:3429
> #44 0x00353e18 in recompute_cached_specifier_everywhere_mapfun
> (w=0x32bae00, closure=0x640b8c) at specifier.c:3495
> #45 0x003be8a4 in map_windows_1 (window=53194240, mapfun=0x353e07
> <recompute_cached_specifier_everywhere_mapfun>, closure=0x640b8c) at
> window.c:5095
> #46 0x003543a2 in recompute_cached_specifier_everywhere (specifier=6556556)
> at specifier.c:3512
> #47 0x00354785 in Fset_specifier_dirty_flag (specifier=6556556) at
> specifier.c:3538
> #48 0x0009cc14 in Ffuncall (nargs=2, args=0xbfffdb44) at eval.c:4092
> #49 0x0002f960 in execute_optimized_program (program=0x2ce248c
> "Á\b!¬\025\bÂa¬\020\bÃa¬\v\bÄa¬\006\bÅa\023Á\b!¬\vÆÇÈ\b!ÉP!!\020Ê\b!‡",
> program_length=44, stack_depth=4, constants_data=0x55e4f0) at bytecode.c:921
> #50 0x0009fe63 in funcall_compiled_function (fun=44, nargs=1,
> args=0xbfffdd98) at eval.c:3679
> #51 0x0009ca3d in Ffuncall (nargs=2, args=0xbfffdd94) at eval.c:4137
> #52 0x0002f960 in execute_optimized_program (program=0x2ce070c
> "ÆÇ\r!!®\005È\rÉ\"?TÊ\t\r\"N\v«\aË \fa¬\004Ì
> ˆÍÎ\r\"<ÏÐ\r\b#‰\0322Ñ\vÒÎÓÔÕ\016\037Ö\f‰×a¬\006\fØa«\004Ùª\002Ú\f×a¬\006\fØa«\004Ûª\002ÜÝ\n&\v\r#ˆÞ\f!)‡",
> program_length=98, stack_depth=15, constants_data=0x55eb14) at
> bytecode.c:921
> #53 0x0009fe63 in funcall_compiled_function (fun=98, nargs=2,
> args=0xbfffe008) at eval.c:3679
> #54 0x0009ca3d in Ffuncall (nargs=3, args=0xbfffe004) at eval.c:4137
> #55 0x0002f960 in execute_optimized_program (program=0x2ce06dc
> "\b\032ÁÂÃ\"ˆÁÄÅ\"ˆÁÆÇ\"ˆÁÈÉ\"ˆÅÊ Ë\"‡", program_length=29, stack_depth=3,
> constants_data=0x55ebfc) at bytecode.c:921
> #56 0x0009fe63 in funcall_compiled_function (fun=29, nargs=0,
> args=0xbfffe2b4) at eval.c:3679
> #57 0x0009ca3d in Ffuncall (nargs=1, args=0xbfffe2b0) at eval.c:4137
> #58 0x000a3a44 in Fapply (nargs=2, args=0xbfffe2b0) at eval.c:4345
> #59 0x0009bdb4 in Feval (form=4941400) at eval.c:3865
> #60 0x000a21ba in Funwind_protect (args=4941412) at eval.c:1917
> #61 0x0009beda in Feval (form=4941424) at eval.c:3809
> #62 0x0009c52f in funcall_lambda (fun=4941460, nargs=0, args=0xbfffe85c) at
> eval.c:1024
> #63 0x0009ca95 in Ffuncall (nargs=1, args=0xbfffe858) at eval.c:4147
> #64 0x0009d233 in run_hook_with_args_in_buffer (buf=0x300dc00, nargs=1,
> args=0xbfffe858, cond=RUN_HOOKS_TO_COMPLETION) at eval.c:5224
> #65 0x0009d6a2 in Frun_hooks (nargs=1, args=0xbfffe858) at eval.c:5237
> #66 0x0009caf0 in Ffuncall (nargs=2, args=0xbfffe854) at eval.c:4115
> #67 0x0002f960 in execute_optimized_program (program=0x2cdc56c
> "ÆÇ!ˆ\b«\aÈ\bɉ#ˆÊ‰\026\023Ê\fÉa«\004˪\002\f\033\032\031\v\035\016\024«\t\f«\006Ì
> ˆª\006ÊÍÎ ˆ\r\va¬\005É\022\r\021)\n«\003\t\025+É\026\025\016\026«\rÏ
> Ð\016\027®\003Ñ Q\026\030ÆÒ!ˆÊ‡", program_length=90, stack_depth=5,
> constants_data=0x55ecd0) at bytecode.c:921
> #68 0x0009fe63 in funcall_compiled_function (fun=90, nargs=0,
> args=0xbfffeaa8) at eval.c:3679
> #69 0x0009ca3d in Ffuncall (nargs=1, args=0xbfffeaa4) at eval.c:4137
> #70 0x0002f960 in execute_optimized_program (program=0x2c1244c
> "\fA\035ÆÇ\033\032È\r!\025\tÉa«\004Ê ˆËÌ!«\004Í ˆËÎ!«\004Ï
> ˆËÌ!«\017ËÐ!«\aÑÒ!ˆª\004Ó ˆÔ\bÕ‰#ˆÖ ˆ*× ˆËØ!«\004Ù ˆÚ ˆrÛÜ!qˆÝ
> ˆÞÕ!ˆ\016'ßa«\005\016( ˆà ˆ)á âa«\bã ¬\004ä ˆå ˆÕ\026)ã \004æÇ!)‡",
> program_length=133, stack_depth=4, constants_data=0x560438) at
> bytecode.c:921
> #71 0x0009fe63 in funcall_compiled_function (fun=133, nargs=0,
> args=0xbfffec30) at eval.c:3679
> #72 0x0009b948 in Feval (form=4932568) at eval.c:3899
> #73 0x000a2332 in condition_case_1 (handlers=4932556, bfun=0x9ab32 <Feval>,
> barg=4932568, hfun=0xa300c <run_condition_case_handlers>, harg=4521808) at
> eval.c:2103
> #74 0x000a3d91 in condition_case_3 (bodyform=4932568, var=4521808,
> handlers=4932556) at eval.c:2185
> #75 0x00029e38 in execute_rare_opcode (stack_ptr=0xbfffefdc,
> stack_beg=0xbfffefd0, stack_end=0xbfffefec, unused_program_ptr=0x2c0a65c
> "ˆÐ\r!\025\t«\rÝÞß\tà á $!\026*âã!ˆ\b«\005âÀ!ˆÕ\020ä
> ˆ\016%«\005âå!ˆÕ\026%\v«\bæ\v@\vA\"ˆ)\016+\003ç ‡",
> opcode=Bcondition_case) at bytecode.c:1518
> #76 0x0002d13c in execute_optimized_program (program=0x2c0a5fc
> "\n«\005ÆÇ!‡È\022ÉÊ!«\tËÌÉÊ!!!ˆÍ
> ‰\034«\025\fG\rGW«\016Î\r!Î\f!k«\005Ï\f!\025)Ð\r!\025Ñ ˆÒ
> ˆÓ\016(«\004Ȫ\006\016)\002ÔÕ\"ˆÖ ˆ× ˆÕ\033Ø «\006Ù ˆª\006ÚÛÜ
> ˆÐ\r!\025\t«\rÝÞß\tà á $!\026*âã!ˆ\b«\005âÀ!ˆÕ\020ä
> ˆ\016%«\005âå!ˆÕ\026%\v«\bæ\v@\vA\"ˆ)\016+\003ç ‡", program_length=161,
> stack_depth=7, constants_data=0x561014) at bytecode.c:806
> #77 0x0009fe63 in funcall_compiled_function (fun=161, nargs=0,
> args=0xbffff160) at eval.c:3679
> #78 0x0009b948 in Feval (form=4604476) at eval.c:3899
> #79 0x000a2332 in condition_case_1 (handlers=4545760, bfun=0x9ab32 <Feval>,
> barg=4604476, hfun=0x4956e <cmd_error>, harg=4547416) at eval.c:2103
> #80 0x0004971c in top_level_1 (unused_dummy=4547416) at cmdloop.c:248
> #81 0x00099eda in internal_catch (tag=4265440, func=0x496cf <top_level_1>,
> arg=4547416, threw=0x0, thrown_tag=0x0, backtrace_before_throw=0x0) at
> eval.c:1692
> #82 0x00049ad5 in initial_command_loop (load_me=4547416) at cmdloop.c:318
> #83 0x00094d88 in xemacs_21_5_b29_i386_apple_darwin8_11_1 (argc=2,
> argv=0xbffff65c, unused_envp=0x0, restart=0) at emacs.c:2746
> #84 0x00095bd4 in main (argc=2, argv=0xbffff65c, unused_envp=0xbffff668) at
> emacs.c:3194
> (gdb) ldp 4343488
> Lisp => gtk-widget-instantiate-internal
> (gdb) up 1
> [...]
> (gdb) down 1
> #5 0x001edf65 in Fgtk_import_function_internal (rettype=4494904,
> name=6002476, args=4547416) at ui-gtk.c:731
> (gdb) ldp rettype
> Lisp => GtkWidget
> (gdb) ldp name
> Lisp => "gtk_notebook_new"
> (gdb) ldp args
> Lisp => nil
> (gdb)
>
> I’ve no real idea what to do to fix this.
>
> Best,
>
> Aidan
>
> --
> “Apart from the nine-banded armadillo, man is the only natural host of
> Mycobacterium leprae, although it can be grown in the footpads of mice.”
> -- Kumar & Clark, Clinical Medicine, summarising improbable leprosy
> research
>
--
Jeff Sparkes
jsparkes at gmail.com
More information about the XEmacs-Beta
mailing list