From: "Lennart Borgman (gmail)" <lennart.borgman@gmail.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: emacs-pretest-bug@gnu.org
Subject: Re: 23.0.60; Crash on w32 related to invisible text
Date: Mon, 24 Mar 2008 02:29:33 +0100 [thread overview]
Message-ID: <47E703FD.10504@gmail.com> (raw)
In-Reply-To: <jwvtzix6k87.fsf-monnier+emacsbugreports@gnu.org>
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
prev parent reply other threads:[~2008-03-24 1:29 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-23 20:43 23.0.60; Crash on w32 related to invisible text Lennart Borgman (gmail)
2008-03-23 23:27 ` Stefan Monnier
2008-03-24 0:14 ` Lennart Borgman (gmail)
2008-03-24 0:30 ` Stefan Monnier
2008-03-24 1:29 ` Lennart Borgman (gmail) [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=47E703FD.10504@gmail.com \
--to=lennart.borgman@gmail.com \
--cc=emacs-pretest-bug@gnu.org \
--cc=monnier@iro.umontreal.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).