Mercurial > emacs
annotate admin/notes/iftc @ 83619:5da6a46ddbd6
* s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
* termhooks.h (union display_info): Add mac_display_info.
* term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
is defined.
* macterm.h (struct mac_display_info): Add terminal.
* w32term.c (w32_initialize): Make static.
* macterm.c (XTset_terminal_modes): Add a terminal parameter.
(XTreset_terminal_modes): Likewise.
(x_clear_frame): Add a frame parameter.
(note_mouse_movement): Get rif from the frame.
(mac_term_init): Initialize the terminal.
(mac_initialize): Make static and move terminal initialization ...
(mac_create_terminal): ... in this new function.
* macmenu.c: Reorder includes.
(Fx_popup_menu): Use terminal specific mouse_position_hook.
* macfns.c (x_set_mouse_color): Get rif from the frame.
(x_set_tool_bar_lines): Don't use updating_frame.
(mac_window): Add 2 new parameters for consistency with other
systems.
(Fx_create_frame): Fix doc string. Rename the parameter.
(Fx_create_frame): Set the frame parameters following what is done
in X11 and w32.
(Fx_open_connection): Remove window-system check.
(start_hourglass): Likewise.
(x_create_tip_frame): Get the keyboard from the terminal.
* w32fns.c (Fx_create_frame): Use kboard from the terminal.
* term/mac-win.el: Provide mac-win.
(mac-initialized): New variable.
(mac-initialize-window-system): New function. Move global setup
here.
(handle-args-function-alist, frame-creation-function-alist):
(window-system-initialization-alist): Add mac entries.
* loadup.el: Load mac-win on a Mac.
author | Dan Nicolaescu <dann@ics.uci.edu> |
---|---|
date | Sat, 19 May 2007 19:08:02 +0000 |
parents | 695cf19ef79e |
children | 375f2633d815 ef719132ddfa |
rev | line source |
---|---|
45625 | 1 Iso-Functional Type Contour |
2 | |
3 | |
4 This is a term coined to describe "column int->float" change approach, and can | |
5 be used whenever low-level types need to change (hopefully not often!) but the | |
6 meanings of the values (whose type has changed) do not. | |
7 | |
8 The premise is that changing a low-level type potentially means lots of code | |
9 needs to be changed as well, and the question is how to do this incrementally, | |
10 which is the preferred way to change things. | |
11 | |
12 Say LOW and HIGH are C functions: | |
13 | |
14 int LOW (void) { return 1; } | |
15 void HIGH (void) { int value = LOW (); } | |
16 | |
17 We want to convert LOW to return float, so we cast HIGH usage: | |
18 | |
19 float LOW (void) { return 1.0; } | |
20 void HIGH (void) { int value = (int) LOW (); } /* iftc */ | |
21 | |
22 The comment /* iftc */ is used to mark this type of casting to differentiate | |
23 it from other casting. We commit the changes and can now go about modifying | |
24 LOW and HIGH separately. When HIGH is ready to handle the type change, the | |
25 cast can be removed. | |
52401 | 26 |
27 ;;; arch-tag: 3309cc41-5d59-421b-b7be-c94b04083bb5 |