comparison src/frame.c @ 16:0293115a14e9 r19-15b91

Import from CVS: tag r19-15b91
author cvs
date Mon, 13 Aug 2007 08:49:20 +0200
parents ac2d302a0011
children 859a2309aef8
comparison
equal deleted inserted replaced
15:ad457d5f7d04 16:0293115a14e9
153 153
154 ((markobj) (f->toolbar_visible_p[0])); 154 ((markobj) (f->toolbar_visible_p[0]));
155 ((markobj) (f->toolbar_visible_p[1])); 155 ((markobj) (f->toolbar_visible_p[1]));
156 ((markobj) (f->toolbar_visible_p[2])); 156 ((markobj) (f->toolbar_visible_p[2]));
157 ((markobj) (f->toolbar_visible_p[3])); 157 ((markobj) (f->toolbar_visible_p[3]));
158 #endif 158 #endif /* HAVE_TOOLBARS */
159 159
160 if (FRAME_LIVE_P (f)) /* device is nil for a dead frame */ 160 if (FRAME_LIVE_P (f)) /* device is nil for a dead frame */
161 MAYBE_FRAMEMETH (f, mark_frame, (f, markobj)); 161 MAYBE_FRAMEMETH (f, mark_frame, (f, markobj));
162 162
163 return Qnil; 163 return Qnil;
169 struct frame *frm = XFRAME (obj); 169 struct frame *frm = XFRAME (obj);
170 char buf[200]; 170 char buf[200];
171 171
172 if (print_readably) 172 if (print_readably)
173 error ("printing unreadable object #<frame %s 0x%x>", 173 error ("printing unreadable object #<frame %s 0x%x>",
174 string_data (XSTRING (frm->name)), frm->header.uid); 174 XSTRING_DATA (frm->name), frm->header.uid);
175 175
176 sprintf (buf, "#<%s-frame ", !FRAME_LIVE_P (frm) ? "dead" : 176 sprintf (buf, "#<%s-frame ", !FRAME_LIVE_P (frm) ? "dead" :
177 FRAME_TYPE_NAME (frm)); 177 FRAME_TYPE_NAME (frm));
178 write_c_string (buf, printcharfun); 178 write_c_string (buf, printcharfun);
179 print_internal (frm->name, printcharfun, 1); 179 print_internal (frm->name, printcharfun, 1);
202 202
203 f->toolbar_visible_p[0] = Qnil; 203 f->toolbar_visible_p[0] = Qnil;
204 f->toolbar_visible_p[1] = Qnil; 204 f->toolbar_visible_p[1] = Qnil;
205 f->toolbar_visible_p[2] = Qnil; 205 f->toolbar_visible_p[2] = Qnil;
206 f->toolbar_visible_p[3] = Qnil; 206 f->toolbar_visible_p[3] = Qnil;
207 #endif 207 #endif /* HAVE_TOOLBARS */
208 } 208 }
209 209
210 /* Allocate a new frame object and set all its fields to reasonable 210 /* Allocate a new frame object and set all its fields to reasonable
211 values. The root window is created but the minibuffer will be done 211 values. The root window is created but the minibuffer will be done
212 later. */ 212 later. */
339 Avoid infinite looping on the window chain by marking next pointer 339 Avoid infinite looping on the window chain by marking next pointer
340 as nil. */ 340 as nil. */
341 341
342 mini_window = f->minibuffer_window = f->root_window; 342 mini_window = f->minibuffer_window = f->root_window;
343 XWINDOW (mini_window)->mini_p = Qt; 343 XWINDOW (mini_window)->mini_p = Qt;
344 XWINDOW (mini_window)->next = Qnil; 344 XWINDOW (mini_window)->next = Qnil;
345 XWINDOW (mini_window)->prev = Qnil; 345 XWINDOW (mini_window)->prev = Qnil;
346 XWINDOW (mini_window)->frame = frame; 346 XWINDOW (mini_window)->frame = frame;
347 347
348 /* Put the proper buffer in that window. */ 348 /* Put the proper buffer in that window. */
349 349
350 Fset_window_buffer (mini_window, Vminibuffer_zero); 350 Fset_window_buffer (mini_window, Vminibuffer_zero);
351 } 351 }
554 struct frame * 554 struct frame *
555 decode_frame (Lisp_Object frame) 555 decode_frame (Lisp_Object frame)
556 { 556 {
557 if (NILP (frame)) 557 if (NILP (frame))
558 return selected_frame (); 558 return selected_frame ();
559 else 559
560 { 560 CHECK_LIVE_FRAME (frame);
561 CHECK_LIVE_FRAME (frame); 561 return (XFRAME (frame));
562 return (XFRAME (frame));
563 }
564 } 562 }
565 563
566 struct frame * 564 struct frame *
567 decode_frame_or_selected (Lisp_Object cdf) 565 decode_frame_or_selected (Lisp_Object cdf)
568 { 566 {
619 frame this is. Use the cleaner function `frame-type' for that. 617 frame this is. Use the cleaner function `frame-type' for that.
620 */ ) 618 */ )
621 (object) 619 (object)
622 Lisp_Object object; 620 Lisp_Object object;
623 { 621 {
624 if (!FRAMEP (object)) 622 return FRAMEP (object) ? Qt : Qnil;
625 return Qnil;
626 return Qt;
627 } 623 }
628 624
629 DEFUN ("frame-live-p", Fframe_live_p, Sframe_live_p, 1, 1, 0 /* 625 DEFUN ("frame-live-p", Fframe_live_p, Sframe_live_p, 1, 1, 0 /*
630 Return non-nil if OBJECT is a frame which has not been deleted. 626 Return non-nil if OBJECT is a frame which has not been deleted.
631 */ ) 627 */ )
632 (object) 628 (object)
633 Lisp_Object object; 629 Lisp_Object object;
634 { 630 {
635 if (FRAMEP (object) && FRAME_LIVE_P (XFRAME (object))) 631 return FRAMEP (object) && FRAME_LIVE_P (XFRAME (object)) ? Qt : Qnil;
636 return Qt;
637 return Qnil;
638 } 632 }
639 633
640 634
641 /* Called from Fselect_window() */ 635 /* Called from Fselect_window() */
642 void 636 void
923 #endif 917 #endif
924 918
925 if (NILP (type)) 919 if (NILP (type))
926 type = Qnomini; 920 type = Qnomini;
927 if (ZEROP (type)) 921 if (ZEROP (type))
928 type = Qiconic; 922 type = Qvisible_iconic;
929 923
930 if (EQ (type, Qvisible)) 924 if (EQ (type, Qvisible))
931 return FRAME_VISIBLE_P (f); 925 return FRAME_VISIBLE_P (f);
932 if (EQ (type, Qiconic)) 926 if (EQ (type, Qiconic))
933 return FRAME_ICONIFIED_P (f); 927 return FRAME_ICONIFIED_P (f);
1202 any other frames exist.) */ 1196 any other frames exist.) */
1203 1197
1204 static int 1198 static int
1205 other_visible_frames_internal (struct frame *f, int called_from_delete_device) 1199 other_visible_frames_internal (struct frame *f, int called_from_delete_device)
1206 { 1200 {
1207 Lisp_Object frame = Qnil; 1201 Lisp_Object frame;
1208 1202
1209 XSETFRAME (frame, f); 1203 XSETFRAME (frame, f);
1210 if (FRAME_STREAM_P (f)) 1204 if (FRAME_STREAM_P (f))
1211 return !EQ (frame, next_frame_internal (frame, Qt, Qt, 1205 return !EQ (frame, next_frame_internal (frame, Qt, Qt,
1212 called_from_delete_device)); 1206 called_from_delete_device));
1240 { 1234 {
1241 /* This function can GC */ 1235 /* This function can GC */
1242 int minibuffer_selected; 1236 int minibuffer_selected;
1243 struct device *d; 1237 struct device *d;
1244 struct console *con; 1238 struct console *con;
1245 Lisp_Object frame = Qnil; 1239 Lisp_Object frame;
1246 Lisp_Object device; 1240 Lisp_Object device;
1247 Lisp_Object console; 1241 Lisp_Object console;
1248 struct gcpro gcpro1; 1242 struct gcpro gcpro1;
1249 1243
1250 /* OK to delete an already deleted frame. */ 1244 /* OK to delete an already deleted frame. */
1302 ("Attempt to delete a surrogate minibuffer frame", frame); 1296 ("Attempt to delete a surrogate minibuffer frame", frame);
1303 } 1297 }
1304 } 1298 }
1305 } 1299 }
1306 1300
1301 /* Before here, we haven't made any dangerous changes (just checked for
1302 error conditions). Now run the delete-frame-hook. Remember that
1303 user code there could do any number of dangerous things, including
1304 signalling an error. */
1305
1306 va_run_hook_with_args (Qdelete_frame_hook, 1, frame);
1307
1308 if (!FRAME_LIVE_P (f)) /* Make sure the delete-frame-hook didn't */
1309 { /* go ahead and delete anything. */
1310 UNGCPRO;
1311 return;
1312 }
1313
1314 /* Call the delete-device-hook and delete-console-hook now if
1315 appropriate, before we do any dangerous things -- they too could
1316 signal an error. */
1317 if (XINT (Flength (DEVICE_FRAME_LIST (d))) == 1)
1318 {
1319 va_run_hook_with_args (Qdelete_device_hook, 1, device);
1320 if (!FRAME_LIVE_P (f)) /* Make sure the delete-device-hook didn't */
1321 { /* go ahead and delete anything. */
1322 UNGCPRO;
1323 return;
1324 }
1325
1326 if (XINT (Flength (CONSOLE_DEVICE_LIST (con))) == 1)
1327 {
1328 va_run_hook_with_args (Qdelete_console_hook, 1, console);
1329 if (!FRAME_LIVE_P (f)) /* Make sure the delete-console-hook didn't */
1330 { /* go ahead and delete anything. */
1331 UNGCPRO;
1332 return;
1333 }
1334 }
1335 }
1336
1307 minibuffer_selected = EQ (minibuf_window, Fselected_window (Qnil)); 1337 minibuffer_selected = EQ (minibuf_window, Fselected_window (Qnil));
1308 1338
1309 /* If we were focused on this frame, then we're not any more. 1339 /* If we were focused on this frame, then we're not any more.
1310 Assume that we lost the focus; that way, the call to 1340 Assume that we lost the focus; that way, the call to
1311 Fselect_frame() below won't end up making us explicitly 1341 Fselect_frame() below won't end up making us explicitly
1327 if (EQ (frame, DEVICE_FRAME_WITH_FOCUS_FOR_HOOKS (d))) 1357 if (EQ (frame, DEVICE_FRAME_WITH_FOCUS_FOR_HOOKS (d)))
1328 DEVICE_FRAME_WITH_FOCUS_FOR_HOOKS (d) = Qnil; 1358 DEVICE_FRAME_WITH_FOCUS_FOR_HOOKS (d) = Qnil;
1329 if (EQ (frame, DEVICE_FRAME_THAT_OUGHT_TO_HAVE_FOCUS (d))) 1359 if (EQ (frame, DEVICE_FRAME_THAT_OUGHT_TO_HAVE_FOCUS (d)))
1330 DEVICE_FRAME_THAT_OUGHT_TO_HAVE_FOCUS (d) = Qnil; 1360 DEVICE_FRAME_THAT_OUGHT_TO_HAVE_FOCUS (d) = Qnil;
1331 1361
1332 /* Don't allow deleted frame to remain selected. 1362 /* Don't allow the deleted frame to remain selected.
1333 Note that in the former scheme of things, this would 1363 Note that in the former scheme of things, this would
1334 have caused us to regain the focus. This no longer 1364 have caused us to regain the focus. This no longer
1335 applies (see above); I think the new behavior is more 1365 applies (see above); I think the new behavior is more
1336 logical. If someone disagrees, it can always be 1366 logical. If someone disagrees, it can always be
1337 changed (or a new user variable can be introduced, 1367 changed (or a new user variable can be introduced, ugh.) */
1338 ugh.) */
1339 if (EQ (frame, DEVICE_SELECTED_FRAME (d))) 1368 if (EQ (frame, DEVICE_SELECTED_FRAME (d)))
1340 { 1369 {
1341 Lisp_Object next; 1370 Lisp_Object next;
1342 1371
1343 /* If this is a popup frame, select its parent if possible. 1372 /* If this is a popup frame, select its parent if possible.
1382 select the new one. */ 1411 select the new one. */
1383 if (minibuffer_selected) 1412 if (minibuffer_selected)
1384 Fselect_window (minibuf_window); 1413 Fselect_window (minibuf_window);
1385 } 1414 }
1386 1415
1387 /* Before here, we haven't made any dangerous changes (just checked for
1388 error conditions). Now run the delete-frame-hook. Remember that
1389 user code there could do any number of dangerous things, including
1390 signalling an error.
1391 */
1392
1393 va_run_hook_with_args (Qdelete_frame_hook, 1, frame);
1394
1395 if (!FRAME_LIVE_P (f)) /* make sure the delete-frame-hook didn't
1396 go ahead and delete anything */
1397 {
1398 UNGCPRO;
1399 return;
1400 }
1401
1402 /* Call the delete-device-hook and delete-console-hook now if
1403 appropriate, before we do any dangerous things -- they too could
1404 signal an error. */
1405 if (XINT (Flength (DEVICE_FRAME_LIST (d))) == 1)
1406 {
1407 va_run_hook_with_args (Qdelete_device_hook, 1, device);
1408 if (!FRAME_LIVE_P (f)) /* make sure the delete-device-hook didn't
1409 go ahead and delete anything */
1410 {
1411 UNGCPRO;
1412 return;
1413 }
1414
1415 if (XINT (Flength (CONSOLE_DEVICE_LIST (con))) == 1)
1416 {
1417 va_run_hook_with_args (Qdelete_console_hook, 1, console);
1418 if (!FRAME_LIVE_P (f)) /* make sure the delete-console-hook didn't
1419 go ahead and delete anything */
1420 {
1421 UNGCPRO;
1422 return;
1423 }
1424 }
1425 }
1426
1427
1428 /* After this point, no errors must be allowed to occur. */ 1416 /* After this point, no errors must be allowed to occur. */
1429 1417
1430 #ifdef HAVE_MENUBARS 1418 #ifdef HAVE_MENUBARS
1431 free_frame_menubars (f); 1419 free_frame_menubars (f);
1432 #endif 1420 #endif
1445 remove the reference to them. */ 1433 remove the reference to them. */
1446 delete_all_subwindows (XWINDOW (f->root_window)); 1434 delete_all_subwindows (XWINDOW (f->root_window));
1447 f->root_window = Qnil; 1435 f->root_window = Qnil;
1448 1436
1449 /* Remove the frame now from the list. This way, any events generated 1437 /* Remove the frame now from the list. This way, any events generated
1450 on this frame by the maneuvers below will disperse themselves. 1438 on this frame by the maneuvers below will disperse themselves. */
1451 */ 1439
1452 1440 /* This used to be Fdelq(), but that will cause a seg fault if the
1453 { 1441 QUIT checker happens to get invoked, because the frame list is in
1454 /* This used to be Fdelq(), but that will cause a seg fault if the 1442 an inconsistent state. */
1455 QUIT checker happens to get invoked, because the frame list is 1443 d->frame_list = delq_no_quit (frame, d->frame_list);
1456 in an inconsistent state */ 1444 RESET_CHANGED_SET_FLAGS;
1457 d->frame_list = delq_no_quit (frame, d->frame_list);
1458 RESET_CHANGED_SET_FLAGS;
1459 }
1460 1445
1461 f->dead = 1; 1446 f->dead = 1;
1462 f->visible = 0; 1447 f->visible = 0;
1463 1448
1464 free_window_mirror (f->root_mirror); 1449 free_window_mirror (f->root_mirror);
1496 if (EQ (frame, con->default_minibuffer_frame)) 1481 if (EQ (frame, con->default_minibuffer_frame))
1497 { 1482 {
1498 Lisp_Object frmcons, devcons; 1483 Lisp_Object frmcons, devcons;
1499 /* The last frame we saw with a minibuffer, minibuffer-only or not. */ 1484 /* The last frame we saw with a minibuffer, minibuffer-only or not. */
1500 Lisp_Object frame_with_minibuf; 1485 Lisp_Object frame_with_minibuf;
1501 /* Some frame we found on the same console, or nil if there are 1486 /* Some frame we found on the same console, or nil if there are none. */
1502 none. */
1503 Lisp_Object frame_on_same_console; 1487 Lisp_Object frame_on_same_console;
1504 1488
1505 frame_on_same_console = Qnil; 1489 frame_on_same_console = Qnil;
1506 frame_with_minibuf = Qnil; 1490 frame_with_minibuf = Qnil;
1507 1491
1530 1514
1531 if (!NILP (frame_on_same_console)) 1515 if (!NILP (frame_on_same_console))
1532 { 1516 {
1533 /* We know that there must be some frame with a minibuffer out 1517 /* We know that there must be some frame with a minibuffer out
1534 there. If this were not true, all of the frames present 1518 there. If this were not true, all of the frames present
1535 would have to be minibufferless, which implies that at some 1519 would have to be minibuffer-less, which implies that at some
1536 point their minibuffer frames must have been deleted, but 1520 point their minibuffer frames must have been deleted, but
1537 that is prohibited at the top; you can't delete surrogate 1521 that is prohibited at the top; you can't delete surrogate
1538 minibuffer frames. */ 1522 minibuffer frames. */
1539 if (NILP (frame_with_minibuf)) 1523 if (NILP (frame_with_minibuf))
1540 abort (); 1524 abort ();
1546 con->default_minibuffer_frame = Qnil; 1530 con->default_minibuffer_frame = Qnil;
1547 } 1531 }
1548 1532
1549 nuke_all_frame_slots (f); /* nobody should be accessing the device 1533 nuke_all_frame_slots (f); /* nobody should be accessing the device
1550 or anything else any more, and making 1534 or anything else any more, and making
1551 then Qnil allows for better GC'ing 1535 them Qnil allows for better GC'ing
1552 in case a pointer to the dead frame 1536 in case a pointer to the dead frame
1553 still hangs around. */ 1537 continues to hang around. */
1554 f->framemeths = dead_console_methods; 1538 f->framemeths = dead_console_methods;
1555 UNGCPRO; 1539 UNGCPRO;
1556 } 1540 }
1557 1541
1558 void 1542 void
1659 case -1: 1643 case -1:
1660 *frame = DEVICE_SELECTED_FRAME (d); 1644 *frame = DEVICE_SELECTED_FRAME (d);
1661 break; 1645 break;
1662 1646
1663 default: 1647 default:
1664 abort (); /* hook is incorrectly written */ 1648 abort (); /* method is incorrectly written */
1665 } 1649 }
1666 1650
1667 return 0; 1651 return 0;
1668 } 1652 }
1669 1653
1689 1673
1690 x = y = Qnil; 1674 x = y = Qnil;
1691 1675
1692 if (mouse_pixel_position_1 (d, &frame, &intx, &inty)) 1676 if (mouse_pixel_position_1 (d, &frame, &intx, &inty))
1693 { 1677 {
1694 struct window *w = find_window_by_pixel_pos (intx, inty, 1678 struct window *w =
1695 XFRAME (frame)-> 1679 find_window_by_pixel_pos (intx, inty, XFRAME (frame)->root_window);
1696 root_window);
1697 if (!w) 1680 if (!w)
1698 window = Qnil; 1681 window = Qnil;
1699 else 1682 else
1700 { 1683 {
1701 XSETWINDOW (window, w); 1684 XSETWINDOW (window, w);
3009 */ ); 2992 */ );
3010 Vdeselect_frame_hook = Qnil; 2993 Vdeselect_frame_hook = Qnil;
3011 2994
3012 DEFVAR_LISP ("delete-frame-hook", &Vdelete_frame_hook /* 2995 DEFVAR_LISP ("delete-frame-hook", &Vdelete_frame_hook /*
3013 Function or functions to call when a frame is deleted. 2996 Function or functions to call when a frame is deleted.
3014 One argument, the to-be-deleted frame. 2997 One argument, the about-to-be-deleted frame.
3015 When this hook is called, the selected frame is different from
3016 the to-be-deleted frame, and the hook should not change that.
3017 */ ); 2998 */ );
3018 Vdelete_frame_hook = Qnil; 2999 Vdelete_frame_hook = Qnil;
3019 3000
3020 DEFVAR_LISP ("create-frame-hook", &Vcreate_frame_hook /* 3001 DEFVAR_LISP ("create-frame-hook", &Vcreate_frame_hook /*
3021 Function or functions to call when a frame is created. 3002 Function or functions to call when a frame is created.
3022 One argument, the newly-created frame. 3003 One argument, the newly-created frame.
3023 */ ); 3004 */ );
3024 Vcreate_frame_hook = Qnil; 3005 Vcreate_frame_hook = Qnil;
3025 3006
3026 DEFVAR_LISP ("mouse-enter-frame-hook", &Vmouse_enter_frame_hook /* 3007 DEFVAR_LISP ("mouse-enter-frame-hook", &Vmouse_enter_frame_hook /*
3027 Function or functions to call when mouse enters a frame. 3008 Function or functions to call when the mouse enters a frame.
3028 One argument, the frame. 3009 One argument, the frame.
3029 Be careful not to make assumptions about the window manger's focus model. 3010 Be careful not to make assumptions about the window manager's focus model.
3030 In most cases, the `deselect-frame-hook' is more appropriate. 3011 In most cases, the `deselect-frame-hook' is more appropriate.
3031 */ ); 3012 */ );
3032 Vmouse_enter_frame_hook = Qnil; 3013 Vmouse_enter_frame_hook = Qnil;
3033 3014
3034 DEFVAR_LISP ("mouse-leave-frame-hook", &Vmouse_leave_frame_hook /* 3015 DEFVAR_LISP ("mouse-leave-frame-hook", &Vmouse_leave_frame_hook /*
3035 Function or functions to call when mouse leaves frame. 3016 Function or functions to call when the mouse leaves a frame.
3036 One argument, the frame. 3017 One argument, the frame.
3037 Be careful not to make assumptions about the window manger's focus model. 3018 Be careful not to make assumptions about the window manager's focus model.
3038 In most cases, the `select-frame-hook' is more appropriate. 3019 In most cases, the `select-frame-hook' is more appropriate.
3039 */ ); 3020 */ );
3040 Vmouse_leave_frame_hook = Qnil; 3021 Vmouse_leave_frame_hook = Qnil;
3041 3022
3042 DEFVAR_LISP ("map-frame-hook", &Vmap_frame_hook /* 3023 DEFVAR_LISP ("map-frame-hook", &Vmap_frame_hook /*
3043 Function or functions to call when frame is mapped. 3024 Function or functions to call when a frame is mapped.
3044 One argument, the frame. 3025 One argument, the frame.
3045 */ ); 3026 */ );
3046 Vmap_frame_hook = Qnil; 3027 Vmap_frame_hook = Qnil;
3047 3028
3048 DEFVAR_LISP ("unmap-frame-hook", &Vunmap_frame_hook /* 3029 DEFVAR_LISP ("unmap-frame-hook", &Vunmap_frame_hook /*
3049 Function or functions to call when frame is unmapped. 3030 Function or functions to call when a frame is unmapped.
3050 One argument, the frame. 3031 One argument, the frame.
3051 */ ); 3032 */ );
3052 Vunmap_frame_hook = Qnil; 3033 Vunmap_frame_hook = Qnil;
3053 3034
3054 DEFVAR_LISP ("allow-deletion-of-last-visible-frame", 3035 DEFVAR_LISP ("allow-deletion-of-last-visible-frame",
3060 #if defined (HAVE_CDE) || defined (HAVE_OFFIX_DND) 3041 #if defined (HAVE_CDE) || defined (HAVE_OFFIX_DND)
3061 DEFVAR_LISP ("drag-and-drop-functions", &Vdrag_and_drop_functions /* 3042 DEFVAR_LISP ("drag-and-drop-functions", &Vdrag_and_drop_functions /*
3062 Function or functions to run when an object is dropped on a frame. 3043 Function or functions to run when an object is dropped on a frame.
3063 Each function is called with either two or three args. If called with 3044 Each function is called with either two or three args. If called with
3064 two args, the args are a frame and a pathname. If with three, the 3045 two args, the args are a frame and a pathname. If with three, the
3065 args are a frame, a pathname (which is may be either a string or nil) 3046 args are a frame, a pathname (which will be either a string or nil)
3066 and the textual representation of the dragged object. 3047 and the textual representation of the dragged object.
3067 */ ); 3048 */ );
3068 Vdrag_and_drop_functions = Qnil; 3049 Vdrag_and_drop_functions = Qnil;
3069 #endif 3050 #endif /* HAVE_CDE */
3070 3051
3071 DEFVAR_LISP ("mouse-motion-handler", &Vmouse_motion_handler /* 3052 DEFVAR_LISP ("mouse-motion-handler", &Vmouse_motion_handler /*
3072 Handler for motion events. One arg, the event. 3053 Handler for motion events. One arg, the event.
3073 For most applications, you should use `mode-motion-hook' instead of this. 3054 For most applications, you should use `mode-motion-hook' instead of this.
3074 */ ); 3055 */ );
3088 */ ); 3069 */ );
3089 Vframe_title_format = Fpurecopy (build_string ("%S: %b")); 3070 Vframe_title_format = Fpurecopy (build_string ("%S: %b"));
3090 3071
3091 DEFVAR_LISP ("frame-icon-title-format", &Vframe_icon_title_format /* 3072 DEFVAR_LISP ("frame-icon-title-format", &Vframe_icon_title_format /*
3092 Controls the title of the icon corresponding to the selected frame. 3073 Controls the title of the icon corresponding to the selected frame.
3093 See also the variable `frame-title-format' 3074 See also the variable `frame-title-format'.
3094 */ ); 3075 */ );
3095 Vframe_icon_title_format = Fpurecopy (build_string ("%b")); 3076 Vframe_icon_title_format = Fpurecopy (build_string ("%b"));
3096 3077
3097 DEFVAR_LISP ("default-frame-name", &Vdefault_frame_name /* 3078 DEFVAR_LISP ("default-frame-name", &Vdefault_frame_name /*
3098 The default name to assign to newly-created frames. 3079 The default name to assign to newly-created frames.