# HG changeset patch # User Jason Rumney # Date 953764181 0 # Node ID f62bb21d38db4d64509e7e3109d227c8d981ff28 # Parent f6a8927824c995b8bde0d20ede8d9730b89c13ff (w32_wnd_proc): Handle WM_MENUSELECT message. (QCdata): Moved to xdisp.c. Include fontset.h after dispextern.h. (Fx_create_frame): Do not create fontset. (w32_load_system_font): Doc fix. (Fx_close_connection): Free full_name if it is not shared. diff -r f6a8927824c9 -r f62bb21d38db src/w32fns.c --- a/src/w32fns.c Wed Mar 22 21:50:25 2000 +0000 +++ b/src/w32fns.c Wed Mar 22 22:29:41 2000 +0000 @@ -30,12 +30,12 @@ #include "lisp.h" #include "charset.h" -#include "fontset.h" #include "w32term.h" #include "frame.h" #include "window.h" #include "buffer.h" #include "dispextern.h" +#include "fontset.h" #include "intervals.h" #include "keyboard.h" #include "blockinput.h" @@ -4471,6 +4471,11 @@ f->output_data.w32->menubar_active = 0; goto dflt; + case WM_MENUSELECT: + wmsg.dwModifiers = w32_get_modifiers (); + my_post_msg (&wmsg, hwnd, msg, wParam, lParam); + return 0; + case WM_MEASUREITEM: f = x_window_to_frame (dpyinfo, hwnd); if (f) @@ -5038,10 +5043,6 @@ specbind (Qx_resource_name, name); } - /* Create fontsets from `global_fontset_alist' before handling fonts. */ - for (tem = Vglobal_fontset_alist; CONSP (tem); tem = XCDR (tem)) - fs_register_fontset (f, XCAR (tem)); - /* Extract the window parameters from the supplied values that are needed to determine window geometry. */ { @@ -5406,9 +5407,9 @@ /* The slot `encoding' specifies how to map a character code-points (0x20..0x7F or 0x2020..0x7F7F) of each charset to - the font code-points (0:0x20..0x7F, 1:0xA0..0xFF, 0:0x2020..0x7F7F, - the font code-points (0:0x20..0x7F, 1:0xA0..0xFF, - 0:0x2020..0x7F7F, 1:0xA0A0..0xFFFF, 3:0x20A0..0x7FFF, or + the font code-points (0:0x20..0x7F, 1:0xA0..0xFF), or + (0:0x20..0x7F, 1:0xA0..0xFF, + (0:0x2020..0x7F7F, 1:0xA0A0..0xFFFF, 3:0x20A0..0x7FFF, 2:0xA020..0xFF7F). For the moment, we don't know which charset uses this font. So, we set information in fontp->encoding[1] which is never used by any charset. If mapping can't be @@ -7129,9 +7130,9 @@ for (i = 0; i < dpyinfo->n_fonts; i++) if (dpyinfo->font_table[i].name) { + if (dpyinfo->font_table[i].name != dpyinfo->font_table[i].full_name) + xfree (dpyinfo->font_table[i].full_name); xfree (dpyinfo->font_table[i].name); - /* Don't free the full_name string; - it is always shared with something else. */ w32_unload_font (dpyinfo, dpyinfo->font_table[i].font); } x_destroy_all_bitmaps (dpyinfo); @@ -7200,7 +7201,7 @@ /* Keywords. */ -Lisp_Object QCtype, QCdata, QCascent, QCmargin, QCrelief; +Lisp_Object QCtype, QCascent, QCmargin, QCrelief; extern Lisp_Object QCwidth, QCheight, QCforeground, QCbackground, QCfile; Lisp_Object QCalgorithm, QCcolor_symbols, QCheuristic_mask; extern Lisp_Object QCindex; @@ -11847,10 +11848,6 @@ specbind (Qx_resource_name, name); } - /* Create fontsets from `global_fontset_alist' before handling fonts. */ - for (tem = Vglobal_fontset_alist; CONSP (tem); tem = XCDR (tem)) - fs_register_fontset (f, XCAR (tem)); - /* Extract the window parameters from the supplied values that are needed to determine window geometry. */ { @@ -13060,8 +13057,6 @@ staticpro (&QCheuristic_mask); QCcolor_symbols = intern (":color-symbols"); staticpro (&QCcolor_symbols); - QCdata = intern (":data"); - staticpro (&QCdata); QCascent = intern (":ascent"); staticpro (&QCascent); QCmargin = intern (":margin");