aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1994-02-07 01:05:06 +0000
committerRichard M. Stallman1994-02-07 01:05:06 +0000
commit71cc5cf39693fa47641ae9910d2336cefc11fb05 (patch)
treebb6ca42c56c1fef5a3ce4bfc9b844dd2fdf4d525
parent047a8ea77d676f96d26d670528ce436aed98b3e1 (diff)
downloademacs-71cc5cf39693fa47641ae9910d2336cefc11fb05.tar.gz
emacs-71cc5cf39693fa47641ae9910d2336cefc11fb05.zip
(single_keymap_panes): Use internal_condition_case_1.
(single_keymap_panes_1): New function.
-rw-r--r--src/xmenu.c23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/xmenu.c b/src/xmenu.c
index a926ad1ca9a..498eb501fe2 100644
--- a/src/xmenu.c
+++ b/src/xmenu.c
@@ -1149,7 +1149,16 @@ keymap_panes (vector, panes, names, enables, items, prefixes, keymaps, nmaps)
1149 return p; 1149 return p;
1150} 1150}
1151 1151
1152/* This is a recursive subroutine of the previous function. 1152/* This is used as the handler when calling internal_condition_case_1. */
1153
1154static Lisp_Object
1155single_keymap_panes_1 (arg)
1156 Lisp_Object arg;
1157{
1158 return Qnil;
1159}
1160
1161/* This is a recursive subroutine of keymap_panes.
1153 It handles one keymap, KEYMAP. 1162 It handles one keymap, KEYMAP.
1154 The other arguments are passed along 1163 The other arguments are passed along
1155 or point to local variables of the previous function. */ 1164 or point to local variables of the previous function. */
@@ -1246,7 +1255,11 @@ single_keymap_panes (keymap, panes, vector, names, enables, items, prefixes,
1246 Otherwise, enable if value is not nil. */ 1255 Otherwise, enable if value is not nil. */
1247 tem = Fget (def, Qmenu_enable); 1256 tem = Fget (def, Qmenu_enable);
1248 if (!NILP (tem)) 1257 if (!NILP (tem))
1249 enabled = Feval (tem); 1258 /* (condition-case nil (eval tem)
1259 (error nil)) */
1260 enabled = internal_condition_case_1 (Feval, tem,
1261 Qerror,
1262 single_keymap_panes_1);
1250 } 1263 }
1251 tem = Fkeymapp (def); 1264 tem = Fkeymapp (def);
1252 if (XSTRING (item2)->data[0] == '@' && !NILP (tem)) 1265 if (XSTRING (item2)->data[0] == '@' && !NILP (tem))
@@ -1291,7 +1304,11 @@ single_keymap_panes (keymap, panes, vector, names, enables, items, prefixes,
1291 /* No property, or nil, means enable. 1304 /* No property, or nil, means enable.
1292 Otherwise, enable if value is not nil. */ 1305 Otherwise, enable if value is not nil. */
1293 if (!NILP (tem)) 1306 if (!NILP (tem))
1294 enabled = Feval (tem); 1307 /* (condition-case nil (eval tem)
1308 (error nil)) */
1309 enabled = internal_condition_case_1 (Feval, tem,
1310 Qerror,
1311 single_keymap_panes_1);
1295 } 1312 }
1296 1313
1297 tem = Fkeymapp (def); 1314 tem = Fkeymapp (def);