Mercurial > hg > xemacs-beta
view lwlib/xlwradioP.h @ 5751:2b8edd304c2b
Avoid throwing an error with misc-user events in isearch-pre-command-hook.
lisp/ChangeLog addition:
2013-08-05 Aidan Kehoe <kehoea@parhasard.net>
* isearch-mode.el (isearch-pre-command-hook):
If this function is called and (this-command-keys) contains
misc-user events, #'key-binding throws an error.
Eddie Corns and Alex Belits describe this happening in tracker
issue 336, and we can avoid this by catching the error and
handling the misc-user event in the same way that #'dispatch-event
does.
I haven't reproduced the actual error they describe, and welcome
testing to make sure it's gone.
Thank you Eddie, thank you Alex!
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Mon, 05 Aug 2013 13:34:27 +0100 |
parents | 308d34e9f07d |
children |
line wrap: on
line source
/* Radio Widget for XEmacs. Copyright (C) 1999 Edward A. Falk This file is part of XEmacs. XEmacs 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. XEmacs 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 XEmacs. If not, see <http://www.gnu.org/licenses/>. */ /* * RadioP.h - Private definitions for Radio widget * * Author: Edward A. Falk * falk@falconer.vip.best.com * * Date: June 30, 1997 * */ #ifndef _XawRadioP_h #define _XawRadioP_h #include "xlwradio.h" #include ATHENA_ToggleP_h_ /*********************************************************************** * * Radio Widget Private Data * ***********************************************************************/ /* Already in Xaw/ToggleP.h, and not used by us. #define streq(a, b) ( strcmp((a), (b)) == 0 ) */ typedef void (*XawDiamondProc) (Widget); void RadioSet (Widget w, XEvent *event, String *params, /* unused */ Cardinal *num_params); /* unused */ void RadioUnset (Widget w, XEvent *event, String *params, /* unused */ Cardinal *num_params); /* unused */ /************************************ * * Class structure * ***********************************/ /* New fields for the Radio widget class record */ typedef struct _RadioClass { Dimension dsize ; /* diamond size */ XawDiamondProc drawDiamond ; /* TODO: 3-d and xaw-xpm features? */ XtPointer extension; } RadioClassPart; #define XtInheritDrawDiamond ((XawDiamondProc)_XtInherit) /* Full class record declaration */ typedef struct _RadioClassRec { CoreClassPart core_class; SimpleClassPart simple_class; #ifdef _ThreeDP_h ThreeDClassPart threeD_class; #endif LabelClassPart label_class; CommandClassPart command_class; ToggleClassPart toggle_class; RadioClassPart radio_class; } RadioClassRec; extern RadioClassRec radioClassRec; /*************************************** * * Instance (widget) structure * **************************************/ /* New fields for the Radio widget record */ typedef struct { /* resources */ /* TODO: 3-d and xaw-xpm features? */ /* private data */ XtPointer extension; } RadioPart; /* Full widget declaration */ typedef struct _RadioRec { CorePart core; SimplePart simple; #ifdef _ThreeDP_h ThreeDPart threeD; #endif LabelPart label; CommandPart command; TogglePart toggle; RadioPart radio; } RadioRec; #endif /* _XawRadioP_h */