comparison src/callint.c @ 7912:f87185e63bbc

(Fcall_interactively): Ignore `-' in string. (Fcall_interactively): Don't call minibuffer-window-active-p; determine directly whether a minibuf window is active.
author Richard M. Stallman <rms@gnu.org>
date Wed, 15 Jun 1994 18:17:55 +0000
parents cd81dba38a49
children 18e94112cf67
comparison
equal deleted inserted replaced
7911:185c1f12db67 7912:f87185e63bbc
309 for (next_event = 0; next_event < this_command_key_count; next_event++) 309 for (next_event = 0; next_event < this_command_key_count; next_event++)
310 if (EVENT_HAS_PARAMETERS 310 if (EVENT_HAS_PARAMETERS
311 (XVECTOR (this_command_keys)->contents[next_event])) 311 (XVECTOR (this_command_keys)->contents[next_event]))
312 break; 312 break;
313 313
314 /* Handle special starting chars `*' and `@'. */ 314 /* Handle special starting chars `*' and `@'. Also `-'. */
315 while (1) 315 while (1)
316 { 316 {
317 if (*string == '*') 317 if (*string == '*')
318 { 318 {
319 string++; 319 string++;
320 if (!NILP (current_buffer->read_only)) 320 if (!NILP (current_buffer->read_only))
321 Fbarf_if_buffer_read_only (); 321 Fbarf_if_buffer_read_only ();
322 } 322 }
323 /* Ignore this for semi-compatibility with Lucid. */
324 else if (*string == '-')
325 string++;
323 else if (*string == '@') 326 else if (*string == '@')
324 { 327 {
325 Lisp_Object event; 328 Lisp_Object event;
326 329
327 event = XVECTOR (this_command_keys)->contents[next_event]; 330 event = XVECTOR (this_command_keys)->contents[next_event];
329 && XTYPE (event = XCONS (event)->cdr) == Lisp_Cons 332 && XTYPE (event = XCONS (event)->cdr) == Lisp_Cons
330 && XTYPE (event = XCONS (event)->car) == Lisp_Cons 333 && XTYPE (event = XCONS (event)->car) == Lisp_Cons
331 && XTYPE (event = XCONS (event)->car) == Lisp_Window) 334 && XTYPE (event = XCONS (event)->car) == Lisp_Window)
332 { 335 {
333 if (MINI_WINDOW_P (XWINDOW (event)) 336 if (MINI_WINDOW_P (XWINDOW (event))
334 && NILP (call1 (intern ("minibuffer-window-active-p"), 337 && ! (minibuf_level > 0 && EQ (event, minibuf_window)))
335 event)))
336 error ("Attempt to select inactive minibuffer window"); 338 error ("Attempt to select inactive minibuffer window");
337 Fselect_window (event); 339 Fselect_window (event);
338 } 340 }
339 string++; 341 string++;
340 } 342 }