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

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

bug#79: marked as done (23.0.60; Crash on w32 related to invisible text


From: Emacs bug Tracking System
Subject: bug#79: marked as done (23.0.60; Crash on w32 related to invisible text)
Date: Sun, 17 Aug 2008 17:10:05 -0700

Your message dated Sun, 17 Aug 2008 20:03:46 -0400
with message-id <87d4k7p4t9.fsf@cyd.mit.edu>
and subject line Re: 23.0.60; Crash on w32 related to invisible text
has caused the Emacs bug report #79,
regarding 23.0.60; Crash on w32 related to invisible text
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact don@donarmstrong.com
immediately.)


-- 
79: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=79
Emacs Bug Tracking System
Contact don@donarmstrong.com with problems
--- Begin Message --- Subject: Re: 23.0.60; Crash on w32 related to invisible text Date: Mon, 24 Mar 2008 02:29:33 +0100 User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071031 Thunderbird/2.0.0.9 Mnenhy/0.7.5.666
Stefan Monnier wrote:
I get crashes in org-mode when I do things in a region with invisible
text. I have not made any simple test case, but from my testing I can see
this:
- There is something strange with the display in org-mode an items content
is hidden. You can position point after the three dots ... If you do that
and check (current-column) you get 0.
- In code if you in org-mode do
(while (my-invisible-p (point))
(forward-line 1))
until point is on a visible char and there insert an overlay with an
after-string it crashes.
Please make the "insert an overlay with an
after-string" more precise, e.g. actual Elisp code.

It looks similar to this, I have not tested if propertize is involved:

  (setq ovl-str (concat "before"
                      (propertize "txt" 'face 'highlight-popup)
                      "after"))
  (overlay-put ovl 'after-string ovl-str)
  (overlay-put ovl 'display "")

See also the attached file. The crash happens in tabkey2-overlay-message if
you let it take the path avoided right under the comment:

      ;; Fix-me: Emacs bug workaround
      (if nil ;;(tabkey2-invisible-p (1- (point)))


Also, does it happen with any Org-mode buffer, or is the
contents/setup important?

It does not seem to be dependent on the buffers content.

Finally, please provide a backtrace.

Sorry, it is compiled with debug info, but there is no backtrace.

You need to run it under a debugger, of course, in order to get
a backtrace.  Please read etc/DEBUG for more info about it.

My memory is short. Jason and Eli told me this a while ago. Here is the traceback:

(gdb) bt
#0  0x0103ab55 in next_element_from_display_vector (it=0x82e600)
    at xdisp.c:6210
#1  0x01039b3b in get_next_display_element (it=0x82e600) at xdisp.c:5734
#2  0x0104ff1b in display_line (it=0x82e600) at xdisp.c:16252
#3  0x0104d64e in try_window_id (w=0x25b7a00) at xdisp.c:14984
#4  0x01048e25 in redisplay_window (window=39549444, just_this_one_p=1)
    at xdisp.c:13389
#5  0x01045435 in redisplay_window_1 (window=39549444) at xdisp.c:12051
#6  0x01020ad5 in internal_condition_case_1 (
    bfun=0x1045403 <redisplay_window_1>, arg=39549444, handlers=24208661,
    hfun=0x10453a9 <redisplay_window_error>) at eval.c:1542
#7  0x010447ab in redisplay_internal (preserve_echo_area=0) at xdisp.c:11664
#8  0x01042d2d in redisplay () at xdisp.c:10809
#9  0x01008d00 in read_char (commandflag=1, nmaps=16, maps=0x82f9c0,
    prev_event=24225793, used_mouse_menu=0x82fb1c, end_time=0x0)
    at keyboard.c:2722
#10 0x0101269d in read_key_sequence (keybuf=0x82fc60, bufsize=30,
    prompt=24225793, dont_downcase_last=0, can_return_switch_frame=1,
    fix_current_buffer=1) at keyboard.c:9458
#11 0x01006351 in command_loop_1 () at keyboard.c:1653
#12 0x010209c5 in internal_condition_case (bfun=0x1006032 <command_loop_1>,
    handlers=24292473, hfun=0x1005a32 <cmd_error>) at eval.c:1494
#13 0x01005d9b in command_loop_2 () at keyboard.c:1370
---Type <return> to continue, or q <return> to quit---
#14 0x010204b6 in internal_catch (tag=24285497,
    func=0x1005d78 <command_loop_2>, arg=24225793) at eval.c:1230
#15 0x01005d51 in command_loop () at keyboard.c:1349
#16 0x0100564e in recursive_edit_1 () at keyboard.c:958
#17 0x010057b2 in Frecursive_edit () at keyboard.c:1020
#18 0x0100279f in main (argc=1, argv=0xa82720) at emacs.c:1784
#19 0x0100124b in __mingw_CRTStartup ()
#20 0x01001298 in mainCRTStartup ()
(gdb)


I'm sorry, but you presume I'm much more intelligent than I am.
I do not understand what tabkey2.el has to do with it all and how to
create an Org-mode buffer that will trigger the crash.

Forgive my stupidness. With tabkey2.el there is a convenient way to get the crash, but I forgot to add it:

- Change the line I pointed to above ("Emacs bug workaround")
- Bring up any org-mode file.
- Make sure you are on a line with its contents hidden. This is what I use when I got it to crash right now (the traceback above is from when I used a bigger file containing this, but I think the crash is similar):

>>>>>>>> test.org >>>>>>>>>>>>>
** Fri Nov 02 23:45:07 2007 (Why does not cua--ena-cua-keys-keymap override viper's defin)
   Why does not cua--ena-cua-keys-keymap override Viper's definition
   of BS, DEL etc? This keymap is in cua--keymap-alist. This alist is
   before viper in emulation-mode-map-alists. So what happens?

** Sun Nov 04 01:59:17 2007 (Kim's key-sequence widget)
   Kim's key-sequence widget
   - Add ks-to-vec. => store vec format
   - Some cleanup.
   - History keys?
   - Different input formats? Use space at the beginning to force desc
     style. Or C-t to toggle, put ^V first?

** Sun Nov 04 12:58:01 2007 (New versions from GnuWin32 to EmacsW32)
   New versions from GnuWin32 to EmacsW32
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Only the "**" rows should be visible. (You can toggle that by pressing TAB.) Place point on after at k in "Kim's key-sequence". Turn on tabkey2-mode:

   eval tabkey2.el <-- forgot to add (eval-when-compile (require 'cl))
   M-x tabkey2-mode
   F8

Now it should crash. Eh, perhaps rather "it crashes". On my pc, w32.



So, please give us a recipe starting from `emacs -Q' with *every single
step* necessary to trigger the crash.  Including a small sample
Org-mode file.  It's always safer to assume we're complete idiots.


        Stefan



--- End Message ---
--- Begin Message --- Subject: Re: 23.0.60; Crash on w32 related to invisible text Date: Sun, 17 Aug 2008 20:03:46 -0400
I believe this bug is now fixed.


--- End Message ---

reply via email to

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