* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
@ 2014-11-08 13:27 Mosè Giordano
2015-09-22 6:48 ` Jonathan Woithe
` (2 more replies)
0 siblings, 3 replies; 33+ messages in thread
From: Mosè Giordano @ 2014-11-08 13:27 UTC (permalink / raw)
To: 18997
In Emacs with GUI, if I try to change the window (with both mouse and
C-x o) being in the IDL shell (GDL or IDL, doesn't matter) Emacs
crashes. This happens also when trying to change the buffer (C-x b) or
to kill it (C-x k), and never occurs in a non graphical Emacs session.
I don't have any problem with other interactive shells, like eshell,
gnuplot, gdb, etc.
I experienced this bug on Ubuntu 14.04 and current Debian testing, with
self-compiled Emacs and pre-built Debian/Ubuntu packages, version 24.3
and 24.4.
Here is the backtrace report for Emacs 24.4:
--8<---------------cut here---------------start------------->8---
Starting program: /tmp/emacs-24.4/src/./emacs -Q
warning: Could not load shared library symbols for linux-gate.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1".
[New Thread 0xb587bb40 (LWP 25183)]
[New Thread 0xb4612b40 (LWP 25184)]
[New Thread 0xb3a64b40 (LWP 25187)]
Breakpoint 1, terminate_due_to_signal (sig=150860112, backtrace_limit=40)
at emacs.c:350
350 {
#0 terminate_due_to_signal (sig=150860112, backtrace_limit=40) at emacs.c:350
No locals.
#1 0x0813458c in emacs_abort () at sysdep.c:2131
No locals.
#2 0x0810bcc7 in xg_tool_bar_menu_proxy (toolitem=0x8f38cb8, user_data=0x1b)
at gtkutil.c:4105
store_type = 3057834092
wbutton = 0x8f31430
vb = 0x8fdf150
c1 = 0x0
wlbl = 0x8fdf150
wimage = 0x0
wmenuitem = 0x8fdf150
wmenuimage = 0x0
#3 0xb7899cf4 in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#4 0xb71df83b in g_closure_invoke ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#5 0xb71f1855 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#6 0xb71f9a52 in g_signal_emit_valist ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#7 0xb71fa0d5 in g_signal_emit ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#8 0xb7985853 in gtk_tool_item_retrieve_proxy_menu_item ()
from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#9 0xb797ef2e in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#10 0xb71e23fc in g_cclosure_marshal_VOID__BOXED ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#11 0xb71de394 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#12 0xb71df795 in g_closure_invoke ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#13 0xb71f123a in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#14 0xb71f9eda in g_signal_emit_valist ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#15 0xb71fa0d5 in g_signal_emit ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#16 0xb79db03e in gtk_widget_size_allocate_with_baseline ()
from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#17 0xb79db48e in gtk_widget_size_allocate ()
from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#18 0xb77466de in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#19 0xb71e23fc in g_cclosure_marshal_VOID__BOXED ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#20 0xb71de394 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#21 0xb71df795 in g_closure_invoke ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#22 0xb71f123a in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#23 0xb71f9eda in g_signal_emit_valist ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#24 0xb71fa0d5 in g_signal_emit ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#25 0xb79db03e in gtk_widget_size_allocate_with_baseline ()
from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#26 0xb7798950 in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#27 0xb71e23fc in g_cclosure_marshal_VOID__BOXED ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#28 0xb71de394 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#29 0xb71df795 in g_closure_invoke ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#30 0xb71f123a in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#31 0xb71f9eda in g_signal_emit_valist ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#32 0xb71fa0d5 in g_signal_emit ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#33 0xb79db03e in gtk_widget_size_allocate_with_baseline ()
from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#34 0xb79db48e in gtk_widget_size_allocate ()
from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#35 0xb79f3082 in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#36 0xb71e23fc in g_cclosure_marshal_VOID__BOXED ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#37 0xb71de394 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#38 0xb71df83b in g_closure_invoke ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#39 0xb71f123a in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#40 0xb71f9eda in g_signal_emit_valist ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#41 0xb71fa0d5 in g_signal_emit ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#42 0xb79db03e in gtk_widget_size_allocate_with_baseline ()
from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#43 0xb79db48e in gtk_widget_size_allocate ()
from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#44 0xb79ecc36 in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#45 0xb71e14c7 in g_cclosure_marshal_VOID__VOIDv ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#46 0xb71de2e2 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#47 0xb71dfa5f in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#48 0xb71f97f9 in g_signal_emit_valist ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#49 0xb71fa0d5 in g_signal_emit ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#50 0xb77df791 in gtk_container_check_resize ()
from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#51 0xb77df7fd in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#52 0xb71e14e7 in g_cclosure_marshal_VOID__VOIDv ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#53 0xb71dfa5f in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#54 0xb71f97f9 in g_signal_emit_valist ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#55 0xb71fa575 in g_signal_emit_by_name ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#56 0xb760ea2d in ?? () from /usr/lib/i386-linux-gnu/libgdk-3.so.0
No symbol table info available.
#57 0xb75ffd5c in ?? () from /usr/lib/i386-linux-gnu/libgdk-3.so.0
No symbol table info available.
#58 0xb70f18d1 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#59 0xb70f0cb3 in g_main_context_dispatch ()
from /lib/i386-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#60 0xb70f10c9 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#61 0xb70f1196 in g_main_context_iteration ()
from /lib/i386-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#62 0xb7895a60 in gtk_main_iteration ()
from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#63 0x080f2db1 in XTread_socket (terminal=0x8798920, hold_quit=0xbfffe21c)
at xterm.c:7016
count = 0
dpyinfo = 0x8501ff8
#64 0x08123577 in gobble_input () at keyboard.c:6850
nr = <optimized out>
hold_quit = {
kind = NO_EVENT,
code = 0,
part = scroll_bar_above_handle,
modifiers = 0,
x = 0,
y = 0,
timestamp = 0,
frame_or_window = 0,
arg = 0
}
next = 0x0
nread = 0
err = false
t = 0x8798920
#65 0x08122ee5 in handle_async_input () at keyboard.c:7090
nread = <optimized out>
#66 process_pending_signals () at keyboard.c:7104
No locals.
#67 0x0816dea9 in Fmake_list (length=8, init=139211714) at alloc.c:2637
val = 142732590
size = 0
#68 0x0818d507 in concat (nargs=nargs@entry=1, args=args@entry=0xbfffe340,
target_type=Lisp_Cons, last_special=false) at fns.c:588
val = <optimized out>
tail = 139211714
this = <optimized out>
toindex = <optimized out>
toindex_byte = 0
result_len = <optimized out>
result_len_byte = 2
argnum = <optimized out>
last_tail = 139211714
prev = <optimized out>
some_multibyte = <optimized out>
textprops = 0x0
num_textprops = 0
sa_must_free = false
#69 0x0818da4d in Fcopy_sequence (arg=147636134) at fns.c:456
No locals.
#70 0x08121aba in timer_check () at keyboard.c:4571
tem = 139211714
#71 0x081220dd in readable_events (flags=flags@entry=1) at keyboard.c:3447
No locals.
#72 0x0812367b in get_input_pending (flags=flags@entry=1) at keyboard.c:6765
No locals.
#73 0x081261da in detect_input_pending_run_timers (do_display=true)
at keyboard.c:9894
old_timers_run = 94
#74 0x081c176d in wait_reading_process_output (time_limit=<optimized out>,
nsecs=0, read_kbd=-1, do_display=true, wait_for_cell=139211714,
wait_proc=0x0, just_wait_proc=0) at process.c:4702
old_timers_run = 94
old_buffer = 0x8d57bb0
old_window = 141713277
leave = false
timeout_reduced_for_timers = <optimized out>
channel = <optimized out>
nfds = <optimized out>
Available = {
fds_bits = {8192, 0 <repeats 31 times>}
}
Writeok = {
fds_bits = {0 <repeats 32 times>}
}
check_write = <optimized out>
check_delay = <optimized out>
no_avail = <optimized out>
xerrno = 11
proc = <optimized out>
timeout = {
tv_sec = 0,
tv_nsec = 0
}
end_time = <optimized out>
wait_channel = -1
got_some_input = false
#75 0x0806310b in sit_for (timeout=120, reading=true, display_option=1)
at dispnew.c:5861
sec = 30
nsec = 0
do_display = true
#76 0x08126faa in read_char (commandflag=1, map=142728086,
prev_event=139211714, used_mouse_menu=0xbfffe97b, end_time=0x0)
at keyboard.c:2809
tem0 = 32
buffer_size = 32
local_getcjmp = {{
__jmpbuf = {1, 142077672, 1, 1, -1410687419, 1894968618},
__mask_was_saved = 0,
__saved_mask = {
__val = {7384394, 141267026, 141267026, 141267026, 5, 139211714,
0, 14, 3221219304, 3221219432, 136036927, 144167386,
139211714, 139234674, 136134762, 148208560, 139211714,
139211714, 138721664, 139289946, 0, 141402088, 135749017,
140921898, 142758086, 3221219136, 40, 2, 141402088, 140921898,
135749512, 148208560}
}
}}
save_jump = {{
__jmpbuf = {0, 0, 0, 0, 0, 0},
__mask_was_saved = 0,
__saved_mask = {
__val = {0 <repeats 32 times>}
}
}}
save = 138962688
previous_echo_area_message = 139211714
also_record = 139211714
reread = false
polling_stopped_here = false
#77 0x081280e5 in read_key_sequence (keybuf=0x20, prompt=-1237133204,
dont_downcase_last=32, can_return_switch_frame=true,
fix_current_buffer=true, prevent_redisplay=false, bufsize=<optimized out>)
at keyboard.c:9088
interrupted_kboard = 0x0
used_mouse_menu = false
fkey = {
parent = 141124718,
map = 141124718,
start = 0,
end = 0
}
keytran = {
parent = 139199246,
map = 139199246,
start = 0,
end = 0
}
indec = {
parent = 141124726,
map = 141124726,
start = 0,
end = 0
}
#78 0x08129b18 in command_loop_1 () at keyboard.c:1452
keybuf = {96, 444, 139211714, 139283498, 139211714, 135751777,
139283498, 139211714, 139211714, 0, 139283498, 32, 143040792,
135818218, 139283498, 139211714, -1207961296, 2, 140882126,
-1073746375, -1073747048, 139211714, 140882126, 139211714, 0, 1,
143040792, -1073746375, -1073747048, 135385236}
i = 2
prev_buffer = 0x8ec9be0
#79 0x081863bc in internal_condition_case (bfun=0x8129960 <command_loop_1>,
handlers=139244538, hfun=0x81213c0 <cmd_error>) at eval.c:1348
val = <optimized out>
c = <optimized out>
#80 0x0811cfd0 in command_loop_2 (ignore=139211714) at keyboard.c:1177
val = 32
#81 0x081862bb in internal_catch (tag=139242618,
func=0x811cfb0 <command_loop_2>, arg=139211714) at eval.c:1112
val = <optimized out>
c = <optimized out>
#82 0x08121054 in command_loop () at keyboard.c:1156
No locals.
#83 recursive_edit_1 () at keyboard.c:777
val = 143040792
#84 0x0812130f in Frecursive_edit () at keyboard.c:848
buffer = <optimized out>
#85 0x08059c0b in main (argc=<optimized out>, argv=0xbfffec44) at emacs.c:1646
dummy = -1238819848
stack_bottom_variable = -73 '\267'
do_initial_setlocale = <optimized out>
dumping = <optimized out>
skip_args = 0
rlim = {
rlim_cur = 8388608,
rlim_max = 18446744073709551615
}
no_loadup = <optimized out>
junk = 0x0
dname_arg = 0x0
ch_to_dir = 0xb65a4c28 "\200\006J\266"
original_pwd = <optimized out>
Continuing.
Program received signal SIGABRT, Aborted.
0xb7fde424 in __kernel_vsyscall ()
#0 0xb7fde424 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb6456bb6 in raise () from /lib/i386-linux-gnu/i686/cmov/libpthread.so.0
No symbol table info available.
#2 0x0811cbb5 in terminate_due_to_signal (sig=6, backtrace_limit=40)
at emacs.c:378
No locals.
#3 0x0813458c in emacs_abort () at sysdep.c:2131
No locals.
#4 0x0810bcc7 in xg_tool_bar_menu_proxy (toolitem=0x8f38cb8, user_data=0x1b)
at gtkutil.c:4105
store_type = GTK_IMAGE_GICON
wbutton = 0x8f31430
vb = 0x8fdf150
c1 = 0x0
wlbl = 0x8fdf150
wimage = 0x0
wmenuitem = 0x8fdf150
wmenuimage = 0x0
#5 0xb7899cf4 in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#6 0xb71df83b in g_closure_invoke ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#7 0xb71f1855 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#8 0xb71f9a52 in g_signal_emit_valist ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#9 0xb71fa0d5 in g_signal_emit ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#10 0xb7985853 in gtk_tool_item_retrieve_proxy_menu_item ()
from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#11 0xb797ef2e in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#12 0xb71e23fc in g_cclosure_marshal_VOID__BOXED ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#13 0xb71de394 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#14 0xb71df795 in g_closure_invoke ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#15 0xb71f123a in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#16 0xb71f9eda in g_signal_emit_valist ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#17 0xb71fa0d5 in g_signal_emit ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#18 0xb79db03e in gtk_widget_size_allocate_with_baseline ()
from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#19 0xb79db48e in gtk_widget_size_allocate ()
from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#20 0xb77466de in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#21 0xb71e23fc in g_cclosure_marshal_VOID__BOXED ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#22 0xb71de394 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#23 0xb71df795 in g_closure_invoke ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#24 0xb71f123a in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#25 0xb71f9eda in g_signal_emit_valist ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#26 0xb71fa0d5 in g_signal_emit ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#27 0xb79db03e in gtk_widget_size_allocate_with_baseline ()
from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#28 0xb7798950 in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#29 0xb71e23fc in g_cclosure_marshal_VOID__BOXED ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#30 0xb71de394 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#31 0xb71df795 in g_closure_invoke ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#32 0xb71f123a in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#33 0xb71f9eda in g_signal_emit_valist ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#34 0xb71fa0d5 in g_signal_emit ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#35 0xb79db03e in gtk_widget_size_allocate_with_baseline ()
from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#36 0xb79db48e in gtk_widget_size_allocate ()
from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#37 0xb79f3082 in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#38 0xb71e23fc in g_cclosure_marshal_VOID__BOXED ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#39 0xb71de394 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#40 0xb71df83b in g_closure_invoke ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#41 0xb71f123a in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#42 0xb71f9eda in g_signal_emit_valist ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#43 0xb71fa0d5 in g_signal_emit ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#44 0xb79db03e in gtk_widget_size_allocate_with_baseline ()
from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#45 0xb79db48e in gtk_widget_size_allocate ()
from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#46 0xb79ecc36 in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#47 0xb71e14c7 in g_cclosure_marshal_VOID__VOIDv ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#48 0xb71de2e2 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#49 0xb71dfa5f in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#50 0xb71f97f9 in g_signal_emit_valist ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#51 0xb71fa0d5 in g_signal_emit ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#52 0xb77df791 in gtk_container_check_resize ()
from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#53 0xb77df7fd in ?? () from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#54 0xb71e14e7 in g_cclosure_marshal_VOID__VOIDv ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#55 0xb71dfa5f in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#56 0xb71f97f9 in g_signal_emit_valist ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#57 0xb71fa575 in g_signal_emit_by_name ()
from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#58 0xb760ea2d in ?? () from /usr/lib/i386-linux-gnu/libgdk-3.so.0
No symbol table info available.
#59 0xb75ffd5c in ?? () from /usr/lib/i386-linux-gnu/libgdk-3.so.0
No symbol table info available.
#60 0xb70f18d1 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#61 0xb70f0cb3 in g_main_context_dispatch ()
from /lib/i386-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#62 0xb70f10c9 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#63 0xb70f1196 in g_main_context_iteration ()
from /lib/i386-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#64 0xb7895a60 in gtk_main_iteration ()
from /usr/lib/i386-linux-gnu/libgtk-3.so.0
No symbol table info available.
#65 0x080f2db1 in XTread_socket (terminal=0x8798920, hold_quit=0xbfffe21c)
at xterm.c:7016
count = 0
dpyinfo = 0x8501ff8
#66 0x08123577 in gobble_input () at keyboard.c:6850
nr = <optimized out>
hold_quit = {
kind = NO_EVENT,
code = 0,
part = scroll_bar_above_handle,
modifiers = 0,
x = 0,
y = 0,
timestamp = 0,
frame_or_window = 0,
arg = 0
}
next = 0x0
nread = 0
err = false
t = 0x8798920
#67 0x08122ee5 in handle_async_input () at keyboard.c:7090
nread = <optimized out>
#68 process_pending_signals () at keyboard.c:7104
No locals.
#69 0x0816dea9 in Fmake_list (length=8, init=139211714) at alloc.c:2637
val = 142732590
size = 0
#70 0x0818d507 in concat (nargs=nargs@entry=1, args=args@entry=0xbfffe340,
target_type=Lisp_Cons, last_special=false) at fns.c:588
val = <optimized out>
tail = 139211714
this = <optimized out>
toindex = <optimized out>
toindex_byte = 0
result_len = <optimized out>
result_len_byte = 2
argnum = <optimized out>
last_tail = 139211714
prev = <optimized out>
some_multibyte = <optimized out>
textprops = 0x0
num_textprops = 0
sa_must_free = false
#71 0x0818da4d in Fcopy_sequence (arg=147636134) at fns.c:456
No locals.
#72 0x08121aba in timer_check () at keyboard.c:4571
tem = 139211714
#73 0x081220dd in readable_events (flags=flags@entry=1) at keyboard.c:3447
No locals.
#74 0x0812367b in get_input_pending (flags=flags@entry=1) at keyboard.c:6765
No locals.
#75 0x081261da in detect_input_pending_run_timers (do_display=true)
at keyboard.c:9894
old_timers_run = 94
#76 0x081c176d in wait_reading_process_output (time_limit=<optimized out>,
nsecs=0, read_kbd=-1, do_display=true, wait_for_cell=139211714,
wait_proc=0x0, just_wait_proc=0) at process.c:4702
old_timers_run = 94
old_buffer = 0x8d57bb0
old_window = 141713277
leave = false
timeout_reduced_for_timers = <optimized out>
channel = <optimized out>
nfds = <optimized out>
Available = {
fds_bits = {8192, 0 <repeats 31 times>}
}
Writeok = {
fds_bits = {0 <repeats 32 times>}
}
check_write = <optimized out>
check_delay = <optimized out>
no_avail = <optimized out>
xerrno = 11
proc = <optimized out>
timeout = {
tv_sec = 0,
tv_nsec = 0
}
end_time = <optimized out>
wait_channel = -1
got_some_input = false
#77 0x0806310b in sit_for (timeout=120, reading=true, display_option=1)
at dispnew.c:5861
sec = 30
nsec = 0
do_display = true
#78 0x08126faa in read_char (commandflag=1, map=142728086,
prev_event=139211714, used_mouse_menu=0xbfffe97b, end_time=0x0)
at keyboard.c:2809
tem0 = 0
buffer_size = 0
local_getcjmp = {{
__jmpbuf = {1, 142077672, 1, 1, -1410687419, 1894968618},
__mask_was_saved = 0,
__saved_mask = {
__val = {7384394, 141267026, 141267026, 141267026, 5, 139211714,
0, 14, 3221219304, 3221219432, 136036927, 144167386,
139211714, 139234674, 136134762, 148208560, 139211714,
139211714, 138721664, 139289946, 0, 141402088, 135749017,
140921898, 142758086, 3221219136, 40, 2, 141402088, 140921898,
135749512, 148208560}
}
}}
save_jump = {{
__jmpbuf = {0, 0, 0, 0, 0, 0},
__mask_was_saved = 0,
__saved_mask = {
__val = {0 <repeats 32 times>}
}
}}
save = 138962688
previous_echo_area_message = 139211714
also_record = 139211714
reread = false
polling_stopped_here = false
#79 0x081280e5 in read_key_sequence (keybuf=0x0, prompt=6,
dont_downcase_last=91, can_return_switch_frame=true,
fix_current_buffer=true, prevent_redisplay=false, bufsize=<optimized out>)
at keyboard.c:9088
interrupted_kboard = 0x0
used_mouse_menu = false
fkey = {
parent = 141124718,
map = 141124718,
start = 0,
end = 0
}
keytran = {
parent = 139199246,
map = 139199246,
start = 0,
end = 0
}
indec = {
parent = 141124726,
map = 141124726,
start = 0,
end = 0
}
#80 0x08129b18 in command_loop_1 () at keyboard.c:1452
keybuf = {96, 444, 139211714, 139283498, 139211714, 135751777,
139283498, 139211714, 139211714, 0, 139283498, 32, 143040792,
135818218, 139283498, 139211714, -1207961296, 2, 140882126,
-1073746375, -1073747048, 139211714, 140882126, 139211714, 0, 1,
143040792, -1073746375, -1073747048, 135385236}
i = 2
prev_buffer = 0x8ec9be0
#81 0x081863bc in internal_condition_case (bfun=0x8129960 <command_loop_1>,
handlers=139244538, hfun=0x81213c0 <cmd_error>) at eval.c:1348
val = <optimized out>
c = <optimized out>
#82 0x0811cfd0 in command_loop_2 (ignore=139211714) at keyboard.c:1177
val = 0
#83 0x081862bb in internal_catch (tag=139242618,
func=0x811cfb0 <command_loop_2>, arg=139211714) at eval.c:1112
val = <optimized out>
c = <optimized out>
#84 0x08121054 in command_loop () at keyboard.c:1156
No locals.
#85 recursive_edit_1 () at keyboard.c:777
val = 143040792
#86 0x0812130f in Frecursive_edit () at keyboard.c:848
buffer = <optimized out>
#87 0x08059c0b in main (argc=<optimized out>, argv=0xbfffec44) at emacs.c:1646
dummy = -1238819848
stack_bottom_variable = -73 '\267'
do_initial_setlocale = <optimized out>
dumping = <optimized out>
skip_args = 0
rlim = {
rlim_cur = 8388608,
rlim_max = 18446744073709551615
}
no_loadup = <optimized out>
junk = 0x0
dname_arg = 0x0
ch_to_dir = 0xb65a4c28 "\200\006J\266"
original_pwd = <optimized out>
Continuing.
[Thread 0xb3a64b40 (LWP 25187) exited]
[Thread 0xb4612b40 (LWP 25184) exited]
[Thread 0xb587bb40 (LWP 25183) exited]
Program terminated with signal SIGABRT, Aborted.
The program no longer exists.
--8<---------------cut here---------------end--------------->8---
In GNU Emacs 24.4.1 (i686-pc-linux-gnu, GTK+ Version 3.14.4)
of 2014-11-08 on debian
Windowing system distributor `The X.Org Foundation', version 11.0.11501000
System Description: Debian GNU/Linux testing (jessie)
Important settings:
value of $LANG: it_IT.UTF-8
locale-coding-system: utf-8-unix
Major mode: Emacs-Lisp
Minor modes in effect:
tooltip-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
<help-echo> <help-echo> <help-echo> M-x r e p o r t
<tab> <return>
Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Making completion list...
Load-path shadows:
None found.
Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util
help-fns mail-prsvr mail-utils help-mode easymenu time-date tooltip
electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd
tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment
lisp-mode prog-mode register page menu-bar rfn-eshadow timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese hebrew greek romanian slovak czech european ethiopic
indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple
abbrev minibuffer nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
dbusbind gfilenotify dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)
Memory information:
((conses 8 72801 6914)
(symbols 24 17686 0)
(miscs 20 56 195)
(strings 16 9376 3980)
(string-bytes 1 263488)
(vectors 8 9021)
(vector-slots 4 390095 5352)
(floats 8 63 170)
(intervals 28 249 19)
(buffers 512 13)
(heap 1024 23165 620))
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2014-11-08 13:27 bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell Mosè Giordano
@ 2015-09-22 6:48 ` Jonathan Woithe
2015-11-11 22:48 ` Gordon Farquharson
2016-03-25 0:04 ` Paul Eggert
2 siblings, 0 replies; 33+ messages in thread
From: Jonathan Woithe @ 2015-09-22 6:48 UTC (permalink / raw)
To: 18997
I have a user who is encountering the same problem. The system is
Slackware64 14.1 which ships with emacs 24.3.
To reproduce the bug one does not need IDL on the system: just use "bash" as
a standin. Create a symlink called /bin/idl pointing to /bin/bash. Create
a skeleton IDL program called test.pro (the content is irrelevant). Then:
* emacs test.pro
* C-c,C-s
This produces a large number of GdkPixbuf messages on the console as the
IDL window is opened (and in this test case, bash is started). There
are three messages:
(emacs:2384): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion
`bits_per_sample == 8' failed
(emacs:2384): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion
`GDK_IS_PIXBUF (pixbuf)' failed
(emacs:2384): GLib-GObject-CRITICAL **: g_object_unref: assertion
`G_IS_OBJECT (object)' failed
These are repeated in no apparent order.
* Click in the test.pro window. Emacs segfaults.
Emacs versions 23.4 and earlier all seem to work just fine. Version 24.1
and later crash out (some as above, some as soon as C-c,C-s is used). For
24.1 and later it doesn't matter whether gtk2 or gtk3 is selected via
"configure".
A git bisect indicates that the fundamental problem was introduced in commit
0afb4571a7b54dc7693e605f7ec8a0a3a9251b4d, which added the initial gtk3
support (between 23.4 and 24.1). Examining the core dump from this commit,
the crash happens at src/gtkutil.c:3743, in xg_get_tool_bar_widgets() called
from xg_tool_item_stale_p(). clist is NULL, so its dereference on line
3743 to find c1 triggers the segfault.
The bug is associated with the new implementation of
xg_get_pixbuf_from_pix_and_mask() in src/gtkutil.c which calls the new
function xg_get_pixbuf_from_pixmap(). XGetImage() is returning an XImage
with bitmap_unit set to 32. This is passed to gdk_pixbuf_new_from_data() as
the bits_per_sample parameter. The gdk_pixbuf_new_from_data() documentation
states:
Currently only RGB images with 8 bits per sample are supported.
Since emacs is not in general passing 8 as the bits_per_sample parameter the
assertion in gdk_pixbuf_new_from_data() fails and NULL is returned. This
restriction on 8 bits per sample within gdk_pixbuf_new_from_data applies to
both gtk2 and gtk3.
As an aside I'm not sure that XImage::bitmap_unit is the correct field to
use for gdk_pixbuf_new_from_data()'s bits_per_sample parameter. There's not
much documentation around for the XImage structure. What I can find
describes selected fields as this:
bitmap_unit = quant. of scanline 8, 16, 32
bitmap_pad = 8, 16, 32 either XY or ZFormat
depth = depth of image
bits_per_pixel = bits per pixel (ZFormat)
Emacs uses the XYPixmap format so bits_per_pixel is irrelevant, and
"bitmap_pad" sounds more like a padding than anything else. That leaves
either "bitmap_unit" or "depth" as apparently feasible options. For what
it's worth, when emcas calls xg_get_pixbuf_from_pixmap() on my 24-bit
Truecolour display, bitmap_unit and bitmap_pad are always 32, depth is
either 24 or 1 and bits_per_pixel is always 1.
The XImage returned by XGetImage() will almost certainly have more than 8
bits per pixel these days and I therefore cannot see a way to interface it
with gdk_pixbuf_new_from_data() (which only accepts 8 bits per pixel).
Consequently I think the only way to address the bug is to partially roll
back the changes to xg_get_pixbuf_from_pix_and_mask() made in commit
0afb4571a7b54dc7693e605f7ec8a0a3a9251b4d. A patch to do this (against
today's git master, (57d48c364cf24c9f99f3d03eb74d9d2a81f4ae31) is at the end
of this email. With this patch applied, git master no longer crashes for me
when gtk2 is in use. The problem is that GdkDrawable, GdkPixmap and their
associated methods are not present in gtk3 which means compiling this patch
for gtk3 will fail.
Unfortunately I am not familiar enough with the emacs code and
the way it manages these tool bar button icons to come up with something
which will work under gtk3. As a result, the patch below is a starting
point rather than a complete fix.
Regards
jonathan
This patch prevents emacs segfaulting under Linux when running idlwave (and
possibly other things) when compiled for gtk2. Attempting to compile for
gtk3 will fail since a gtk3 solution is not yet known (the gtk2 approach
uses features which have been removed in gtk3).
Signed-off-by: Jonathan Woithe <jwoithe@atrad.com.au>
--- a/src/gtkutil.c 2015-09-22 14:59:25.911372841 +0930
+++ b/src/gtkutil.c 2015-09-22 15:05:21.349350817 +0930
@@ -254,55 +254,33 @@
return gdk_cursor_new_for_display (gdpy, GDK_LEFT_PTR);
}
-static GdkPixbuf *
-xg_get_pixbuf_from_pixmap (struct frame *f, Pixmap pix)
-{
- int iunused;
- GdkPixbuf *tmp_buf;
- Window wunused;
- unsigned int width, height, uunused;
- XImage *xim;
-
- XGetGeometry (FRAME_X_DISPLAY (f), pix, &wunused, &iunused, &iunused,
- &width, &height, &uunused, &uunused);
-
- xim = XGetImage (FRAME_X_DISPLAY (f), pix, 0, 0, width, height,
- ~0, XYPixmap);
- if (!xim) return 0;
-
- tmp_buf = gdk_pixbuf_new_from_data ((guchar *) xim->data,
- GDK_COLORSPACE_RGB,
- FALSE,
- xim->bitmap_unit,
- width,
- height,
- xim->bytes_per_line,
- NULL,
- NULL);
- XDestroyImage (xim);
- return tmp_buf;
-}
-
/* Apply GMASK to GPIX and return a GdkPixbuf with an alpha channel. */
static GdkPixbuf *
xg_get_pixbuf_from_pix_and_mask (struct frame *f,
Pixmap pix,
- Pixmap mask)
+ Pixmap mask,
+ GdkColormap *cmap)
{
int width, height;
GdkPixbuf *icon_buf, *tmp_buf;
-
- tmp_buf = xg_get_pixbuf_from_pixmap (f, pix);
+ GdkDisplay *gdpy = gdk_x11_lookup_xdisplay (FRAME_X_DISPLAY (f));
+ GdkPixmap *gpix = gdk_pixmap_foreign_new_for_display (gdpy, pix);
+ GdkPixmap *gmask = mask ? gdk_pixmap_foreign_new_for_display (gdpy, mask) : 0;
+
+ gdk_drawable_get_size (gpix, &width, &height);
+ tmp_buf = gdk_pixbuf_get_from_drawable (NULL, gpix, cmap,
+ 0, 0, 0, 0, width, height);
icon_buf = gdk_pixbuf_add_alpha (tmp_buf, FALSE, 0, 0, 0);
g_object_unref (G_OBJECT (tmp_buf));
- width = gdk_pixbuf_get_width (icon_buf);
- height = gdk_pixbuf_get_height (icon_buf);
-
- if (mask)
+ if (gmask)
{
- GdkPixbuf *mask_buf = xg_get_pixbuf_from_pixmap (f, mask);
+ GdkPixbuf *mask_buf = gdk_pixbuf_get_from_drawable (NULL,
+ gmask,
+ NULL,
+ 0, 0, 0, 0,
+ width, height);
guchar *pixels = gdk_pixbuf_get_pixels (icon_buf);
guchar *mask_pixels = gdk_pixbuf_get_pixels (mask_buf);
int rowstride = gdk_pixbuf_get_rowstride (icon_buf);
@@ -368,6 +346,7 @@
GtkImage *old_widget)
{
GdkPixbuf *icon_buf;
+ GdkColormap *cmap;
/* If we have a file, let GTK do all the image handling.
This seems to be the only way to make insensitive and activated icons
@@ -404,7 +383,8 @@
not associated with the img->pixmap. The img->pixmap may be removed
by clearing the image cache and then the tool bar redraw fails, since
Gtk+ assumes the pixmap is always there. */
- icon_buf = xg_get_pixbuf_from_pix_and_mask (f, img->pixmap, img->mask);
+ cmap = gtk_widget_get_colormap (widget);
+ icon_buf = xg_get_pixbuf_from_pix_and_mask (f, img->pixmap, img->mask, cmap);
if (icon_buf)
{
@@ -1490,7 +1470,8 @@
{
GdkPixbuf *gp = xg_get_pixbuf_from_pix_and_mask (f,
icon_pixmap,
- icon_mask);
+ icon_mask,
+ NULL);
if (gp)
gtk_window_set_icon (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), gp);
}
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2014-11-08 13:27 bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell Mosè Giordano
2015-09-22 6:48 ` Jonathan Woithe
@ 2015-11-11 22:48 ` Gordon Farquharson
2015-11-11 23:18 ` Gordon Farquharson
2015-11-12 16:13 ` Eli Zaretskii
2016-03-25 0:04 ` Paul Eggert
2 siblings, 2 replies; 33+ messages in thread
From: Gordon Farquharson @ 2015-11-11 22:48 UTC (permalink / raw)
To: 18997
[-- Attachment #1: Type: text/plain, Size: 1084 bytes --]
The following patch applied to 24.4 prevents emacs from crashing, but
results in the icons not being displayed correctly. However, messed up
icons is a far better result than a crash.
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -302,7 +302,7 @@ xg_get_pixbuf_from_pixmap (struct frame
tmp_buf = gdk_pixbuf_new_from_data ((guchar *) xim->data,
GDK_COLORSPACE_RGB,
FALSE,
- xim->bitmap_unit,
+ 8,
width,
height,
xim->bytes_per_line,
It appears that one is only allowed to pass a value of 8 for
bits_per_sample to gdk_pixbuf_new_from_data. Therefore, it seems that the
long term solution is to convert the image in xim->data to an 8 bits per
sample image. I'm not really sure I understand what an 8 bits per sample
image is. Does that mean 8 bits per pixel?
Gordon
--
Gordon Farquharson
GnuPG Key ID: 32D6D676
[-- Attachment #2: Type: text/html, Size: 2273 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-11 22:48 ` Gordon Farquharson
@ 2015-11-11 23:18 ` Gordon Farquharson
2015-11-12 16:13 ` Eli Zaretskii
1 sibling, 0 replies; 33+ messages in thread
From: Gordon Farquharson @ 2015-11-11 23:18 UTC (permalink / raw)
To: 18997
[-- Attachment #1: Type: text/plain, Size: 217 bytes --]
A workaround to this bug is to disable the tool bar in emacs:
(tool-bar-mode nil)
Not a satisfying solution, but at least the user will be able to use
IDLWAVE.
Gordon
--
Gordon Farquharson
GnuPG Key ID: 32D6D676
[-- Attachment #2: Type: text/html, Size: 753 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-11 22:48 ` Gordon Farquharson
2015-11-11 23:18 ` Gordon Farquharson
@ 2015-11-12 16:13 ` Eli Zaretskii
2015-11-12 17:55 ` Glenn Morris
1 sibling, 1 reply; 33+ messages in thread
From: Eli Zaretskii @ 2015-11-12 16:13 UTC (permalink / raw)
To: Gordon Farquharson; +Cc: 18997
> Date: Wed, 11 Nov 2015 14:48:14 -0800
> From: Gordon Farquharson <gordonfarquharson@gmail.com>
>
> The following patch applied to 24.4 prevents emacs from crashing, but
> results in the icons not being displayed correctly. However, messed up
> icons is a far better result than a crash.
Thanks.
Actually, I'm a bit confused with this bug. First, the original
report shows a deliberate abort via emacs_abort, while the followup
message talks about a segfault. Are these the same problem or 2
different problems? Is the problem you tried to fix with the patch a
segfault or an abort?
Also, could you please show an up-to-date backtrace for the problem,
from an Emacs built from the current Git master? The function where
the problem happened originally seems to have been deleted in the
meantime.
Last, but not least: could you post a screenshot of the "messed up
icons" you get after applying the patch? I'd like us to be able to
judge how acceptable this fix is, and I have no easy access to a
system where I can reproduce the problem myself.
Thanks again for working on this.
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-12 16:13 ` Eli Zaretskii
@ 2015-11-12 17:55 ` Glenn Morris
2015-11-12 18:04 ` Glenn Morris
2015-11-12 18:16 ` Eli Zaretskii
0 siblings, 2 replies; 33+ messages in thread
From: Glenn Morris @ 2015-11-12 17:55 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 18997, Gordon Farquharson
[-- Attachment #1: Type: text/plain, Size: 297 bytes --]
Current master does not crash for me with gtk2 or gtk3 on RHEL 7.1.
24.5 does. master does have many "GdkPixbuf-CRITICAL"
"GLib-GObject-CRITICAL" complaints though.
Also, the toolbar looks messed up in IDL mode.
It has a bunch of "A A A A ..." in it, which run "Save and Compile this
file" etc.
[-- Attachment #2: 1a.png --]
[-- Type: image/png, Size: 20953 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-12 17:55 ` Glenn Morris
@ 2015-11-12 18:04 ` Glenn Morris
2015-11-12 18:20 ` Eli Zaretskii
2015-11-12 18:29 ` Gordon Farquharson
2015-11-12 18:16 ` Eli Zaretskii
1 sibling, 2 replies; 33+ messages in thread
From: Glenn Morris @ 2015-11-12 18:04 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 18997, Gordon Farquharson
Glenn Morris wrote:
> Also, the toolbar looks messed up in IDL mode.
> It has a bunch of "A A A A ..." in it, which run "Save and Compile this
> file" etc.
Whereas with the Lucid toolkit it looks fine.
So I guess the Gtk toolkikt does not like the unusual way idlw-toolbar.el
does its toolbar images.
(Sadly Emacs idlwave mode seems divorced from its upstream;
http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00008.html )
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-12 17:55 ` Glenn Morris
2015-11-12 18:04 ` Glenn Morris
@ 2015-11-12 18:16 ` Eli Zaretskii
2015-11-12 18:24 ` Glenn Morris
` (2 more replies)
1 sibling, 3 replies; 33+ messages in thread
From: Eli Zaretskii @ 2015-11-12 18:16 UTC (permalink / raw)
To: Glenn Morris; +Cc: 18997, gordonfarquharson
> From: Glenn Morris <rgm@gnu.org>
> Cc: Gordon Farquharson <gordonfarquharson@gmail.com>, 18997@debbugs.gnu.org
> Date: Thu, 12 Nov 2015 12:55:03 -0500
>
> Current master does not crash for me with gtk2 or gtk3 on RHEL 7.1.
> 24.5 does. master does have many "GdkPixbuf-CRITICAL"
> "GLib-GObject-CRITICAL" complaints though.
Do those complaints include the one that says this:
gdk_pixbuf_new_from_data: assertion `bits_per_sample == 8' failed
> Also, the toolbar looks messed up in IDL mode.
> It has a bunch of "A A A A ..." in it, which run "Save and Compile this
> file" etc.
What's so special about IDL mode that it causes this? Ah, I see: it
comes with its own XPM images for the toolbar (in idlw-toolbar.el),
right? If that's the reason, can we somehow modify those XPM icons to
use only 8 bits per sample?
Thanks.
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-12 18:04 ` Glenn Morris
@ 2015-11-12 18:20 ` Eli Zaretskii
2015-11-12 18:24 ` Glenn Morris
2015-11-12 18:29 ` Gordon Farquharson
1 sibling, 1 reply; 33+ messages in thread
From: Eli Zaretskii @ 2015-11-12 18:20 UTC (permalink / raw)
To: Glenn Morris; +Cc: 18997, gordonfarquharson
> From: Glenn Morris <rgm@gnu.org>
> Cc: 18997@debbugs.gnu.org, Gordon Farquharson <gordonfarquharson@gmail.com>
> Date: Thu, 12 Nov 2015 13:04:08 -0500
>
> (Sadly Emacs idlwave mode seems divorced from its upstream;
> http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00008.html )
Does the upstream version avoid this problem? If it does, I'd suggest
importing the upstream version (yes, I know it's non-trivial).
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-12 18:16 ` Eli Zaretskii
@ 2015-11-12 18:24 ` Glenn Morris
[not found] ` <CABwPwwJZVsdZxPPKdoysZbbQ4wuDx5pTdworGoX91Q92EyxyVA@mail.gmail.com>
2015-11-12 18:33 ` Gordon Farquharson
2 siblings, 0 replies; 33+ messages in thread
From: Glenn Morris @ 2015-11-12 18:24 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 18997, gordonfarquharson
Eli Zaretskii wrote:
>> 24.5 does. master does have many "GdkPixbuf-CRITICAL"
>> "GLib-GObject-CRITICAL" complaints though.
>
> Do those complaints include the one that says this:
>
> gdk_pixbuf_new_from_data: assertion `bits_per_sample == 8' failed
Full list:
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:22886): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-12 18:20 ` Eli Zaretskii
@ 2015-11-12 18:24 ` Glenn Morris
2015-11-12 18:33 ` Eli Zaretskii
0 siblings, 1 reply; 33+ messages in thread
From: Glenn Morris @ 2015-11-12 18:24 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 18997, gordonfarquharson
Eli Zaretskii wrote:
> Does the upstream version avoid this problem?
Don't know, it was just a general lament on the state of the world.
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-12 18:04 ` Glenn Morris
2015-11-12 18:20 ` Eli Zaretskii
@ 2015-11-12 18:29 ` Gordon Farquharson
1 sibling, 0 replies; 33+ messages in thread
From: Gordon Farquharson @ 2015-11-12 18:29 UTC (permalink / raw)
To: Glenn Morris, jd.smith; +Cc: 18997
[-- Attachment #1: Type: text/plain, Size: 353 bytes --]
On Thu, Nov 12, 2015 at 10:04 AM, Glenn Morris <rgm@gnu.org> wrote:
> (Sadly Emacs idlwave mode seems divorced from its upstream;
> http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00008.html )
>
I'm CC'ing JD SMith who is/was the maintainer for IDLWAVE, so that he is
aware of this bug.
Gordon
--
Gordon Farquharson
GnuPG Key ID: 32D6D676
[-- Attachment #2: Type: text/html, Size: 861 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
[not found] ` <CABwPwwJZVsdZxPPKdoysZbbQ4wuDx5pTdworGoX91Q92EyxyVA@mail.gmail.com>
@ 2015-11-12 18:32 ` Eli Zaretskii
2015-11-12 18:35 ` Gordon Farquharson
0 siblings, 1 reply; 33+ messages in thread
From: Eli Zaretskii @ 2015-11-12 18:32 UTC (permalink / raw)
To: Gordon Farquharson; +Cc: 18997
> Date: Thu, 12 Nov 2015 10:24:15 -0800
> From: Gordon Farquharson <gordonfarquharson@gmail.com>
>
> On Thu, Nov 12, 2015 at 10:16 AM, Eli Zaretskii <eliz@gnu.org> wrote:
>
> What's so special about IDL mode that it causes this? Ah, I see: it
> comes with its own XPM images for the toolbar (in idlw-toolbar.el),
> right? If that's the reason, can we somehow modify those XPM icons to
> use only 8 bits per sample?
>
>
> I tried changing the colors in the XPM images from 32 bits per channel to 8
> bits per channel, i.e., from
>
> c #000000000000\"
>
> to
>
> c #000000\"
>
> but emacs still crashed. Does 8 bits per sample mean 8 bit color (i.e., 256
> colors)?
Sorry, I don't know.
(And please keep the bug address on the CC list, so that this
discussion gets recorded with the bug.)
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-12 18:24 ` Glenn Morris
@ 2015-11-12 18:33 ` Eli Zaretskii
2015-11-12 18:38 ` Gordon Farquharson
0 siblings, 1 reply; 33+ messages in thread
From: Eli Zaretskii @ 2015-11-12 18:33 UTC (permalink / raw)
To: Gordon Farquharson, Glenn Morris; +Cc: 18997
> From: Glenn Morris <rgm@gnu.org>
> Cc: 18997@debbugs.gnu.org, gordonfarquharson@gmail.com
> Date: Thu, 12 Nov 2015 13:24:59 -0500
>
> Eli Zaretskii wrote:
>
> > Does the upstream version avoid this problem?
>
> Don't know, it was just a general lament on the state of the world.
Gordon, could you perhaps try the upstream version?
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-12 18:16 ` Eli Zaretskii
2015-11-12 18:24 ` Glenn Morris
[not found] ` <CABwPwwJZVsdZxPPKdoysZbbQ4wuDx5pTdworGoX91Q92EyxyVA@mail.gmail.com>
@ 2015-11-12 18:33 ` Gordon Farquharson
2 siblings, 0 replies; 33+ messages in thread
From: Gordon Farquharson @ 2015-11-12 18:33 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 18997
[-- Attachment #1: Type: text/plain, Size: 1222 bytes --]
I tried changing the colors in the XPM images from 32 bits per channel to 8
bits per channel, i.e., from
c #000000000000\"
to
c #000000\"
but emacs still crashed. Does 8 bits per sample mean 8 bit color (i.e., 256
colors)?
On Thu, Nov 12, 2015 at 10:16 AM, Eli Zaretskii <eliz@gnu.org> wrote:
> > From: Glenn Morris <rgm@gnu.org>
> > Cc: Gordon Farquharson <gordonfarquharson@gmail.com>,
> 18997@debbugs.gnu.org
> > Date: Thu, 12 Nov 2015 12:55:03 -0500
> >
> > Current master does not crash for me with gtk2 or gtk3 on RHEL 7.1.
> > 24.5 does. master does have many "GdkPixbuf-CRITICAL"
> > "GLib-GObject-CRITICAL" complaints though.
>
> Do those complaints include the one that says this:
>
> gdk_pixbuf_new_from_data: assertion `bits_per_sample == 8' failed
>
> > Also, the toolbar looks messed up in IDL mode.
> > It has a bunch of "A A A A ..." in it, which run "Save and Compile this
> > file" etc.
>
> What's so special about IDL mode that it causes this? Ah, I see: it
> comes with its own XPM images for the toolbar (in idlw-toolbar.el),
> right? If that's the reason, can we somehow modify those XPM icons to
> use only 8 bits per sample?
>
> Thanks.
>
--
Gordon Farquharson
GnuPG Key ID: 32D6D676
[-- Attachment #2: Type: text/html, Size: 2103 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-12 18:32 ` Eli Zaretskii
@ 2015-11-12 18:35 ` Gordon Farquharson
0 siblings, 0 replies; 33+ messages in thread
From: Gordon Farquharson @ 2015-11-12 18:35 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 18997
[-- Attachment #1: Type: text/plain, Size: 297 bytes --]
On Thu, Nov 12, 2015 at 10:32 AM, Eli Zaretskii <eliz@gnu.org> wrote:
>
> (And please keep the bug address on the CC list, so that this
> discussion gets recorded with the bug.)
>
Yeah, I just realized I hadn't been replying to all. Sorry.
Gordon
--
Gordon Farquharson
GnuPG Key ID: 32D6D676
[-- Attachment #2: Type: text/html, Size: 752 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-12 18:33 ` Eli Zaretskii
@ 2015-11-12 18:38 ` Gordon Farquharson
2015-11-12 18:44 ` Eli Zaretskii
2015-11-12 20:35 ` Gordon Farquharson
0 siblings, 2 replies; 33+ messages in thread
From: Gordon Farquharson @ 2015-11-12 18:38 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 18997
[-- Attachment #1: Type: text/plain, Size: 624 bytes --]
On Thu, Nov 12, 2015 at 10:33 AM, Eli Zaretskii <eliz@gnu.org> wrote:
> > From: Glenn Morris <rgm@gnu.org>
> > Cc: 18997@debbugs.gnu.org, gordonfarquharson@gmail.com
> > Date: Thu, 12 Nov 2015 13:24:59 -0500
> >
> > Eli Zaretskii wrote:
> >
> > > Does the upstream version avoid this problem?
> >
> > Don't know, it was just a general lament on the state of the world.
>
> Gordon, could you perhaps try the upstream version?
>
24.4 does fail with the upstream IDLWAVE. I haven't tried emacs master with
upstream IDLWAVE. Standby. I need to build emacs master first.
Gordon
--
Gordon Farquharson
GnuPG Key ID: 32D6D676
[-- Attachment #2: Type: text/html, Size: 1282 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-12 18:38 ` Gordon Farquharson
@ 2015-11-12 18:44 ` Eli Zaretskii
2015-11-12 18:54 ` Gordon Farquharson
2015-11-12 20:35 ` Gordon Farquharson
1 sibling, 1 reply; 33+ messages in thread
From: Eli Zaretskii @ 2015-11-12 18:44 UTC (permalink / raw)
To: Gordon Farquharson; +Cc: 18997
> Date: Thu, 12 Nov 2015 10:38:07 -0800
> From: Gordon Farquharson <gordonfarquharson@gmail.com>
> Cc: Glenn Morris <rgm@gnu.org>, 18997@debbugs.gnu.org
>
> 24.4 does fail with the upstream IDLWAVE. I haven't tried emacs master with
> upstream IDLWAVE. Standby. I need to build emacs master first.
One other idea is to compare the XPM images in idlw-toolbar.el with
the ones we have in etc/images/, and see which part(s) of the
differences between them cause the problems. I'm not an expert on
XPM, but I see a few differences, besides the color depth.
Btw, when you changed #000000000000 to #000000, did the error messages
from GdkPixbuf about 8 bits stop?
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-12 18:44 ` Eli Zaretskii
@ 2015-11-12 18:54 ` Gordon Farquharson
2015-11-12 19:33 ` Eli Zaretskii
0 siblings, 1 reply; 33+ messages in thread
From: Gordon Farquharson @ 2015-11-12 18:54 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 18997
[-- Attachment #1.1: Type: text/plain, Size: 729 bytes --]
On Thu, Nov 12, 2015 at 10:44 AM, Eli Zaretskii <eliz@gnu.org> wrote:
> One other idea is to compare the XPM images in idlw-toolbar.el with
> the ones we have in etc/images/, and see which part(s) of the
> differences between them cause the problems. I'm not an expert on
> XPM, but I see a few differences, besides the color depth.
>
> Btw, when you changed #000000000000 to #000000, did the error messages
> from GdkPixbuf about 8 bits stop?
>
The messages from GdkPixbuf about 8 bits (gdk_pixbuf_new_from_data:
assertion 'bits_per_sample == 8' failed) are still present with colors
changed to #000000. Attached is the backtrace, and the idlw-toolbar.el file
I used.
Gordon
--
Gordon Farquharson
GnuPG Key ID: 32D6D676
[-- Attachment #1.2: Type: text/html, Size: 1154 bytes --]
[-- Attachment #2: emacs-24.4+1-5_crashlog.txt --]
[-- Type: text/plain, Size: 45833 bytes --]
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_add_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): GLib-GObject-CRITICAL **: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed
(emacs:3682): Gtk-CRITICAL **: gtk_image_get_storage_type: assertion 'GTK_IS_IMAGE (image)' failed
internal error: store_type is 0
Fatal error 6: Aborted
Backtrace:
emacs[0x503593]
emacs[0x4e9f9e]
emacs[0x5035d3emacs[0x4d8623]
/usr/lib/x86_64-linux-gnu/libgtk-3.so.0(+0x1f069a)[0x7f403ecd969a]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_closure_invoke+0x145)[0x7f403d4b1245]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x21f6c)[0x7f403d4c2f6c]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0xae5)[0x7f403d4cb285]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x8f)[0x7f403d4cb9df]
/usr/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_tool_item_retrieve_proxy_menu_item+0x77)[0x7f403edbd1f7]
/usr/lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2cdf3c)[0x7f403edb6f3c]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_closure_invoke+0x9f)[0x7f403d4b119f]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x2183b)[0x7f403d4c283b]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0xfd8)[0x7f403d4cb778]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x8f)[0x7f403d4cb9df]
/usr/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_size_allocate_with_baseline+0x427)[0x7f403ee0ede7]
/usr/lib/x86_64-linux-gnu/libgtk-3.so.0(+0xadf65)[0x7f403eb96f65]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_cclosure_marshal_VOID__BOXEDv+0x83)[0x7f403d4b4233]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x103c2)[0x7f403d4b13c2]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x8e7)[0x7f403d4cb087]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x8f)[0x7f403d4cb9df]
/usr/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_size_allocate_with_baseline+0x427)[0x7f403ee0ede7]
/usr/lib/x86_64-linux-gnu/libgtk-3.so.0(+0xfc21d)[0x7f403ebe521d]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_cclosure_marshal_VOID__BOXEDv+0x83)[0x7f403d4b4233]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x103c2)[0x7f403d4b13c2]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x8e7)[0x7f403d4cb087]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x8f)[0x7f403d4cb9df]
/usr/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_size_allocate_with_baseline+0x427)[0x7f403ee0ede7]
/usr/lib/x86_64-linux-gnu/libgtk-3.so.0(+0x33c4d3)[0x7f403ee254d3]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_closure_invoke+0x145)[0x7f403d4b1245]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x2183b)[0x7f403d4c283b]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0xfd8)[0x7f403d4cb778]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x8f)[0x7f403d4cb9df]
/usr/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_size_allocate_with_baseline+0x427)[0x7f403ee0ede7]
/usr/lib/x86_64-linux-gnu/libgtk-3.so.0(+0x3367bf)[0x7f403ee1f7bf]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x10474)[0x7f403d4b1474]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x8e7)[0x7f403d4cb087]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x8f)[0x7f403d4cb9df]
/usr/lib/x86_64-linux-gnu/libgtk-3.so.0(+0x1401fc)[0x7f403ec291fc]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x10474)[0x7f403d4b1474]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x8e7)[0x7f403d4cb087]
...
Aborted
[-- Attachment #3: idlw-toolbar.el --]
[-- Type: text/x-emacs-lisp, Size: 30577 bytes --]
;;; idlw-toolbar.el --- a debugging toolbar for IDLWAVE
;; Copyright (c) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
;; 2009, 2010 Free Software Foundation
;; Author: Carsten Dominik <dominik _AT_ astro.uva.nl>
;; Maintainer: J.D. Smith <jdtsmith _AT_ gmail.com>
;; Version: VERSIONTAG
;; Date: $Date: 2006/08/22 05:15:26 $
;; Keywords: processes
;; This file is part of GNU Emacs.
;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; This file implements a debugging toolbar for IDLWAVE. It requires
;; Emacs or XEmacs with toolbar and xpm support.
;; New versions of IDLWAVE, documentation, and more information
;; available from:
;; http://github.com/jdtsmith/idlwave
\f
;;; Code:
(eval-when-compile (require 'cl))
(defun idlwave-toolbar-make-button (image)
(if (featurep 'xemacs)
(toolbar-make-button-list image)
(list 'image :type 'xpm :data image)))
(defvar idlwave-toolbar)
(defvar default-toolbar)
(defvar idlwave-toolbar-is-possible)
(if (not (or (and (featurep 'xemacs) ; This is XEmacs
(featurep 'xpm) ; need xpm
(featurep 'toolbar)) ; ... and the toolbar
(and (not (featurep 'xemacs)) ; This is Emacs
(boundp 'tool-bar-button-margin) ; need toolbar
(fboundp 'image-type-available-p) ; need image stuff
(image-type-available-p 'xpm)) ; need xpm
))
;; oops - cannot do the toolbar
(message "Sorry, IDLWAVE xpm toolbar cannot be used on this version of Emacs")
;; OK, we can define a toolbar
(defconst idlwave-toolbar-is-possible t
"When defined, indicates that a toolbar is possible with this Emacs.")
(defvar idlwave-toolbar-compile-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"28 28 2 1\",
\" c None s backgroundToolBarColor\",
\". c #000000\",
\" \",
\" \",
\" \",
\" . \",
\" .. ... .. \",
\" .... ... .... \",
\" ............. \",
\" ........... \",
\" ................... \",
\" ........ ........ \",
\" ..... ........ \",
\" .... ......... \",
\" ..... .. ... ..... \",
\" ...... .. .. ...... \",
\" ..... ... .. ..... \",
\" ......... .... \",
\" ........ ..... \",
\" ........ ........ \",
\" ................... \",
\" ........... \",
\" ............. \",
\" .... ... .... \",
\" .. ... .. \",
\" . \",
\" \",
\" \",
\" \",
\" \"};")
"The compile icon.")
(defvar idlwave-toolbar-next-error-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"28 28 3 1\",
\" c None s backgroundToolBarColor\",
\". c #000000\",
\"R c #FF0000\",
\" \",
\" \",
\" R \",
\" RR RRR RR \",
\" RRRR RRR RRRR \",
\" RRRRRRRRRRRRR \",
\" RRRRRRRRRRR \",
\" RRRRRRRRRRRRRRRRRRR \",
\" RRRRRRRR \",
\" RRRRR \",
\" RRRR \",
\" ........ \",
\" ........ \",
\" ......... \",
\" ..... .. ... ..... \",
\" ...... .. .. ...... \",
\" ..... ... .. ..... \",
\" ......... .... \",
\" ........ ..... \",
\" ........ ........ \",
\" ................... \",
\" ........... \",
\" ............. \",
\" .... ... .... \",
\" .. ... .. \",
\" . \",
\" \",
\" \"};")
"The Next Error icon.")
(defvar idlwave-toolbar-stop-at-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"28 28 3 1\",
\" c None s backgroundToolBarColor\",
\". c #000000\",
\"R c #FF0000\",
\" \",
\" \",
\" \",
\" \",
\" ........ \",
\" .RRRRRRRR. \",
\" .RRRRRRRRRR. \",
\" .RRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRR. \",
\" .RRRRRRRRRR. \",
\" .RRRRRRRR. \",
\" ........ \",
\" \",
\" \",
\" \",
\" \"};")
"The Stop At icon.")
(defvar idlwave-toolbar-clear-at-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"28 28 3 1\",
\" c None s backgroundToolBarColor\",
\". c #000000\",
\"R c #FF0000\",
\" \",
\" \",
\" \",
\" ... ... \",
\" ... ........ ... \",
\" ... .RRRRRRRR. ... \",
\" ....RRRRRRRRRR.... \",
\" ...RRRRRRRRRR... \",
\" ....RRRRRRRR.... \",
\" .RR...RRRRRR...RR. \",
\" .RRRR...RRRR...RRRR. \",
\" .RRRRR...RR...RRRRR. \",
\" .RRRRRR......RRRRRR. \",
\" .RRRRRRR....RRRRRRR. \",
\" .RRRRRRR....RRRRRRR. \",
\" .RRRRRR......RRRRRR. \",
\" .RRRRR...RR...RRRRR. \",
\" .RRRR...RRRR...RRRR. \",
\" .RR...RRRRRR...RR. \",
\" ....RRRRRRRR.... \",
\" ...RRRRRRRRRR... \",
\" ....RRRRRRRRRR.... \",
\" ... .RRRRRRRR. ... \",
\" ... ........ ... \",
\" ... ... \",
\" \",
\" \",
\" \"};")
"The Clear At icon.")
(defvar idlwave-toolbar-clear-all-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"28 28 4 1\",
\" c None s backgroundToolBarColor\",
\". c #000000\",
\"X c #FFFFFF\",
\"R c #FF0000\",
\" \",
\" \",
\" \",
\" .. .... .... .. \",
\" ...RRRR. .RRRR... \",
\" ...RRRR. .RRRR... \",
\" .R...RRRR. .RRRR...R. \",
\" .RR...RRR. .RRR...RR. \",
\" .RRR...RR. .RR...RRR. \",
\" .RRRR...R. .R...RRRR. \",
\" .RRRR... ...RRRR. \",
\" .RRRR... ...RRRR. \",
\" .... ... ... .... \",
\" ..... \",
\" ... \",
\" .... ..... .... \",
\" .RRRR.... ....RRRR. \",
\" .RRRRR... ...RRRRR. \",
\" .RRRRR.... ....RRRRR. \",
\" .RRRR...R. .R...RRRR. \",
\" .RRR...RR. .RR...RRR. \",
\" .RR...RRR. .RRR...RR. \",
\" ....RRR. .RRR.... \",
\" ...RRR. .RRR... \",
\" ....... ....... \",
\" \",
\" \",
\" \"};")
"The Clear-All icon.")
(defvar idlwave-toolbar-stop-beginning-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"28 28 4 1\",
\" c None s backgroundToolBarColor\",
\". c #000000\",
\"X c #FF0000\",
\"_ c #FFFFFF\",
\" \",
\" \",
\" \",
\" \",
\" ........ \",
\" .XXXXXXXX. \",
\" .XXXXXXXXXX. \",
\" .XXXXXXXXXXXX. \",
\" .XX..XXXXXXXXXX. \",
\" .XX.XX.X______XXX. \",
\" .XXX.XX.X______XXXX. \",
\" .XXXX..XXXXXXXXXXXX. \",
\" .XXXXXXXXXX____XXXX. \",
\" .XXXXXXXXXX____XXXX. \",
\" .XXXXXXXXXXXXXXXXXX. \",
\" .XXXXXXXXXX____XXXX. \",
\" .XXXXXXXXXX____XXXX. \",
\" .XXXXXXXXXXXXXXXXXX. \",
\" .XXXXXXXXX____XXX. \",
\" .XXXXXXXX____XX. \",
\" .XXXXXXXXXXXX. \",
\" .XXXXXXXXXX. \",
\" .XXXXXXXX. \",
\" ........ \",
\" \",
\" \",
\" \",
\" \"};")
"The Stop at Beginning icon.")
(defvar idlwave-toolbar-stop-in-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"28 28 4 1\",
\" c None s backgroundToolBarColor\",
\"_ c #FFFFFF\",
\". c #000000\",
\"R c #FF0000\",
\" \",
\" \",
\" \",
\" \",
\" ........ \",
\" .RRRRRRRR. \",
\" .RRRRRRRRRR. \",
\" .RRRRRRRRRRRR. \",
\" .RRR___RR___RRR. \",
\" .RRRR__RRRR__RRRR. \",
\" .RRRRR__RRRR__RRRRR. \",
\" .RRRRR__RRRR__RRRRR. \",
\" .RRRRR__RRRR__RRRRR. \",
\" .RRRR__RRRRRR__RRRR. \",
\" .RRRRR__RRRR__RRRRR. \",
\" .RRRRR__RRRR__RRRRR. \",
\" .RRRRR__RRRR__RRRRR. \",
\" .RRRRR__RRRR__RRRRR. \",
\" .RRRR___RR___RRRR. \",
\" .RRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRR. \",
\" .RRRRRRRRRR. \",
\" .RRRRRRRR. \",
\" ........ \",
\" \",
\" \",
\" \",
\" \"};")
"The Stop in icon.")
(defvar idlwave-toolbar-edit-cmd-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"28 28 2 1\",
\" c None s backgroundToolBarColor\",
\". c #000000\",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" .. \",
\" .. \",
\" .. \",
\" .. \",
\" .. \",
\" \",
\" \",
\" ................. \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \"};")
"The edit-cmd icon")
(defvar idlwave-toolbar-run-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"28 28 3 1\",
\" c None s backgroundToolBarColor\",
\". s FgColor c #000000\",
\"G c #00BB00\",
\" \",
\" \",
\" \",
\" \",
\" ..... \",
\" .GGG. \",
\" .GGG. \",
\" .GGG. ....... \",
\" .GGG. \",
\" .GGG. \",
\" .GGG. ....... \",
\" .GGG. \",
\" ....GGG.... \",
\" .GGGGGGG. ....... \",
\" .GGGGG. \",
\" .GGG. \",
\" .G. ....... \",
\" . \",
\" \",
\" ....... \",
\" \",
\" \",
\" ....... \",
\" \",
\" \",
\" \",
\" \",
\" \"};")
"The Run icon.")
(defvar idlwave-toolbar-cont-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"28 28 3 1\",
\" c None s backgroundToolBarColor\",
\". s FgColor c #000000\",
\"G c #00BB00\",
\" \",
\" \",
\" \",
\" ....... \",
\" \",
\" ....... \",
\" .GGGGGG. ....... \",
\" .GGGGGGG. \",
\" .GGG..... \",
\" .GGG. ....... \",
\" .GGG. \",
\" .GGG. \",
\" .GGG. ....... \",
\" .GGG. \",
\" ....GGG.... \",
\" .GGGGGGG. ....... \",
\" .GGGGG. \",
\" .GGG. \",
\" .G. ....... \",
\" . \",
\" \",
\" ....... \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \"};")
"The Cont icon.")
(defvar idlwave-toolbar-to-here-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"28 28 4 1\",
\" c None s backgroundToolBarColor\",
\". c #000000\",
\"G c #00BB00\",
\"R c #FF0000\",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" ..... ........ \",
\" .GGGG. \",
\" .GGGGG. \",
\" .GG.... ........ \",
\" .GG. \",
\" .GG. . \",
\" .GG. .. \",
\" .GG. .G. ...... \",
\" .GG...GG. \",
\" .GGGGGGGG. RRRRRR \",
\" .GGGGGGGGG. RRRRRR \",
\" .GGGGGGG. RRRRRR \",
\" ....GG. \",
\" .G. ...... \",
\" .. \",
\" . \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \"};")
"The Cont-to-here icon.")
(defvar idlwave-toolbar-step-over-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"28 28 3 1\",
\" c None s backgroundToolBarColor\",
\". c #000000\",
\"G c #00BB00\",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" ..... \",
\" .GGGG. ....... \",
\" .GGGGG. \",
\" .GG.... \",
\" .GG. ....... \",
\" .GG. . \",
\" .GG. .. \",
\" .GG. .G. ....... \",
\" .GG...GG. \",
\" .GGGGGGGG. \",
\" .GGGGGGGGG. ....... \",
\" .GGGGGGG. \",
\" ....GG. \",
\" .G. ....... \",
\" .. \",
\" . \",
\" ....... \",
\" \",
\" \",
\" \",
\" \",
\" \"};")
"The Step Over icon.")
(defvar idlwave-toolbar-step-into-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"28 28 3 1\",
\" c None s backgroundToolBarColor\",
\". c #000000\",
\"G c #00BB00\",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" ..... ....... \",
\" .GGGG. \",
\" .GGGGG. \",
\" .GG.... ........ \",
\" .GG. \",
\" .GG. . \",
\" .GG. .. \",
\" .GG. .G. \",
\" .GG...GG. ....... \",
\" .GGGGGGGG. \",
\" .GGGGGGGGG. \",
\" .GGGGGGG. ....... \",
\" ....GG. \",
\" .G. \",
\" .. ....... \",
\" . \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \"};")
"The Step Into icon.")
(defvar idlwave-toolbar-step-out-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"28 28 3 1\",
\" c None s backgroundToolBarColor\",
\". c #000000\",
\"G c #00BB00\",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" . \",
\" .. ........ \",
\" .G. \",
\" ....GG. \",
\" .GGGGGGG. ........ \",
\" .GGGGGGGGG. \",
\" .GGGGGGGG. \",
\" .GG...GG. ........ \",
\" .GG. .G. \",
\" .GG. .. \",
\" .GG. . \",
\" .GG. \",
\" .GG....... ....... \",
\" .GGGGGGGG. \",
\" .GGGGGGG. \",
\" ........ ....... \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \"};")
"The Step up icon.")
(defvar idlwave-toolbar-eval-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"28 28 2 1\",
\" c None s backgroundToolBarColor\",
\". c #000000\",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" .... \",
\" .. .. ...... \",
\" .. .. ...... \",
\" .. .. \",
\" .. .. ...... \",
\" .. .. ...... \",
\" .... \",
\" .. \",
\" .. \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \"};")
"The Evaluate icon.")
(defvar idlwave-toolbar-stack-up-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"28 28 5 1\",
\" c None s backgroundToolBarColor\",
\". s FgColor c #000000\",
\"_ c #FFFFFF\",
\"G c #00BB00\",
\"R c #FF0000\",
\" \",
\" \",
\" \",
\" \",
\" \",
\" ........ . \",
\" .______. ... \",
\" .______. ..... \",
\" .______. ....... \",
\" .______. ... \",
\" .______. ... \",
\" ........ ... \",
\" .GGGGGG. ... \",
\" .GGGGGG. ... \",
\" .GGGGGG. \",
\" .GGGGGG. \",
\" .GGGGGG. \",
\" ........ \",
\" .RRRRRR. \",
\" .RRRRRR. \",
\" .RRRRRR. \",
\" .RRRRRR. \",
\" .RRRRRR. \",
\" ........ \",
\" \",
\" \",
\" \",
\" \"};")
"The Stack Up icon.")
(defvar idlwave-toolbar-stack-down-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"28 28 5 1\",
\" c None s backgroundToolBarColor\",
\". s FgColor c #000000\",
\"_ c #FFFFFF\",
\"G c #00BB00\",
\"R c #FF0000\",
\" \",
\" \",
\" \",
\" \",
\" \",
\" ........ \",
\" .______. \",
\" .______. \",
\" .______. \",
\" .______. \",
\" .______. \",
\" ........ \",
\" .GGGGGG. \",
\" .GGGGGG. \",
\" .GGGGGG. \",
\" .GGGGGG. ... \",
\" .GGGGGG. ... \",
\" ........ ... \",
\" .RRRRRR. ... \",
\" .RRRRRR. ... \",
\" .RRRRRR. ....... \",
\" .RRRRRR. ..... \",
\" .RRRRRR. ... \",
\" ........ . \",
\" \",
\" \",
\" \",
\" \"};")
"The Stack Down icon.")
(defvar idlwave-toolbar-reset-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"28 28 3 1\",
\" c None s backgroundToolBarColor\",
\"G c #00BB00\",
\". c #000000\",
\" \",
\" \",
\" \",
\" . \",
\" .G. . \",
\" .GGG.. .G. \",
\" .GGGGG..GG. \",
\" ..GGGGGGGG. \",
\" ..GGGGGG. \",
\" ..GGGGG. \",
\" .GGGGGG. \",
\" .G...... \",
\" \",
\" ..... \",
\" ......... \",
\" ......... \",
\" ......... \",
\" . ..... . \",
\" . . \",
\" . . \",
\" . . \",
\" . . \",
\" . . \",
\" .. .. \",
\" ....... \",
\" ..... \",
\" \",
\" \"};")
"The Reset icon.")
(defvar idlwave-toolbar-electric-debug-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"28 28 8 1\",
\" c None s backgroundToolBarColor\",
\". c #CFC854\",
\"+ c #EEDB0E\",
\"@ c #D2C739\",
\"# c #A39C54\",
\"$ c #CDC020\",
\"% c #020202\",
\"& c #D60E36\",
\" \",
\" \",
\" .. \",
\" +++++@ \",
\" ++++++ \",
\" +++++@ \",
\" +++++ \",
\" #++++@ \",
\" $+++@ %% %% \",
\" ++++++$ % % \",
\" #+++++$ % % \",
\" #++$# %%% \",
\" #+++ %%%%%%% \",
\" .++ %%%%%%%%%%% \",
\" ++$$ %%%%%%%%%%% \",
\" .+@# &&%%%%%%%&& \",
\" .++++# &&&&&%%%&&&&& \",
\" +++++$ &&%%&&&&&%%&& \",
\" $+++$ &&%%&&&&&%%&& \",
\" $++@ &&&&&&%&&&&&& \",
\" $+@ &&&&&&%&&&&&& \",
\" @+ &&%%&&&&&%%&& \",
\" ++. &%%&&%&&%%& \",
\" +. &&&&%%%&&&& \",
\" .+ &&%%%%%&& \",
\" ++ %%%%%%% \",
\" . %%% \",
\" \"};")
"The electric debug icon.")
(defvar idlwave-toolbar
'(
[idlwave-toolbar-compile-icon
idlwave-shell-save-and-compile
t
"Save and Compile this file (or recompile last)"]
[idlwave-toolbar-next-error-icon
idlwave-shell-goto-next-error
t
"Goto Next Error"]
[idlwave-toolbar-stop-at-icon
idlwave-shell-break-here
(eq major-mode 'idlwave-mode)
"Set Breakpoint at selected position"]
[idlwave-toolbar-clear-at-icon
idlwave-shell-clear-current-bp
t
"Clear Breakpoint at selected position"]
[idlwave-toolbar-clear-all-icon
idlwave-shell-clear-all-bp
t
"Clear all Breakpoints"]
[idlwave-toolbar-stop-beginning-icon
idlwave-shell-break-this-module
(eq major-mode 'idlwave-mode)
"Stop at beginning of enclosing Routine"]
[idlwave-toolbar-stop-in-icon
idlwave-shell-break-in
t
"Stop in Routine with name near point"]
[idlwave-toolbar-edit-cmd-icon
idlwave-shell-edit-default-command-line
t
"Edit Default Command Line"]
[idlwave-toolbar-run-icon
idlwave-shell-execute-default-command-line
t
"Reset, then Execute Default Command Line"]
[idlwave-toolbar-cont-icon
idlwave-shell-cont
t
"Continue Current Program"]
[idlwave-toolbar-to-here-icon
idlwave-shell-to-here
(eq major-mode 'idlwave-mode)
"Continue to Here (cursor position)"]
[idlwave-toolbar-step-over-icon
idlwave-shell-stepover
t
"Step Over (aka next)"]
[idlwave-toolbar-step-into-icon
idlwave-shell-step
t
"Step Into (aka step)"]
[idlwave-toolbar-step-out-icon
idlwave-shell-out
t
"Step Out (of subroutine)"]
[idlwave-toolbar-eval-icon
idlwave-shell-print
t
"Print Expression at or before Point"]
[idlwave-toolbar-stack-up-icon
idlwave-shell-stack-up
t
"Stack Up (towards \"cooler\" - less recently visited - frames)"]
[idlwave-toolbar-stack-down-icon
idlwave-shell-stack-down
t
"Stack Down (towards \"warmer\" - more recently visited - frames)"]
[idlwave-toolbar-reset-icon
idlwave-shell-reset
t
"Reset IDL (RETALL & CLOSE,/ALL and more)"]
[idlwave-toolbar-electric-debug-icon
idlwave-shell-electric-debug-mode
(eq major-mode 'idlwave-mode)
"Toggle Electric Debug Mode"]
))
;; When the shell exits, arrange to remove the special toolbar everywhere.
(add-hook 'idlwave-shell-cleanup-hook
'idlwave-toolbar-remove-everywhere)
);; End can define toolbar
(defun idlwave-toolbar-add ()
"Add the IDLWAVE toolbar if appropriate."
(if (and (featurep 'xemacs) ; This is a noop on Emacs
(boundp 'idlwave-toolbar-is-possible)
(or (eq major-mode 'idlwave-mode)
(eq major-mode 'idlwave-shell-mode)))
(set-specifier default-toolbar (cons (current-buffer)
idlwave-toolbar))))
(defun idlwave-toolbar-remove ()
"Add the IDLWAVE toolbar if appropriate."
(if (and (featurep 'xemacs) ; This is a noop on Emacs
(boundp 'idlwave-toolbar-is-possible)
(or (eq major-mode 'idlwave-mode)
(eq major-mode 'idlwave-shell-mode)))
(remove-specifier default-toolbar (current-buffer))))
(defvar idlwave-shell-mode-map)
(defvar idlwave-mode-map)
(defvar idlwave-toolbar-visible nil)
(defun idlwave-toolbar-add-everywhere ()
"Add the toolbar in all appropriate buffers."
(when (boundp 'idlwave-toolbar-is-possible)
;; First make sure new buffers will get the toolbar
(add-hook 'idlwave-mode-hook 'idlwave-toolbar-add)
;; Then add it to all existing buffers
(if (featurep 'xemacs)
;; For XEmacs, map over all buffers to add toolbar
(save-excursion
(mapcar (lambda (buf)
(set-buffer buf)
(idlwave-toolbar-add))
(buffer-list)))
;; For Emacs, add the key definitions to the mode maps
(mapc (lambda (x)
(let* ((icon (aref x 0))
(func (aref x 1))
(show (aref x 2))
(help (aref x 3))
(key (vector 'tool-bar func))
(def (list 'menu-item
"a"
func
:image (symbol-value icon)
:visible show
:help help)))
(define-key idlwave-mode-map key def)
(define-key idlwave-shell-mode-map key def)))
(reverse idlwave-toolbar)))
(setq idlwave-toolbar-visible t)))
(defun idlwave-toolbar-remove-everywhere ()
"Remove the toolbar in all appropriate buffers."
;; First make sure new buffers won't get the toolbar
(when idlwave-toolbar-is-possible
(remove-hook 'idlwave-mode-hook 'idlwave-toolbar-add)
;; Then remove it in all existing buffers.
(if (featurep 'xemacs)
;; For XEmacs, map over all buffers to remove toolbar
(save-excursion
(mapcar (lambda (buf)
(set-buffer buf)
(idlwave-toolbar-remove))
(buffer-list)))
;; For Emacs, remove the key definitions from the mode maps
(mapc (lambda (x)
(let* (;;(icon (aref x 0))
(func (aref x 1))
;;(show (aref x 2))
;;(help (aref x 3))
(key (vector 'tool-bar func)))
(define-key idlwave-mode-map key nil)
(define-key idlwave-shell-mode-map key nil)))
idlwave-toolbar))
(setq idlwave-toolbar-visible nil)))
(defun idlwave-toolbar-toggle (&optional force-on)
(interactive)
(if idlwave-toolbar-visible
(or force-on (idlwave-toolbar-remove-everywhere))
(idlwave-toolbar-add-everywhere))
;; Now make sure this
(if (featurep 'xemacs)
nil ; no action necessary, toolbar gets updated automatically
;; On Emacs, redraw the frame to make sure the Toolbar is updated.
(redraw-frame (selected-frame))))
(provide 'idlw-toolbar)
(provide 'idlwave-toolbar)
;; arch-tag: ec9a3717-c44c-4716-9bda-cdacbe5ddb62
;;; idlw-toolbar.el ends here
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-12 18:54 ` Gordon Farquharson
@ 2015-11-12 19:33 ` Eli Zaretskii
2015-11-12 20:20 ` Gordon Farquharson
0 siblings, 1 reply; 33+ messages in thread
From: Eli Zaretskii @ 2015-11-12 19:33 UTC (permalink / raw)
To: Gordon Farquharson; +Cc: 18997
> Date: Thu, 12 Nov 2015 10:54:15 -0800
> From: Gordon Farquharson <gordonfarquharson@gmail.com>
> Cc: Glenn Morris <rgm@gnu.org>, 18997@debbugs.gnu.org
>
> (defvar idlwave-toolbar-compile-icon
> (idlwave-toolbar-make-button
> "/* XPM */
> static char * file[] = {
> \"28 28 2 1\",
> \" c None s backgroundToolBarColor\",
> \". c #000000\",
Two potential differences I see between these icons and what we have
in etc/images are:
. None of the icons in etc/images has size more than 24x24, while
the images in idlw-toolbar.el are 28x28;
. I see no stuff like "s backgroundToolBarColor", only "s None", and
only in 2 icons in etc/images/
Can you see whether one of these differences is the culprit?
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-12 19:33 ` Eli Zaretskii
@ 2015-11-12 20:20 ` Gordon Farquharson
0 siblings, 0 replies; 33+ messages in thread
From: Gordon Farquharson @ 2015-11-12 20:20 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 18997
[-- Attachment #1.1: Type: text/plain, Size: 1218 bytes --]
On Thu, Nov 12, 2015 at 11:33 AM, Eli Zaretskii <eliz@gnu.org> wrote:
> > Date: Thu, 12 Nov 2015 10:54:15 -0800
> > From: Gordon Farquharson <gordonfarquharson@gmail.com>
> > Cc: Glenn Morris <rgm@gnu.org>, 18997@debbugs.gnu.org
> >
> > (defvar idlwave-toolbar-compile-icon
> > (idlwave-toolbar-make-button
> > "/* XPM */
> > static char * file[] = {
> > \"28 28 2 1\",
> > \" c None s backgroundToolBarColor\",
> > \". c #000000\",
>
> Two potential differences I see between these icons and what we have
> in etc/images are:
>
> . None of the icons in etc/images has size more than 24x24, while
> the images in idlw-toolbar.el are 28x28;
>
> . I see no stuff like "s backgroundToolBarColor", only "s None", and
> only in 2 icons in etc/images/
>
> Can you see whether one of these differences is the culprit?
>
Removing "s backgroundToolBarColor" and changing the XPM images to 24 by 24
pixels didn't fix the problem (updated idlw-toolbar.el file attached). I
manually edited the XPM images (thank goodness for rectangular cut in
emacs!). I think I changed everything correctly. Emacs output the same
messages as before when it aborted.
Gordon
--
Gordon Farquharson
GnuPG Key ID: 32D6D676
[-- Attachment #1.2: Type: text/html, Size: 1992 bytes --]
[-- Attachment #2: idlw-toolbar.el --]
[-- Type: text/x-emacs-lisp, Size: 25694 bytes --]
;;; idlw-toolbar.el --- a debugging toolbar for IDLWAVE
;; Copyright (c) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
;; 2009, 2010 Free Software Foundation
;; Author: Carsten Dominik <dominik _AT_ astro.uva.nl>
;; Maintainer: J.D. Smith <jdtsmith _AT_ gmail.com>
;; Version: VERSIONTAG
;; Date: $Date: 2006/08/22 05:15:26 $
;; Keywords: processes
;; This file is part of GNU Emacs.
;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; This file implements a debugging toolbar for IDLWAVE. It requires
;; Emacs or XEmacs with toolbar and xpm support.
;; New versions of IDLWAVE, documentation, and more information
;; available from:
;; http://github.com/jdtsmith/idlwave
\f
;;; Code:
(eval-when-compile (require 'cl))
(defun idlwave-toolbar-make-button (image)
(if (featurep 'xemacs)
(toolbar-make-button-list image)
(list 'image :type 'xpm :data image)))
(defvar idlwave-toolbar)
(defvar default-toolbar)
(defvar idlwave-toolbar-is-possible)
(if (not (or (and (featurep 'xemacs) ; This is XEmacs
(featurep 'xpm) ; need xpm
(featurep 'toolbar)) ; ... and the toolbar
(and (not (featurep 'xemacs)) ; This is Emacs
(boundp 'tool-bar-button-margin) ; need toolbar
(fboundp 'image-type-available-p) ; need image stuff
(image-type-available-p 'xpm)) ; need xpm
))
;; oops - cannot do the toolbar
(message "Sorry, IDLWAVE xpm toolbar cannot be used on this version of Emacs")
;; OK, we can define a toolbar
(defconst idlwave-toolbar-is-possible t
"When defined, indicates that a toolbar is possible with this Emacs.")
(defvar idlwave-toolbar-compile-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"24 24 2 1\",
\" c None\",
\". c #000000\",
\" \",
\" . \",
\" .. ... .. \",
\" .... ... .... \",
\" ............. \",
\" ........... \",
\" ................... \",
\" ........ ........ \",
\" ..... ........ \",
\" .... ......... \",
\" ..... .. ... ..... \",
\" ...... .. .. ...... \",
\" ..... ... .. ..... \",
\" ......... .... \",
\" ........ ..... \",
\" ........ ........ \",
\" ................... \",
\" ........... \",
\" ............. \",
\" .... ... .... \",
\" .. ... .. \",
\" . \",
\" \",
\" \"};")
"The compile icon.")
(defvar idlwave-toolbar-next-error-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"24 24 3 1\",
\" c None\",
\". c #000000\",
\"R c #FF0000\",
\" R \",
\" RR RRR RR \",
\" RRRR RRR RRRR \",
\" RRRRRRRRRRRRR \",
\" RRRRRRRRRRR \",
\" RRRRRRRRRRRRRRRRRRR \",
\" RRRRRRRR \",
\" RRRRR \",
\" RRRR \",
\" ........ \",
\" ........ \",
\" ......... \",
\" ..... .. ... ..... \",
\" ...... .. .. ...... \",
\" ..... ... .. ..... \",
\" ......... .... \",
\" ........ ..... \",
\" ........ ........ \",
\" ................... \",
\" ........... \",
\" ............. \",
\" .... ... .... \",
\" .. ... .. \",
\" . \"};")
"The Next Error icon.")
(defvar idlwave-toolbar-stop-at-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"24 24 3 1\",
\" c None\",
\". c #000000\",
\"R c #FF0000\",
\" \",
\" \",
\" ........ \",
\" .RRRRRRRR. \",
\" .RRRRRRRRRR. \",
\" .RRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRR. \",
\" .RRRRRRRRRR. \",
\" .RRRRRRRR. \",
\" ........ \",
\" \",
\" \"};")
"The Stop At icon.")
(defvar idlwave-toolbar-clear-at-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"24 24 3 1\",
\" c None\",
\". c #000000\",
\"R c #FF0000\",
\" \",
\"... ...\",
\" ... ........ ... \",
\" ... .RRRRRRRR. ... \",
\" ....RRRRRRRRRR.... \",
\" ...RRRRRRRRRR... \",
\" ....RRRRRRRR.... \",
\" .RR...RRRRRR...RR. \",
\" .RRRR...RRRR...RRRR. \",
\" .RRRRR...RR...RRRRR. \",
\" .RRRRRR......RRRRRR. \",
\" .RRRRRRR....RRRRRRR. \",
\" .RRRRRRR....RRRRRRR. \",
\" .RRRRRR......RRRRRR. \",
\" .RRRRR...RR...RRRRR. \",
\" .RRRR...RRRR...RRRR. \",
\" .RR...RRRRRR...RR. \",
\" ....RRRRRRRR.... \",
\" ...RRRRRRRRRR... \",
\" ....RRRRRRRRRR.... \",
\" ... .RRRRRRRR. ... \",
\" ... ........ ... \",
\"... ...\",
\" \"};")
"The Clear At icon.")
(defvar idlwave-toolbar-clear-all-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"24 24 4 1\",
\" c None\",
\". c #000000\",
\"X c #FFFFFF\",
\"R c #FF0000\",
\" \",
\".. .... .... .. \",
\"...RRRR. .RRRR... \",
\" ...RRRR. .RRRR... \",
\".R...RRRR. .RRRR...R. \",
\".RR...RRR. .RRR...RR. \",
\".RRR...RR. .RR...RRR. \",
\".RRRR...R. .R...RRRR. \",
\" .RRRR... ...RRRR. \",
\" .RRRR... ...RRRR. \",
\" .... ... ... .... \",
\" ..... \",
\" ... \",
\" .... ..... .... \",
\" .RRRR.... ....RRRR. \",
\" .RRRRR... ...RRRRR. \",
\".RRRRR.... ....RRRRR. \",
\".RRRR...R. .R...RRRR. \",
\".RRR...RR. .RR...RRR. \",
\".RR...RRR. .RRR...RR. \",
\" ....RRR. .RRR.... \",
\" ...RRR. .RRR... \",
\"....... ....... \",
\" \"};")
"The Clear-All icon.")
(defvar idlwave-toolbar-stop-beginning-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"24 24 4 1\",
\" c None\",
\". c #000000\",
\"X c #FF0000\",
\"_ c #FFFFFF\",
\" \",
\" \",
\" ........ \",
\" .XXXXXXXX. \",
\" .XXXXXXXXXX. \",
\" .XXXXXXXXXXXX. \",
\" .XX..XXXXXXXXXX. \",
\" .XX.XX.X______XXX. \",
\" .XXX.XX.X______XXXX. \",
\" .XXXX..XXXXXXXXXXXX. \",
\" .XXXXXXXXXX____XXXX. \",
\" .XXXXXXXXXX____XXXX. \",
\" .XXXXXXXXXXXXXXXXXX. \",
\" .XXXXXXXXXX____XXXX. \",
\" .XXXXXXXXXX____XXXX. \",
\" .XXXXXXXXXXXXXXXXXX. \",
\" .XXXXXXXXX____XXX. \",
\" .XXXXXXXX____XX. \",
\" .XXXXXXXXXXXX. \",
\" .XXXXXXXXXX. \",
\" .XXXXXXXX. \",
\" ........ \",
\" \",
\" \"};")
"The Stop at Beginning icon.")
(defvar idlwave-toolbar-stop-in-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"24 24 4 1\",
\" c None\",
\"_ c #FFFFFF\",
\". c #000000\",
\"R c #FF0000\",
\" \",
\" \",
\" ........ \",
\" .RRRRRRRR. \",
\" .RRRRRRRRRR. \",
\" .RRRRRRRRRRRR. \",
\" .RRR___RR___RRR. \",
\" .RRRR__RRRR__RRRR. \",
\" .RRRRR__RRRR__RRRRR. \",
\" .RRRRR__RRRR__RRRRR. \",
\" .RRRRR__RRRR__RRRRR. \",
\" .RRRR__RRRRRR__RRRR. \",
\" .RRRRR__RRRR__RRRRR. \",
\" .RRRRR__RRRR__RRRRR. \",
\" .RRRRR__RRRR__RRRRR. \",
\" .RRRRR__RRRR__RRRRR. \",
\" .RRRR___RR___RRRR. \",
\" .RRRRRRRRRRRRRR. \",
\" .RRRRRRRRRRRR. \",
\" .RRRRRRRRRR. \",
\" .RRRRRRRR. \",
\" ........ \",
\" \",
\" \"};")
"The Stop in icon.")
(defvar idlwave-toolbar-edit-cmd-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"24 24 2 1\",
\" c None\",
\". c #000000\",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" .. \",
\" .. \",
\" .. \",
\" .. \",
\" .. \",
\" \",
\" \",
\" ................. \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \"};")
"The edit-cmd icon")
(defvar idlwave-toolbar-run-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"24 24 3 1\",
\" c None\",
\". s FgColor c #000000\",
\"G c #00BB00\",
\" \",
\" \",
\" ..... \",
\" .GGG. \",
\" .GGG. \",
\" .GGG. ....... \",
\" .GGG. \",
\" .GGG. \",
\" .GGG. ....... \",
\" .GGG. \",
\"....GGG.... \",
\" .GGGGGGG. ....... \",
\" .GGGGG. \",
\" .GGG. \",
\" .G. ....... \",
\" . \",
\" \",
\" ....... \",
\" \",
\" \",
\" ....... \",
\" \",
\" \",
\" \"};")
"The Run icon.")
(defvar idlwave-toolbar-cont-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"24 24 3 1\",
\" c None\",
\". s FgColor c #000000\",
\"G c #00BB00\",
\" \",
\" ....... \",
\" \",
\" ....... \",
\" .GGGGGG. ....... \",
\" .GGGGGGG. \",
\" .GGG..... \",
\" .GGG. ....... \",
\" .GGG. \",
\" .GGG. \",
\" .GGG. ....... \",
\" .GGG. \",
\"....GGG.... \",
\" .GGGGGGG. ....... \",
\" .GGGGG. \",
\" .GGG. \",
\" .G. ....... \",
\" . \",
\" \",
\" ....... \",
\" \",
\" \",
\" \",
\" \"};")
"The Cont icon.")
(defvar idlwave-toolbar-to-here-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"24 24 4 1\",
\" c None\",
\". c #000000\",
\"G c #00BB00\",
\"R c #FF0000\",
\" \",
\" \",
\" \",
\" \",
\" ..... ........ \",
\" .GGGG. \",
\" .GGGGG. \",
\" .GG.... ........ \",
\" .GG. \",
\" .GG. . \",
\" .GG. .. \",
\" .GG. .G. ...... \",
\" .GG...GG. \",
\" .GGGGGGGG. RRRRRR \",
\" .GGGGGGGGG. RRRRRR \",
\" .GGGGGGG. RRRRRR \",
\" ....GG. \",
\" .G. ...... \",
\" .. \",
\" . \",
\" \",
\" \",
\" \",
\" \"};")
"The Cont-to-here icon.")
(defvar idlwave-toolbar-step-over-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"24 24 3 1\",
\" c None\",
\". c #000000\",
\"G c #00BB00\",
\" \",
\" \",
\" \",
\" \",
\" ..... \",
\" .GGGG. ....... \",
\" .GGGGG. \",
\" .GG.... \",
\" .GG. ....... \",
\" .GG. . \",
\" .GG. .. \",
\" .GG. .G. ....... \",
\" .GG...GG. \",
\" .GGGGGGGG. \",
\" .GGGGGGGGG. ....... \",
\" .GGGGGGG. \",
\" ....GG. \",
\" .G. ....... \",
\" .. \",
\" . \",
\" ....... \",
\" \",
\" \",
\" \"};")
"The Step Over icon.")
(defvar idlwave-toolbar-step-into-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"24 24 3 1\",
\" c None\",
\". c #000000\",
\"G c #00BB00\",
\" \",
\" \",
\" \",
\" \",
\" ..... ....... \",
\" .GGGG. \",
\" .GGGGG. \",
\" .GG.... ........ \",
\" .GG. \",
\" .GG. . \",
\" .GG. .. \",
\" .GG. .G. \",
\" .GG...GG. ....... \",
\" .GGGGGGGG. \",
\" .GGGGGGGGG. \",
\" .GGGGGGG. ....... \",
\" ....GG. \",
\" .G. \",
\" .. ....... \",
\" . \",
\" \",
\" \",
\" \",
\" \"};")
"The Step Into icon.")
(defvar idlwave-toolbar-step-out-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"24 24 3 1\",
\" c None\",
\". c #000000\",
\"G c #00BB00\",
\" \",
\" \",
\" \",
\" \",
\" . \",
\" .. ........ \",
\" .G. \",
\" ....GG. \",
\" .GGGGGGG. ........ \",
\" .GGGGGGGGG. \",
\" .GGGGGGGG. \",
\" .GG...GG. ........ \",
\" .GG. .G. \",
\" .GG. .. \",
\" .GG. . \",
\" .GG. \",
\" .GG....... ....... \",
\" .GGGGGGGG. \",
\" .GGGGGGG. \",
\" ........ ....... \",
\" \",
\" \",
\" \",
\" \"};")
"The Step up icon.")
(defvar idlwave-toolbar-eval-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"24 24 2 1\",
\" c None\",
\". c #000000\",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" .... \",
\" .. .. ...... \",
\" .. .. ...... \",
\" .. .. \",
\" .. .. ...... \",
\" .. .. ...... \",
\" .... \",
\" .. \",
\" .. \",
\" \",
\" \",
\" \",
\" \",
\" \",
\" \"};")
"The Evaluate icon.")
(defvar idlwave-toolbar-stack-up-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"24 24 5 1\",
\" c None\",
\". s FgColor c #000000\",
\"_ c #FFFFFF\",
\"G c #00BB00\",
\"R c #FF0000\",
\" \",
\" \",
\" \",
\" ........ . \",
\" .______. ... \",
\" .______. ..... \",
\" .______. ....... \",
\" .______. ... \",
\" .______. ... \",
\" ........ ... \",
\" .GGGGGG. ... \",
\" .GGGGGG. ... \",
\" .GGGGGG. \",
\" .GGGGGG. \",
\" .GGGGGG. \",
\" ........ \",
\" .RRRRRR. \",
\" .RRRRRR. \",
\" .RRRRRR. \",
\" .RRRRRR. \",
\" .RRRRRR. \",
\" ........ \",
\" \",
\" \"};")
"The Stack Up icon.")
(defvar idlwave-toolbar-stack-down-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"24 24 5 1\",
\" c None\",
\". s FgColor c #000000\",
\"_ c #FFFFFF\",
\"G c #00BB00\",
\"R c #FF0000\",
\" \",
\" \",
\" \",
\" ........ \",
\" .______. \",
\" .______. \",
\" .______. \",
\" .______. \",
\" .______. \",
\" ........ \",
\" .GGGGGG. \",
\" .GGGGGG. \",
\" .GGGGGG. \",
\" .GGGGGG. ... \",
\" .GGGGGG. ... \",
\" ........ ... \",
\" .RRRRRR. ... \",
\" .RRRRRR. ... \",
\" .RRRRRR. ....... \",
\" .RRRRRR. ..... \",
\" .RRRRRR. ... \",
\" ........ . \",
\" \",
\" \"};")
"The Stack Down icon.")
(defvar idlwave-toolbar-reset-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"24 24 3 1\",
\" c None\",
\"G c #00BB00\",
\". c #000000\",
\" \",
\" . \",
\" .G. . \",
\" .GGG.. .G. \",
\" .GGGGG..GG. \",
\" ..GGGGGGGG. \",
\" ..GGGGGG. \",
\" ..GGGGG. \",
\" .GGGGGG. \",
\" .G...... \",
\" \",
\" ..... \",
\" ......... \",
\" ......... \",
\" ......... \",
\" . ..... . \",
\" . . \",
\" . . \",
\" . . \",
\" . . \",
\" . . \",
\" .. .. \",
\" ....... \",
\" ..... \"};")
"The Reset icon.")
(defvar idlwave-toolbar-electric-debug-icon
(idlwave-toolbar-make-button
"/* XPM */
static char * file[] = {
\"24 24 8 1\",
\" c None\",
\". c #CFC854\",
\"+ c #EEDB0E\",
\"@ c #D2C739\",
\"# c #A39C54\",
\"$ c #CDC020\",
\"% c #020202\",
\"& c #D60E36\",
\"+++++@ \",
\"++++++ \",
\" +++++@ \",
\" +++++ \",
\" #++++@ \",
\" $+++@ %% %% \",
\" ++++++$ % % \",
\" #+++++$ % % \",
\" #++$# %%% \",
\" #+++ %%%%%%% \",
\" .++ %%%%%%%%%%% \",
\" ++$$ %%%%%%%%%%% \",
\" .+@# &&%%%%%%%&& \",
\" .++++# &&&&&%%%&&&&&\",
\" +++++$ &&%%&&&&&%%&&\",
\" $+++$ &&%%&&&&&%%&&\",
\" $++@ &&&&&&%&&&&&&\",
\" $+@ &&&&&&%&&&&&&\",
\" @+ &&%%&&&&&%%&&\",
\" ++. &%%&&%&&%%& \",
\" +. &&&&%%%&&&& \",
\" .+ &&%%%%%&& \",
\" ++ %%%%%%% \",
\" . %%% \"};")
"The electric debug icon.")
(defvar idlwave-toolbar
'(
[idlwave-toolbar-compile-icon
idlwave-shell-save-and-compile
t
"Save and Compile this file (or recompile last)"]
[idlwave-toolbar-next-error-icon
idlwave-shell-goto-next-error
t
"Goto Next Error"]
[idlwave-toolbar-stop-at-icon
idlwave-shell-break-here
(eq major-mode 'idlwave-mode)
"Set Breakpoint at selected position"]
[idlwave-toolbar-clear-at-icon
idlwave-shell-clear-current-bp
t
"Clear Breakpoint at selected position"]
[idlwave-toolbar-clear-all-icon
idlwave-shell-clear-all-bp
t
"Clear all Breakpoints"]
[idlwave-toolbar-stop-beginning-icon
idlwave-shell-break-this-module
(eq major-mode 'idlwave-mode)
"Stop at beginning of enclosing Routine"]
[idlwave-toolbar-stop-in-icon
idlwave-shell-break-in
t
"Stop in Routine with name near point"]
[idlwave-toolbar-edit-cmd-icon
idlwave-shell-edit-default-command-line
t
"Edit Default Command Line"]
[idlwave-toolbar-run-icon
idlwave-shell-execute-default-command-line
t
"Reset, then Execute Default Command Line"]
[idlwave-toolbar-cont-icon
idlwave-shell-cont
t
"Continue Current Program"]
[idlwave-toolbar-to-here-icon
idlwave-shell-to-here
(eq major-mode 'idlwave-mode)
"Continue to Here (cursor position)"]
[idlwave-toolbar-step-over-icon
idlwave-shell-stepover
t
"Step Over (aka next)"]
[idlwave-toolbar-step-into-icon
idlwave-shell-step
t
"Step Into (aka step)"]
[idlwave-toolbar-step-out-icon
idlwave-shell-out
t
"Step Out (of subroutine)"]
[idlwave-toolbar-eval-icon
idlwave-shell-print
t
"Print Expression at or before Point"]
[idlwave-toolbar-stack-up-icon
idlwave-shell-stack-up
t
"Stack Up (towards \"cooler\" - less recently visited - frames)"]
[idlwave-toolbar-stack-down-icon
idlwave-shell-stack-down
t
"Stack Down (towards \"warmer\" - more recently visited - frames)"]
[idlwave-toolbar-reset-icon
idlwave-shell-reset
t
"Reset IDL (RETALL & CLOSE,/ALL and more)"]
[idlwave-toolbar-electric-debug-icon
idlwave-shell-electric-debug-mode
(eq major-mode 'idlwave-mode)
"Toggle Electric Debug Mode"]
))
;; When the shell exits, arrange to remove the special toolbar everywhere.
(add-hook 'idlwave-shell-cleanup-hook
'idlwave-toolbar-remove-everywhere)
);; End can define toolbar
(defun idlwave-toolbar-add ()
"Add the IDLWAVE toolbar if appropriate."
(if (and (featurep 'xemacs) ; This is a noop on Emacs
(boundp 'idlwave-toolbar-is-possible)
(or (eq major-mode 'idlwave-mode)
(eq major-mode 'idlwave-shell-mode)))
(set-specifier default-toolbar (cons (current-buffer)
idlwave-toolbar))))
(defun idlwave-toolbar-remove ()
"Add the IDLWAVE toolbar if appropriate."
(if (and (featurep 'xemacs) ; This is a noop on Emacs
(boundp 'idlwave-toolbar-is-possible)
(or (eq major-mode 'idlwave-mode)
(eq major-mode 'idlwave-shell-mode)))
(remove-specifier default-toolbar (current-buffer))))
(defvar idlwave-shell-mode-map)
(defvar idlwave-mode-map)
(defvar idlwave-toolbar-visible nil)
(defun idlwave-toolbar-add-everywhere ()
"Add the toolbar in all appropriate buffers."
(when (boundp 'idlwave-toolbar-is-possible)
;; First make sure new buffers will get the toolbar
(add-hook 'idlwave-mode-hook 'idlwave-toolbar-add)
;; Then add it to all existing buffers
(if (featurep 'xemacs)
;; For XEmacs, map over all buffers to add toolbar
(save-excursion
(mapcar (lambda (buf)
(set-buffer buf)
(idlwave-toolbar-add))
(buffer-list)))
;; For Emacs, add the key definitions to the mode maps
(mapc (lambda (x)
(let* ((icon (aref x 0))
(func (aref x 1))
(show (aref x 2))
(help (aref x 3))
(key (vector 'tool-bar func))
(def (list 'menu-item
"a"
func
:image (symbol-value icon)
:visible show
:help help)))
(define-key idlwave-mode-map key def)
(define-key idlwave-shell-mode-map key def)))
(reverse idlwave-toolbar)))
(setq idlwave-toolbar-visible t)))
(defun idlwave-toolbar-remove-everywhere ()
"Remove the toolbar in all appropriate buffers."
;; First make sure new buffers won't get the toolbar
(when idlwave-toolbar-is-possible
(remove-hook 'idlwave-mode-hook 'idlwave-toolbar-add)
;; Then remove it in all existing buffers.
(if (featurep 'xemacs)
;; For XEmacs, map over all buffers to remove toolbar
(save-excursion
(mapcar (lambda (buf)
(set-buffer buf)
(idlwave-toolbar-remove))
(buffer-list)))
;; For Emacs, remove the key definitions from the mode maps
(mapc (lambda (x)
(let* (;;(icon (aref x 0))
(func (aref x 1))
;;(show (aref x 2))
;;(help (aref x 3))
(key (vector 'tool-bar func)))
(define-key idlwave-mode-map key nil)
(define-key idlwave-shell-mode-map key nil)))
idlwave-toolbar))
(setq idlwave-toolbar-visible nil)))
(defun idlwave-toolbar-toggle (&optional force-on)
(interactive)
(if idlwave-toolbar-visible
(or force-on (idlwave-toolbar-remove-everywhere))
(idlwave-toolbar-add-everywhere))
;; Now make sure this
(if (featurep 'xemacs)
nil ; no action necessary, toolbar gets updated automatically
;; On Emacs, redraw the frame to make sure the Toolbar is updated.
(redraw-frame (selected-frame))))
(provide 'idlw-toolbar)
(provide 'idlwave-toolbar)
;; arch-tag: ec9a3717-c44c-4716-9bda-cdacbe5ddb62
;;; idlw-toolbar.el ends here
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-12 18:38 ` Gordon Farquharson
2015-11-12 18:44 ` Eli Zaretskii
@ 2015-11-12 20:35 ` Gordon Farquharson
2015-11-12 20:52 ` Eli Zaretskii
1 sibling, 1 reply; 33+ messages in thread
From: Gordon Farquharson @ 2015-11-12 20:35 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 18997
[-- Attachment #1: Type: text/plain, Size: 1103 bytes --]
On Thu, Nov 12, 2015 at 10:38 AM, Gordon Farquharson <
gordonfarquharson@gmail.com> wrote:
>
> On Thu, Nov 12, 2015 at 10:33 AM, Eli Zaretskii <eliz@gnu.org> wrote:
>
>> > From: Glenn Morris <rgm@gnu.org>
>> > Cc: 18997@debbugs.gnu.org, gordonfarquharson@gmail.com
>> > Date: Thu, 12 Nov 2015 13:24:59 -0500
>> >
>> > Eli Zaretskii wrote:
>> >
>> > > Does the upstream version avoid this problem?
>> >
>> > Don't know, it was just a general lament on the state of the world.
>>
>> Gordon, could you perhaps try the upstream version?
>>
>
> 24.4 does fail with the upstream IDLWAVE. I haven't tried emacs master
> with upstream IDLWAVE. Standby. I need to build emacs master first.
>
I built emacs from the git repository
(1e363a8ea5ac09455f3a44fbb646b5af32bca51c). WIth IDLWAVE upsteam, and the
changes to the idlw-toolbar.el file to make the icons 24 x 24 pixels and
the colors 8 bit triplets (#000000), emacs doesn't abort, but the icons are
just A (as reported by Glenn). The bit_per_sample assertion in
gdk_pixbuf_new_from_data still fails.
Gordon
--
Gordon Farquharson
GnuPG Key ID: 32D6D676
[-- Attachment #2: Type: text/html, Size: 2149 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-12 20:35 ` Gordon Farquharson
@ 2015-11-12 20:52 ` Eli Zaretskii
2015-11-12 21:41 ` Gordon Farquharson
0 siblings, 1 reply; 33+ messages in thread
From: Eli Zaretskii @ 2015-11-12 20:52 UTC (permalink / raw)
To: Gordon Farquharson; +Cc: 18997
> Date: Thu, 12 Nov 2015 12:35:59 -0800
> From: Gordon Farquharson <gordonfarquharson@gmail.com>
> Cc: Glenn Morris <rgm@gnu.org>, 18997@debbugs.gnu.org
>
> I built emacs from the git repository
> (1e363a8ea5ac09455f3a44fbb646b5af32bca51c). WIth IDLWAVE upsteam, and the
> changes to the idlw-toolbar.el file to make the icons 24 x 24 pixels and the
> colors 8 bit triplets (#000000), emacs doesn't abort, but the icons are just A
> (as reported by Glenn). The bit_per_sample assertion in
> gdk_pixbuf_new_from_data still fails.
So what in those icons cause the problem?
If you entirely replace those images with contents of files in
etc/images/, does the problem still persist? If so, does it mean we
have problems with the GTK toolbar in other modes, like Gnus and GUD?
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-12 20:52 ` Eli Zaretskii
@ 2015-11-12 21:41 ` Gordon Farquharson
2015-11-12 21:57 ` Gordon Farquharson
0 siblings, 1 reply; 33+ messages in thread
From: Gordon Farquharson @ 2015-11-12 21:41 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 18997
[-- Attachment #1: Type: text/plain, Size: 1114 bytes --]
On Thu, Nov 12, 2015 at 12:52 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> > I built emacs from the git repository
> > (1e363a8ea5ac09455f3a44fbb646b5af32bca51c). WIth IDLWAVE upsteam, and the
> > changes to the idlw-toolbar.el file to make the icons 24 x 24 pixels and
> the
> > colors 8 bit triplets (#000000), emacs doesn't abort, but the icons are
> just A
> > (as reported by Glenn). The bit_per_sample assertion in
> > gdk_pixbuf_new_from_data still fails.
>
> So what in those icons cause the problem?
>
I was wondering the same thing.
If you entirely replace those images with contents of files in
> etc/images/, does the problem still persist? If so, does it mean we
> have problems with the GTK toolbar in other modes, like Gnus and GUD?
>
Replacing the XPM code in idlw-toolbar.el with the code from
etc/images/paste.xpm doesn't make a difference (icons are still As). GUD
icons display correctly. Maybe the problem is with the lisp code that
creates the images in idlw-toolbar? Could you point me to the lisp code in
GUD that creates its icons?
Gordon
--
Gordon Farquharson
GnuPG Key ID: 32D6D676
[-- Attachment #2: Type: text/html, Size: 1746 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-12 21:41 ` Gordon Farquharson
@ 2015-11-12 21:57 ` Gordon Farquharson
2015-11-12 22:05 ` Gordon Farquharson
2015-11-13 8:33 ` Eli Zaretskii
0 siblings, 2 replies; 33+ messages in thread
From: Gordon Farquharson @ 2015-11-12 21:57 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 18997
[-- Attachment #1: Type: text/plain, Size: 561 bytes --]
On Thu, Nov 12, 2015 at 1:41 PM, Gordon Farquharson <
gordonfarquharson@gmail.com> wrote:
>
> Replacing the XPM code in idlw-toolbar.el with the code from
> etc/images/paste.xpm doesn't make a difference (icons are still As). GUD
> icons display correctly. Maybe the problem is with the lisp code that
> creates the images in idlw-toolbar? Could you point me to the lisp code in
> GUD that creates its icons?
>
Where is the documnetation on toolbar-make-button-list? Is this a valid
emacs lisp function?
Gordon
--
Gordon Farquharson
GnuPG Key ID: 32D6D676
[-- Attachment #2: Type: text/html, Size: 1108 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-12 21:57 ` Gordon Farquharson
@ 2015-11-12 22:05 ` Gordon Farquharson
2015-11-13 8:33 ` Eli Zaretskii
1 sibling, 0 replies; 33+ messages in thread
From: Gordon Farquharson @ 2015-11-12 22:05 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 18997
[-- Attachment #1: Type: text/plain, Size: 283 bytes --]
On Thu, Nov 12, 2015 at 1:57 PM, Gordon Farquharson <
gordonfarquharson@gmail.com> wrote:
>
> Where is the documnetation on toolbar-make-button-list? Is this a valid
> emacs lisp function?
>
Ah. Seems to be an XEmacs only function...
--
Gordon Farquharson
GnuPG Key ID: 32D6D676
[-- Attachment #2: Type: text/html, Size: 767 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-12 21:57 ` Gordon Farquharson
2015-11-12 22:05 ` Gordon Farquharson
@ 2015-11-13 8:33 ` Eli Zaretskii
2015-11-13 16:52 ` Gordon Farquharson
1 sibling, 1 reply; 33+ messages in thread
From: Eli Zaretskii @ 2015-11-13 8:33 UTC (permalink / raw)
To: Gordon Farquharson; +Cc: 18997
> Date: Thu, 12 Nov 2015 13:57:53 -0800
> From: Gordon Farquharson <gordonfarquharson@gmail.com>
> Cc: Glenn Morris <rgm@gnu.org>, 18997@debbugs.gnu.org
>
> Replacing the XPM code in idlw-toolbar.el with the code from
> etc/images/paste.xpm doesn't make a difference (icons are still As). GUD
> icons display correctly. Maybe the problem is with the lisp code that
> creates the images in idlw-toolbar? Could you point me to the lisp code in
> GUD that creates its icons?
See gud-tool-bar-map and its uses. As you see, GUD uses a very
different method.
> Where is the documnetation on toolbar-make-button-list? Is this a valid emacs
> lisp function?
No, it's an XEmacs function. You will see it called only if this code
is run by XEmacs.
Thanks.
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-13 8:33 ` Eli Zaretskii
@ 2015-11-13 16:52 ` Gordon Farquharson
2015-11-14 10:30 ` Eli Zaretskii
0 siblings, 1 reply; 33+ messages in thread
From: Gordon Farquharson @ 2015-11-13 16:52 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 18997
[-- Attachment #1: Type: text/plain, Size: 363 bytes --]
On Fri, Nov 13, 2015 at 12:33 AM, Eli Zaretskii <eliz@gnu.org> wrote:
> See gud-tool-bar-map and its uses. As you see, GUD uses a very
> different method.
>
I'll take a look. I've never programmed in elisp. The closest related
language I've used is scheme, a very long time ago, so this will be
exciting.
Gordon
--
Gordon Farquharson
GnuPG Key ID: 32D6D676
[-- Attachment #2: Type: text/html, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2015-11-13 16:52 ` Gordon Farquharson
@ 2015-11-14 10:30 ` Eli Zaretskii
0 siblings, 0 replies; 33+ messages in thread
From: Eli Zaretskii @ 2015-11-14 10:30 UTC (permalink / raw)
To: Gordon Farquharson; +Cc: 18997
> Date: Fri, 13 Nov 2015 08:52:29 -0800
> From: Gordon Farquharson <gordonfarquharson@gmail.com>
> Cc: Glenn Morris <rgm@gnu.org>, 18997@debbugs.gnu.org
>
> See gud-tool-bar-map and its uses. As you see, GUD uses a very
> different method.
>
> I'll take a look. I've never programmed in elisp. The closest related language
> I've used is scheme, a very long time ago, so this will be exciting.
I think on the Lisp level everything is OK. Fact is, this worked
before the changes in GTK toolbar support mentioned previously in
discussing this thread. It also works with other toolkits (Glenn
mentioned Lucid, I see it display correctly on MS-Windows).
So I think a better strategy would be to step in a debugger through
the offending C code and see the differences between when IDLWAVE is
invoked, and when GUD is invoked. You can identify the code that's
involved in this by examining the series of functions that crash.
Based on the Glib error messages posted up-thread, I would suggest to
start in xg_get_pixbuf_from_pixmap, which calls
gdk_pixbuf_new_from_data, the first function to complain. How is the
data there different between GUD and IDLWAVE?
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2014-11-08 13:27 bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell Mosè Giordano
2015-09-22 6:48 ` Jonathan Woithe
2015-11-11 22:48 ` Gordon Farquharson
@ 2016-03-25 0:04 ` Paul Eggert
2016-03-25 11:26 ` Mosè Giordano
` (2 more replies)
2 siblings, 3 replies; 33+ messages in thread
From: Paul Eggert @ 2016-03-25 0:04 UTC (permalink / raw)
To: Mosè Giordano
Cc: Jonathan Woithe, Gordon Farquharson, 18997-done, J.D. Smith
[-- Attachment #1: Type: text/plain, Size: 379 bytes --]
Using Jonathan Woithe's September 2015 recipe, I reproduced this bug
report's problems on Fedora 23 with gtk3 in the emacs-25 branch, and
installed the attached patches, which fixed the bugs for me.
I do like the idea of moving the IDLWAVE stuff to an ELPA package,
though I don't have time to do that myself.
I'm boldly marking the bug as fixed.
http://bugs.gnu.org/18997
[-- Attachment #2: 0001-Avoid-GTK-3-crash-with-icons-and-masks.patch --]
[-- Type: application/x-patch, Size: 4854 bytes --]
[-- Attachment #3: 0002-Avoid-stray-As-next-to-IDLW-icons.patch --]
[-- Type: application/x-patch, Size: 1137 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2016-03-25 0:04 ` Paul Eggert
@ 2016-03-25 11:26 ` Mosè Giordano
2016-03-28 22:49 ` JD Smith
2016-03-29 6:47 ` Jonathan Woithe
2 siblings, 0 replies; 33+ messages in thread
From: Mosè Giordano @ 2016-03-25 11:26 UTC (permalink / raw)
To: Paul Eggert; +Cc: Jonathan Woithe, Gordon Farquharson, 18997-done, J.D. Smith
Hi Paul,
2016-03-25 1:04 GMT+01:00 Paul Eggert <eggert@cs.ucla.edu>:
> Using Jonathan Woithe's September 2015 recipe, I reproduced this bug
> report's problems on Fedora 23 with gtk3 in the emacs-25 branch, and
> installed the attached patches, which fixed the bugs for me.
>
> I do like the idea of moving the IDLWAVE stuff to an ELPA package, though I
> don't have time to do that myself.
>
> I'm boldly marking the bug as fixed.
>
> http://bugs.gnu.org/18997
I confirm your patches fix the bug (I applied them on master). I
also discovered that there are indeed icons in the toolbar of
idlwave-shell, without the patches there was just a blank bar.
Cheers,
Mosè
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2016-03-25 0:04 ` Paul Eggert
2016-03-25 11:26 ` Mosè Giordano
@ 2016-03-28 22:49 ` JD Smith
2016-03-29 6:47 ` Jonathan Woithe
2 siblings, 0 replies; 33+ messages in thread
From: JD Smith @ 2016-03-28 22:49 UTC (permalink / raw)
To: Paul Eggert
Cc: Jonathan Woithe, Gordon Farquharson, Mosè Giordano,
18997-done, J.D. Smith
> On Mar 24, 2016, at 8:04 PM, Paul Eggert <eggert@cs.ucla.edu> wrote:
>
> Using Jonathan Woithe's September 2015 recipe, I reproduced this bug report's problems on Fedora 23 with gtk3 in the emacs-25 branch, and installed the attached patches, which fixed the bugs for me.
>
> I do like the idea of moving the IDLWAVE stuff to an ELPA package, though I don't have time to do that myself.
>
> I'm boldly marking the bug as fixed.
>
> http://bugs.gnu.org/18997
> <0001-Avoid-GTK-3-crash-with-icons-and-masks.patch><0002-Avoid-stray-As-next-to-IDLW-icons.patch>
Thanks for tracking this down. I never use the toolbar so never tripped this particular bug. The “A” people have seen with the buttons comes from the addition of identifying strings beneath the icons which apparently didn’t exist when this code was written (before my involvement). The “a" had been hard-coded in. I’ve replaced it with something sensible for each icon in upstream. Emacs used to allow multiple lines of toolbars which made these more useful (perhaps that’s a widget toolset issue).
Though I don’t have time to lead it, I’m amenable to helping with an ELPA transition if someone wants to take that on.
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell
2016-03-25 0:04 ` Paul Eggert
2016-03-25 11:26 ` Mosè Giordano
2016-03-28 22:49 ` JD Smith
@ 2016-03-29 6:47 ` Jonathan Woithe
2 siblings, 0 replies; 33+ messages in thread
From: Jonathan Woithe @ 2016-03-29 6:47 UTC (permalink / raw)
To: Paul Eggert
Cc: Gordon Farquharson, Mosè Giordano, 18997-done, J.D. Smith
On Thu, Mar 24, 2016 at 05:04:42PM -0700, Paul Eggert wrote:
> Using Jonathan Woithe's September 2015 recipe, I reproduced this bug
> report's problems on Fedora 23 with gtk3 in the emacs-25 branch, and
> installed the attached patches, which fixed the bugs for me.
Thanks for the follow up Paul - I've had IDLwave users stuck on emacs 23.4
due to this bug.
I can confirm that the 0001-Avoid-GTK-3-crash-with-icons-and-masks.patch
patch fixes the crash problem on our systems. Emacs is compiled to use gtk2
on these installations so despite the name, the patch successfully addresses
the problem for gtk2 as well as gtk3. This is due to the elimination of the
gdk_pixbuf_new_from_data() call on an XImage acquired from XGetImage() on
displays with more than 8 bits per pixel, something which affected emacs
regardless of whether it was compiled for gtk2 or gtk3.
Regards
jonathan
^ permalink raw reply [flat|nested] 33+ messages in thread
end of thread, other threads:[~2016-03-29 6:47 UTC | newest]
Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-08 13:27 bug#18997: 24.4; IDLWAVE: Emacs crashes when trying to change the window while in the IDL shell Mosè Giordano
2015-09-22 6:48 ` Jonathan Woithe
2015-11-11 22:48 ` Gordon Farquharson
2015-11-11 23:18 ` Gordon Farquharson
2015-11-12 16:13 ` Eli Zaretskii
2015-11-12 17:55 ` Glenn Morris
2015-11-12 18:04 ` Glenn Morris
2015-11-12 18:20 ` Eli Zaretskii
2015-11-12 18:24 ` Glenn Morris
2015-11-12 18:33 ` Eli Zaretskii
2015-11-12 18:38 ` Gordon Farquharson
2015-11-12 18:44 ` Eli Zaretskii
2015-11-12 18:54 ` Gordon Farquharson
2015-11-12 19:33 ` Eli Zaretskii
2015-11-12 20:20 ` Gordon Farquharson
2015-11-12 20:35 ` Gordon Farquharson
2015-11-12 20:52 ` Eli Zaretskii
2015-11-12 21:41 ` Gordon Farquharson
2015-11-12 21:57 ` Gordon Farquharson
2015-11-12 22:05 ` Gordon Farquharson
2015-11-13 8:33 ` Eli Zaretskii
2015-11-13 16:52 ` Gordon Farquharson
2015-11-14 10:30 ` Eli Zaretskii
2015-11-12 18:29 ` Gordon Farquharson
2015-11-12 18:16 ` Eli Zaretskii
2015-11-12 18:24 ` Glenn Morris
[not found] ` <CABwPwwJZVsdZxPPKdoysZbbQ4wuDx5pTdworGoX91Q92EyxyVA@mail.gmail.com>
2015-11-12 18:32 ` Eli Zaretskii
2015-11-12 18:35 ` Gordon Farquharson
2015-11-12 18:33 ` Gordon Farquharson
2016-03-25 0:04 ` Paul Eggert
2016-03-25 11:26 ` Mosè Giordano
2016-03-28 22:49 ` JD Smith
2016-03-29 6:47 ` Jonathan Woithe
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.