diff options
| author | Richard M. Stallman | 1994-02-07 01:05:06 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1994-02-07 01:05:06 +0000 |
| commit | 71cc5cf39693fa47641ae9910d2336cefc11fb05 (patch) | |
| tree | bb6ca42c56c1fef5a3ce4bfc9b844dd2fdf4d525 | |
| parent | 047a8ea77d676f96d26d670528ce436aed98b3e1 (diff) | |
| download | emacs-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.c | 23 |
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 | |||
| 1154 | static Lisp_Object | ||
| 1155 | single_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); |