Package: emacs;
Reported by: Brad Town <brad <at> bradtown.com>
Date: Fri, 23 Mar 2012 23:59:02 UTC
Severity: normal
Tags: moreinfo
Found in version 24.0.94
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Jan Djärv <jan.h.d <at> swipnet.se> To: Brad Town <brad <at> bradtown.com> Cc: 11081 <at> debbugs.gnu.org Subject: bug#11081: 24.0.94; "emacsclient --create-frame" occasionally crashes daemon or causes daemon to hang Date: Sat, 31 Mar 2012 19:16:55 +0200
Hello. 29 mar 2012 kl. 18:27 skrev Brad Town: > When I was using GDB, I only saw the hang, and that's what I attempted > to capture. If you have a quick suggestion as to how I might be able > to get better information for you, let me know. > > Another interesting item: The problem goes away when I rebuild with > the GTK toolkit. Unfortunately, I use Emacs as a daemon, and the Lucid > toolkit is recommended for that setup. Not surprising, the crash happens when the display engine updates the tool bar, and the Gtk+ build handles tool bars totally different. I think the backtrace you posted is wrong, it looks like a normal run. The backtrace I get consistently is below. The crash happens because of the abort in the SELECTED_FRAME macro: #define SELECTED_FRAME() \ ((FRAMEP (selected_frame) \ && FRAME_LIVE_P (XFRAME (selected_frame))) \ ? XFRAME (selected_frame) \ : (abort (), (struct frame *) 0)) FRAME_LIVE_P return false. There is some timing issue here, but I dont easily see it yet. Anybody got a clue? Jan D. (gdb) bt full #0 abort () at /home/jhd/src/emacs/current/src/emacs.c:394 No locals. #1 0x081d6ed2 in store_symval_forwarding (valcontents=0x84af60c, newval=139255978, buf=0x84d2dd0) at /home/jhd/src/emacs/current/src/data.c:933 base = 0x85cfeb2 "" p = 0xb6207b86 " \266\262\376\\\b\206{ \266\216{ \266\252\340L\bN\277\177\b\226{ \266\316z \266\236{ \266\016z \266\246{ \266>y \266\256{ \266~$\177\b\266{ \266~x \266\276{ \266\026\326~\b\306{ \266\266\177 \266\316{ \266\366~ \266\326{ \266\066~ \266\336{ \266" #2 0x081d7617 in set_internal (symbol=139286250, newval=139255978, where=139255978, bindflag=0) at /home/jhd/src/emacs/current/src/data.c:1252 buf = 0x84d2dd0 innercontents = 0x84af60c voide = 0 sym = 0x84d56e8 tem1 = 139255978 #3 0x081d71eb in Fset (symbol=139286250, newval=139255978) at /home/jhd/src/emacs/current/src/data.c:1068 No locals. #4 0x081d7977 in Fset_default (symbol=139286250, value=139255978) at /home/jhd/src/emacs/current/src/data.c:1402 valcontents = 0x84af60c sym = 0x84d56e8 #5 0x081f0cdf in unbind_to (count=6, value=139255978) at /home/jhd/src/emacs/current/src/eval.c:3467 this_binding = { symbol = 139286250, old_value = 139255978, func = 0, unused = 0 } quitf = 139255978 gcpro1 = { next = 0x50, var = 0xbf806a2c, nvars = -1082103252 } gcpro2 = { next = 0xbf805698, var = 0x81f8281, nvars = 141846045 } #6 0x0808055a in update_tool_bar (f=0x86c5a58, save_match_data=0) at /home/jhd/src/emacs/current/src/xdisp.c:11287 count = 6 frame = 141318749 new_n_tool_bar = 13 gcpro1 = { next = 0xbf806a2c, var = 0xbf8056e8, nvars = 134742197 } prev = 0x84d2dd0 new_tool_bar = 141846045 window = 141316517 w = 0x86c51a0 do_update = 1 #7 0x0807fdb7 in prepare_menu_bars () at /home/jhd/src/emacs/current/src/xdisp.c:10959 tail = 142493830 frame = 141318749 count = 5 menu_bar_hooks_run = 1 all_windows = 1 gcpro1 = { next = 0x0, var = 0x84da318, nvars = -1082108352 } gcpro2 = { next = 0xbf805738, var = 0x8052f8b, nvars = 139307824 } f = 0x86c5a58 tooltip_frame = 139255978 #8 0x08083508 in redisplay_internal () at /home/jhd/src/emacs/current/src/xdisp.c:12821 w = 0x86c51a0 sw = 0x86c51a0 fr = 0x86c5a58 pending = 0 must_finish = 1 tlbufpos = { charpos = 192, bytepos = 192 } tlendpos = { charpos = 0, bytepos = 0 } number_of_visible_frames = 2 count = 3 count1 = 5 sf = 0x86c5a58 polling_stopped_here = 0 old_frame = 141318749 consider_all_windows_p = 1 #9 0x080848e4 in redisplay_preserve_echo_area (from_where=12) at /home/jhd/src/emacs/current/src/xdisp.c:13433 No locals. #10 0x08239cc5 in wait_reading_process_output (time_limit=30, microsecs=0, read_kbd=-1, do_display=1, wait_for_cell=139255978, wait_proc=0x0, just_wait_proc=0) at /home/jhd/src/emacs/current/src/process.c:4854 nread = 1771 timeout_reduced_for_timers = 0 channel = 4 nfds = 1 Available = { fds_bits = {0 <repeats 32 times>} } Writeok = { fds_bits = {0 <repeats 32 times>} } check_write = 1 check_delay = 0 no_avail = 0 xerrno = 11 proc = 140231989 timeout = { tv_sec = 29, tv_usec = 999983 } end_time = { tv_sec = 1333213601, tv_usec = 861883 } wait_channel = -1 got_some_input = 1 count = 2 #11 0x0805ce28 in sit_for (timeout=120, reading=1, do_display=1) at /home/jhd/src/emacs/current/src/dispnew.c:6063 sec = 30 usec = 0 #12 0x0816c2c4 in read_char (commandflag=1, nmaps=2, maps=0xbf806f20, prev_event=139255978, used_mouse_menu=0xbf806fc4, end_time=0x0) at /home/jhd/src/emacs/current/src/keyboard.c:2692 tem0 = 140234266 timeout = 30 delay_level = 4 buffer_size = 1 c = 139255978 jmpcount = 2 local_getcjmp = {{ __jmpbuf = {0, -1082099968, -1082100508, -1082102056, -200402081, -642984912}, __mask_was_saved = 0, __saved_mask = { __val = {139681980, 192, 3212864808, 139275728, 139681980, 1, 3212864840, 136618291, 139681980, 191, 3212864840, 136611281, 139278186, 139255978, 3212864840, 136621441, 139255978, 139359410, 1, 139278186, 192, 3212866788, 3212864872, 136611108, 142604710, 139278186, 1, 0, 139278186, 192, 3212864904, 136621441} } }} save_jump = {{ __jmpbuf = {0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = { __val = {0 <repeats 32 times>} } }} key_already_recorded = 0 tem = 139275733 save = 139278186 previous_echo_area_message = 139255978 also_record = 139255978 reread = 0 gcpro1 = { next = 0x0, var = 0x0, nvars = 139278186 } gcpro2 = { next = 0xbf806e78, var = 0x824af2d, nvars = 139275728 } polling_stopped_here = 0 orig_kboard = 0x84d5c78 #13 0x0817707e in read_key_sequence (keybuf=0xbf807100, bufsize=30, prompt=139255978, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at /home/jhd/src/emacs/current/src/keyboard.c:9328 interrupted_kboard = 0x84d5c78 interrupted_frame = 0x84da318 key = 139275733 used_mouse_menu = 0 echo_local_start = 0 last_real_key_start = 0 keys_local_start = 0 local_first_binding = 0 from_string = 139255978 count = 2 t = 0 echo_start = 0 keys_start = 0 nmaps = 2 nmaps_allocated = 2 defs = 0xbf806f00 submaps = 0xbf806f20 orig_local_map = 142486110 orig_keymap = 139255978 localized_local_map = 0 first_binding = 0 first_unbound = 31 mock_input = 0 fkey = { parent = 139464142, map = 139464142, start = 0, end = 0 } keytran = { parent = 139243206, map = 139243206, start = 0, end = 0 } indec = { parent = 139464150, map = 139464150, start = 0, end = 0 } shift_translated = 0 delayed_switch_frame = 139255978 original_uppercase = -1082101688 original_uppercase_position = -1 dummyflag = 0 starting_buffer = 0x84d2dd0 fake_prefixed_keys = 139255978 gcpro1 = { next = 0xbf806fc8, var = 0x84d2a18, nvars = 139357354 } #14 0x0816a0f4 in command_loop_1 () at /home/jhd/src/emacs/current/src/keyboard.c:1449 cmd = 139789570 keybuf = {96, 12, -1082101400, 136252639, 139325930, 139255978, 0, 139740386, 139255978, 137495029, 139465670, 139325930, 139255978, 0, 0, 136252186, 139325930, 139255978, 139255978, 1, 139325928, 139255978, 139255978, -1082099808, -1082099968, -1082100508, -1082101352, 136242878, 2, 139465670} i = 2 prev_modiff = 11 prev_buffer = 0x84d2dd0 already_adjusted = 0 #15 0x081ed558 in internal_condition_case (bfun=0x8169da0 <command_loop_1>, handlers=139287058, hfun=0x8169745 <cmd_error>) at /home/jhd/src/emacs/current/src/eval.c:1515 val = 139465670 c = { tag = 139255978, val = 139255978, next = 0xbf8072f8, gcpro = 0x0, jmp = {{ __jmpbuf = {-1082099808, -1082099968, -1082100508, -1082101064, -197854369, -914522576}, __mask_was_saved = 0, __saved_mask = { __val = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3212866224, 0, 0, 15989016, 134533712, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10239680, 3077890736, 139205696, 3212866468, 135814826, 2, 4294967295, 3212866176} } }}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0 } h = { handler = 139287058, var = 139255978, chosen_clause = 0, tag = 0xbf8071d0, next = 0x0 } #16 0x08169af1 in command_loop_2 (ignore=139255978) at /home/jhd/src/emacs/current/src/keyboard.c:1160 val = -1082099808 #17 0x081ed054 in internal_catch (tag=139285010, func=0x8169acd <command_loop_2>, arg=139255978) at /home/jhd/src/emacs/current/src/eval.c:1272 c = { tag = 139285010, val = 139255978, next = 0x0, gcpro = 0x0, jmp = {{ __jmpbuf = {-1082099808, -1082099968, -1082100508, -1082100792, -198001825, -914886608}, __mask_was_saved = 0, __saved_mask = { __val = {0 <repeats 20 times>, 139255978, 3212866504, 136148503, 138869208, 139255978, 139275728, 0, 139378056, 3212867488, 0, 136147330, 139275728} } }}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0 } #18 0x08169aad in command_loop () at /home/jhd/src/emacs/current/src/keyboard.c:1139 No locals. #19 0x0816937e in recursive_edit_1 () at /home/jhd/src/emacs/current/src/keyboard.c:759 count = 1 val = -1 #20 0x081694cf in Frecursive_edit () at /home/jhd/src/emacs/current/src/keyboard.c:823 count = 0 buffer = 139255978 #21 0x08167959 in main (argc=3, argv=0xbf807834) at /home/jhd/src/emacs/current/src/emacs.c:1715 dummy = 0 stack_bottom_variable = 8 '\b' do_initial_setlocale = 1 skip_args = 1 rlim = { rlim_cur = 8388608, rlim_max = 18446744073709551615 } no_loadup = 0 junk = 0x0 dname_arg = 0x0 ch_to_dir = 0x1 <Address 0x1 out of bounds> Jan D. > > Brad > > On Sat, Mar 24, 2012 at 5:01 AM, Jan Djärv <jan.h.d <at> swipnet.se> wrote: >> Hello. >> >> You don't show the reason for the crash (segmentation violation, or something like that). >> Can you do that? >> >> Jan D. >> >> 24 mar 2012 kl. 00:19 skrev Brad Town: >> >>> This bug report will be sent to the Bug-GNU-Emacs mailing list >>> and the GNU bug tracker at debbugs.gnu.org. Please check that >>> the From: line contains a valid email address. After a delay of up >>> to one day, you should receive an acknowledgement at that address. >>> >>> Please write in English if possible, as the Emacs maintainers >>> usually do not have translators for other languages. >>> >>> Please describe exactly what actions triggered the bug, and >>> the precise symptoms of the bug. If you can, give a recipe >>> starting from `emacs -Q': >>> >>> --- recipe --- >>> * Run /usr/local/bin/emacs -Q --daemon >>> * Repeat the following until hang or crash: >>> ** Run /usr/local/bin/emacsclient --create-frame >>> ** When the frame appears, C-x C-c to exit >>> >>> gdb `bt full' output: >>> >>> --- cut here --- >>> #0 0x00007fe6caa6b583 in __select_nocancel () at >>> ../sysdeps/unix/syscall-template.S:82 >>> No locals. >>> #1 0x00000000004ec561 in xg_select (max_fds=4, rfds=0x7fff3103bb40, >>> wfds=0x7fff3103bac0, efds=0x0, timeout=<optimized out>) at >>> xgselect.c:100 >>> all_rfds = { >>> fds_bits = {8, 0 <repeats 15 times>} >>> } >>> all_wfds = { >>> fds_bits = {0 <repeats 16 times>} >>> } >>> tmo = { >>> tv_sec = 1332543996, >>> tv_usec = 800572 >>> } >>> tmop = 0x7fff3103bc30 >>> context = 0xe97a40 >>> have_wfds = 1 >>> n_gfds = <optimized out> >>> our_tmo = 0 >>> retval = <optimized out> >>> our_fds = <optimized out> >>> i = <optimized out> >>> nfds = <optimized out> >>> tmo_in_millisec = -1 >>> #2 0x00000000005b0e44 in wait_reading_process_output >>> (time_limit=<optimized out>, microsecs=<optimized out>, read_kbd=-1, >>> do_display=<optimized out>, >>> wait_for_cell=<optimized out>, wait_proc=0x0, just_wait_proc=0) at >>> process.c:4608 >>> timeout_reduced_for_timers = 0 >>> channel = -514 >>> nfds = <optimized out> >>> Available = { >>> fds_bits = {8, 0 <repeats 15 times>} >>> } >>> Writeok = { >>> fds_bits = {0 <repeats 16 times>} >>> } >>> check_write = 1 >>> check_delay = 0 >>> no_avail = 1 >>> xerrno = 2 >>> proc = <optimized out> >>> timeout = { >>> tv_sec = 99928, >>> tv_usec = 160649 >>> } >>> end_time = { >>> tv_sec = 0, >>> tv_usec = 0 >>> } >>> wait_channel = -1 >>> got_some_input = 0 >>> #3 0x000000000050735d in kbd_buffer_get_event (end_time=<optimized >>> out>, used_mouse_menu=<optimized out>, kbp=<optimized out>) at >>> keyboard.c:3853 >>> c = <optimized out> >>> obj = <optimized out> >>> #4 read_char (commandflag=<optimized out>, nmaps=<optimized out>, >>> maps=<optimized out>, prev_event=<optimized out>, >>> used_mouse_menu=<optimized out>, end_time=0x0) >>> at keyboard.c:2799 >>> kb = <optimized out> >>> c = 11995778 >>> local_getcjmp = {{ >>> __jmpbuf = {11995778, 7083285557197970914, 1, 1, 12085424, >>> 140734015717488, -7083456576088662558, 7083286322900934114}, >>> __mask_was_saved = 0, >>> __saved_mask = { >>> __val = {0, 1, 0, 11065426, 9585369, 11065416, 9893797, >>> 0, 3120373890685015296, 111, 9893744, 9893749, 9893744, 0, 2, >>> 11995778} >>> } >>> }} >>> save_jump = {{ >>> __jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, >>> __mask_was_saved = 0, >>> __saved_mask = { >>> __val = {0 <repeats 16 times>} >>> } >>> }} >>> key_already_recorded = 0 >>> tem = <optimized out> >>> save = <optimized out> >>> previous_echo_area_message = 11995778 >>> also_record = 11995778 >>> reread = 0 >>> polling_stopped_here = 1 >>> orig_kboard = 0xb7d720 >>> #5 0x0000000000509438 in read_key_sequence (keybuf=<optimized out>, >>> bufsize=<optimized out>, prompt=<optimized out>, >>> dont_downcase_last=<optimized out>, >>> can_return_switch_frame=<optimized out>, >>> fix_current_buffer=<optimized out>) at keyboard.c:9326 >>> interrupted_kboard = 0xb7d720 >>> key = 1 >>> used_mouse_menu = 0 >>> echo_local_start = 0 >>> last_real_key_start = 32767 >>> keys_local_start = 0 >>> from_string = <optimized out> >>> count = 2 >>> t = <optimized out> >>> echo_start = <optimized out> >>> keys_start = 0 >>> nmaps = <optimized out> >>> nmaps_allocated = 2 >>> defs = 0x7fff3103c050 >>> submaps = <optimized out> >>> orig_local_map = 17529222 >>> orig_keymap = 11995778 >>> localized_local_map = 0 >>> first_binding = <optimized out> >>> first_unbound = <optimized out> >>> mock_input = <optimized out> >>> fkey = { >>> parent = 12419798, >>> map = 12419798, >>> start = 0, >>> end = 0 >>> } >>> keytran = { >>> parent = 11975078, >>> map = 11975078, >>> start = 0, >>> end = 0 >>> } >>> indec = { >>> parent = 12419814, >>> map = 12419814, >>> start = 0, >>> end = 0 >>> } >>> shift_translated = 0 >>> delayed_switch_frame = 11995778 >>> original_uppercase = 11995778 >>> original_uppercase_position = -1 >>> starting_buffer = 0xb77790 >>> fake_prefixed_keys = 11995778 >>> #6 0x000000000050b76b in command_loop_1 () at keyboard.c:1448 >>> cmd = 0 >>> keybuf = {140629218229288, 9192392, 4611686018427404288, >>> 4611686018427389952, 0, 1, 140734015718320, 5712078, 140629320511784, >>> 0, 140629320254704, >>> 140629320307912, 4233728, 140629218281056, 140629320511784, >>> 0, 140629320254704, 140629320307912, 4232831, 140629218281056, >>> 4214280, 4294967296, 0, 11995778, 64, >>> 12241542, 140734015719856, 4611686018427518976, 11995778, 5640642} >>> i = 822331824 >>> prev_modiff = 0 >>> prev_buffer = 0x0 >>> #7 0x00000000005740c1 in internal_condition_case (bfun=<optimized >>> out>, handlers=<optimized out>, hfun=<optimized out>) at eval.c:1515 >>> val = -514 >>> c = { >>> tag = 11995778, >>> val = 11995778, >>> next = 0x7fff3103c570, >>> gcpro = 0x0, >>> jmp = {{ >>> __jmpbuf = {12712224, 7083285089474616802, 11995778, >>> 140734015719856, 0, 1, -7083456572643041822, 7083286383632227810}, >>> __mask_was_saved = 0, >>> __saved_mask = { >>> __val = {140629320307912, 140734015718528, 4294967295, >>> 140734015718568, 1, 8606112, 0, 0, 1, 0, 140629318338513, 1, 0, 0, >>> 140629218252208, 0} >>> } >>> }}, >>> backlist = 0x0, >>> handlerlist = 0x0, >>> lisp_eval_depth = 0, >>> pdlcount = 2, >>> poll_suppress_count = 1, >>> interrupt_input_blocked = 0, >>> byte_stack = 0x0 >>> } >>> h = { >>> handler = 12047842, >>> var = 11995778, >>> chosen_clause = 11995778, >>> tag = 0x7fff3103c400, >>> next = 0x0 >>> } >>> #8 0x0000000000502f2e in command_loop_2 (ignore=<optimized out>) at >>> keyboard.c:1159 >>> val = -514 >>> #9 0x00000000005741e8 in internal_catch (tag=<optimized out>, >>> func=<optimized out>, arg=<optimized out>) at eval.c:1272 >>> c = { >>> tag = 12043634, >>> val = 11995778, >>> next = 0x0, >>> gcpro = 0x0, >>> jmp = {{ >>> __jmpbuf = {12712224, 7083285089474616802, 11995778, >>> 140734015719856, 0, 1, -7083456572592710174, 7083286383603523042}, >>> __mask_was_saved = 0, >>> __saved_mask = { >>> __val = {0, 0, 0, 0, 624, 272, 22, 0, 0, 0, >>> 140629221879360, 140734015720184, 344, 12221746, 5710197, >>> 140734015719080} >>> } >>> }}, >>> backlist = 0x0, >>> handlerlist = 0x0, >>> lisp_eval_depth = 0, >>> pdlcount = 2, >>> poll_suppress_count = 1, >>> interrupt_input_blocked = 0, >>> byte_stack = 0x0 >>> } >>> #10 0x00000000005035fa in command_loop () at keyboard.c:1138 >>> No locals. >>> #11 recursive_edit_1 () at keyboard.c:758 >>> val = <optimized out> >>> #12 0x000000000050370c in Frecursive_edit () at keyboard.c:822 >>> buffer = 11995778 >>> #13 0x00000000004f7a40 in main (argc=0, argv=0x7fff3103caf8) at emacs.c:1715 >>> dummy = 140629320309128 >>> stack_bottom_variable = 0 '\000' >>> do_initial_setlocale = <optimized out> >>> skip_args = 1 >>> rlim = { >>> rlim_cur = 8720000, >>> rlim_max = 18446744073709551615 >>> } >>> no_loadup = 0 >>> junk = 0x0 >>> dname_arg = 0x0 >>> ch_to_dir = 0x7fff3103ca18 "M\254\232\312\346\177" >>> --- cut here --- >>> >>> `xbacktrace' gives no output. >>> >>> --- recipe --- >>> >>> If Emacs crashed, and you have the Emacs process in the gdb debugger, >>> please include the output from the following gdb commands: >>> `bt full' and `xbacktrace'. >>> For information about debugging Emacs, please read the file >>> /usr/local/share/emacs/24.0.94/etc/DEBUG. >>> >>> >>> In GNU Emacs 24.0.94.2 (x86_64-unknown-linux-gnu, X toolkit, Xaw3d scroll bars) >>> of 2012-03-23 on torgo.mtv.corp.google.com >>> Windowing system distributor `The X.Org Foundation', version 11.0.10706000 >>> Configured using: >>> `configure '--with-x-toolkit=lucid'' >>> >>> Important settings: >>> value of $LC_ALL: nil >>> value of $LC_COLLATE: en_US.UTF-8 >>> value of $LC_CTYPE: nil >>> value of $LC_MESSAGES: nil >>> value of $LC_MONETARY: en_US.UTF-8 >>> value of $LC_NUMERIC: en_US.UTF-8 >>> value of $LC_TIME: en_US.UTF-8 >>> value of $LANG: en_US.UTF-8 >>> value of $XMODIFIERS: nil >>> locale-coding-system: utf-8-unix >>> default enable-multibyte-characters: t >>> >>> Major mode: Lisp Interaction >>> >>> Minor modes in effect: >>> tooltip-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 >>> auto-composition-mode: t >>> auto-encryption-mode: t >>> auto-compression-mode: t >>> line-number-mode: t >>> transient-mark-mode: t >>> >>> Recent input: >>> C-x C-c M-x r e p o r t - <tab> <return> >>> >>> Recent messages: >>> ("/usr/local/bin/emacs") >>> Starting Emacs daemon. >>> When done with this frame, type C-x 5 0 >>> (No files need saving) >>> When done with this frame, type C-x 5 0 >>> >>> Load-path shadows: >>> None found. >>> >>> Features: >>> (shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml >>> easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 >>> mailabbrev gmm-utils mailheader sendmail regexp-opt rfc2047 rfc2045 >>> ietf-drums mm-util mail-prsvr mail-utils server time-date tooltip >>> ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd >>> fontset image fringe lisp-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 loaddefs button faces cus-face files >>> text-properties overlay sha1 md5 base64 format env code-pages mule >>> custom widget hashtable-print-readable backquote make-network-process >>> dbusbind dynamic-setting system-font-setting font-render-setting >>> x-toolkit x multi-tty emacs) >>> >>> >>
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.