Subject: RE: bug#670: bug#1077: 23.0.60; x-create-frame: (wrong-type-argument number-or-marker-p nil)

From: "Drew Adams" <[email-masked]>
Date: Sun, 28 Nov 2010 09:26:08 -0800

> > No, I cannot install GDB, but if you point me to a Windows
> > binary for it I will be glad to try that.
> 
> Installing a Windows binary is what I meant.  You can find it here:
> http://sourceforge.net/projects/mingw/files/MinGW/BaseSystem/G
> DB/GDB-7.2/gdb-7.2-1-mingw32-bin.tar.lzma/download

We must have different notions of using a Windows binary, and perhaps of a
Windows binary. ;-) (just kidding)

That link let me download a file `gdb-7.2-1-mingw32-bin.tar.lzma'.

I have no idea what to do with such a file (LZMA).  On Windows (you've heard of
that, right Eli? - still kidding), _users_ typically download a setup.exe file
(zip that contains one), and then double-click that to launch an installer.

> Let me know once you have it installed.

Let me know whether the downloaded file gives me a Windows binary, and if so how
to use it.

> > (I also get multiple crashes per day for the latest dev builds
> 
> It would be good to know a recipe for that.  If that's impossible,
> perhaps after installing GDB you will be able to provide more info.

That's why I mentioned it in this context.  (I don't have a recipe.)

> > why does the question asking whether I want to debug with GDB have
> > `Yes' as the default value if I don't have GDB installed?
> 
> Because it doesn't check whether GDB is available.  Feel free to
> submit a bug report about that.

Done - bug #7507.

> > `Yes' => `Send Error Report' or `Don't Send'.)
> 
> That's the default Windows GIT debugger in action.  You can download
> and install DrMinGW, a JIT debugger that knows about MinGW, from here:
> 
>   http://code.google.com/p/jrfonseca/wiki/DrMingw
> 
> and then, if you answer NO, you will get a meaningful C-level
> backtrace that you can save to a text file and attach to a mail
> message.

I'll just use the GDB binary instead, if available.

> No, C code cannot signal a Lisp error from native C comparisons with <
> or >.  It must be some Lisp code, called directly or indirectly by
> x-create-frame.

Good to know.

Then why doesn't the Lisp debugger have a stack frame for the Lisp function that
called `<'?  I assume you're saying that C calls some Lisp function _besides_
the Lisp function `<'.  Why doesn't that function appear in the backtrace?

Is this another Emacs bug you'd like me to file?  (Still kidding, but ready to
file it, if you think that's a good idea.)

> > runemacs.exe -Q --debug-init -l "hexrgb.el" -l 
> "oneonone.el" -f "1on1-emacs"
> > 
> > 3. M-: (add-to-list 'load-path ".")
> > 
> > 4. M-x load-library icicles
> > 
> > 5. M-x icy-mode
> > 
> > 6. M-: (setq debug-on-error  t)
> > 
> > 7. C-h f  f o r w  TAB down down C-M-down
> 
> What is C-M-down?  On my Windows box I don't get any key event if I
> press and hold Alt+Ctrl and type the down-arrow key.

Sorry, I meant `end' (the End key), not `down' (down arrow key).

Alternatively, you can use `S-TAB next next C-M-next C-M-next...'.  That's the
Page Down key.  (I had written that originally, but (mis-)edited it to TAB and
down.)

(Actually, `C-M-down' should also work here, but I did mean `C-M-end'.)

Sorry for the recipe mistake.  But I don't think that was your problem - see
below.

> Are you sure that the exact Lisp files downloaded from the
> links you posted reproduce the problem on your machine?
> Maybe you have modified versions of them.

I'm sure. I copied the files to a new directory, and created a Windows shortcut
to open in that directory, before following the recipe.

I just tried it all again, since I modified icicles-mcmd.el slightly yesterday
(no relation to this bug).  Just so we're on the same page going forward, it
might be better if you would please download `icicles-mcmd.el' again, before
trying the recipe again.

I have never seen such a backtrace as you show.  However, trying now and _not_
doing step #5 gives me such a backtrace.  That's vanilla Emacs behavior, not
Icicles.  In vanilla Emacs, even in the minibuffer keymaps, the `down' key is
bound to `down-list'.  You are asking Emacs to go down a list but there is no
list in the minibuffer: the minibuffer input is just a function name.

I suspect that you just forgot step #5: Enter Icicle minor mode using
`icy-mode'.  If you do not see the lighter `Icy' in the mode line, then you are
not in Icicle mode.

Thanks for your help, Eli.