1 new commit in XEmacs:
https://bitbucket.org/xemacs/xemacs/commits/489e76b85828/
changeset: 489e76b85828
user: Jerry James
date: 2013-01-21 18:17:55
summary: When an error is encountered while converting a Lisp menu specification
to its internal form, don't fail an assert(). Instead, return 0 to skip
the fault menu and show any errors in *Warnings*.
affected #: 2 files
diff -r 8b5bdc8aebfd835411a42e614d2ef41fe4b51a1c -r
489e76b8582868ac588551ea0565ef43e695da54 src/ChangeLog
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2013-01-16 Jerry James <james(a)xemacs.org>
+
+ * menubar-x.c (set_frame_menubar): when a menubar specification has an
+ error, don't fail an assert() and bring XEmacs down. Instead, return
+ 0 to skip the faulty menu and show any errors in *Warnings*.
+
2013-01-04 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.33 "horseradish" is released.
diff -r 8b5bdc8aebfd835411a42e614d2ef41fe4b51a1c -r
489e76b8582868ac588551ea0565ef43e695da54 src/menubar-x.c
--- a/src/menubar-x.c
+++ b/src/menubar-x.c
@@ -516,6 +516,9 @@
}
}
+/* Returns the converted menubar, or NULL if an error is encountered while
+ * converting the Lisp menu specification.
+ */
static widget_value *
compute_menubar_data (struct frame *f, Lisp_Object menubar, int deep_p)
{
@@ -573,7 +576,8 @@
menubar_visible = !NILP (w->menubar_visible_p);
data = compute_menubar_data (f, menubar, deep_p);
- assert (data && (data->next || data->contents));
+ if (!data || (!data->next && !data->contents))
+ return 0;
if (!FRAME_X_MENUBAR_ID (f))
FRAME_X_MENUBAR_ID (f) = new_lwlib_id ();
@@ -594,6 +598,8 @@
{
free_popup_widget_value_tree (data);
data = compute_menubar_data (f, menubar, 1);
+ if (!data || (!data->next && !data->contents))
+ return 0;
}
Repository URL:
https://bitbucket.org/xemacs/xemacs/
--
This is a commit notification from
bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches