* s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
[bpt/emacs.git] / src / ChangeLog
CommitLineData
89f1e540
DN
12008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
4 added not supported anymore.
5
6 * s/usg5-4-2.h (LIBS_SYSTEM):
7 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
8
9 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
10 * s/lynxos.h (GETPGRP_NO_ARG):
11 * s/hpux10-20.h (NO_SIOCTL_H):
12 * s/gnu.h (GETPGRP_NO_ARG):
13 * s/gnu-linux.h (NO_SIOCTL_H):
14 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
15 * s/cygwin.h (GETPGRP_NO_ARG):
16 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
17 (C_DEBUG_SWITCH): Remove duplicate definition.
18
19 * m/ibms390.h: Remove boilerplate comments.
20
21 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
22
23 * process.c (HAVE_SERIAL): Consolidate ifdefs.
24 (wait_reading_process_output): Remove code for SunOS, platform not
25 supported anymore. Use SOLARIS2 instead of sun.
26
ed96cde8
AR
272008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
28
29 * font.c (font_open_by_name): Under NS, default lface height to zero.
30 (font_open_for_lface): Under NS, set size based on frame fontsize.
31 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
32 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
33
342008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
35
36 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
37 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
38 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
39 YES/NO.
40 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
41 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
42 * Makefile.in (clean): Clear out build destination dir.
43
5a2d7ab6
AR
442008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
45
46 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
47 xterm, xselect.
48 * lisp.h: Remove declaration of hash_remove.
49 * nsgui.h: Remove redefinitions of hash_remove.
50 * fns.c (hash_remove): Rename to hash_remove_from_table.
51
c0230162
AR
522008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
53
54 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
55 strdup() the family UTF8String before modifying it. Patch due to
56 Seiji Zenitani.
57
45d325c4
AR
582008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
59
60 * nsfns.m (ns_set_background_color): Apply patch from Chong Yidong to
61 fix crash.
62 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
63 NS_FACE_BACKGROUND with 0 instead of nil.
64 * nsfont.m (nsfont_draw): Same.
65
b83f1cd0
CY
662008-07-18 Chong Yidong <cyd@stupidchicken.com>
67
68 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
69
add4eecc
DN
702008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
71
72 * puresize.h (BASE_PURESIZE): Increase to 1240000.
73
69955d31
YM
742008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
75
76 * gtkutil.c: Include <config.h> instead of "config.h".
77
78 * lisp.h (Foverlay_buffer): Add EXFUN.
79
80 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
81 child process to complete child_setup. Undo 2005-09-21 change.
82
83 * s/darwin.h: Mention setsid after vfork.
84
08b3caa9 852008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2d64e9bb
YM
86
87 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
88 Depend on macgui.h.
89
90 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
91 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
92
93 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
94 and f19.
95 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
96
97 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
98 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
99 Remove enumerators.
100
101 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
102 Check if FACE_FROM_ID returns NULL.
103
8d59c5ed
JR
1042008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
105
ba60bd44
JB
106 * w32inevt.c (change_frame_size): Remove extern declaration.
107 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
108 change_frame_size.
8d59c5ed 109
ba60bd44 1102008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
db94bf9c
AR
111
112 * getloadavg.c: Revert last change (2008-07-15).
113
ba60bd44 1142008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
06b62770
AR
115
116 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
117 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
118 from configure.
119
2749d28e
DN
1202008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
121
35ad0545
DN
122 * s/sol2.h:
123 * s/sol2-4.h: Reorganize conditionals.
124
2749d28e
DN
125 * ecrt0.c: Remove code depending on m68000, not used anymore.
126
127 * fns.c (hash_remove): Make static.
128 * lisp.h (hash_remove): Don't prototype.
129
130 * m/ibmrs6000.h:
131 * m/ibms390x.h:
132 * m/macppc.h: Remove boilerplate comments.
133
134 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
135 Solaris, which does not need them.
136
137 * m/vax.h: Remove comments about unsupported systems.
138
139 * s/darwin.h: Reorganize ifdefs.
140
ba60bd44
JB
1412008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
142
143 * config.in:
144 * dispextern.h:
145 * frame.c:
146 * image.c:
147 * nsfns.m:
148 * nsfont.m:
149 * nsgui.h:
150 * nsmenu.m:
151 * nsterm.h:
152 * nsterm.m:
153 * s/darwin.h:
154 * xdisp.c: Change most cases of PENDING to TODO, some to FIXME or XXX.
6fb5f7da 155
32cc3925
AS
1562008-07-17 Andreas Schwab <schwab@suse.de>
157
158 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
159
facfbbbd
SM
1602008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
161
162 Use SDATA. Follow coding convention of placing operators at
163 beginning of next line rather than end of previous line, and placing
164 spaces around infix operators.
165
166 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
167 in case it was defined already.
168 USE @GNUSTEP_MAKEFILES@ rather than envvars.
169 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
170 ns_default.
171 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
172 Lisp_Objects.
173 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
174 (ns_defined_color, ns_color_to_lisp): Declare.
175 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
176 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
177 it's accepted even with USE_LISP_UNION_TYPE.
178 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
179 (update_frame_tool_bar): Remove apparently obsolete tests for
180 non-integerness of f->tool_bar_lines.
181 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
182 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
183 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
184 (nsfont_open): Don't confuse NULL for Qnil.
185 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
186 * menu.h (find_and_call_menu_selection):
187 * menu.c (find_and_call_menu_selection): Use just int for vector size.
188 (find_and_return_menu_selection): Always return something.
189 * frame.h: Include dispextern.h for Display_Info.
190 (display_x_get_resource): Declare.
191
ba60bd44 1922008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
122e9f8f
AR
193
194 * syntax.c: Remove stdio.h include accidentally introduced in
195 Emacs.app commit.
196 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
197 NS_IMPL_COCOA.
198 * keyboard.c (handle_async_input, input_available_signal): Remove
199 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
200
0bcfd7d7
SM
2012008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
202
6882361b
SM
203 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
204 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
205 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
206 Use SDATA.
207
0bcfd7d7
SM
208 * keymap.c: Remove all NS-specific code.
209 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
210 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
211 where_is_preferred_modifier, return a different value depending on how
212 preferred is the binding.
213 (where_is_internal): Adjust accordingly.
214 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
215 Adjust to new preferred_sequence_p.
216 (syms_of_keymap): Declare `where-is-preferred-modifier'.
217 * keyboard.c (parse_solitary_modifier): Not static any more.
218 * keyboard.h (parse_solitary_modifier): Declare.
219
720f3147
AS
2202008-07-16 Andreas Schwab <schwab@suse.de>
221
222 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
223 of easymenu.
224
01e19fea
CY
2252008-07-16 Chong Yidong <cyd@stupidchicken.com>
226
227 * xdisp.c (move_it_in_display_line): Account for word wrap, so
228 that we don't move off the line.
229
4c89a3e0
SM
2302008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
231
232 * keyboard.c (Qsuper): Remove.
233 (parse_menu_item): Don't call where_is_internal specially for NS.
234
586b975c
DN
2352008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
236
3ec8ef33
DN
237 * s/gnu-linux.h: Remove boilerplate comments.
238
d4d080b6
DN
239 * m/alpha.h (__ELF__): Consolidate conditions.
240
7ab56cc4
DN
241 * m/m68k.h (linux): Use GNU_LINUX instead.
242 Remove boilerplate comments.
243
586b975c 244 * m/intel386.h: Undo reactoring from previous change.
7ab56cc4
DN
245 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
246 too, remove dead code.
247 (linux): Use GNU_LINUX instead.
586b975c 248
5cc9d48a
JR
2492008-07-16 Jason Rumney <jasonr@gnu.org>
250
4c89a3e0 251 * w32gui.h: Repeat 26 June changes lost by last change.
5cc9d48a 252
6b0273cd
DN
2532008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
254
132d0475
DN
255 * systty.h: Remove code for Aix on 386, unsupported platform.
256
257 * s/ms-w32.h: Remove boilerplate comments.
258 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
259
260 * s/gnu-linux.h (TERM): Remove support.
261 (HAVE_SYSVIPC): Remove, unused.
262 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
263 for this system.
264
265 * process.c: Remove support for IRIS, unused.
266 Remove support for TERM, not relevant anymore.
267
268 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
269 used with the definition.
270
271 * s/aix4-2.h (static): Do not undef.
272
273 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
274 only used on Aix.
275 (HAVE_SYSVIPC): Remove, unused.
276
277 * m/hp800.h (CANNOT_DUMP): Do not undef.
278
279 * m/alpha.h: Fix comment.
280
8111c2d8
DN
281 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
282 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
283 used by this configuration.
284 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
285 * unexec.c: Remove code depending on HPUX and
286 USG_SHARED_LIBRARIES, not used with this file. Remove code
287 depending on IRIS, unused. Remove if 0-ed code.
288
e9a57a88
DN
289 * s/template.h: Remove comments about static.
290
4c89a3e0
SM
291 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
292 Remove if 0-ed code.
c7607b94
DN
293 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
294 were the same as the default.
295 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
296 Remove boilerplate comments.
297 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
298 (HAVE_SYSVIPC): Remove, unused.
299 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
300
ff841b30
DN
301 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
302 Remove boilerplate comments.
303 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
304 Remove boilerplate comments.
305 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
306 Remove boilerplate comments.
307 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
308
586b975c
DN
309 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
310 USG systems which do not use DATA_SEG_BITS.
311 Refactor code. Remove boilerplate comments.
312
dc89925b 313 * m/ibms390.h:
dc89925b
DN
314 * m/m68k.h:
315 * s/bsd-common.h:
316 * s/cygwin.h:
317 * s/darwin.h:
318 * s/freebsd.h:
319 * s/gnu.h:
320 * s/msdos.h: Remove boilerplate comments.
321
96b72211
DN
322 * m/iris4d.h: Remove boilerplate comments and code for systems that
323 do not use this file.
324 (IRIS_4D): Remove, unused.
325
c3b5f109
DN
326 * m/mips.h: Remove boilerplate comments and code for systems that
327 do not use this file.
96b72211 328 (SIGN_EXTEND_CHAR):
c3b5f109
DN
329 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
330 * unexmips.c: Remove file, unused.
331
6b0273cd
DN
332 * editfns.c (Fuser_full_name): Replace the only use of
333 USER_FULL_NAME with its value.
334 * config.in: Regenerate.
335
ba60bd44 3362008-07-16 David Reitter <david.reitter@gmail.com>
6fbcfb6f 337
ba60bd44
JB
338 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
339 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
6fbcfb6f 340
44ac2d3e
GM
3412008-07-16 Glenn Morris <rgm@gnu.org>
342
343 * emacs.c (system-type): Doc fix.
344
0a170079
SM
3452008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
346
347 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
348 If the cache doesn't work, let's fix it, rather than work around it.
349
ba60bd44 3502008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
a68fda4a
AR
351
352 * Makefile.in: Correct additions for nsfont.o in last commit.
353 * nsfont.m: New file (forgot last commit).
354
ba60bd44 3552008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
edfda783
AR
356
357 Changes and additions for NeXTstep windowing system (Cocoa and
358 GNUstep) support.
359
ba60bd44 360 * Makefile.in:
edfda783
AR
361 * config.in: Support defines and build commands for NS port.
362 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
363 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
364 * callproc.c (set_initial_environment): Initialize
365 Vprocess_environment under CANNOT_DUMP (fixes crash when
366 batch-compiling for bootstrap, due to Chris Hall).
367 * dispextern.h: Include nsgui.h and add needed typedefs under NS
368 windowing.
369 (struct face): Add synth_ital field.
370 * dispnew.c: Include nsterm.h when compiling under NS windowing.
371 (init_display): Initialize Vinitial_window_system to "ns" when so
372 compiled.
373 * emacs.c: Include GSConfig.h when compiling under GNUstep.
374 (display_arg): Use under NS.
375 (main): Under NS, allocate autorelease pool and handle command line
376 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
377 (standard_args): Add NS-specific args.
378 (shut_down_emacs): Shut down NS terminal if compiled under NS.
379 * font.c (DEFAULT_ENCODING): New variable.
380 (font_find_for_lface): Use it.
381 (syms_of_font): Load syms_of_nsfont under NS.
382 * font.h: Declare nsfont_driver when compiled under NS.
383 * fontset.c: When compiling under NS, include nsterm.h.
384 (fontset_from_font): Autoconstruct fontset under NS.
385 * frame.c (various): Under NS, include nsterm.h, add Qns window system
386 symbol, document and use it.
387 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
388 patch to fix crash due to different init order, due to Chris Hall and
389 Yamamoto Mitsuharu.
390 (do_switch_frame): When for_deletion under Cocoa, add
391 Fraise_frame(Qnil).
392 (x_set_frame_parameters): Ensure font attribute changes are picked up.
393 (x_get_arg): Allow "yes" and "no" as boolean values.
394 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
395 Qright under Cocoa.
396 (focus-follows-mouse): Default to 0 under NS.
397 * frame.h (enum output_method): Add output_ns.
398 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
399 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
400 (FRAME_WINDOW_P): NS-specific definition.
401 * fringe.c (max_used_fringe_bitmap): Make public.
402 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
403 (getloadavg): Use NeXT code under descendant OS's.
404 * image.c (includes and header section, x_create_bitmap_from_data)
405 (x_create_bitmap_from_file, free_bitmap_record, image_background)
406 (image_background_transparent, x_clear_image_1)
407 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
408 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
409 (x_to_xcolors, x_from_xcolors, x_disable_image)
410 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
411 other GUIs, including XPM support using code originally written for
412 Carbon GUI.
0a170079 413 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
edfda783
AR
414 using NS API.
415 (image_ascent): Use font metrics macros instead of direct struct field
416 access.
417 * keyboard.c (includes): Add nsterm.h when compiling under NS.
418 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
419 Also, handle NS as GTK for menu bar purposes.
420 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
421 toolkit where they differ.
422 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
423 use cachelist, still needed under NS.
6ddc6cca 424 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
edfda783
AR
425 (struct widget_value): Define it here for menu.c.
426 * keymap.c (includes): Include modifier internals.
427 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
428 NS.
429 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
430 support for preferring sequences using certain modifiers, specified by
431 the FIRSTONLY argument.
432 * lisp.h (hash_remove): Rename to avoid name clash when compiling
433 under NS GNUstep implementation.
434 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
435 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
436 * menu.c: Include nsterm.h under NS.
437 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
438 (free_menubar_widget_tree_value, update_submenu_strings)
439 (find_and_call_menu_selection): Treat NS as X and NT.
440 (find_and_return_menu_selection): New function, used for popup menus.
ba60bd44
JB
441 * nsgui.h:
442 * nsterm.h:
443 * nsfns.m:
444 * nsimage.m:
445 * nsmenu.m:
446 * nsselect.m:
edfda783
AR
447 * nsterm.m: New files.
448 * process.c (wait_reading_process_output): Under NS, call ns_select()
449 instead of plain select().
450 * syntax.c (char_quoted): Under NS, avoid a crash when called near
451 beginning of buffer.
452 * sysselect.h (init_process): Rename when compiling under Cocoa to
453 avoid name conflict.
454 * termhooks.h (display_info): Add ns_display_info to union.
455 * terminal.c (Fterminal_live_p): Add ns to terminal types.
456 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
457 COCOA environment.
458 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
459 unexec() signature. (Note, this will dump, but the resulting file
460 crashes; unexosx is used instead; keeping around for reference and
461 possible aid in getting dump working under GNUstep.)
462 * w32gui.h (button_type, widget_value): Remove definitions (now in
463 keyboard.h).
464 * window.c: Include nsterm.h when compiling under NS.
465 * xdisp.c (includes): Include nsterm.h when compiling under NS.
466 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
467 other GUI windowing systems.
468 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
469 GTK.
470 (x_consider_frame_title): Under NS, set icon type and frame
471 modified-state indicator; use ns_set_name_as_filename() when using
472 formatted title.
473 (update_window_cursor): Make public when compiling under NS.
474 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
475 (hourglass_atimer, Vhourglass_delay
476 * xfaces.c (header section, init_frame_faces, clear_font_table)
477 (defined_color, unload_color, x_face_list_fonts)
6ddc6cca
SM
478 (prepare_face_for_display): Add NS support parallel to other GUIs.
479 Emulate GCs like other non-X GUIs.
edfda783
AR
480 (split_font_name): Don't lowercase font name under NS.
481 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
482 under NS.
483 * s/darwin.h: Add support for compilation under NS.
484
1391cd54
JR
4852008-07-15 Jason Rumney <jasonr@gnu.org>
486
6ddc6cca
SM
487 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
488 (w32_show_hourglass): Rename from show_hourglass.
489 (w32_hide_hourglass): Rename from hide_hourglass.
490 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
491 (Vhourglass_delay): Declare extern.
492 (hourglass_started): Remove.
1391cd54 493
6ddc6cca
SM
494 * xdisp.c (Vhourglass_delay): Remove static.
495 (hourglass_started, start_hourglass, cancel_hourglass):
496 Don't include these versions on WINDOWSNT.
1391cd54 497
1885ab29
AR
4982008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
499
6ddc6cca 500 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
20d6dc02 501 variables (formerly in xfns.c).
1885ab29
AR
502 (show_hourglass, hide_hourglass): New prototypes (same).
503 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
504 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
20d6dc02 505 in xfns.c).
1885ab29
AR
506 (syms_of_xdisp): Declare/initialize display-hourglass,
507 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
508 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
20d6dc02 509 formerly in xfns.c.
1885ab29
AR
510 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
511 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
512 (start_hourglass, cancel_hourglass): Remove.
513 (show_hourglass, hide_hourglass): Remove prototypes and static
514 modifiers.
515 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
516 hourglass_atimer, hourglass_shown_p declaration/initialization.
517 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
518 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
519 (start_hourglass, cancel_hourglass): Remove.
520 (show_hourglass, hide_hourglass): Remove prototypes and static
521 modifiers.
522 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
523 hourglass_atimer, hourglass_shown_p declaration/initialization.
524 * w32fns.c (display_hourglass_p, Vhourglass_delay)
525 (DEFAULT_HOURGLASS_DELAY): Remove.
526 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
527 hourglass_shown_p declaration/initialization.
528
3faa984f
JR
5292008-07-14 Jason Rumney <jasonr@gnu.org>
530
6ddc6cca
SM
531 * w32fns.c (w32_get_arg): Remove wrapper function.
532 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
533 directly.
534 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3faa984f 535
2f73901f
KH
5362008-07-14 Kenichi Handa <handa@m17n.org>
537
538 * xfont.c (xfont_open): Add workaround for X's bug.
539
11da284d
KH
5402008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
541
542 * fontset.c: Include <stdio.h> unconditionally.
543
944cc4a8
MA
5442008-07-13 Michael Albinus <michael.albinus@gmx.de>
545
546 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
547 for filtering.
548
bdee2ef3
DN
5492008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
550
551 * s/vms.h: Use __GNUC__ instead of _GNUC_.
552
553 * m/macppc.h:
554 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
555
556 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
944cc4a8
MA
557 (SPECIAL_EMACS_INT):
558 * m/ia64.h (SPECIAL_EMACS_INT):
bdee2ef3
DN
559 * m/amdx86-64.h (SPECIAL_EMACS_INT):
560 * s/gnu.h (NLIST_STRUCT):
561 * aix4-2.h (X11R5_INHIBIT_I18N):
562 * s/gnu-linux.h (LINUX):
563 * s/msdos.h (HAVE_FACES):
564 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
565
944cc4a8 566 * systty.h:
bdee2ef3
DN
567 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
568 anymore.
569
bba104c1
DN
5702008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
571
572 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
573 always defined as int.
574
575 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
576 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
577 * s/gnu-linux.h (HAVE_WAIT_HEADER):
578 * s/freebsd.h (HAVE_WAIT_HEADER):
579 * s/bsd-common.h (HAVE_UNION_WAIT):
580 * s/aix4-2.h (HAVE_WAIT_HEADER):
581 * m/mips.h (HAVE_UNION_WAIT):
582 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
583 (COFF, static): Do not define, they are undefined later in the file.
584
585 * process.c (update_status): Don't use a union.
586 (status_convert):
587 (sigchld_handler): Use int instead of WAITTYPE.
588
e433031a
CY
5892008-07-12 Chong Yidong <cyd@stupidchicken.com>
590
591 * indent.c (Fvertical_motion): Restore hscroll before moving to
592 goal column.
593
3bfb4d48
DN
5942008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
595
596 * lisp.h: Remove left over code.
597
e7c9048f
AS
5982008-07-11 Andreas Schwab <schwab@suse.de>
599
7e770c85
AS
600 * lisp.h: Fix logic in last change.
601
e7c9048f
AS
602 * menu.h: New file.
603 * menu.c: Include it.
604 * xmenu.c: Likewise.
605 * Makefile.in: Update dependencies.
606
38aaf336
KH
6072008-07-11 Kenichi Handa <handa@m17n.org>
608
609 * fontset.c (fontset_from_font): Cancel the previous change.
610
6e5cb96f
DN
6112008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
612
613 * lisp.h:
614 * w32heap.c:
615 * emacs.c:
616 * alloc.c: Replace all references of NO_UNION_TYPE with
617 USE_LISP_UNION_TYPE.
618
619 * m/xtensa.h (NO_UNION_TYPE):
620 * m/vax.h (NO_UNION_TYPE):
621 * m/template.h (NO_UNION_TYPE):
622 * m/sparc.h (NO_UNION_TYPE):
623 * m/mips.h (NO_UNION_TYPE):
624 * m/macppc.h (NO_UNION_TYPE):
625 * m/m68k.h (NO_UNION_TYPE):
626 * m/iris4d.h (NO_UNION_TYPE):
627 * m/intel386.h (NO_UNION_TYPE):
628 * m/ibms390x.h (NO_UNION_TYPE):
629 * m/ibms390.h (NO_UNION_TYPE):
630 * m/ibmrs6000.h (NO_UNION_TYPE):
631 * m/ia64.h (NO_UNION_TYPE):
632 * m/hp800.h (NO_UNION_TYPE):
633 * m/arm.h (NO_UNION_TYPE):
634 * m/amdx86-64.h (NO_UNION_TYPE):
635 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
636 defining it the same.
637
e0f47a68
CY
6382008-07-10 Chong Yidong <cyd@stupidchicken.com>
639
ba60bd44 640 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
e0f47a68 641
c5e7567d
DN
6422008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
643
644 * src/fileio.c:
645 * src/sysdep.c
646 * src/systty.h:
647 * src/m/ibmrs6000.h:
648 * src/m/iris4d.h:
649 * src/s/aix4-2.h:
650 * src/s/freebsd.h:
651 * src/s/gnu-linux.h:
652 * src/s/hpux10-20.h:
653 * src/s/hpux11.h:
654 * src/s/netbsd.h:
655 * src/s/sol2-3.h:
656 * src/s/sol2-4.h:
657 * src/s/sol2.h:
658 * src/s/usg5-4.h:
659 * src/s/vms.h: Remove references to unused variables.
660
bb658864
AS
6612008-07-10 Andreas Schwab <schwab@suse.de>
662
663 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
664 pattern before matching the generic family.
665
3d3db608
DN
6662008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
667
a0ce9ab7 668 * unexec.c:
3460e0b9
DN
669 * s/vms.h:
670 * s/usg5-4-2.h:
671 * s/sol2-5.h:
672 * s/freebsd.h:
673 * s/darwin.h: Remove dead code.
674
ad76189a
DN
675 * m/template.h:
676 * m/sparc.h:
677 * m/mips.h:
678 * m/m68k.h:
679 * m/iris4d.h:
680 * m/intel386.h:
681 * m/ibms390x.h:
682 * m/ibms390.h:
683 * m/ia64.h:
684 * m/hp800.h:
685 * m/arm.h:
686 * m/amdx86-64.h: Remove dead code and references to unused
687 and compiler defined symbols.
688
d2b5bbda
DN
689 * unexmips.c:
690 * unexelf.c: Remove references to desupported systems.
691
40dde9d1
DN
692 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
693
21133394
DN
694 * m/powermac.h: Remove boilerplate comments.
695 (NO_REMAP): Remove unused definition.
696
3d3db608
DN
697 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
698 define them.
699
c8e0e16d
KH
7002008-07-10 Kenichi Handa <handa@m17n.org>
701
702 * xfont.c (xfont_open): Log the reason of failure.
703
3cba9369
SM
7042008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
705
706 * fontset.c (fontset_get_font_group):
707 * font.c (font_check_otf): Specify argument types.
708
73353585
KH
7092008-07-09 Kenichi Handa <handa@m17n.org>
710
0e17387a
KH
711 * coding.c (detect_coding_utf_8): Set detect_info->found only when
712 non-ASCII char is found.
713
73353585
KH
714 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
715 (reorder_font_vector): Change the arg preferred_family to font.
716 Prefer the spec matching with font.
717 (fontset_get_font_group): New function.
718 (fontset_find_font): Change the format of an element of a realized
719 fontset. Use fontset_get_font_group.
720 (fontset_font): Try the current fontset, the default fontset, the
721 fallbacks of the current fonset, and the fallbacks of the default
722 fontset in this order.
723 (face_for_char): Delete the shortcut to use the current font.
724 (fontset_from_font): Don't set fonts for Latin in the fontset.
725
726 * font.h (font_make_object, font_match_p): Adjust prototypes.
727
728 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
729
730 * font.c (font_make_object): New arg entity and pixelsize.
731 (font_check_otf_features, font_check_otf): New functions.
732 (font_match_p): Check :lang, :script, and :otf properties.
733
734 * xfont.c (xfont_open): Adjust it for the change of
735 font_make_object.
e5d05978 736 (xfont_text_extents): Fix initial setting of metrics.
73353585
KH
737
738 * ftfont.c (struct ftfont_info): New member index, delete member
739 fc_charset_idx. Make the member order compatible with struct
740 xftfont_info.
741 (fc_charset_table): Change charset names to registry names.
742 (ftfont_pattern_entity): Delete the args registry and
743 fc_charset_idx. Change the value of :font-entity property
744 to (FONTNAME . INDEX). Always set :registry property to
745 `iso10646-1'.
746 (struct ftfont_cache_data): New struct.
747 (ftfont_lookup_cache): New arg for_face.
748 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
749 (ftfont_driver): Set the member otf_capability.
750 (ftfont_get_charset): Adjust it for the change of
751 fc_charset_table.
752 (OTF_TAG_SYM): New macro.
753 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
754 for the change of fc_charset_table.
755 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
756 ftfont_pattern_entity. Add FC_INDEX to objset.
757 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
758 and ftfont_pattern_entity.
759 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
760 font_make_object, struct ftfont_info.
761 (ftfont_has_char): Use ftfont_get_fc_charset.
762 (ftfont_otf_features, ftfont_otf_capability): New functions.
763 (ftfont_shape): Use ftfont_get_otf.
e5d05978 764 (ftfont_text_extents): Fix initial setting of metrics.
73353585
KH
765
766 * xftfont.c (struct xftfont_info): New member ft_size. Make the
767 member order compatible with struct ftfont_info.
768 (xftfont_open): Add FC_CHARSET to the pattern. Set
769 xftfont_info->ft_size. Don't unlock the face. Check BDF
770 properties if appropriate.
771 (xftfont_close): Unlock the face.
772 (xftfont_anchor_point, xftfont_shape): Deleted.
773 (syms_of_xftfont): Don't set members anchor_point and shape of
774 xftfont_driver.
775
776 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
777 font_make_object.
778
779 * w32font.c (w32font_open): Adjust it for the change of
780 font_make_object.
781 (w32font_open_internal): Don't set properties of font_object here.
782
7f000038
CY
7832008-07-08 Chong Yidong <cyd@stupidchicken.com>
784
830aab93
CY
785 * macfns.c (x_create_tip_frame):
786 * w32fns.c (x_create_tip_frame):
787 * xfns.c (x_create_tip_frame): Pass parameter argument to
788 face-set-after-frame-default.
789
7f000038
CY
790 * xfaces.c (Finternal_merge_in_global_face): Save merged
791 attributes for the default face back into the face vector.
792
85cf8992
AS
7932008-07-08 Andreas Schwab <schwab@suse.de>
794
795 * fontset.h: Declare fontset_from_font. Don't declare
796 new_fontset_from_font and fontset_from_font_name.
797 * xterm.c: Include "fontset.h".
798 * Makefile.in (xterm.o): Update dependencies.
799
4a00783e
GM
8002008-07-08 Glenn Morris <rgm@gnu.org>
801
802 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
803 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
804
4d2d5f5f
CY
8052008-07-07 Chong Yidong <cyd@stupidchicken.com>
806
807 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
808 (x_set_frame_parameters): Don't bind it.
809
dfe66c5b
JB
8102008-07-07 Juanma Barranquero <lekktu@gmail.com>
811
812 * w32fns.c (map_w32_filename): Declare extern.
813
ec7e221c
JR
8142008-07-07 Jason Rumney <jasonr@gnu.org>
815
dfe66c5b 816 * w32term.c (WS_EX_LAYERED): Define if not already.
ec7e221c 817
fe5d61c4
CY
8182008-07-06 Chong Yidong <cyd@stupidchicken.com>
819
820 * xfaces.c (set_font_frame_param): Don't try to set the font
821 parameter if it is still unspecified in the lface.
822
9204cb8b
CY
8232008-07-05 Chong Yidong <cyd@stupidchicken.com>
824
0a143d3a
CY
825 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
826 face if it didn't already exist.
827
9204cb8b
CY
828 * xdisp.c (try_window_id): Give up if word-wrapping is on.
829
6c95e70d
AS
8302008-07-05 Andreas Schwab <schwab@suse.de>
831
dfe66c5b 832 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
6c95e70d 833
59230395
CY
8342008-07-05 Chong Yidong <cyd@stupidchicken.com>
835
836 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
837 word-wrapping.
838 (IT_DISPLAYING_WHITESPACE): New macro.
839 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
840 when word-wrapping. Simplify word-wrapping logic. Use correct
841 pixel positions when saving copies of the iterator.
842 (display_line): Use proper wrap point if the last character on a
843 line was preceded by whitespace.
844
d7c664f3
SM
8452008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
846
847 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
848
9ffc8a3a
KH
8492008-07-04 Kenichi Handa <handa@m17n.org>
850
851 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
852
853 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
854
946598bf
JR
8552008-07-02 Jason Rumney <jasonr@gnu.org>
856
d7c664f3
SM
857 * xfns.c (syms_of_xfns): Only define x-select-font when both
858 HAVE_FREETYPE and USE_GTK
946598bf 859
d7c664f3
SM
860 * xdisp.c (next_element_from_display_vector): Move assignment out
861 of if statement.
946598bf 862
6cf29fe8
JR
8632008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
864
d7c664f3 865 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
6cf29fe8 866
d7c664f3
SM
867 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
868 (syms_of_fileio): Initialize and export them.
869 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
6cf29fe8 870
d7c664f3
SM
871 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
872 (Fsystem_move_file_to_trash): New function.
873 (syms_of_w32fns): Export it to lisp.
6cf29fe8 874
79ca7db1
JR
8752008-07-01 Jason Rumney <jasonr@gnu.org>
876
d7c664f3
SM
877 * w32font.c (w32font_text_extents): Don't count overhang as part
878 of width.
79ca7db1 879
c2786a3d 8802008-06-30 Miles Bader <miles@gnu.org>
c4f4682b
MB
881
882 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
883 Add `avoid_cursor_p' field.
884
885 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
886 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
887 (append_glyph, append_composite_glyph, produce_image_glyph)
c2786a3d
JB
888 (append_stretch_glyph): Initialize avoid_cursor_p.
889 (get_it_property): Rename from `get_line_height_property'.
c4f4682b
MB
890 (x_produce_glyphs): Use get_it_property.
891 (handle_line_prefix, push_display_prop): New functions.
892 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
c2786a3d
JB
893 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
894 New variables.
c4f4682b
MB
895 (syms_of_xdisp): Initialize them.
896
7d7ad10e
KH
8972008-06-30 Kenichi Handa <handa@m17n.org>
898
899 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
900 XftDefaultSubstitute (they are called in XftFontMatch).
901 (xftfont_open): Fix args to ftfont_font_format.
902
903 * ftfont.c (fc_charset_table): New member lang.
904 (ftfont_resolve_generic_family): New arg pattern.
905 (ftfont_spec_pattern): Check fc_cahrset_table[]->lang.
906 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
907 (ftfont_open): Fix args to ftfont_font_format.
908 (ftfont_font_format): New arg filename.
909
44b754c7
CY
9102008-06-30 Chong Yidong <cyd@stupidchicken.com>
911
912 * xfaces.c (Finternal_merge_in_global_face): If default face was
913 modified, realize it again. Update the font face attribute.
914
a4521b03
JR
9152008-06-29 Jason Rumney <jasonr@gnu.org>
916
c2786a3d 917 * w32term.c (x_set_frame_alpha): Fix logic.
a4521b03 918
fe44f009
KH
9192008-06-29 Kenichi Handa <handa@m17n.org>
920
921 * fontset.c (Finternal_char_font): Return font-object instead of
922 font-name.
923
c2786a3d 924 * composite.c (get_composition_id): Fix the width calculation for TAB.
fe44f009 925
baed8445
SM
9262008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
927
928 * indent.c (Fvertical_motion): Properly handle float column arg.
929
8b61a891
JR
9302008-06-28 Jason Rumney <jasonr@gnu.org>
931
baed8445
SM
932 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
933 (pfnSetLayeredWindowAttributes): New function pointer.
934 (w32_initialize): Initialize it when supported.
935 (x_set_frame_alpha): New function.
8b61a891 936
baed8445
SM
937 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
938 (w32_frame_parm_handlers): Set alpha handler.
8b61a891 939
baed8445 940 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
8b61a891 941
57016d37
JR
9422008-06-27 Jason Rumney <jasonr@gnu.org>
943
baed8445
SM
944 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
945 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
946 (w32_to_x_charset, x_to_w32_charset)
947 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
948 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
949 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
950 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
951 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
952 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
953 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
954 (Qw32_charset_unicode): Remove.
955 (syms_of_w32fns): Update for above changes.
956
957 * w32font.c (w32_to_x_charset, x_to_w32_charset)
958 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
959 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
960 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
961 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
962 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
963 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
964 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
965 (syms_of_w32font): Update for above changes.
57016d37 966
d6bf1bdb
DN
9672008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
968
969 * s/usg5-4.h: Fix previous change: keep the correct branch of a
970 removed #if.
9fa1c445 971 (USG_SHARED_LIBRARIES): Remove duplicate definition.
d6bf1bdb 972
43db14bb
JB
9732008-06-26 Juanma Barranquero <lekktu@gmail.com>
974 Eli Zaretskii <eliz@gnu.org>
975
976 * makefile.w32-in (LOCAL_FLAGS):
977 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
978
979 * sysdep.c (_spawnlp, _getpid):
980 Declare with explicit _cdecl instead of _CRTAPI1.
981
982 * editfns.c (Fget_internal_run_time):
983 Check for WINDOWSNT with #ifdef, not #if.
984
c35f9821
JR
9852008-06-26 Jason Rumney <jasonr@gnu.org>
986
43db14bb 987 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
c35f9821 988
57016d37 989 * w32term.c (x_draw_glyph_string_foreground)
43db14bb
JB
990 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
991 Use FONT_HANDLE macro.
992 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
c35f9821 993
57016d37 994 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
43db14bb 995 (uniscribe_encode_char): Use FONT_HANDLE macro.
c35f9821 996
43db14bb
JB
997 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
998 (w32font_text_extents): Use precast w32_font.
999 (w32font_close): Free cached metrics.
1000 (w32font_open_internal): Allocate space for name on stack.
c35f9821 1001
1f8ad719
CY
10022008-06-26 Chong Yidong <cyd@stupidchicken.com>
1003
1004 * xdisp.c (extend_face_to_end_of_line): Fix last change.
1005
97e71655
JR
10062008-06-26 Jason Rumney <jasonr@gnu.org>
1007
43db14bb
JB
1008 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
1009 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
97e71655 1010
c9fc02c7
JB
10112008-06-26 Juanma Barranquero <lekktu@gmail.com>
1012
1013 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
1014
1b5defe6
JR
10152008-06-26 Jason Rumney <jasonr@gnu.org>
1016
c9fc02c7 1017 * w32bdf.c, w32bdf.h: Remove obsolete files.
1b5defe6 1018
c9fc02c7 1019 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
1b5defe6 1020
c9fc02c7
JB
1021 * w32gui.h: Don't include w32bdf.h.
1022 (XCharStruct, enum w32_char_font_type, W32FontStruct):
1023 Remove obsolete font support.
1b5defe6 1024
c9fc02c7
JB
1025 * w32font.h (struct w32font_info): Remove compat_w32_font.
1026 Add hfont member.
1027 (FONT_COMPAT): Remove obsolete macro.
1b5defe6 1028
ba60bd44 1029 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
c9fc02c7 1030 (w32font_encode_char, w32font_text_extents): Use new hfont member.
ba60bd44 1031 (w32font_open_internal): Remove compat code. Set new hfont member.
c9fc02c7 1032 (Fx_select_font): Use new hfont member.
1b5defe6 1033
57016d37 1034 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
c9fc02c7 1035 (uniscribe_encode_char): Use new hfont member.
1b5defe6 1036
57016d37 1037 * w32term.c (x_draw_glyph_string_foreground)
c9fc02c7
JB
1038 (x_draw_composite_glyph_string_foreground): Use new hfont member.
1039 (x_draw_glyph_string): Use metrics in w32font_info.
1b5defe6 1040
1fc66bca
KH
10412008-06-26 Kenichi Handa <handa@m17n.org>
1042
1043 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
1044
f2a77c3a
DN
10452008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
1046
1047 * unexnext.c:
1048 * m/ews4800.h:
1049 * m/hp9000s300.h:
1050 * m/ibm370aix.h:
1051 * m/mips-siemens.h:
1052 * m/ncr386.h:
1053 * m/next.h:
1054 * m/pmax.h:
1055 * m/powerpcle.h:
1056 * m/tandem-s2.h:
1057 * s/386bsd.h:
1058 * s/bsd386.h:
1059 * s/bsd4-1.h:
1060 * s/bsd4-2.h:
1061 * s/bsdos2-1.h:
1062 * s/bsdos2.h:
1063 * s/bsdos3.h:
1064 * s/bsdos4.h:
1065 * s/nextstep.h:
1066 * s/ultrix4-3.h:
1067 * s/usg5-0.h:
1068 * s/usg5-2-2.h:
1069 * s/usg5-2.h:
1070 * s/usg5-4-3.h:
1071 * s/ux4800.h:
1072 * s/uxpds.h:
1073 * s/uxpv.h: Remove support for obsolete systems.
1074 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
1075 Remove, insert contents in s/hpux-10.20.h
1076 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
1077 Remove, insert contents in s/aix-4.2.h
1078 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
1079 * s/bsd4-3.h: Rename to ..
1080 * s/bsd-common.h: ... this.
1081 * src/data.c:
1082 * src/doc.c:
1083 * src/ecrt0.c:
1084 * src/emacs.c:
1085 * src/fileio.c:
1086 * src/floatfns.c:
1087 * src/keyboard.c:
1088 * src/mem-limits.h:
1089 * src/print.c:
1090 * src/process.c:
1091 * src/sysdep.c:
1092 * src/syssignal.h:
1093 * src/systty.h:
1094 * src/syswait.h:
1095 * src/term.c:
1096 * src/unexec.c:
1097 * src/unexelf.c:
1098 * src/unexhp9k800.c:
1099 * src/m/hp800.h:
1100 * src/m/ibmrs6000.h:
1101 * src/m/mips.h:
1102 * src/m/vax.h:
1103 * src/s/darwin.h:
1104 * src/s/freebsd.h:
1105 * src/s/gnu.h:
1106 * src/s/ms-w32.h:
1107 * src/s/msdos.h:
1108 * src/s/netbsd.h:
1109 * src/s/template.h: Remove references to obsolete variables.
1110
1111 * Makefile.in: Add dependencies for all unexec files.
1112 (admindir): Remove unused variable.
1113 (UNEXEC_SRC): Remove references.
1114
bd02793a
CY
11152008-06-25 Chong Yidong <cyd@stupidchicken.com>
1116
1117 * xfns.c (x_default_font_parameter): If Xft is available, first
1118 try Monospace-12 for the default font.
1119
ccedd259
JR
11202008-06-25 Jason Rumney <jasonr@gnu.org>
1121
c9fc02c7 1122 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
ccedd259 1123
fbe062b7
SM
11242008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
1125
603a0937
SM
1126 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
1127
fbe062b7
SM
1128 * buffer.c (syms_of_buffer): Remove default-word-wrap.
1129
69785ad0
JB
11302008-06-25 Juanma Barranquero <lekktu@gmail.com>
1131
1132 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
1133 <scroll-conservatively>: Fix typo in docstring.
1134
1135 * xselect.c (Fx_send_client_event): Doc fix.
1136
249e6f76
KH
11372008-06-25 Kenichi Handa <handa@m17n.org>
1138
34e97272
KH
1139 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
1140
1141 * font.c (font_parse_fcname): Remove unused variables.
69785ad0
JB
1142 (font_sort_entites): Delete the arg SPEC. Caller changed.
1143 Fix for the case of ! best_only.
34e97272
KH
1144 (font_delete_unmatched): Check DPI and AVGWIDTH too.
1145
249e6f76
KH
1146 * lisp.h (Fstring_to_unibyte): EXFUN it.
1147
69785ad0 1148 * character.h (str_to_unibyte): Extern it.
249e6f76
KH
1149
1150 * character.c (str_to_unibyte): New function.
1151
1152 * fns.c (Fstring_to_unibyte): New function.
1153 (syms_of_fns): Defsubr it.
1154
65c108e4
KH
11552008-06-24 Kenichi Handa <handa@m17n.org>
1156
1157 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
1158 DPI too.
1159 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
1160
4c3f18fe
AS
11612008-06-24 Andreas Schwab <schwab@suse.de>
1162
69785ad0 1163 * Makefile.in (${lispsource}loaddefs.el): Rename from
4c3f18fe 1164 ../lisp/loaddefs.el.
fd13748d
AS
1165 (bootstrap-clean): Do what distclean does but don't remove
1166 Makefile.
1167 (distclean): Depend on bootstrap-clean and remove Makefile.
4c3f18fe 1168
faa6190f
CY
11692008-06-24 Chong Yidong <cyd@stupidchicken.com>
1170
1171 * buffer.h (struct buffer): New member word_wrap.
1172
1173 * buffer.c (syms_of_buffer): New variables default-word-wrap and
1174 word-wrap.
1175 (init_buffer_once): Initialize them.
1176
1177 * dispextern.h (struct it): Replace bool truncate_lines_p with a
1178 line_wrap enum possessing three possible values.
1179
1180 * termopts.h: Replace truncate_partial_width_windows with
1181 Vtruncate_partial_width_windows.
1182
1183 * dispnew.c (direct_output_for_insert): Avoid direct output when
1184 inserting a space with word wrap on.
1185
1186 * indent.c (compute_motion): Obey integer values of
1187 truncate-partial-width-windows.
1188
1189 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
1190 replacing truncate_partial_width_windows.
1191 (init_iterator): If Vtruncate_partial_width_windows is an integer,
1192 truncate only if the window width is below that integer.
ba60bd44 1193 (start_display, resize_mini_window, produce_stretch_glyph)
faa6190f
CY
1194 (display_string, move_it_in_display_line_to): Use line_wrap.
1195 (back_to_previous_visible_line_start, reseat_1): Reset
1196 string_from_display_prop_p.
1197 (display_line): Extend default face to end of line when wrapping.
1198
11992008-06-24 Kim F. Storm <storm@cua.dk>
1200
1201 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
1202 to wrap continued lines at word boundaries.
1203
c3bb5465
JR
12042008-06-24 Jason Rumney <jasonr@gnu.org>
1205
69785ad0
JB
1206 * font.c (Ffont_face_attributes): Multiply pixel size before point
1207 conversion to avoid multiplying rounding error.
c3bb5465 1208
0b07ad98
JR
12092008-06-23 Jason Rumney <jasonr@gnu.org>
1210
f245f2c6
JB
1211 * w32term.c (x_draw_glyph_string_background)
1212 (x_draw_glyph_string): Remove old bdf font code.
0b07ad98 1213
69785ad0 1214 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
0b07ad98 1215
22459668
KH
12162008-06-22 Kenichi Handa <handa@m17n.org>
1217
1218 * font.c (font_find_for_lface): Try the adstyle specified in
1219 the property of LFACE_FONT of LFACE (if any).
1220
d925a426 12212008-06-21 Seiji Zenitani <zenitani@mac.com>
f245f2c6 1222 Ryo Yoshitake <ryo@shiftmode.net>
d925a426
SM
1223
1224 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
1225
b4945b95
SM
12262008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
1227
1228 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
1229 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
1230 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
1231 (witness-emacs): Remove.
1232 (lisp, shortlisp): Move loaddefs.el earlier.
1233 (mostlyclean): Forget about witness-emacs.
1234
64124279
GM
12352008-06-22 Glenn Morris <rgm@gnu.org>
1236
1237 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
36565815 1238 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
64124279 1239
768efd84
SM
12402008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
1241
1242 * Makefile.in (PRECOMP): Remove.
1243 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
1244 (witness-emacs): Run `compile-first'.
1245 (.el.elc): Use the new compile-onefile target.
1246
808dd567
KH
12472008-06-21 Kenichi Handa <handa@m17n.org>
1248
1249 * xftfont.c (xftfont_open): Handle QCembolden only when
1250 FC_EMBOLDEN is defined.
1251
0de59eae
AS
12522008-06-21 Andreas Schwab <schwab@suse.de>
1253
1254 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
58e8833b 1255 (.el.elc): Likewise.
0de59eae 1256
fb38e9c9
MB
12572008-06-21 Miles Bader <miles@gnu.org>
1258
1259 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
1260 build dir, not the lisp source dir.
1261
fc46d219
SM
12622008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
1263
1264 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
1265 (bootstrapclean): Remove.
1266 (.el.elc): New rule.
1267 (PRECOMP): New var.
1268 (../lisp/subdirs.el): Remove.
1269 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
1270 (witness-emacs): New target.
1271 (mostlyclean): Remove witness-emacs as well.
1272 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
1273 Add witness-emacs dependency.
1274
eaf1f6e7
CY
12752008-06-20 Chong Yidong <cyd@stupidchicken.com>
1276
1277 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
1278 defined by the font.
1279
49f6eb95
SM
12802008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
1281
1282 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
1283 (bootstrap-clean): New target that keeps TAGS around.
1284 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
1285 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
1286
4c100a01
JR
12872008-06-20 Jason Rumney <jasonr@gnu.org>
1288
49f6eb95
SM
1289 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
1290 Remove obsolete font code.
db61a7f8 1291
49f6eb95
SM
1292 * w32font.c (font_matches_spec): Use csb bitfield from font signature
1293 to determine language support.
4c100a01 1294
759d3f32
SM
12952008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
1296
1297 * sysdep.c (cfsetspeed): New fun extracted from the code.
1298 (cfmakeraw): Move before first use.
1299
25241b4d
SM
13002008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
1301
1302 * sysdep.c (cfmakeraw): Provide fallback implementation.
1303 (serial_configure): Provide fallback implementation of cfsetspeed.
1304
d7afccca
KH
13052008-06-20 Kenichi Handa <handa@m17n.org>
1306
dc2226d0
KH
1307 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
1308 the pattern.
1309
9b9cd864
KH
1310 * fontset.c (fontset_from_font): Copy font_spec before changing
1311 the elements.
1312
d7afccca
KH
1313 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
1314
770e2e6e
SM
13152008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
1316
1317 * w32fns.c, xfnc.c (x_default_font_parameter): Only set `font-param'
1318 for explicit `font' parameters.
1319
1320 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
1321
22e64f7c
KH
13222008-06-19 Kenichi Handa <handa@m17n.org>
1323
1324 * frame.c: Include <ctype.h>.
1325 (x_set_font_backend): Allow spacing characters in the X resource
1326 for FontBackend.
1327
27129af9
SM
13282008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
1329
1330 * w32fns.c, xfns.c (Qfont_param): New var.
1331 (syms_of_w32fns): Initialize it.
22e64f7c
KH
1332 (x_default_font_parameter): Record explicit `font' into
1333 `font-parameter'.
27129af9 1334
d26424c5
KH
13352008-06-18 Kenichi Handa <handa@m17n.org>
1336
1337 * font.c (font_parse_xlfd): Fix previous change.
1338 (font_parse_fcname): Don't use :fc-unknown-spec.
1339 (FRAME_X_DISPLAY_INFO): Besure to have at least 1 pixel height.
1340 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
1341 (font_add_log): Prepend the driver name to the resulting fonts.
1342
1343 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
1344 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
1345 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
1346
1347 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
1348 (QCembolden): New variables.
1349 (syms_of_xftfont): DEFSYM them.
1350 (xftfont_open): Call XftFontMatch. Don't trust the result of
1351 XftTextExtents8 if the pixel_size is less than 5.
1352
51cf11be
AS
13532008-06-18 Andreas Schwab <schwab@suse.de>
1354
f245f2c6 1355 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
51cf11be
AS
1356 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
1357
07d9ba9b
JR
13582008-06-18 Jason Rumney <jasonr@gnu.org>
1359
27129af9 1360 * w32font.c (w32font_list, w32font_match): Add logging.
07d9ba9b 1361
27129af9 1362 * w32uniscribe (uniscribe_list, uniscribe_match): Add logging.
07d9ba9b 1363
0c36bc4e
CY
13642008-06-17 Chong Yidong <cyd@stupidchicken.com>
1365
1366 * font.c (font_parse_fcname): Store divider characters for
1578da31
CY
1367 unknown-spec list. For known key symbols, intern using correct
1368 symbol name.
0c36bc4e 1369
70d6ecc6
KH
13702008-06-17 Kenichi Handa <handa@m17n.org>
1371
1372 * xfaces.c (realize_default_face): If the frame is not on window
1373 system, set the fontset of face to nil.
1374
821bc4db
KH
13752008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
1376
f245f2c6 1377 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
821bc4db 1378
3554e566
JB
13792008-06-16 Juanma Barranquero <lekktu@gmail.com>
1380
1381 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
1382 (build_font_name_from_vector): Delete externs.
1383
1384 * xfaces.c (struct font_name): Don't declare.
1385
93eed26b
SM
13862008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
1387
1388 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
1389
d756bcd0
CY
13902008-06-16 Chong Yidong <cyd@stupidchicken.com>
1391
1392 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
1393
7a18a178
JB
13942008-06-16 Juanma Barranquero <lekktu@gmail.com>
1395
1396 * font.c (Ffont_spec): Fix usage in docstring.
48105a6a 1397 (Ffont_face_attributes): Doc fix.
7a18a178 1398
6f568955
AS
13992008-06-16 Andreas Schwab <schwab@suse.de>
1400
1401 * font.c (Ffont_face_attributes): Fix definition.
1402
3ef8c1b4
JR
14032008-06-16 Jason Rumney <jasonr@gnu.org>
1404
93eed26b 1405 * font.h (font_style_symbolic_from_value): Remove.
3ef8c1b4 1406
93eed26b
SM
1407 * font.c (font_style_symbolic_from_value): Remove.
1408 (font_style_symbolic): Revert to pre 2008-06-13 version.
3ef8c1b4 1409
93eed26b
SM
1410 * w32font.c (w32_to_fc_weight): New function.
1411 (w32font_full_name, logfont_to_fcname): Use it.
3ef8c1b4 1412
5e634ec9
KH
14132008-06-16 Kenichi Handa <handa@m17n.org>
1414
1415 * font.c (font_check_object): Delete it.
1416 (font_clear_cache): Check if a font-object is alive.
1417 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
1418 font-object to nil.
1419 (font_close_object): Don't check FONT_CLOSE_OBJECT.
1420 (font_at): Don't call font_check_object.
2babb359 1421 (Ffont_get): Return a symbol for :weight, :slant, and :width.
5e634ec9 1422
6409a955
KY
14232008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
1424
1425 * puresize.h (BASE_PURESIZE): Increase to 1230000.
1426
ce4eaddb
CY
14272008-06-16 Chong Yidong <cyd@stupidchicken.com>
1428
1429 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
1430
523dbe64
CY
14312008-06-15 Chong Yidong <cyd@stupidchicken.com>
1432
54b2ab27 1433 * font.c (font_parse_fcname): Only one decimal point.
523dbe64
CY
1434 (font_unparse_fcname): Handle data in family and foundry indices
1435 as symbols, not strings.
1436 (font_unparse_gtkname, Ffont_face_attributes): New functions.
1437
54b2ab27 1438 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
523dbe64
CY
1439
1440 * font.h (font_unparse_gtkname): Add prototype.
1441
9f296082
KH
14422008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
1443
54b2ab27 1444 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
9f296082 1445
3306c6dc
AS
14462008-06-15 Andreas Schwab <schwab@suse.de>
1447
1448 * font.c (font_update_drivers): Fix crash when no drivers match.
1449
a099c27a
SM
14502008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
1451
1452 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
1453 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
1454
a8aa344d
SM
14552008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
1456
1457 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
1458
a879ee6f
SM
14592008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
1460
1461 * process.c (Fserial_process_configure, Fprocess_send_eof):
1462 Use EQ to compare Lisp_Objects.
1463
6fe9826d
JR
14642008-06-13 Jason Rumney <jasonr@gnu.org>
1465
a879ee6f 1466 * w32fns.c (Fw32_select_font): Remove old font API function.
6fe9826d 1467
a879ee6f
SM
1468 * w32font.c (logfont_to_fcname): New function.
1469 (Fx_select_font): New font dialog function compatible with
1470 GTK/fontconfig version.
6fe9826d 1471
a879ee6f
SM
1472 * font.c (font_style_symbolic_from_value): New function.
1473 (font_style_symbolic): Use it.
6fe9826d 1474
a879ee6f 1475 * font.h (font_style_symbolic_from_value): Declare new function.
6fe9826d 1476
17ab8f5d
JB
14772008-06-13 Juanma Barranquero <lekktu@gmail.com>
1478
1479 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
1480 <font-width-table>: Fix typos in docstrings.
1481
d888760c
GM
14822008-06-13 Daniel Engeler <engeler@gmail.com>
1483
1484 These changes add serial port access.
1485 * process.c: Add HAVE_SERIAL.
1486 (Fdelete_process, Fprocess_status, Fset_process_buffer)
1487 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
1488 (list_processes_1, select_wrapper, Fstop_process)
1489 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
1490 (status_notify): Modify to handle serial processes.
1491 [HAVE_SERIAL] (Fserial_process_configure)
1492 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
1493 New functions.
1494 * process.h (struct Lisp_Process): Add `type'.
1495 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
1496 New functions.
1497 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
1498 serial ports.
1499 (serial_open, serial_configure) New functions.
1500 * w32.h: Add FILE_SERIAL.
1501 (struct _child_process): Add ovl_read, ovl_write.
1502
f4cc0153
KH
15032008-06-13 Kenichi Handa <handa@m17n.org>
1504
1505 * dispextern.h (enum lface_attribute_index): New member
1506 LFACE_FOUNDRY_INDEX.
1507
1508 * font.c (font_score): Delete arg alternate_families. Check only
7a18e381 1509 weight, slant, width, and size. Ignore the difference of alias
f4cc0153 1510 style symbols.
7a18e381 1511 (font_sort_entites): Adjust for the above change. Reflect the
f4cc0153
KH
1512 order of font-driver to scores.
1513 (font_list_entities): Don't check alternate_familes here.
1514 (font_clear_prop): Handle foundry.
1515 (font_update_lface): Don't parse "foundry-family" form here.
1516 Handle FONT_FOUNDRY_INDEX.
1517 (font_find_for_lface): Likewise. Handle alternate families here.
a879ee6f 1518 If registry is nil, try iso8859-1 and ascii-0.
f4cc0153 1519 (font_open_for_lface): Pay attention to size in ENTITY.
7a18e381 1520 (font_open_by_name): Simplify by calling font_load_for_lface.
f4cc0153
KH
1521 (free_font_driver_list): Delete it.
1522 (font_update_drivers): Preserve the order of backends.
1523 (syms_of_font): Setting of sort_shift_bits adjusted for the change
1524 of font_score and font_sort_entites.
1525 (font_update_sort_order): Likewise.
1526
1527 * xfaces.c (LFACE_FOUNDRY): New macro.
1528 (check_lface_attrs): Check foundry.
7a18e381 1529 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
f4cc0153
KH
1530 (merge_face_vectors): Check foundry.
1531 (merge_face_ref): Likewise.
1532 (Finternal_set_lisp_face_attribute): Likewise.
1533 (x_update_menu_appearance): Likewise.
1534 (Finternal_get_lisp_face_attribute): Likewise.
1535 (lface_hash): Likewise.
1536 (lface_same_font_attributes_p): Likewise.
1537 (x_supports_face_attributes_p): Likewise.
1538 (tty_supports_face_attributes_p): Likewise.
1539 (Finternal_set_alternative_font_family_alist): Intern strings.
1540 (Finternal_set_alternative_font_registry_alist): Downcase strings.
1541 (realize_default_face): Set LFACE_FOUNDRY (lface).
1542
1543 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
1544 font-driver at first.
1545
1546 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
1547
d434fef5 15482008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
97dead2d
JM
1549
1550 * lread.c (Fload): Use xfree, not free on saved_doc_string.
1551
9c5e177e
JM
15522008-06-12 Jim Meyering <meyering@redhat.com>
1553
d434fef5 1554 Make unexec_free handle NULL the same way free does.
9c5e177e
JM
1555 * unexmacosx.c (unexec_free): Ignore a NULL argument.
1556
2afc21f5
SM
15572008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
1558
1559 * character.h (CHAR_TO_BYTE_SAFE): New macro.
1560 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
1561 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
1562 (WEAK_ALIAS): Simplify.
1563 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
1564 when searching a unibyte buffer.
1565
76c0de62
CY
15662008-06-12 Chong Yidong <cyd@stupidchicken.com>
1567
1568 * xfns.c (Fx_select_font): Rename from x-font-dialog.
1569
0500dcc9
JB
15702008-06-12 Juanma Barranquero <lekktu@gmail.com>
1571
1572 * w32font.c: Include ctype.h.
1573
f42adef6
JR
15742008-06-11 Jason Rumney <jasonr@gnu.org>
1575
2afc21f5
SM
1576 * w32font.c (w32font_encode_char): Detect missing glyphs that are
1577 misreported as space.
1578 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
1579 as aliases for registry iso10646-1.
f42adef6 1580
4b7cdc0e
SM
15812008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
1582
1583 * buffer.c (clone_per_buffer_values): Skip `name'.
1584
cc02ebe1
CY
15852008-06-11 Chong Yidong <cyd@stupidchicken.com>
1586
1587 * font.c (font_parse_fcname): Fix last change; accept decimal
1588 points in font size.
1589
351ccb76
JR
15902008-06-10 Jason Rumney <jasonr@gnu.org>
1591
0500dcc9
JB
1592 * w32uniscribe.c (add_opentype_font_name_to_list):
1593 Skip non unicode fonts.
351ccb76 1594
f473ed6f
CY
15952008-06-10 Chong Yidong <cyd@stupidchicken.com>
1596
1597 * xfns.c (Fx_font_dialog): New function.
1598
5d6333d5 1599 * gtkutil.c (xg_dialog_response_cb): Rename from
f473ed6f
CY
1600 xg_file_response_callback.
1601 (pop_down_dialog): Rename from pop_down_file_dialog.
1602 (xg_get_file_name): Callers changed.
1603 (xg_get_font_name): New function.
1604
5d6333d5 1605 * gtkutil.h (xg_get_font_name): Insert prototype.
f473ed6f 1606
2a3bd2e1
SM
16072008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
1608
1609 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
1610 x_underline_minimum_display_offset.
1611 (syms_of_xdisp): Declare it here rather than in xterm.c.
1612 * dispextern.h (underline_minimum_offset): Declare it.
1613 * w32term.c (x_draw_glyph_string): Use it.
1614 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
1615 (syms_of_xterm): Don't declare it any more.
1616 (x_draw_glyph_string): Adjust to the new name.
1617
d5dc6163
SM
16182008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
1619
1620 * xterm.c (x_underline_minimum_display_offset): New var.
1621 (x_draw_glyph_string): Use it.
1622 (syms_of_xterm): Declare it.
1623
0abdd197
CY
16242008-06-10 Chong Yidong <cyd@stupidchicken.com>
1625
1626 * font.c (font_parse_fcname): Accept GTK-style font names too.
1627
a1562258
SM
16282008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
1629
928b5acc
SM
1630 * dired.c (file_name_completion): Don't return t if the match is exact
1631 but with different capitalization.
1632 * minibuf.c (Ftry_completion): Simplify.
1633
a1562258
SM
1634 * window.c (Vwindow_point_insertion_type): New var.
1635 (set_window_buffer): Use it.
1636 (syms_of_window): Init and export it to Lisp.
1637
9552dbd1
KH
16382008-06-10 Kenichi Handa <handa@m17n.org>
1639
1640 * font.h (font_intern_prop): Prototype adjusted.
1641
1642 * font.c (font_intern_prop): New arg force_symbol.
a1562258
SM
1643 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
1644 Adjust for the change of font_intern_prop.
9552dbd1 1645
a1562258
SM
1646 * ftfont.c (ftfont_pattern_entity):
1647 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
1648 (w32_registry):
1649 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
9552dbd1
KH
1650 the change of font_intern_prop.
1651
8993ad2e
JB
16522008-06-09 Juanma Barranquero <lekktu@gmail.com>
1653
1654 * w32menu.c (digest_single_submenu): Declare extern.
1655
0c2258fc
JR
16562008-06-09 Jason Rumney <jasonr@gnu.org>
1657
a1562258 1658 * w32term.c (x_make_frame_visible): Use alternate restore flags.
12f71857 1659
a1562258
SM
1660 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
1661 (parse_single_submenu): Remove.
1662 (digest_single_submenu): Remove.
1663 (syms_of_w32menu): Don't initialise variables that have moved
1664 to menu.c.
1665 (set_frame_menubar): Sync with version in xmenu.c.
1666 (w32_menu_show): Sync with xmenu_show in xmenu.c.
593c843c 1667
8993ad2e
JB
1668 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
1669 Make static again.
0c2258fc 1670
02246cb8
JR
16712008-06-09 Jason Rumney <jasonr@gnu.org>
1672
8993ad2e
JB
1673 Changes to w32 files related to the move of common menu code
1674 to menu.c on 2008-06-08 by Chong Yidong.
1675
1676 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
1677 defs to w32gui.h.
1678 (single_keymap_panes, push_menu_item, push_menu_pane):
1679 Make globally visible.
1680
d434fef5
JB
1681 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
1682 (local_free, malloc_widget_value, free_widget_value)
1683 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
1684 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
1685 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
8993ad2e 1686 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
d434fef5 1687 (menu_items, menu_items_allocated, menu_items_used)
8993ad2e
JB
1688 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
1689 (init_menu_items, finish_menu_items, discard_menu_items)
1690 (grow_menu_items, push_submenu_start, push_submenu_end)
1691 (push_left_right_boundary, push_menu_pane, push_menu_item)
1692 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
d434fef5 1693 (free_menubar_widget_tree_value, parse_single_submenu)
8993ad2e
JB
1694 (update_submenu_strings): Remove functions.
1695 (xmalloc_widget_value): Remove and declare extern.
1696
1697 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
1698 (OBJ1): Build it.
1699
1700 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
1701 (local_heap, local_alloc, local_free, malloc_widget_value)
1702 (free_widget_value): Define here.
02246cb8 1703
9e1bb909
KH
17042008-06-09 Kenichi Handa <handa@m17n.org>
1705
366664ad
KH
1706 * font.h (Qascii_0): Extern it.
1707
9e1bb909
KH
1708 * font.c (Qascii_0): New variable.
1709 (syms_of_font): DEFSYM it.
1710 (font_open_by_name): If the registry "iso8859-1" fails, try also
1711 "ascii-0".
1712
1713 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
1714
b2ee479e
KH
17152008-06-08 Kenichi Handa <handa@m17n.org>
1716
8f440b79 1717 * .gdbinit (xfont): New command.
b2ee479e 1718
01ef9d36
AS
17192008-06-08 Andreas Schwab <schwab@suse.de>
1720
a4240420
AS
1721 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
1722 * Makefile.in (menu.o): Update dependencies.
1723
0181bf66 1724 * Makefile.in (obj): Always add menu.o.
01ef9d36
AS
1725 * emacs.c (main): Always call syms_of_menu.
1726 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
1727
c07cbae6
CY
17282008-06-08 Chong Yidong <cyd@stupidchicken.com>
1729
1730 * Makefile.in: Compile menu.c.
1731
1732 * lisp.h: Declare syms_of_menu.
1733
1734 * emacs.c (main): Call syms_of_menu.
1735
1736 * keyboard.h: Relocate platform-independent menu definitions from
1737 xmenu.c.
1738
1739 * menu.c: New file. Relocate platform-independent menu
904d8c69 1740 definitions from xmenu.c. Suggested by Adrian Robert.
c07cbae6
CY
1741
1742 * xmenu.c: Remove platform-independent menu definitions.
1743 (menu_items menu_items_inuse, menu_items_allocated)
1744 (menu_items_used, menu_items_n_panes)
1745 (menu_items_submenu_depth): Move to keyboard.h.
1746 (init_menu_items, finish_menu_items, unuse_menu_items)
1747 (discard_menu_items, restore_menu_items, save_menu_items)
1748 (grow_menu_items, push_submenu_start, push_submenu_end)
1749 (push_left_right_boundary, push_menu_pane, push_menu_item)
1750 (keymap_panes, single_keymap_panes, single_menu_item)
1751 (list_of_panes, list_of_items, find_and_call_menu_selection)
1752 (xmalloc_widget_value, free_menubar_widget_value_tree)
1753 (parse_single_submenu, digest_single_submenu)
1754 (update_submenu_strings): Move to menu.c.
1755
4958ed94
SM
17562008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
1757
1758 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
1759
408b8ab4
MB
17602008-06-06 Miles Bader <miles@gnu.org>
1761
1762 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
1763 face, not frame default.
1764
87478b52
SM
17652008-06-05 Martin Rudalics <rudalics@gmx.at>
1766
1767 * window.c (pop_up_windows, pop_up_frames)
1768 (display_buffer_reuse_frames, Vpop_up_frame_function)
1769 (Vdisplay_buffer_function, Veven_window_heights)
1770 (Vspecial_display_buffer_names, Vspecial_display_regexps)
1771 (Vspecial_display_function, Vsame_window_buffer_names)
1772 (Vsame_window_regexps, split_height_threshold)
1773 (Vsplit_window_preferred_function): Move those vars to window.el.
1774 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
1775 (Fdisplay_buffer): Move those functions to window.el.
1776 (syms_of_window): Remove corresponding declarations.
1777 (display_buffer): New function.
1778 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
1779 * dispnew.c (Flast_nonminibuf_frame): New function.
1780 * buffer.c (Fpop_to_buffer): Move to window.el.
1781
9e0e0d77
SM
17822008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
1783
1784 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
1785
4a485df8
KH
17862008-06-05 Kenichi Handa <handa@m17n.org>
1787
1788 * coding.c (detect_coding): Fix previous change.
1789 (detect_coding_system): Likewise.
1790
8ba31f36
SM
17912008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
1792
c0dc8f64
SM
1793 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
1794
8ba31f36
SM
1795 * keymap.c (Vminibuffer_local_filename_must_match_map):
1796 Rename from Vminibuffer_local_must_match_filename_map.
1797 (syms_of_keymap):
1798 * minibuf.c (Fcompleting_read): Adjust accordingly.
1799 * commands.h: Rename declaration as well.
1800
7740d2c7
KH
18012008-06-05 Kenichi Handa <handa@m17n.org>
1802
e7438ece
KH
1803 * font.c (Ffont_spec): Don't use font_parse_family_registry for
1804 family name.
1805 (Ffont_put): Likewise.
1806
1807 * fontset.c (fontset_find_font): Call font_open_for_lface with the
1808 current font-spec.
1809
7740d2c7
KH
1810 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
1811 is unspecified.
1812
1813 * xfaces.c (realize_x_face): If the font-related face attributes
e7438ece
KH
1814 are the same as those of default face, realize a new fontset from
1815 default->fontset.
9e0e0d77 1816 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
7740d2c7 1817
c876b227
SM
18182008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
1819
1820 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
1821 (move_it_in_display_line): New wrapper.
1822
1823 * window.c (window_scroll_pixel_based_preserve_x)
1824 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
1825 (window_scroll_pixel_based, window_scroll_line_based):
1826 Use them to preserve column positions.
1827 (syms_of_window): Initialize them.
1828
1829 * indent.c (Fvertical_motion): Extend first arg to allow passing an
1830 (HPOS . VPOS) pair.
1831
1832 * dispextern.h (move_it_in_display_line): Declare.
1833
927abf37
JB
18342008-06-05 Juanma Barranquero <lekktu@gmail.com>
1835
1836 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
1837 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
1838 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
1839
9d14503e
JB
18402008-06-04 Juanma Barranquero <lekktu@gmail.com>
1841
1842 * window.c (Fset_window_parameter): Doc fix.
1843 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
1844
e6841c3b
JB
18452008-06-04 Joakim Verona <joakim@verona.se>
1846
1847 * window.h (struct window): Add new member window_parameters.
1848
1849 * window.c (Fwindow_parameters, Fwindow_parameter)
1850 (Fset_window_parameter): New defuns.
1851 (syms_of_window): Defsubr the new defuns.
1852 (make_window): Initialize window_parameters to nil.
1853
4ba50634
JPW
18542008-06-04 John Paul Wallington <jpw@pobox.com>
1855
1856 * eval.c (Fdefmacro): Doc fix.
1857
c0e16b14
KH
18582008-06-04 Kenichi Handa <handa@m17n.org>
1859
1860 * coding.c (detect_coding): Fix handling of coding->head_ascii.
9e0e0d77 1861 Be sure to call setup_coding_system when we find a proper coding system.
c0e16b14
KH
1862 (detect_coding_system): Fix handling of coding->head_ascii.
1863
0615d903
AS
18642008-06-03 Andreas Schwab <schwab@suse.de>
1865
1866 * font.c (font_prop_validate_spacing): Fix last change.
1867
8a1816bb
KH
18682008-06-03 Kenichi Handa <handa@m17n.org>
1869
eea9c5c4
KH
1870 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
1871 (font_parse_fcname): Fix handling of unknown key.
1872
1873 * xfont.c (xfont_list): Try an alias.
1874
8a1816bb
KH
1875 * charset.c (char_charset): Return NULL if the arg charset_list is
1876 specified and C doesn't belong to any of them.
1877
2f593f4c 18782008-06-02 Chip Coldwell <coldwell@redhat.com>
6c5e8775
CY
1879
1880 * font.c (font_pixel_size): Don't take cdr of an integer.
1881
c2cd06e6
JM
18822008-06-02 Jim Meyering <meyering@redhat.com>
1883
70fdbb46
JM
1884 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
1885 * alloc.c (xfree): Return right away for a NULL arg.
1886 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
1887 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
1888 * mac.c (create_apple_event_from_event_ref): Likewise.
2f593f4c
JB
1889 (create_apple_event_from_drag_ref, cfstring_create_normalized):
1890 Likewise.
70fdbb46
JM
1891 * doprnt.c (doprnt1): Likewise.
1892 * frame.c (frame): Likewise.
1893 * keyboard.c (wipe_kboard): Likewise.
1f204af3 1894 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
70fdbb46
JM
1895 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
1896 * term.c (tty_default_color_capabilities, maybe_fatal)
1897 (delete_tty): Likewise.
1898 * w16select.c (string): Likewise.
1899 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
1900 * w32bdf.c (w32_free_bdf_font): Likewise.
1901 * w32fns.c (w32_unload_font): Likewise.
1902 * w32font.c (w32font_close): Likewise.
1903 * window.c (size_window): Likewise.
1904 * xselect.c (receive_incremental_selection): Likewise.
1905 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
1906 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
1907 * w32.c (stat): Likewise.
1908
2f593f4c 1909 Remove useless if-before-free tests.
70fdbb46
JM
1910 * editfns.c (Fset_time_zone_rule): Likewise.
1911 * lread.c (nosuffix): Likewise.
1912 * ralloc.c (get_bloc): Likewise.
1913 * regex.c (reg_free): Likewise.
1914 * xftfont.c (xftfont_open, xftfont_close): Likewise.
1915 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
1916 * xsmfns.c (smc_save_yourself_CB): Likewise.
c2cd06e6 1917
4fc1984a
KH
19182008-06-02 Kenichi Handa <handa@m17n.org>
1919
1d1e1245
KH
1920 * font.c (font_find_for_lface): Handle float font size.
1921 (font_open_for_lface): Likewise.
1922
4fc1984a
KH
1923 * xfaces.c (x_supports_face_attributes_p): Check face->font before
1924 comparing the properties.
1925
aee986fd
JR
19262008-06-01 Jason Rumney <jasonr@gnu.org>
1927
e6841c3b
JB
1928 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
1929 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
1930 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
1931 Don't add empty script list.
1932 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
aee986fd 1933
60a3d7ee
DN
19342008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
1935
aee986fd 1936 * Makefile.in (dot, dotdot): Remove, update users.
60a3d7ee
DN
1937 ".." has been used elsewhere in the file for a long time.
1938 (LIBXT_STATIC): Remove conditional based on unused variable.
1939
f2cec7a9
MB
19402008-06-01 Miles Bader <miles@gnu.org>
1941
1942 * xfaces.c (Vface_remapping_alist): New variable.
1943 (syms_of_xfaces): Initialize it.
1944 (enum named_merge_point_kind): New type.
1945 (struct named_merge_point): Add `named_merge_point_kind' field.
1946 (push_named_merge_point): Make cycle detection respect different
1947 named-merge-point kinds.
c876b227 1948 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
f2cec7a9
MB
1949 Remove face-name alias resolution.
1950 (lface_from_face_name): New definition using
1951 `lface_from_face_name_no_resolve'.
c876b227 1952 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
f2cec7a9
MB
1953 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
1954 (get_lface_attributes): New definition that layers face-remapping on
1955 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
1956 (lookup_basic_face): New function.
1957 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
1958 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
1959 `get_lface_attributes'.
1960 (face_at_buffer_position): Use `lookup_basic_face' to lookup
1961 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
1962 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
1963
1964 * xdisp.c (init_iterator): Pass base_face_id through
1965 `lookup_basic_face' when we actually use it as a face-id.
1966 (handle_single_display_prop): Use `lookup_basic_face' to lookup
1967 DEFAULT_FACE_ID.
1968
1969 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
1970 lookup the initial face-id.
1971
1972 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
1973
518c0b83
JB
19742008-06-01 Juanma Barranquero <lekktu@gmail.com>
1975
1976 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
1977 (Fremove_text_properties): Fix typos in docstrings.
1978
719b3d63
KH
19792008-05-31 Kenichi Handa <handa@m17n.org>
1980
e4c93315
KH
1981 * font.c (font_list_entities): Fix the car part of data to be
1982 stored in the cache.
1983
719b3d63
KH
1984 * ftfont.c (ftfont_font_format): Don't use strcasestr.
1985
d0827857
SM
19862008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
1987
1988 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
1989 Add a `test' argument so another predicate than `equal' can be used.
1990 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
1991 (map_char_table): Remove unused vars `c' and `i'.
1992 * lisp.h (Foptimize_char_table): Adjust declaration.
1993 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
1994
a266686a
KH
19952008-05-30 Kenichi Handa <handa@m17n.org>
1996
d0827857 1997 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
a266686a
KH
1998 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
1999 defined.
2000
fd9440c5
SM
20012008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
2002
2003 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
2004 (Fmake_variable_frame_local): Disallow mixing buffer-local and
2005 frame-local settings for the same variable.
2006
fd2ae9b2
KH
20072008-05-30 Kenichi Handa <handa@m17n.org>
2008
9e0e0d77 2009 * fontset.c (Ffont_info): Move to font.c.
fd2ae9b2
KH
2010 (syms_of_fontset): Delete defsubr of Sfont_info.
2011
2012 * font.c (font_style_to_value, font_score): Delete casting of the
2013 args to xstcasecmp.
2014 (register_font_driver): Increment num_font_drivers only when
2015 registering the driver globally.
9e0e0d77 2016 (Ffont_info): Move from fontset.c. Handle a font object too.
fd2ae9b2
KH
2017 (syms_of_font): Defsubr Sfont_info.
2018
eaf11618
KH
20192008-05-29 Kenichi Handa <handa@m17n.org>
2020
2021 * coding.h (enum define_coding_utf8_arg_index): New enum.
2022 (enum coding_attr_index): Change coding_attr_utf_16_bom to
2023 coding_attr_utf_bom.
fd9440c5
SM
2024 (enum utf_bom_type): Rename from utf_16_bom_type.
2025 (struct utf_16_spec): Adjust for the above change.
eaf11618
KH
2026 (struct coding_system): Add utf_8_bom in `spec' union.
2027
2028 * coding.c (CODING_UTF_8_BOM): New macro.
2029 (enum coding_category): Delete coding_category_utf_8, add
2030 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
2031 coding_category_utf_8_sig.
2032 (CATEGORY_MASK_UTF_8): Delete it.
2033 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
2034 (CATEGORY_MASK_UTF_8_SIG): New macros.
2035 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
2036 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
2037 CATEGORY_MASK_UTF_8_SIG.
2038 (CATEGORY_MASK_UTF_8): New macro.
2039 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
2040 (detect_coding_utf_8): Check BOM.
2041 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
fd9440c5 2042 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
eaf11618
KH
2043 (encode_coding_utf_16): Likewise.
2044 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
2045 (detect_coding, detect_coding_system): Handle utf-8-auto.
2046 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
2047 (syms_of_coding): Fix setting up of Vcoding_category_table.
2048
891bd142
SM
20492008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
2050
2051 * process.c (Faccept_process_output): If `millisec' is non-nil,
2052 `seconds' default to 0.
2053 (wait_reading_process_output): Also return non-nil if we read output
2054 from a non-running process.
2055
1519d52e
JR
20562008-05-29 Jason Rumney <jasonr@gnu.org>
2057
fd9440c5
SM
2058 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
2059 `raster' specified.
2060 (add_font_entity_to_list): Allow non-opentype truetype fonts back
2061 in the uniscribe backend, but disallow any font that has no
2062 unicode subrange support.
1519d52e 2063
d5ab09cd
JB
20642008-05-29 Juanma Barranquero <lekktu@gmail.com>
2065
2066 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
2067 Fix typos in docstrings.
2068
a4eec626
KH
20692008-05-29 Kenichi Handa <handa@m17n.org>
2070
2071 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
e887f2ac 2072 (Fx_family_fonts): Set frame correctly.
a4eec626 2073
a6e0b7e5
JR
20742008-05-28 Jason Rumney <jasonr@gnu.org>
2075
d5ab09cd 2076 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
a6e0b7e5 2077
6b3d752c
SM
20782008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
2079
2080 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
2081 calling build_annotations.
2082
c3f9fba8
JB
20832008-05-28 Juanma Barranquero <lekktu@gmail.com>
2084
2085 * coding.c (Fdecode_coding_region, Fencode_coding_region)
2086 (Fencode_coding_string):
2087 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
2088 <latin-extra-code-table>: Fix typos in docstrings.
2089 (syms_of_coding) <coding-system-alist>: Doc fix.
2090 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
2091
00c670e1
KH
20922008-05-28 Kenichi Handa <handa@m17n.org>
2093
b75d7f28
KH
2094 * fontset.c (Ffont_info): Don't call font_close_object.
2095
2096 * font.c (font_parse_family_registry): Use Ffont_put to validate
2097 foundry and family.
2098 (font_delete_unmatched): Don't check spacing.
2099 (font_list_entities): Add spacing to the spec to list fonts.
2100
2101 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
d5ab09cd 2102 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
b75d7f28 2103
00c670e1
KH
2104 * coding.c (encode_coding_raw_text): Fix previous change.
2105 (encode_coding_object): When the dst_object is a buffer and is
2106 different from src_object, move gap to PT.
2107
45feca91
CY
21082008-05-27 Chong Yidong <cyd@stupidchicken.com>
2109
c3f9fba8 2110 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
45feca91 2111
5dd5d9eb
SM
21122008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
2113
01d45367
SM
2114 * coding.c (encode_coding_raw_text): Set coding->produced_char for
2115 all branches. Compute it differently.
2116
5dd5d9eb
SM
2117 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
2118
9c623c85
JB
21192008-05-27 Juanma Barranquero <lekktu@gmail.com>
2120
2121 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
2122 into "else if () ... else ...".
2123
943f2093
JR
21242008-05-27 Jason Rumney <jasonr@gnu.org>
2125
5dd5d9eb
SM
2126 * w32font.c (w32font_open_internal): Determine if glyph indices
2127 are likely to work here.
943f2093 2128
7385fe74
CY
21292008-05-27 Chong Yidong <cyd@stupidchicken.com>
2130
2131 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
2132 draw overlap glyphs with appropriate highlighting.
2133
4f64a164
KH
21342008-05-27 Kenichi Handa <handa@m17n.org>
2135
2136 * xfont.c (xfont_open): Fix calculation of font->average_width.
2137
1fb5aad7
SM
21382008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
2139
2140 * casefiddle.c (casify_object): Try to guess better whether the
2141 argument is a byte or a char.
2142
f8eb1603
AS
21432008-05-26 Andreas Schwab <schwab@suse.de>
2144
1fb5aad7
SM
2145 * xselect.c (x_reply_selection_request): Properly handle format == 32.
2146 Always send multiples of format size.
5a9c35e5 2147
f8eb1603
AS
2148 * xterm.c (x_set_frame_alpha): Fix type mismatch.
2149
ba93d684
JR
21502008-05-26 Jason Rumney <jasonr@gnu.org>
2151
1fb5aad7
SM
2152 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
2153 (compute_metrics): Don't set failure if we just cleared the cache.
2154 (w32_weight_table): Remove unused variable.
2155 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
2156 backwards compatibility.
ba93d684 2157
505ecc49
KH
21582008-05-25 Kenichi Handa <handa@m17n.org>
2159
1fb5aad7
SM
2160 * w32term.c (x_draw_glyph_string):
2161 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
505ecc49
KH
2162
2163 * xfaces.c: Delete unused function prototypes.
2164 (xstrlwr, font_frame): Delete them.
2165 (clear_face_cache): Delete unused variable.
2166
1fb5aad7
SM
2167 * xftfont.c (xftfont_open): Delete unused variable.
2168 If underline_thickness is not 1, adjust underline_position.
505ecc49
KH
2169
2170 * ftxfont.c (ftxfont_open): Delete unused variable.
2171
2172 * fontset.c (face_for_char): Optimize for the case of no charset
2173 property.
2174
2175 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
2176 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
2177 (otf_open, font_otf_capability, generate_otf_features)
2178 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
1fb5aad7 2179 Comment out by surrounding "#if 0" and "#endif" for the moment.
505ecc49
KH
2180 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
2181 (syms_of_font): Codes for accessing above commented out.
2182
f481eb31
EZ
21832008-05-24 Eli Zaretskii <eliz@gnu.org>
2184
2185 * w32proc.c: Include dispextern.h.
2186
2187 * w32.c: Include dispextern.h.
2188
20746fe4
JB
21892008-05-23 Juanma Barranquero <lekktu@gmail.com>
2190
2191 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
2192 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
2193 Fix typos in docstrings.
2194
e7150846
JR
21952008-05-23 Jason Rumney <jasonr@gnu.org>
2196
20746fe4 2197 * xsmfns.c: Remove includes that are already included by config.h.
e7150846 2198
dbf46ba6
KH
21992008-05-23 Kenichi Handa <handa@m17n.org>
2200
6c652beb
KH
2201 * charset.c (Qemacs, charset_emacs): New variables.
2202 (char_charset): Fix for non-Unicode characters.
2203 (syms_of_charset): Define charset_emacs.
2204
baf4d3b3 2205 * w32term.c (x_draw_glyph_string): Be sure to update
328fab2a
KH
2206 s->underline_thickness and s->underline_position. Be sure to draw
2207 underline within the current line area.
baf4d3b3
KH
2208
2209 * xterm.c (x_draw_glyph_string): Be sure to update
328fab2a 2210 s->underline_thickness and s->underline_position. Be sure to draw
90dc78a3 2211 underline within the current line area.
baf4d3b3 2212
dbf46ba6
KH
2213 * fontset.c: Delete unused variables and add casting for char *
2214 throughout the file.
2215 (fontset_font): Try the fallback fonts of the current fontset
2216 before consulting the default fontset.
2217
2218 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
2219
9e0e0d77 2220 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
dbf46ba6 2221
3b780338
JR
22222008-05-22 Jason Rumney <jasonr@gnu.org>
2223
20746fe4 2224 * font.c: Don't include strings.h.
577eba22 2225
9e0e0d77 2226 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
05131107 2227
20746fe4
JB
2228 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
2229 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
b1722a46
EZ
2230 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
2231 to call xstrcasecmp.
05131107 2232
b1722a46 2233 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
3b780338 2234
b1722a46 2235 * fontset.c (fs_query_fontset): Use xstrcasecmp.
3b780338 2236
b1722a46 2237 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
3b780338 2238
b1722a46 2239 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
3b780338 2240
a30e1957
KH
22412008-05-22 Kenichi Handa <handa@m17n.org>
2242
20746fe4 2243 * puresize.h (BASE_PURESIZE): Increase to 1220000.
955b979c 2244
20746fe4 2245 * font.c (font_prop_validate_style): Adjust for the format
64b900e3
KH
2246 change of font_style_table.
2247
a30e1957
KH
2248 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
2249 two args.
2250
2251 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
2252 two args.
2253
631248e5
SM
22542008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
2255
2256 * minibuf.c (keys_of_minibuf): Delete.
2257 * lisp.h (keys_of_minibuf): Delete.
2258 * emacs.c (main): Don't call keys_of_minibuf.
2259
318548be
KH
22602008-05-22 Kenichi Handa <handa@m17n.org>
2261
631248e5 2262 * ftfont.c (ftfont_resolve_generic_family): Rename from
318548be
KH
2263 ftfont_list_generic_family. Return a single family for each
2264 generic family.
2265 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
20746fe4
JB
2266 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
2267 Call font_add_log.
318548be
KH
2268 (ftfont_match): Call font_add_log.
2269
2270 * font.h (Ffont_xlfd_name): EXFUN adjusted.
2271 (FONT_DEBUG): Define it.
2272 (font_add_log): Extern it.
631248e5 2273 (font_assert): Rename from xassert.
318548be
KH
2274
2275 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
2276 (xfont_list_family): Call font_add_log.
2277 (xfont_match): Likewise.
631248e5 2278 (memq_no_quit): Delete.
318548be
KH
2279
2280 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
2281 call of Ffont_xlfd_name.
2282
2283 * xfaces.c (struct table_entry, slant_table, weight_table)
631248e5 2284 (swidth_table): Move to font.c.
318548be
KH
2285
2286 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
631248e5 2287 xassert are changed to font_assert. Delete many unused variables.
20746fe4
JB
2288 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
2289 New variables.
631248e5
SM
2290 (struct table_entry): Move from xfaces.c and modified.
2291 (weight_table, slant_table, width_table): Move from xfaces.c and
318548be 2292 contents adjusted for the change of struct table_entry.
20746fe4 2293 (font_style_to_value, font_style_symbolic): Adjust for the
64b900e3 2294 format change of font_style_table.
318548be
KH
2295 (font_parse_family_registry): Don't overwrite existing foundry and
2296 family of font_spec.
2297 (font_score): Fix calculation of diff for sizes.
2298 (font_sort_entites): Call font_add_log.
2299 (font_delete_unmatched): Return a newly created list.
2300 (font_list_entities): Fix previous change. Call font_add_log.
20746fe4
JB
2301 (font_matching_entity, font_open_entity, font_close_entity):
2302 Call font_add_log.
318548be 2303 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
631248e5 2304 (Finternal_set_font_style_table): Delete.
318548be
KH
2305 (BUILD_STYLE_TABLE): New macro.
2306 (build_style_table): New function.
2307 (Vfont_log, font_log_env_checked): New variables.
2308 (font_add_log): New function.
2309 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
2310 Declare Lisp variables "font-weight-table", "font-slant-table",
2311 "font-width-table", and "font-log". Initialize font_style_table.
2312
6aac1c03
DN
23132008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
2314
bcc850aa 2315 * xterm.c (x_set_frame_alpha): Move declarations before statements.
6aac1c03 2316
7950790f
GM
23172008-05-21 Seiji Zenitani <zenitani@mac.com>
2318 Ryo Yoshitake <ryo@shiftmode.net>
a2979e8e 2319
7950790f 2320 * frame.c (Qalpha): Add a new frame parameter `alpha'.
bcc850aa 2321 (Vframe_alpha_lower_limit): New variable.
b9fb2c45 2322 (x_set_alpha): New function.
a2979e8e 2323
7950790f 2324 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
a2979e8e 2325
7950790f
GM
2326 * xfns.c (x-create-frame, Qalpha):
2327 Initialize the frame parameter `alpha'.
b9fb2c45
GM
2328 * xterm.c (OPAQUE, OPACITY): New.
2329 (x_set_frame_alpha): New function.
2330 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
a2979e8e 2331
7950790f
GM
2332 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
2333 * w32fns.c (w32_frame_parm_handlers): Likewise.
a2979e8e 2334
5c2a72d9
JR
23352008-05-20 Jason Rumney <jasonr@gnu.org>
2336
20746fe4
JB
2337 * w32font.c (add_font_entity_to_list): Don't add non-opentype
2338 truetype fonts to opentype list.
5c2a72d9 2339
eb152aa9
JB
23402008-05-20 Juanma Barranquero <lekktu@gmail.com>
2341
2342 * fontset.c (Ffontset_info): Doc fix.
2343 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
2344 <ignore-relative-composition>: Fix typos in docstrings.
2345
2346 * font.c (syms-of-font) <font-encoding-alist>:
2347 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
2348 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
2349 (Ffont_otf_alternates): Doc fixes.
2350
ad00e1a3
KH
23512008-05-20 Kenichi Handa <handa@m17n.org>
2352
2353 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
2354 font.h through out the file.
9e0e0d77 2355 (FONT_DRIVERS): Rename from FONTOBJ.
12855572 2356 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
ad00e1a3
KH
2357 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
2358
2359 * emacs.c (main): Call syms_of_font unconditionally.
2360
2361 * font.h (find_font_encoding): Extern it.
2362
9e0e0d77 2363 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
ad00e1a3
KH
2364 fontset.c.
2365 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
2366 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
2367 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
2368 only when HAVE_WINDOW_SYSTEM is defined.
2369 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
2370 when HAVE_WINDOW_SYSTEM is defined.
2371
9e0e0d77
SM
2372 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
2373 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
ad00e1a3
KH
2374
2375 * xfaces.c: Include font.h unconditionally.
2376 (merge_face_ref, merge_face_vectors)
2377 (Finternal_set_lisp_face_attribute): Cancel the previous change.
2378
40a69fac
SM
23792008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
2380
2381 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
2382 indirect_variable.
2383 * eval.c (lisp_indirect_variable): New fun.
2384 (Fuser_variable_p): Use it.
2385
8c2dccbf
SM
23862008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
2387
ad97b375
SM
2388 * lisp.h (indirect_variable):
2389 * data.c (indirect_variable, let_shadows_buffer_binding_p):
2390 Use Lisp_Symbol pointers rather than Lisp_Object.
2391 Adjust callers.
2392 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
2393 To this end, change calling-convention.
2394
8c2dccbf
SM
2395 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
2396 if some non-hidden buffers are selected by string&pred.
2397
ad97b375
SM
23982008-05-19 Chong Yidong <cyd@stupidchicken.com>
2399
2400 * process.c (wait_reading_process_output): Always check status
2401 when in batch mode.
2402
25b81df4
KH
24032008-05-19 Kenichi Handa <handa@m17n.org>
2404
2405 * font.c (font_list_entities): Fix handling of cache.
2406 (font_matching_entity): Likewise.
2407
8c2dccbf 2408 * ftfont.c (cs_iso8859_1): Delete.
25b81df4 2409 (ft_face_cache): New variable.
1f204af3 2410 (struct ftfont_info): New member fc_charset_idx.
8c2dccbf 2411 (ftfont_build_basic_charsets): Delete.
25b81df4
KH
2412 (fc_charset_table): New variable.
2413 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
2414 . FC_CHARSET_IDX) as :font-entity property in the font entity.
2415 Callers changed.
dde8403f 2416 (ftfont_lookup_cache, ftfont_get_charset): New functions.
8c2dccbf
SM
2417 (ftfont_spec_pattern): New argument fc_charset_idx.
2418 Check registry more rigidly. Change callers.
a2979e8e 2419 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
25b81df4
KH
2420 change of :font-entity property of the font.
2421
a2979e8e 2422 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
25b81df4
KH
2423 property of the font.
2424
d4a1d553
JB
24252008-05-18 Juanma Barranquero <lekktu@gmail.com>
2426
2427 * coding.c (Fcoding_system_p): Rename argument to match docstring.
2428 (Funencodable_char_position, Fcheck_coding_systems_region)
2429 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
2430 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
2431 (Ffind_operation_coding_system, Fset_coding_system_priority)
2432 (Fcoding_system_eol_type): Doc fixes.
2433
07cfc4e7
GM
24342008-05-17 Glenn Morris <rgm@gnu.org>
2435
2436 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
2437
1cab27d2
EZ
24382008-05-16 Eli Zaretskii <eliz@gnu.org>
2439
2440 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
2441 and st_gid.
2442
dde8403f 2443 * frame.c (Fdelete_frame): Don't call font_update_drivers if
1cab27d2
EZ
2444 HAVE_WINDOW_SYSTEM is not defined.
2445
2446 * xfaces.c (merge_face_ref, merge_face_vectors)
2447 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
2448 HAVE_WINDOW_SYSTEM is defined.
2449 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
2450
86b89713
SM
24512008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
2452
2453 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
2454
6750bd93
YM
24552008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2456
62867b11 2457 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
6750bd93 2458
79f105c9
KH
24592008-05-15 Kenichi Handa <handa@m17n.org>
2460
2461 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
2462 preference.
2463
6b33da9f
GM
24642008-05-15 Glenn Morris <rgm@gnu.org>
2465
2466 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
2467
d0e4433b
CY
24682008-05-15 Chong Yidong <cyd@stupidchicken.com>
2469
2470 * fns.c (init_fns): Don't initialize weak_hash_tables here.
2471 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
2472
2473 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
2474
5f2d79e0
KH
24752008-05-15 Kenichi Handa <handa@m17n.org>
2476
fd8a1cae
KH
2477 * ftfont.c (ftfont_list): Downcase family name to check generic
2478 families.
2479
2480 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
2481 font-spec for QCfont value.
2482
5f2d79e0
KH
2483 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
2484 buffer. Check the return value of it.
2485
e5e29349
JR
24862008-05-14 Jason Rumney <jasonr@gnu.org>
2487
2488 * w32term.c (w32_get_glyph_overhangs): Remove.
2489 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
2490
1f09f444
KH
24912008-05-14 Kenichi Handa <handa@m17n.org>
2492
2493 * font.c (font_prop_validate): Make nil a valid value.
be9442ad
KH
2494 (font_clear_cache): Check if the cached vector of entities is nil
2495 or not.
1f09f444 2496
ecae6af9 24972008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
f8240abd
YM
2498
2499 * emacs.c (main_thread): Conditionalize on
2500 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
2501 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
2502
2503 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
2504 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
2505 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
2506
c6b278e7
KH
25072008-05-14 Kenichi Handa <handa@m17n.org>
2508
2509 * coding.c (detect_coding_iso_2022): Ignore a coding category that
2510 has no corresponding coding system.
2511
25122008-05-14 Jason Rumney <jasonr@gnu.org>
2513
2514 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
2515
2516 * w32font.h (w32font_open_internal): Update declaration.
2517
2518 * w32font.c (w32font_open_internal): Change last argument from
2519 w32font_info struct to font object. Fill in font object from
2520 font_entity. Get Outline metrics if possible. Use them to
2521 calculate underline position and thickness. Use xlfd name as name
2522 property. Don't set codepage.
2523 (w32font_open): Pass font_object to w32font_open_internal. Don't
a879ee6f 2524 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
c6b278e7
KH
2525 (w32font_draw): Use s->font.
2526 (clear_cached_metrics): Don't clear non-existent blocks.
2527
2528 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
2529 font was not found.
a879ee6f 2530 (x_draw_glyph_string): Use underline position and thickness from font.
c6b278e7
KH
2531
2532 * w32uniscribe.c (uniscribe_open): Pass font_object to
2533 w32font_open_internal.
2534
25352008-05-14 Kenichi Handa <handa@m17n.org>
2536
2537 These changes are to delete all legacy font-handling codes, and
2538 make Emacs use only font-backends.
2539
2540 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
2541 (frame.o, image.o, print.o): Depend on $(FONTSRC).
2542
2543 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
2544
2545 * charset.h (Vcharset_non_preferred_head)
2546 (Vcurrent_iso639_language): Extern them.
2547
2548 * charset.c (Vcharset_non_preferred_head): New variable.
2549 (Vcurrent_iso639_language): New variable.
2550 (syms_of_charset): Declare it as a Lisp variable.
2551 (char_charset): Don't check non preferred charsets. As a last
2552 resort, return charset_unicode.
2553 (Fset_charset_priority): Update Vcharset_non_preferred_head.
2554
2555 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
2556 conditionals. Don't check enable_font_backend. Delete all codes
2557 used only when USE_FONT_BACKEND is not defined.
2558
2559 * dispextern.h (struct glyph_string): Change type of `font' to
2560 `struct font *'.
2561 (struct glyph_string): New member underline_position and
2562 underline_thickness.
2563 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
2564 (struct face): Change type of `font' to `struct font *'. Remove
2565 members `font_name', `font_info_id'.
2566 (per_char_metric, encode_char): Delete externs.
2567 (calc_pixel_width_or_height): Adjust the prototype.
2568
2569 * emacs.c (enable_font_backend): Delete extern.
2570 (main): Don't set enable_font_backend. Don't check the command
2571 line argument "-disable-font-backend".
2572
2573 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
2574 (enum font_property_index): New members FONT_DPI_INDEX,
2575 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
2576 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
2577 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
2578 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
2579 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
2580 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
2581 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
2582 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
2583 (struct font_spec, struct font_entity): New structs.
2584 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
2585 (struct font): Many members from old "struct font_info" moved to
2586 here. Members font and entity deleted.
2587 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
2588 the new font-related objects.
2589 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
2590 (CHECK_FONT_GET_OBJECT): Likewise.
2591 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
2592 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
2593 (struct font_driver): New members case_sensitive anc check. Type
2594 of the member list and open changed.
2595 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
2596 (font_symbolic_width, font_find_object, font_get_spec)
2597 (font_set_lface_from_name): Delete extern.
20746fe4 2598 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
c6b278e7
KH
2599
2600 * font.c: Include <strings.h>.
2601 (enable_font_backend): Delete it.
2602 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
2603 (CHECK_VALIDATE_FONT_SPEC): Delete it.
2604 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
2605 (null_string): Delete it.
2606 (null_vector): Make it static.
2607 (font_family_alist): Delete it.
2608 (Qnormal): Extern it.
2609 (QCextra, QClanguage): Delete it.
1f204af3 2610 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
c6b278e7
KH
2611 (font_make_spec, font_make_entity, font_make_object)
2612 (font_intern_prop): Renamed from intern_downcase. Don't downcase
2613 the string. Callers changed.
2614 (font_pixel_size): Adjusted for the format change of font-related
2615 objects.
2616 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
2617 (font_style_to_value, font_style_symbolic): New function.
2618 (build_font_family_alist): Delete it.
2619 (font_registry_charsets): Use Fassoc_string instead of
2620 assq_no_quit.
2621 (font_prop_validate_symbol): Don't return null_string.
2622 (font_prop_validate_style): Adjusted for the change of
2623 style-related values in a font vector.
20746fe4 2624 (font_property_table): Delete entries for QClanguage and
c6b278e7
KH
2625 QCantialias, add entries for QCavgwidth.
2626 (get_font_prop_index): Delete the 2nd argument FROM.
2627 (font_prop_validate): Arguments changed.
2628 (font_put_extra): Adjusted for the change of font-related objects.
2629 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
2630 (font_parse_fcname, font_unparse_fcname)
2631 (font_prepare_composition): Likewise.
2632 (font_parse_family_registry): Renamed from font_merge_old_spec.
2633 (otf_open): Delete the 1st arg entity.
2634 (font_otf_capability): Adjusted for the above change.
2635 (font_score): New arg alternate_families. Adjusted for the change
2636 of font-related objects.
2637 (font_sort_entites): New arg best_only.
2638 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
2639 Delete them.
2640 (font_match_p): Check alternate families.
2641 (font_find_object): Delete it.
2642 (font_check_object): New function.
c3f9fba8 2643 (font_clear_cache): Adjusted for the change of font-related objects.
c6b278e7
KH
2644 (font_delete_unmatched): New arg.
2645 (font_list_entities): Call font_driver->list with a spec that
2646 doesn't specify style-related properties.
2647 (font_matching_entity): Arguments changed. Caller changed.
c3f9fba8 2648 (font_open_entity): Adjusted for the change of font-related objects.
c6b278e7
KH
2649 (font_close_object, font_has_char, font_encode_char)
2650 (font_get_name, font_get_spec): Likewise.
c3f9fba8
JB
2651 (font_spec_from_name, font_clear_prop, font_update_lface):
2652 New functions.
2653 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
c6b278e7
KH
2654 (font_prepare_for_face, font_done_for_face, font_open_by_name)
2655 (font_at): Adjusted for the change of font-related objects.
2656 (font_range): New function.
2657 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
c3f9fba8 2658 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
c6b278e7
KH
2659 (Fcopy_font_spec, Fmerge_font_spec): New function.
2660 (Ffont_family_list): Renamed from list-families.
2661 (Finternal_set_font_style_table): Arguments changed.
2662 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
2663 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
2664 change of font-related objects.
c3f9fba8 2665 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
c6b278e7 2666
3554e566 2667 * fontset.h (struct font_info): Delete it. Most members go to
c6b278e7
KH
2668 struct font.
2669 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
2670 (enum FONT_SPEC_INDEX): Delete it.
2671 (font_info, list_fonts_func, load_font_func, query_font_func)
2672 (set_frame_fontset_func, find_ccl_program_func)
2673 (get_font_repertory_func, new_fontset_from_font_name): Delete
2674 externs.
2675 (fontset_from_font_name): Extern it.
2676 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
2677 (FONT_INFO_FROM_FACE): Deleted.
2678 (face_for_font): Adjust prototype.
2679
2680 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
2681 conditionals. Don't check enable_font_backend. Delete all codes
2682 used only when USE_FONT_BACKEND is not defined.
2683 (get_font_info_func, list_font_func, load_font_func)
2684 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
2685 (get_font_repertory_func): Delete them.
2686 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
2687 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
2688 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
2689 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
2690 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
2691 (fontset_compare_rfontdef): New function.
2692 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
2693 ront-defs by qsort. Adjusted for the change of font-group vector.
2694 (load_font_get_repertory): Deleted.
2695 (fontset_find_font): Use new macros to ref/set elements of
2696 font-def and rfont-def.
2697 (fontset_font): Fix the timing of remembering that no font for C.
2698 (free_face_fontset): Do nothing if the face has no fontset.
2699 (face_suitable_for_char_p): Use new macros to ref/set elements of
2700 rfont-def.
2701 (face_for_char): Likewise. Call face_for_char with font_object.
2702 (fs_load_font): Delete. Delete #pragma surrounding it.
2703 (fs_query_fontset): Use strcasecmp instead of strcmp.
2704 (generate_ascii_font_name): Adjusted for the format change of
2705 font-spec.
2706 (Fset_fontset_font): Likewise. Use new macros to set elements of
2707 font-def.
2708 (Fnew_fontset): Use font_unparse_xlfd to generate
2709 FONTSET_ASCII (fontset).
2710 (new_fontset_from_font_name): Deleted.
2711 (fontset_from_font): Renamed from new_fontset_from_font. Check if
2712 a fontset is already created for the font. FIx updating of
2713 Vfontset_alias_alist.
2714 (fontset_ascii_font): Deleted.
2715 (Ffont_info): Adjusted for the format change of font-spec.
2716 (Finternal_char_font): Likewise.
2717 (Ffontset_info): Likewise.
2718 (syms_of_fontset): Don't check load_font_func.
2719
2720 * fns.c (internal_equal): Handle PREV_FONT.
2721
2722 * frame.h: Delete USE_FONT_BACKEND conditional.
2723
2724 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
2725 conditionals. Don't check enable_font_backend. Delete all codes
2726 used only when USE_FONT_BACKEND is not defined.
2727 (x_set_font): Call x_new_font, not x_new_fontset2.
2728 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
2729 already set for the frame.
2730
2731 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
2732 a font-entity by font_make_entity. Use font_intern_prop instead
2733 of intern_downcase. Use FONT_SET_STYLE to set a style-related
2734 font property. If a font is scalable, set avgwidth property to 0.
2735 Set font-entity property by font_put_extra.
2736 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
2737 (ffont_driver): Adjusted for the change of struct font_driver.
2738 (ftfont_spec_pattern): New function.
2739 (ftfont_list): Return a list, not vector.
2740 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
2741 (ftfont_list_family): Don't downcase names.
2742 (ftfont_free_entity): Deleted.
2743 (ftfont_open): Return a font-ojbect. Adjusted for the change of
2744 struct font. Get underline_thickness and underline_position from
2745 font property. Don't update dpyinfo->smallest_font_height and
2746 dpyinfo->smallest_char_width.
2747 (ftfont_close): Don't free `struct font'.
2748 (ftfont_has_char): Adjusted for the format change of font-entity.
2749 (ftfont_encode_char, ftfont_text_extents): Likewise.
2750
2751 * ftxfont.c (ftxfont_list): Return a list, not vector.
2752 (ftxfont_open): Return a font-ojbect. Adjusted for the change of
2753 struct font. Get underline_thickness and underline_position from
2754 font property. Don't update dpyinfo->smallest_font_height and
2755 dpyinfo->smallest_char_width.
2756 (ftxfont_close): Don't decrese FRAME_X_DISPLAY_INFO (f)->n_fonts.
2757 (ftxfont_draw): Adjusted for the change of struct font.
2758
2759 * image.c (image_ascent): Don't include "charset.h". Include
2760 "character.h" and "font.h".
2761
2762 * lisp.h (enum pvec_type): New member PREV_FONT.
2763 (Fassoc_string): EXFUN it.
2764
2765 * print.c: Include font.h.
2766 (print_object): Handle font-related objects.
2767
2768 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
2769 conditionals. Don't check enable_font_backend. Delete all codes
2770 used only when USE_FONT_BACKEND is not defined.
2771 (handle_auto_composed_prop): Do nothing if it->f is not on a
2772 window system. Check how many following characters can be
2773 displayed by the same font.
2774 (calc_pixel_width_or_height): Type of the 4th arg is changed to
2775 'struct font *'.
2776 (get_char_face_and_encoding): Assign the whole encoding task to
2777 the `encode-char' method of a font driver.
2778 (fill_composite_glyph_string): Adjusted for the change of `struct
2779 face' and `struct glyph_string'.
2780 (fill_glyph_string): Likewise.
2781 (get_per_char_metric): Arguments changed.
2782 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
2783 and `struct glyph_string'.
2784 (produce_stretch_glyph, calc_line_height_property)
2785 (x_produce_glyphs): Likewise.
2786
2787 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
2788 conditionals. Don't check enable_font_backend. Delete all codes
2789 used only when USE_FONT_BACKEND is not defined. Use
2790 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
2791 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
2792 (Qp): Extern them.
2793 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
2794 Deleted.
2795 (struct font_name): Deleted.
2796 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
2797 (compare_fonts_by_sort_order): New function.
2798 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
2799 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
2800 Deleted.
2801 (Fx_family_fonts): Use font_list_entities, and sort fonts by
2802 compare_fonts_by_sort_order.
2803 (Fx_font_family_list): Call Ffont_family_list.
2804 (face_numeric_value, face_numeric_weight, face_numeric_slant)
2805 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
2806 (face_symbolic_slant, face_symbolic_swidth)
2807 (split_font_name_into_vector, build_font_name_from_vector)
2808 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
2809 (font_rescale_ratio, split_font_name, build_font_name)
2810 (free_font_names, sort_fonts, x_face_list_fonts)
2811 (face_font_available_p, sorted_font_list, cmp_font_names)
2812 (font_list_1, concat_font_list, font_list, remove_duplicates):
2813 Deleted.
2814 (Fx_list_fonts): Use Ffont_list.
2815 (LFACE_AVGWIDTH): Deleted.
2816 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
2817 by FONTP.
2818 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2819 (set_lface_from_font_name): Delete it.
2820 (set_lface_from_font): Renamed from
2821 set_lface_from_font_and_fontset. Caller changed. Don't set
2822 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
2823 for face.
c3f9fba8
JB
2824 (merge_face_vectors): Copy font-spec if necessary.
2825 Clear properties of the font-spec if necessary.
c6b278e7
KH
2826 (merge_face_ref): Clear properties of the font-spec if necessary.
2827 (Finternal_set_lisp_face_attribute): Likewise.
2828 (set_font_frame_param): Use font_load_for_lface to load a
2829 font-object, and call Fmodify_frame_parameters with it.
2830 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
2831 font name by Ffont_xlfd_name.
2832 (Finternal_lisp_face_attribute_values): Don't check QCweight,
2833 QCslant, and QCwidth.
2834 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
2835 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
2836 Compare fonts by EQ.
2837 (lookup_non_ascii_face): Deleted.
2838 (face_for_font): The 2nd argument changed.
c3f9fba8
JB
2839 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
2840 Check atomic font properties by case insensitive.
c6b278e7
KH
2841 (realize_non_ascii_face): Set face->overstrike correctly.
2842 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
2843 (dump_realized_face): Get font name from
2844 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
2845
2846 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
2847 conditionals. Don't check enable_font_backend. Delete all codes
2848 used only when USE_FONT_BACKEND is not defined.
2849 (xic_create_xfontset): Original code deleted and renamed from
2850 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
2851 (x_make_gc): Don't set GCFont in GCs.
2852 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
2853 opened by "fixed".
2854 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
2855 find_ccl_program_func, query_font_func, set_frame_fontset_func,
2856 get_font_repertory_func.
2857
2858 * xfont.c: Include <stdlib.h> and "ccl.h".
2859 (struct xfont_info): New structure.
2860 (xfont_query_font): Deleted.
2861 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
2862 moved from xterm.c.
2863 (xfont_driver): Adjusted for the change of struct font_driver.
2864 (compare_font_names): New function.
2865 (xfont_list_pattern): Sort font names case insensitively. Make
2866 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
2867 (xfont_list): Return a list, not vector.
2868 (xfont_match): If the font doesn't have QCname property, generate
2869 a name from the other font properties.
2870 (xfont_open): Return a font-ojbect. Adjusted for the change of
2871 struct font. Get underline_thickness and underline_position from
2872 font property. Don't update dpyinfo->smallest_font_height and
2873 dpyinfo->smallest_char_width.
2874 (xfont_close): Don't free struct font.
2875 (xfont_prepare_face): Adjusted for the change of struct font.
2876 (xfont_done_face): Deleted.
2877 (xfont_has_char): Adjusted for the change of struct font.
2878 (xfont_encode_char, xfont_draw): Likewise.
2879 (xfont_check): New function.
2880
2881 * xftfont.c (xftfont_list): Adjusted for the change of `list'
2882 callback function.
2883 (xftfont_match): Adjusted for the fontmat change of font-entity.
2884 (xftfont_open): Adjusted for the format change of font-entity and
2885 font-object. Adjusted for the change of struct font. Return a
2886 font-object. Don't update dpyinfo->smallest_font_height and
2887 dpyinfo->smallest_char_width.
2888 (xftfont_close): Block input while calling XftFontClose.
2889 (xftfont_prepare_face): Don't block input while calling
2890 xftfont_get_colors. Adjusted for the change of struct font.
2891 (xftfont_shape): Return value of error case fixed.
2892
2893 * xrdb.c (x_load_resources): Don't setup a fontset resource.
2894
2895 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
2896 conditionals.
2897 (FONT_WIDTH): Return (f)->max_width.
2898 (struct x_display_info): Delete member `font'.
2899 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
2900 (x_find_ccl_program, x_get_font_repertory): Delete externs.
2901 (struct x_output): Change type of `font' to `struct font *'.
2902
2903 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
2904 conditionals. Don't check enable_font_backend. Delete all codes
c3f9fba8 2905 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
c6b278e7
KH
2906 (x_per_char_metric, x_encode_char): Deleted.
2907 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
2908 (x_compute_glyph_string_overhangs): Adjusted for the change of
c3f9fba8 2909 `struct face'.
c6b278e7
KH
2910 (x_draw_glyph_string_foreground)
2911 (x_draw_composite_glyph_string_foreground): Likewise.
2912 (x_draw_glyph_string): Likewise. Use font->underline_position and
2913 font->underline_thickness.
2914 (x_new_font): Renamed from x_new_fontset2.
2915 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
2916 (x_check_font): Call `check' method of a font driver.
2917 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
2918 (x_query_font, x_get_font_repertory): Deleted.
2919 (x_find_ccl_program): Renamed and moved to xfont.c.
2920 (x_redisplay_interface): Adjusted for the change of `struct
2921 redisplay_interface'.
2922
2923 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
2924 conditionals. Don't check enable_font_backend. Delete all codes
2925 used only when USE_FONT_BACKEND is not defined. Surround non-used
2926 code by "#ifdef OLD_FONT" and "endif".
2927 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
2928
2929 * w32font.h (struct w32font_info): New member.
2930 (FONT_COMPAT): New macro.
2931 (w32font_open_internal): Prototype adjusted.
2932
2933 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
2934 OLD_FONT" and "endif".
2935
2936 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
2937 conditionals. Don't check enable_font_backend. Delete all codes
2938 used only when USE_FONT_BACKEND is not defined.
2939 (w32font_open): Return a font-object. Make a font-object by
2940 font_make_object. Adjusted for the change of struct w32font_info.
2941 (w32font_close): Don't free struct font. Adjusted for the change
2942 of struct w32font_info.
2943 (w32font_encode_char, w32font_text_extents, w32font_draw):
2944 Adjusted for the change of struct w32font_info.
2945 (w32font_draw): Likewise.
2946 (w32font_list_internal): Return a list, not vector.
2947 (w32font_open_internal): Change the 4th arg to font-object.
c3f9fba8 2948 Adjusted for the change of struct w32font_info and font-object format.
c6b278e7
KH
2949 (add_font_name_to_list): Don't downcase names.
2950 (w32_enumfont_pattern_entity): Make a font-entity by
2951 font_make_entity. Adjusted for the format change of font-entity.
2952 Use FONT_SET_STYLE to set a style-related font property. If a
2953 font is scalable, set avgwidth property to 0. Set font-entity
2954 property by font_put_extra.
c3f9fba8 2955 (font_matches_spec): Adjusted for the format change of font-entity.
c6b278e7
KH
2956 (w32_weight_table, w32_decode_weight): New variables.
2957 (w32_encode_weight): New function.
2958 (fill_in_logfont): Adjusted for the format change of font-spec.
2959 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
2960 weight value.
2961 (w32font_driver): Adjusted for the change of struct font_driver.
2962
2963 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
f245f2c6 2964 conditionals. Don't check enable_font_backend. Surround non-used
c6b278e7
KH
2965 code by "#ifdef OLD_FONT" and "endif".
2966 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
2967 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
2968
2969 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
2970 conditionals. Don't check enable_font_backend. Delete all codes
2971 used only when USE_FONT_BACKEND is not defined. Surround non-used
2972 code by "#ifdef OLD_FONT" and "endif".
2973
2974 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
c3f9fba8
JB
2975 (uniscribe_open): Return value changed to font-object.
2976 Adjusted for the format change of font-object.
2977 (uniscribe_otf_capability): Adjusted for the change of struct font.
c6b278e7
KH
2978 (add_opentype_font_name_to_list): Don't downcase names.
2979 (uniscribe_font_driver): Adjusted for the change of struct
2980 font_driver.
2981
f9d4c199
CY
29822008-05-13 Chong Yidong <cyd@stupidchicken.com>
2983
2984 * dispnew.c (update_frame_1): Check if tty output is still valid
2985 before flushing it.
2986
44f249c0
JD
29872008-05-13 Jan Djärv <jan.h.d@swipnet.se>
2988
2989 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
2990 to Gtk+ menus.
2991
01bb4018
SM
29922008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
2993
3271a8f5
SM
2994 * dired.c (file_name_completion): Tweak the code so as to always do it
2995 in a single pass. Tighten the scope of some variables.
2996
01bb4018
SM
2997 * dired.c (Qdefault_directory): New var.
2998 (file_name_completion): Use it instead of Fexpand_file_name.
2999 (syms_of_dired): Initialize it.
3000
728bb8e0
SM
30012008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
3002
3003 * fileio.c (double_dollars): Remove dead code.
3004
ed4c17bb
EZ
30052008-05-10 Eli Zaretskii <eliz@gnu.org>
3006
6c5665e9
EZ
3007 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
3008 Mention w32-get-true-file-attributes in doc string.
3009
ed4c17bb
EZ
3010 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
3011
71e1f69d
GM
30122008-05-09 Glenn Morris <rgm@gnu.org>
3013
3014 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
3015 2008-04-23.
3016
ee7a2e7a
EZ
30172008-05-09 Eli Zaretskii <eliz@gnu.org>
3018
8aaaec6b
EZ
3019 Support for reporting owner and group of each file on MS-Windows:
3020 * dired.c (stat_uname, stat_gname): New functions, with special
3021 implementation for w32.
3022 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
3023
ee7a2e7a
EZ
3024 * w32.c: Rename the_passwd_* to dflt_passwd_*.
3025 (dflt_group_name): New static variable.
728bb8e0 3026 (dflt_group): Rename from the_group.
ee7a2e7a
EZ
3027 (init_user_info): Init dflt_group fields. Get user's group name
3028 from LookupAccountSid.
8aaaec6b
EZ
3029 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
3030 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
3031 New initialization states.
3032 (globals_of_w32): Initialize them to zero. Initialize the default
3033 group name to "None".
3034 (GetFileSecurity_Name): New global var, the name of the function
3035 to call for GetFileSecurity.
3036 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
3037 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
3038 (get_file_security, get_security_descriptor_owner)
3039 (get_security_descriptor_group, is_valid_sid)
3040 (get_file_security_desc, get_rid, get_name_and_id)
3041 (get_file_owner_and_group): New functions.
3042 (stat): Use get_file_security_desc and get_file_owner_and_group to
3043 report the owner and primary group of each file. Don't ignore the
728bb8e0
SM
3044 high 32 bits of file's size, now that st_size is 64-bit wide.
3045 Fix test when to get true file attributes.
8aaaec6b
EZ
3046 (init_user_info): Use get_rid instead of equivalent inline code.
3047 (fstat): Don't ignore the high 32 bits of file's size.
ee7a2e7a 3048
b199c436
CY
30492008-05-09 Chong Yidong <cyd@stupidchicken.com>
3050
3051 * image.c (png_load): Use correct bit-depth for setting background
3052 color.
3053
86914123
EZ
30542008-05-08 Eli Zaretskii <eliz@gnu.org>
3055
3056 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
3057 epa-hook.elc.
3058
67b5d7de
JB
30592008-05-08 Juanma Barranquero <lekktu@gmail.com>
3060
3061 * font.c (Ffont_match_p): Don't use `iff' in docstring.
3062
1a111394
DN
30632008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
3064
3065 * macfns.c (Fx_create_frame): Make a copy of frame parameters
3066 because the original parameters are in pure storage now.
3067 (mac_window): Remove unused params. Update callers.
3068
6d77fa95
SM
30692008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
3070
7a3d90dc
SM
3071 * lread.c (substitute_object_recurse): Use lower-level primitives.
3072 Don't signal errors when traversing sub-char-tables.
3073 Don't loop over all the possible characters when traversing char-tables.
3074
6d77fa95
SM
3075 * print.c (print_preprocess): Add sub-char-tables to the print-table,
3076 just like we do in print.c.
3077
140eb764
SM
30782008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
3079
3080 * minibuf.c (Ftry_completion): Remove code left over from when we used
3081 scmp instead of Fcompare_strings.
3082
e9184ccb
JB
30832008-05-04 Juanma Barranquero <lekktu@gmail.com>
3084
3085 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
3086
0e9378b3
YM
30872008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3088
3089 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
3090 Create bitmap context in native byte order.
3091
f67e15be
MB
3092 * macterm.c (XDrawLine)
3093 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
3094 context in native byte order.
064032d0 3095
f67e15be 30962008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
50eff40f
YM
3097
3098 * config.in: Regenerate.
3099
3100 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
3101 New definitions for Image I/O support.
3102 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
3103 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
3104 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
3105 (mac_data_provider_release_data, image_load_image_io)
3106 [USE_MAC_IMAGE_IO]: New functions.
3107 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
3108 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
3109 (init_image_func_pointer) [MAC_OSX]: Remove function.
3110 (image_load_quartz2d) [MAC_OSX]: Check availability of
3111 CGImageCreateWithPNGDataProvider at compile time.
3112 Use lowercase `false' for boolean constant.
3113 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
3114 Use image_load_image_io.
3115 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
3116 Don't check MyCGImageCreateWithPNGDataProvider.
3117 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
3118 Don't call init_image_func_pointer.
3119
3120 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
3121
3122 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
3123 Make variable non-static.
3124 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
3125 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
3126
3127 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
3128 (RED_FROM_ULONG): Mask off higher bits.
3129 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
3130
3131 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
3132 Include AvailabilityMacros.h.
3133 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
3134 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
3135
c6bff69e
SM
31362008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
3137
3138 * chartab.c (Fset_char_table_range): If range is t, really set all
3139 chars to that value.
3140
7412d429
EZ
31412008-05-03 Eli Zaretskii <eliz@gnu.org>
3142
3143 * dired.c (Ffile_attributes): Don't allow the device number become
3144 negative.
3145
f83bbfac
DU
31462008-05-02 Daiki Ueno <ueno@unixuser.org>
3147
5a81d3d7 3148 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
f83bbfac 3149
2e3148e2
JL
31502008-05-02 Juri Linkov <juri@jurta.org>
3151
3152 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
728bb8e0
SM
3153 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
3154 DEFAULT argument as a list of default values in docstrings.
2e3148e2 3155
923fb88c
CY
31562008-05-01 Chong Yidong <cyd@stupidchicken.com>
3157
3158 * puresize.h (BASE_PURESIZE): Increase to 1210000.
3159
047aaeb9
MR
31602008-05-01 Martin Rudalics <rudalics@gmx.at>
3161
3162 * dispnew.c (change_frame_size_1): Preserve small windows when
3163 shrinking frames by calling set_window_height|width with third
3164 arg 2.
3165
3166 * window.h (struct window): Replace field too_small_ok by field
3167 resize_proportionally.
3168
3169 * window.c (make_window): Initialize resize_proportionally.
3170 (enlarge_window): Temporarily set resize_proportionally to make
3171 sure that shrink_windows does scale the window proportionally.
3172 (shrink_windows): When window has resize_proportionally set try
3173 to shrink it proportionally by stealing from other windows.
3174 (struct saved_window, Fset_window_configuration)
3175 (compare_window_configurations): Handle resize_proportionally.
3176 (WINDOW_TOTAL_SIZE): New macro.
3177 (window_min_size, shrink_windows, size_window): Use it.
c6bff69e 3178 (check_min_window_sizes): Remove. Invalid values of
047aaeb9
MR
3179 window-min-height|width are handled by window_min_size_2 now.
3180 (size_window, Fsplit_window, enlarge_window)
3181 (adjust_window_trailing_edge, grow_mini_window): Don't call
3182 check_min_window_sizes.
c6bff69e
SM
3183 (window_min_size_2, window_min_size_1, window_min_size):
3184 New argument safe_p for retrieving "safe" minimum sizes.
c3f9fba8 3185 (Fdisplay_buffer, Fsplit_window, enlarge_window)
c6bff69e
SM
3186 (adjust_window_trailing_edge, grow_mini_window):
3187 Adjust arguments of window_min_size... functions.
047aaeb9
MR
3188 (shrink_windows): Argument min_size removed. New argument
3189 safe_p allows shrinking windows to their safe minimum sizes.
3190 Calculate minimum size and decide whether a window shall be
3191 deleted for each window individually.
3192 (size_window): When nodelete_p equals 2, tell shrink_windows to
3193 delete windows only if their new minimum size is no more safe.
3194 (shrink_window_lowest_first): Call window_min_size_1 to make
3195 sure to preserve modeline of bottom-most window when resizing
3196 the minibuffer.
3197 (Fset_window_configuration, Fcurrent_window_configuration)
3198 (compare_window_configurations): Do not handle
3199 window-min-height|width any more.
3200 (syms_of_window): Clarify window-min-height|width doc-strings.
3201
2a54a229
SM
32022008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
3203
3204 * dired.c (file_name_completion): Fix up the encoding/decoding issue
3205 some more. Copy some of the code from Ftry_completions.
3206 Remove special case code that dates back to initial revision when the
3207 slash was only added when necessary and that can't trigger nowadays.
3208
384bc634
KH
32092008-04-27 Kenichi Handa <handa@m17n.org>
3210
3211 * font.c (font_prop_validate): Signal `error' instead of `font'.
3212
2c2279c6
JR
32132008-04-29 Jason Rumney <jasonr@gnu.org>
3214
3215 * w32fns.c (Fw32_battery_status): New defun.
3216 (syms_of_w32fns): Defsubr it.
3217
fb4a622a
AS
32182008-04-28 Andreas Schwab <schwab@suse.de>
3219
3220 * dired.c (file_name_completion): Fix another mixing of encoded
3221 and decoded names.
3222
23f250f4
JB
32232008-04-28 Juanma Barranquero <lekktu@gmail.com>
3224
3225 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
3226
d8d30dff
JB
32272008-04-27 Juanma Barranquero <lekktu@gmail.com>
3228
3229 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
3230
ea6104a8
AS
32312008-04-27 Andreas Schwab <schwab@suse.de>
3232
9c691c00
AS
3233 * dired.c (file_name_completion): Fix inappropriate mixing of
3234 encoded and decoded names.
3235
ec1bf773
AS
3236 * xterm.c (XTread_socket): Fix use of uninitialized variable.
3237
ea6104a8
AS
3238 * puresize.h (BASE_PURESIZE): Increase to 1200000.
3239
01388a3d
EZ
32402008-04-26 Eli Zaretskii <eliz@gnu.org>
3241
3242 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
3243 2008-03-31, it's not needed anymore with `struct stat' definition
3244 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
3245 for the same reasons.
3246
175aea10 32472008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
27af566c
CY
3248
3249 * m/sparc.h: Additional redefinitions for GNU/Linux.
3250
1289aeb8
YM
32512008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3252
3253 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
3254 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
3255 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
3256 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
3257 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
3258 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
3259 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
3260 Likewise.
3261
3262 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
c3f9fba8 3263 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
1289aeb8
YM
3264 (mac_ax_number_of_characters): Add externs.
3265 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
3266 [USE_MAC_TSM]: Likewise.
3267 (mac_handle_text_input_event) [MAC_OSX]:
3268 Handle kEventTextInputOffsetToPos for no active input area case.
3269 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
3270 (mac_handle_document_access_event)
3271 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
3272 (install_application_handler) [MAC_OSX]: Register handlers for
3273 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
3274 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
3275 Register mac_handle_document_access_event.
3276
3277 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
3278 Make functions non-static.
3279
dbd50d4b
SM
32802008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
3281
3282 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
3283 (read_file_name_completion_ignore_case, insert_default_directory)
3284 (Qdefault_directory): Move to minibuffer.el.
3285 (Fread_file_name): Call the new `read-file-name' instead.
3286
9ea37b9d 32872008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
81fe843b
YM
3288
3289 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
3290 Make function non-static.
3291 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
3292 Remove function.
3293 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
3294 Move to mactoolbox.c.
3295 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
3296
3297 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
3298 (mac_rect_make): New macro.
3299
3300 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
3301 instead of float.
3302 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
3303 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
3304 (XSetBackground) [USE_CG_DRAWING]: Likewise.
3305 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
3306 CGRectMake.
3307 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
3308 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
3309 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
3310 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
3311 instead of WindowRef in argument type.
3312 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
3313 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
3314 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
3315 instead of DISPLAY. All uses changed.
3316 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
3317 (x_calc_absolute_position): Simplify so as not to use
3318 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
81fe843b
YM
3319
3320 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
3321 instead of WindowRef in argument type.
3322 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
3323 [TARGET_API_MAC_CARBON]: Remove externs.
3324 (create_apple_event, mac_event_parameters_to_lisp)
3325 [TARGET_API_MAC_CARBON]: Add externs.
3326
d8d30dff 3327 * mactoolbox.c (Vmac_ts_script_language_on_focus)
81fe843b
YM
3328 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
3329 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
3330 is clicked.
3331 (x_activate_menubar): Remove extern for saved_menu_event_location.
3332 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
3333 Move from mac.c.
3334
9ea37b9d 33352008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
a1b41389
YM
3336
3337 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
3338 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
3339
9ea37b9d 33402008-04-23 Jason Rumney <jasonr@gnu.org>
bd735631
JR
3341
3342 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
3343 attributes only for local files.
3344
3345 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
e9184ccb 3346 default to Qlocal.
bd735631 3347
88970542
JL
33482008-04-22 Juri Linkov <juri@jurta.org>
3349
3350 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
3351 read-buffer-to-switch instead of using the letter "B".
3352
92ec67e3
SM
33532008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
3354
3355 * fileio.c (Qdefault_directory): New variable.
3356 (Fread_file_name): Use it to pass `dir' to the completion functions.
3357
a32b2382
CY
33582008-04-20 Chong Yidong <cyd@stupidchicken.com>
3359
2a2e8de7 3360 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
a32b2382 3361
6c8b4f07
SM
33622008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
3363
ece5f847
SM
3364 * keyboard.c (Vpre_help_message): Remove.
3365 (show_help_echo): Remove default C code.
3366
6c8b4f07
SM
3367 * dired.c (directory_files_internal, file_name_completion):
3368 Only call ENCODE_FILE if the string is indeed decoded.
3369
73d798d5
SM
33702008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
3371
3372 * Makefile.in (TOOLKIT_DEFINES): Remove.
3373 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
3374
d8d30dff 33752008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9e13f0c3
YM
3376
3377 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
3378 (mactoolbox.o): New target.
3379
3380 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
3381 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
3382
3383 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
3384 Use mac_set_frame_window_background instead of XSetWindowBackground.
3385 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
3386 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
3387 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
3388 instead of SetWindowTitleWithCFString.
3389 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
3390 Move function to mactoolbox.c.
3391 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
3392 Use mac_set_window_modified instead of SetWindowModified.
3393 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
3394 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
3395 (Fx_focus_frame): Use mac_front_non_floating_window instead of
3396 FrontNonFloatingWindow. Use mac_activate_window instead of
3397 ActivateWindow. Use mac_active_non_floating_window instead of
3398 ActiveNonFloatingWindow.
3399 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
3400 Use mac_show_hourglass and mac_hide_hourglass.
3401 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
3402 instead of GetGlobalMouse.
3403 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
3404 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
3405 Use mac_bring_window_to_front instead of BringToFront.
3406 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
3407 mactoolbox.c.
3408 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
3409 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
3410 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
3411 mactoolbox.c.
3412
3413 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
3414 (XtPointer): Move typedef from macmenu.c.
3415 (enum button_type): Move enum from macmenu.c.
3416 (widget_value): Move typedef from macmenu.c.
3417 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
3418 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
3419 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
3420 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
3421 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
3422 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
3423 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
3424 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
3425 (Selection): Move typedef from macselect.c.
3426 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
3427 macterm.c.
3428 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
3429 (mac_is_window_collapsed, mac_bring_window_to_front)
3430 (mac_send_window_behind, mac_hide_window, mac_show_window)
3431 (mac_collapse_window, mac_front_non_floating_window)
3432 (mac_active_non_floating_window, mac_activate_window)
3433 (mac_move_window_structure, mac_move_window, mac_size_window)
3434 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
3435
3436 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
3437 (enum mac_menu_kind): Move enum to mactoolbox.c.
3438 (min_menu_id): Move variable to mactoolbox.c.
3439 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
3440 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
3441 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
3442 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
3443 [TARGET_API_MAC_CARBON]: Likewise.
3444 (XtPointer): Move typedef to macgui.h.
3445 (enum button_type): Move enum to macgui.h.
d02fe47d
MB
3446 (widget_value): Move typedef to macgui.h.
3447 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
3448 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
3449 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
3450 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
3451 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
3452 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
3453 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
3454 (popup_activated_flag): Make variable non-static.
3455 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
3456 (add_menu_item, fill_menu, dispose_menus):
3457 Move functions to mactoolbox.c.
3458 (restore_show_help_function, menu_target_item_handler)
3459 (install_menu_target_item_handler, mac_handle_dialog_event)
3460 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
3461 [TARGET_API_MAC_CARBON]: Likewise.
3462 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
3463 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
3464 (find_and_call_menu_selection, name_is_separator): Make function
3465 non-static.
3466 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
3467 to mactoolbox.c.
3468 (set_frame_menubar): Don't call install_menu_quit_handler.
3469 (menu_item_selection): New variable.
3470 (mac_menu_show): Use create_and_show_popup_menu.
3471 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
3472 selection but set variable menu_item_selection. All uses changed.
3473 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
3474 Call install_menu_quit_handler. Move to mactoolbox.c.
edd3ff1d 3475
d02fe47d
MB
3476 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
3477 (Selection): Move typedef to macgui.h.
3478 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
3479 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
3480 Make variables non-static.
3481 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
3482 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
3483 Make functions non-static.
3484 (Vmac_service_selection) [MAC_OSX]: Likewise.
3485 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
3486 (mac_valid_selection_target_p, mac_clear_selection)
3487 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
3488 (mac_put_selection_value, mac_selection_has_target_p)
3489 (mac_get_selection_value, mac_get_selection_target_list)
3490 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
3491 Move functions to mactoolbox.c.
3492 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
3493 Likewise.
3494 (copy_scrap_flavor_data, mac_handle_service_event)
3495 (install_service_handler) [MAC_OSX]: Likewise.
3496 (syms_of_macselect) <Vmac_dnd_known_types>:
3497 Use mac_dnd_default_known_types.
463f55ee 3498
d02fe47d
MB
3499 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
3500 Move to mactoolbox.c.
3501 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
3502 (Fx_selection_owner_p): Add EXFUN.
3503 (install_window_handler, remove_window_handler, XSetWindowBackground):
3504 Remove externs.
3505 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
3506 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
3507 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
3508 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
3509 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
3510 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
3511 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
3512 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
3513 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
3514 (create_and_show_popup_menu, mac_get_selection_from_symbol)
3515 (mac_valid_selection_target_p, mac_clear_selection)
3516 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
3517 (mac_put_selection_value, mac_selection_has_target_p)
3518 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
3519 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
3520 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
3521 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
3522 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
3523 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
3524 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
3525 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
3526 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
463f55ee 3527
d02fe47d 3528 * mactoolbox.c: New file.
af253914 3529
d8d30dff 35302008-04-18 Jason Rumney <jasonr@gnu.org>
af253914 3531
d02fe47d 3532 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
af253914 3533
8ee085a4
SM
35342008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
3535
73d798d5
SM
3536 * character.c (Fmultibyte_char_to_unibyte):
3537 Return latin1 chars unchanged.
5556875b 3538
8ee085a4
SM
3539 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
3540 relocated if it points to `name'.
3541
5dff5999
KH
35422008-04-17 Kenichi Handa <handa@m17n.org>
3543
3544 * data.c (Faset): Allow setting a multibyte character in an
3545 ASCII-only unibyte string.
3546
3547 * lisp.h (STRING_SET_MULTIBYTE): New macro.
3548
a51f4969
SM
35492008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
3550
3551 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
3552 done in config.h.
3553
add553ac
JB
35542008-04-16 Juanma Barranquero <lekktu@gmail.com>
3555
3556 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
3557 (Fchar_direction): Add usage in the docstring.
3558
8ad7b280
CY
35592008-04-15 Chong Yidong <cyd@stupidchicken.com>
3560
3561 * keyboard.c (read_key_sequence): Remove always-true checks.
3562
e157d7ba
JR
35632008-04-14 Jason Rumney <jasonr@gnu.org>
3564
3565 * w32font.c (w32font_open_internal): Set max_bounds.descent in
3566 compatibility struct, for better underline positioning.
3567
9ec3aaef 35682008-04-13 David Hansen <david.hansen@gmx.net>
48f7d213
MA
3569
3570 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
3571 string.
3572
36c08864
DN
35732008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
3574
3575 * m/hp800.h (XUINT, XSET): Remove.
3576
f5acc071
JB
35772008-04-12 Juanma Barranquero <lekktu@gmail.com>
3578
3579 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
3580 previous change.
3581
5b5a2ea1
SM
35822008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
3583
3584 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
3585 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
3586
492d9fd6
SM
35872008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
3588
3589 * keymap.h (map_keymap_canonical): Declare.
3590 * xmenu.c (single_keymap_panes): Use it.
3591
dd60787c
GM
35922008-04-11 Glenn Morris <rgm@gnu.org>
3593
3594 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
3595 set the target's value to that of the alias.
3596
c23b5410
SM
35972008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
3598
3599 * term.c (set_tty_color_mode): Left over typo.
3600
e89b536d
MA
36012008-04-10 Michael Albinus <michael.albinus@gmx.de>
3602
3603 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
f5acc071 3604 only after check for file name handler functions. Signal, when
e89b536d
MA
3605 native functionality is not supported.
3606 (syms_of_fileio): Declare it unconditionally.
3607
40a339c8
JR
36082008-04-10 Jason Rumney <jasonr@gnu.org>
3609
31403b24
JR
3610 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
3611 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
3612
40a339c8
JR
3613 * w32.c (logon_network_drive): Also logon to remote drives that
3614 are mapped to drive letters.
3615
96a7394f
GM
36162008-04-10 Glenn Morris <rgm@gnu.org>
3617
3618 * xdisp.c (truncate-partial-width-windows): Doc fix.
3619
34b67b0f
SM
36202008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
3621
3622 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
3623 Move functions to minibuffer.el.
3624 (syms_of_fileio): Don't declare them.
3625
c025fb0a
SM
36262008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
3627
ba5ff07b
SM
3628 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
3629 (syms_of_minibuf): Remove its initialization.
3630
c025fb0a
SM
3631 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
3632
7a6a86ad
JB
36332008-04-09 Juanma Barranquero <lekktu@gmail.com>
3634
3635 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
3636
cf907d69
JR
36372008-04-09 Jason Rumney <jasonr@gnu.org>
3638
3dc94c30
JR
3639 * makefile.w32-in (distclean): Delete makefile too.
3640 (maintainer-clean): New target.
3641
8d28646b
JR
3642 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
3643
cf907d69
JR
3644 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
3645 for new font backend and composite cases.
3646
ef5eb925
JD
36472008-04-09 Jan Djärv <jan.h.d@swipnet.se>
3648
3649 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
3650 Most of the code moved to run_timers.
3651 (do_pending_atimers): Call run_timers.
3652 (run_timers): New function.
3653
cf907d69
JR
3654 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
3655 run atimers.
ef5eb925
JD
3656
3657 * process.c (wait_reading_process_output): The same as above.
3658
9b2cd403
SM
36592008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
3660
32bae13c
SM
3661 * minibuf.c (last_exact_completion): Remove variable.
3662 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
3663 (complete_and_exit_1, complete_and_exit_2)
3664 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
3665 (Fdisplay_completion_list, display_completion_list_1)
3666 (Fminibuffer_completion_help, Fself_insert_and_exit)
8d28646b
JR
3667 (Fexit_minibuffer, Fminibuffer_message): Move functions to
3668 minibuffer.el.
32bae13c
SM
3669 (syms_of_minibuf): Remove corresponding initializations.
3670
5c4cc82a
SM
3671 * keyboard.c (Qdeactivate_mark): New var.
3672 (command_loop_1): Use it to call `deactivate-mark'.
3673 (syms_of_keyboard): Initialize it.
3674
9b2cd403
SM
3675 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
3676 to another frame.
3677 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
3678 Don't call set_tty_color_mode.
3679 (store_frame_param): Reset previous_frame rather than call
3680 set_tty_color_mode.
3681 * term.c (set_tty_color_mode): Rewrite.
3682 * dispextern.h (set_tty_color_mode): New type.
3683 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
3684
84cb7b45
SM
36852008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
3686
3687 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
3688 for generic chars, which do not exist any more in emacs-unicode.
3689
3ed051d4
MA
36902008-04-08 Michael Albinus <michael.albinus@gmx.de>
3691
3692 * coding.c (detect_coding_emacs_mule)
3693 (Ffind_operation_coding_system): Fix typo.
3694
58c3ea42
JR
36952008-04-08 Jason Rumney <jasonr@gnu.org>
3696
3bf8d230
JR
3697 * w32uniscribe.c (SNAME): Extract only symbol name.
3698
56a70cca
JR
3699 * w32font.h (struct w32_metric_cache): New struct.
3700 (w32font_info): Use it.
3701 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
3702 (CACHE_BLOCKSIZE): New constants.
3ed051d4 3703
58c3ea42
JR
3704 * w32font.c (Qja, Qko, Qzh): New symbols.
3705 (syms_of_w32font): Initialise them.
3706 (font_matches_spec): Use them to filter by language.
3707 (recompute_cached_metrics): Remove function.
3708 (compute_metrics, clear_cached_metrics): New functions.
3709 (w32font_encode_char): Use them to manage metric cache.
3710 (w32font_text_extents): Cache metrics for all glyphs on demand.
3711 Delay converting glyph indices to WORD until needed.
3712 (w32font_open_internal): Initialize metric cache to empty.
3713 (registry_to_w32_charset): Charset should always be a symbol.
3714 (fill_in_logfont, list_all_matching_fonts): Family should
3715 always be a symbol.
3716
0ce24b2d
JR
37172008-04-06 Jason Rumney <jasonr@gnu.org>
3718
3719 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
3720 Give up if glyph indices not supported. Use uniscribe obtained
3721 ABC widths for individual metrics. Map glyph clusters back to
3722 characters using fClusterStart flag. Return number of glyphs
3723 produced, not chars processed.
b7655e0c 3724 (uniscribe_shape): Map char at FROM to current glyph.
0ce24b2d 3725
5bc6ddff 37262008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
56613f06 3727
fbf57abb
JB
3728 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
3729 Use SetMenuItemHierarchicalMenu.
56613f06 3730
5bc6ddff 37312008-04-05 Jason Rumney <jasonr@gnu.org>
93421a1f 3732
5bc6ddff
MB
3733 * image.c (pbm_load): Allow color values up to 65535.
3734 Throw an error if max_color_idx is outside the supported range.
3735 Report an error when image size is invalid.
3736 Read two bytes at a time when raw images have max_color_idx above 255.
1f816871 3737
5bc6ddff 37382008-04-05 Eli Zaretskii <eliz@gnu.org>
5ed6ba5b 3739
5bc6ddff
MB
3740 * w32.c (readdir): If FindFirstFile/FindNextFile return in
3741 cFileName a file name that includes `?' characters, use the 8+3
3742 alias in cAlternateFileName instead.
5ed6ba5b 3743
5bc6ddff 37442008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
32c06229 3745
5bc6ddff
MB
3746 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
3747 append "CCL: Quitted" when the CCL program is quitted.
3748 (setup_ccl_program): Initialize ccl->quit_silently to zero.
32c06229 3749
5bc6ddff 3750 * ccl.h (struct ccl_program): New member quit_silently.
32c06229 3751
c36e15db
CY
37522008-04-05 Chong Yidong <cyd@stupidchicken.com>
3753
9605d567
CY
3754 * search.c (compile_pattern_1): Treat non-nil and non-string of
3755 search-spaces-regexp as nil.
3756
c36e15db
CY
3757 * minibuf.c (Fassoc_string): Tweak docstring.
3758
40beb147
EZ
37592008-04-05 Eli Zaretskii <eliz@gnu.org>
3760
3761 * dired.c (Ffile_attributes): Support inode numbers wider than 32
3762 bits. Remove ugly WINDOWSNT-specific kludge introduced on
3763 2008-03-14 to force inode be positive.
3764
3765 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
3766 _S_* ones, since we now use our own sys/stat.h.
3767 (stat, fstat): Don't mangle the inode number.
aa08d1ff 3768 (init_user_info): Don't restrict UID and GID to 0-60000 range.
40beb147 3769
4591d6cb
SM
37702008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
3771
d4417eb0
SM
3772 * frame.h (struct frame): Give one more bit to `visible' since we use
3773 values larger than 1 to indicate obscured frames on ttys.
3774
00f7c5ed
SM
3775 * keymap.c (Qkeymap_canonicalize): New var.
3776 (Fmap_keymap_internal): New fun.
3777 (describe_map): Use keymap-canonicalize.
3778
4591d6cb
SM
3779 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
3780 (Fundo_boundary): Set them.
3781 (syms_of_undo): Initialize them.
3782 (record_point): Use them instead of last_point_position*.
3783 (last_undo_buffer): Change type.
3784
3187540e
JR
37852008-04-04 Jason Rumney <jasonr@gnu.org>
3786
0ce24b2d
JR
3787 * w32font.c (w32font_text_extents): Use font's ascent and descent.
3788 (recompute_cached_metrics): Don't set ascent and descent per char.
3789
3187540e 3790 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
4591d6cb 3791 (uniscribe_check_otf): Add GC protection before consing.
d0bfec76 3792 Rearrange loop for counting features.
3187540e 3793
f1a6b216
SM
37942008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
3795
3796 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
3797 buffer with byte-size of source buffer.
3798
1d8dcf63
CY
37992008-04-03 Chong Yidong <cyd@stupidchicken.com>
3800
3801 * callint.c (Fcall_interactively): Handle temporary region even
3802 when shift-select-mode is off.
3803
6b8aa22a
JR
38042008-04-03 Jason Rumney <jasonr@gnu.org>
3805
3806 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
3807
2f3cbb32
KH
38082008-04-03 Kenichi Handa <handa@m17n.org>
3809
3810 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
3811 (CATEGORY_MASK_UTF_16): Likewise.
3812 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
3813 binary file.
3814 (detect_coding): Add null-byte detection for a binary file.
3815 (detect_coding_system): Likewise.
3816
43f4f91c
JR
38172008-04-03 Jason Rumney <jasonr@gnu.org>
3818
0c1b4ae2
JR
3819 * w32uniscribe.c: New file.
3820
3821 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
3822
3823 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
3824
3825 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
3826 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
3827 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
3828 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
3829 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
3830 (Qphonetic): New symbols.
3831 (syms_of_w32font): Initialize them.
3832 (font_supported_scripts): Use them.
3833 (w32font_list_family): List all charsets.
3834 (w32font_text_extents, recompute_cached_metrics): Fix metric
3835 calculations.
3836 (w32_enumfont_pattern_entity): Make full_type a DWORD.
3837 Give opentype fonts their own format.
3838 (font_matches_spec): New arguments backend and logfont.
3839 Handle :otf spec for uniscribe backend.
3840 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
3841 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
4591d6cb 3842
0c1b4ae2
JR
3843 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
3844 font backend.
3845 (globals_of_w32fns): Initialize uniscribe font backend.
3846
fbf57abb 3847 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
0c1b4ae2
JR
3848 dependencies.
3849 (w32uniscribe.$(O)): New file to build.
3850 (FONT_OBJ): Include w32uniscribe.$(O).
3851 (LIBS): Add uniscribe libraries.
3852
43f4f91c
JR
3853 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
3854
75043a7d
CY
38552008-04-02 Chong Yidong <cyd@stupidchicken.com>
3856
3857 * callint.c (Vshift_select_mode): New var.
3858 (Finteractive): Document new ^ spec.
3859 (Fcall_interactively): Call handle-shift-selection if the ^ spec
3860 is present.
3861
3862 * keyboard.c (Vthis_command_keys_shift_translated): New var.
3863 (command_loop_1): Avoid running the direct display versions of
3864 forward-char and backward-char if shift-selection may occur.
75043a7d
CY
3865 (read_key_sequence): Set Vthis_command_keys_shift_translated if
3866 shift-translation takes place.
3867
3868 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
3869 avoid clobbering by define-minor-mode.
3870
3871 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
3872 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
3873
3874 * syntax.c (Fforward_word): Add ^ interactive spec.
3875
3876 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
3877 (Fscroll_right): Add ^ interactive spec.
3878
b2b7f29e
SM
38792008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
3880
a432c0a6
SM
3881 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
3882
994b75e0
SM
3883 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
3884
b2b7f29e
SM
3885 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
3886
e99c7806
JL
38872008-03-31 Juri Linkov <juri@jurta.org>
3888
3889 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
3890
1c9c1270
JD
38912008-03-30 Jan Djärv <jan.h.d@swipnet.se>
3892
3893 * gtkutil.c (xg_set_geometry): Fix indentation.
994b75e0 3894 (xg_resize_outer_widget): Remove.
1c9c1270
JD
3895 (x_wm_size_hint_off): Fix indentation.
3896 (xg_frame_set_char_size): Call flush_and_sync after
3897 gtk_window_resize.
3898 (x_wm_set_size_hint): Pass NULL as geometry window to
3899 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
3900 Add menu bar and tool bar height to base height.
3901 (xg_update_frame_menubar, free_frame_menubar)
3902 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
994b75e0
SM
3903 (update_frame_tool_bar, free_frame_tool_bar):
3904 Change xg_resize_outer_widget to xg_frame_set_char_size.
1c9c1270 3905
90b3fc84
MA
39062008-03-30 Michael Albinus <michael.albinus@gmx.de>
3907
3908 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
3909 (Fdbus_call_method): New parameter TIMEOUT.
3910 (dbus-send-signal): Optimize UNGCPRO call.
3911
7ae6d1d1
JL
39122008-03-29 Juri Linkov <juri@jurta.org>
3913
3914 * window.c (Fdisplay_buffer): Move call to
3915 Vsplit_window_preferred_function out of conditions that check
3916 if window is eligible for vertical splitting.
3917 When Vsplit_window_preferred_function is non-nil, call it and use
3918 its non-nil return value as window. Otherwise, continue doing
3919 vertical splitting using Fsplit_window with arg horflag=nil.
3920 (syms_of_window) <Vsplit_window_preferred_function>: Change the
3921 default value from `split-window' to nil.
3922
f03f8f2c
JL
39232008-03-29 Juri Linkov <juri@jurta.org>
3924
3925 * callint.c (Fcall_interactively): Revert 2008-03-16 change
3926 for interactive code letters 'b' and 'B'.
3927
6d557778
EZ
39282008-03-29 Eli Zaretskii <eliz@gnu.org>
3929
3930 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
3931 multibyte string.
3932
58555d81
SM
39332008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
3934
3935 * keyboard.c (pending_funcalls): New var.
3936 (timer_check): Run it.
3937 (syms_of_keyboard): Initialize it.
3938 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
3939 (Vdelete_terminal_functions): New vars.
3940 (syms_of_terminal): Initialize them.
3941 (Fdelete_terminal): Run delete-terminal-functions.
3942 * xdisp.c (safe_eval): Rewrite.
3943 (safe_call2): New fun.
3944 * frame.c (Qdelete_frame_functions): New var.
3945 (syms_of_frame): Initialize it.
3946 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
3947 * lisp.h (safe_call2, pending_funcalls): Declare.
3948
4c92f429
AS
39492008-03-28 Andreas Schwab <schwab@suse.de>
3950
3951 * indent.c (Fmove_to_column): Move declaration before statements.
3952
a1567c45
SM
39532008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
3954
2806a183
SM
3955 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
3956 (struct frame): Use bit fields for boolean vars.
3957
eef60308
SM
3958 * process.c (server_accept_connection): Simplify naming.
3959 (emacs_get_tty_pgrp): Use SDATA.
3960
a1567c45
SM
3961 * coding.c (decode_coding_object): Fix last change.
3962
30076589
JR
39632008-03-27 Jason Rumney <jasonr@gnu.org>
3964
3965 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
3966
880820fe
KH
39672008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
3968
3969 * charset.c (Fdefine_charset_internal): Change the way of
3970 registering charsets in Vcharset_order_list.
3971 (syms_of_charset): Make the charset `eight-bit' supplementary.
3972
3cf8cdfb
CY
39732008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
3974
3975 * regex.c (EXTEND_BUFFER): Change order of pointer addition
3976 operations, to avoid having the difference between pointers
3977 overflow.
3978
ef6f5c0e
SM
39792008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
3980
80e3db56
SM
3981 * indent.c (check_display_width): New fun.
3982 (scan_for_column): Use it.
3983
c397dc7a
SM
3984 * data.c (syms_of_data): Mark most-positive-fixnum and
3985 most-negative-fixnum as constants.
3986
bf6b4d58
SM
3987 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
3988
ef6f5c0e
SM
3989 * indent.c (scan_for_column): Extract from current_column_1.
3990 Merge with the same code from Fmove_to_column.
3991 (current_column_1, Fmove_to_column): Use it.
3992
72d5003d
SM
39932008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
3994
12270607
SM
3995 * keymap.c (map_keymap_internal): New fun.
3996 (map_keymap): Use it.
3997 (Fmap_keymap_internal): New fun.
3998 (Fmap_keymap): Remove left-out test from before make_save_value.
3999
a10cca6c
SM
4000 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
4001
d7b10f4c
SM
4002 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
4003 Use XCAR/XCDR.
4004
5431bd6a
SM
4005 * process.h (struct Lisp_Process): Remove filter_multibyte.
4006 * process.c (QCfilter_multibyte): Remove.
4007 (setup_process_coding_systems): Don't use filter_multibyte.
4008 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
4009 (read_process_output): Don't adjust multibyteness to filter_multibyte.
4010 (Fset_process_filter_multibyte): Change the coding-system to
4011 approximate the previous behavior.
4012 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
4013 coding-system.
4014
72d5003d
SM
4015 * coding.c (decode_coding_object): When not decoding into a buffer,
4016 obey the coding system's preference of (uni|multi)byte.
4017
438eba3c
SM
40182008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
4019
4020 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
4021 every char is changed and has a different byte-length.
4022 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
4023 Fix int -> EMACS_INT.
4024
9ec3aaef 40252008-03-23 David Hansen <david.hansen@gmx.net>
a8e72f4f 4026
438eba3c 4027 * dbusbind.c (xd_read_message): Remove extra copying of message
a8e72f4f
MA
4028 strings. Check for NULL `interface' or `member'.
4029
b07103dc
EZ
40302008-03-22 Eli Zaretskii <eliz@gnu.org>
4031
4032 * w32.c (readdir): If FindFirstFile/FindNextFile return in
4033 cFileName a file name that includes `?' characters, use the 8+3
4034 alias in cAlternateFileName instead.
4035
5371d722
SM
40362008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
4037
4038 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
4039
6ba7f443
SM
40402008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
4041
4042 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
4043 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
4044 work on current_buffer only instead (that was already the case
4045 for some of the code anyway).
4046 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
4047 (temp_set_point, temp_set_point_both): Use EMACS_INT.
4048 (SET_PT, SET_PT_BOTH): Adjust.
4049 * intervals.h (set_point, temp_set_point, set_point_both)
4050 (temp_set_point_both): Remove redundant declarations.
4051
bf1c0f27
SM
40522008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
4053
4054 * fileio.c (Finsert_file_contents):
4055 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
4056 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
4057 when buffer != current_buffer anyway.
4058
acab783e
AS
40592008-03-20 Andreas Schwab <schwab@suse.de>
4060
4061 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
4062 as default.
4063
d148e14d
JR
40642008-03-19 Jason Rumney <jasonr@gnu.org>
4065
4066 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
4067 (syms_of_w32fns): Initialize them.
4068 (HOURGLASS_ID): New constant.
4069 (x_window_to_frame): Don't check hourglass_window.
4070 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
4071 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
4072 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
4073 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
4074 Only change the cursor if hourglass is not active.
4075 (Fx_create_frame): Initialize frame's current_cursor.
4076 (hourglass_atimer): Remove.
4077 (hourglass_started): New function.
4078 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
4079 (show_hourglass): Adapt to w32, changing argument to frame.
4080
4081 * w32term.h (struct w32_output): Remove hourglass_window.
4082 Add current_cursor.
4083
4084 * eval.c (call_debugger, Fsignal):
4085 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
4086 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
4087 (Fexecute_extended_command, cancel_hourglass_unwind):
4088 * minibuf.c (read_minibuf):
4089 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
63558020 4090
a5c54077
JB
40912008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
4092
4093 * window.c (run_funs): New fun.
4094 (run_window_configuration_change_hook): Use it to run the buffer-local
4095 and the global part of the hook.
4096
4097 * xdisp.c (format_mode_line_unwind_data): Add window argument.
4098 (unwind_format_mode_line): Restore selected window.
4099 (x_consider_frame_title, Fformat_mode_line): Set selected window.
4100
f9f3238f
SM
41012008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
4102
253c3c82
SM
4103 * editfns.c (Fchar_equal): Check they are valid characters.
4104
f9f3238f
SM
4105 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
4106
065a118d
AS
41072008-03-17 Andreas Schwab <schwab@suse.de>
4108
0b8be006
AS
4109 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
4110 against a charset.
4111
065a118d
AS
4112 * lisp.h (Fbuffer_list): Declare.
4113
880820fe 41142008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d3b2a6da
JD
4115
4116 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
4117 handlebox_widget is != 0.
4118
6206d6c2
JL
41192008-03-16 Juri Linkov <juri@jurta.org>
4120
4121 * callint.c (Fcall_interactively): For interactive code letters
4122 'b' and 'B' put the buffer list into the list of default "future"
4123 values of the minibuffer.
4124
f5020181
AS
41252008-03-16 Andreas Schwab <schwab@suse.de>
4126
a864f6d6
AS
4127 * keyboard.c (read_key_sequence): Fix downcasing of letters with
4128 modifiers.
4129
f5020181
AS
4130 * regex.c (re_match_2_internal): Correct matching of a charset
4131 against latin-1 characters.
4132
03f244e2
KH
41332008-03-16 Kenichi Handa <handa@m17n.org>
4134
4135 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
4136 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
f9f3238f
SM
4137 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
4138 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
03f244e2
KH
4139 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
4140 CHAR_STRING_ADVANCE.
4141 (produce_chars): Fix for the case that the source and the
4142 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
4143 instead of CHAR_STRING_ADVANCE.
4144 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
4145 STRING_CHAR_ADVANCE.
4146
0e2501ed
AS
41472008-03-15 Andreas Schwab <schwab@suse.de>
4148
4149 * regex.c (re_match_2_internal): Correct matching of eight bit
4150 characters in unibyte strings.
4151
7723e095
MR
41522008-03-15 Martin Rudalics <rudalics@gmx.at>
4153
4154 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
4155 at end of range when it coincides with the end of the buffer.
4156
f507f365
EZ
41572008-03-14 Eli Zaretskii <eliz@gnu.org>
4158
294f1153
EZ
4159 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
4160
f507f365
EZ
4161 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
4162
64f0809d
JR
41632008-03-14 Jason Rumney <jasonr@gnu.org>
4164
956ae531
JR
4165 * editfns.c (initial_tz): New variable.
4166 (syms_of_editfns): Initialize it.
4167 (Fset_time_zone_rule): Set it when first called.
4168 Use it when TZSTRING is nil.
4169
64f0809d
JR
4170 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
4171 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
4172 (monitor_from_point_fn, get_monitor_info_fn): New globals.
4173 (globals_of_w32fns): Initialize them.
4174 (compute_tip_xy): Use them to position tooltips.
4175
21a4ff8e
GM
41762008-03-14 Glenn Morris <rgm@gnu.org>
4177
4178 * emacs.c (main): Revert previous change.
4179 (standard_args): Revert -internal-script back to -scriptload,
4180 and remove the long-option form.
4181
a09a5b5b
GM
41822008-03-13 Glenn Morris <rgm@gnu.org>
4183
4184 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
4185 Remove option -enable-font-backend.
4186
1c55ebd1
SM
41872008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
4188
4189 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
4190
880820fe 41912008-03-11 Jan Djärv <jan.h.d@swipnet.se>
c523e161
JD
4192
4193 * xterm.c (x_connection_closed): For GTK: If this is the last
4194 terminal just exit without closing the display.
4195
7145be81
JR
41962008-03-11 Jason Rumney <jasonr@gnu.org>
4197
4198 * w32font.c (w32font_full_name): Use floor to round.
4199
e6201af3 42002008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
ce9033f8
JD
4201
4202 * sound.c (alsa_configure): Declare vol at beginning of block.
4203
e6201af3 4204 * fontset.c (Ffontset_info): Remove extra semicolon.
ce9033f8 4205
390b81fa 42062008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
acd37560 4207
56388398
MB
4208 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
4209 size of resulting string.
af0ad939 4210
390b81fa 42112008-03-10 Jason Rumney <jasonr@gnu.org>
acd37560 4212
56388398 4213 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
acd37560 4214
390b81fa 42152008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
acd37560 4216
56388398
MB
4217 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
4218 Don't pretend as if characters with display property haven't been
4219 consumed for string-replacing-string case.
acd37560 4220
223ed6db
KS
42212008-03-08 Kim F. Storm <storm@cua.dk>
4222
4223 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
4224 (get_next_display_element, next_element_from_string)
4225 (next_element_from_ellipsis, next_element_from_buffer): Use it.
4226
28545f7c
AS
42272008-03-08 Andreas Schwab <schwab@suse.de>
4228
4229 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
4230
c960bff8
JR
42312008-03-06 Jason Rumney <jasonr@gnu.org>
4232
290afd83
JB
4233 * w32font.c (w32_registry): Take font_type argument. Use ANSI
4234 when charset not specified. Only translate ANSI to unicode when
c960bff8
JR
4235 font_type is truetype.
4236 (w32font_coverage_ok): New function.
4237 (add_font_entity_to_list): Use it to filter unsuitable fonts.
4238
87b8ce92
KH
42392008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
4240
4241 * lread.c (Fread_char): Resolve modifiers.
4242 (Fread_char_exclusive): Likewise.
4243
4244 * character.c (char_resolve_modifier_mask): New function.
4245 (char_string): Use char_resolve_modifier_mask.
4246 (Fchar_resolve_modifiers): New function.
4247 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
4248 function.
4249
cefd56f6
JR
42502008-03-04 Jason Rumney <jasonr@gnu.org>
4251
4252 * makefile.w32-in: Always include w32font.c in the build.
4253 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
4254
03bd3c1f
AS
42552008-03-04 Andreas Schwab <schwab@suse.de>
4256
4257 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
4258 (versionclean): Likewise.
4259
6f69e89b
JB
42602008-03-04 Juanma Barranquero <lekktu@gmail.com>
4261
4262 * .cvsignore: Add oo.
4263
f4a3cc44
AS
42642008-03-03 Andreas Schwab <schwab@suse.de>
4265
4266 * coding.c (decode_coding_object): Inhibit gap shrinking while
4267 decoding in place.
4268
73f838ad
DN
42692008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
4270
4271 * w32term.c: Remove unused include "gnu.h".
6f69e89b 4272 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
73f838ad
DN
4273
4274 * gnu.h: Rename to ...
4275 * emacs-icon.h: ... this.
4276 * xterm.c: Use emacs-icon.h instead of gnu.h.
4277 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
4278
ce9c1f06
JB
42792008-03-03 Juanma Barranquero <lekktu@gmail.com>
4280
4281 * w32font.c: Include math.h.
4282
34fd2d28
JR
42832008-03-03 Jason Rumney <jasonr@gnu.org>
4284
54efdcd1
JR
4285 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
4286 Compute options separately.
4287 (w32font_open_internal): Set glyph_idx before caching metrics.
4288
ce9c1f06
JB
4289 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
4290 Define if system headers don't.
4291 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
34fd2d28
JR
4292 (w32font_encode_char): Don't declare here.
4293
4294 * w32font.c (Quniscribe, QCformat): New symbols.
4295 (syms_of_w32font): Define them.
4296 (w32font_has_char): Indicate uncertainty.
ce9c1f06 4297 (w32font_encode_char): Encode as glyph point. Make static.
34fd2d28 4298 (recompute_cached_metrics): New function.
ce9c1f06
JB
4299 (w32font_open_internal): Use it. Set font to use glyph points
4300 initially. Set format based on type of font.
34fd2d28 4301 (w32font_text_extents, w32font_draw): Optionally use glyph points.
ce9c1f06
JB
4302 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
4303 on it. Set format based on information available here.
34fd2d28
JR
4304 (add_font_entity_to_list): Identify backend based on opentype_only.
4305
14daee73
AS
43062008-03-02 Andreas Schwab <schwab@suse.de>
4307
f907fb2e
AS
4308 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
4309
ce9c1f06
JB
4310 * coding.c (decode_coding_big5, produce_chars):
4311 Fix typos in last change.
14daee73 4312
c9cc6462
DN
43132008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
4314
4315 * gnu.h: New icon.
4316
119852e7
KH
43172008-03-02 Kenichi Handa <handa@m17n.org>
4318
4319 * coding.c (decode_coding_utf_8): When eol-type of CODING is
4320 `dos', don't decode '\r' if that is the last in the source.
4321 (decode_coding_utf_16, decode_coding_emacs_mule)
4322 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
4323 (decode_coding_raw_text, decode_coding_charset): Likewise.
4324 (produce_chars): Don't decode EOL here. Use EMACS_INT.
4325
a823468b
JR
43262008-03-01 Jason Rumney <jasonr@gnu.org>
4327
4328 * w32font.c (w32font_full_name): Report point size for scalable fonts.
4329
4ddc7e30
KS
43302008-03-01 Kim F. Storm <storm@cua.dk>
4331
4332 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
4333
67997c79
JR
43342008-03-01 Jason Rumney <jasonr@gnu.org>
4335
4336 * w32font.c (w32font_full_name): New function.
4337 (w32font_open_internal): Use it.
4338
3f4e9c35
KS
43392008-03-01 Kim F. Storm <storm@cua.dk>
4340
4341 * dispnew.c (line_draw_cost): Fix invalid glyph check.
4342
f3b9e479
JR
43432008-03-01 Jason Rumney <jasonr@gnu.org>
4344
4345 * font.c (font_unparse_fcname): Increase len when style is a symbol.
4346
880820fe 43472008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7ee480ce
JD
4348
4349 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
4350 xg_frame_resized when the event is for the edit widget.
4351
4352 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
4353
4354 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
4355 set_char_size.
4356 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
4357 operations on widgets here. Just set frame size if needed.
4358 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
4359 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
4360 (x_wm_set_size_hint): Set size hints on the edit widget only, not
4361 the whole frame.
4362 (xg_create_tool_bar): Move attachement of the tool bar to
4363 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
4364 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
4365
6c8acaa1
JR
43662008-03-01 Jason Rumney <jasonr@gnu.org>
4367
4368 * w32fns.c (w32_msg_pump): Disable debug code.
4369
51fb064b 43702008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
03eb5fab 4371
51fb064b 4372 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
cb681b34 4373
60221a33
CY
43742008-02-29 Chong Yidong <cyd@stupidchicken.com>
4375
4376 * xdisp.c (next_overlay_string): Don't set
4377 overlay_strings_at_end_processed_p if we're currently reading from
4378 a display string.
4379
10cbc34f
SM
43802008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
4381
4382 * xdisp.c (get_overlay_strings_1): Fix typo.
4383
73c0054e
CY
43842008-02-29 Chong Yidong <cyd@stupidchicken.com>
4385
4386 * xdisp.c (get_overlay_strings_1): Add missing argument type.
4387
ec1c4354
KH
43882008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
4389
55082642
KH
4390 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
4391
ec1c4354
KH
4392 * xdisp.c (display_mode_element): Cancel the previous change.
4393 (decode_mode_spec): Likewise.
ee548a94
KH
4394 (handle_auto_composed_prop): Don't make composition if it->string
4395 is a string.
ec1c4354 4396
b6d898a2
KS
43972008-02-27 Kim F. Storm <storm@cua.dk>
4398
4399 * lisp.h (GLYPH): Change type from int to struct with separate char
4400 and face_id members.
4401 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
4402 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
4403 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
4404 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
4405 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
4406 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
4407 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
4408 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
4409 handle new Lisp glyph code encoding, either an integer or a cons.
4410
4411 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
4412 (GLYPH_ALIAS): Delete.
4413 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
4414 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
4415 (GLYPH_FROM_CHAR): Replace macro by ...
4416 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
4417
4418 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
4419 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
4420 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
4421 (GLYPH_INVALID_P): New macro.
4422 (spec_glyph_lookup_face): Update prototype.
4423
4424 * dispnew.c (line_draw_cost): Adapt to new glyph type.
4425 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
4426 new glyph code encoding.
4427 (spec_glyph_lookup_face): No return value; update passed glyph instead.
4428 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
4429
4430 * xdisp.c (get_next_display_element, next_element_from_display_vector):
4431 Adapt to new glyph type and new glyph code encoding.
4432
4433 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
4434
4435 * indent.c (current_column, current_column_1, Fmove_to_column)
4436 (compute_motion): Adapt to new glyph code encoding.
4437
4438 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
4439
af2080a2
CY
44402008-02-27 Chong Yidong <cyd@stupidchicken.com>
4441
4442 * process.c (wait_reading_process_output): Check for window
4443 changes caused by timers.
880820fe 4444 Suggested by Johan Bockgård.
af2080a2 4445
253ed25e
GM
44462008-02-27 Glenn Morris <rgm@gnu.org>
4447
4448 * emacs.c (USAGE1): Add `--disable-font-backend'.
4449
18a9f8d9
SM
44502008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
4451
4452 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
4453 is made to the buffer.
4454
0f8b27ea
SM
44552008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
4456
4457 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
4458 (face_at_string_position):
4459 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
4460 (face_at_string_position):
4461 * xdisp.c (display_string, next_overlay_change):
4462 * buffer.h (overlays_at):
4463 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
4464 Update callers.
4465
4e7c53ca
CY
44662008-02-26 Chong Yidong <cyd@stupidchicken.com>
4467
4468 * editfns.c (Fformat): Doc fix.
4469
51c01100
JB
44702008-02-26 Juanma Barranquero <lekktu@gmail.com>
4471
4472 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
4473 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
4474 (Ffont_otf_alternates, Fquery_font): Doc fixes.
4475
13cda5f9
SM
44762008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
4477
4478 * buffer.c (Fbuffer_swap_text): New function.
4479 (syms_of_buffer): Defsubr it.
4480
8018d430
CY
44812008-02-25 Chong Yidong <cyd@stupidchicken.com>
4482
4483 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
4484
9bde1a21
JR
44852008-02-25 Jason Rumney <jasonr@gnu.org>
4486
4487 * w32font.c (w32font_draw): Draw one character at a time when padding.
4488
eeca6f6f
SM
44892008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
4490
4491 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
4492 Handle a nil arg. Use run_window_configuration_change_hook.
4493 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
4494 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
4495 Use run_window_configuration_change_hook.
4496
ec1c4354
KH
44972008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
4498
4499 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
4500 1-pixel width.
4501
ae185452
KH
45022008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
4503
4504 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
4505 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
4506 if the glyph in the font is zero pixel with.
4507
4508 * dispextern.h (struct glyph_string): New member padding_p.
4509
4510 * w32font.c (w32font_draw): Pay attention to s->padding_p.
4511
4512 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
4513
4514 * xfont.c (xfont_draw): Pay attention to s->padding_p.
4515
4516 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
4517
eeca6f6f 4518 * font.c: If the font driver doesn't have `shape' function, return Qnil.
ae185452 4519
ffe832ea 45202008-02-25 Jason Rumney <jasonr@gnu.org>
c9029fe5 4521
ffe832ea 4522 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
16782258 4523
06045130
SM
45242008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
4525
4526 Allow fine-grained image-cache flushing.
4527 * dispextern.h (struct image): Add `dependencies' field.
4528 (clear_image_caches): Change arg to Lisp_Object.
4529 * image.c (make_image): Initialize `dependencies' field.
4530 (clear_image_cache): Change arg to allow fine-grained flushing.
4531 Perform the flush even if image-cache-eviction-delay is nil.
4532 (clear_image_caches): Change arg to Lisp_Object.
4533 (Fclear_image_cache): Expand meaning of the argument.
4534 (mark_image): Mark `dependencies' field.
4535 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
4536 (lface_hash): Use XHASH rather than XFASTINT.
4537 (face_at_buffer_position): Fix int -> EMACS_INT position.
4538 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
4539 (select_frame_for_redisplay): Remove code duplication.
4540 (redisplay_internal): Adapt arg to call to clear_image_caches.
4541
9d2818d6
DN
45422008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
4543
4544 * s/vms4-0.h:
4545 * s/vms4-2.h:
4546 * s/vms4-4.h:
4547 * s/vms5-5.h: Remove, unused.
4548
4549 * s/irix5-2.h:
4550 * s/irix6-0.h:
4551 * s/riscos5.h:
4552 * s/mach-bsd4-3.h:
2a2e8de7 4553 * m/mips4.h: Remove files for obsolete systems.
9d2818d6
DN
4554
4555 * Makefile.in:
4556 * filelock.c:
4557 * unexmips.c:
4558 * m/hp9000s300.h:
4559 * m/iris4d.h:
4560 * s/aix3-1.h:
4561 * s/hpux.h:
4562 * s/msdos.h:
4563 * s/usg5-0.h:
4564 * s/usg5-2-2.h:
4565 * s/usg5-2.h:
4566 * s/usg5-3.h: Remove references to obsolete variables.
4567
4568 * s/irix5-0.h: Remove, move all the contents ...
4569 * s/irix6-5.h: ... here. Simplify.
4570 * config.in: Regenerate.
4571
2a36efcf
JR
45722008-02-24 Jason Rumney <jasonr@gnu.org>
4573
c5ad7a3d 4574 * w32term.c (x_draw_glyph_string_background): Clear the background
2face669
JR
4575 manually when cleartype is in use.
4576 (x_draw_glyph_string_foreground): Draw text transparently when
4577 cleartype is in use.
4578
2a36efcf
JR
4579 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
4580 a font into it unless we have to.
4581
b03f96dc 45822008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
92a8ce63 4583
b03f96dc
MB
4584 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
4585 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
92a8ce63 4586
b03f96dc 45872008-02-18 Jason Rumney <jasonr@gnu.org>
92a8ce63 4588
b03f96dc 4589 * w32fns.c (Fw32_shell_execute): Encode parameters.
92a8ce63 4590
b03f96dc 45912008-02-09 Eli Zaretskii <eliz@gnu.org>
20f1ef2e 4592
b03f96dc 4593 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
32d0a9dc 4594
b03f96dc 45952008-02-05 Juanma Barranquero <lekktu@gmail.com>
20f1ef2e 4596
b03f96dc 4597 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
77d1daf2 4598
d5958163
CY
45992008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
4600
4601 * xterm.c (x_set_offset): Don't change the gravity if
4602 CHANGE_GRAVITY is -1.
4603
9997701e
CY
46042008-02-23 Chong Yidong <cyd@stupidchicken.com>
4605
4606 * fileio.c (auto_save_error_occurred): New var.
4607 (auto_save_error): Set it.
4608 (Fdo_auto_save): Don't overwrite the error message if an auto-save
4609 error occurred.
4610
9d95a291
EZ
46112008-02-23 Eli Zaretskii <eliz@gnu.org>
4612
4613 * w32.c (globals_of_w32): Add initializations for
4614 g_b_init_get_sid_sub_authority and
4615 g_b_init_get_sid_sub_authority_count.
4616
43d1af23
SM
46172008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
4618
43a1d19b
SM
4619 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
4620 (font_parse_xlfd): Use them for sanity check.
608c3307 4621 (Finternal_set_font_style_table): Make sure the table is bijective.
43a1d19b 4622
354884c4
SM
4623 Consolidate the image_cache to the terminal struct.
4624 * termhooks.h (P_): Remove redundant def.
4625 (struct terminal): New field `image_cache'.
4626 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
4627 of FRAME_X_IMAGE_CACHE.
4628 * xterm.h (struct x_display_info): Remove image_cache field.
4629 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
4630 * w32term.h (struct w32_display_info): Remove image_cache field.
4631 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
4632 * macterm.h (struct mac_display_info): Remove image_cache field.
4633 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
4634 * xterm.c (x_term_init):
4635 * w32term.c (w32_term_init):
4636 * macterm.c (mac_term_init): Set the image_cache in the terminal.
4637 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
4638 Remove declarations.
4639 (clear_image_caches, mark_image_cache): New declarations.
4640 * xfaces.c (clear_face_cache):
4641 * xdisp.c (redisplay_internal): Use clear_image_caches.
4642 * image.c (clear_image_cache): Don't check that a frame is on
4643 a window-system before checking if it shares the same cache.
4644 (clear_image_caches): New function.
4645 (Fclear_image_cache): Use it.
4646 (mark_image): Move from allo.c.
4647 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
4648 * alloc.c (mark_image, mark_image_cache): Move to image.c.
4649 (mark_object): Don't call mark_image_cache for frames.
4650 (mark_terminals): Call mark_image_cache.
4651
c2e42690
SM
4652 * lisp.h (Fdelete_terminal): Declare.
4653
43d1af23
SM
4654 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
4655 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
4656 wrong_type_argument.
4657
cc8d1311
KH
46582008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
4659
4660 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
4a4bdfc7 4661 malayalam.el, and tamil.el. Add sinhala.el.
cc8d1311 4662
6bd92640
SM
46632008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
4664
4665 * xterm.c (x_connection_closed): Consolidate identical tests.
4666 (x_delete_terminal): Don't crash if called via x_connection_closed.
4667
a73b5627
KH
46682008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
4669
4670 * xdisp.c (decode_mode_spec): New arg string.
6bd92640 4671 (display_mode_element): Adjust for the above change.
a73b5627 4672
1b511542
SM
46732008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
4674
4675 * callint.c (Fcall_interactively): Use AREF.
4676
81aefea4
SM
46772008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
4678
4679 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
4680
880820fe 46812008-02-18 Jan Djärv <jan.h.d@swipnet.se>
2d7117fe
JD
4682
4683 * xfns.c (Fx_show_tip): Set string to " " if empty.
4684
a2b84f35
DN
46852008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
4686
4687 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
4688 with Qt.
4689
43c0454d
KH
46902008-02-17 Kenichi Handa <handa@m17n.org>
4691
4692 * ftfont.c (ftfont_shape): Return Lispy number.
4693
4694 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
4695 for GCs.
4696 (Finternal_set_font_selection_order): Call font_update_sort_order
4697 only when enable_font_backend is set.
4698 (realize_x_face): Set face->font_info to that of default face only
4699 when enable_font_backend is set.
4700
4701 * xdisp.c (handle_composition_prop): Set it->c to the fist
4702 characte of the composed region.
4703 (fill_composite_glyph_string): Set base_face->font_info to
4704 s->font_info. Get a face for ascii from base_face->ascii_face.
4705 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
4706 with a face already decided.
4707 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
4708 non-negative.
978bef9a
JB
4709 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
4710 call font_prepare_composition unconditionally.
43c0454d 4711
978bef9a 4712 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
43c0454d
KH
4713
4714 * xterm.h (struct x_display_info): New member font.
4715
4716 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
4717 (x_set_mouse_face_gc, x_new_font): Likewise.
4718 (x_term_init): Setup display_info->font.
4719 (x_delete_terminal): Free display_info->font.
4720
4721 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
4722
4723 * ftxfont.c (ftxfont_default_fid): Delete it.
4724 (ftxfont_open): Set xfont->fid to 0.
978bef9a 4725 (ftxfont_end_for_frame): Clear data specific to the frame and the
43c0454d
KH
4726 font-driver.
4727
4728 * xftfont.c (xftfont_default_fid): Delete it.
4729 (xftfont_open): Set xfont->fid to 0.
4730
4731 * fontset.c (FONTSET_OBJLIST): New macro.
4732 (fontset_find_font): Update font-object list of the fontset.
4733 (free_realized_fontset): New function.
4734 (free_face_fontset): Call free_realized_fontset.
4735 (Ffont_info): Call font_close_object only when enable_font_backend
4736 is set.
4737
4738 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
4739 [HAVE_NTGUI]: Include w32term.h.
4740 [MAC_OS]: Include macterm.ch.
4741 (font_otf_ValueRecord): Use make_number.
4742 (font_finish_cache): Fix handling of reference count.
4743 (font_clear_cache): Update num_fonts.
4744 (font_open_entity): Update smallest_char_width and
4745 smallest_font_height of the frame.
4746 (font_close_object): Update num_fonts.
4747 (Fclear_font_cache): Fix finding the target cache data.
4748
be617367
GM
47492008-02-16 Glenn Morris <rgm@gnu.org>
4750
4751 * fontset.c (Finternal_char_font): Fix compilation warning.
4752
2930d117
EZ
47532008-02-16 Eli Zaretskii <eliz@gnu.org>
4754
634d3003
EZ
4755 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
4756 instead of char arrays. Enlarge the size of array passed to
4757 get_token_information.
4758
2930d117
EZ
4759 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
4760 warnings.
4761
79214046
DN
47622008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
4763
4764 * .gdbinit: Don't set `args', it breaks gdb --args.
4765
7f5d2c72
SM
47662008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
4767
4768 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
4769 within a narrowed buffer.
4770
6edacc43
KH
47712008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
4772
b270d6af
JB
4773 * coding.c (decode_coding_object, encode_coding_object):
4774 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
6edacc43 4775
174105f7
SM
47762008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
4777
b270d6af
JB
4778 * coding.c (coding_set_destination): Use BEG_BYTE rather than
4779 hardcoding 1.
13818c30
SM
4780 (detect_coding_system):
4781 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
4782 (string_char_to_byte, string_byte_to_char, insert_from_gap):
4783 * insdel.c (insert_from_gap):
4784 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
4785 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
4786 (string_to_multibyte):
4787 * character.c (chars_in_text, multibyte_chars_in_text):
4788 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
4789
f1c99628
SM
4790 * character.h (FETCH_STRING_CHAR_ADVANCE)
4791 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
4792 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
4793 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
4794
7927d8e3
SM
4795 * casefiddle.c (casify_region): Only call after-change and composition
4796 functions on the part of the region that was changed.
4797
adf6a429 4798 * keyboard.c (read_avail_input):
174105f7
SM
4799 * frame.c (Fdelete_frame): Call Fdelete_terminal.
4800
3ee24aec
SM
48012008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
4802
4803 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
4804 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
4805
4ed4b975
JB
48062008-02-11 Juanma Barranquero <lekktu@gmail.com>
4807
4808 * w32menu.c (push_submenu_start, push_submenu_end)
4809 (push_left_right_boundary, push_menu_pane, push_menu_item):
4810 * keyboard.c (read_key_sequence): Don't pass args with side effects
4811 to AREF, it fails when compiling with -DENABLE_CHECKING.
4812
79e3bfb8
KH
48132008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
4814
4ed4b975
JB
4815 * Makefile.in (${lispsource}international/charprop.el):
4816 Delete this target.
6e76043f 4817
79e3bfb8
KH
4818 * search.c (boyer_moore): Fix incorrect synching of the trunk and
4819 emacs-unicode-2.
4820
5b8de9c5
SM
48212008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
4822
4823 * terminal.c (Fdelete_terminal): Clean up the `force' path.
4824
eac1939a
SM
48252008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
4826
c53956fe
SM
4827 * frame.c (Qnoelisp): New symbol.
4828 (syms_of_frame): Initialize it.
4829 (Fdelete_frame): Use it to distinguish a mere `force' passed from
4830 someharmles Elisp code, from a strong `force' from x_connection_closed.
4831 * frame.h (Qnoelisp): Declare.
4832 * xterm.c (x_connection_closed): Pass `noelisp'.
4833
eac1939a
SM
4834 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
4835 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
4836 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
4837 rather than `int' for the type of `type'.
4838
13f6772b
DN
48392008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
4840
4841 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
4842
4843 * Makefile.in (GNUC): Remove support for gcc-1.x.
4844
e8455367
RS
48452008-02-10 Richard Stallman <rms@gnu.org>
4846
4847 * lisp.h (ASET): Use AREF, not ASLOT.
4848
4b75ffab
SM
48492008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
4850
4851 * lisp.h (ASET): Check bounds.
4852
d224e8c2
GM
48532008-02-10 Glenn Morris <rgm@gnu.org>
4854
4855 * buffer.c (mode-name): Doc fix.
4856
4624371d
DN
48572008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
4858
290afd83
JB
4859 * Makefile.in:
4860 * emacs.c:
4861 * gmalloc.c:
4862 * keyboard.c:
4863 * lisp.h:
4864 * m/ibm370aix.h:
4865 * process.c:
4866 * regex.c:
4867 * s/hpux.h:
4868 * sysdep.c:
4869 * sysselect.h:
4870 * systty.h:
4871 * unexec.c:
4872 * w32term.c:
4873 * xsmfns.c:
4874 * xterm.c: Remove code that deals with obsolete variables.
4624371d
DN
4875
4876 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
4877
4878 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
4879 nothing else needs it anymore.
4880
274ec34b
EZ
48812008-02-09 Eli Zaretskii <eliz@gnu.org>
4882
4883 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
4884 instead of unibyte_char_to_multibyte.
4885
deeaffe1
DN
48862008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
4887
4888 * s/gnu-linux.h: Remove commented out code.
4889
4ed4b975 4890 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
deeaffe1
DN
4891
4892 * Makefile.in: Update what RMS says about using autoconf.
4ed4b975 4893 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
c3f9fba8 4894 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
deeaffe1
DN
4895 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
4896 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
4897
68b587a6
SM
48982008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
4899
9141ca5e
SM
4900 * keymap.c (Fkey_description): Move side effect outside of macro call.
4901
dfae5f9a 4902 * xfaces.c (Finternal_make_lisp_face):
b1ebcadb
SM
4903 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
4904
ff7a2223
SM
4905 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
4906 (syms_of_fontset): Use ASET.
4907
68b587a6
SM
4908 * fns.c (concat): Move side effect outside of macro call.
4909 (hash_clear): Use ASET.
4910
a31787b1
RS
49112008-02-08 Richard Stallman <rms@gnu.org>
4912
4913 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
4914 If FORCE, and frame has a surrogate minibuffer for another frame,
4915 delete the other frame first.
4916
987be29b 49172008-02-07 Timo Savola <timo.savola@iki.fi>
1540a61a
JD
4918
4919 * xterm.c (x_detect_focus_change): Handle embed client message.
4920 (handle_one_xevent): Ditto.
4921 (handle_one_xevent): If embedded and we get a button press/release,
4922 request focus.
4923 (xembed_set_info, xembed_send_message): New functions.
4924 (x_make_frame_visible): Call xembed_set_info if embedded.
4925 (x_make_frame_invisible): Call xembed_set_info if embedded.
4926 (x_term_init): Initialize Xatom_XEMBED.
4927 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
4928 (x_iconify_frame): Ditto.
4929
4930 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
4931 (enum xembed_info, enum xerm srmbed_message, enum xembed_focus)
4932 (enum xembed_modifier, enum xembed_accelerator): New.
4933 (xembed_set_info, xembed_send_message): Declare.
4934 (FRAME_X_EMBEDDED_P): New.
4935
4936 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
4937 gtk_plug_new.
4938
4939 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
4940 window ID of a frame.
4941 (x_window): Reparent frame if embedded.
4942 (Fx_create_frame): Don't set border width if embedded.
4943
1f204af3 4944 * emacs.c (USAGE3): Add --parent-id.
1540a61a
JD
4945 (standard_args): Ditto.
4946
880820fe 49472008-02-07 Jan Djärv <jan.h.d@swipnet.se>
f937a7db
JD
4948
4949 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
4950
92413ef3
JD
49512008-02-07 Jim Meyering <meyering@redhat.com>
4952
6f69e89b 4953 Use "do...while (0)", not "if (1)...else" in macro definitions.
987be29b
RF
4954 The latter provokes a warning from gcc about the empty else, when
4955 followed by ";". Also, without that trailing semicolon, it would
4956 silently swallow up any following statement.
c3f9fba8 4957 * syntax.h (SETUP_SYNTAX_TABLE)
987be29b
RF
4958 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
4959 * buffer.h (DECODE_POSITION): Likewise.
4960 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
4961 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
4962 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
4963 (FETCH_CHAR_ADVANCE): Likewise.
4964 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
92413ef3 4965
03fa5713
GM
49662008-02-07 Jim Meyering <meyering@redhat.com>
4967
4968 * lread.c [lint]: Don't include <sys/inode.h>.
4969
3ae565b3
SM
49702008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
4971
4972 * xselect.c (x_handle_dnd_message):
4973 * xmenu.c (digest_single_submenu, xmenu_show):
4974 * xdisp.c (with_echo_area_buffer_unwind_data)
4975 (format_mode_line_unwind_data, unwind_format_mode_line)
4976 (display_menu_bar):
4977 * eval.c (Ffetch_bytecode):
4978 * doc.c (store_function_docstring):
4979 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
4980 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
4981 * buffer.c (add_overlay_mod_hooklist): Use ASET.
4982
146b6e55
KH
49832008-02-07 Kenichi Handa <handa@m17n.org>
4984
4985 * ftxfont.c (ftxfont_open): Don't set
4986 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
4987
4988 * ftfont.c (ftfont_open): Fix previous change.
4989
46a923ac
JR
49902008-02-06 Jason Rumney <jasonr@gnu.org>
4991
4992 * w32font.c (w32font_text_extents): Fill in lbearing metric.
4993 Use cached metrics for ASCII characters.
3ae565b3
SM
4994 (w32font_open_internal): Don't set font's owning_frame.
4995 Cache metrics for ASCII characters.
46a923ac
JR
4996
4997 * w32font.h (struct w32font_info): Add ascii_metrics.
4998 Remove owning_frame.
4999
da7d7c21
KH
50002008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
5001
5002 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
5003 to negative value.
5004
5005 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
5006
3ae565b3 5007 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
da7d7c21
KH
5008
5009 * charset.c (syms_of_charset): Set QCtest and Qeq.
5010
c62c8ddb
SM
50112008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
5012
ca319910
SM
5013 * process.c (Fstart_process):
5014 * callproc.c (Fcall_process): Handle the case where
5015 Funhandled_file_name_directory returns nil.
5016
76860cbb
SM
5017 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
5018 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
f9ffa1ea
SM
5019 * font.c (check_gstring): Use them and AREF to access the vector before
5020 we know it's really a gstring.
5021 (Ffont_shape_text): Fix typo.
5022 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
76860cbb 5023
15139d67
SM
5024 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
5025 Declare.
5026
c62c8ddb
SM
5027 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
5028
04b65d2b
JR
50292008-02-05 Jason Rumney <jasonr@gnu.org>
5030
5031 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
5032 Set smallest_font_height and smallest_char_width in display info.
5033
fccaebfd
KH
50342008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
5035
5036 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
5037
e7d7fd8c
MB
50382008-02-05 Miles Bader <miles@gnu.org>
5039
5040 * xfaces.c (get_lface_attributes, merge_named_face)
5041 (lookup_named_face, lookup_derived_face, realize_named_face):
5042 Revert 2008-02-01 change by cyd@stupidchicken.com.
5043
3d4448a8
KH
50442008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
5045
5046 * fontset.c (Ffontset_info): Handle the case of inhibitting the
5047 fallback fonts.
15139d67 5048 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
3d4448a8 5049
5ace1ec1
JR
50502008-02-04 Jason Rumney <jasonr@gnu.org>
5051
5052 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
5053 set full_name.
e3a77b22 5054 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
5ace1ec1 5055
ffe42183
JR
50562008-02-03 Jason Rumney <jasonr@gnu.org>
5057
5058 * makefile.w32-in (OBJ1): Include font.o here.
5059 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
5060
526dc3b3
JR
50612008-02-02 Jason Rumney <jasonr@gnu.org>
5062
a0fece35 5063 * makefile.w32-in (temacs): Bump EMHEAP to 21.
526dc3b3 5064
af805c82
JR
50652008-02-01 Jason Rumney <jasonr@gnu.org>
5066
5067 * s/cygwin.h: Define VIRT_ADDR_VARIES.
5068
5069 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
5070
7f6519c5
AS
50712008-02-01 Andreas Schwab <schwab@suse.de>
5072
1f45f627 5073 * Makefile.in (shortlisp, lisp): Update for rename of
7f6519c5 5074 ../lisp/language/myanmar.el.
7f6519c5 5075
26f8aa27
CY
50762008-02-01 Chong Yidong <cyd@stupidchicken.com>
5077
1f45f627 5078 * xfaces.c (get_lface_attributes): Delete function.
26f8aa27
CY
5079 (merge_named_face, lookup_named_face, lookup_derived_face)
5080 (realize_named_face): Call lface_from_face_name directly, and use
5081 the fact that merge_face_vectors does not alter its FROM argument.
5082
73acf815 50832008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5084
5085 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
1f45f627 5086 input in the default locale. Handle non-Unicode multibyte input.
aca7a3d2 5087
73acf815 50882008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5089
5090 * fontset.c (reorder_font_vector): Exclude nil elements from the
5091 font group. Don't try multiple fonts.
15139d67 5092 (fontset_font): Adjust for the above change.
aca7a3d2
MB
5093 (Finternal_char_font): Return nil if the found font doesn't
5094 contain the character ch.
5095
4c4475a8 5096 * Makefile.in (lisp, shortlisp): Add cham.el.
aca7a3d2 5097
73acf815 50982008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5099
5100 * font.h (FONTP): Make it return 1 also for a font-object.
5101
5102 * .gdbinit (xfontset): New function.
5103
5104 * font.c (font_find_for_lface): Check if the character C is
5105 supported or not only for the first font.
5106
5107 * fontset.c (reorder_font_vector): Fix typo.
5108 (fontset_find_font): Don't add a font-spec specifying a script.
5109 Use 0 (not Qt) for the indication of empty font-group. Change the
5110 format of RFONT-DEF. Return Qt if no font in the font-group
5111 support the character.
15139d67 5112 (fontset_font): Adjust for the above change. If no font was
aca7a3d2 5113 found the character, remember that.
15139d67 5114 (face_for_char): Adjust for the change of RFONT-DEF.
aca7a3d2
MB
5115 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
5116 no font for the target.
15139d67 5117 (Finternal_char_font): Adjust for the change of RFONT-DEF.
aca7a3d2 5118
73acf815 51192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5120
5121 * font.c (font_load_for_face): Handle the case that the font in
5122 face->lface is a string.
5123
73acf815 51242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5125
1f45f627 5126 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
aca7a3d2 5127
73acf815 51282008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5129
5130 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
5131 Fix previous change. If the frame is not on a window system,
5132 signal an error.
5133
73acf815 51342008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5135
4c4475a8
GM
5136 * coding.c (decode_coding_object, encode_coding_object): Adjust
5137 marker positions after conversion.
aca7a3d2
MB
5138
5139 * lisp.h (struct Lisp_Marker): New member need_adjustment.
5140
73acf815 51412008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5142
5143 * font.c (font_find_for_lface): Fix the handling of the return
5144 value of font_has_char.
5145 (Ffont_shape_text): Fix previous change.
5146
5147 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
5148 (fontset_ref_and_range): Delete it.
5149 (fontset_find_font): Call char_table_ref_and_range instead of
5150 FONTSET_REF_AND_RANGE.
5151 (make_fontset): Don't setup font groups of Latin here.
5152 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
5153 (new_fontset_from_font): Make the specified font the default for
5154 all Latin characters.
5155
73acf815 51562008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5157
5158 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
5159 is on a window system before accessing the fontset of the frame.
5160
73acf815 51612008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5162
1f45f627 5163 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
aca7a3d2
MB
5164
5165 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
5166 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
5167
5168 * font.c (Ffont_shape_text): If the font driver doesn't have a
5169 shaper function, make zero-width glyphs to have at least one-pixel
5170 width. Fix setting of `to' field of glyphs.
5171
73acf815 51722008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5173
5174 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
5175 glyphs.
5176
1f45f627 5177 * font.h (struct font_driver): Improve docstring of member `shape'.
aca7a3d2 5178
73acf815 51792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5180
5181 * composite.c (syms_of_composite): Fix docstring of
5182 auto-composition-function.
5183
5184 * font.h (LGLYPH_SIZE): New macro.
5185
5186 * font.c (Ffont_fill_gstring): Stop filling when a character not
5187 supported by the font is found.
5188 (Ffont_shape_text): When a shape callback function returns nil,
5189 try at most two more times with larger gstring.
15139d67 5190 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
aca7a3d2
MB
5191
5192 * xdisp.c (handle_auto_composed_prop): Change the argument to
5193 auto-composition-function.
5194
5195 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
5196 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
5197 Lispy glyph and store it in the lgstring.
5198
5199 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
5200
5201 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
5202
73acf815 52032008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5204
5205 * font.c (Ffont_shape_text): Avoid unnecessary composition.
5206
5207 * fontset.c (Vfont_encoding_charset_alist): New variable.
5208 (syms_of_fontset): DEFVAR it.
4c4475a8
GM
5209 (reorder_font_vector, fontset_find_font): Optimize for the case of
5210 no need of reordering.
aca7a3d2
MB
5211 (face_for_char): Map the charset property by
5212 Vfont_encoding_charset_alist.
5213
73acf815 52142008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5215
5216 * w32font.c (logfonts_match): Don't check adstyle here.
5217 (font_matches_spec): Check here against physical font instead.
5218 (add_font_entity_to_list): Avoid some substitutions.
5219
5220 * font.c (font_parse_fcname): Default weight and slant to normal.
5221 (font_score): Prefer normal fonts if weight or slant unspecified.
5222 (font_score) [WINDOWSNT]: Scale weight difference down to closer
5223 match freetype scores.
5224
73acf815 52252008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5226
5227 * w32font.c (w32font_text_extents): Don't use the frame stored in the
5228 font, as it may have been deleted.
5229 (w32_enumfont_pattern_entity): Map generic family to adstyle using
5230 most common hyphenless variation.
5231 (logfonts_match): Check generic family.
5232 (font_matches_spec): Don't check generic family here.
5233 (fill_in_logfont): Set generic family based on adstyle.
5234
5235 * w32font.h (w32font_get_cache): Update declaration.
5236
73acf815 52372008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5238
5239 * ftfont.c (ftfont_get_cache): Adjust the argument type.
5240
15139d67 5241 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
dde8403f 5242 If none of the new drivers are available, call font_update_drivers
aca7a3d2
MB
5243 with the old drivers.
5244
5245 * w32font.c (w32font_get_cache): Adjust the argument type.
5246
5247 * xfont.c (xfont_get_cache): Adjust the argument type.
5248
5249 * font.h (struct font_driver): Change argument type of get_cache.
5250
5251 * xftfont.c (xftfont_start_for_frame): Delete prototype.
5252
5253 * font.c (Ffont_get): Fix arguments to Fassoc.
15139d67 5254 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
aca7a3d2 5255 (font_clear_cache): New function.
4c4475a8 5256 (font_list_entities, font_matching_entity): Use font_get_cache.
15139d67 5257 (font_update_drivers): Call font_clear_cache when finishing a driver.
aca7a3d2
MB
5258
5259 * fontset.c (fontset_find_font): Fix previous change.
5260
73acf815 52612008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5262
5263 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
5264 dpyinfo->font_table.
5265 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
15139d67 5266 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
aca7a3d2
MB
5267
5268 * font.c (font_at): Handle the case that the arg C is negative.
5269 Handle the unibyte case.
5270 (Ffont_at): Call font_at with the arg C -1.
5271
5272 * xdisp.c (handle_auto_composed_prop): Don't get a character at
15139d67
SM
5273 the position here, and call font_at with the arg C -1.
5274 Don't check the range of the existing composition at the point.
aca7a3d2 5275
73acf815 52762008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5277
15139d67 5278 * fontset.c (fontset_add): New args charset_id and family.
1f45f627 5279 Change caller.
4c4475a8
GM
5280 (load_font_get_repertory, fontset_find_font): Assume that
5281 font_spec is always a font-spec object.
aca7a3d2
MB
5282 (Fset_fontset_font): Always store a font-spec object in a fontset.
5283
5284 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
5285 instead of get_property_and_range.
5286
73acf815 52872008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5288
5289 * xftfont.c (struct xftfont_info): Delete the member ft_face.
5290 (xftfont_open): Don't keep locking face.
5291 (xftfont_close): Don't unlock face.
4c4475a8 5292 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
aca7a3d2
MB
5293
5294 * fontset.c (fontset_find_font): Don't prefer a font of
5295 supplementary charset.
5296
73acf815 52972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5298
1f45f627
GM
5299 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
5300 script, langsys_tag to langsys, new member script.
aca7a3d2
MB
5301 (OTF_TAG_STR): Terminate by '\0'.
5302 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
5303 listing to the script specified in that property. Fix arg to
5304 OTF_check_features.
5305
73acf815 53062008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5307
5308 * w32font.h: New file.
5309
5310 * w32font.c: Include it.
5311 (struct w32font_info): Add owning_frame field. Move to w32font.h.
5312 (w32font_open): Set owning_frame.
5313 (w32font_text_extents): Use owning_frame.
5314 (struct font_callback_data): Add opentype_only field.
5315 (add_font_entity_to_list): Use it to filter fonts.
5316 Don't check against full name.
5317 (w32font_list_internal): New function.
5318 (w32font_list): Use it.
5319 (w32font_match_internal): New function.
5320 (w32font_match): Use it.
5321 (w32font_open_internal): New function.
5322 (w32font_open): Use it.
5323 (w32font_get_cache, w32font_close, w32font_has_char)
5324 (w32font_encode_char, w32font_text_extents, w32font_draw):
5325 Make non-static.
5326
5327 * makefile.w32-in (w32font.o): Depend on w32font.h.
5328
73acf815 53292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5330
5331 * charset.c (Fdefine_charset_internal): Record a supplementary
5332 charset at the tail of Vcharset_order_list.
5333
5334 * font.c (Ffont_shape_text): Fix the return value.
5335
5336 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
5337
5338 * xdisp.c (handle_auto_composed_prop): Fix previous change.
5339
73acf815 53402008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5341
5342 * ftfont.c (struct OpenTypeSpec): New struct.
5343 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
5344 (ftfont_get_open_type_spec): New function.
5345 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
5346
15139d67 5347 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
aca7a3d2 5348
73acf815 53492008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5350
5351 * w32font.c (add_font_entity_to_list): Compare only the beginning
5352 of full name.
5353
73acf815 53542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5355
15139d67
SM
5356 * xdisp.c (handle_auto_composed_prop): Simplify the code.
5357 Never return HANDLED_RECOMPUTE_PROPS.
aca7a3d2 5358
73acf815 53592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5360
5361 * font.c (font_gstring_produce): Delete it.
5362
15139d67
SM
5363 * composite.h (COMPOSITION_METHOD):
5364 Handle COMPOSITION_WITH_GLYPH_STRING.
aca7a3d2 5365
73acf815 53662008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5367
15139d67 5368 * xfont.c (Qx): Delete.
aca7a3d2
MB
5369 (syms_of_xfont): Don't initialize Qx.
5370
15139d67
SM
5371 * composite.h (enum composition_method):
5372 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
aca7a3d2 5373
73acf815 53742008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5375
5376 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
5377 (choose_face_font): Accept new form of font-spec.
5378
5379 * frame.h (font_driver_list): Declare it unconditionally.
5380 (struct frame): Define members font_driver_list and font_data_list
5381 unconditionally.
5382
5383 * fontset.c: Include "font.h" unconditionally.
15139d67 5384 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
aca7a3d2
MB
5385 (Fset_fontset_font): Accept a font-spec object.
5386
5387 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
5388 PIXEL_SIZE part a wild card.
5389
5390 * dispextern.h (struct glyph_string): Define members clip and
5391 num_clips unconditionally.
5392 (struct face): Define members font_info and extra unconditionally.
5393
5394 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
5395 ftfont_info only when HAVE_LIBOTF is defined.
5396
73acf815 53972008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
5398
5399 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
5400 and end.
5401
73acf815 54022008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5403
5404 * w32font.c (w32font_driver): Add new fields.
5405
73acf815 54062008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5407
aca7a3d2
MB
5408 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
5409 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
5410 (LIBES): Add @M17N_FLT_CFLAGS@.
5411
5412 * composite.c (compose_text): Don't treat the new style
5413 composition specially.
5414
5415 * emacs.c (main): Call syms_of_font unconditionally.
5416
5417 * font.h (FONT_ENTITY_NOT_LOADABLE)
5418 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
15139d67 5419 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
aca7a3d2 5420 (struct font_driver): New member shape.
1f45f627 5421 (font_registry_charsets): Extern it.
4c4475a8 5422 (font_find_for_lface, font_prepare_composition): Adjust prototype.
aca7a3d2
MB
5423 (font_otf_capability, font_drive_otf): Delete their externs.
5424
5425 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
4c4475a8
GM
5426 (font_charset_alist, font_registry_charsets): Move from xfont.c
5427 and rename.
aca7a3d2
MB
5428 (font_prop_validate_otf): New function.
5429 (font_property_table): Register it for QCotf.
5430 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
15139d67 5431 (font_drive_otf): Delete.
1f45f627 5432 (font_prepare_composition): New arg F. Adjust for the change of
aca7a3d2
MB
5433 lispy gstring.
5434 (font_find_for_lface): New arg C.
15139d67 5435 (font_load_for_face): Adjust for the change of font_find_for_lface.
4c4475a8
GM
5436 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
5437 lispy gstring.
aca7a3d2
MB
5438 (Ffont_shape_text): New function.
5439 (Fopen_font): If the font size is not given, use 12-pixel.
5440 (Ffont_at): New arg STRING.
15139d67
SM
5441 (syms_of_font): Initalize font_charset_alist.
5442 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
aca7a3d2
MB
5443 conditionally.
5444
5445 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
5446 fonts of the same font-spec. Change the format of RFONT-DEF.
4c4475a8
GM
5447 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
5448 Adjust for the change of RFONT-DEF.
15139d67 5449 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
aca7a3d2
MB
5450
5451 * ftfont.h: New file.
5452
5453 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
5454 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
5455 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
5456 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
5457 font_otf_capability and font_drive_otf, set ftfont_shape.
15139d67 5458 (ftfont_list): Adjust for the change of :otf property value.
aca7a3d2
MB
5459 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
5460 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
5461 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
1f204af3 5462 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
aca7a3d2
MB
5463 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
5464 (otf_gstring, gstring, m17n_flt_initialized): New variables.
5465
15139d67
SM
5466 * w32term.c (x_draw_composite_glyph_string_foreground):
5467 Adjust for the change of lispy gstring.
aca7a3d2 5468
15139d67 5469 * xdisp.c (handle_composition_prop): Adjust for the change of
aca7a3d2 5470 lispy gstring. Call a function for auto-composition with the
15139d67
SM
5471 third arg it->window.
5472 (fill_composite_glyph_string): Adjust for the change of lispy string.
5473 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
aca7a3d2 5474
15139d67 5475 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
5476 font_find_for_lface.
5477
1f45f627
GM
5478 * xfont.c (x_font_charset_alist): Move to font.c and rename.
5479 (xfont_registry_charsets): Likewise. Change caller.
aca7a3d2
MB
5480 (syms_of_xfont): Don't handle x_font_charset_alist.
5481
5482 * xftfont.c: Include "ftfont.h".
15139d67 5483 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
aca7a3d2
MB
5484 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
5485 (xftfont_close) [HAVE_LIBOTF]: Close otf.
5486 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
15139d67
SM
5487 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
5488 Set xftfont_driver.shape to xftfont_shape.
aca7a3d2 5489
15139d67 5490 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
5491 the change of lispy gstring.
5492
73acf815 54932008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5494
5495 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
5496
73acf815 54972008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5498
5499 * w32font.c (w32font_draw): Fill background manually.
5500
73acf815 55012008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5502
5503 * font.c (Qfontp): Remove unused symbol.
5504 (QCantialias): New symbol.
5505 (syms_of_font): Define it.
5506 (font_property_table): Set a validator for QCantialias.
5507
15139d67
SM
5508 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
5509 Define if not already.
aca7a3d2
MB
5510 (QCfamily): Share with xfaces.c.
5511 (Qstandard, Qsubpixel, Qnatural): New symbols.
1f45f627 5512 (syms_of_w32font): Define them. Don't define QCfamily here.
aca7a3d2
MB
5513 (w32_antialias_type, lispy_antialias_type): New functions.
5514 (w32_enumfont_pattern_entity): New arg requested_font.
5515 Set antialias parameter if non-default was requested.
5516 (fill_in_logfont): Fill in lfQuality if :antialias specified.
5517
73acf815 55182008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5519
5520 * lread.c (read1): Undo the previous change.
5521
73acf815 55222008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
aca7a3d2
MB
5523
5524 * frame.c (Fdelete_frame): Call font_update_drivers only when
6f69e89b 5525 USE_FONT_BACKEND is defined.
aca7a3d2 5526
73acf815 55272008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5528
5529 * font.h (struct font_bitmap): New member bits_per_pixel.
5530 (struct font_driver): New members start_for_frame and end_for_frame.
5531 (struct font_data_list): New struct.
5532 (font_put_frame_data, font_get_frame_data): Extern them.
5533
5534 * frame.h (struct frame): New member font_data_list.
5535
5536 * font.c (font_update_drivers): Call driver->start_for_frame and
5537 driver->end_for_frame at proper timings.
5538 (font_put_frame_data, font_get_frame_data): New functions.
5539 (Ffont_spec): Add usage in the docstring.
5540
5541 * frame.c (make_frame): Initialize f->font_data_list to NULL.
5542 (Fdelete_frame): Call font_update_drivers.
5543
5544 * xftfont.c (struct xftface_info): Delete the member xft_draw.
4c4475a8 5545 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
aca7a3d2
MB
5546 (xftfont_get_xft_draw): New function.
5547 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
5548 (xftfont_end_for_frame): New function.
5549 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
5550
15139d67 5551 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
1f45f627 5552 Change argument. Cache GCs in the per-frame data.
aca7a3d2
MB
5553 (struct ftxfont_frame_data): New struct.
5554 (ftxfont_draw_bitmap): New arg gc_fore and flush.
5555 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
15139d67 5556 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
aca7a3d2
MB
5557 (ftxfont_end_for_frame): New function.
5558 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
5559
5560 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
5561
73acf815 55622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5563
5564 * xselect.c (Vselection_coding_system)
5565 (Vnext_selection_coding_system): Delete them.
5566 (syms_of_xselect): Don't declare selection-coding-system and
5567 next-selection-coding-system. They are declared in select.el.
5568
73acf815 55692008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5570
5571 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
5572
5573 * w32fns.c: Include imm.h.
5574 (get_composition_string_fn, get_ime_context_fn): New optional
5575 system functions.
5576 (globals_of_w32fns): Load them from imm32.dll.
5577 (ignore_ime_char): New flag.
5578 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
5579 WM_IME_ENDCOMPOSITION messages.
5580
5581 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
5582 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
5583
73acf815 55842008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5585
5586 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
5587 (READCHAR_REPORT_MULTIBYTE): New macro.
5588 (readchar): New 2nd arg MULTIBYTE.
15139d67
SM
5589 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
5590 Make symbol's name multibyte according to the multibyteness of the
aca7a3d2
MB
5591 source.
5592
73acf815 55932008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5594
5595 * xfaces.c (face_for_overlay_string): Call lookup_face with
5596 correct arguments (fix of synching with the trunk).
5597
73acf815 55982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5599
4c4475a8
GM
5600 * font.c (font_prop_validate_symbol, font_prop_validate_style)
5601 (font_prop_validate_non_neg, font_prop_validate_spacing):
5602 Delete argument prop_index.
15139d67
SM
5603 (font_property_table): Change arguments to validater. Change Callers.
5604 (font_lispy_object): Delete.
aca7a3d2
MB
5605 (font_at): Use font_find_object instead fo font_lispy_object.
5606
73acf815 56072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5608
5609 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
5610 and file names.
5611
73acf815 56122008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5613
5614 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
5615 (font_matches_spec): Remove debug output.
5616 (add_font_entity_to_list): Avoid using substituted fonts.
5617
73acf815 56182008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5619
5620 * doc.c (Fsnarf_documentation):
5621 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
5622
73acf815 56232008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 5624
290afd83 5625 * dispextern.h (struct glyph_row): Only define "clip" field if
aca7a3d2
MB
5626 HAVE_WINDOW_SYSTEM is defined.
5627
73acf815 56282008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
5629
5630 Fix up multi-tty merge.
5631
5632 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
5633 and indentation.
5634
5635 * xfaces.c (free_realized_face, clear_face_gcs):
5636 Include font_done_for_face in the input_blocked section, just in case.
5637
5638 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
5639 (get_char_face_and_encoding): Undo last change and remove the *other*
5640 duplicate definition (i.e. keep the one that's better scoped and that
5641 includes code for the font-backend).
5642
5643 * terminal.c (create_terminal): Default keyboard_coding to
5644 `no-conversion' and terminal_coding to `undecided'.
5645
5646 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
5647
5648 * fontset.c (free_realized_fontsets): Check that the table entry does
5649 contain a fontset before trying to compare it to `base'.
5650
5651 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
5652 syms_of_charset, and syms_of_coding earlier because init_window_once
5653 now needs Vcoding_system_hash_table to be setup.
5654
5655 * coding.h (default_buffer_file_coding): Remove.
5656
5657 * coding.c (default_buffer_file_coding): Remove.
5658 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
5659 than ->symbol, and use the terminal-local coding system.
5660 (syms_of_coding): Don't setup the coding-systems that are not
5661 terminal-local.
5662 (Fdefine_coding_system_internal): Use XCAR/XCDR.
5663
5664 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
5665 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
5666
5667 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
5668 in chartab.c and were re-added here by mistake.
5669 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
5670
5671 * doc.c (Fsnarf_documentation):
5672 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
5673 src to etc.
5674
5675 * ChangeLog.10: Add mistakenly removed entry.
5676
73acf815 56772008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
aca7a3d2
MB
5678
5679 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
5680
73acf815 56812008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
5682
5683 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
5684 Add extra args to FACE_FOR_CHAR.
5685
73acf815 56862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5687
5688 * keymap.c (where_is_internal_1): If key is a cons, store the copy
5689 in sequence.
5690
4c4475a8
GM
5691 * chartab.c (map_sub_char_table, map_char_table): If the range
5692 contains just one character, call the function with that character
5693 even if the depth is not 3.
aca7a3d2 5694
73acf815 56952008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5696
5697 * w32font.c (w32font_text_extents): Calculate metrics for the
5698 whole string.
5699
73acf815 57002008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5701
5702 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
5703
73acf815 57042008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5705
5706 * w32term.c (x_set_glyph_string_clipping): Use
5707 get_glyph_string_clip_rects.
4c4475a8
GM
5708 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
5709 Adjust for the change of struct glyph_string.
aca7a3d2
MB
5710
5711 * w32font.c (w32font_draw): Do clipping here.
5712
73acf815 57132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5714
1f45f627 5715 * xftfont.c (xftfont_draw): Adjust for the change of struct
aca7a3d2
MB
5716 glyph_string.
5717
5718 * xterm.c (x_set_glyph_string_clipping): Use
5719 get_glyph_string_clip_rects.
4c4475a8
GM
5720 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
5721 Adjust for the change of struct glyph_string.
aca7a3d2
MB
5722
5723 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
5724 the resulting clip(s}.
1f45f627 5725 (expose_overlaps): Add arg r. Change callers. Set it to
aca7a3d2
MB
5726 row->clip temporarily.
5727 (expose_window): Redraw rows overlapping the exposed area.
5728
5729 * dispextern.h (struct glyph_row): New member clip.
5730 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
5731 clip_height, new member clip, and num_clips.
5732
73acf815 57332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5734
5735 * data.c (Fchar_or_string_p): Fix docstring.
5736
73acf815 57372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5738
5739 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
5740 create a temporal XftDraw object.
5741
73acf815 57422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5743
5744 * font.c (Ffontp): Fix docstring.
5745
5746 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
5747 strong evidence of ISO-2022.
5748
73acf815 57492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5750
5751 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
5752 SYNTAX_ENTRY_FOLLOW_PARENT.
5753
73acf815 57542008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
5755
5756 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
5757 its type.
5758 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
5759 Update to the new type of weak_hash_tables and next_weak.
5760
5761 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
5762 a plain C pointer to Lisp_Hash_Table.
5763
5764 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
5765 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
5766 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
5767 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
5768 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
5769 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
5770 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
5771 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
5772 (GC_EQ): Remove since they've been identical to their non-GC_
5773 alter-egos ever since the markbit was eradicated.
5774
290afd83
JB
5775 * alloc.c:
5776 * buffer.c:
5777 * buffer.h:
5778 * data.c:
5779 * fileio.c:
5780 * filelock.c:
5781 * fns.c:
5782 * frame.h:
5783 * lisp.h:
5784 * macterm.c:
5785 * print.c:
5786 * process.c:
5787 * w32fns.c:
5788 * w32menu.c:
5789 * w32term.c:
5790 * xfns.c:
5791 * xmenu.c:
5792 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
aca7a3d2 5793
73acf815 57942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5795
5796 * chartab.c (map_sub_char_table): Make it work for the top-level
5797 char-table. Fix handling of parent char-table.
c5ad7a3d 5798 (map_char_table): Adjust for the above change.
aca7a3d2 5799
73acf815 58002008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5801
5802 * w32font.c (Qgdi): Rename from Qw32.
5803
73acf815 58042008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5805
5806 * w32bdf.c (get_quoted_string): Make function static.
5807
73acf815 58082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5809
5810 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
5811 bigger ascent and descent than those of the font, use them as
5812 font's ascent and descent.
5813
73acf815 58142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5815
5816 * Makefile.in (${lispsource}international/charprop.el): Move this
5817 target within "#ifdef HAVE_UNIDATA" and "#endif".
5818
73acf815 58192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5820
5821 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
5822 (shortlisp): Add ../lisp/language/tai-viet.el.
5823
1f45f627 58242008-02-01 Ulrich Mueller <ulm@gentoo.org>
aca7a3d2
MB
5825
5826 * Makefile.in (${lispsource}international/charprop.el): Depend on
5827 temacs${EXEEXT}.
5828
73acf815 58292008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5830
5831 * w32font.c (w32font_close): Delete the GDI font object.
5832
6f69e89b 5833 * w32menu.c: Include character.h.
aca7a3d2
MB
5834
5835 * w32proc.c: Likewise.
5836
5837 * w32select.c: Likewise.
5838
6f69e89b 5839 * makefile.w32-in (w32proc.o): Depend on character.h.
aca7a3d2 5840
73acf815 58412008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5842
5843 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
5844
5845 * w32menu.c (syms_of_w32menu): Likewise.
5846
5847 * w32proc.c (syms_of_ntproc): Likewise.
5848
5849 * w32select.c (syms_of_w32select): Likewise.
5850
5851 * w32term.c (syms_of_w32term): Likewise.
5852
73acf815 58532008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5854
5855 * w32font.c (w32font_draw): Delete brush after using it.
5856
73acf815 58572008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5858
5859 * w32font.c (w32font_open): Don't set font_idx.
5860 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
5861 to font settings.
5862 (w32font_draw): Fill background explicitly.
5863
73acf815 58642008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5865
5866 * w32term.c (w32_initialize): Don't call w32font_initialize.
5867
5868 * w32font.c (w32font_info): Remove subranges.
5869 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
5870 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
5871 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
5872 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
5873 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
5874 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
5875 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
5876 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
5877 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
5878 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
5879 New symbols.
5880 (font_callback_data): New struct.
5881 (w32font_list, w32font_match): Use it.
5882 (w32font_open): Don't populate subranges.
5883 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
5884 (w32font_encode_char): Always return unicode code-point as-is.
5885 (w32font_text_extents): Supply a tranformation matrix to
1f45f627
GM
5886 GetGlyphOutline. Never look up by glyph index. Avoid looping
5887 twice. Use unicode version of GetTexExtentPoint32 instead of
aca7a3d2 5888 glyph index version.
1f204af3 5889 (set_fonts_frame): Remove.
aca7a3d2 5890 (w32_enumfont_pattern_entity): Add frame parameter, use it to
1f45f627
GM
5891 set frame parameter. Use backward compatible fake foundries.
5892 Save generic family in extra slot under QCfamily. Make width slot
5893 constant. Save QCspacing value. Save list of scripts instead of
aca7a3d2
MB
5894 binary subranges.
5895 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
1f45f627 5896 (add_font_entity_to_list): Use font_callback_data struct. Filter
aca7a3d2
MB
5897 unwanted fonts.
5898 (add_one_font_entity_to_list): Use font_callback_data struct.
1f45f627
GM
5899 (w32_registry): Default to iso10646_1.
5900 (fill_in_logfont): Use dpi from extra slot. Don't bother with
5901 string font registries. Don't fill in font name if it is a generic
5902 family name, fill family instead. Use spacing, family and script
aca7a3d2
MB
5903 extra info to fill pitch, family and charset fields.
5904 (list_all_matching_fonts): Use font_callback_data struct.
5905 (unicode_range_for_char): Remove.
5906 (font_supported_scripts): New function.
5907 (w32font_initialize): Remove.
5908 (syms_of_w32font): Update which symbols are defined.
5909
73acf815 59102008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5911
5912 * font.c (font_pixel_size): Reverse assq_no_quit args.
5913
5914 * w32term.h (FONT_WIDTH): Report max width, not average.
5915 (FONT_MAX_WIDTH): Remove.
5916 (FONT_AVG_WIDTH): New macro.
5917
5918 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
5919 redefinition of FONT_WIDTH.
5920
5921 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
5922 (w32_cache_char_metrics): Use FONT_WIDTH.
5923
5924 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
5925
73acf815 59262008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5927
5928 * w32font.c (w32font_open): Make lfHeight negative.
5929
5930 * w32fns.c (x_default_font_parameter): Use new style font name.
5931 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
5932
73acf815 59332008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5934
5935 * w32font.c (QCsubranges): New symbol.
5936 (w32font_open, w32font_has_char): Get subranges from subproperty
5937 of extra.
5938 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
5939 (syms_of_w32font): Define :subranges symbol.
5940
5941 * font.c (font_put_extra): Expose externally.
5942
1f45f627 5943 * font.h (font_put_extra): Move declaration from font.c.
aca7a3d2
MB
5944
5945 * font.c (Ffont_get): Use font driver to determine otf capability.
5946 (adjust_anchor): Check if driver defines anchor_point before using.
5947
5948 * w32font.c (w32font_open): Handle size, height and pixel_size better.
5949 (w32font_draw): Use options.
5950 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
5951 Fix detection of truetype fonts.
5952 (registry_to_w32_charset): Handle charsets other than iso8859-1
5953 expressed as lisp symbols.
5954 (w32_registry): Express charset as lisp symbol.
5955 (fill_in_logfont): Reverse pixel and point height logic.
1f45f627 5956 Don't set width here. Set quality to default.
aca7a3d2
MB
5957
5958 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
5959 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
5960
5961 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
5962 Remove redundant loop and allocation.
5963
5964 * makefile.w32-in (font.o, w32font.o): New objects.
6f69e89b 5965 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
aca7a3d2
MB
5966 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
5967
5968 * xdisp.c (fill_composite_glyph_string): Make the first arg to
5969 STORE_XCHARB a valid l-value.
5970
5971 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
5972 calculations for non-Truetype fonts.
5973 (x_draw_glyph_string): Sync with xterm.c.
c3f9fba8
JB
5974 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
5975 Remove redundant code.
aca7a3d2
MB
5976 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
5977
5978 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
5979 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
5980
5981 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
5982 (x_to_w32_charset, w32_to_x_charset): Expose externally.
5983
5984 * w32font.c: New file for w32 font backend.
5985
73acf815 59862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5987
5988 * term.c: Don't include "buffer.h" twice.
5989
73acf815 59902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5991
5992 * character.c (Funibyte_string): New function.
5993 (syms_of_character): Defsubr it.
5994
73acf815 59952008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5996
5997 * w32term.c [USE_FONT_BACKEND]:
c3f9fba8
JB
5998 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
5999 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
6000 (x_draw_glyph_string, x_draw_glyph_string_foreground)
6001 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
aca7a3d2
MB
6002 (x_free_frame_resources): Sync with xterm.c.
6003
73acf815 60042008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
6005
6006 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
6007 char-table size.
6008
73acf815 60092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6010
c3f9fba8 6011 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
aca7a3d2 6012
73acf815 60132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6014
6015 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
6016 font_otf_gpos, add font_drive_otf.
6017
6018 * fontset.c (fontset_find_font): Pay attention to font size
6019 specified for a font.
6020 (reorder_font_vector): Check contents of font_def.
6021
6022 * font.c (struct otf_list): Delete it.
6f69e89b 6023 (otf_list): Make it a lisp variable.
aca7a3d2 6024 (otf_open): Use lispy otf_list.
1f45f627 6025 (generate_otf_features): Rename from parse_gsub_gpos_spec.
aca7a3d2 6026 (check_otf_features): New function.
c3f9fba8
JB
6027 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
6028 New functions.
aca7a3d2
MB
6029 (font_drive_otf): New function merging font_otf_gsub and
6030 font_otf_gpos.
6031 (font_open_for_lface): New arg spec. Change argument order.
1f45f627 6032 (font_load_for_face): Adjust for the change of font_open_for_lface.
aca7a3d2
MB
6033 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
6034 Ffont_otf_gpos.
6035 (syms_of_font): Staticpro otf_list. Delete defsubr of
6036 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
6037
1f45f627 6038 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
6039 font_open_for_lface.
6040
6041 * font.h (font_open_for_lface): Adjust prototype.
6042 (struct font_driver): Delete members otf_gsub and otf_gpos, add
6043 member otf_drive.
6044 (font_otf_gsub, font_otf_gpos): Delete externs.
6045 (font_drive_otf): Extern it.
6046
73acf815 60472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6048
6049 * font.c (font_at): If the window W is not on a window system,
6050 return Qnil.
6051
4c4475a8
GM
6052 * coding.c (produce_chars, encode_coding): Don't call
6053 insert_from_gap if no characters to produce.
aca7a3d2 6054
73acf815 60552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6056
6057 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
6058 Fclear_face_cache.
6059
6060 * xfaces.c (face_for_font): Check also face->font==font->font.font.
6061
73acf815 60622008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
6063
6064 * emacs.c (main): Change default value of `enable_font_backend' to 1.
6065 Parse "--disable-font-backend" option.
6066 (standard_args): Add "--disable-font-backend" option.
6067
73acf815 60682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6069
6070 * fontset.c (fontset_find_font): New function.
6071 (fontset_font): Use fontset_find_font.
6072 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
6073 Register the specified font for all Latin characters.
6074 (new_fontset_from_font): Register the specified font for all Latin
6075 characters.
6076 (dump_fontset): For a realized fontset, include the base fontset
6077 name in the returned vector.
6078
73acf815 60792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6080
6081 * character.h (CHAR_STRING): Cast C to unsigned on calling
6082 char_string.
6083
6084 * character.c (char_string): Type of arg C changed to unsigned.
6085 Signal an error if C is an invalid character code.
6086
4c4475a8
GM
6087 * editfns.c (general_insert_function, Fchar_to_string):
6088 Use CHARACTERP, not INTEGERP.
aca7a3d2 6089
73acf815 60902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6091
6092 * character.h (MIN_MULTIBYTE_LEADING_CODE)
6093 (MAX_MULTIBYTE_LEADING_CODE): New macros.
6094
6095 * regex.c (analyse_first): Fix for multibyte characters in "case
6096 charset:" and "case categoryspec:".
6097
73acf815 60982008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
6099
6100 * Makefile.in (LIBES): Move standard libraries to the end.
6101
73acf815 61022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6103
6104 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
6105 nonzero, don't shrink the buffer nextb.
6106
6107 * buffer.h (struct buffer_text): New member inhibit_shrinking.
6108
6109 * coding.c (coding_alloc_by_making_gap): New arg offset.
6110 (alloc_destination): Call coding_alloc_by_making_gap with the arg
6111 offset.
6112 (decode_coding_iso_2022): Update coding->safe_charsets.
6113 (decode_coding_gap): Temporarily set
6114 current_buffer->text->inhibit_shrinking to 1.
6115
73acf815 61162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6117
6118 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
6119 indexing into elements of s->cmp and s->char2b.
6120
73acf815 61212008-02-01 Juanma Barranquero <lekktu@gmail.com>
aca7a3d2
MB
6122
6123 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
6124
73acf815 61252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6126
6127 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
6128 target_multibyte instead of multibyte.
6129 (re_match_2_internal): Call bcmp_translate with target_multibyte.
6130 (bcmp_translate): Change the argument name from multibyte to
6131 target_multibyte.
6132
73acf815 61332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6134
6135 These changes are to compile a regexp into a pattern that can be
6136 used both for multibyte and unibyte targets.
6137
6138 * Makefile.in (search.o): Depend on charset.h.
6139
6140 * character.c (multibyte_char_to_unibyte_safe): New function.
6141
6142 * search.c: Include "charset.h".
6143 (compile_pattern_1): Delete argument multibyte. Don't set
6144 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
6145 (compile_pattern): Don't compare cp->buf.target_multibyte.
6146 Compare cp->buf.charset_unibyte.
6147 (compile_pattern): Set cp->buf.target_multibyte.
6148
6149 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
6150
6151 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
6152
6153 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
1f45f627 6154 multibyte. Change callers.
aca7a3d2 6155 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
1f45f627
GM
6156 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
6157 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
aca7a3d2
MB
6158 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
6159 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
6160 (regex_compile): Make the compiled pattern usable both for
6161 multibyte and unibyte targets.
6162 (analyse_first): Make the fastmap usable both for multibyte and
6163 unibyte targets.
1f45f627 6164 (TRANSLATE_VIA_MULTIBYTE): Delete.
aca7a3d2
MB
6165 (re_match_2_internal): Pay attention to the case that the
6166 multibyteness of bufp and target may be different.
6167
73acf815 61682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6169
6170 * xdisp.c (x_produce_glyphs): When a font is not found, make the
6171 empty box occupy at least one column width.
6172
73acf815 61732008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
6174
6175 * Makefile.in: Remove redundant HAVE_XFT clause.
6176
73acf815 61772008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6178
6179 * xrdb.c (x_load_resources): Setup the default fontSet X reource.
6180
73acf815 61812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6182
6183 * fontset.c (Finternal_char_font): Fix for the case of POSITION
6184 being nil.
6185
73acf815 61862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6187
6188 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
6189
73acf815 61902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6191
6192 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
6193
73acf815 61942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6195
6196 * search.c (simple_search): Fix previous change.
6197
73acf815 61982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6199
6200 * xftfont.c (ftfont_font_format): Extern declaration.
6201
6202 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
6203
6204 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
6205 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
6206
6207 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
6208 (ftfont_font_format): Fix previous change.
6209
6210 * font.h (Ffont_xlfd_name): EXFUN it.
6211
6212 * font.c (font_parse_xlfd): Fix the array size of `f'.
6213 (register_font_driver): Use EQ to compare driver->type.
6214
6215 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
6216 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
6217 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
6218
73acf815 62192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6220
4c4475a8
GM
6221 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
6222 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
aca7a3d2 6223
73acf815 62242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6225
6226 * xfont.c (xfont_open): Set font->format.
6227
6228 * xftfont.c (xftfont_open): Set font->format.
6229
6230 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
6231 (ftfont_list): Include FC_FONTFORMAT in FcObject.
6232 (ftfont_open): Set font->format.
6233 (ftfont_font_format): New function.
6234
6235 * font.h (struct font): New memeber format.
6236
6237 * font.c (Qopentype): New variable.
6238 (syms_of_font): Defsym it.
6239 (Fquery_font): Change the format of the last element of the return
6240 value.
6241
73acf815 62422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6243
6244 * xfns.c (xic_create_xfontset): Try the default fontset name as a
6245 last resort.
6246
73acf815 62472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6248
6249 * coding.c (detect_coding_charset): Fix detection of multi-byte
6250 charset.
6251
73acf815 62522008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
aca7a3d2
MB
6253
6254 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
6255
73acf815 62562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6257
6258 * xdisp.c (get_next_display_element): Set it->face_id for the
6259 first component of a composition.
1f45f627 6260 (x_produce_glyphs): Check if the font is changed or not for composition.
aca7a3d2 6261
73acf815 62622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6263
6264 * fontset.c (Qlatin): New variable.
6265 (syms_of_fontset): Define it as a lisp symbol.
1f45f627 6266 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
aca7a3d2 6267
73acf815 62682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6269
6270 * font.c (font_unparse_fcname): Pay attention to the case that
6271 some of font property is a null string.
6272
73acf815 62732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6274
6275 * term.c: Include "composite.h".
6276 (encode_terminal_code): Output all components of composition.
6277 Check the size of encode_terminal_src.
424c157f 6278 (produce_glyphs): For composition, call produce_composite_glyph.
aca7a3d2
MB
6279 (append_composite_glyph, produce_composite_glyph): New functions.
6280
6281 * xdisp.c (x_produce_glyphs): In handling composition, if a font
6282 is not found, get font_info from the current ascii face.
6283
73acf815 62842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6285
6286 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
6287 buffer-file-name to Qnil before calling insert_from_buffer.
6288
6289 * font.c (font_unparse_fcname): Pay attention to the case that
6290 foundry is a null string.
6291
73acf815 62922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6293
6294 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
6295
6296 * font.c (Qunicode_sip): New variable.
6297 (syms_of_font): Declare it as a Lisp symbol.
6298
6299 * font.h (Qunicode_sip): Extern it.
6300
73acf815 63012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6302
1f45f627 6303 * composite.c (get_composition_id): Pay attention to TAB component.
aca7a3d2
MB
6304
6305 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
1f45f627 6306 TAB. Adjust for the change of s->char2b which always points to
aca7a3d2
MB
6307 the first elememnt of allocated memory.
6308
1f45f627 6309 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
aca7a3d2
MB
6310
6311 * xdisp.c (handle_composition_prop): Set it->c to the first
6312 non-TAB component.
1f45f627
GM
6313 (fill_composite_glyph_string): Change argument.
6314 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
aca7a3d2
MB
6315 (x_produce_glyphs): Fix handling of left/right padding.
6316
73acf815 63172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6318
6319 * coding.c (detect_coding_system): Fix for handling off
6320 inhibit_iso_escape_detection. Fix for the case that no coding
6321 system is defined for a specific coding category.
6322
73acf815 63232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6324
1f45f627 6325 * font.c (font_matching_entity): Delete unused local var.
aca7a3d2
MB
6326
6327 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
6328 opening a font.
6329
6330 * fileio.c (Finsert_file_contents): On recovering a file, assume
6331 Unix-like eol.
6332 (choose_write_coding_system): On auto-saving a file, force
6333 Unix-like eol.
6334
6335 * coding.c (setup_coding_system): Fix setting of
6336 coding->common_flags based on eol_type.
6337 (coding_inherit_eol_type): If PARENT is not nil, be sure to
6338 inherit from it.
6339
73acf815 63402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6341
1f45f627 6342 * alloc.c (NSTATICS): Increas to 0x600.
aca7a3d2 6343
73acf815 63442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6345
1f45f627 6346 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
aca7a3d2
MB
6347 (ftfont_list): Don't check :name property.
6348 (ftfont_match): New function.
6349 (ftfont_pattern_entity): If the pattern doesn't contain
6350 FC_SPACING, don't assuce FC_MONO.
6351
6352 * font.h (struct font_driver): New member `match'.
1f45f627 6353 (font_update_drivers): Adjust prototype.
aca7a3d2 6354
4c4475a8
GM
6355 * font.c (font_parse_fcname, font_parse_name): Don't change :name
6356 property of FONT.
aca7a3d2
MB
6357 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
6358 them unconditionally.
6359 (font_matching_entity): New function.
6360 (font_open_by_name): Try font_matching_entity if exact match is
6361 not found.
6362 (font_update_drivers): Delete the arg FONT. Return a list of
6363 actually used backends. Don't free faces, font caches here.
6364 Don't store data in frame parameters. Don't call x_set_font.
6365 (Ffont_spec): Store :name property as is.
6366 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
1f45f627
GM
6367 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
6368 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
aca7a3d2
MB
6369 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
6370 Call font->driver->otf_gsub instead of font_otf_gsub.
6371
6372 * frame.c (x_set_font_backend): Do more works that were done in
6373 font_update_drivers before.
6374
6375 * xfont.c (xfont_match): New function.
6376 (xfont_driver): Set xfont_driver.match to xfont_match.
6377 (xfont_draw): Set font in GC if necessary.
6378
6379 * ftxfont.c (ftxfont_match): New function.
6380 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
6381
6382 * xftfont.c (xftfont_match): New function.
6383 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
6384
73acf815 63852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6386
6387 * font.h (struct font): New member scalable.
6388 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
1f45f627 6389 (font_otf_gsub): Adjust prototype.
aca7a3d2 6390
1f45f627
GM
6391 * font.c (font_otf_capability): Fix handling of the default langsys.
6392 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
aca7a3d2
MB
6393 Check the contents of SPEC.
6394 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
6395 (check_gstring): New function.
6396 (REPLACEMENT_CHARACTER): New macro.
6397 (font_otf_gsub): New arg alternate_subst. Be sure to set all
6398 glyph codes of GSTRING.
6399 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
6400 (font_prepare_composition): Set cmp->glyph_len.
6401 (font_open_entity): Set font->scalable.
6402 (Ffont_get): Handle :otf property.
6403 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
6404 functions.
6405 (Fquery_font): Use font->font.full_name.
6406 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
6407 Sfont_otf_alternates.
6408
6409 * ftfont.c (ftfont_open): Set font->font.full_name and
6410 font->font.name properly. Fix calculation of font->font.height
6411 and font->min_width.
6412
6413 * ftxfont.c (ftxfont_create_gcs): New function.
6414 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
6415 (ftxfont_draw_backgrond): Fix filling region.
6416 (ftxfont_default_fid): New function.
6417 (ftxfont_open): Set xfotn->fid to the return value of
6418 ftxfont_default_fid.
6419 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
6420 (ftxfont_done_face): Free only GCs that are created by
6421 ftxfont_create_gcs.
6422 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
6423
6424 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
6425 Clip to src->width, etc (not src->clip_XXX).
6426
6427 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
6428 FontBackend frame parameter.
6429
73acf815 64302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6431
6432 * font.h (struct font_driver_list): New member `on'.
6433 (Fclear_font_cache): EXFUN it.
6434 (font_update_drivers): Extern it.
6435
6436 * font.c (font_unparse_fcname): Fix typo (swidth->width).
6437 (font_list_entities): Check driver_list->on.
6438 (register_font_driver): Initalize `on' member to 0.
6439 (font_update_drivers): New function.
6440 (Fclear_font_cache): Check driver_list->on.
6441
6442 * frame.h (Qfont_backend): Extern it.
6443 (x_set_font_backend): Extern it.
6444
6445 * frame.c (Qfont_backend): New variable.
6446 (frame_parms): New element for font-backend.
6447 (x_set_font_backend): New function.
6448
6449 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
6450 FontBackend frame parameter.
6451 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
6452 x_set_font_backend.
6453
6454 * xfont.c (xfont_list): Don't try listing by :name property if the
6455 name is not for XLFD.
6456
73acf815 64572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6458
6459 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
6460 (LGLYPH_SET_TO): New macros.
6461 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
6462 element of G is vector or not.
6463 (font_at): Extern it.
6464
6465 * font.c: Include window.h.
6466 (font_lispy_object): New function.
6467 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
6468 end of valid glyph.
6469 (font_close_object): Fix getting (struct font *).
6470 (font_at): New function.
6471 (Ffont_get): If FONT is a font-object, get entity from it.
6472 (Ffont_make_gstring): Initialize elements of glyphs with nil.
6473 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
6474 range check.
6475 (Ffont_at): New function.
6476 (syms_of_font): Defsubr Sfont_at.
6477
6478 * xdisp.c (it_props): Move the entry for Qauto_composed to just
424c157f 6479 before the entry for Qcomposition.
1f45f627 6480 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
aca7a3d2
MB
6481 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
6482 the font in gstring.
6483 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
6484 LGLYPH_FORM (g) to detect the end of valid glyph.
6485 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
6486 we are composing with gstring.
6487
6488 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
6489 Check if adjustment is vector or not.
6490
6491 * Makefile.in (font.o): Make it depends on window.h.
6492
73acf815 64932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6494
6495 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
6496 adjustment is vector or not.
6497
73acf815 64982008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
6499
6500 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
6501
73acf815 65022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6503
6504 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
6505 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
6506 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
6507
1f45f627 6508 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
aca7a3d2 6509 (DEVICE_DELTA): Fix typo.
4c4475a8
GM
6510 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
6511 LGLYPH format.
aca7a3d2 6512
1f45f627 6513 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
6514 the change of LGLYPH format.
6515
73acf815 65162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6517
6518 * ftfont.c (ftfont_list): Fix typo.
1f45f627 6519 (ftfont_build_basic_charsets): Don't include letters with diacritics.
aca7a3d2 6520
880820fe 65212008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2
MB
6522
6523 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
6524
6525 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
6526 xftface_info is non-NULL.
6527
880820fe 65282008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2 6529
1f45f627 6530 * ftfont.c (ftfont_list): Move misplaced #endif.
aca7a3d2 6531
73acf815 65322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6533
6534 * ftfont.c (ftfont_list): Pay attention to the case that
6535 FC_CAPABILITY is not defined.
6536
73acf815 65372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6538
6539 * xftfont.c (xftfont_open): Set charset related members to -1.
6540
1f45f627
GM
6541 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
6542 QCname.
aca7a3d2
MB
6543 (ftfont_open): Set charset related members to -1.
6544
6545 * fontset.c (Votf_script_alist): New variable.
6546 (syms_of_fontset): Initialize it.
6547 (fontset_font): Delete unused variable.
6548
6549 * fontset.h (Votf_script_alist): Extern it.
6550
1f45f627 6551 * font.c (font_find_for_lface): Optimize code.
aca7a3d2
MB
6552
6553 * font.h (font_close_object, font_merge_old_spec): Extern them.
6554
73acf815 65552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6556
6557 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
6558 (syms_of_font): Initialize them.
6559 (font_pixel_size): Allow float value in dpi.
1f45f627
GM
6560 (font_prop_validate_type): Delete.
6561 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
6562 Change caller.
6563 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
6564 (font_prop_validate_extra): Delete.
aca7a3d2
MB
6565 (font_prop_validate_spacing): New function.
6566 (font_property_table): Add elements for all known properties.
1f45f627
GM
6567 (get_font_prop_index): Rename from check_font_prop_name. New
6568 argument FROM. Change caller.
aca7a3d2 6569 (font_prop_validate): Validate all known properties.
1f45f627 6570 (font_put_extra): Delete argument force. Change caller.
aca7a3d2
MB
6571 (font_expand_wildcards): Make it static. Fix the way of shrinking
6572 the possible range.
1f45f627 6573 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
aca7a3d2 6574 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
1f45f627 6575 Change caller.
aca7a3d2 6576 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
1f45f627
GM
6577 (font_parse_fcname): Delete argument merge. Fix parsing of point
6578 size. Don't validate properties values here. Change caller.
6579 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
aca7a3d2
MB
6580 (font_open_by_name): Delete unused variable.
6581 (Ffont_spec): Likewise. Validate property values.
6582 (Ffont_match_p): New function.
6583
6584 * font.h (QCscalable): Extern it.
1f45f627 6585 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
aca7a3d2 6586
1f45f627 6587 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
aca7a3d2 6588
1f45f627 6589 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
aca7a3d2
MB
6590 (xfont_list_pattern): New function.
6591 (xfont_list): Use xfont_list_pattern.
6592
73acf815 65932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6594
6595 * font.h (Flist_fonts): EXFUN it.
6596
73acf815 65972008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6598
6599 * w32term.c (w32_initialize): Add back smoothing_type and
6600 smoothing_enabled definitions.
6601
73acf815 66022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6603
6604 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
6605 s->face->font on determining underline position.
6606
73acf815 66072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6608
6609 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
6610 (font_has_char): Accept font-object too.
6611 (font_find_for_lface): Try at first with a size specified in face.
6612
73acf815 66132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6614
6615 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
6616 font_open_by_name.
6617
73acf815 66182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6619
6620 * font.h (QCspacing, QCdpi): Extern them.
6621 (enum font_spacing): New enum.
6622 (FONT_PIXEL_SIZE_QUANTUM): New macro.
6623
6624 * font.c (POINT_TO_PIXEL): Don't divice POINT by 10.
6625 (QCspacing, QCdpi): New variables.
6626 (syms_of_font): Initialize them.
6627 (font_pixel_size): New function.
6628 (font_put_extra): New function.
6629 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
6630 in FONT_EXTRA.
e9184ccb
JB
6631 (font_parse_fcname): Handle enumenrated values (e.g. bold).
6632 Fix handling font size. Add QCname property that contains only
aca7a3d2 6633 unknown properties.
1f45f627 6634 (font_score): Change argument. Change caller. Pay attention to
aca7a3d2 6635 FONT_PIXEL_SIZE_QUANTUM.
4c4475a8
GM
6636 (font_sort_entites, font_list_entities, font_find_for_lface)
6637 (font_open_for_lface, font_open_by_name): Fix handling of font size.
1f45f627 6638 (Ffont_spec): Add QCname property that contains only unknown properties.
aca7a3d2
MB
6639
6640 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
6641 include weight in listing pattern, instead check weight of each
6642 listed font. Don't include scalable in pattern. Pay attention to
6643 FONT_PIXEL_SIZE_QUANTUM.
6644
73acf815 66452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6646
aca7a3d2 6647 * font.c (font_parse_fcname): Fix parsing of point-size.
1f45f627 6648 (font_unparse_fcname): Produce symbolic names for style properties.
aca7a3d2
MB
6649 (font_list_entities): Handle float size correctly.
6650 (font_open_by_name): Prefer `normal' property values if the name
6651 doesn't specify them.
6652
6653 * fontset.c (Finternal_char_font): Use font_get_name, not
6654 Ffont_xlfd_name.
6655
6656 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
6657 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
6658 pattern. Don't force scalable.
6659
6660 * xftfont.c (xftfont_open): For generating a name, start from
6661 96-byte buffer.
6662
880820fe 66632008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2
MB
6664
6665 * frame.h (x_new_fontset2): Fix prototype.
6666
73acf815 66672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6668
1f45f627 6669 * font.h (struct font_driver): Delete member parse_name.
aca7a3d2
MB
6670 (font_match_p, font_get_spec, font_parse_fcname)
6671 (font_unparse_fcname): Extern them.
1f45f627 6672 (font_get_name): Adjust prototype.
aca7a3d2
MB
6673
6674 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
6675 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
6676 (font_expand_wildcards): Fix handling ENCODING field. Avoid
6677 unnecessary checks for weight, slant, and swidth.
6678 (font_parse_fcname): New function.
6679 (font_unparse_fcname): New function.
6680 (font_parse_name): New function.
6681 (font_match_p): New function.
1f45f627 6682 (font_get_name): Change return value to Lisp string.
aca7a3d2
MB
6683 (font_get_spec): New function.
6684 (Qunspecified, Qignore_defface): Don't extern them.
6685 (font_find_for_lface): Assume that LFACE is fully specified.
6686 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
6687 object, use it for FACE.
6688 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
6689 driver->parse_name.
6690 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
6691
1f45f627
GM
6692 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
6693 prototype.
aca7a3d2 6694
1f45f627
GM
6695 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
6696 argument F. Don't call Fnew_fontset. Instead, directly call
aca7a3d2
MB
6697 make_fontset.
6698
1f45f627 6699 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
aca7a3d2 6700
1f45f627 6701 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
aca7a3d2
MB
6702 of x_new_fontset2.
6703
6704 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
6705 (Qsans__serif): New variables.
6706 (ftfont_generic_family_list): New variable.
6707 (syms_of_ftfont): Initialize the above variables.
1f45f627 6708 (ftfont_pattern_entity): Delete argument NAME.
aca7a3d2
MB
6709 (ftfont_list_generic_family): New function.
6710 (ftfont_parse_name): Delete this function.
1f45f627 6711 (ftfont_list): Try generic family only when FcFontList found no font.
aca7a3d2
MB
6712 (ftfont_list_family): Fix args to FcObjectSetBuild.
6713
6714 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
6715 object in attrs[LFACE_FONT_INDEX].
6716 (set_lface_from_font_name): Cancel all changes for font-backend.
6717 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
6718 function.
6719 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
6720 font object in QCfont attribute.
6721 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
6722 (realize_default_face) [USE_FONT_BACKEND]: Call
6723 set_lface_from_font_and_fontset.
6724
6725 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
6726 "fixed", and signal error here if no suitable font was found.
6727
6728 * xfont.c (xfont_parse_name): Delete this function.
6729
6730 * xftfont.c (xftfont_open): Change coding style of error
6731 handling. Generate fontconfig's fontname pattern.
6732
6733 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
6734 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
6735
6736 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
6737 Both args FONTSET and FONT_OBJECT must be existing ones.
6738
73acf815 67392008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
6740
6741 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
6742
73acf815 67432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6744
6745 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
6746
6747 * font.h (struct font): Fix typo.
6748
6749 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
6750 XLFD_XXX_INDEX.
6751 (enum xlfd_field_mask): New enum.
1f45f627 6752 (intern_font_field): Changed argument. Change caller. If digits
aca7a3d2
MB
6753 are followed by non-digits, return a symbol.
6754 (font_expand_wildcards): New function.
6755 (font_parse_xlfd): Fix wildcard handling.
6756 (Ffont_spec): If :name is specified, reflect the info in the other
6757 properties.
6758
6759 * ftfont.c (ftfont_pattern_entity): Fix typo.
6760 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
6761 locale.
6762
73acf815 67632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6764
6765 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
6766
1f45f627 6767 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
aca7a3d2
MB
6768 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
6769 registry doesn't specify encoding part.
6770 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
6771 (font_open_by_name): At first try parsing the name.
6772 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
6773 as Lisp symbols.
6774
6775 * fontset.c (reorder_font_vector): Pay attention to the case that
6776 the 3rd element of font_def is nil.
6777 (fontset_font): For the default fontset, append one more fontset
6778 elements for a script-based font specification. Don't add script
6779 attribute on finding a font.
6780 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
6781 font name.
6782 (fontset_ascii_font): If a font can't be opened, return nil.
6783
1f45f627 6784 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
aca7a3d2
MB
6785 (ftfont_pattern_entity): New function.
6786 (ftfont_get_cache): Assume that freetype_font_cache is already
6787 initialized.
6788 (ftfont_list): Handle the case that a file is specified in font
6789 name. Use ftfont_pattern_entity to generate entities.
6790 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
6791 (syms_of_ftfont): Initialize freetype_font_cache.
6792
6793 * xftfont.c (xftfont_open): Make the font name fontconfig's
6794 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
6795 (xftfont_close): Free font->font.name if not NULL.
6796
6797 * xfont.c (xfont_list): If script is specified for a font, return
6798 null_vector.
6799 (xfont_list_family): Declare argument type.
6800
6801 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
6802 name, set LFACE_FONT (lface) to nil.
6803
6804 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
6805 return Qnil.
6806
73acf815 68072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6808
1f45f627 6809 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
aca7a3d2
MB
6810 (standard_args): Add "-enable-font-backend".
6811
73acf815 68122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6813
6814 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
6815 (struct xftdraw_list, xftdraw_list): Delete them.
6816 (register_xftdraw, check_xftdraw): Delete them.
6817 (xftfont_prepare_face): Don't call register_xftdraw.
6818 (xftfont_done_face): Don't call check_xftdraw.
6819 (xftfont_draw): Get backroudn color only when with_background is
6820 nonzero.
6821
6822 * xfont.c (xfont_encode_char): Fix calculation of char2b.
6823
73acf815 68242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6825
6826 These changes are for the new font handling codes.
6827
6828 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
6829 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
6830 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
6831 (FONTSRC, FONTOBJ): New variables.
6832 (obj): Add $(FONTOBJ).
6833 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
6834 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
6835 @LIBOTF_LIBS@.
6836 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
1f45f627 6837 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
aca7a3d2 6838
1f45f627 6839 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
aca7a3d2
MB
6840
6841 * character.h (Vscript_representative_chars): Extern it.
6842
6843 * character.c (Vscript_representative_chars): New variable.
6844 (syms_of_character): Declare it as a Lisp variable.
6845
6846 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
6847 enable_font_backend is nonzero, accept the composition method
6848 COMPOSITION_WITH_GLYPH_STRING.
6849
6850 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
6851 enumeration COMPOSITION_WITH_GLYPH_STRING.
6852
aca7a3d2
MB
6853 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
6854 members clip_x, clip_y, clip_width, and clip_height.
6855 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
6856
6857 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
6858 --enable-font-backend. Call syms_of_font.
6859
6860 * fns.c (assoc_no_quit): New function.
6861
6862 * fontset.h (FONT_INFO_FROM_FACE): New macro.
6863 (face_for_font, new_fontset_from_font)
6864 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
6865
6866 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
6867 (fontset_font, fontset_ascii, face_for_char)
6868 (make_fontset_for_ascii_face, Ffont_info)
6869 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
6870 is nonzero, use font-backend mechanism.
6871 (find_font_encoding): Make it non-static.
6872 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
6873 New functions.
6874
6875 * frame.h (struct frame): New members resx and resy.
6876 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
6877 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
6878
6879 * frame.c [USE_FONT_BACKEND]: Include "font.h".
1f45f627 6880 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
aca7a3d2
MB
6881
6882 * lisp.h (assoc_no_quit): Extern it.
6883
6884 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
6885 Through out the file, use FONT_INFO_FROM_FACE instead of
6886 FONT_INFO_FROM_ID, use get_per_char_metric instead of
6887 rif->per_char_metric.
6888 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
6889 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
6890 (get_glyph_face_and_encoding, fill_composite_glyph_string)
6891 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
6892 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
6893 nonzero, use font-backend mechanism.
6894 (get_per_char_metric): New function.
6895
6896 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
6897 (set_lface_from_font_name)
6898 (set_font_frame_param, free_realized_face)
6899 (prepare_face_for_display, clear_face_gcs)
6900 (Finternal_set_font_selection_order, realize_x_face)
6901 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
6902 font-backend mechanism.
1f45f627 6903 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
aca7a3d2
MB
6904 (load_face_font) [USE_FONT_BACKEND]: Abort.
6905 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
1f45f627 6906 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
aca7a3d2
MB
6907
6908 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
6909 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
6910 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
6911 nonzero, register all available font drivers. Call
6912 x_default_font_parameter for deciding a font.
6913 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
6914
6915 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
6916 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
6917 (x_set_glyph_string_clipping_exactly)
6918 (x_compute_glyph_string_overhangs)
6919 (x_draw_glyph_string_foreground)
6920 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
6921 (x_free_frame_resources) [USE_FONT_BACKEND]: If
6922 enable_font_backend is nonzero, use font-backend mechanism.
6923 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
6924
73acf815 69252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6926
fcb314b2 6927 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
aca7a3d2
MB
6928 system_eol_type.
6929 (syms_of_coding): Initialize system_eol_type.
6930
fcb314b2
GM
6931 * process.c (Fset_process_coding_system): Inherit system's eol
6932 format if necessary.
aca7a3d2 6933
73acf815 69342008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
6935
6936 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
6937
73acf815 69382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6939
6940 * coding.c (decode_eol): Pay attention to buffer relocation in
6941 del_range_2.
6942 (decode_coding): Call decode_eol before restoring undo_list.
6943
73acf815 69442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6945
6946 * charset.c (Fdefine_charset_internal): Fix setting of
6947 emacs_mule_bytes.
6948
73acf815 69492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6950
6951 * keyboard.c (read_char): Check if C is a character or not before
6952 looking up Vkeyboard_translate_table.
6953
73acf815 69542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6955
6956 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
6957 condition to terminate the loop.
6958
73acf815 69592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6960
6961 * coding.c (produce_composition): Compare charbuf[i] instead of
6962 args[i] against 0.
6963 (Fterminal_coding_system): Use EQ to compare Lisp objects.
6964
73acf815 69652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6966
6967 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
6968 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
6969 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
6970 detect_coding.
6971 (emacs_mule_char): Handle old style (Emacs 20) component character
6972 of a composition.
4c4475a8
GM
6973 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
6974 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
6975 composition rule.
aca7a3d2
MB
6976 (decode_coding_emacs_mule): Handle invalid bytes correctly.
6977
73acf815 69782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6979
6980 * coding.c (encode_coding_ccl): Allocate destination dynamically
6981 when necessary.
6982
73acf815 69832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6984
6985 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
6986 the loop. When quitted, show a proper error message.
6987
73acf815 69882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6989
aca7a3d2
MB
6990 * xterm.c (x_set_glyph_string_clipping_exactly): Set
6991 src->clip_head and src->clip_tail temporarily instead of src->hl.
6992
6993 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
6994 character sequence.
6995 (Fccl_execute_on_string): Use ASET, not XSET.
6996
73acf815 69972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6998
1f45f627 6999 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
aca7a3d2 7000
73acf815 70012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7002
7003 * coding.c (decode_coding): Fix the condition of terminating the
7004 decoding loop.
7005
73acf815 70062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7007
7008 * data.c (Faset): On setting a character bigger than 255 in a
1f45f627 7009 unibyte string, signal an error instead of make the string multibyte.
aca7a3d2 7010
73acf815 70112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7012
7013 * charset.c (map_charset_chars): Fix for ascii-compatible charset
7014 made by a mapping table.
7015
73acf815 70162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7017
7018 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
7019 not.
7020 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
7021 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
7022
7023 * xterm.c (x_draw_composite_glyph_string_foreground): Check
7024 s->face is NULL or not.
7025
73acf815 70262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7027
7028 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
7029 (x_draw_glyph_string): Fix drawing of right_overhang and
7030 left_overhang around/on cursor.
7031
1f45f627 7032 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
aca7a3d2 7033
73acf815 70342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7035
7036 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
7037
73acf815 70382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7039
4c4475a8
GM
7040 * coding.c (Fdefine_coding_system_internal)
7041 (Fdefine_coding_system_alias): Avoid a duplicated element in
7042 Vcoding_system_alist.
aca7a3d2 7043
73acf815 70442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7045
7046 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
7047
fcb314b2 7048 * coding.c (Qcoding_system_define_form): New variable.
aca7a3d2
MB
7049 (syms_of_coding): Intern and staticpro it.
7050 (Fcoding_system_p): Check Qcoding_system_define_form.
1f45f627 7051 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
aca7a3d2
MB
7052
7053 * coding.h (CODING_SYSTEM_P): If ID is not available, call
7054 Fcoding_system_p.
7055 (CHECK_CODING_SYSTEM): If ID is not available, call
7056 Fcheck_coding_system.
4c4475a8
GM
7057 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
7058 Try also Fcheck_coding_system.
aca7a3d2 7059
73acf815 70602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7061
aca7a3d2
MB
7062 * coding.c (code_conversion_restore): GCPRO arg.
7063
73acf815 70642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7065
7066 * character.c (lisp_string_width): Check multibyteness of STRING.
7067
73acf815 70682008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
7069
7070 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
7071 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
7072 (decode_mac_font_name): Use decode_coding_c_string instead of
7073 decode_coding.
7074 (x_load_font): Initialize fontp->fontset to -1. Set
7075 fontp->encoding_type.
7076
73acf815 70772008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7078
7079 * search.c (search_buffer): Give up BM search on case-fold-search
7080 if one of a target character has a case-equivalence of different
7081 byte length even if that target charcter is an ASCII.
1f45f627
GM
7082 (simple_search): Fix calculation of byte length of matched text.
7083 (boyer_moore): Fix handling of case-equivalent multibyte characters.
aca7a3d2 7084
73acf815 70852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7086
7087 * coding.c (decode_coding): Fix handling of invalid bytes.
7088
73acf815 70892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7090
7091 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
7092 Unicode characters.
7093
73acf815 70942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7095
7096 * coding.c (encode_coding_object): If a pre-write-conversion
7097 function makes a new buffer, kill it.
7098
73acf815 70992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7100
7101 * coding.c (QCascii_compatible_p): New variable.
7102 (syms_of_coding): Initialize it.
4c4475a8
GM
7103 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
7104 calling string_char.
aca7a3d2
MB
7105 (record_conversion_result): Add `default:' case.
7106 (coding_charset_list): Delete unused variable `coding_type'.
7107 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
7108 property in the plist of the coding system.
7109 (Fcoding_system_put): Check QCascii_compatible_p.
7110
73acf815 71112008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
7112
7113 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
7114 removed calculation of frame `f', as it's now used.
7115
73acf815 71162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7117
1f45f627 7118 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
aca7a3d2
MB
7119 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
7120 (UNIDATA): New variable.
7121 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
7122 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
7123 $(RUN_TEMACS) unconditionally.
7124
73acf815 71252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7126
1f45f627 7127 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
aca7a3d2
MB
7128 (admindir): New variable.
7129 ($(lispsource)international/charprop.el): New target.
7130
73acf815 71312008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 7132
1f45f627 7133 * character.c (chars-in-region): Remove obsolete function.
aca7a3d2
MB
7134 (syms_of_character): Remove its initialization.
7135
73acf815 71362008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
aca7a3d2
MB
7137
7138 * w32select.c (validate_coding_system)
7139 (setup_windows_coding_system): New functions.
7140 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
7141 setup_windows_coding_system.
7142 (setup_config, Fw32_get_clipboard_data): Use
7143 validate_coding_system.
7144 (Fx_selection_exists): Move call to setup_config to a place
1f45f627 7145 where signals are allowed.
aca7a3d2
MB
7146
7147 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
7148 (Fcheck_coding_system): Add declarations.
7149
73acf815 71502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7151
1f45f627 7152 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
aca7a3d2 7153
73acf815 71542008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
7155
7156 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
7157 string as the second argument for x_new_fontset.
7158
73acf815 71592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7160
7161 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
7162 (encode_coding_object): Use safe_call instead of call2.
7163
73acf815 71642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7165
1f45f627 7166 * fontset.c (Fset_fontset_font): Check family element of a given vector.
aca7a3d2
MB
7167
7168 * Makefile.in (lisp): Include charprop.el.
7169
73acf815 71702008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
7171
7172 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
7173 Not sure if it's unnecessary.
7174
73acf815 71752008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
7176
7177 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
7178 some possibly unnecessary fontset checking code that crashed
1f45f627 7179 when creating a new frame.
aca7a3d2 7180
73acf815 71812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7182
7183 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
7184 lookup_face.
7185
7186 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
7187
1f45f627 7188 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
aca7a3d2 7189
73acf815 71902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7191
73acf815 7192 * coding.c: Cancel the change done in HEAD on 2008-02-01.
aca7a3d2
MB
7193 (coding_charset_list): New function.
7194
7195 * coding.h (coding_charset_list): Extern it.
7196
73acf815 71972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7198
7199 * fontset.c (Fset_fontset_font): Call find_font_encoding with
7200 concatenation of family and registry.
7201
73acf815 72022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7203
7204 * character.h (BYTE8_STRING): Fix typo.
7205
7206 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
7207 string to multibyte (sync to HEAD).
7208
7209 * casefiddle.c (casify_region): Handle changes in byte-length
7210 using replace_range_2 (sync to HEAD).
7211
73acf815 72122008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
7213
7214 * chartab.c (map_char_table): GCPRO table and arg.
7215
73acf815 72162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7217
7218 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
7219 already at limit.
7220
73acf815 72212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7222
7223 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
7224 instead of fast_c_string_match_ignore_case.
1f45f627 7225 (find_font_encoding): Change argument to Lisp_Object. Use
aca7a3d2 7226 fast_string_match_ignore_case instead of
1f45f627 7227 fast_c_string_match_ignore_case. Change caller.
aca7a3d2 7228
73acf815 72292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7230
7231 * xdisp.c (get_next_display_element): In unibyte case, decide to
7232 display in octal form by checking a chacter by
7233 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
7234
1f45f627 7235 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
aca7a3d2
MB
7236
7237 * character.c (unibyte_has_multibyte_table): New variable.
7238
7239 * character.h (unibyte_has_multibyte_table): Extern it.
7240 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
7241
73acf815 72422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7243
7244 * coding.c (encode_coding_iso_2022): Fix handling of charset
7245 annotation.
7246
73acf815 72472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7248
7249 * coding.c (setup_coding_system): If coding_system is nil, use
7250 Qundecided.
7251 (Fterminal_coding_system): Return nil if terminal coding system is
7252 `undecided'.
7253 (syms_of_coding): Define coding-system `undecided' here. Setup
7254 terminal_coding as `undecided'.
7255
73acf815 72562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7257
7258 * xdisp.c (message_dolog, set_message_1): Call
7259 unibyte_char_to_multibyte with arg type int.
7260
aca7a3d2
MB
7261 * lread.c (read1): Fix reading of a char-table.
7262
7263 * print.c (print_object): Include sub char-table in cicularities
7264 detection.
7265
73acf815 72662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7267
7268 * keymap.c (where_is_internal_2): Fix for the case that KEY is a
1f45f627 7269 cons. Append the found sequences in car of ARGS instead of prepending.
aca7a3d2 7270
73acf815 72712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7272
7273 * fileio.c (report_file_error): Make a unibyte string from
7274 strerror (errorno).
7275 (Fsubstitute_in_file_name): Fix the arg to
7276 unibyte_char_to_multibyte. It is evaluated twice.
7277
73acf815 72782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7279
7280 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
7281
73acf815 72822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7283
7284 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
7285 BOM is not found.
4c4475a8
GM
7286 (detect_coding, detect_coding_system): Optimization for ISO-2022
7287 when no 8-bit data is found.
aca7a3d2 7288
73acf815 72892008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7290
7291 * w32fns.c (x_to_w32_font): Update to use new coding struct.
7292
73acf815 72932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7294
4c4475a8
GM
7295 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
7296 CHARS.
aca7a3d2 7297
73acf815 72982008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
7299
7300 * macterm.c (mac_encode_char): Add charset argument and update
7301 to use encoding_type.
2a2e8de7 7302 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
1f45f627
GM
7303 switch to pure fontset.
7304 (decode_mac_font_name): Temporarily remove decoding.
7305 (x_font_name_to_mac_font_name): Temporarily remove encoding.
7306 (x_load_font): Temporarily remove encoding.
aca7a3d2 7307
73acf815 73082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7309
7310 * xfaces.c (Fface_font): If frame is not on a window system,
7311 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
7312 refer to face->font.
7313 (split_font_name_into_vector, build_font_name_from_vector)
7314 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
7315 whne HAVE_WINDOW_SYSTEM is defined.
7316
73acf815 73172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7318
7319 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
7320 (x_produce_glyphs): Fix setting of members of cmp in case
1f45f627 7321 cmp->glyph_len is zero.
aca7a3d2 7322
1f45f627 7323 * fontset.c (Fset_fontset_font): Fix docstring.
aca7a3d2
MB
7324 (Ffontset_info): Make it backward compatible. New arg ALL.
7325
73acf815 73262008-02-01 Kim F. Storm <storm@cua.dk>
aca7a3d2
MB
7327
7328 * process.c (read_process_output): Grow decoding_buf when needed;
7329 this could cause a crash in allocate_string and compact_small_strings.
7330
73acf815 73312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7332
1f45f627 7333 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
aca7a3d2 7334
73acf815 73352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7336
7337 * coding.c (setup_coding_system): Set coding->common_flags
7338 correctly for raw-text.
7339 (consume_chars): On encoding unibyte text by raw-text, don't check
7340 multibyte form.
1f45f627 7341 (encode_coding): On encoding by raw-text, never use translation tables.
aca7a3d2
MB
7342
7343 * fileio.c (e_write): Short cut for the case of no encoding.
7344
73acf815 73452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7346
4c4475a8
GM
7347 * coding.c (detect_coding, detect_coding_system): Delete unused
7348 variables.
aca7a3d2 7349
73acf815 73502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7351
7352 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
7353 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
7354
73acf815 73552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7356
7357 * coding.c (Ffind_coding_systems_region_internal): Include
7358 raw-text and no-conversion in the result.
7359
73acf815 73602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7361
1f45f627 7362 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
aca7a3d2
MB
7363 (load_font_get_repertory): Delete unnecessary check of ENCODING of
7364 FONT_DEF.
7365 (font_def_arg, add_arg, from_arg, to_arg): New args.
1f45f627 7366 (set_fontset_font): Change argument.
aca7a3d2
MB
7367 (Fset_fontset_font): Fix for the case that TARGET is a script
7368 name and charset name.
7369 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
7370
73acf815 73712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7372
1f45f627
GM
7373 * fontset.c (fontset_font): Rename from fontset_face. Change return
7374 value.
4c4475a8
GM
7375 (face_suitable_for_char_p, face_for_char): Adjust for the change
7376 of fontset_font.
aca7a3d2
MB
7377 (make_fontset_for_ascii_face): Fix setting of the fontset element
7378 for ASCII.
7379 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
7380 to get a font name.
1f45f627 7381 (Ffontset_info): Adjust for the change of fontset_font.
aca7a3d2 7382
fcb314b2 7383 * coding.c (emacs_mule_char): Check invalid code more regidly.
aca7a3d2
MB
7384
7385 * character.h (LEADING_CODE_LATIN_1_MIN)
7386 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
7387
73acf815 73882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7389
fcb314b2 7390 * editfns.c (check_translation): New function.
aca7a3d2
MB
7391 (Ftranslate_region_internal): Handle M:N mapping.
7392
73acf815 73932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7394
7395 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
7396
73acf815 73972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7398
7399 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
7400 goto invalid_code.
7401 (decode_coding_iso_2022): Fix handling of invalid designation.
7402
7403 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
7404 after calling code_conversion_save.
7405
73acf815 74062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7407
7408 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
7409
7410 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
7411
7412 * fontset.c: Include "intervals.h".
7413 (fontset_face): Fix comparing of Lisp_Objects.
4c4475a8
GM
7414 (free_face_fontset, new_fontset_from_font_name): Fix
7415 Lisp_Object/int mixup.
aca7a3d2
MB
7416
7417 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
7418
7419 * coding.c: Add many prototypes for static functions.
7420 (get_translation_table): Allow max_lookup to be NULL.
2a2e8de7 7421 (decode_coding, Ffind_coding_systems_region_internal)
4c4475a8
GM
7422 (Funencodable_char_position, Fcheck_coding_systems_region): Call
7423 get_translation_table with max_lookup NULL.
aca7a3d2 7424
73acf815 74252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7426
7427 * coding.c (get_translation_table): Declare it as Lisp_Object.
7428 (LOOKUP_TRANSLATION_TABLE): New macro.
4c4475a8
GM
7429 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
7430 instead of CHAR_TABLE_REF.
aca7a3d2 7431
73acf815 74322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7433
1f45f627 7434 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
aca7a3d2
MB
7435 annotation data format.
7436 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
1f45f627 7437 Change arguments FROM and TO to single argument NCHARS. Change caller.
4c4475a8 7438 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
aca7a3d2 7439 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
4c4475a8
GM
7440 (decode_coding_ccl, decode_coding_charset): Pay attention to
7441 coding->charbuf_used.
aca7a3d2
MB
7442 (get_translation): New function.
7443 (produce_chars): New arguments translation_table and last_block.
7444 Translate characters here. Return number of carryover chars.
1f45f627
GM
7445 Change caller.
7446 (produce_composition): New argument pos. Change caller.
7447 Adjust for the change of annotation data format.
aca7a3d2
MB
7448 (produce_charset, produce_annotation): Likewise.
7449 (decode_coding, encode_coding): Don't call translate_chars.
1f45f627
GM
7450 (consume_chars): New arg translation_table. Change caller.
7451 (translate_chars): Delete.
7452 (syms_of_coding): Make translation-table's number of extra slots 2.
aca7a3d2 7453
73acf815 74542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7455
7456 * search.c (simple_search): Fix setting this_pos_byte in backward
7457 search.
7458
7459 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
7460 byte sequence.
7461 (detect_coding_ccl): Fix setting of the variable valids.
7462
73acf815 74632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7464
7465 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
7466
7467 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
7468
1f45f627 7469 * editfns.c (Ftranslate_region_internal): Rename from
aca7a3d2
MB
7470 Ftranslate_region. Accept a char-table in TABLE.
7471 (syms_of_editfns): Defsubr Stranslate_region_internal.
7472
7473 * xfaces.c (set_lface_from_font_name): If a font is specified for
7474 a frame, generate a fontset from the font.
7475 (build_scalable_font_name): If the scalable font is requested for
7476 a specific size, don't change that size.
7477 (try_font_list): Try a scalable font also in the case that a
1f45f627 7478 pattern string is specified.
aca7a3d2 7479
73acf815 74802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7481
7482 * xfaces.c (Fface_font): New optional arg CHARACTER.
7483
73acf815 74842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7485
7486 * charset.h (CHARSET_OFFSET): New macro.
7487
73acf815 74882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7489
7490 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
7491
7492 * fontset.c (fontset_face): Handle the case that repertory is a
7493 char-table.
7494 (find_font_encoding): Return nil for unknown encoding.
7495 (Fset_fontset_font): Ignore a font of unknown encoding.
7496
73acf815 74972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7498
1f45f627 7499 * keymap.c (describe_vector): Handle default value of a char table.
aca7a3d2
MB
7500
7501 * fontset.c (fontset_face): Handle fallback fonts correctly.
7502 (Ffontset_info): Return infomation about fallback fonts.
7503
73acf815 75042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7505
7506 * fontset.c (FONTSET_DEFAULT): New macro.
4c4475a8 7507 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
aca7a3d2
MB
7508 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
7509 the case that it is nil.
7510 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
1f45f627 7511 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
aca7a3d2
MB
7512
7513 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
7514 subset or superset.
7515
73acf815 75162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7517
7518 * emacs.c (main): Call init_charset after syms_of_XXX.
7519
1f45f627 7520 * charset.c (Vcharset_map_directory): Delete.
1f204af3 7521 (Vcharset_map_path): New variable.
aca7a3d2
MB
7522 (load_charset_map_from_file): Use Vcharset_map_path instead.
7523 (init_charset): Initialize Vcharset_map_path.
7524 (syms_of_charset): Delete declaration of "charset-map-directory",
7525 add declaration of "charset-map-path".
7526
73acf815 75272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7528
4c4475a8
GM
7529 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
7530 ASCII only string.
aca7a3d2
MB
7531
7532 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
7533
7534 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
6f69e89b 7535 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
aca7a3d2 7536
73acf815 75372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7538
7539 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
7540
7541 * coding.c (QCmnemonic, QCdefalut_char)
7542 (QCdecode_translation_table, QCencode_translation_table)
7543 (QCpost_read_conversion, QCpre_write_conversion): New variables.
7544 (get_translation_table): Return a list of translation tables if
7545 necessary.
7546 (decode_coding): Call get_translation_table with ENCODEP 0.
7547 (char_encodable_p): If translation_table is non-nil, always call
7548 translate_char.
7549 (Fdefine_coding_system_internal): Accept list of translation
7550 tables as :encode-translation-table and :decode-translation-table.
7551 (Fcoding_system_put): New function.
7552 (syms_of_coding): Declare new symbols. Defsubr
7553 Scoding_system_put.
4c4475a8
GM
7554 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
7555 typically JISX0212.
aca7a3d2
MB
7556
7557 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
7558 when the charset is superset type.
7559
7560 * character.c (translate_char): Accept list of translation tables.
7561
73acf815 75622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7563
1f45f627 7564 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
aca7a3d2
MB
7565 (CODING_ATTR_TRANS_TBL): New macro.
7566
7567 * coding.c (get_translation_table): New function.
7568 (translate_chars): Fix the bug of skipping annotation data.
4c4475a8
GM
7569 (decode_coding, encode_coding): Utilize get_translation_table.
7570 (char_encodable_p, Funencodable_char_position): Translate char if
7571 necessary.
7572 (Ffind_coding_systems_region_internal)
7573 (Fcheck_coding_systems_region): Setup translation table for encode
7574 in a coding system attribute vector in advance.
aca7a3d2
MB
7575 (Fdefine_coding_system_internal): Allow a symbol as translation
7576 table. For shift-jis type coding system, allow 4th charset.
7577
73acf815 75782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7579
7580 * coding.c (decode_coding_sjis): Check the first byte rigidly.
7581
7582 * xdisp.c (get_next_display_element): Pass -1 as POS to
7583 FACE_FOR_CHAR if displaying a C-string.
7584
73acf815 75852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7586
7587 * composite.c (get_composition_id): Handle xoff and yoff in a
7588 composition rule.
7589
7590 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
7591 (struct composition): New member lbearing and rbearing.
7592
7593 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
7594 (x_get_glyph_overhangs): Handle a composition glyph.
1f45f627 7595 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
aca7a3d2
MB
7596
7597 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
7598 composition glyph.
7599
73acf815 76002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7601
7602 * print.c: Include charset.h.
7603 (Vprint_charset_text_property): New variable.
7604 (Qdefault): Extern it.
7605 (PRINT_STRING_NON_CHARSET_FOUND)
7606 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
7607 (print_check_string_result): New variable.
7608 (print_check_string_charset_prop): New function.
7609 (print_prune_charset_plist): New variable.
7610 (print_prune_string_charset): New function.
7611 (print_object): Call print_prune_string_charset if
7612 Vprint_charset_text_property is not t.
7613 (print_interval): Print nothing if itnerval->plist is nil.
7614 (syms_of_print): Declare Vprint_charset_text_property as a lisp
7615 variable. Init and staticpro print_prune_charset_plist.
7616
73acf815 76172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7618
7619 * fontset.c (new_fontset_from_font_name): Use the specified font
7620 for all characters in the new fontset.
7621
7622 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
7623 OBJECT args.
7624
7625 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
7626 OBJECT args for composition too.
7627
7628 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
7629 OBJECT args.
7630
73acf815 76312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7632
7633 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
7634
1f45f627 7635 * fontset.c (reorder_font_vector): Adjust for the change of
aca7a3d2 7636 FONT_DEF format.
1f45f627 7637 (fontset_face): New arg id. Change caller.
aca7a3d2 7638 (face_for_char): New args pos and object.
1f204af3 7639 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
aca7a3d2
MB
7640 (fs_query_fontset): Check NAME by Fassoc too.
7641 (Fset_fontset_font): Allow non-XLFD font name.
1f45f627 7642 (Ffontset_info): Adjust for the change of FONT_DEF format.
aca7a3d2 7643
1f45f627 7644 * fontset.h (face_for_char): Adjust prototype.
aca7a3d2 7645
4c4475a8
GM
7646 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
7647 (append_space, extend_face_to_end_of_line)
7648 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
7649 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
aca7a3d2
MB
7650
7651 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
7652 POS and OBJECT args.
7653
7654 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
7655 POS and OBJECT args.
7656
73acf815 76572008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7658
7659 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
7660 of GlobalAlloc'ed memory.
7661
73acf815 76622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7663
7664 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
7665
7666 * charset.h (charset_table_used): Delete extern.
7667
7668 * charset.c (charset_table_used): Make it static.
7669 (map_charset_chars): Fix args to c_function with.
7670
7671 * chartab.c (map_sub_char_table_for_charset): Fix args to
7672 c_function with.
7673
7674 * coding.h (enum coding_result_code): Delete
7675 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
7676
7677 * coding.c (Qinsufficient_source, Qinconsistent_eol)
1f45f627 7678 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
aca7a3d2
MB
7679 (Vlast_code_conversion_error): New variables.
7680 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
7681 (ONE_MORE_BYTE): Record error if any instead of signaling an
7682 error. If non-ASCII multibyte char is found, return the negative
7683 value of the code. All callers changed to check it.
7684 (ONE_MORE_BYTE_NO_CHECK): Likewise.
1f45f627
GM
7685 (record_conversion_result): New function. Change all codes setting
7686 coding->result to call this function.
4c4475a8
GM
7687 (detect_coding_utf_8, decode_coding_utf_8)
7688 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
7689 Don't use the local variable incomplete.
aca7a3d2 7690 (emacs_mule_char): Change the second arg to `const'.
aca7a3d2
MB
7691 (decode_coding): Fix of flushing out unprocessed data.
7692 (make_conversion_work_buffer): Fix making of a work buffer.
2a2e8de7 7693 (decode_coding_object): Return coding->dst_object.
aca7a3d2
MB
7694
7695 * fontset.c (set_fontset_font): Fix args.
7696
7697 * lisp.h (CHARACTERBITS): Define as 22.
7698
7699 * process.c (send_process): Be sure to set coding->src_multibyte.
7700
7701 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
7702
73acf815 77032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7704
7705 * xdisp.c (handle_auto_composed_prop): Give limit to
7706 Fnext_single_char_property_change.
7707
73acf815 77082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7709
424c157f 7710 * composite.c (syms_of_composite): Don't make the composition hash
1f45f627 7711 table weak.
aca7a3d2
MB
7712
7713 * fontset.c (Fset_fontset_font): Fix docstring.
7714
7715 * lisp.h (detect_coding_system): Adjust prototype.
7716
7717 * fileio.c (kill_workbuf_unwind): Delete this function.
7718 (Finsert_file_contents): Adjust the call of detect_coding_system.
7719 Get conversion_buffer by code_conversion_save. Use the macor
7720 CODING_MAY_REQUIRE_DECODING. After decoding, update
7721 coding_system.
7722
7723 * coding.h (make_conversion_work_buffer): Delete extern.
7724 (code_conversion_save): Extern it.
7725
7726 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
1f45f627 7727 (CODING_GET_INFO): Delete argument eol_type. Change callers.
aca7a3d2
MB
7728 (decode_coding_utf_8): Don't do eol converion.
7729 (detect_coding_utf_16): Check coding->src_chars, not
1f45f627 7730 coding->src_bytes. Add heuristics for those that have no signature.
4c4475a8
GM
7731 (decode_coding_emacs_mule, decode_coding_iso_2022)
7732 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
7733 Don't do eol converion.
aca7a3d2
MB
7734 (adjust_coding_eol_type): Return a new coding system.
7735 (detect_coding): Don't detect eol. Fix for utf-16 detection.
7736 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
7737 each change.
7738 (decode_coding): Pay attention to undo_list. Do eol convesion for
7739 all types of coding-systems (if necessary).
7740 (Vcode_conversion_work_buf_list): Delete it.
1f45f627 7741 (Vcode_conversion_reused_workbuf): Rename from
aca7a3d2
MB
7742 Vcode_conversion_reused_work_buf.
7743 (Vcode_conversion_workbuf_name): New variable.
7744 (reused_workbuf_in_use): New variable.
7745 (make_conversion_work_buffer): Delete the arg DEPTH.
4c4475a8 7746 (code_conversion_restore): Change argument to cons.
1f45f627
GM
7747 (code_conversion_save): Delete the argument BUFFER. Change callers.
7748 (detect_coding_system): New argument src_chars. Change callers.
aca7a3d2
MB
7749 Fix for utf-16 detection.
7750 (init_coding_once): Don't use ISO_carriage_return.
1f45f627 7751 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
aca7a3d2
MB
7752 reused_workbuf_in_use.
7753
73acf815 77542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7755
7756 * keymap.c (store_in_keymap): Pay attention to the case that idx
7757 is a cons specifying a character range.
7758
73acf815 77592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7760
7761 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
7762 HANDLED_RECOMPUTE_PROPS.
7763
7764 * coding.c (Fdefine_coding_system_internal): Fix checking of
7765 ascii compatibility.
7766
73acf815 77672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7768
1f45f627 7769 * charset.c (find_charsets_in_text): Delete unused locale variable.
aca7a3d2
MB
7770 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
7771
7772 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
7773 Resync charset_list to Vemacs_mule_charset_list.
7774
7775 * keymap.c (store_in_keymap): Pay attention to the case that idx
7776 is a cons specifying a character range.
7777
73acf815 77782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7779
7780 * composite.c (update_compositions): Bind inhibit-read-only, etc
7781 to t before calling remove-list-of-text-properties.
7782
7783 * print.c (print_object): Always print ASCII chars as is.
7784
73acf815 77852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7786
1f45f627 7787 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
aca7a3d2 7788
4c4475a8
GM
7789 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
7790 is a char table.
aca7a3d2 7791
73acf815 77922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7793
1f45f627 7794 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
aca7a3d2 7795
73acf815 77962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7797
7798 * xfaces.c (set_lface_from_font_name): Fix for the case that
7799 FONTNAME is not fontset name.
7800
73acf815 78012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7802
7803 * fns.c (base64_encode_1): Fix previous change.
7804
73acf815 78052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7806
7807 * fontset.c (set_fontset_font): New function.
7808 (Fset_fontset_font): If a font is specified for a charset, use
7809 map_charset_chars to store the font spec in a fontset.
7810
73acf815 78112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7812
1f204af3 7813 * fontset.c (fontset_face): Create a fallback fontset on demand.
aca7a3d2
MB
7814 (make_fontset): Don't create a fallback fontset here.
7815 (free_face_fontset): Free a fallback fontset (if any) too.
7816 (n_auto_fontsets): Delete this variable.
7817 (auto_fontset_alist): New variable.
7818 (new_fontset_from_font_name): Check auto_fontset_alist.
7819 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
7820 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
7821 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
7822 Defsubr Sfontset_list_all.
7823
73acf815 78242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7825
7826 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
7827
73acf815 78282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7829
7830 * fontset.c (Fnew_fontset): Check NAME more rigidly.
7831
73acf815 78322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7833
7834 * editfns.c (Fgoto_char): Fix docstring.
7835
73acf815 78362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7837
7838 * insdel.c (insert_from_gap): Adjust intervals correctly.
7839
73acf815 78402008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7841
7842 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
7843 (pfnGetFontUnicodeRanges): New dynamically loaded function.
7844 (w32_initialize): Try to load it.
7845 (x_get_font_repertory): Use it if available.
7846 (w32_encode_char): Add shortcut for unicode output.
7847
7848 * w32fns.c (w32_load_system_font): Default charset to -1.
7849 (x_to_w32_charset): Match all fonts for unicode.
1f45f627 7850 (w32_to_x_charset): New parameter matching. Don't return partial
aca7a3d2
MB
7851 or wildcard charsets.
7852 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
7853 (w32_codepage_for_font): Return CP_UNICODE for unicode.
7854 (w32_to_x_font): Match charset to real charset.
7855 (enum_font_cb2): Always list unicode versions.
7856
7857 * makefile.w32-in (temacs): Increase EMHEAP.
7858
73acf815 78592008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7860
7861 * w32term.c (w32_encode_char): New charset parameter.
7862 font_info.encoding becomes encoding_type.
1f45f627 7863 (x_get_font_repertory): New function. Warning: stub only!
aca7a3d2
MB
7864 (x_new_font): Return quickly if font already set.
7865 (x_new_fontset): fontsetname parameter is Lisp_Object.
2a2e8de7
JB
7866 Use new fs_query_fontset. Try new_fontset_from_font_name.
7867 Use fontset_name for return value.
aca7a3d2
MB
7868
7869 * w32term.h: Declare x_get_font_repertory.
7870
7871 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
1f45f627 7872 place of find_charset_in_text. Use encode_coding_object in place
aca7a3d2
MB
7873 of encode_coding.
7874 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
7875 decode_coding.
7876
7877 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
7878 of x_new_fontset.
7879 (w32_load_system_font): Initialize charset as unicode.
7880 font_info.encoding becomes encoding_type.
1f45f627
GM
7881 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
7882 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
aca7a3d2
MB
7883 (syms_of_w32fns): Set get_font_repertory_func.
7884
1f45f627 7885 * w32console.c: Include character.h. Use terminal_encode_buffer
aca7a3d2 7886 from term.c.
1f45f627 7887 (write_glyphs): Use new version of encode_terminal_code. Use
aca7a3d2
MB
7888 encode_coding_object in place of encode_coding.
7889
7890 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
7891 encoding becomes encoding_type.
7892
7893 * term.c (terminal_encode_buffer): Make externally visible.
7894
7895 * makefile.w32-in: Add character.h dependancies.
7896 (character.o, chartab.o): New targets.
7897
73acf815 78982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7899
7900 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
1f45f627 7901 CODING_ID_EOL_TYPE.
aca7a3d2 7902
73acf815 79032008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
7904
7905 * coding.c (produce_chars): Revert last change.
7906
73acf815 79072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7908
7909 * charset.h (charset_unicode): Extern it.
7910
7911 * charset.c (string_xstring_p): Check by (C >= 0x100).
1f45f627 7912 (find_charsets_in_text): Change format of the arc CHARSETS. New
aca7a3d2 7913 arg MULTIBYTE.
1f45f627 7914 (Ffind_charset_region, Ffind_charset_string): Adjust for the
aca7a3d2
MB
7915 change of find_charsets_in_text.
7916 (Fsplit_char): Fix doc. Never return unknown.
7917
7918 * chartab.c (char_table_translate): Use CHARACTERP, not INETEGERP.
7919
7920 * coding.c (Fdefine_coding_system_alias): Update
7921 Vcoding_system_list.
7922
7923 * fontset.c (load_font_get_repertory): Pay attention to the case
7924 that ENCODING of a font is specified by a char-table.
7925
7926 * xterm.c (x_get_font_repertory): Handle the case that the
7927 encoding of font is other than Unicode.
7928
73acf815 79292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7930
7931 * term.c (encode_terminal_code): Don't handle glyph-table. Check
7932 if a character is encodable by the terminal coding system. If
7933 not, produces proper number of `?'s. Update
7934 terminal_encode_buffer and terminal_encode_buf_size if necessary.
7935 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
7936
73acf815 79372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7938
7939 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
7940 variables.
1f45f627 7941 (encode_terminal_code): Change argument. Encode multiple
aca7a3d2
MB
7942 characters at once. Store the result of encoding in
7943 terminal_encode_buffer.
4c4475a8
GM
7944 (write_glyphs, insert_glyphs): Adjust for the change of
7945 encode_terminal_code.
aca7a3d2
MB
7946 (term_init): Initialize terminal_encode_buffer and
7947 terminal_encode_buf_size.
7948
7949 * coding.c (consume_chars): If coding->src_object is nil, don't
7950 check annotation.
7951
73acf815 79522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7953
7954 * character.c (char_string): Use ASCII_CHAR_P instead of
7955 SINGLE_BYTE_CHAR_P.
7956
73acf815 79572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7958
7959 * xdisp.c (handle_auto_composed_prop): Check if the last
7960 characters of auto-composed region is newly composed with the
7961 following characters.
7962 (handle_composition_prop): Fix checking of point being inside
7963 composition.
7964
73acf815 79652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7966
7967 * fns.c (concat): Don't change multibyteness of the result by
7968 concatenating an 8-bit character.
7969
7970 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
7971 multibyteness of the result when newelt is an 8-bit character.
7972
73acf815 79732008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7974
7975 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
7976 EMACS_INT.
7977
7978 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
7979
7980 * xfaces.c (face_numeric_value): Declare dim size_t.
7981 (Finternal_lisp_face_equal_p): Remove unused f.
7982
7983 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
7984 (MATRIX_ROW): Remove unused vars.
7985 (draw_glyphs, x_insert_glyphs, fast_find_position)
7986 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
7987 byte/char counts.
7988
7989 * regex.c (regex_compile): Remove unused var.
7990
7991 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
7992
7993 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
7994 (Faccessible_keymaps, where_is_internal): Remove unused vars.
7995
7996 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
7997
7998 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
7999
8000 * fileio.c (Fwrite_region): Remove unused var.
8001
8002 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
8003 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
8004
8005 * composite.c (Fremove_list_of_text_properties): Declare.
8006
1f45f627
GM
8007 * coding.c (inhibit_pre_post_conversion): Remove (unused).
8008 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
aca7a3d2
MB
8009 (coding_inherit_eol_type): Remove unused attrs.
8010 (detect_coding): Cast arg of detect_eol.
8011
8012 * charset.c (syms_of_charset): Remove unused var p.
8013 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
8014 byte/char counts.
8015
8016 * casetab.c (set_case_table): Remove unused var.
8017
8018 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
1f45f627 8019 unused vars.
aca7a3d2 8020
73acf815 80212008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8022
8023 * xterm.c (x_bitmap_mask): Declare.
8024
73acf815 80252008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8026
8027 * xterm.c (x_term_init): Fix type error.
8028
8029 * lisp.h: Add Funibyte_char_to_multibyte.
8030
8031 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
8032 (Fset_coding_system_priority): Doc fix.
8033
aca7a3d2
MB
8034 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
8035
8036 * indent.c (check_composition): Make start and end EMACS_INT.
8037
8038 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
8039
8040 * xdisp.c (handle_composition_prop, check_point_in_composition):
8041 Make buffer positions EMACS_INT.
8042
8043 * composite.c (find_composition, run_composition_function)
8044 (update_compositions, Ffind_composition_internal): Make buffer
8045 positions EMACS_INT.
8046
8047 * composite.h (find_composition, update_compositions): Make
8048 position args EMACS_INT.
8049
1f45f627 8050 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
aca7a3d2
MB
8051
8052 * intervals.c (get_property_and_range):
8053 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
8054
8055 * unexalpha.c: Don't include varargs.h.
8056
73acf815 80572008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8058
8059 * coding.h (ENCODE_UTF_8): New.
8060
8061 * Makefile.in (gtkutil.o): Depend on coding.h.
8062
8063 * coding.c (Fset_coding_system_priority): Doc fix.
8064
73acf815 80652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8066
8067 * fileio.c (Finsert_file_contents): Call setup_coding_system in
8068 the case of auto saving.
8069
73acf815 80702008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2 8071
4c4475a8
GM
8072 * chartab.c (map_char_table, map_char_table_for_charset): Protect
8073 `range' from GC.
aca7a3d2 8074
73acf815 80752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8076
8077 * coding.c (decode_coding_sjis): Check bytes more rigidly.
8078
73acf815 80792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8080
1f45f627 8081 * fileio.c (choose_write_coding_system): Return a decided coding system.
aca7a3d2
MB
8082 (Fwrite_region): Set Vlast_coding_system_used to the return value
8083 of choose_write_coding_system.
8084
73acf815 80852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8086
8087 * charset.c (Fset_charset_priority): Pay attention to duplicated
8088 arguments.
8089
8090 * coding.c (QCcategory): New variable.
8091 (syms_of_coding): Defsym it. Set all elements of
8092 Vcoding_category_table and their symbol values.
8093 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
8094 coding-category-XXX, and coding-category-list.
8095 (Fdefine_coding_system_internal): Add category in the plist.
8096
73acf815 80972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8098
8099 * callproc.c (Fcall_process): Handle carryover correctly.
8100
1f45f627 8101 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
aca7a3d2
MB
8102 (raw_text_coding_system): Check NILP (coding_system).
8103 (coding_inherit_eol_type): Check NILP (coding_system) and
8104 NILP (parent).
8105 (consume_chars): Fix for the case of raw-text.
8106
8107 * process.c (read_process_output): Handle carryover correctly.
8108
73acf815 81092008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8110
8111 * regex.c (re_search_2): Fix last change.
8112
73acf815 81132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8114
8115 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
8116 target_multibyte. Even in a unibyte case, return a converted
8117 multibyte char.
8118 (GET_CHAR_AFTER): New macro.
8119 (PATFETCH): Translate via multibyte char.
8120 (HANDLE_UNIBYTE_RANGE): Delete this macro.
8121 (SETUP_MULTIBYTE_RANGE): New macro.
8122 (regex_compile): Setup compiled code so that its multibyteness
8123 matches that of a target. Fix the handling of "[X-YZ]" using
8124 SETUP_MULTIBYTE_RANGE.
8125 (analyse_first) <charset>: For filling fastmap for all multibyte
8126 characters, don't check by BASE_LEADING_CODE_P.
8127 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
8128 the same as RE_MULTIBYTE_P (bufp) now.
1f45f627 8129 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
aca7a3d2
MB
8130 (TARGET_CHAR_AND_LENGTH): Delete this macro.
8131 (TRANSLATE_VIA_MULTIBYTE): New macro.
8132 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
8133 It is the same as RE_MULTIBYTE_P (bufp) now.
8134 <exactn>: Translate via multibyte.
8135 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
8136 translate it.
8137 <charset, charset_not>: Fetch a character by
8138 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
8139 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
8140 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
8141 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
8142 by GET_CHAR_AFTER.
c5ad7a3d 8143 (bcmp_translate): Likewise.
aca7a3d2
MB
8144
8145 * search.c (compile_pattern): Check the member target_multibyte,
8146 not the member multibyte of buf.
8147
8148 * lread.c (read1): While reading a string, set force_singlebyte
8149 and force_multibyte correctly.
8150
4c4475a8
GM
8151 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
8152 up of unibyte_to_multibyte_table.
aca7a3d2 8153
73acf815 81542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8155
8156 * coding.c (setup_coding_system): If coding has
8157 post-read-conversion or pre-write-conversion, set
8158 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
8159 respectively.
8160 (decode_coding_gap): Run post-read-conversion if any.
8161
8162 * fileio.c (Finsert_file_contents): Even if we read into a
8163 unibyte buffer, check if we must decode the result or not.
8164
73acf815 81652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8166
8167 * coding.c (make_conversion_work_buffer): Change the work buffer
8168 name to the same one as that of Emacs 21.
8169
73acf815 81702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8171
1f45f627 8172 * coding.h (make_conversion_work_buffer): Adjust prototype.
aca7a3d2
MB
8173 (code_conversion_restore): Don't extern it.
8174
8175 * coding.c (detected_mask): Delete unused variable.
8176 (decode_coding_iso_2022): Pay attention to the byte sequence of
8177 CTEXT extended segment, and retain those bytes as is.
8178 (decode_coding_ccl): Delete unused variable `valids'.
8179 (setup_coding_system): Delete unused variable `category'.
8180 (consume_chars): Delete unused variable `category'. Make it work
8181 for non-multibyte case.
1f45f627 8182 (make_conversion_work_buffer): Change argument.
aca7a3d2
MB
8183 (saved_coding): Delete unused variable.
8184 (code_conversion_restore): Don't check saved_coding->destination.
8185 (code_conversion_save): New function.
8186 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
8187 instead of record_unwind_protect.
1f45f627 8188 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
aca7a3d2 8189 (detect_coding_system): Delete unused variable `mask'.
1f45f627 8190 (Fdefine_coding_system_internal): Delete unused vaiable id.
aca7a3d2
MB
8191
8192 * fileio.c (kill_workbuf_unwind): New function.
8193 (Finsert_file_contents): On replacing, call
8194 make_conversion_work_buffer with correct args, and call
8195 record_unwind_protect with the first arg kill_workbuf_unwind.
8196
8197 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
8198
73acf815 81992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8200
1f45f627 8201 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
aca7a3d2
MB
8202 (fontset_add): Fix for the case that TO is less than TO1.
8203 (Ffontset_info): Don't use fallback fontset on checking the
8204 default fontset.
8205 (dump_fontset): New function for debugging.
8206
8207 * coding.c (Fdefine_coding_system_internal): Fix for the case that
8208 coding_type is Qcharset.
8209
73acf815 82102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8211
8212 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
8213 (map_char_table): Don't inherit the value from the parent on
1f45f627 8214 initializing VAL. Adjust for the above change.
aca7a3d2 8215
73acf815 82162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8217
8218 * coding.c (Qsignature, Qendian): Delete these variables.
8219 (syms_of_coding): Don't initialize them.
8220 (CATEGORY_MASK_UTF_16_AUTO): New macro.
8221 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
8222 detect_info->found.
8223 (decode_coding_utf_16): Don't detect BOM here.
8224 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
8225 is NOT utf_16_without_bom.
8226 (setup_coding_system): For a coding system of type utf-16, check
8227 if the attribute :endian is Qbig or not (not nil or not), and set
8228 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
8229 (detect_coding): If coding type is utf-16 and BOM detection is
8230 required, detect it.
8231 (Fdefine_coding_system_internal): For a coding system of type
1f45f627 8232 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
aca7a3d2 8233
73acf815 82342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8235
8236 * coding.c (coding_set_source): Fix for the case that the current
8237 buffer is different from coding->src_object.
8238 (decode_coding_object): Don't use the conversion work buffer if
8239 DST_OBJECT is a buffer.
8240
73acf815 82412008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8242
8243 * lread.c (read_emacs_mule_char) [len==2]: Index
8244 emacs_mule_charset correctly.
8245
73acf815 82462008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8247
8248 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
8249 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
1f45f627 8250 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
aca7a3d2
MB
8251 treated specially.)
8252 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
8253 (detected_mask): Remove Big5 bits.
8254
73acf815 82552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8256
8257 The following changes are to make the font rescaling facility
8258 compatible with Emacs 21.
8259
1f45f627 8260 * xfaces.c (Vface_font_rescale_alist): Rename from
aca7a3d2
MB
8261 Vface_resizing_fonts.
8262 (struct font_name): Rename member resizing_ratio to rescale_ratio.
1f45f627 8263 (font_rescale_ratio): Rename from font_resizing_ratio.
aca7a3d2
MB
8264 (split_font_name): Set font->rescale_ratio.
8265 (better_font_p): Pay attention to font->rescale_ratio.
8266 (build_scalable_font_name): Likewise. Change RESX, and RESY
8267 fields.
1f45f627 8268 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
aca7a3d2 8269
73acf815 82702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8271
8272 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
8273 (Qutf_16_le): Remove these variables.
8274 (syms_of_coding): Don't DEFSYM them.
8275 (decode_coding_utf_16): Fix handling of BOM.
8276 (encode_coding_utf_16): Fix handling of BOM.
8277
73acf815 82782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8279
8280 * fileio.c (Finsert_file_contents): On replacing, before decoding
1f45f627 8281 the file into the work buffer, set point of the work buffer to the end.
aca7a3d2 8282
73acf815 82832008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8284
8285 * coding.c (Fcheck_coding_systems_region): Fix type errors.
8286
73acf815 82872008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8288
8289 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
8290 and fix C types.
8291
73acf815 82922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8293
8294 * xdisp.c (SKIP_GLYPHS): New macro.
8295 (set_cursor_from_row): Pay attention to string display properties.
8296
8297 * category.c (copy_category_entry): Fix for the case that RANGE
8298 is an integer.
8299
8300 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
8301
1f45f627 8302 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
aca7a3d2 8303
73acf815 83042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8305
8306 * charset.c (Fcharset_id_internal): New function.
8307 (syms_of_charset): Defsubr it.
8308
8309 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
8310 with the last arg charset_list acquired from coding.
8311 (Fdefine_coding_system_internal): For ccl-based coding system, fix
8312 the attribute coding_attr_ccl_valids.
8313
8314 * coding.h (enum define_coding_ccl_arg_index): Set the first
8315 member coding_arg_ccl_decoder to coding_arg_max.
8316
1f45f627 8317 * ccl.h (ccl_driver): Adjust prototype.
aca7a3d2
MB
8318
8319 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
8320 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
8321 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
4c4475a8
GM
8322 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
8323 last arg Qnil.
aca7a3d2 8324
73acf815 83252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8326
8327 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
8328 call encode_char.
8329
1f45f627 8330 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
aca7a3d2 8331
73acf815 83322008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 8333
1f45f627 8334 * composite.c (syms_of_composite): Make composition_hash_table weak.
aca7a3d2 8335
73acf815 83362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8337
8338 * dispextern.h (check_face_attributes, generate_ascii_font_name)
8339 (font_name_registry): Don't extern them.
1f45f627 8340 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
aca7a3d2
MB
8341
8342 * fontset.h (Qfontset): Don't extern it.
8343 (new_fontset_from_font_name): Extern it.
8344
8345 * fontset.c: Give 8 extra slots to fontset objects.
8346 (Qfontset_info): New variable.
8347 (syms_of_fontset): Defsym it.
8348 (FONTSET_FALLBACK): New macro.
8349 (fontset_face): Try also the default fontset.
1f45f627
GM
8350 (make_fontset): Realize a fallback fontset from the default fontset.
8351 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
aca7a3d2
MB
8352 using split_font_name_into_vector and build_font_name_from_vector.
8353 (Fset_fontset_font): Access the elements of font_spec by enum
8354 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
8355 name by using split_font_name_into_vector.
8356 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
8357 generate a proper font name from the fontset name. Update
8358 Vfontset_alias_alist.
8359 (n_auto_fontsets): New variable.
8360 (new_fontset_from_font_name): New function.
8361 (Ffont_info): Store the information about fonts generated from the
1f45f627 8362 default fontset in the first extra slot of the returned char-table.
aca7a3d2 8363
1f45f627
GM
8364 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
8365 (font_name_registry): Delete function.
aca7a3d2
MB
8366 (split_font_name_into_vector): New function.
8367 (build_font_name_from_vector): New function.
1f45f627 8368 (font_list): The argument REGISTRY is now a list of registry names.
aca7a3d2
MB
8369 (choose_face_font): If we are choosing an ASCII font, and ATTRS
8370 specifies an explicit font name, return the name as is. Make a
8371 list of registy names.
8372
1f45f627 8373 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
aca7a3d2
MB
8374 of x_new_fontset.
8375 (Fx_create_frame): Don't call x_new_fontset here. Just use
8376 x_list_fonts to check the existence of fonts.
8377
1f45f627 8378 * xterm.h (x_new_fontset): Adjust prototype.
aca7a3d2
MB
8379
8380 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
8381 string. Use new_fontset_from_font_name to create a fontset from a
8382 font name.
8383
1c8658b9
GM
83842008-02-01 Kenichi Handa <handa@m17n.org>
8385
8386 * syntax.c (Vfind_word_boundary_function_table): New name for
8387 Vnext_word_boundary_function_table.
8388 (find-word-boundary-function-table): New name for
8389 next-word-boundary-function-table.
8390
73acf815 83912008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8392
8393 * Makefile.in: Fix some dependencies.
8394
8395 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
8396 set it to nil before returning.
8397
8398 * composite.c (update_compositions): Fix type error.
8399
8400 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
8401
73acf815 84022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8403
8404 * xterm.c (x_new_font): Optimize for the case that the font is
8405 already set for the frame.
8406
73acf815 84072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8408
8409 * chartab.c (char_table_ascii): Check if the char table contents
8410 is sub-char-table or not.
4c4475a8
GM
8411 (char_table_set, char_table_set_range): Fix argument to
8412 char_table_ascii.
aca7a3d2
MB
8413
8414 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
8415 (detect_coding_utf_8, detect_coding_utf_16)
8416 (detect_coding_emacs_mule, detect_coding_iso_2022)
8417 (detect_coding_sjis, detect_coding_big5)
8418 (detect_coding_ccl, detect_coding_charset): Change argument MASK
8419 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
1f45f627 8420 sequence is valid in this coding system. Change callers.
aca7a3d2
MB
8421 (MAX_ANNOTATION_LENGTH): New macro.
8422 (ADD_ANNOTATION_DATA): New macro.
1f45f627
GM
8423 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
8424 ADD_ANNOTATION_DATA. Change the format of annotation data.
aca7a3d2 8425 (ADD_CHARSET_DATA): New macro.
1f45f627 8426 (emacs_mule_char): New argument ID. Change callers.
aca7a3d2
MB
8427 (decode_coding_emacs_mule, decode_coding_iso_2022)
8428 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
8429 Produce charset annotation data in coding->charbuf.
8430 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
8431 to charset annotation data in coding->charbuf.
8432 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
8433 coding->common_flags if the coding system is iso-2022 based and
8434 uses designation.
1f45f627 8435 (produce_composition): Adjust for the new annotation data format.
aca7a3d2
MB
8436 (produce_charset): New function.
8437 (produce_annotation): Handle charset annotation.
8438 (handle_composition_annotation, handle_charset_annotation): New
8439 functions.
8440 (consume_chars): Handle charset annotation. Utilize the above two
8441 functions.
8442 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
8443 buffer, get the deleted text as a string and set
8444 coding->src_object to that string.
8445 (detect_coding, detect_coding_system): Use the new struct
8446 coding_detection_info.
8447
8448 * coding.h (struct coding_detection_info): New structure.
1f45f627 8449 (struct coding_system): Adjust prototype of the member `detector'.
aca7a3d2
MB
8450 (CODING_ANNOTATE_CHARSET_MASK): New macro.
8451
73acf815 84522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8453
8454 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
8455
73acf815 84562008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 8457
1f45f627 8458 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
aca7a3d2
MB
8459 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
8460 to new local and nullify apropos_accumulate before returning.
8461 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
8462
73acf815 84632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8464
8465 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
8466 correctly.
8467
73acf815 84682008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8469
8470 * fns.c (Flanginfo): Call synchronize_system_time_locale.
8471
73acf815 84722008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8473
8474 The following changes are to make character composition happen
8475 automatically on displaying.
8476
2a2e8de7 8477 * Makefile.in (lisp, shortlisp): Add composite.elc.
aca7a3d2 8478
1f45f627
GM
8479 * composite.h (Qauto_composed, Vauto_composition_function)
8480 (Qauto_composition_function): Extern them.
aca7a3d2 8481
1f45f627
GM
8482 * composite.c (Vcomposition_function_table)
8483 (Qcomposition_function_table): Delete variables.
8484 (Qauto_composed, Vauto_composition_function)
8485 (Qauto_composition_function): New variables.
aca7a3d2
MB
8486 (run_composition_function): Don't call
8487 compose-chars-after-function.
8488 (update_compositions): Clear `auto-composed' text property.
8489 (compose_chars_in_text): Delete this function.
8490 (syms_of_composite): Staticpro Qauto_composed and
8491 Qauto_composition_function. Declare Vauto_composition_function as
8492 a Lisp variable.
8493
8494 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
8495
8496 * xdisp.c (it_props): Add an entry for Qauto_composed.
8497 (handle_auto_composed_prop): New function.
8498
8499 * xselect.c (selection_data_to_lisp_data): Don't call
8500 compose_chars_in_text.
8501
73acf815 85022008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8503
8504 * keyboard.c (read_char): Modify checking around use of
8505 Vkeyboard_translate_table.
8506
8507 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
8508 and fix C types.
8509
73acf815 85102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8511
4c4475a8
GM
8512 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
8513 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
8514 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
aca7a3d2 8515 the case that the last byte is '\r' correctly.
1f45f627
GM
8516 (decode_coding): Flush out the unprocessed data correctly.
8517 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
aca7a3d2 8518
73acf815 85192008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 8520
f245f2c6
JB
8521 * xterm.c (XTread_socket): Fix changes for defined keysyms.
8522 Add XK_ISO... case.
aca7a3d2
MB
8523 (xaw_scroll_callback): Revert last change.
8524
73acf815 85252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8526
1f45f627 8527 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
aca7a3d2 8528
73acf815 85292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8530
8531 * xfaces.c (Vface_resizing_fonts): New variable.
8532 (struct font_name): New member `resizing_ratio'.
8533 (font_resizing_ratio): New function.
8534 (split_font_name): Set font->resizing_ratio.
8535 (better_font_p): Pay attention to font->resizing_ratio.
8536 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
8537 RESX, and RESY fields.
8538 (try_alternative_families): Try scalable fonts if
8539 Vscalable_fonts_allowed is not Qt.
8540 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
8541
73acf815 85422008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8543
8544 * xterm.c (xaw_scroll_callback): Cast correctly.
8545
73acf815 85462008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8547
8548 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
8549 (lispy_kana_keys): Comment out.
8550 (make_lispy_event) [XK_kana_A]: Comment out.
8551
8552 * xterm.c (xaw_scroll_callback): Cast call_data.
8553 (XTread_socket): Deal with ASCII keysyms.
8554 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
8555
73acf815 85562008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8557
8558 * xterm.c (Vx_keysym_table): New.
8559 (syms_of_xterm): Initialize it.
8560 (XTread_socket): Use it.
8561 From head: Eliminate incorrect optimization that tried to avoid
8562 decoding the output of X*LookupString.
8563 (x_get_font_repertory): Delete charset declaration.
8564
73acf815 85652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8566
1f45f627
GM
8567 * coding.c (detect_coding_charset): If only ASCII bytes are found,
8568 return 0.
aca7a3d2
MB
8569 (Fdefine_coding_system_internal): Setup
8570 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
8571
73acf815 85722008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8573
8574 * coding.c (Fcheck_coding_system): Doc fix.
8575
8576 * editfns.c (Finsert_byte): Return a proper value.
8577
73acf815 85782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8579
8580 * coding.c (decode_coding): Fix args to translate_chars. Pay
8581 attention to Vstandard_translation_table_for_decode.
8582 (encode_coding): Fix args to translate_chars. Pay attention to
8583 Vstandard_translation_table_for_encode.
8584
8585 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
8586 SINGLE_BYTE_CHAR_P.
8587
8588 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
8589 not by SINGLE_BYTE_CHAR_P.
8590
8591 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
8592 SINGLE_BYTE_CHAR_P.
8593
8594 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
8595 SINGLE_BYTE_CHAR_P.
8596
8597 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
8598 by SINGLE_BYTE_CHAR_P.
8599
8600 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
8601 SINGLE_BYTE_CHAR_P.
8602
73acf815 86032008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8604
8605 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
8606
73acf815 86072008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8608
8609 * fns.c (Flanginfo): Fix typo.
8610
8611 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
8612
73acf815 86132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8614
4c4475a8
GM
8615 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
8616 (detect_coding_emacs_mule, detect_coding_iso_2022)
8617 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
8618 incomplete byte sequence. Don't update *mask when correctly detected.
aca7a3d2 8619 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
1f45f627 8620 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
4c4475a8 8621 (detect_coding, detect_coding_system): Adjust for the changes above.
aca7a3d2 8622
73acf815 86232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8624
1f45f627
GM
8625 * character.c (char_string): Rename from
8626 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
8627 (string_char): Rename from string_char.
aca7a3d2 8628
4c4475a8
GM
8629 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
8630 if C is greater than MAX_3_BYTE_CHAR.
8631 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
8632 string_char instead of string_char_with_unification.
aca7a3d2 8633
73acf815 86342008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8635
8636 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
8637
73acf815 86382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8639
1f45f627 8640 * keymap.c (push_key_description): Pay attention to force_multibyte.
aca7a3d2
MB
8641
8642 * regex.c (re_search_2): Fix for the case of unibyte buffer.
8643
73acf815 86442008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8645
8646 * charset.c (define_charset_internal): Rename `supprementary'.
8647
8648 * Makefile.in (lisp, shortlisp): Remove latin-N.
8649
73acf815 86502008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8651
8652 * xfns.c (x_window, x_window): Use use_xim.
8653
8654 * xterm.c (use_xim): Initialize.
8655 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
8656 (x_term_init): Maybe set use_xim.
8657
8658 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
8659
73acf815 86602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8661
8662 * search.c (search_buffer): Fix case-fold-search of multibyte
8663 characters.
8664 (boyer_moore): Rename the last argument to char_high_bits.
8665
73acf815 86662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8667
8668 * xdisp.c (display_string): Fix for the case of zero width glyph.
8669
8670 * xfns.c (x_set_font): Change the error message of the case that
8671 x_new_fontset returns Qt.
8672
8673 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
8674 (Finternal_set_lisp_face_attribute): Use signal_error for the
8675 error of invalid fontset.
8676
8677 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
8678 fontset, return Qt.
8679
73acf815 86802008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 8681
aca7a3d2
MB
8682 * unexelf.c (unexec): Make .got handling not SGI-specific.
8683
8684 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
8685
8686 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
8687
8688 * keyboard.c (read_key_sequence): Fix type error.
8689
8690 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
8691 type error.
8692
8693 * fontset.c (fontset_add): Return Lisp_Object.
8694
73acf815 86952008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8696
8697 * charset.h (charset_ordered_list_tick): Declare extern.
8698
73acf815 86992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8700
73acf815 8701 The following changes (and some of 2008-02-01 changes of mine) are
aca7a3d2
MB
8702 for handling syntax, category, and case conversion for unibyte
8703 characters by converting them to multibyte on the fly. With these
8704 changes, we don't have to setup syntax and case tables for unibyte
8705 characters in each language environment.
8706
8707 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
8708 multibyte if necessary.
8709
8710 * bytecode.c (Fbyte_code): Likewise.
8711
8712 * character.h (LEADING_CODE_LATIN_1_MIN)
8713 (LEADING_CODE_LATIN_1_MAX): New macros.
8714 (unibyte_to_multibyte_table): Extern it.
8715 (unibyte_char_to_multibyte): New macro.
8716 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
8717 (CHAR_LEADING_CODE): New macro.
8718 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
8719
8720 * character.c (unibyte_to_multibyte_table): New variable.
1f45f627 8721 (unibyte_char_to_multibyte): Move to character.h and define as macro.
aca7a3d2
MB
8722 (multibyte_char_to_unibyte): If C is an eight-bit character,
8723 convert it to the corresponding byte value.
8724
8725 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
8726 not 1, singals an error. Update the elements of
8727 unibyte_to_multibyte_table.
8728 (init_charset_once): Initialize unibyte_to_multibyte_table.
8729 (syms_of_charset): Define the charset `iso-8859-1'.
8730
aca7a3d2
MB
8731 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
8732 as is without converting it to unibyte. In a unibyte buffer,
8733 convert C to multibyte before checking the syntax.
8734
1f45f627 8735 * lisp.h (unibyte_char_to_multibyte): Delete extern.
aca7a3d2
MB
8736
8737 * minibuf.c (Fminibuffer_complete_word): Use the macro
8738 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
8739
8740 * regex.h (struct re_pattern_buffer): New member target_multibyte.
8741
8742 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
8743 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
8744 that is zero, convert an eight-bit char to multibyte.
8745 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
8746 non-emacs case.
8747 (PATFETCH): Convert an eight-bit char to multibyte.
8748 (HANDLE_UNIBYTE_RANGE): New macro.
8749 (regex_compile): Setup the compiled pattern for multibyte chars
8750 even if the given regex string is unibyte. Use PATFETCH_RAW
8751 instead of PATFETCH in many places. To handle `charset'
c5ad7a3d 8752 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
aca7a3d2 8753 only for ASCII chars.
1f45f627 8754 (analyse_first) <exactn>: Simplify because the compiled pattern
aca7a3d2
MB
8755 is multibyte.
8756 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
8757 <charset>: Use CHAR_LEADING_CODE to get leading codes.
1f45f627 8758 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
aca7a3d2
MB
8759 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
8760 multibyte always 1.
8761 (re_search_2): In emacs, set the locale variable multibyte to 1,
8762 otherwise to 0. New local variable target_multibyte. Check it
8763 to decide the multibyteness of STR1 and STR2. If
8764 target_multibyte is zero, convert unibyte chars to multibyte
8765 before translating and checking fastmap.
8766 (TARGET_CHAR_AND_LENGTH): New macro.
8767 (re_match_2_internal): In emacs, set the locale variable multibyte
8768 to 1, otherwise to 0. New local variable target_multibyte. Check
8769 it to decide the multibyteness of STR1 and STR2. Use
8770 TARGET_CHAR_AND_LENGTH to fetch a character from D.
8771 <charset, charset_not>: If multibyte is nonzero, check fastmap
c5ad7a3d 8772 only for ASCII chars. Call bcmp_translate with
aca7a3d2
MB
8773 target_multibyte, not with multibyte.
8774 <begline>: Declare the local variable C as `unsigned'.
8775 (bcmp_translate): Change the last arg name to target_multibyte.
8776
8777 * search.c (compile_pattern_1): Don't adjust the multibyteness of
8778 the regexp pattern and the matching target. Set cp->buf.multibyte
8779 to the multibyteness of the regexp pattern. Set
1f45f627 8780 cp->but.target_multibyte to the multibyteness of the matching target.
aca7a3d2
MB
8781 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
8782 FETCH_STRING_CHAR_ADVANCE.
8783 (Freplace_match): Convert unibyte chars to multibyte.
8784
4c4475a8
GM
8785 * syntax.c (char_quoted, back_comment, scan_words)
8786 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
8787 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
aca7a3d2 8788 unibyte chars to multibyte.
1f45f627
GM
8789 (skip_chars): Delete the arg syntaxp, and move the code for
8790 handling syntaxes to skip_syntaxes. Change callers.
aca7a3d2
MB
8791 Fix the case that the multibyteness of STRING and the current
8792 buffer doesn't match.
8793 (skip_syntaxes): New function.
8794 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
8795 SINGLE_BYTE_CHAR_P.
aca7a3d2 8796
73acf815 87972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8798
8799 * xfaces.c (QCfontset): New variable.
8800 (LFACE_FONTSET): New macro.
8801 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
8802 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
4c4475a8
GM
8803 (Finternal_set_lisp_face_attribute)
8804 (Finternal_get_lisp_face_attribute): Handle QCfontset.
aca7a3d2
MB
8805 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
8806 check also LFACE_FONTSET_INDEX.
8807 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
8808 attrs[LFACE_FONT_INDEX].
8809 (syms_of_xfaces): Intern and staticpro QCfontset.
8810
8811 * dispextern.h (enum lface_attribute_index): New member
8812 LFACE_FONTSET_INDEX.
8813
8814 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
8815
73acf815 88162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8817
8818 * coding.c (coding_set_destination): Fix coding->destination for
8819 the case converting a region.
8820 (encode_coding_utf_8): Encode eight-bit chars as single byte.
8821 (encode_coding_object): Fix coding->dst_pos and
8822 coding->dst_pos_byte for the case converting a region.
8823
8824 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
8825
8826 * character.h (BYTE8_STRING): New macro.
8827
8828 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
8829
73acf815 88302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8831
8832 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
8833 characters by octal form.
8834
8835 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
8836
1f45f627 8837 * buffer.h (_fetch_multibyte_char_len): Delete extern.
4c4475a8
GM
8838 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
8839 _fetch_multibyte_char_len.
aca7a3d2
MB
8840 (FETCH_CHAR_AS_MULTIBYTE): New macro.
8841
1f45f627 8842 * casetab.c (set_canon, set_identity, shuffle): Simplify.
aca7a3d2 8843
1f45f627 8844 * casefiddle.c (casify_object): Simplify. Handle the case that
aca7a3d2 8845 the case conversion change the byte length.
1f45f627 8846 (casify_region): Likewise.
aca7a3d2 8847
1f45f627 8848 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
aca7a3d2 8849
1f45f627 8850 * character.c (_fetch_multibyte_char_len): Delet this variable.
aca7a3d2
MB
8851 (syms_of_character): Setup Vprintable_chars.
8852
8853 * editfns.c (Fchar_equal): Fix for the unibyte case.
8854 (Finsert_byte): New function.
8855 (syms_of_editfns): Defsubr it.
8856
8857 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
8858 of direct code 0x3ffff.
8859
8860 * search.c (Freplace_match): Fix for the unibyte case.
8861
73acf815 88622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8863
8864 * lread.c (safe_to_load_p): Fix the logic.
8865
8866 * syntax.c (scan_words): Don't treat characters belonging to
8867 different scripts as constituting a word.
8868
8869 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
8870
1f45f627 8871 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
aca7a3d2
MB
8872
8873 * emacs.c (main): In the case of --unibyte, instead of aborting on
8874 finding non-empty buffer, make it unibyte.
8875
73acf815 88762008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8877
8878 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
8879 to create a fontset.
8880
73acf815 88812008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8882
8883 * character.c (Funibyte_char_to_multibyte): Doc fix.
8884
8885 * xfns.c [HAVE_STDLIB_H]: Fix last change.
8886
73acf815 88872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8888
8889 * fontset.c (fontset_add): Make the type `int'.
8890 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
8891
4c4475a8
GM
8892 * character.c (unibyte_char_to_multibyte)
8893 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
aca7a3d2 8894 charset_unibyte, not charset_primary.
aca7a3d2 8895
1f45f627 8896 * charset.h (charset_unibyte): Extern it instead of charset_primary.
aca7a3d2 8897
1f45f627
GM
8898 * charset.c (charset_unibyte): Rename from charset_primary.
8899 (Funibyte_charset): Rename from Fprimary_charset.
8900 (Fset_unibyte_charset): Rename from Fset_primary_charset.
8901 (syms_of_charset): Adjust for the above changes.
aca7a3d2
MB
8902
8903 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
8904 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
8905 it->multibyte_p is zero.
8906
8907 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
1f45f627 8908 Delete extern.
aca7a3d2 8909
73acf815 89102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8911
8912 * coding.c (Fdefine_coding_system_internal): Fix category setting
8913 for a coding system of type iso-2022.
8914
73acf815 89152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8916
1f45f627 8917 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
aca7a3d2 8918
73acf815 89192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8920
8921 * syntax.c (Vnext_word_boundary_function_table): New variable.
1c8658b9
GM
8922 (next-word-boundary-function-table): Declare it as a Lisp variable
8923 in syms_of_syntax.
aca7a3d2
MB
8924 (scan_words): Call functions in Vnext_word_boundary_function_table
8925 if any.
8926
8927 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
8928
8929 * fontset.c (fs_load_font): If fontp->charset is not negative,
8930 return fontp without setting its members.
8931
73acf815 89322008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 8933
aca7a3d2
MB
8934 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
8935
8936 * m/sparc.h (HAVE_ALLOCA): Delete.
8937
8938 * s/irix6-5.h: Don't include strings.h.
8939 (bcopy, bzero, bcmp): Don't undef.
8940
8941 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
8942
8943 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
8944 (TIOCSIGSEND): Don't test IRIX6.
8945 (bcopy, bzero, bcmp): Define conditionally.
8946
73acf815 89472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8948
8949 * buffer.c (Qas, Qmake, Qto): New variables.
1f45f627 8950 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
aca7a3d2
MB
8951 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
8952
8953 * callproc.c (Fcall_process): Don't call insert_1_both directly if
8954 we are inserting a process output into a multibyte buffer.
8955
8956 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
8957 multibyte_char_to_unibyte.
8958
8959 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
8960 by the primary charset, make it eight-bit char.
8961 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
8962
1f45f627
GM
8963 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
8964 (charset_8_bit__control, charset_8_bit_graphic)
8965 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
aca7a3d2
MB
8966 (define_charset_internal): New function.
8967 (syms_of_charset): Call define_charset_internal for pre-defined
8968 charsets.
8969
8970 * charset.h (charset_8_bit): Extern it.
8971
1f45f627 8972 * coding.c (make_conversion_work_buffer): Adjust for the change
aca7a3d2
MB
8973 of Fset_buffer_multibyte.
8974 (encode_coding_raw_text): Increment p0 in the loop.
8975
1f45f627 8976 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
aca7a3d2 8977
1f45f627 8978 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
aca7a3d2
MB
8979 for the change of Fset_buffer_multibyte.
8980
8981 * fns.c (Fstring_to_multibyte): New function.
8982 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
8983
73acf815 89842008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8985
8986 * xfns.c (x_put_x_image): Declare args.
8987
1f45f627 8988 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
aca7a3d2
MB
8989 (try_font_list): Declare an arg.
8990
8991 * xdisp.c (message2_nolog, set_message): Declare an arg.
8992
8993 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
8994
8995 * syntax.c (scan_sexps_forward): Declare an arg.
8996
8997 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
8998 Declare an arg.
8999
9000 * lisp.h (Fnew_fontset): Declare.
9001
9002 * keymap.c (push_key_description): Call CHARACTERP correctly.
9003
1f45f627 9004 * fontset.c (fontset_add): Declare args. Call make_number correctly.
aca7a3d2
MB
9005 (face_for_char): Delete unused vars.
9006 (Fset_fontset_font): Doc fix. Delete unused vars.
9007
9008 * doc.c (Fsubstitute_command_keys): Delete unused vars.
9009
9010 * composite.c (update_compositions): Declare arg.
9011
9012 * cm.c (calccost, cmgoto): Declare args.
9013
9014 * charset.c: Remove `emacs' conditional. Doc fixes.
9015 (map_char_table_for_charset): Declare.
9016
1f45f627 9017 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
aca7a3d2 9018
1f45f627 9019 * ccl.c: Remove `emacs' conditional.
aca7a3d2 9020
73acf815 90212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9022
9023 The following changes are to allow specifying multiple font
9024 patterns for a character range (specified by script or charset).
9025
9026 * Makefile.in (abbrev.o): Depend on syntax.h.
9027 (xfaces.o): Depend on charset.h.
9028
9029 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
9030 SINGLE_BYTE_CHAR_P.
9031
9032 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
9033
9034 * character.h (Vchar_script_table): Extern it.
9035
1f45f627 9036 * character.c (Vscript_alist): Delete.
aca7a3d2
MB
9037 (Vchar_script_table, Qchar_script_table): New variable.
9038 (syms_of_character): Declare Vchar_script_table as a lisp variable
9039 and initialize it.
9040
1f45f627 9041 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
aca7a3d2
MB
9042 have property char-table-extra-slots, make no extra slot.
9043
1f45f627 9044 * dispextern.h (struct face): Delete member `charset'.
4c4475a8
GM
9045 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
9046 SINGLE_BYTE_CHAR_P.
1f45f627
GM
9047 (choose_face_font, lookup_non_ascii_face, font_name_registry):
9048 Add prototypes.
9049 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
9050 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
9051
9052 * fontset.h (get_font_repertory_func): New prototype.
1f45f627 9053 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
aca7a3d2
MB
9054 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
9055
9056 * fontset.c (Qprepend, Qappend): New variables.
1f45f627 9057 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
aca7a3d2
MB
9058 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
9059 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
9060 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
9061 (fontset_ref_and_range, fontset_add, reorder_font_vector)
9062 (load_font_get_repertory): New functions.
1f45f627 9063 (fontset_set): Delete.
aca7a3d2 9064 (fontset_face): New arg FACE. Return face ID, not face.
1f45f627 9065 Complete re-write to handle new fontset structure. Change caller.
aca7a3d2
MB
9066 (free_face_fontset): Use ASET istead of AREF (X) = Y.
9067 (face_for_char): Don't call lookup_face.
9068 (make_fontset_for_ascii_face): New arg FACE.
9069 (fs_load_font): New arg CHARSET_ID. Don't check
9070 Vfont_encoding_alist here.
9071 (find_font_encoding): New function.
9072 (list_fontsets): Use STRINGP, not ! NILP.
9073 (accumulate_script_ranges): New function.
9074 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
9075 re-written to handle new fontset structure.
9076 (Ffontset_font): Return a copy of element.
9077 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
9078 docstring of font-encoding-alist.
9079
9080 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
9081 (Fset_fotset_font): Fix arguments to 5.
9082
1f45f627 9083 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
aca7a3d2
MB
9084
9085 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
9086 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
1f45f627 9087 (highlight_trailing_whitespace): Adjust for the change of
aca7a3d2
MB
9088 lookup_named_face.
9089
9090 * xfaces.c: Include charset.h.
1f45f627
GM
9091 (load_face_font): Delete argument C. Change caller.
9092 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
9093 (font_name_registry): New function.
9094 (cache_face): Store ascii faces before non-ascii faces in buckets.
1f45f627 9095 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
aca7a3d2
MB
9096 Lookup only ascii faces.
9097 (lookup_non_ascii_face): New function.
1f45f627
GM
9098 (lookup_named_face): Delete argument C. Change caller.
9099 (lookup_derived_face): Delete argument C. Change caller.
9100 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
aca7a3d2 9101 a string, just call font_list with it.
1f45f627
GM
9102 (choose_face_font): Delete arguments FACE and C. New arg
9103 FONT_SPEC. Change caller.
4c4475a8
GM
9104 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
9105 Change caller.
aca7a3d2
MB
9106 (realize_non_ascii_face): New function.
9107 (realize_x_face): Call load_face_font here.
1f45f627 9108 (realize_tty_face): Delete argument C. Change caller.
aca7a3d2
MB
9109 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
9110 get a face ID.
9111 (dump_realized_face): Don't print charset of FACE.
9112
9113 * xfns.c (x_set_font): Always call x_new_fontset and
9114 store_frame_parameter.
9115 (Fx_create_frame): Call x_new_fontset, not x_new_font.
1f45f627 9116 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
aca7a3d2
MB
9117
9118 * xterm.h (x_get_font_repertory): Extern it.
9119
9120 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
9121 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
9122 it->multibyte_p is zero.
9123 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
9124 (x_new_fontset): If FONTSETNAME doesn't match any existing
9125 fontsets, create a new one.
9126 (x_get_font_repertory): New function.
9127
73acf815 91282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9129
9130 * coding.c (Ffind_coding_systems_region_internal): Detect an
9131 ASCII only string correctly.
9132
9133 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
9134 version is 0.
9135
73acf815 91362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9137
9138 * lread.c: Include "coding.h".
1f45f627
GM
9139 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
9140 (load_each_byte, unread_char): New variables.
9141 (readchar_backlog): Delete.
aca7a3d2
MB
9142 (readchar): Return a character unless load_each_byte is nonzero.
9143 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
9144 cons. If unread_char is not -1, simply return it.
9145 (unreadchar): Handle the case that readcharfun is
1f45f627
GM
9146 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
9147 (read_multibyte): Delete.
aca7a3d2
MB
9148 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
9149 (read_emacs_mule_char): New functions.
9150 (Fload): Even if the file doesn't have the extention ".elc", if
9151 safe_to_load_p returns a positive version number, assume that the
9152 file contains bytecompiled code. If the version is less than 22,
9153 load the file while decoding multibyte sequences by emacs-mule.
9154 (readevalloop): Don't use readchar_backlog.
1f45f627
GM
9155 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
9156 (Fread_from_string): Pay attention to the case that STREAM is a cons.
9157 (read_escape): Delete the arg BYTEREP.
aca7a3d2
MB
9158 (read1): Set load_each_byte to 1 temporarily while handling
9159 #@NUMBER. Don't call read_multibyte.
9160 (read_vector): Call Fread with a cons. If readcharfun is
9161 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
1f45f627 9162 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
aca7a3d2
MB
9163 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
9164 and Qload_force_doc_strings.
9165
73acf815 91662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9167
9168 * xdisp.c (face_before_or_after_it_pos): Call
9169 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
9170
73acf815 91712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9172
9173 * character.h (TRAILING_CODE_P): New macro.
1f45f627 9174 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
aca7a3d2
MB
9175 (string_char_with_unification): Fix prototype.
9176 (Vscript_alist): Extern it.
9177
9178 * character.c (Vscript_alist): New variable.
4c4475a8
GM
9179 (string_char_with_unification, str_as_unibyte)
9180 (string_escape_byte8): Add `const' to local variables.
aca7a3d2
MB
9181 (syms_of_character): Declare script-alist as a Lisp variable.
9182
9183 * charset.h (Vcharset_ordered_list): Extern it.
9184 (charset_ordered_list_tick): Extern it.
9185 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
9186 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
9187 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
1f204af3 9188 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
1f45f627 9189 (Funify_charset): Adjust for the change of Funify_charset.
aca7a3d2
MB
9190
9191 * charset.c (charset_ordered_list_tick): New variable.
9192 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
9193 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
9194 deunify intead of unify a charset.
9195 (string_xstring_p): Add `const' to local variables.
1f45f627
GM
9196 (find_charsets_in_text): Add `const' to arguemnts and local variables.
9197 (encode_char): Adjust for the change of Funify_charset. Fix
aca7a3d2
MB
9198 detecting of invalid code.
9199 (Fset_charset_priority): Increment charset_ordered_list_tick.
9200 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
9201 and TO_CODE.
9202
9203 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
1f45f627
GM
9204 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
9205 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
4c4475a8
GM
9206 (decode_coding_ccl, consume_chars)
9207 (Ffind_coding_systems_region_internal)
9208 (Fcheck_coding_systems_region): Add `const' to local variables.
aca7a3d2
MB
9209
9210 * print.c (print_object): Use octal form for printing the
9211 contents of a bool vector.
9212
73acf815 92132008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9214
9215 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
9216 <version == 20>: Refuse to load.
9217
73acf815 92182008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9219
9220 * fns.c: Move coding.h.
9221 (Qcodeset, Qdays, Qmonths): New.
9222 (concat): Use CHARACTERP instead of INTERGERP.
1f45f627 9223 (Flocale_codeset): Delete.
aca7a3d2 9224 (Flanginfo): New function.
1f45f627 9225 (syms_of_fns): Change accordingly.
aca7a3d2
MB
9226
9227 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
9228
73acf815 92292008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9230
9231 * casetab.c (init_casetab_once, init_casetab_once): Fix
9232 CHAR_TABLE_SET call.
9233
9234 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
9235
9236 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
9237
9238 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
9239 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
9240 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
9241
9242 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
9243
9244 * coding.c (ENCODE_DESIGNATION, decode_eol)
9245 (make_conversion_work_buffer, code_conversion_restore)
9246 (Fdefine_coding_system_internal): Convert Lisp types.
9247 (code_conversion_restore): Use EQ, not ==.
9248 (Fencode_coding_string): Fix code_convert_string call.
9249
9250 * coding.h (code_convert_region): Fix prototype.
9251
1f45f627 9252 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
aca7a3d2
MB
9253
9254 * fontset.c (fontset_ref, fontset_set, fs_load_font)
9255 (Ffontset_info): Convert Lisp types.
9256
9257 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
9258
9259 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
9260
9261 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
9262
9263 * chartab.c: Include "...h", not <...h> in some cases.
9264
9265 * callproc.c (Fcall_process): Remove unused variables.
9266
73acf815 92672008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9268
9269 * coding.c (Fset_coding_system_priority): Allow null arg list.
9270
73acf815 92712008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9272
9273 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
9274 (Fself_insert_and_exit): Use CHARACTERP.
9275
9276 * callproc.c (Fcall_process): Remove unused vars.
9277
9278 * xterm.c (XTread_socket): Add extra dead keysyms.
9279
9280 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
9281
9282 * dispextern.h: Remove prototypes for redraw_frame,
9283 redraw_garbaged_frames.
9284
9285 * cmds.c (Fself_insert_command): Use CHARACTERP.
9286
9287 * chartab.c (make_sub_char_table): Remove unused var.
9288 (Fset_char_table_default, Fmap_char_table): Doc fix.
9289
9290 * keymap.c (access_keymap): Remove generic char code.
9291 (push_key_description): Use CHARACTERP.
9292
73acf815 92932008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9294
9295 * charset.c: Doc fixes.
9296 (Funify_charset): Extra checking.
9297
73acf815 92982008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9299
9300 * lread.c: Remove some unused variables.
9301 (safe_to_load_p): If safe, return the magic number version byte.
9302 (Fload): Maybe use load-with-code-conversion.
9303
73acf815 93042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9305
9306 * category.c (Fmodify_category_entry): Don't modify the contents
9307 of category_set for characters out of the range. Avoid
9308 unnecessary modification.
9309
1f45f627 9310 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
aca7a3d2
MB
9311 Vchar_unify_table. The default value of the table is now nil.
9312
9313 * character.c (syms_of_character): Setup Vchar_width_table for
9314 eight-bit-control and raw-byte chars.
9315
9316 * charset.h (enum define_charset_arg_index): Delete
9317 charset_arg_parents and add charset_arg_subset and
9318 charset_arg_superset.
9319 (enum charset_attr_index): Delete charset_parents and add
9320 charset_subset and charset_superset.
9321 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
9322 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
1f45f627 9323 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
aca7a3d2
MB
9324 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
9325 (CHARSET_SUPERSET): New macros.
9326 (charset_work): Extern it.
9327 (ENCODE_CHAR): Use charset_work.
1f45f627 9328 (CHAR_CHARSET_P): Adjust for the change of encoder format.
aca7a3d2
MB
9329 (map_charset_chars): Extern it.
9330
9331 * charset.c (load_charset_map): Set the default value of encoder
9332 and deunifier char-tables to nil.
1f45f627 9333 (map_charset_chars): Change argument. Change callers. Use
aca7a3d2
MB
9334 map_char_table_for_charset instead of map_char_table.
9335 (Fmap_charset_chars): New optional args from_code and to_code.
1f45f627 9336 (Fdefine_charset_internal): Adjust for the change of
aca7a3d2
MB
9337 `define-charset' (:parents -> :subset or :superset).
9338 (charset_work): New variable.
4c4475a8
GM
9339 (encode_char, syms_of_charset): Adjust for the change of
9340 Fdefine_charset_internal.
aca7a3d2
MB
9341 (Ffind_charset_string): Setup the vector `charsets' correctly.
9342
1f45f627 9343 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
aca7a3d2 9344 the previous change.
1f45f627 9345 (char_table_ref_and_range): Adjust for the above change.
aca7a3d2
MB
9346 (map_sub_char_table_for_charset): New function.
9347 (map_char_table_for_charset): New function.
9348
9349 * keymap.c (describe_vector): Handle a char-table directly here.
1f45f627 9350 (describe_char_table): Delete.
aca7a3d2 9351
1f45f627 9352 * lisp.h (map_charset_chars): Delete.
aca7a3d2 9353
73acf815 93542008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9355
9356 * fns.c (count_combining): Comment out (unused).
9357 (Flocale_codeset): New.
9358 (syms_of_fns): Defsubr it.
9359
9360 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
1f45f627 9361 (size_t): Remove.
aca7a3d2 9362
73acf815 93632008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 9364
6f69e89b 9365 * Makefile.in (chartab.o): Depend on charset.h.
aca7a3d2 9366
73acf815 93672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9368
9369 * character.c (syms_of_character): Set the default value of
9370 Vprintable_chars to Qnil.
9371
73acf815 93722008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9373
9374 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
9375
73acf815 93762008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9377
9378 * charset.c (load_charset_map): Handle the case that from < to
9379 correctly.
9380
4c4475a8
GM
9381 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
9382 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
9383 Pay attention to raw-8-bit chars.
aca7a3d2 9384
73acf815 93852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9386
4c4475a8
GM
9387 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
9388 It is not bytecompiled now.
aca7a3d2
MB
9389
9390 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
9391 (charset_jisx0208): New variables.
9392 (Fdefine_charset_internal): Setup them if appropriate.
9393 (init_charset_once): Initialize them to -1.
9394
1f45f627
GM
9395 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
9396 (charset_jisx0208): Extern them.
aca7a3d2 9397
1f204af3 9398 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
aca7a3d2 9399 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
1f45f627
GM
9400 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
9401 (setup_iso_safe_charsets): Fix arguments to Fassq.
4c4475a8
GM
9402 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
9403 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
9404 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
aca7a3d2
MB
9405 (encode_coding_iso_2022): Change the 1st arg to
9406 ENCODE_ISO_CHARACTER to a variable.
9407
73acf815 94082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9409
9410 * charset.h (enum define_charset_arg_index): New enums
9411 charset_arg_min_code and charset_arg_max_code.
9412 (struct charset): New member char_index_offset.
9413
4c4475a8
GM
9414 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
9415 Take charset->char_index_offset into account.
aca7a3d2
MB
9416 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
9417 args[charset_arg_max_code]. Setup charset.char_index_offset.
9418 (syms_of_charset): Fix args to Fdefine_charset_internal.
9419
73acf815 94202008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9421
9422 * coding.c (decode_coding_utf_8): Reject overlong sequences.
9423
73acf815 94242008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9425
9426 * coding.c: Doc fixes.
9427 (Fcoding_system_aliases): Fix return value.
9428 (Qmac): Remove (duplicated) definition.
9429
73acf815 94302008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9431
9432 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
9433 functions.
9434
9435 * character.c (Fstring): Doc fix.
9436
9437 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
9438
9439 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
9440 ids.
9441 (font-encoding-alist): Doc fix.
9442
73acf815 94432008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9444
9445 * term.c (costs_set): Declare static, non-initialized for pcc.
1f45f627 9446 (encode_terminal_code): Remove unused var.
aca7a3d2
MB
9447
9448 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
9449 for K&R.
9450
9451 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
9452
9453 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
1f45f627 9454 (suffixes): Move out of make_subsidiaries for K&R.
aca7a3d2 9455
1f45f627 9456 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
aca7a3d2
MB
9457
9458 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
9459
73acf815 94602008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9461
9462 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
9463
1f45f627 9464 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
aca7a3d2 9465
2a2e8de7 94662008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2
MB
9467
9468 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
9469
1f45f627 9470 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
aca7a3d2 9471
73acf815 94722008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9473
4c4475a8 9474 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
aca7a3d2 9475 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
aca7a3d2 9476
73acf815 94772008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9478
1f45f627 9479 * coding.c (decode_coding_charset): Adjust for the change of
aca7a3d2
MB
9480 Fdefine_coding_system_internal.
9481 (Fdefine_coding_system_internal): For a coding system of
9482 `charset' type, store a list of charset IDs in
9483 `charset_attr_charset_valids' element of coding attributes.
9484
73acf815 94852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9486
9487 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
1f45f627
GM
9488 (emacs_mule_char): New arg src. Delete arg `composition'. Change
9489 caller. Handle 2-byte and 3-byte charsets correctly.
9490 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
9491 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
aca7a3d2
MB
9492 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
9493 (DECODE_EMACS_MULE_21_COMPOSITION): Call
9494 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
9495 sequence.
9496 (decode_coding_emacs_mule): Handle composition correctly. Rewind
1f45f627 9497 `src' and `consumed_chars' correctly before calling emacs_mule_char.
aca7a3d2
MB
9498 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
9499 and alt&rule composition.
9500 (decode_coding_iso_2022): Handle composition correctly.
9501 (init_coding_once): Setup emacs_mule_bytes for private charsets.
9502
9503 * charset.c (Fdefine_charset_internal): Fix bug for the case of
9504 re-defining a charset. If the charset has :emacs-mule-id, setup
9505 emacs_mule_bytes.
1f45f627 9506 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
aca7a3d2 9507
73acf815 95082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9509
4c4475a8
GM
9510 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
9511 (encode_coding_big5, encode_coding_charset): If coding requires safe
aca7a3d2
MB
9512 encoding, produce a character specified by
9513 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
aca7a3d2 9514
73acf815 95152008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9516
9517 * xterm.c (XSetIMValues): Declare.
9518
9519 * process.c: Conditionally include sys/wait.h, pty.h.
9520
1f45f627 9521 * print.c (print_object): Fix print format for 64-bit systems.
aca7a3d2 9522
1f45f627 9523 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
aca7a3d2
MB
9524
9525 * buffer.c (emacs_strerror): Declare.
aca7a3d2
MB
9526
9527 * fontset.c (Fclear_face_cache): Declare.
1f45f627 9528 (accumulate_font_info): Comment-out (unused).
aca7a3d2
MB
9529 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
9530 variables.
9531
9532 * character.h (string_escape_byte8): Declare.
9533
9534 * charset.c (load_charset_map, load_charset_map_from_file): Remove
9535 unused vars.
9536 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
9537 (Fmap_charset_chars): Doc fix.
9538
1f45f627 9539 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
aca7a3d2
MB
9540 (Fset_coding_system_priority, Fset_coding_system_priority)
9541 (Fdefine_coding_system_internal): Doc fix.
9542
73acf815 95432008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9544
9545 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
9546
73acf815 95472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9548
9549 * character.c (string_escape_byte8): Make multibyte string with
9550 correct size.
9551
9552 * charset.c (Fmake_char): Delete unnecessary code.
9553
73acf815 95542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9555
9556 * xfns.c (x_encode_text): Allocate coding.destination here, and
9557 call encode_coding_object with dst_object Qnil.
9558
9559 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
9560 multibyte form correctly.
9561
9562 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
9563 against Vfont_encoding_alist.
9564
9565 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
9566 handling of charset list.
9567 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
9568 (decode_coding_object): Move point to coding->dst_pos before
9569 calling post-read-conversion function.
9570 (encode_coding_object): Give correct arguments to
9571 pre-write-conversion. Ignore the return value of
9572 pre-write-conversion function. Pay attention to the case that
9573 pre-write-conversion changes the current buffer. If dst_object is
9574 Qt, even if coding->src_bytes is zero, allocate at least one byte
9575 to coding->destination.
9576
9577 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
9578
9579 * charset.c (Fmake_char): Make it more backward compatible.
9580 (Fmap_charset_chars): Fix docstring.
9581
73acf815 95822008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9583
9584 * coding.c: Doc fixes.
9585 (Fdefine_coding_system_alias): Use names, not symbols, in
9586 coding-system-alist.
9587
73acf815 95882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9589
9590 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
9591 of calling free_realized_face.
9592
2a2e8de7 95932008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2 9594
1f45f627
GM
9595 * charset.c (read_hex): Don't treat SPC as a comment starter.
9596 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return -1.
aca7a3d2
MB
9597 (Fdecode_char): Fix typo.
9598
73acf815 95992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9600
9601 * charset.h (struct charset): New member `code_space_mask'.
9602
1f45f627 9603 * coding.c (coding_set_source): Delete the local variable beg_byte.
4c4475a8
GM
9604 (encode_coding_charset, Fdefine_coding_system_internal):
9605 Delete the local variable charset.
aca7a3d2
MB
9606 (Fdefine_coding_system_internal): Setup
9607 attrs[coding_attr_charset_valids] correctly.
9608
9609 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
9610 member to check if CODE is valid or not.
9611 (Fdefine_charset_internal): Initialize `code_space_mask' member.
9612 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
9613 is within the range of charset->min_code and carset->max_code.
9614
73acf815 96152008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9616
9617 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
9618
9619 * dispextern.h (generate_ascii_font): Fix return type.
9620
9621 * xfaces.c (generate_ascii_font): Fix arg declaration.
9622
9623 * coding.c (coding_inherit_eol_type)
9624 (Fset_terminal_coding_system_internal)
9625 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
9626
73acf815 96272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9628
9629 * coding.c (decode_coding_charset, encode_coding_charset): Handle
9630 multiple charsets correctly.
9631
73acf815 96322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9633
9634 * search.c (boyer_moore): Fix handling of mulitbyte character
9635 translation.
9636
9637 * xdisp.c (display_mode_element): When the variable `elt' is
9638 changed, update `this' and `lisp_string'.
9639
73acf815 96402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9641
9642 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
9643
9644 * callproc.c (Fcall_process): Be sure to give the current buffer
1f45f627 9645 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
aca7a3d2
MB
9646
9647 * charset.c (struct charset_map_entries): New struct.
1f45f627
GM
9648 (load_charset_map): Rename from parse_charset_map. New args
9649 entries and n_entries. Change caller.
9650 (load_charset_map_from_file): Rename from load_charset_map.
9651 Change caller. New arg control_flag. Call load_charset_map at
aca7a3d2
MB
9652 the tail.
9653 (load_charset_map_from_vector): New function.
9654 (Fdefine_charset_internal): Setup charset.compact_codes_p.
9655 (encode_char): If the charset is compact, change a character index
9656 to a code point.
9657
9658 * coding.c (coding_alloc_by_making_gap): Check the case that the
9659 source and destination are the same correctly.
9660 (decode_coding_raw_text): Set coding->consumed_char and
9661 coding->consumed to 0.
9662 (produce_chars): If coding->chars_at_source is nonzero, update
9663 coding->consumed_char and coding->consumed before calling
9664 alloc_destination.
9665 (Fdefine_coding_system_alias): Register ALIAS in
9666 Vcoding_system_alist.
9667 (syms_of_coding): Define `no-convesion' coding system at the tail.
9668
9669 * fileio.c (Finsert_file_contents): Set coding_system instead of
9670 val. If the current buffer is multibyte, always call
9671 decode_coding_gap.
9672
9673 * xfaces.c (try_font_list): Give higher priority to fontset's
9674 family than face's family.
9675
73acf815 96762008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9677
9678 * callproc.c (Fcall_process): Be sure to give the current buffer
9679 to decode_coding_c_string.
9680
9681 * xfaces.c (try_font_list): Give a family specified in a fontset
9682 higher priority than a family specified in a face.
9683
73acf815 96842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9685
9686 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
9687 Fix arguments to insert_from_buffer.
9688
9689 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
9690
73acf815 96912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9692
9693 * coding.c (produce_chars): Set the variable `multibytep' correctly.
9694 (decode_coding_gap): Set coding->dst_multibyte correctly.
9695
73acf815 96962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9697
9698 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
1f45f627 9699 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
aca7a3d2
MB
9700 (encode_coding_utf_16): Substitute coding->default_char for
9701 non-Unicode characters.
9702 (decode_coding): Don't call record_insert here.
9703 (setup_coding_system): Initialize `surrogate' of
9704 coding->spec.utf_16 to 0.
9705 (EMIT_ONE_BYTE): Fix for multibyte case.
9706
9707 * insdel.c (insert_from_gap): Call record_insert.
9708
73acf815 97092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9710
9711 * casefiddle.c (casify_region): Fix multibyte case.
9712
9713 * character.c (c_string_width): Add return type `int'.
1f45f627 9714 (char_string_with_unification): Delete arg ADVANCED.
aca7a3d2
MB
9715
9716 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
1f45f627 9717 (CHAR_STRING): Adjust for the change of char_string_with_unification.
aca7a3d2
MB
9718 (CHAR_STRING_ADVANCE): Make it do-while statement.
9719
1f45f627 9720 * chartab.c (sub_char_table_set_range): Optimize for the case
aca7a3d2
MB
9721 DEPTH == 3. Add workaround code for a GCC optimization bug.
9722
9723 * charset.c (parse_charset_map): Remove an unused variable.
9724
9725 * coding.c: Delete unused variables.
9726
9727 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
9728 earlier. If inserted is zero and the coding system doesn't
9729 require flushing, don't call decode_coding_gap.
9730
9731 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
9732
73acf815 97332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9734
9735 The following changes are for using Unicode as an internal
9736 character model, and use UTF-8 format for buffer/string
9737 representation.
9738
1f45f627 9739 * .gdbinit (xchartable): Adjust for the change of char table structure.
aca7a3d2
MB
9740 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
9741
9742 * Makefile.in (obj): Add character.o and chartab.o.
c3f9fba8 9743 (lisp, shortlisp): Remove utf-8.elc.
aca7a3d2
MB
9744 (*.o): For many files, change dependency on charset.h to
9745 character.h, and add dependency on character.h.
9746 (character.o, chartab.o): New targets.
9747
1f45f627
GM
9748 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
9749 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
9750 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
aca7a3d2
MB
9751 of "charset.h".
9752
9753 * dired.c, filelock.c: Include "character.h".
9754
9755 * alloc.c: Include "character.h" instead of "charset.h".
4c4475a8 9756 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
aca7a3d2
MB
9757 (syms_of_alloc): Remove defsubr for Smake_char_table.
9758
9759 * buffer.c: Include "character.h" instead of "charset.h", don't
9760 include "coding.h".
1f45f627 9761 (Fset_buffer_multibyte): Adjust for UTF-8.
aca7a3d2
MB
9762
9763 * buffer.h: EXFUN Fbuffer_live_p.
9764
9765 * callproc.c: Include "character.h" instead of "charset.h".
9766 (Fcall_process): Big change for the new code-conversion APIs.
9767
9768 * casetab.c: Include "character.h" instead of "charset.h".
1f45f627 9769 (set_canon, set_identity, shuffle): Adjust for the new
aca7a3d2
MB
9770 map_char_table spec.
9771 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
9772 accessing the char table structure.
9773
9774 * chartab.c: New file that implements char table.
9775
9776 * category.c: Include "character.h".
9777 (copy_category_entry): New function.
9778 (copy_category_table): Call map_char_table and copy_category_entry.
9779 (Fmake_category_table): Initialize all top-vel slots.
9780 (char_category_set): New function.
1f45f627 9781 (modify_lower_category_set): Delete.
aca7a3d2
MB
9782 (Fmodify_category_entry): Call char_table_ref_and_range.
9783
9784 * category.h (CATEGORY_SET): Just call char_category_set.
9785
9786 * ccl.c: Include "character.h".
9787 (Qccl, Qcclp): New variables.
9788 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
9789 it's less than 256.
1f45f627
GM
9790 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
9791 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
aca7a3d2 9792 and DST type.
1f45f627
GM
9793 (ccl_driver): Change types of argument, adjust code accordingly.
9794 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
aca7a3d2
MB
9795 ccl_driver.
9796 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
9797
1f45f627
GM
9798 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
9799 New members src_multibyte, dst_multibyte, consumed, and produced.
9800 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
aca7a3d2 9801 (CODING_SPEC_CCL_PROGRAM): New macro.
1f45f627 9802 (ccl_driver): Update prototype.
aca7a3d2
MB
9803 (Qccl, Qcclp, Fccl_program_p): Extern them.
9804 (CHECK_CCL_PROGRAM): New macro.
9805
9806 * character.c, character.h, chartab.c: New files.
9807
1f45f627
GM
9808 * charset.c: Mostly re-written. Move character and multibyte sequence
9809 handling codes to character.c.
aca7a3d2 9810
1f45f627
GM
9811 * charset.h: Mostly re-written. Move character and multibyte sequence
9812 handling codes to character.h.
aca7a3d2
MB
9813
9814 * coding.c, coding.h: Mostly re-written.
9815
9816 * composite.c: Include "character.h" instead of "charset.h".
1f45f627
GM
9817 (CHAR_WIDTH): Move to character.h.
9818 (HASH_KEY, HASH_VALUE): Delete.
aca7a3d2 9819
1f45f627
GM
9820 * composite.h (enum composition_method): Change order of enumeration
9821 symbols.
aca7a3d2
MB
9822
9823 * data.c: Include "character.h" instead of "charset.h".
9824 (Faref): Call CHAR_TABLE_REF for a char table.
9825 (Faset): Call CHAR_TABLE_SET for a char table.
9826
1f45f627
GM
9827 * dispextern.h (free_realized_face, check_face_attribytes)
9828 (generate_ascii_font): Extern them.
9829 (free_realized_multibyte_face): Delete extern.
aca7a3d2 9830
1f45f627 9831 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
aca7a3d2
MB
9832 table structure.
9833
9834 * editfns.c: Include "character.h" instead of "charset.h".
9835 (Fchar_to_string): Always call CHAR_STRING.
9836
9837 * emacs.c (main): Call init_charset_once, init_charset,
9838 syms_of_chartab, and syms_of_character.
9839
9840 * fileio.c: Include "character.h" instead of "charset.h".
1f45f627 9841 (Finsert_file_contents): Big change for the new code-conversion API.
4c4475a8 9842 (choose_write_coding_system, Fwrite_region): Likewise.
1f45f627 9843 (build_annotations_2): Delete.
aca7a3d2
MB
9844 (e_write): Big change for the new code-conversion API.
9845
9846 * fns.c: Include "character.h" instead of "charset.h".
1f45f627 9847 (copy_sub_char_table): Move to chartab.c.
aca7a3d2
MB
9848 (Fcopy_sequence): Call copy_char_table for a char table.
9849 (concat): Delete codes calling count_multibyte.
4c4475a8
GM
9850 (string_char_to_byte, string_byte_to_char): Adjust for the new
9851 multibyte form.
1f45f627
GM
9852 (internal_equal): Adjust for the change of char table structure.
9853 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
9854 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
9855 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
9856 (char_table_translate, optimize_sub_char_table)
9857 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
aca7a3d2 9858 chartab.c.
1f45f627
GM
9859 (char_table_ref_and_index): Delete.
9860 (HASH_KEY, HASH_VALUE): Move to lisp.h.
aca7a3d2 9861 (Fmd5): Call preferred_coding_system instead of accessing
1f45f627
GM
9862 Vcoding_category_list. Adjust for the new code-conversion API.
9863 (syms_of_fns): Move defsubr for char table related functions to
aca7a3d2
MB
9864 chartab.c.
9865
9866 * fontset.c: Mostly re-written.
9867
1f45f627 9868 * fontset.h (struct font_info): Change type of the member encoding_type.
aca7a3d2 9869 (enum FONT_SPEC_INDEX): New enum.
1f45f627
GM
9870 (fontset_font_pattern, fs_load_font): Update prototype.
9871 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
aca7a3d2
MB
9872
9873 * indent.c: Include "character.h" instead of "charset.h".
1f45f627 9874 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
aca7a3d2
MB
9875
9876 * insdel.c: Include "character.h" instead of "charset.h".
9877 (copy_text): Don't refer to Vnonascii_translation_table.
9878 (insert_from_gap): New function.
9879
9880 * keyboard.c: Include "character.h" instead of "charset.h".
9881 (command_loop_1): Never call direct_output_forward_char before
9882 a non-ASCII character.
9883 (read_char): If Vkeyboard_translate_table is a char table, always
1f45f627 9884 translate a character.
aca7a3d2
MB
9885
9886 * keymap.c: Include "character.h".
9887 (store_in_keymap): Handle the case that IDX is a cons.
9888 (Fdefine_key): Handle the case that KEY is a cons and the car part
9889 is also a cons (range).
1f45f627 9890 (push_key_description): Adjust for the new character code.
aca7a3d2
MB
9891 (describe_vector): Call describe_char_table for a char table.
9892 (describe_char_table): New function.
9893
9894 * keymap.h (describe_char_table): Extern it.
9895
9896 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
9897 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
1f45f627
GM
9898 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
9899 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
9900 Delete.
9901 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
aca7a3d2
MB
9902 structure.
9903 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
1f45f627
GM
9904 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
9905 (CHARTAB_SIZE_BITS_3): New macros.
aca7a3d2 9906 (chartab_size): Extern it.
1f45f627 9907 (struct Lisp_Char_Table): Re-design.
aca7a3d2 9908 (struct Lisp_Sub_Char_Table): New structure.
1f45f627
GM
9909 (HASH_KEY, HASH_VALUE): Move from fns.c.
9910 (CHARACTERBITS): Define as 22.
9911 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
aca7a3d2
MB
9912 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
9913 (GC_SUB_CHAR_TABLE_P): New macro.
1f45f627
GM
9914 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
9915 (code_convert_string_norecord): Deleted extern.
9916 (init_character_once, syms_of_character, init_charset)
9917 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
aca7a3d2
MB
9918
9919 * lread.c: Include "character.h".
9920 (read_multibyte): New arg NBYTES.
1f45f627
GM
9921 (read_escape): Change the meaning of returned *BYTEREP.
9922 (to_multibyte): Delete.
9923 (read1): Adjust the handling of char table and string.
aca7a3d2
MB
9924
9925 * print.c: Include "character.h" instead of "charset.h".
9926 (print_string): Convert 8-bit raw bytes to octal form by
9927 string_escape_byte8.
1f45f627 9928 (print_object): Adjust for the new multibyte form. Print 8-bit
aca7a3d2
MB
9929 raw bytes always in octal form. Handle sub char table correctly.
9930
9931 * process.c: Include "character.h" instead of "charset.h".
4c4475a8
GM
9932 (read_process_output, send_process): Adjust for the new
9933 code-conversion API.
aca7a3d2 9934
1f45f627 9935 * puresize.h (BASE_PURESIZE): Increase.
aca7a3d2
MB
9936
9937 * regex.c: Include "character.h" instead of "charset.h".
9938 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
9939 (regex_compile): Accept a range whose starting and ending
9940 character have different leading bytes.
1f45f627 9941 (analyse_first): Adjust for the above change.
aca7a3d2
MB
9942
9943 * search.c: Include "character.h" instead of "charset.h".
1f45f627
GM
9944 (search_buffer, boyer_moore): Adjust for the new multibyte form.
9945 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
aca7a3d2
MB
9946
9947 * syntax.c: Include "character.h" instead of "charset.h".
1f45f627 9948 (syntax_parent_lookup): Delete.
aca7a3d2 9949 (Fmodify_syntax_entry): Accept a cons as CHAR.
1f45f627 9950 (skip_chars): Adjust for the new multibyte form.
aca7a3d2
MB
9951 (init_syntax_once): Call char_table_set_range instead of directly
9952 accessing the structure of a char table.
9953
9954 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
1f45f627 9955 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
aca7a3d2
MB
9956 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
9957 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
9958
9959 * term.c: Include "buffer.h" and "character.h".
4c4475a8
GM
9960 (encode_terminal_code, write_glyphs): Adjust for the new
9961 code-conversion API.
aca7a3d2
MB
9962 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
9963
1f45f627 9964 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
aca7a3d2
MB
9965
9966 * xdisp.c: Include "character.h".
1f45f627
GM
9967 (get_next_display_element): Adjust for the new multibyte form.
9968 (disp_char_vector): Adjust for the new char table structure.
9969 (decode_mode_spec_coding): Adjust for the new structure of
aca7a3d2 9970 coding system.
1f45f627 9971 (decode_mode_spec): Adjust for the new code-conversion API.
aca7a3d2
MB
9972
9973 * xfaces.c: Include "character.h" instead of "charset.h".
1f45f627 9974 (load_face_font): Adjust for the change of choose_face_font and
aca7a3d2
MB
9975 FS_LOAD_FONT.
9976 (generate_ascii_font): New function.
1f45f627
GM
9977 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
9978 (set_font_frame_param): Adjust for the change of choose_face_font.
aca7a3d2 9979 (free_realized_face): Make it public.
1f45f627 9980 (free_realized_faces_for_fontset): Rename from
aca7a3d2 9981 free_realized_multibyte_face. Free also faces realized for ASCII.
1f45f627 9982 (choose_face_font): Change arguments. Adjust for the change of
aca7a3d2
MB
9983 fontset_font_pattern and FS_LOAD_FONT.
9984
9985 * xfns.c: Include "character.h".
1f45f627 9986 (x_encode_text): Adjust for the new code-conversion API.
aca7a3d2
MB
9987
9988 * xselect.c: Don't include "charset.h".
1f45f627 9989 (selection_data_to_lisp_data): Adjust for the new code conversion API.
aca7a3d2
MB
9990
9991 * xterm.c: Include "character.h".
1f45f627 9992 (x_encode_char): New argument CHARSET. Change caller.
4c4475a8
GM
9993 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
9994 Call ENCODE_CHAR instead of SPLIT_CHAR.
aca7a3d2
MB
9995 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
9996 CHAR_WIDTH instead of CHARSET_WIDTH.
1f45f627
GM
9997 (XTread_socket): Adjust for the new code-conversion API.
9998 (x_new_font): Adjust for the change of FS_LOAD_FONT.
9999 (x_load_font): Adjust for the change of struct font.
aca7a3d2 10000
d6abfc14
SM
100012008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
10002
10003 * xfaces.c (face_at_buffer_position): Remove unused vars.
10004
0acdaf8d
KH
100052008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10006
4c4475a8
GM
10007 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
10008 Fix overflow checking.
0acdaf8d 10009
6c8a0ebf
GM
100102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10011
10012 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
10013 Cancel previous change.
10014
100152008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
10016
10017 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
10018 ccl->eight_bit_control. Fix check for buffer overflow.
10019 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
10020 (ccl_driver): Initialize extra_bytes to 0.
10021
a32aad64
KH
100222008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
10023
10024 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
10025 return it ORed with ctrl_modifier.
10026
8b329dba
MB
100272008-01-29 Miles Bader <miles@gnu.org>
10028
10029 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
10030
548667aa
JR
100312008-01-28 Jason Rumney <jasonr@gnu.org>
10032
10033 * w32.c (stat): Don't double check for networked drive.
10034
0975aa24
SM
100352008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
10036
ef264c42
SM
10037 * window.c (run_window_configuration_change_hook): New function.
10038 Code extracted from set_window_buffer. Set the selected frame.
10039 (set_window_buffer): Use it.
10040 * window.h (run_window_configuration_change_hook): Declare.
10041 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
10042
0975aa24
SM
10043 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
10044
9c28b587
DN
100452008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
10046
10047 * Makefile.in: Remove references to unused macros.
10048
c617afce
EZ
100492008-01-26 Eli Zaretskii <eliz@gnu.org>
10050
10051 * w32.c (g_b_init_get_sid_sub_authority)
10052 (g_b_init_get_sid_sub_authority_count): New static variables.
10053 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
10054 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
0975aa24
SM
10055 (init_user_info): Use them to retrieve uid and gid.
10056 Use 500/513, the Windows defaults, as Administrator's uid/gid.
248c21c5
EZ
10057 (fstat): Use pw_uid and pw_gid from the_passwd structure for
10058 st_uid and st_gid of the file.
c617afce 10059
302d7d54
JR
100602008-01-26 Jason Rumney <jasonr@gnu.org>
10061
10062 * w32.c (logon_network_drive): New function.
10063 (stat): Use it.
10064
3ac7a21e
CY
100652008-01-26 Chong Yidong <cyd@stupidchicken.com>
10066
10067 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
10068 invisible text covered with an ellipsis.
10069
bbb9fc1f
RS
100702008-01-25 Richard Stallman <rms@gnu.org>
10071
10072 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
10073 jump back to beginning. Move some other initializations after that.
10074 (Qwindow_text_change_functions, Vwindow_text_change_functions):
10075 New variables.
10076 (syms_of_xdisp): Init them.
10077
10078 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
10079
0975aa24
SM
10080 * buffer.c (reset_buffer_local_variables):
10081 Implement `permanent-local-hook'.
bbb9fc1f 10082 (Qpermanent_local_hook): New variable.
0975aa24 10083 (syms_of_buffer): Init and staticpro it.
bbb9fc1f 10084
79235cbe
MA
100852008-01-25 Michael Albinus <michael.albinus@gmx.de>
10086
10087 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
10088
ccd8f7fe
TTN
100892008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
10090
10091 * fns.c (Fclrhash): Return TABLE.
10092
dfbe40f2 100932008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
223b3d1d
YM
10094
10095 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
10096 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
10097 is set even without positional changes.
10098 (x_scroll_bar_clear): Set bar->redraw_needed_p.
10099
10100 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
10101
dfbe40f2 101022008-01-23 Jason Rumney <jasonr@gnu.org>
602e142f 10103
d6169680
JR
10104 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
10105
602e142f
JR
10106 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
10107 the unicode range available in MULE by locale-coding-system.
c041e2d1 10108 Improve dbcs lead byte detection. Set event timestamp and modifiers
602e142f
JR
10109 earlier.
10110
dfbe40f2 101112008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5ee4de53
YM
10112
10113 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
10114 [MAC_OSX] (init_mac_osx_environment): Initialize it.
6f69e89b 10115 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
5ee4de53
YM
10116 when used on child processes.
10117
8c7a4ac5
MA
101182008-01-21 Michael Albinus <michael.albinus@gmx.de>
10119
e0df1b73 10120 * dbusbind.c (Fdbus_method_return_internal): Rename from
8c7a4ac5 10121 Fdbus_method_return.
e0df1b73 10122 (Fdbus_unregister_object): Move to dbus.el.
8c7a4ac5 10123 (Fdbus_call_method, Fdbus_method_return_internal)
e0df1b73 10124 (Fdbus_send_signal): Improve debug messages.
8c7a4ac5 10125
8abe0f97
MR
101262008-01-20 Martin Rudalics <rudalics@gmx.at>
10127
10128 * undo.c (undo_inhibit_record_point): New variable.
10129 (syms_of_undo): Initialize it.
10130 (record_point): Don't record point when undo_inhibit_record_point
10131 is set.
10132
c3b232e4
SM
101332008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
10134
e69c4cae
SM
10135 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
10136
823e0ebb
SM
10137 * xdisp.c (Qauto_hscroll_mode): New var.
10138 (syms_of_xdisp): Initialize it.
10139 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
10140 window's buffer.
10141 (hscroll_windows): Don't check automatic_hscrolling_p here.
10142
c3b232e4
SM
10143 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
10144 vscroll if we're setting window-buffer to the value it already has.
10145
76ed5e01
DN
101462008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
10147
10148 * m/intel386.h: Remove references to XENIX.
10149
55e6d9b2
AS
101502008-01-17 Andreas Schwab <schwab@suse.de>
10151
10152 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
10153 instead of HAVE_X86_64_LIB64_DIR.
10154 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
10155
b16ed52d
GM
101562008-01-17 Glenn Morris <rgm@gnu.org>
10157
10158 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
10159 to HAVE_X86_64_LIB64_DIR.
10160
6bed5c4a
DN
101612008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
10162
10163 * s/irix3-3.h:
10164 * s/irix4-0.h:
10165 * s/386-ix.h:
10166 * s/domain.h:
10167 * s/hpux9-x11r4.h:
10168 * s/hpux9shxr4.h: Remove files for systems no longer supported.
10169
10170 * sysdep.c: Remove code containing references to symbols defined
10171 by unsupported systems.
10172
fdecf907
GM
101732008-01-16 Glenn Morris <rgm@gnu.org>
10174
10175 * coding.c (select-safe-coding-system-function): Doc fix.
10176
9292328f
GM
101772008-01-15 Glenn Morris <rgm@gnu.org>
10178
10179 * config.in: Revert 2008-01-13 change: this is a generated file.
10180
944df511
MO
101812008-01-13 Tom Tromey <tromey@redhat.com>
10182
10183 * lisp.h: Fix typo.
10184
8111ec05
DN
101852008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
10186
f40f5dc3
DN
10187 * m/sequent-ptx.h:
10188 * m/sequent.h:
10189 * s/ptx.h:
10190 * s/ptx4-2.h:
10191 * s/ptx4.h: Remove files for systems no longer supported.
10192
ce20b664 10193 * callproc.c (Fcall_process): Fix previous change.
8111ec05 10194
e39a993c
DN
101952008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
10196
052e457f 10197 * unexsunos4.c: Remove file, system not supported anymore.
e39a993c 10198
290afd83
JB
10199 * m/mips.h:
10200 * m/intel386.h:
e39a993c
DN
10201 * callproc.c:
10202 * config.in:
10203 * ecrt0.c:
10204 * emacs.c:
10205 * fileio.c:
10206 * frame.c:
10207 * getpagesize.h:
10208 * keyboard.c:
10209 * lread.c:
10210 * process.c:
10211 * puresize.h:
10212 * sysdep.c:
10213 * systty.h:
10214 * syswait.h:
10215 * unexec.c:
10216 * xdisp.c:
10217 * alloc.c: Remove code containing references to symbols defined by
10218 unsupported systems.
10219
81cd7687
KH
102202008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
10221
10222 * coding.c (detect_coding_mask): Fix previous change.
10223
218b3b76
KH
102242008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
10225
10226 * coding.c (detect_coding_iso2022): New arg
10227 latin_extra_code_state. Allow Latin extra codes only
10228 when *latin_extra_code_state is nonzero.
10229 (detect_coding_mask): If there is a NULL byte, detect the encoding
10230 as UTF-16 or binary. If Latin extra codes exist, detect the
10231 encoding as ISO-2022 only when there's no other proper encoding is
10232 found.
10233
59ce725a 102342008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
081f2203 10235
59ce725a
MB
10236 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
10237 #ifdef MAC_OS.
048addec 10238
59ce725a 102392008-01-08 Richard Stallman <rms@gnu.org>
048addec 10240
59ce725a 10241 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
048addec 10242
8290574e
NR
102432008-01-06 Nick Roberts <nickrob@snap.net.nz>
10244
a0a3805c 10245 * keyboard.c (parse_menu_item): Don't enclose key bindings on
8290574e
NR
10246 menu bar in parentheses.
10247
f3041af1
DN
102482008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
10249
10250 * m/7300.h:
10251 * m/acorn.h:
10252 * m/alliant-2800.h:
10253 * m/alliant.h:
10254 * m/alliant1.h:
10255 * m/alliant4.h:
10256 * m/altos.h:
10257 * m/amdahl.h:
10258 * m/apollo.h:
10259 * m/att3b.h:
10260 * m/aviion-intel.h:
10261 * m/aviion.h:
10262 * m/celerity.h:
10263 * m/clipper.h:
10264 * m/cnvrgnt.h:
10265 * m/convex.h:
10266 * m/cydra5.h:
10267 * m/delta88k.h:
10268 * m/dpx2.h:
10269 * m/dual.h:
10270 * m/elxsi.h:
10271 * m/f301.h:
10272 * m/gould-np1.h:
10273 * m/gould.h:
10274 * m/i860.h:
10275 * m/ibmps2-aix.h:
10276 * m/ibmrt-aix.h:
10277 * m/ibmrt.h:
10278 * m/irist.h:
10279 * m/is386.h:
10280 * m/isi-ov.h:
10281 * m/mega68.h:
10282 * m/mg1.h:
10283 * m/news-r6.h:
10284 * m/news-risc.h:
10285 * m/news.h:
10286 * m/nh3000.h:
10287 * m/nh4000.h:
10288 * m/ns16000.h:
10289 * m/ns32000.h:
10290 * m/nu.h:
10291 * m/orion.h:
10292 * m/orion105.h:
10293 * m/paragon.h:
10294 * m/pfa50.h:
10295 * m/plexus.h:
10296 * m/pyramid.h:
10297 * m/pyrmips.h:
10298 * m/sh3el.h:
10299 * m/sps7.h:
10300 * m/sr2k.h:
10301 * m/stride.h:
10302 * m/sun1.h:
10303 * m/sun2.h:
10304 * m/sun3-68881.h:
10305 * m/sun3-fpa.h:
10306 * m/sun3-soft.h:
10307 * m/sun3.h:
10308 * m/sun386.h:
10309 * m/symmetry.h:
10310 * m/tad68k.h:
10311 * m/tahoe.h:
10312 * m/targon31.h:
10313 * m/tek4300.h:
10314 * m/tekxd88.h:
10315 * m/tower32.h:
10316 * m/tower32v3.h:
10317 * m/ustation.h:
10318 * m/wicat.h:
10319 * m/xps100.h:
10320 * s/cxux.h:
10321 * s/cxux7.h:
10322 * s/dgux.h:
10323 * s/dgux4.h:
10324 * s/dgux5-4-3.h:
10325 * s/dgux5-4r2.h:
10326 * s/esix.h:
10327 * s/esix5r4.h:
10328 * s/hiuxmpp.h:
10329 * s/hiuxwe2.h:
10330 * s/iris3-5.h:
10331 * s/iris3-6.h:
10332 * s/isc2-2.h:
10333 * s/isc3-0.h:
10334 * s/isc4-0.h:
10335 * s/isc4-1.h:
10336 * s/newsos5.h:
10337 * s/newsos6.h:
10338 * s/osf1.h:
10339 * s/osf5-0.h:
10340 * s/riscix1-1.h:
10341 * s/riscix12.h:
10342 * s/sco4.h:
10343 * s/sco5.h:
10344 * s/sunos4-0.h:
10345 * s/sunos4-1.h:
10346 * s/sunos413.h:
10347 * s/sunos4shr.h:
10348 * s/umax.h:
10349 * s/unipl5-2.h:
10350 * s/xenix.h:
10351 * cxux-crt0.s:
10352 * unexapollo.c:
10353 * unexconvex.c:
10354 * unexenix.c:
10355 * unexsni.c: Remove files for systems no longer supported.
10356
10357 * m/intel386.h: Remove references to unsupported systems.
10358
10359 * w32.c (get_emacs_configuration): Remove reference to i860.
10360
10361 * sysdep.c: Remove dead code.
10362
d35e1cd7
DN
103632008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
10364
10365 * s/rtu.h:
a0a3805c 10366 * m/masscomp.h: Remove files. Platform is obsolete.
d35e1cd7 10367
abe136ee
MA
103682008-01-04 Michael Albinus <michael.albinus@gmx.de>
10369
10370 * dbusbind.c (Fdbus_method_return): New function.
10371 (xd_read_message): Add the serial number to the event.
10372 (Fdbus_register_method): Activate the function.
10373
87df3c32
SM
103742008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
10375
10376 * keyboard.c (read_key_sequence): Fix typo.
10377
5125905e
MA
103782008-01-03 Michael Albinus <michael.albinus@gmx.de>
10379
10380 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
10381 (xd_signature, xd_append_arg): Handle element type detection for
10382 empty arrays.
10383 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
10384 SDATA () calls; this must be solved more general.
10385 (Fdbus_register_signal): Use SBYTES instead of strlen.
10386
8bba1b5c
MH
103872008-01-03 Magnus Henoch <magnus@zemdatav>
10388
10389 * dbusbind.c (xd_append_arg): Use unsigned char instead of
10390 unsigned int for byte values (necessary for big-endian platform).
2c3a8b27 10391 (Fdbus_call_method): Handle the case of no returned arguments.
8bba1b5c 10392
a0a3805c 103932007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
15f16c1b
MA
10394
10395 * dbusbind.c (xd_read_message): Use non-static input_event struct.
10396
a271e124
MH
103972007-12-31 Magnus Henoch <mange@freemail.hu>
10398
10399 * dbusbind.c (xd_signature): Signature of variant is just "v".
10400
17bc8f94
MA
104012007-12-30 Michael Albinus <michael.albinus@gmx.de>
10402
87df3c32 10403 * dbusbind.c: Fix several errors and compiler warnings.
1f204af3 10404 Reported by Tom Tromey <tromey@redhat.com>.
17bc8f94
MA
10405 (XD_ERROR, XD_DEBUG_MESSAGE)
10406 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
10407 (xd_append_arg): Part for basic D-Bus types rewitten.
10408 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
10409 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
10410 appropriate.
10411 (xd_read_message): Return Qnil. Don't signal an error; it is not
10412 useful during event reading.
10413 (Fdbus_register_signal): Signal an error if the check for
10414 FUNCTIONP fails.
10415 (Fdbus_register_method): New function. The implementation is not
10416 complete, the call of the function signals an error therefore.
10417 (Fdbus_unregister_object): New function, renamed from
10418 Fdbus_unregister_signal. The initial check signals an error, if
5125905e 10419 the object is not well formed.
17bc8f94 10420
dd6f2802
RS
104212007-12-30 Richard Stallman <rms@gnu.org>
10422
10423 * textprop.c (get_char_property_and_overlay):
10424 Signal error if POSITION is out of range in a buffer.
10425
1da8a031
MR
104262007-12-29 Martin Rudalics <rudalics@gmx.at>
10427
10428 * w32fns.c (Fx_create_frame): Make copy of frame parameters
10429 because the original parameters are in pure storage now.
10430
5742be86
YM
104312007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10432
10433 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
10434
b014713c
EZ
104352007-12-22 Eli Zaretskii <eliz@gnu.org>
10436
b17f53ab
MB
10437 * callint.c (syms_of_callint) <command-history>: Add reference to
10438 history-length in the doc string.
048addec 10439
b17f53ab 104402007-12-17 Jason Rumney <jasonr@gnu.org>
048addec 10441
b17f53ab
MB
10442 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
10443 before passing as wParam.
048addec 10444
9af5078b
MA
104452007-12-22 Michael Albinus <michael.albinus@gmx.de>
10446
10447 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
10448 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
10449 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
10450 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
10451 as number.
10452 (Fdbus_call_method): Fix docstring.
10453
87cf1a39
MA
104542007-12-21 Michael Albinus <michael.albinus@gmx.de>
10455
10456 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
10457 New macros.
87df3c32 10458 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
a0a3805c
JB
10459 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
10460 Simplify.
87cf1a39
MA
10461 (xd_signature): New function.
10462 (xd_append_arg): Compute also signatures. Major rewrite.
10463 (xd_retrieve_arg): Make debug messages friendly.
87df3c32
SM
10464 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
10465 Check for signatures of arguments.
87cf1a39 10466
54371585
MA
104672007-12-19 Michael Albinus <michael.albinus@gmx.de>
10468
10469 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
10470 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
10471 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
10472 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
10473 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
87df3c32 10474 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
54371585
MA
10475 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
10476 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
87df3c32 10477 (xd_retrieve_value): Remove. Functionality included in ...
54371585
MA
10478 (xd_append_arg): New function.
10479 (Fdbus_call_method, Fdbus_send_signal): Apply it.
10480
f5306ca3
MA
104812007-12-16 Michael Albinus <michael.albinus@gmx.de>
10482
10483 * dbusbind.c (top): Include <stdio.h>.
10484 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
10485 dbus_message_new_method_call and dbus_message_new_signal.
87df3c32
SM
10486 (Fdbus_register_signal): Rename unique_name to uname.
10487 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
f5306ca3
MA
10488 non-existing unique name. Fix typos in matching rule. Return an
10489 object which is useful in Fdbus_unregister_signal.
10490 (Fdbus_unregister_signal): Reimplementation, in order to remove
10491 only the corresponding entry.
10492 (Vdbus_registered_functions_table): Change the order of entries.
10493 Apply these changes in xd_read_message and Fdbus_register_signal.
10494
77a28bbf
AS
104952007-12-16 Andreas Schwab <schwab@suse.de>
10496
10497 * fileio.c (Finsert_file_contents): Fix overflow check to not
10498 depend on undefined integer overflow.
10499
2e3566d8
JR
105002007-12-14 Jason Rumney <jasonr@gnu.org>
10501
10502 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
10503 for characters above 127.
10504
bf254037
JR
105052007-12-13 Jason Rumney <jasonr@gnu.org>
10506
10507 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
10508 before dereferencing array.
10509 (lookup_vk_code): Remove zero comparison.
10510
eb7c7bf5
MA
105112007-12-14 Michael Albinus <michael.albinus@gmx.de>
10512
10513 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
87df3c32
SM
10514 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
10515 Use `unsigned int' instead of `uint'.
eb7c7bf5
MA
10516 (xd_read_message, Fdbus_register_signal): Split expressions into
10517 multiple lines before operators "&&" and "||", according to the
10518 GNU Coding Standards.
10519
34fb0fc9
EZ
105202007-12-14 Eli Zaretskii <eliz@gnu.org>
10521
10522 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
10523
c7d97628
JL
105242007-12-12 Juri Linkov <juri@jurta.org>
10525
10526 * buffer.c (Frename_buffer): In interactive spec replace
10527 `read-buffer' with `read-string' that uses `buffer-name-history'
10528 as history, and the current buffer's name as default.
10529
3709505e
SM
105302007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
10531
10532 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
10533 manipulating the backtrace manually.
10534 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
10535 (struct backtrace, backtrace_list): Remove.
10536 (command_loop_1): Remove dead var `no_direct'.
10537
10538 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
10539 preserve non-built-in buffer-local variables.
10540 (Fkill_all_local_variables): Don't re-create&re-set permanent
10541 buffer-local variables.
10542
e2bec886
JL
105432007-12-09 Juri Linkov <juri@jurta.org>
10544
10545 * buffer.c (Frename_buffer): Change interactive spec from "s" to
10546 Lisp code that uses `read-buffer' with current buffer as default.
10547
a31d47c7
MA
105482007-12-08 Michael Albinus <michael.albinus@gmx.de>
10549
10550 * dbusbind.c (xd_read_message): Generate an event for every
10551 registered handler. There might be several handlers registered
10552 for the same signal.
10553 (Fdbus_register_signal): Don't overwrite a registration for the
10554 same signal. Add a new registration if handlers are different.
10555 (Vdbus_registered_functions_table): Rework doc string.
10556
52da95fa
MA
105572007-12-07 Michael Albinus <michael.albinus@gmx.de>
10558
10559 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
10560 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
10561 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
10562 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
10563 Unify argument lists.
a0a3805c 10564 (xd_read_message, Fdbus_register_signal): Reorder and extend event
52da95fa
MA
10565 arguments and hash table keys. Use unique name for service.
10566 (Fdbus_unregister_signal): Remove checks.
10567 (Vdbus_registered_functions_table): Fix doc string.
10568
e5e76c04 105692007-12-05 Magnus Henoch <mange@freemail.hu>
0277bfa1
RS
10570
10571 * process.c (make_process): Initialize pty_flag to 0.
10572
e5e76c04 105732007-12-05 Jason Rumney <jasonr@gnu.org>
44b1dc2e
JR
10574
10575 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
10576 specified XBMs.
10577
e5e76c04 105782007-12-05 Richard Stallman <rms@gnu.org>
048addec 10579
e5e76c04 10580 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
048addec 10581
e5e76c04 105822007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 10583
e5e76c04
MB
10584 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
10585 New variable.
10586 (mac_try_close_socket) [MAC_OSX]: New function.
10587 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
10588 Update cfsockets_for_select. Replace invalid CFRunLoop source.
048addec 10589
e5e76c04
MB
10590 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
10591 Use mac_try_close_socket.
048addec 10592
e5e76c04 105932007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 10594
e5e76c04
MB
10595 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
10596 reloc_base.
10597 (copy_dysymtab): Compute relocation base here.
10598 (rebase_reloc_address) [__ppc64__]: New function.
10599 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
10600 changed.
048addec 10601
e5e76c04 106022007-12-05 Jason Rumney <jasonr@gnu.org>
048addec 10603
e5e76c04 10604 * w32proc.c (sys_spawnve): Quote args with wildcards.
048addec 10605
e5e76c04 106062007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 10607
e5e76c04
MB
10608 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
10609 __objc_* sections.
10610 (unrelocate) [_LP64]: Set relocation base to address of data segment.
048addec 10611
96faeb40
MA
106122007-12-05 Michael Albinus <michael.albinus@gmx.de>
10613
10614 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
10615 Move check for Vdbus_registered_functions_table to
10616 xd_read_queued_messages.
10617 (xd_read_queued_messages): Protect xd_read_message calls by
10618 internal_condition_case_1.
10619
39abdd4a
MA
106202007-12-04 Michael Albinus <michael.albinus@gmx.de>
10621
87df3c32 10622 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
39abdd4a 10623 Qdbus_system_bus and Qdbus_session_bus, respectively.
87df3c32 10624 (Vdbus_intern_symbols): Remove.
39abdd4a 10625 (Vdbus_registered_functions_table): New hash table.
87df3c32 10626 (XD_SYMBOL_INTERN_SYMBOL): Remove.
39abdd4a 10627 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
87df3c32 10628 Rewrite in order to manage registered functions by hash table
39abdd4a
MA
10629 Vdbus_registered_functions_table.
10630
880820fe 106312007-12-03 Jan Djärv <jan.h.d@swipnet.se>
7ba30657
JD
10632
10633 * xterm.c: Update URL to Window Manager Specification in comment.
10634
033b73e2
MA
106352007-12-02 Michael Albinus <michael.albinus@gmx.de>
10636
10637 * config.in (HAVE_DBUS): Add.
10638
a0a3805c 10639 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
033b73e2
MA
10640 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
10641 (obj): Add $(DBUS_OBJ).
10642 (LIBES): Add $(DBUS_LIBS).
10643 (dbusbind.o): New target.
10644
10645 * dbusbind.c: New file.
10646
10647 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
10648
10649 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
a0a3805c 10650 (Qdbus_event): New Lisp symbol.
033b73e2 10651 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
87df3c32 10652 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
033b73e2
MA
10653 (keys_of_keyboard ): Define dbus-event.
10654
10655 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
10656
39d0bf74
RS
106572007-12-01 Richard Stallman <rms@gnu.org>
10658
10659 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
10660
f3157c65
JR
106612007-11-30 Jason Rumney <jasonr@gnu.org>
10662
10663 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
10664 (w32con_reset_terminal_modes): Clear screen buffer.
f1e8dcf1
JR
10665 (w32_face_attributes): Don't use color indexes that are out of range.
10666 Only reverse the default colors.
f3157c65
JR
10667
10668 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
10669 WINDOWSNT.
10670
10671 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
10672
b510360c
JR
106732007-11-29 Jason Rumney <jasonr@gnu.org>
10674
10675 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
10676 (w32_face_attributes): Use Vtty_defined_color_alist to determine
10677 if the terminal colors are initialized.
10678 (unspecified_fg, unspecified_bg): Remove unused declarations.
10679
4b7ab1c4
AS
106802007-11-29 Andreas Schwab <schwab@suse.de>
10681
10682 * keyboard.c (apply_modifiers): Fix typo.
10683
4bb6c266
RS
106842007-11-29 Richard Stallman <rms@gnu.org>
10685
10686 * keymap.c (Fcurrent_local_map): Doc fix.
10687
aa44cd84
GM
106882007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
10689
10690 * s/gnu-kfreebsd.h: New file.
10691
21ec2c43
SM
106922007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
10693
cc648cef
SM
10694 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
10695 Don't cast redundantly.
10696
21ec2c43
SM
10697 * keyboard.c (KEY_TO_CHAR): New macro.
10698 (parse_modifiers, apply_modifiers): Accept integer arguments.
10699 (read_key_sequence): Use them to unify the "shift->unshift" mapping
10700 for chars and symbol keys.
10701 After doing such remapping, apply function-key-map again.
10702
73e72da4
DN
107032007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
10704
10705 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
10706 compiled anymore.
10707
254693ff
AS
107082007-11-26 Andreas Schwab <schwab@suse.de>
10709
10710 * process.c (list_processes_1): Fix indentation level of the
10711 command column.
10712
ff6e6ac8
AS
107132007-11-23 Andreas Schwab <schwab@suse.de>
10714
10715 * editfns.c (Fformat): Handle %c specially since it requires the
10716 argument to be of type int.
10717
f7cf8b20
SM
107182007-11-23 Markus Triska <markus.triska@gmx.at>
10719
10720 * emacs.c (main): Call init_editfns before init_process, since
2a2e8de7 10721 init_process sets Vprocess_connection_type depending on OS release.
f7cf8b20 10722
569c11e3
SM
107232007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
10724
8787dd73
SM
10725 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
10726 (find_symbol_value): Use do_symval_forwarding.
10727
569c11e3
SM
10728 * data.c (set_internal): Set the value in the `cons-cell' (for
10729 Buffer_Local_values) not only for frame-local variables.
10730
6af1696d
AS
107312007-11-22 Andreas Schwab <schwab@suse.de>
10732
10733 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
10734 values to sprintf.
10735 * keymap.c (Fsingle_key_description): Likewise.
10736 * print.c (print_object): Likewise.
10737
880820fe 107382007-11-22 Jan Djärv <jan.h.d@swipnet.se>
d4ad8c04
JD
10739
10740 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
10741 file for image is nil.
10742
7c401d15
DN
107432007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
10744
10745 * term.c: Include stdarg.h.
569c11e3 10746 (fatal): Implement using varargs.
a0a3805c 10747 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
7c401d15 10748
64e16c3c
SM
107492007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
10750
10751 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
10752 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
10753 Update call to buffer_slot_type_mismatch.
10754 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
10755 (buffer_slot_type_mismatch): Update.
10756 * buffer.c (buffer_local_types): Remove.
10757 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
10758 (defvar_per_buffer): Set the type in the buffer_objfwd.
10759
d4aa48db 107602007-11-21 Jason Rumney <jasonr@gnu.org>
5f42a7eb 10761
64e16c3c
SM
10762 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
10763 CreateFileMapping returns NULL on failure.
5f42a7eb 10764
d4aa48db 107652007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
048addec 10766
d4aa48db
MB
10767 * search.c (Fset_match_data): Remove the `evaporate' feature.
10768 (unwind_set_match_data): Don't use the `evaporate' feature.
437dfb9f 10769
bdae0540
JR
107702007-11-21 Jason Rumney <jasonr@gnu.org>
10771
10772 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
10773
10774 * w32console.c (w32con_write_glyphs): Remove unused variables.
10775
202c09a8
DN
107762007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
10777
b951420f
DN
10778 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
10779
202c09a8
DN
10780 * s/darwin.h (MULTI_KBOARD): Remove.
10781
10782 * macfns.c (x_create_tip_frame, Fx_create_frame)
10783 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
10784
bae72c12
SM
107852007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
10786
e7c10f83
SM
10787 * buffer.c (Fbuffer_local_value): Remove redundant test.
10788 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
10789 than in `current-buffer' to match the comment.
10790 Do the swap using swap_in_global_binding.
10791
136eb6ed
SM
10792 * data.c (store_symval_forwarding, set_internal):
10793 * eval.c (specbind): Remove dead code.
10794
bae72c12
SM
10795 * coding.c (detect_coding, Fupdate_coding_systems_internal):
10796 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
10797 Since we do not want to see internal Lisp_*fwd objects here.
10798
880820fe 107992007-11-18 Jan Djärv <jan.h.d@swipnet.se>
95fbaefc 10800
3d66b985
JD
10801 * sysdep.c (init_system_name): Use getaddrinfo if available.
10802
95fbaefc
JD
10803 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
10804 (x_scroll_bar_note_movement): start, end, with, height in struct
10805 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
10806
6c1d8cb6
DN
108072007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
10808
10809 * puresize.h (BASE_PURESIZE): Increase to 1190000.
10810
30f95089
SM
108112007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
10812
66b04bd4
SM
10813 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
10814 This undoes Richard's change of 14-Oct-2002.
10815
6d3f2bb2
SM
10816 * alloc.c (allocate_other_vector):
10817 * lisp.h (allocate_other_vector): Remove.
10818
b05b4e27
SM
10819 * window.c (struct save_window_data): Move non-lisp data to the end
10820 and make it `int' rather than Lisp_Object.
10821 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
10822 Done wrap/unwrap integer values.
10823 (Fset_window_configuration, compare_window_configurations):
10824 Update use of fields to their new types.
10825
056ce195
SM
10826 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
10827 Turn integer fields into `int'. Merge x_window_low and x_window_high.
10828 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
10829 (SET_SCROLL_BAR_X_WINDOW): Remove.
10830 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
10831 Access the new x_window field directly.
10832 * xterm.c (x_scroll_bar_create): Use a pseudovector.
10833 Don't wrap/unwrap integers into Lisp_Objects.
10834 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
10835 (x_scroll_bar_report_motion):
10836 Don't wrap/unwrap integers into Lisp_Objects.
10837 (x_term_init): Use SDATA.
10838 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
10839 (x_scroll_bar_set_handle, x_scroll_bar_remove)
10840 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
10841 (x_scroll_bar_report_motion, x_scroll_bar_clear):
10842 * xfns.c (x_set_background_color):
10843 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
10844 Access the new x_window field directly.
10845
30f95089
SM
10846 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
10847 (allocate_pseudovector): Make non-static.
6d3f2bb2 10848
30f95089
SM
10849 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
10850 (allocate_pseudovector): Declare.
6f69e89b 10851 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
30f95089 10852
9b6112e8
AS
108532007-11-15 Andreas Schwab <schwab@suse.de>
10854
30f95089
SM
10855 * editfns.c (Fformat): Correctly format EMACS_INT values.
10856 Also take precision into account when formatting an integer.
0f860bd7 10857
9b6112e8
AS
10858 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
10859
262fcd41
SM
108602007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
10861
58da34c7
SM
10862 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
10863 (syms_of_keyboard): Defsubr it.
10864
262fcd41
SM
10865 * data.c (swap_in_global_binding): Fix longstanding bug where
10866 store_symval_forwarding was not called with the right second argument,
10867 thus causing objfwd-ing from being dropped.
10868
d29a9848
JB
108692007-11-14 Juanma Barranquero <lekktu@gmail.com>
10870
10871 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
10872 (Fx_display_pixel_height, Fx_display_planes)
10873 (Fx_display_color_cells, Fx_server_max_request_size)
10874 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
10875 (Fx_display_visual_class, Fx_display_save_under):
10876 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
10877 (Fx_display_pixel_height, Fx_display_planes)
10878 (Fx_display_color_cells, Fx_server_max_request_size)
10879 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
10880 (Fx_display_mm_height, Fx_display_mm_width)
10881 (Fx_display_backing_store, Fx_display_visual_class)
10882 (Fw32_select_font, Fx_display_save_under):
10883 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
10884 (Fx_display_pixel_height, Fx_display_planes)
10885 (Fx_display_color_cells, Fx_server_max_request_size)
10886 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
10887 (Fx_display_save_under): Fix typos in docstrings.
10888
74084731
JB
108892007-11-14 Juanma Barranquero <lekktu@gmail.com>
10890
10891 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
10892 corresponding to deleted entries; they are an implementation detail.
10893 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
10894 Remove variables.
10895 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
10896 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
10897 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
10898 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
10899 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
d29a9848 10900 (Fw32_define_rgb_color, Fw32_load_color_file)
74084731 10901 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
02b39a28
JB
10902 Fix typos in docstrings.
10903 (Fx_server_version): Reflow docstring.
10904 (Fw32_shell_execute): Doc fixes.
74084731 10905
fb053a1f
JB
109062007-11-13 Juanma Barranquero <lekktu@gmail.com>
10907
10908 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
10909 if w32_parse_hot_key returned nil.
10910
a457417e 109112007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
9ec1bdb6 10912
a457417e 10913 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
9ec1bdb6 10914
4b219faa
JR
109152007-11-09 Jason Rumney <jasonr@gnu.org>
10916
10917 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
10918
10919 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
10920
10921 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
10922 Remove W32_SCROLL_BAR_CLICK_EVENT.
10923
10924 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
10925 Add MULTIMEDIA_KEY_EVENT.
10926
10927 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
10928 (lispy_multimedia_keys) [WINDOWSNT]: New array.
10929 (make_lispy_event) [WINDOWSNT]: Use it to translate
10930 MULTIMEDIA_KEY_EVENT.
10931
10932 * w32term.h (WM_APPCOMMAND): Define if not already.
10933 (GET_APPCOMMAND_LPARAM): Likewise.
10934
10935 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
10936 WM_APPCOMMAND.
10937
10938 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
10939 (syms_of_w32fns): Export and initialize it.
10940 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
10941
c12ecb0a 109422007-11-09 Chong Yidong <cyd@stupidchicken.com>
d388d2ac
CY
10943
10944 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
10945 twice.
10946
10947 * xdisp.c (handle_face_prop): Fix last change.
10948
c12ecb0a 109492007-11-09 Richard Stallman <rms@gnu.org>
048addec 10950
c12ecb0a
MB
10951 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
10952 not just for after-strings and before-strings.
10953 Call face_for_overlay_string and pass the overlay to it.
10954 (handle_display_prop): Determine whether property came from an overlay.
10955 Pass OVERLAY arg to handle_single_display_spec.
10956 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
10957 (load_overlay_strings): Fill in it->string_overlays.
10958 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
b5cb6072 10959
c12ecb0a
MB
10960 * xfaces.c (face_for_overlay_string): Function renamed from
10961 face_at_buffer_position_no_overlays, and add arg OVERLAY.
b5cb6072 10962
c12ecb0a
MB
10963 * dispextern.h (struct it): New elt string_overlays.
10964 New elt from_overlay, also in stack.
10965 Rearrange a few elements.
10966 (face_for_overlay_string): Decl renamed from
10967 face_at_buffer_position_no_overlays, and add argument.
15fff01d 10968
c12ecb0a 109692007-11-09 Richard Stallman <rms@gnu.org>
0065bb74 10970
c12ecb0a
MB
10971 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
10972 to get the base face for an overlay string.
0d8466cc 10973
c12ecb0a 10974 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
15fff01d 10975
c12ecb0a 10976 * xfaces.c (face_at_buffer_position_no_overlays): New function.
2fae9111 10977
c12ecb0a 10978 * xdisp.c (handle_stop): Move some code out of loop.
2d6c1fc0 10979
c12ecb0a 109802007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
07025a55 10981
c12ecb0a
MB
10982 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
10983 Fix conversion from Lisp object to ATSUFontID.
07025a55 10984
c12ecb0a 109852007-11-09 Jason Rumney <jasonr@gnu.org>
07025a55 10986
c12ecb0a 10987 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
3a232704 10988
c12ecb0a 109892007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
539e92ad 10990
c12ecb0a
MB
10991 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
10992 Don't assume regions are aligned to page boundary.
10993 (print_load_command_name): Add LC_UUID if defined.
3a232704 10994
c12ecb0a 109952007-11-09 Richard Stallman <rms@gnu.org>
0cb8bb48 10996
c12ecb0a 10997 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
539e92ad 10998
b8ddfbcc
JR
109992007-11-07 Jason Rumney <jasonr@gnu.org>
11000
11001 * s/windows95.h: Remove.
11002
880820fe 110032007-11-06 Jan Djärv <jan.h.d@swipnet.se>
e624c3f9
JD
11004
11005 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
11006 abort with a message on unhandled store_type values.
11007
880820fe 110082007-11-01 Jan Djärv <jan.h.d@swipnet.se>
ac1278c1
JD
11009
11010 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
11011 Remove HAVE_X11R5 and HAVE_X11R4.
11012
04a697fe
DN
110132007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
11014
11015 * Makefile.in: Remove references to sunfns.c and sunfns.o.
11016
880820fe 110172007-11-01 Johan Bockgård <bojohan@gnu.org>
56dad874
GM
11018
11019 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
fb053a1f 11020 Don't set s->stippled_p here, since it has already been set by
56dad874
GM
11021 x_set_glyph_string_gc from x_draw_glyph_string.
11022
07e5c0b0
DN
110232007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
11024
2a2e8de7 11025 * sunfns.c: Remove file.
07e5c0b0
DN
11026
11027 * m/sun386.h:
11028 * m/sun2.h:
11029 * m/sparc.h: Remove Sun windows code.
11030
1bc973c2
SM
110312007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
11032
11033 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
11034 (init_keyboard): Set current_kboard's window-system to nil.
11035 (tty_read_avail_input): Typo.
11036 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
11037
c22140f6
DN
110382007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
11039
11040 * s/usg5-4.h:
11041 * s/usg5-3.h:
11042 * s/ptx.h:
11043 * m/is386.h:
11044 * m/ibmps2-aix.h:
2a2e8de7 11045 * Makefile.in: Remove all mentions of X10.
c22140f6
DN
11046
11047 * dispnew.c (syms_of_display): Don't mention version 10.
11048
660a8219
JB
110492007-10-28 Juanma Barranquero <lekktu@gmail.com>
11050
11051 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
11052 ($(BLD)/abbrev.$(O)): Remove.
11053
e047f448
SM
110542007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
11055
11056 Rewrite abbrev.c in Elisp.
11057 * image.c (Qcount): Don't declare as extern.
11058 (syms_of_image): Initialize and staticpro `Qcount'.
11059 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
11060 * emacs.c (main): Don't call syms_of_abbrev.
11061 * Makefile.in (obj): Remove abbrev.o.
11062 (abbrev.o): Remove.
11063 * abbrev.c: Remove.
11064
67b73e3a
MR
110652007-10-26 Martin Rudalics <rudalics@gmx.at>
11066
11067 * window.c (window_min_size_2): Don't count header-line.
11068
e3d7bd83
DN
110692007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
11070
11071 * frame.h (struct frame): Move all bit fields after the first bit
660a8219 11072 field to take advantage of the available space. Group all the
e3d7bd83
DN
11073 chars together to reduce wasted space due to padding.
11074
a3547743
JB
110752007-10-26 Juanma Barranquero <lekktu@gmail.com>
11076
e298936f
JB
11077 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
11078
d3d47262
JB
11079 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
11080 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
11081 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
11082 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
11083 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
11084 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
11085 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
11086 (last_marked, mark_object_loop_halt): Make static.
11087
a3547743
JB
11088 * frame.c (syms_of_frame) <delete-frame-functions>:
11089 Fix typo in docstring.
11090
14c71d8b
JB
110912007-10-25 Juanma Barranquero <lekktu@gmail.com>
11092
11093 * w32.c (init_environment): Fix tiny memory leak.
66199f74 11094 (w32_get_resource): Remove unused variable `ok'.
14c71d8b 11095
70b8d0a4
SM
110962007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
11097
11098 Make `window-system' into a keyboard-local variable (rather than
11099 frame-local as done originally by multi-tty).
11100
11101 * keyboard.h (struct kboard): Add Vwindow_system.
11102 * keyboard.c (init_kboard): Set a default for Vwindow_system.
11103 (mark_kboards): Mark Vwindow_system.
11104
11105 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
11106 (init_display): Don't set the obsolete `window-system' frame-param.
11107
11108 * xterm.c (x_term_init):
11109 * w32term.c (w32_create_terminal):
11110 * term.c (init_tty): Set Vwindow_system.
11111 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
11112 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
11113
11114 * xfns.c (Fx_create_frame, x_create_tip_frame):
11115 * w32fns.c (Fx_create_frame, x_create_tip_frame):
11116 * macfns.c (Fx_create_frame):
11117 Don't set the obsolete `window-system' frame-param.
11118
11119 * frame.h (Qwindow_system): Remove.
11120 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
11121 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
11122
fdc90613 111232007-10-24 Richard Stallman <rms@gnu.org>
4521d1fc 11124
fdc90613
MB
11125 * frame.c (x_figure_window_size): For fullscreen case,
11126 set USPosition | PPosition without clobbering rest of window_prompting.
7c75be36 11127
fdc90613 11128 * keyboard.c (Fcurrent_idle_time): Doc fix.
4521d1fc 11129
fdc90613 11130 * print.c (Fwith_output_to_temp_buffer): Doc fix.
4521d1fc 11131
7357cb04
SM
111322007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
11133
98228e72
SM
11134 * process.c (unwind_request_sigio): Only define if __ultrix__.
11135
1baf6db9
SM
11136 * callproc.c (child_setup): Remove spurious *.
11137
4d0ac3d7
SM
11138 * lisp.h (Fget_text_property): Declare.
11139 (have_menus_p): Declare it here rather than in sys-dep header files.
11140 * macterm.h (have_menus_p):
11141 * msdos.h (have_menus_p):
11142 * xterm.h (have_menus_p): Remove.
11143
7357cb04
SM
11144 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
11145 (Fmake_variable_frame_local): Just check the variable's const-ness
11146 rather than checking nil or t.
11147
866e6dd6
JR
111482007-10-22 Jason Rumney <jasonr@gnu.org>
11149
b00afeae
JR
11150 * w32fns.c: Include math.h.
11151 (w32_abort): Declaration moved to nt/config.nt.
0f7f11b7 11152
c8f7c76b
JR
11153 * s/ms-w32.h (HAVE_STDLIB_H): Define.
11154 (abort): Redefinition moved to nt/config.nt.
11155
866e6dd6
JR
11156 * m/windowsnt.h: Remove.
11157
e79beb56
JB
111582007-10-22 Juanma Barranquero <lekktu@gmail.com>
11159
11160 * emacs.c (Fdump_emacs): Fix typo in message.
11161 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
11162 <installation-directory>: Reflow docstring.
11163
fb30dfd2
JL
111642007-10-22 Juri Linkov <juri@jurta.org>
11165
11166 * minibuf.c: Allow minibuffer default to be a list of default values.
11167 With empty input use the first element of this list as returned default.
e79beb56 11168 (string_to_object)
0f7f11b7 11169 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
fb30dfd2
JL
11170 (read_minibuf): If defalt is cons, set histstring to its car.
11171 (Fread_string): If default_value is cons, set val to its car.
11172 (Fread_buffer): If def is cons, use its car.
11173 (Fcompleting_read): If defalt is cons, set val to its car.
11174
1f163f28
MA
111752007-10-21 Michael Albinus <michael.albinus@gmx.de>
11176
11177 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
11178
db3534c3
JB
111792007-10-20 Juanma Barranquero <lekktu@gmail.com>
11180
11181 * doc.c (Fdocumentation): Check for advice in all cases.
11182
c6f18a07
CY
111832007-10-19 Chong Yidong <cyd@stupidchicken.com>
11184
11185 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
11186
2a1534d3
RS
111872007-10-19 Richard Stallman <rms@gnu.org>
11188
11189 * doc.c (Fdocumentation): Check for and handle an advised function.
11190
7b82c3b6
JB
111912007-10-19 Juanma Barranquero <lekktu@gmail.com>
11192
11193 * process.c (Fset_process_filter): Doc fix.
11194
3278f20e
SM
111952007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
11196
11197 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
11198 which caused key-translation-map to applied repeatedly (thus breaking
11199 double-mode).
11200
99784d63
SM
112012007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
11202
11203 * xselect.c (x_own_selection, x_handle_selection_clear)
11204 (x_clear_frame_selections):
11205 * w32menu.c (list_of_panes, list_of_items):
11206 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
11207 * textprop.c (validate_plist, interval_has_all_properties)
11208 (interval_has_some_properties, interval_has_some_properties_list)
11209 (add_properties, text_property_list):
11210 * process.c (Fget_buffer_process, list_processes_1, status_notify):
11211 * minibuf.c (Fassoc_string):
11212 * macselect.c (x_own_selection, x_clear_frame_selections)
11213 (Fx_disown_selection_internal):
11214 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
11215 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
11216
44bb704d
CY
112172007-10-17 Chong Yidong <cyd@stupidchicken.com>
11218
11219 * process.c: Link to libs for calling res_init() if available.
11220 (Fmake_network_process): Call res_init() before getaddrinfo or
11221 gethostbyname, if possible.
11222
d314756e
SM
112232007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
11224
2504022a
SM
11225 * lread.c (read1): Set pvectype for char_tables.
11226
19fa82b9
SM
11227 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
11228 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
11229 Add type checks.
11230 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
11231
d314756e
SM
11232 * alloc.c (free_misc): Use XMISCTYPE.
11233 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
11234
94b9aaa2
GM
112352007-10-17 Glenn Morris <rgm@gnu.org>
11236
11237 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
11238 (syms_of_minibuf): Add Qcompletion_ignore_case.
11239 * dired.c (Qcompletion_ignore_case): Change to external.
11240 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
11241 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
11242 (Fread_file_name): Use it rather than intern'ing.
11243
11244 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
11245 (Fread_coding_system): Ignore case of user input.
11246
da6658e8
YM
112472007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11248
11249 * xdisp.c (handle_display_prop): Ignore display specs after
11250 replacing one when string text is being replaced.
11251 (handle_single_display_spec): Pretend as if characters with display
11252 property haven't been consumed only when buffer text is being replaced.
11253
11fb4bdb
SM
112542007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
11255
9beb8baa
SM
11256 * xfns.c (Fx_create_frame, Fx_display_list):
11257 * window.c (window_fixed_size_p, enlarge_window)
11258 (shrink_window_lowest_first):
11259 * macterm.c (init_font_name_table):
11260 * macfns.c (Fx_create_frame, Fx_display_list):
11261 * lread.c (close_load_descs):
11262 * keyboard.c (read_char_x_menu_prompt):
11263 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
11264 * coding.c (code_convert_region_unwind): Test the type of an object
11265 rather than just !NILP before extracting data from it.
11266
d3f41ff5
SM
11267 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
11268
67ee9f6e
SM
11269 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
11270 (XMISCANY): New macro.
11271 (XMISCTYPE): Use it.
11272 (struct Lisp_Misc_Any): New type.
11273 (union Lisp_Misc): Use it.
11274 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
11275 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
11276 (find_symbol_value, set_internal, default_value, Fset_default)
11277 (Fmake_variable_buffer_local, Fmake_local_variable)
11278 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
11279 (Flocal_variable_if_set_p, Fvariable_binding_locus):
11280 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
11281 * alloc.c (allocate_buffer): Set the size and tag.
11282 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
11283 Use XMISCANY.
11284 (die): Follow the GNU convention for error messages.
11285 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
11286 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
11287 tag any more.
11288 (set_buffer_internal_1):
11289 * frame.c (store_frame_param):
11290 * eval.c (specbind):
11291 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
11292
11fb4bdb
SM
11293 * doc.c (Fsnarf_documentation): Simplify.
11294
decb374a
JB
112952007-10-14 Juanma Barranquero <lekktu@gmail.com>
11296
11297 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
11298 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
11299
b5a40ee7
SM
113002007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
11301
11302 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
11303
35277b03
JB
113042007-10-14 Juanma Barranquero <lekktu@gmail.com>
11305
11306 * eval.c (do_autoload): Don't save autoloads.
11307
11308 * data.c (Ffset): Save autoload of the function being set.
11309
35fdaa62
GM
113102007-10-07 John Paul Wallington <jpw@pobox.com>
11311
11312 * xfns.c (x_create_tip_frame): Set the `display-type' frame
11313 parameter before setting up faces.
11314
1ea40aa2
EZ
113152007-10-13 Eli Zaretskii <eliz@gnu.org>
11316
35fdaa62 11317 * ccl.c (Fregister_code_conversion_map):
96a5affb
EZ
11318 * keyboard.c (append_tool_bar_item): Reformat last change.
11319
1ea40aa2
EZ
11320 * lisp.h (eabs): Rename from `abs'. All callers changed.
11321
35277b03 113222007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
71d00ce4
EZ
11323
11324 * buffer.c (add_overlay_mod_hooklist):
11325 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
11326 * fontset.c (make_fontset):
11327 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
11328 (append_tool_bar_item):
11329 * macmenu.c (grow_menu_items):
35fdaa62 11330 * w32menu.c (grow_menu_items):
71d00ce4 11331 * xmenu.c (grow_menu_items): Use larger_vector.
35fdaa62 11332
bc82f120
EZ
113332007-10-13 Eli Zaretskii <eliz@gnu.org>
11334
11335 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
11336 selected frame'' on MSDOS).
11337
d57d5a78
MR
113382007-10-12 Martin Rudalics <rudalics@gmx.at>
11339
11340 * frame.c (Qexplicit_name): New variable.
11341 (x_report_frame_params): Report it in parameter alist.
11342 (syms_of_frame): Intern and staticpro it.
11343
35277b03 113442007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
04710ebd
JR
11345
11346 * macfns.c (x_create_tip_frame): Set terminal for frame.
11347
c7a4b95b
SM
113482007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
11349
26f9c7b7
SM
11350 * frame.c (Qenvironment): Remove.
11351 (syms_of_frame) <Qenvironment>: Don't initialize.
11352 (Fdelete_frame): Don't treat the `environment' param specially.
11353 * frame.h (Qenvironment): Don't declare.
11354 * callproc.c (set_initial_environment): Don't set unused frame param.
11355
c7a4b95b
SM
11356 * frame.c (Fframe_with_environment): Remove.
11357 (syms_of_frame) <Sframe_with_environment>: Don't declare.
26f9c7b7 11358
c7a4b95b
SM
11359 * lisp.h (Fframe_with_environment): Don't declare.
11360
c86f7377
JB
113612007-10-10 Juanma Barranquero <lekktu@gmail.com>
11362
11363 * indent.c (indent_tabs_mode, last_known_column)
11364 (last_known_column_modified): Make static.
11365 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
11366
d1b3a122
KY
113672007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
11368
11369 * puresize.h (BASE_PURESIZE): Increase to 1170000.
11370
d57d5a78
MR
113712007-10-09 Jason Rumney <jasonr@gnu.org>
11372
11373 * w32term.c (x_set_window_size): Disable code that attempts to tell
11374 Lisp code about a size change before it actually happens.
11375
81d3d428 113762007-10-09 Richard Stallman <rms@gnu.org>
91175673 11377
81d3d428
MB
11378 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
11379 return HANDLED_RETURN.
91175673 11380
1af74d06 113812007-10-08 Martin Rudalics <rudalics@gmx.at>
4f1b1854 11382
1af74d06
MB
11383 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
11384 when there's an unread command event.
e0fead5d 11385
c7a4b95b 11386 * frame.c (focus_follows_mouse): Move here from frame.el to allow
1af74d06
MB
11387 window autoselection act appropriately when leaving selected frame.
11388 (syms_of_frame): Initialize focus_follows_mouse.
11389 * frame.h (focus_follows_mouse): Extern it.
11390 * macterm.c (XTread_socket): When focus_follows_mouse is nil
c7a4b95b 11391 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
1af74d06
MB
11392 * msdos.c (dos_rawgetc): Likewise.
11393 * w32term.c (w32_read_socket): Likewise.
11394 * xterm.c (handle_one_xevent): Likewise.
11395 * xdisp.c (syms_of_xdisp): In doc-string of
11396 mouse-autoselect-window mention focus-follows-mouse.
e0fead5d 11397
1af74d06 113982007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
e0fead5d 11399
1af74d06
MB
11400 * macterm.c (mac_load_query_font): Fix missing return value.
11401 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
11402 Add BLOCK_INPUT.
c186cdb3 11403
1af74d06 114042007-10-08 Richard Stallman <rms@gnu.org>
c186cdb3 11405
1af74d06
MB
11406 * xdisp.c (get_window_cursor_type): Implement documented behavior
11407 for cursor-in-non-selected-windows = t.
c186cdb3 11408
1af74d06 114092007-10-08 Jason Rumney <jasonr@gnu.org>
c186cdb3 11410
1af74d06 11411 * w32.c (w32_get_resource): Always close registry keys.
58cfce98 11412
1af74d06 114132007-10-08 Jason Rumney <jasonr@gnu.org>
58cfce98 11414
1af74d06 11415 * makefile.w32-in (LIBS): Add COMCTL32.
62854fe2 11416
1af74d06 11417 * w32fns.c (globals_of_w32fns): Init common controls.
62854fe2 11418
1af74d06 114192007-10-08 Richard Stallman <rms@gnu.org>
656f46bb 11420
c7a4b95b 11421 * image.c (our_memory_buffer): Rename from omfib_buffer.
656f46bb 11422
1af74d06 114232007-10-08 Richard Stallman <rms@gnu.org>
656f46bb 11424
1af74d06 11425 * buffer.c (Foverlays_at): Doc fix.
036e218d 11426
1af74d06 114272007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
036e218d 11428
1af74d06 11429 * fns.c (Fplist_put): Preserve uneven tail data.
7ddb2c16 11430
1af74d06 114312007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
7ddb2c16 11432
1af74d06 11433 * termhooks.h (enum event_kind): Remove trailing comma.
ace9b298 11434
1af74d06 11435 * frame.h (enum): Remove trailing comma.
90647b07 11436
8993ad2e 114372007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
90647b07 11438
1af74d06 11439 * w32proc.c (delete_child): Don't terminate threads of zombies.
ace9b298 11440
1af74d06 114412007-10-08 Martin Rudalics <rudalics@gmx.at>
ace9b298 11442
1af74d06 11443 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
ace9b298 11444
1af74d06
MB
11445 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
11446 last-repeatable-command.
11447 (init_kboard): Initialize Vlast_repeatable_command.
11448 (command_loop_1): Set it to real_this_command unless that was
11449 bound to an input event.
11450 (mark_kboards): Mark it.
9fbc32aa 11451
1af74d06 114522007-10-08 Richard Stallman <rms@gnu.org>
036e218d 11453
1af74d06 11454 * eval.c (condition-case): Doc fix.
9fbc32aa 11455
1af74d06 114562007-10-08 Masatake YAMATO <jet@gyve.org>
9fbc32aa 11457
1af74d06
MB
11458 * xfaces.c (tty_supports_face_attributes_p): Fix code
11459 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
11460 was copied and not edited.
9fbc32aa 11461
beb9f745
SM
114622007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
11463
c86f7377 11464 Add new `input-decode-map' keymap and use it for terminal
4f4a84ec
SM
11465 escape sequences.
11466 * keyboard.h (struct kboard): Add Vinput_decode_map.
11467 Remove Vlocal_key_translation_map.
11468 * keyboard.c (read_key_sequence): Add support for input-decode-map.
11469 (init_kboard): Init input-decode-map.
11470 Replace local-key-translation-map back with key-translation-map.
11471 (syms_of_keyboard): Declare input-decode-map.
11472 Remove local-key-translation-map. Update docstrings.
11473 (mark_kboards): Mark Vinput_decode_map.
11474 Don't mark Vlocal_key_translation_map.
11475 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
11476 Replace local-key-translation-map back with key-translation-map.
11477 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
11478 Bind in input-decode-map rather than function-key-map.
11479
beb9f745
SM
11480 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
11481 This was made redundant by the previous introduction of XSETPVECTYPE.
11482
65342ae3
RS
114832007-10-09 Richard Stallman <rms@gnu.org>
11484
beb9f745 11485 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
65342ae3
RS
11486
114872007-09-29 Richard Stallman <rms@gnu.org>
11488
11489 * eval.c (internal_condition_case_2, internal_condition_case_1)
11490 (internal_condition_case): Reenable abort if x_catching_errors ()
11491 to see if that really happens and why.
11492
6cff77fd
AS
114932007-10-06 Andreas Schwab <schwab@suse.de>
11494
11495 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
11496
bbe6f2aa
JB
114972007-10-04 Juanma Barranquero <lekktu@gmail.com>
11498
11499 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
11500
a390930c
SM
115012007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
11502
11503 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
11504
d6aa1876
SM
115052007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
11506
d0fdb6da
SM
11507 * window.h (struct window):
11508 * window.c (struct save_window_data, struct saved_window):
11509 * termhooks.h (struct terminal):
11510 * process.h (struct Lisp_Process):
11511 * frame.h (struct frame):
11512 * buffer.h (struct buffer):
11513 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
11514 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
11515 The size field of (pseudo)vectors is now unsigned.
11516 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
11517
878f97ff
SM
11518 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
11519 Turn `count' into an integer.
d0fdb6da 11520
878f97ff
SM
11521 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
11522 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
11523 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
11524 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
11525 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
11526
d2029e5b
SM
11527 * alloc.c (allocate_pseudovector): New fun.
11528 (ALLOCATE_PSEUDOVECTOR): New macro.
11529 (allocate_window, allocate_terminal, allocate_frame)
11530 (allocate_process): Use it.
11531 (mark_vectorlike): New function.
11532 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
11533 (mark_terminals): Use it.
11534 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
11535 (Fmake_byte_code): Use XSETPVECTYPE.
11536
11537 * frame.c (Fframe_parameters): Minor simplification.
11538
11539 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
11540
11541 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
11542
11543 * buffer.c (Fget_buffer_create, init_buffer_once):
11544 * lread.c (defsubr):
11545 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
11546
11547 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
11548 defined differently in the m/*.h files.
11549 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
11550 (XSETPVECTYPE): New macro.
11551 (XSETPSEUDOVECTOR): Use it.
11552
d6aa1876
SM
11553 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
11554 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
d2029e5b 11555
d6aa1876
SM
11556 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
11557 * lread.c (defvar_per_buffer):
11558 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
11559
11560 * window.c (candidate_window_p): Only consider as visible frames that
11561 are on the same terminal.
11562
11563 * m/ibms390x.h (MARKBIT): Remove unused macro.
11564
88852d45
JB
115652007-10-01 Juanma Barranquero <lekktu@gmail.com>
11566
11567 * lread.c (Fload): Fix typo in docstring.
11568
880820fe 115692007-10-01 Michaël Cadilhac <michael@cadilhac.name>
2742fe30
MC
11570
11571 * floatfns.c (Fexpt): Manually check for overflows, so that a power
11572 of a non-zero value can't yield zero.
11573
ed0c79c6
SM
115742007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
11575
b870aa61
SM
11576 * term.c (term_clear_mouse_face, term_mouse_highlight)
11577 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
11578
4c37a414
SM
11579 * print.c (safe_debug_print): Use XHASH.
11580
b9466edb
SM
11581 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
11582 Lisp elements such as tags.
11583 (XHASH): New macro.
11584 (EQ): Use it.
11585 (SREF, SSET, STRING_COPYIN): Use SDATA.
11586 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
11587
9c545a55
SM
11588 * alloc.c (mark_terminal): Remove left-over declaration.
11589 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
11590 (allocate_vectorlike): Remove type argument. Adjust callers.
11591 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
11592 Only handle the one remaining MEM_TYPE_VECTORLIKE.
11593
dafc79fa
SM
11594 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
11595 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
11596 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
11597 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
11598 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
11599 Use them.
11600
ed0c79c6
SM
11601 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
11602 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
11603 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
11604
3c81afd4
DN
116052007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
11606
11607 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
11608 loaded by default.
11609
6178ce5e
SM
116102007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
11611
4ce5ab77
SM
11612 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
11613 on this tty.
11614 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
11615
6178ce5e
SM
11616 * term.c (mouse_face_window): Rename from Qmouse_face_window.
11617 Update all users.
11618 (handle_one_term_event): Use Gpm_DrawPointer.
11619 (Fgpm_mouse_start): Rename from Fterm_open_connection.
11620 Signal errors instead of returning nil. Always return nil.
11621 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
11622 Make it a noop if gpm-mouse was not activated.
11623 (syms_of_term): Update names.
11624
bdf5f8ef
SM
116252007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
11626
75a8734b
SM
11627 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
11628 (init_sys_modes): Check that gpm_tty is the current tty.
11629
13559ee0
SM
11630 * alloc.c (allocate_terminal): Set the vector size to only count the
11631 lisp fields. Initialize those to nil.
11632 (mark_object): Don't treat terminals specially.
11633 (mark_terminal): Remove.
11634 (mark_terminals): Use mark_object instead.
11635
ff16b875
SM
11636 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
11637 the GC to the beginning.
11638
83155776
SM
11639 * indent.h:
11640 * indent.c: Use EMACS_INT for ints coming from Elisp data.
11641
bdf5f8ef
SM
11642 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
11643
ec8705b6
JR
116442007-09-25 Jason Rumney <jasonr@gnu.org>
11645
11646 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
11647
11648 * w32console.c (create_w32cons_output): Remove.
11649
11650 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
11651
11652 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
11653 (reset_sys_modes): Use reset_terminal_modes_hook.
11654
7351b242
SM
116552007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
11656
11657 * eval.c (do_autoload): Don't output any message.
11658
16706228
JL
116592007-09-24 Juri Linkov <juri@jurta.org>
11660
11661 * emacs.c (standard_args): Change priority of "--no-splash"
11662 from 40 to 3. Add "--no-desktop" with the same priority.
11663
3ae2e3a3
RS
116642007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
11665
11666 * alloc.c (gc_sweep): Check cons cell mark bits word by word
11667 and optimize the case where they are all 1.
11668
7a58fb43
GM
116692007-09-23 Johannes Weiner <hannes@saeurebad.de>
11670
3ae2e3a3
RS
11671 * lisp.h (abs): Define if not defined.
11672 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
11673 Don't define `abs', since it's defined in lisp.h.
7a58fb43 11674
78048085
EZ
116752007-09-22 Eli Zaretskii <eliz@gnu.org>
11676
c7a4b95b 11677 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
78048085
EZ
11678 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
11679 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
11680 (init_tty): Use DEV_TTY instead of "/dev/tty".
11681 [WINDOWSNT]: No need to protect from NAME arg being null.
11682
23d4cba5
DN
116832007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
11684
11685 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
11686 up the tty state.
11687
71f44e7a
SM
116882007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
11689
11690 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
11691 (gpm_tty): Change its type.
11692 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
11693 (gpm_tty): Change its type and initialize it.
11694 (Fterm_open_connection): Check the frame is indeed a tty.
11695 Use the new gpm_tty.
11696 (Fterm_close_connection): Use the new gpm_tty.
11697 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
11698 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
11699
def7fa34
JB
117002007-09-21 Juanma Barranquero <lekktu@gmail.com>
11701
11702 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
11703 underline_color, to draw strike-through.
11704
d2bb6598
SM
117052007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
11706
273f164c
SM
11707 * lisp.h (allocate_terminal): Declare.
11708
ca2d5566
SM
11709 * window.c (candidate_window_p): Consider frames that are being placed
11710 by the user as somewhere between visible and iconified.
11711 (window_loop): Prefer windows on the current frame.
11712 (Fselect_window): Move the use of select-frame to the beginning so we
11713 can just delegate all the work (it'll call us back anyway).
11714
6168122d
SM
11715 * frame.c (Qdisplay_environment_variable):
11716 * frame.h (Qdisplay_environment_variable): Delete.
11717
c51842ec
SM
11718 * .gdbinit (xbacktrace): Print the arg's address rather than the value
11719 of the first arg, since that value may be a union.
11720
d2bb6598
SM
11721 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
11722 parameter rather than Qdisplay_environment_variable. If all else
11723 fails, look for DISPLAY in initial-environment.
11724
6f022c19
GM
117252007-09-21 Glenn Morris <rgm@gnu.org>
11726
11727 * Makefile.in (emacstool): Remove target.
f466320b 11728 (lisp, shortlisp): Remove termdev.elc.
6f022c19 11729
ea1bf8c7
GM
117302007-09-21 Markus Triska <markus.triska@gmx.at>
11731
d2bb6598 11732 * xterm.c (x_delete_display): Compile session management conditionally.
ea1bf8c7 11733
d30a25b3
SM
117342007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
11735
db699fc6
SM
11736 * callproc.c (getenv_internal_1): New function.
11737 (getenv_internal): Use it.
11738 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
11739
d2bb6598 11740 * terminal.c (get_terminal): Don't accept ints to represent terminals.
c5911e55
SM
11741 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
11742 (Fset_terminal_parameter): Work with dead terminals as well.
11743 (Fmodify_terminal_parameters): Remove.
11744
d30a25b3
SM
11745 * terminal.c (get_terminal): Handle terminals.
11746 Make sure the terminal returned is live.
11747 (create_terminal): Use allocate_terminal.
11748 (mark_terminals): Move to alloc.c.
11749 (delete_terminal): Use terminal->name as liveness status.
11750 NULL out fields after freeing their contents.
11751 Don't deallocate the object.
11752 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
11753 rather than an int.
11754 (Fterminal_live_p): Accept non-integer arguments.
11755 (Fterminal_list): Return terminal objects rather than an ints.
11756
11757 * alloc.c (enum mem_type): New member for `terminal' objects.
11758 (allocate_terminal): New function.
d2bb6598
SM
11759 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
11760 Handle terminals.
d30a25b3
SM
11761 (mark_terminal): New fun.
11762 (mark_terminals): Move from terminal.c.
11763
11764 * term.c (get_tty_terminal): Don't treat output_initial specially.
11765 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
11766 (delete_tty): Use terminal->name as liveness status.
11767
11768 * termhooks.h (struct terminal): Make it into a pseudovector.
11769 Remove `deleted' replaced by checking `name's nullness.
11770
11771 * print.c (print_object): Handle terminals.
11772
11773 * lisp.h (enum pvec_type): New `terminal' pseudovector.
11774 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
11775
11776 * frame.c (make_terminal_frame):
11777 * keyboard.c (tty_read_avail_input):
11778 * w32term.c (x_delete_terminal):
11779 * xfns.c (Fx_create_frame, x_create_tip_frame):
11780 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
11781
eba25e7c
GM
117822007-09-20 Glenn Morris <rgm@gnu.org>
11783
11784 * process.c (Fmake_network_process): Doc fix.
11785
2a29c3c1
JR
117862007-09-19 Jason Rumney <jasonr@gnu.org>
11787
11788 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
11789
880820fe 117902007-09-19 Michaël Cadilhac <michael@cadilhac.name>
ba1cbad7
MC
11791
11792 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
11793 Fix a C warning regarding variable constness.
11794
11795 * xterm.c (handle_one_xevent): Fix a C warning.
11796
334a1195
JR
117972007-09-18 Jason Rumney <jasonr@gnu.org>
11798
11799 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
11800
880820fe 118012007-09-17 Jan Djärv <jan.h.d@swipnet.se>
879ffad9
JD
11802
11803 * gtkutil.c (gdpy_def): New variable.
11804 (xg_initialize): Initialize gdpy_def.
11805 (xg_display_close): If no other display exists, set gdpy_def to a
11806 new connection.
11807
880820fe 118082007-09-16 Jan Djärv <jan.h.d@swipnet.se>
45c94881
JD
11809
11810 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
11811 when we have no file name for the icon.
11812 (xg_tool_bar_expose_callback): Remove.
11813 (xg_create_tool_bar): Don't connect expose signal to
11814 xg_tool_bar_expose_callback.
11815 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
11816
4d580af2
AS
118172007-09-16 Andreas Schwab <schwab@suse.de>
11818
11819 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
11820 values instead of zapping them.
11821
aca946f3
GM
118222007-09-14 Glenn Morris <rgm@gnu.org>
11823
11824 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
11825 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
11826 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
11827 scope and rename to omfib_buffer for clarity.
11828 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
11829
25c460e5
KH
118302007-09-14 Kenichi Handa <handa@m17n.org>
11831
11832 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
11833
09b69f01
JR
118342007-09-13 Jason Rumney <jasonr@gnu.org>
11835
11836 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
11837
11838 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
11839
11840 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
11841 (mac_term_init): Call here instead, passing rif.
11842
442218db
GM
118432007-09-13 Glenn Morris <rgm@gnu.org>
11844
11845 * s/hpux.h: No longer define `static' as nothing.
11846
880820fe 118472007-09-13 Johan Bockgård <bojohan@gnu.org>
4795c40f
GM
11848
11849 * callint.c (Fcall_interactively): Remove unused var `fun'.
11850
1971a872
RF
118512007-09-12 Romain Francoise <romain@orebokech.com>
11852
11853 * window.c (prefer_window_split_horizontally, display_buffer):
11854 Revert 2007-09-08 change.
11855
2d33f506
GM
118562007-09-12 Glenn Morris <rgm@gnu.org>
11857
585474ae 11858 * alloca.c: Remove file.
ca7af97a
GM
11859 * Makefile.in (alloca): Do not undef.
11860 (allocaobj, alloca.o): Remove.
11861 (otherobj): Remove allocaobj.
11862 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
11863 * regex.c (C_ALLOCA): Remove all references and code that was only
11864 used when this was defined.
11865 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
11866 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
99dfbaf1
GM
11867 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
11868
2d33f506 11869 * Makefile.in (SOURCES, unlock, relock): Delete.
ca7af97a
GM
11870
11871 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
11872 (menu_grab_callback): All uses changed.
11873
11874 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
11875 (x_reply_selection_request): All uses changed.
2d33f506 11876
18a4a65e
SM
118772007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
11878
11879 * lread.c (load_warn_old_style_backquotes): Change message to look
11880 better when it appears in the middle of byte-compiler messages.
11881
47cc8819
DN
118822007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
11883
b7ea0894
DN
11884 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
11885
47cc8819
DN
11886 * xterm.c (x_create_terminal): Add comment.
11887
11888 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
11889
5632bd0f
RS
118902007-09-10 Richard Stallman <rms@gnu.org>
11891
11892 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
11893
880820fe 118942007-09-10 Michaël Cadilhac <michael@cadilhac.name>
ccb5c14f 11895
4bca9161
MC
11896 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
11897 (DEFUN): Document `intspec', use it instead of `prompt'.
11898
04724b69
MC
11899 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
11900
8a6d230a
MC
11901 * data.c (Finteractive_form): If the interactive specification starts
11902 with a `(', use it as a Lisp form.
11903
09fbdf6c
MC
11904 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
11905 name and file modes.
11906
ccb5c14f
MC
11907 * callint.c (Fcall_interactively): Comment fixes.
11908
023accd6
SM
119092007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
11910
11911 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
11912 and compiled functions.
11913
f26b9544
EZ
119142007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
11915
11916 * window.c (prefer_window_split_horizontally): New variable.
11917 (display_buffer): Consider splitting window horizontally depending
11918 on prefer_window_split_horizontally.
11919
4d395425
EZ
119202007-09-08 Eli Zaretskii <eliz@gnu.org>
11921
97ddc760 11922 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
4d395425 11923
08c1d235
SM
119242007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
11925
179cef48
SM
11926 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
11927
08c1d235
SM
11928 * frame.c (x_set_frame_parameters): Check number is positive before
11929 using XFASTINT.
11930
11931 * window.c (freeze_window_start): Don't presume selected_window holds
11932 a window object.
92f94a12 11933 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
08c1d235 11934
97ddc760 119352007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
de52dcbb
DN
11936
11937 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
11938
90ab5c62
SM
119392007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
11940
11941 * window.c (Vsplit_window_preferred_function): New var.
11942 (Fdisplay_buffer): Use it.
11943 (syms_of_window): Export, and initialize it.
11944
1ab2cd43
TTN
119452007-09-06 Pixel <pixel@mandriva.com> (tiny change)
11946
11947 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
11948
0b0515bc
GM
119492007-09-06 Glenn Morris <rgm@gnu.org>
11950
57fd5c55 11951 * gtkutil.c (menu_grab_callback) <cnt>:
0b0515bc
GM
11952 * xselect.c (x_reply_selection_request) <cnt>: Move static
11953 variable to file scope.
11954
98594580
SM
119552007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
11956
11957 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
11958 consistent values of selected_frame and selected_window.
11959
0f4c7aef
JR
119602007-09-04 Jason Rumney <jasonr@gnu.org>
11961
11962 * w32console.c (initialize_w32_display): Zero unused hooks.
11963
e4019195
DN
119642007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
11965
11966 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
11967 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
11968
bce179b5
JR
119692007-09-04 Jason Rumney <jasonr@gnu.org>
11970
a0236551
JR
11971 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
11972 in w32console.c. Set up input. Remove XXX comments that have been
11973 confirmed as correct.
11974
a4926668
JR
11975 * s/ms-w32.h (MULTI_KBOARD): Define.
11976
953bf0dc
JR
11977 * w32console.c (one_and_only_w32cons): Remove.
11978 (initialize_w32_display): Take terminal argument.
11979
11980 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
11981 initialize_w32_display.
11982 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
11983
bce179b5
JR
11984 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
11985
11986 * keyboard.c (discard_mouse_events): Discard it.
11987 (make_lispy_event): Translate it to a lisp event.
11988 (lispy_wheel_names): Add wheel-left and right events.
11989 (syms_of_keyboard): Enlarge wheel_syms.
11990
11991 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
11992 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
11993
11994 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
11995
11996 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
11997 from WM_MOUSEHWHEEL.
11998 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
11999
12000 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
12001 terminal.
12002
12003 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
12004 keyboard for the terminal.
12005
92cd6a7c
DN
120062007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
12007
12008 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
12009 (Vresume_tty_hook): Rename from Vresume_tty_functions.
12010 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
12011 and resume-tty-function to resume-tty-hook.
12012 (Fsuspend_tty, Fresume_tty): Use new names.
12013
880820fe 120142007-09-02 Jan Djärv <jan.h.d@swipnet.se>
2154c964
JD
12015
12016 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
12017 if it starts with "n:".
12018
880820fe 120192007-08-31 Jan Djärv <jan.h.d@swipnet.se>
b42ff099
JD
12020
12021 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
12022
6b8e474c
SM
120232007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
12024
92d9c1d4
SM
12025 * frame.h:
12026 * frame.c (Qterm_environment_variable): Remove.
12027 (syms_of_frame): Don't init and staticpro it.
12028
92d9c1d4
SM
12029 * callproc.c (getenv_internal): Remove special case for $TERM.
12030
6b8e474c
SM
12031 * callproc.c (Vinitial_environment): New variable.
12032 (set_initial_environment): Initialize it.
12033 (syms_of_callproc): Declare it.
12034 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
12035 TERM under which a process runs is never related to the TERM in which
12036 Emacs is running.
12037
0f1444e1
DN
120382007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
12039
12040 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
12041 * s/darwin.h: ... do it here.
12042
b8866860
SM
120432007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
12044
12045 * lisp.h (set_initial_environment): Rename from set_global_environment.
12046
12047 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
12048 removed by mistake on the multi-tty branch.
12049
12050 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
12051 (Fmodify_frame_parameters): Return a value.
12052
12053 * image.c (png_load): Comment-out var only used in commented-out code.
12054
12055 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
12056 before passing it to mark_object.
12057
12058 * xfaces.c (internal_resolve_face_name): Return a value.
12059 (internal_resolve_face_name, resolve_face_name_error): Comment out.
12060
12061 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
12062 (x_icon): Comment-out var only used in commented-out code.
12063
0a42be6d
RF
120642007-08-29 Romain Francoise <romain@orebokech.com>
12065
12066 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
12067 QUIT hasn't been provided.
12068
8d9cc0b7
MB
120692007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
12070
12071 * callproc.c (child_setup, getenv_internal): Use the
ce20b664 12072 display-environment-variable and term-environment-variable frame params.
8d9cc0b7
MB
12073 (set_initial_environment): Initialise Vprocess_environment.
12074
12075 * config.in: Disable multi-keyboard support on a mac.
12076
12077 * frame.c (Qterm_environment_variable)
12078 (Qdisplay_environment_variable): New variables.
12079 (syms_of_frame): Intern and staticpro them.
12080 (Fmake_terminal_frame): Disable output method test.
12081
12082 * frame.h: Declare them here.
12083
12084 * macfns.c (x_set_mouse_color): Get rif from the frame.
12085 (x_set_tool_bar_lines): Don't use updating_frame.
12086 (mac_window): Add 2 new parameters for consistency with other systems.
12087 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
12088 frame parameters following what is done in X11 and w32. Don't use
12089 FRAME_MAC_DISPLAY_INFO.
12090 (Fx_open_connection, start_hourglass): Remove window-system check.
12091 (x_create_tip_frame): Get the keyboard from the terminal.
12092
12093 * macmenu.c: Reorder includes.
12094 (Fx_popup_menu): Use terminal specific mouse_position_hook.
12095
12096 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
12097 terminal parameter.
12098 (x_clear_frame): Add a frame parameter.
12099 (note_mouse_movement): Get rif from the frame.
12100 (mac_term_init): Initialize the terminal.
12101 (mac_initialize): Make static and move terminal initialization ...
12102 (mac_create_terminal): ... to this new function.
12103
12104 * macterm.h (struct mac_display_info): Add terminal.
7196c970 12105 (mac_initialize): Delete declaration.
8d9cc0b7 12106
381864b2 12107 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
8d9cc0b7
MB
12108
12109 * sysdep.c: Comment out text after #endif.
12110
12111 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
12112 is defined. Better initialize ttys in windows. Use terminal
12113 specific mouse_position_hook.
12114
12115 * termhooks.h (union display_info): Add mac_display_info.
12116
b8866860
SM
12117 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
12118 Set the default minibuffer frame, window_system and the rest of the
8d9cc0b7
MB
12119 frame parameters following what is done in X11.
12120
12121 * w32term.c (w32_initialize): Make static.
12122
12123 * xselect.c (x_handle_selection_clear): Only access
12124 terminal->kboard when MULTI_KBOARD is defined.
12125
12126 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
12127 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
12128
121292007-08-29 Jason Rumney <jasonr@gnu.org>
12130
12131 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
12132 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
12133
12134 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
12135 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
12136
12137 * keyboard.c (restore_kboard_configuration): Only define when
12138 MULTI_KBOARD defined.
12139
35277b03 12140 * makefile.w32-in: Update dependancies from Makefile.in.
8d9cc0b7
MB
12141 (OBJ1): Add terminal.$(O)
12142
b8866860
SM
12143 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
12144 Don't define function body.
8d9cc0b7
MB
12145 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
12146
12147 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
12148
12149 * w32.c (request_sigio, unrequest_sigio): Remove.
12150
12151 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
12152 (w32con_clear_frame, w32con_clear_end_of_line)
12153 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
12154 (w32con_delete_glyphs, w32con_set_terminal_window)
12155 (scroll_line, w32_sys_ring_bell): Add frame arg.
b8866860
SM
12156 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
12157 Add terminal arg.
8d9cc0b7
MB
12158 (PICK_FRAME): Remove.
12159 (w32con_write_glyphs): Use frame specific terminal coding.
12160 (one_and_only_w32cons): New global variable.
12161 (initialize_w32_display): Use it for storing hooks.
12162 (create_w32cons_output): New function.
12163
12164 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
12165 arg a frame.
12166
b8866860
SM
12167 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
12168 Set window_system.
8d9cc0b7
MB
12169 (x_set_tool_bar_lines): Don't use updating_frame.
12170 (Fx_create_frame): Set terminal and ref count.
12171 (Fx_open_connection): Remove window-system check.
12172
12173 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
12174
12175 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
12176 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
12177 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
12178 Add frame arg.
12179 (x_delete_terminal, w32_create_terminal): New functions.
12180 (w32_term_init): Create a terminal.
12181 (w32_initialize): Move terminal specific initialization to
12182 w32_create_terminal.
12183
b8866860 12184 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
8d9cc0b7
MB
12185 (w32_clear_rect, w32_clear_area): Use background from frame.
12186 (w32_display_info): Add terminal.
12187 (w32_sys_ring_bell, x_delete_display): Declare here.
12188
12189 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
12190
12191 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
12192
121932007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
12194
12195 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
12196 Fix get_named_tty calls for the controlling tty.
12197
121982007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
12199
12200 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
12201
122022007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
12203
12204 * term.c (tty_insert_glyphs): Add missing first parameter.
12205
880820fe 122062007-08-29 Károly Lőrentey <karoly@lorentey.hu>
8d9cc0b7 12207
b8866860
SM
12208 * buffer.c (Fbuffer_list, Fbury_buffer):
12209 Take frame->buried_buffer_list into account.
8d9cc0b7
MB
12210
12211 * cm.c (current_tty): New variable, for cmputc().
12212 (cmputc): Use it.
12213 (cmcheckmagic): Add tty parameter, look up terminal streams there.
12214 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
b8866860
SM
12215 (cmgoto): Add tty parameter. Pass it on to calccost().
12216 Use emacs_tputs() instead of tputs().
8d9cc0b7
MB
12217
12218 * cm.h (emacs_tputs): New macro to set current_tty, and then call
12219 tputs().
12220 (current_tty): New variable, for cmputc().
12221 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
12222
12223 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
12224 (internal_condition_case, internal_condition_case_1)
12225 (internal_condition_case_2): Don't abort when x_catching_errors.
12226
12227 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
12228 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
12229 prevent crashes caused by bogus longjmps in read_char.
12230
12231 * keymap.h (Fset_keymap_parent): Add EXFUN.
12232
12233 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
12234 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
12235 Remove redundant definition.
12236
b8866860
SM
12237 * macfns.c (x_set_mouse_color, x_make_gc):
12238 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7 12239
b8866860
SM
12240 * w32term.c (x_free_frame_resources):
12241 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
12242 (w32_initialize): Use the accessor macros for terminal characteristics.
12243
12244 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
12245 Use the accessor macros for terminal characteristics.
12246 * msdos.c (internal_terminal_init): Use the accessor macros for
12247 terminal characteristics.
b8866860
SM
12248 (ScreenVisualBell, internal_terminal_init):
12249 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
12250
12251 * termopts.h (no_redraw_on_reenter): Declare.
12252
12253 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
03f06e5c 12254 (mark_terminals, mark_ttys): Declare.
8d9cc0b7 12255 (Fgarbage_collect): Call them.
03f06e5c 12256 (mark_object): Mark buried_buffer_list.
8d9cc0b7
MB
12257
12258 * prefix-args.c: Include stdlib.h for exit.
12259
12260 * syssignal.h: Add comment.
12261
12262 * indent.c: Include stdio.h.
12263
12264 * window.h (Vinitial_window_system): Declare.
12265 (Vwindow_system): Delete declaration.
12266
12267 * fontset.c (Finternal_char_font): Use FRAME_RIF.
12268
12269 * image.c (lookup_image): Don't initialize `c' until the xasserts
12270 have been run.
12271
12272 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
12273 FRAME_FOREGROUND_PIXEL.
12274
12275 * print.c (print_preprocess): Don't lose print_depth levels while
12276 iterating.
12277
b8866860
SM
12278 * widget.c (update_from_various_frame_slots):
12279 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
12280
12281 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
12282 frames.
12283 (window_internal_height): Remove bogus make_number call.
b8866860 12284 (init_window_once): Call make_terminal_frame with two zero parameters.
8d9cc0b7
MB
12285
12286 * fileio.c (Fread_file_name): Update comment.
12287
b8866860
SM
12288 * callint.c (Fcall_interactively):
12289 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
8d9cc0b7
MB
12290 Make sure it is correctly unwound.
12291
12292 * xsmfns.c (x_session_close): New function.
12293
03f06e5c 12294 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
8d9cc0b7
MB
12295 Delete declarations.
12296
12297 * xterm.h: Remove declaration for x_fully_uncatch_errors.
12298 (x_output): Remove background_pixel and foreground_pixel fields.
03f06e5c 12299 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
c3f9fba8 12300 (x_delete_device, x_session_close): Declare.
8d9cc0b7
MB
12301
12302 * lread.c: Include setjmp.h. Update declaration of `read_char'.
12303 (read_filtered_event): Call `read_char' with a local
12304 `wrong_kboard_jmpbuf'.
12305
b8866860
SM
12306 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
12307 Don't call single_kboard_state. Use FRAME_RIF.
8d9cc0b7
MB
12308
12309 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
12310 systems.
12311
b8866860 12312 * lisp.h (set_process_environment): Rename to `set_global_environment'.
03f06e5c 12313 (Fframe_with_environment, Fset_input_meta_mode)
8d9cc0b7 12314 (Fset_quit_char): EXFUN.
03f06e5c 12315 (x_create_device, tty_output, terminal, tty_display_info): Declare.
8d9cc0b7
MB
12316 (init_sys_modes, reset_sys_modes): Update prototypes.
12317 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
12318
b8866860
SM
12319 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
12320 Vlocal_key_translation_map, and Vkeyboard_translate_table.
03f06e5c 12321 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
8d9cc0b7 12322 Delete declarations.
03f06e5c
JB
12323 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
12324 (temporarily_switch_to_single_kboard, tty_read_avail_input):
8d9cc0b7
MB
12325 New declarations.
12326
12327 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
12328 already does that during init_display(). Call syms_of_keymap
b8866860
SM
12329 before syms_of_keyboard. Call `syms_of_terminal'.
12330 Call set_initial_environment, not set_process_environment.
8d9cc0b7
MB
12331 (shut_down_emacs): Call reset_all_sys_modes() instead of
12332 reset_sys_modes().
12333
12334 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
03f06e5c
JB
12335 (internal_resolve_face_name, resolve_face_name_error): New functions.
12336 (resolve_face_name): Protect against loops and errors thrown by Fget.
12337 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
8d9cc0b7
MB
12338 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
12339
12340 * scroll.c: Replace CURTTY() with local variables throughout the
12341 file (where applicable).
12342 (calculate_scrolling, calculate_direct_scrolling)
12343 (scrolling_1, scroll_cost): Use the accessor macros for terminal
12344 characteristics.
12345
12346 * keymap.c (Vfunction_key_map): Remove.
b8866860 12347 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
8d9cc0b7
MB
12348 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
12349 (Vkey_translation_map): Remove.
12350 (syms_of_keymap): Remove DEFVAR for key-translation-map.
c3f9fba8 12351 (Fdescribe_buffer_bindings)
8d9cc0b7
MB
12352 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
12353 Update for terminal-local key-translation-map.
12354
12355 * Makefile.in (callproc.o): Update dependencies.
12356 (lisp, shortlisp): Add termdev.elc.
12357 (obj): Add terminal.o.
12358 (terminal.o): Add dependencies.
12359 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
12360 (data.o, fns.o): Add termhooks.h dependency.
12361 (SOME_MACHINE_LISP): Add dnd.elc.
12362 (minibuf.o): Fix typo.
12363 Update dependencies.
12364
12365 * data.c (do_symval_forwarding, store_symval_forwarding)
12366 (find_symbol_value): Use the selected frame's keyboard, not
12367 current_kboard.
12368
12369 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
12370 Vwindow_system.
12371
12372 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
12373 Fmenu_bar_open.
12374 (syms_of_xmenu): Update defsubr.
12375 (mouse_position_for_popup, Fx_popup_menu)
12376 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
12377 (set_frame_menubar, free_frame_menubar)
12378 (create_and_show_popup_menu, xmenu_show, )
12379 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
12380 an X frame.
12381
12382 * xselect.c (x_own_selection): Abort if not an X frame.
12383 (some_frame_on_display): Check if it is an X frame.
12384 (x_handle_selection_clear): Deal with MULTI_KBOARD.
12385
12386 * coding.c: Include frame.h and termhooks.h.
03f06e5c 12387 (terminal_coding, keyboard_coding): Delete.
c3f9fba8
JB
12388 (Fset_terminal_coding_system_internal)
12389 (Fset_keyboard_coding_system_internal)
12390 (Fkeyboard_coding_system)
03f06e5c
JB
12391 (Fterminal_coding_system): Add a terminal parameter.
12392 Get terminal_coding from the terminal.
8d9cc0b7
MB
12393 (init_coding_once): Don't call setup_coding_system here.
12394
12395 * dispextern.h (set_scroll_region, turn_off_insert)
12396 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
12397 (tty_clear_end_of_line, tty_setup_colors)
03f06e5c 12398 (delete_tty, updating_frame)
8d9cc0b7
MB
12399 (produce_special_glyphs, produce_glyphs, write_glyphs)
12400 (insert_glyphs): Remove.
12401 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
03f06e5c 12402 (tty_turn_off_highlight, get_tty_size): Add declaration.
b8866860 12403 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
8d9cc0b7
MB
12404
12405 * frame.h (enum output_method): Add output_initial.
12406 (struct x_output): Delete.
b8866860
SM
12407 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
12408 Access foreground_pixel and background_pixel directly from the frame.
8d9cc0b7
MB
12409 (tty_display): Delete.
12410 (struct frame): Add buried_buffer_list, foreground_pixel,
1f204af3 12411 background_pixel and terminal. Delete kboard.
8d9cc0b7
MB
12412 (union output_data): Add tty.
12413 (FRAME_KBOARD): Get the kboard from the terminal.
12414 (FRAME_INITIAL_P): New macro.
12415 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
12416 (Qterm_environment_variable, Qdisplay_environment_variable)
b8866860
SM
12417 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
12418 New declarations.
8d9cc0b7
MB
12419
12420 * termchar.h (tty_output, tty_display_info): New structures.
12421 (tty_list): Declare.
12422 (FRAME_TTY, CURTTY): New macros.
12423 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
12424 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
12425 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
12426 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
12427
12428 * callproc.c: Include frame.h and termhooks.h, for terminal
12429 parameters.
12430 (add_env): New function.
12431 (child_setup): Use it.
b8866860 12432 (child_setup, getenv_internal): Handle the new Vprocess_environment.
8d9cc0b7
MB
12433 (getenv_internal): Fix get_terminal_param call.
12434 (Fgetenv_internal, egetenv): Update doc.
12435 (syms_of_callproc): Initialize Vprocess_environment to nil.
03f06e5c 12436 Register and initialize them. Remove obsolete defvars. Update doc
8d9cc0b7
MB
12437 strings.
12438 (child_setup): Handle Vlocal_environment_variables.
b8866860
SM
12439 (getenv_internal): Add terminal parameter.
12440 Handle Vlocal_environment_variables.
8d9cc0b7
MB
12441 (Fgetenv_internal): Add terminal parameter.
12442 (child_setup, getenv_internal, Fgetenv_internal): Store the local
b8866860 12443 environment in a frame (not terminal) parameter. Update doc strings.
8d9cc0b7
MB
12444 (set_initial_environment): Rename from set_global_environment.
12445 Store Emacs environment in initial frame parameter.
12446
12447 * xdisp.c (redisplay_internal): Update references to
12448 `previous_terminal_frame'.
12449 (display_mode_line, Fformat_mode_line): Replace calls to
12450 `push_frame_kboard' with `push_kboard'.
12451 (get_glyph_string_clip_rects): Add extra parentheses and
12452 braces to prevent compiler warnings.
12453 (calc_pixel_width_or_height): Add xassert to check that the
12454 frame is alive. Don't call `lookup_image' on a termcap frame.
12455 (message2_nolog, message3_nolog, redisplay_internal)
12456 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
12457 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
12458 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
12459 (Fx_display_pixel_width, Fx_display_pixel_height)
12460 (Fx_display_planes, Fx_display_color_cells)
12461 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
12462 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
12463 (Fx_display_backing_store, Fx_display_visual_class)
12464 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
97ddc760 12465 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
8d9cc0b7
MB
12466
12467 * xfns.c (x_set_foreground_color x_set_background_color)
b8866860
SM
12468 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
12469 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
12470 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
12471 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
12472 terminal that is being deleted.
12473 (Fx_create_frame): Use `store_frame_param' to set `window-system'
b8866860 12474 frame parameter, and make sure it overrides any user-supplied setting.
8d9cc0b7
MB
12475 (Fx_close_connection, Fx_synchronize): Unify argument names with
12476 the rest of the DEFUNs.
12477
12478 * dispnew.c (Fsend_string_to_terminal): Update call to
12479 `get_tty_terminal'.
12480 (Fredraw_frame, Fsend_string_to_terminal)
2d33f506 12481 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
8d9cc0b7
MB
12482 FRAME_TERMCAP_P and FRAME_TTY.
12483 (window_change_signal): Don't believe width/height values that are
12484 impossibly small.
12485 (Vinitial_window_system): Rename from Vwindow_system.
12486 (termscript, Wcm, rif): Delete.
12487
12488 * termhooks.h (struct terminal): New struct containing the
12489 previously global text display hooks and new members NAME,
12490 DELETED and PARAM_ALIST.
12491 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
12492 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
12493 (FRAME_RIF): New macros.
12494 (get_terminal_param, get_device): New declarations.
12495 (termscript): Delete declaration.
12496
12497 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
12498 (XTflash, x_free_frame_resources, x_scroll_bar_create)
12499 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
12500 FRAME_FOREGROUND_PIXEL.
12501 (x_fully_uncatch_errors): Disable definition.
12502 (x_scroll_bar_expose): Fix reference to foreground pixel.
12503 (XTread_socket): Disable loop on all X displays.
12504 (x_delete_terminal): Don't set terminal->deleted and let
12505 delete_terminal delete the frames on the terminal.
12506 (x_delete_display): Doc update to reflect changes in
12507 delete_terminal.
12508 (x_display_info) <terminal>: Move member earlier in the struct.
8d9cc0b7
MB
12509 (deleting_tty): Remove old variable.
12510 (Fsuspend_tty): Call clear_tty_hooks.
12511 (Fresume_tty, init_tty): Call set_tty_hooks.
8d9cc0b7
MB
12512 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
12513 errors on X frames.
12514 (x_catch_errors_unwind): Abort if x_error_message is NULL.
12515 (handle_one_xevent): Initialize `f' to NULL.
9cab96b0 12516 (x_delete_terminal, x_create_terminal): New functions.
8d9cc0b7
MB
12517 (XTset_terminal_modes, XTreset_terminal_modes)
12518 (XTread_socket, x_connection_closed, x_term_init)
12519 (x_term_init, x_delete_display): Add terminal parameter.
12520 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
12521 X connections.
12522
bf380f53
GM
12523 * frame.c: Include termchar.h.
12524 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
12525 (Qwindow_system, Qenvironment, Qterm_environment_variable)
12526 (Qdisplay_environment_variable): New vars.
12527 (Fframep): Deal with output_initial.
12528 (Fframe-live-p): Doc fix.
12529 (Fwindow-system): New function.
8d9cc0b7
MB
12530 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
12531 (make_terminal_frame): Don't create frames on a terminal that is
bf380f53 12532 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
b8866860 12533 (store_frame_param): Check for found_for_frame before calling XFRAME.
8d9cc0b7
MB
12534 (Fmake_terminal_frame): Handle NULL tty names correctly.
12535 (syms_of_frame): Enhance doc string of `default-frame-alist'.
bf380f53
GM
12536 (Fdelete_frame): Remove unused variable `count'. Don't allow other
12537 frames to refer to a deleted frame in their 'environment parameter.
8d9cc0b7 12538 (Fframe_with_environment): New function.
b8866860 12539 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
8d9cc0b7
MB
12540 (get_future_frame_param): New function.
12541 (Fmake_terminal_frame): Use it.
2d33f506 12542 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
8d9cc0b7
MB
12543
12544 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
12545 * sysdep.c (reset_sys_modes): Update for renames.
12546
12547 * keyboard.c (tty_read_avail_input): New function.
03f06e5c 12548 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
8d9cc0b7
MB
12549 (syms_of_keyboard): Defsubr them.
12550 (Fset_input_meta_mode, Fset_quit_char): New functions.
12551 (Fset_input_mode): Split to above functions.
8d9cc0b7
MB
12552 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
12553 parameter. Use it in call to `read_char'.
b8866860
SM
12554 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
12555 Set wrong_kboard_jmpbuf correctly in recursive calls.
12556 Use current_kboard to access Vkeyboard_translate_table.
12557 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
12558 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
12559 Update longjmp invocations. Remember the original current_kboard,
12560 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
12561 changes it. Comment out unnecessary calls to
12562 `record_single_kboard_state' and `any_kboard_state'.
12563 Update recursive calls.
8d9cc0b7
MB
12564 (wrong_kboard_jmpbuf): Remove global variable.
12565 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
12566 Handle deleted interrupted_kboards correctly; that is a legal
12567 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
b8866860 12568 and read_char calls. Abort if interrupted_kboard died in read_char.
8d9cc0b7
MB
12569 (any_kboard_state, single_kboard_state)
12570 (push_frame_kboard): Remove function.
12571 (pop_kboard): Switch out of single_kboard mode if the kboard has
03f06e5c
JB
12572 been deleted. Remove unused variable. Help debugging by not
12573 changing current_kboard unnecessarily. Set current_kboard to the
8d9cc0b7
MB
12574 kboard of the selected frame when the stored kboard object has
12575 been deleted before pop_kboard.
12576 (temporarily_switch_to_single_kboard): Change first parameter to a
12577 frame pointer. Throw an error when caller wants to change kboards
12578 while in single_kboard mode. Don't push_kboard if we weren't in
12579 single kboard state. Don't pop_kboard if we popped into any
12580 kboard state.
12581 (restore_kboard_configuration): Abort if pop_kboard changed the
03f06e5c 12582 kboard in single_kboard mode. Call pop_kboard only after setting
8d9cc0b7
MB
12583 up single_kboard mode.
12584 (Frecursive_edit): Switch to single_kboard mode only in nested
12585 command loops.
b8866860
SM
12586 (cmd_error, command_loop, command_loop_1, timer_check):
12587 Comment out unnecessary call to `any_kboard_state' and
8d9cc0b7
MB
12588 `record_single_kboard_state'.
12589 (delete_kboard): Exit single_kboard mode if we have just deleted
03f06e5c 12590 that kboard. Use FRAME_KBOARD.
8d9cc0b7
MB
12591 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
12592 `fatal_error_signal'.
12593 (record_single_kboard_state): Don't push_kboard if we weren't in
12594 single kboard state. Don't pop_kboard if we popped into any
12595 kboard state.
12596 (push_frame_kboard): Rename to push_kboard.
12597 (kbd_buffer_get_event): Use FRAME_TERMINAL.
12598 (read_avail_input): Read input from all terminals.
12599 (mark_kboards): Also mark Vkeyboard_translate_table.
12600 (kbd_buffer_store_event_hold): Simplify condition.
12601 (read_key_sequence): Reinitialize fkey and keytran at each replay.
12602 (Vkeyboard_translate_table): Move to struct kboard.
12603 (init_kboard): Initialize Vkeyboard_translate_table.
12604 (syms_of_keyboard): Use DEFVAR_KBOARD to define
12605 Vkeyboard_translate_table. Update doc strings. Update docs of
12606 local-function-key-map and function-key-map.
12607
12608 * terminal.c: New file.
12609
12610 * term.c: Include errno.h.
12611 (Vring_bell_function, device_list, initial_device)
12612 (next_device_id, ring_bell, update_begin, update_end)
12613 (set_terminal_window, cursor_to, raw_cursor_to)
12614 (clear_to_end, clear_frame, clear_end_of_line)
12615 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
12616 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
12617 (syms_of_term): Move their initialization to terminal.c.
12618 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
12619 (Ftty_display_color_cells)
12620 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
9cab96b0 12621 (clear_tty_hooks, set_tty_hooks)
8d9cc0b7
MB
12622 (init_tty, maybe_fatal): New functions.
12623 (Ftty_type): Return nil if terminal is not on a tty instead of
12624 throwing an error. Doc update.
12625 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
03f06e5c 12626 Doc update. Initialize new subrs and variables.
8d9cc0b7
MB
12627 (delete_tty): Use terminal->deleted.
12628 (tty_set_terminal_modes): Rename from set_terminal_modes.
12629 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
12630 (set_scroll_region): Rename to `tty_set_scroll_region'.
12631 (turn_on_insert): Rename to `tty_turn_on_insert'.
12632 (turn_off_insert): Rename to `tty_turn_off_insert'.
12633 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
12634 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
12635 (toggle_highligh): Rename to `tty_toggle_highlight'.
12636 (background_highlight): Rename to `tty_background_highlight'.
12637 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
12638 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
12639 (tty_set_scroll_region, tty_background_highlight)
12640 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
12641 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
12642 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
12643 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
12644 Add static modifier.
12645 (tty_reset_terminal_modes, tty_set_terminal_window)
12646 (tty_set_scroll_region, tty_background_highlight)
12647 (tty_highlight_if_desired, tty_cursor_to)
12648 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
12649 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
12650 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
12651 renames.
12652
880820fe 126532007-08-28 Jan Djärv <jan.h.d@swipnet.se>
cf0590c4
JD
12654
12655 * keyboard.c: Qrtl is new.
12656 (parse_tool_bar_item): Handle :rtl keyword.
12657 (syms_of_keyboard): Intern :rtl keyword.
12658
12659 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
12660
12661 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
12662 so no Lisp code is executed.
12663 (file_for_image, find_rtl_image): New functions.
1f204af3 12664 (xg_get_image_for_pixmap): Use file_for_image.
cf0590c4
JD
12665 (update_frame_tool_bar): If direction is RTL, use RTL image if
12666 defined. Use Gtk stock images if defined.
12667
83cc8d35
YM
126682007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12669
12670 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
12671 for nonexistent or zero-width glyph in composition glyph.
12672
e60c4e15
SM
126732007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
12674
d7e2a28f
SM
12675 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
12676
e60c4e15
SM
12677 * xdisp.c (Finvisible_p): New function.
12678 (syms_of_xdisp): defsubr it.
12679
ee163e6d
JB
126802007-08-24 Juanma Barranquero <lekktu@gmail.com>
12681
12682 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
12683 Doc fixes.
12684
90fa408d
YM
126852007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12686
35277b03 12687 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
90fa408d 12688
cac4219c
MR
126892007-08-24 Martin Rudalics <rudalics@gmx.at>
12690
12691 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
12692 whether decoding has modified buffer contents.
12693
5fc9fdeb
JR
126942007-08-24 Jason Rumney <jasonr@gnu.org>
12695
12696 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
12697 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
12698 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
12699 (init_svg_functions) [HAVE_NTGUI]: New function.
12700 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
12701 (svg_load_image): Use them.
12702 (svg_load_image) [HAVE_NTGUI]: Implement background.
12703
93b23406
YM
127042007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12705
12706 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
12707 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
12708 (LIBX): Remove @RSVG_LIBS@.
12709 (LIBES): Add $(RSVG_LIBS).
12710
12711 * image.c (svg_load_image): Blend with specified background if exists.
12712 Use IMAGE_BACKGROUND. Add Mac OS Support.
12713
12714 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
12715 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
12716 Remove macros.
12717 [MAC_OSX] (socket_callback): Do nothing.
12718 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
12719 ReceiveNextEvent.
12720 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
12721 socket_callback.
12722 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
12723
2467875c
GM
127242007-08-22 Glenn Morris <rgm@gnu.org>
12725
ff8da443 12726 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
2467875c 12727
4ab27a43
GM
127282007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
12729
12730 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
ff8da443 12731
666e0eda
GM
12732 * image.c: Add support for SVG images. Some additional comments
12733 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
12734 (svg_image_p): New function to test for SVG image.
12735 (svg_load): New function to load SVG image.
12736 (svg_load_image): New function, helper for svg_load.
12737 (Qsvg): New Lisp_object.
12738 (svg_keyword_index): New enum.
12739 (svg_format): New static `image_keyword' struct.
12740 (svg_type): New static `image_type' struct.
12741 (librsvg/rsvg.h): Include it.
4ab27a43 12742
b636b4c1
SM
127432007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
12744
12745 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
12746
9ecb827b
SM
127472007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
12748
1d064697
SM
12749 * lread.c (Qold_style_backquotes): New var.
12750 (syms_of_lread): Init and staticpro it.
12751 (load_warn_old_style_backquotes): New fun.
12752 (Fload): Use them to warn about old style backquotes.
12753 (end_of_file_error, Fload): Remove unused vars.
12754
5772ed4b
SM
12755 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
12756
9ecb827b 12757 * lread.c (Vold_style_backquotes): New var.
5aa273b0 12758 (syms_of_lread): Init and export it to Elisp.
9ecb827b
SM
12759 (read1): Set it when we find an old-style (back)quote.
12760
32e1c7b1
JR
127612007-08-22 Jason Rumney <jasonr@gnu.org>
12762
12763 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
12764
b8fa755b
KY
127652007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
12766
12767 * puresize.h (BASE_PURESIZE): Increase to 1140000.
12768
1283140e
RS
127692007-08-19 Richard Stallman <rms@gnu.org>
12770
12771 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
12772
2c4685ee
AS
127732007-08-19 Andreas Schwab <schwab@suse.de>
12774
12775 * alloc.c (pure): Round PURESIZE up.
12776
880820fe 127772007-08-17 Jan Djärv <jan.h.d@swipnet.se>
e8953ebf
JD
12778
12779 * xterm.c (handle_one_xevent): Remove check that mouse click is in
12780 active frame.
12781
6e33efc4
RS
127822007-08-16 Richard Stallman <rms@gnu.org>
12783
12784 * eval.c (Fcommandp): Add parens to clarify.
12785
12786 * minibuf.c (Fall_completions): Use enum for type of table.
12787
12788 * emacs.c (USAGE2): Improve text.
12789
fcf8ff2e
GM
127902007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
12791
5205ee62
GM
12792 * term.c (tty_default_color_capabilities): Declare static
12793 variables in file scope, to avoid HPUX compiler problem.
fcf8ff2e 12794
880820fe 127952007-08-13 Jan Djärv <jan.h.d@swipnet.se>
81d13a51
JD
12796
12797 * gtkutil.c (update_frame_tool_bar): Use -1 as index
12798 to gtk_toolbar_insert.
12799
4a181359
SM
128002007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
12801
1bc99c9c
SM
12802 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
12803
4a181359
SM
12804 * insdel.c (reset_var_on_error): New fun.
12805 (signal_before_change, signal_after_change):
12806 Use it to reset (after|before)-change-functions to nil in case of error.
12807 Bind inhibit-modification-hooks to t.
12808 Don't bind (after|before)-change-functions to nil while they run.
12809
6c28435c
YM
128102007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12811
12812 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
12813 filling pixmap with stippled background.
12814
ad3b3e02
YM
128152007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12816
12817 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
12818 Don't use invisible frame as parent window for repositioning.
12819
a22dec27
SM
128202007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
12821
12822 * print.c (new_backquote_output): Rename from old_backquote_output.
12823 (print): Inverse its logic (according to its name) so as to match the
12824 behavior of new_backquote_flag in lread.c.
12825
7b7d07bb
YM
128262007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12827
12828 * gmalloc.c (posix_memalign): New function.
12829
12830 * macterm.c (frame_highlight, frame_unhighlight): Don't call
12831 ActivateControl/DeactivateControl here.
12832 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
12833 frame-notice-user-settings is non-nil.
12834 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
12835 for kEventParamFMFontStyle.
12836 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
12837 mac_pass_command_to_system and mac_pass_control_to_system here.
12838 (XTread_socket): Call ActivateControl/DeactivateControl here.
12839 (XTread_socket) [TARGET_API_MAC_CARBON]:
12840 Check mac_pass_command_to_system and mac_pass_control_to_system here.
f9426479
YM
12841 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
12842 for window repositioning.
7b7d07bb 12843
22e9fe24
GM
128442007-08-08 Glenn Morris <rgm@gnu.org>
12845
12846 * Replace `iff' in doc-strings and comments.
12847
ae494350
CY
128482007-08-07 Chong Yidong <cyd@stupidchicken.com>
12849
12850 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
12851
6f2528d8
MR
128522007-08-07 Martin Rudalics <rudalics@gmx.at>
12853
12854 * fileio.c (Finsert_file_contents): Run format-decode and
12855 after_insert_file_functions on entire buffer when REPLACE is
12856 non-nil and inhibit modification_hooks and point_motion_hooks.
12857 For consistency, run after_insert_file_functions iff something
12858 got inserted. Move signal_after_change and update_compositions
12859 after code running after_insert_file_functions. Make sure that
6b8e474c 12860 undo_list doesn't record intermediate steps of the decoding process.
6f2528d8 12861
3ceeb306
YM
128622007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12863
12864 * emacs.c (main)
12865 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
12866 Call malloc_enable_thread on interactive startup.
12867
12868 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
7b7d07bb
YM
12869 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
12870 [USE_PTHREAD]: Conditionalize with it.
3ceeb306
YM
12871 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
12872 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
12873 New functions.
12874
ca5e6fd5
CY
128752007-08-06 Chong Yidong <cyd@stupidchicken.com>
12876
32bfce5d
CY
12877 * xdisp.c (redisplay_window): When restoring original buffer
12878 position, make sure it is still valid.
12879
ca5e6fd5
CY
12880 * image.c (png_load): Ignore png-supplied background color.
12881
a5b11587
YM
128822007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12883
12884 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
12885 Use kCFAbsoluteTimeIntervalSince1970.
12886
12887 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
12888 New variable.
12889 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
12890 event loop should be quit.
12891 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
12892 Quit dialog event loop if quit_dialog_event_loop is set.
12893
12894 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
12895 (Selection): New typedef. Use instead of ScrapRef.
12896 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
12897 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
12898 (mac_clear_selection): Rename from clear_scrap.
12899 (get_flavor_type_from_symbol): New argument SEL and subsume function of
ff8da443 12900 scrap_has_target_type. All uses changed.
a5b11587
YM
12901 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
12902 (mac_selection_has_target_p): New functions.
12903 (mac_put_selection_value): Rename from put_scrap_string.
12904 (mac_get_selection_value): Rename from get_scrap_string.
12905 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
12906 (put_scrap_private_timestamp, scrap_has_target_type)
12907 (get_scrap_private_timestamp): Remove functions.
12908 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
12909 (x_own_selection, x_get_local_selection):
12910 Use mac_valid_selection_value_p.
12911 (x_own_selection): Don't use put_scrap_private_timestamp.
12912 Record OWNERSHIP-INFO into Vselection_alist instead.
12913 (x_get_local_selection): Don't check type if request is local.
12914 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
12915 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
12916
880820fe 129172007-08-04 Jan Djärv <jan.h.d@swipnet.se>
991bde0d
JD
12918
12919 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
12920 add comment explaining why.
12921
73ff9d42
RS
129222007-08-03 Richard Stallman <rms@gnu.org>
12923
12924 * fileio.c (Fvisited_file_modtime): Use make_time.
12925
54ed9a2d 129262007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
cdf5c17a
VJL
12927
12928 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
12929 build.
12930
65a9c8e2
SM
129312007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
12932
12933 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
12934
c5925799
KY
129352007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
12936
12937 * puresize.h (BASE_PURESIZE): Increase to 1130000.
12938
adef3de7
RS
129392007-07-30 Richard Stallman <rms@gnu.org>
12940
12941 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
12942
880820fe 129432007-07-29 Jan Djärv <jan.h.d@swipnet.se>
784c1472
JD
12944
12945 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
12946
a10421a1
NR
129472007-07-28 Nick Roberts <nickrob@snap.net.nz>
12948
12949 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
12950 remote default-directory.
12951
12952 * buffer.c (mode-line-format): Update doc string.
12953
0cb1ae20
YM
129542007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12955
12956 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
12957 scroll bar gap.
12958 (x_scroll_bar_create): Set bar->fringe_extended_p.
12959 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
12960 on frame edge. Check fringe background extension. Don't clear
12961 extended fringe background area.
12962
12963 * w32term.h (struct scroll_bar): New member fringe_extended_p.
12964 (w32_fill_area): Enclose multiple statements with do ... while (0).
12965
12966 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
12967 Extend fringe background to scroll bar gap.
12968 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
12969 Set bar->fringe_extended_p.
12970 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
12971 Put leftmost/rightmost scroll bars on frame edge. Check fringe
12972 background extension. Don't clear extended fringe background area.
12973
12974 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
12975 New member fringe_extended_p.
12976
cacc7b51
GM
129772007-07-25 Glenn Morris <rgm@gnu.org>
12978
12979 * Relicense all FSF files to GPLv3 or later.
12980
12981 * COPYING: Switch to GPLv3.
12982
89835619
SM
129832007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
12984
c4f46926
SM
12985 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
12986
12987 * data.c (Finteractive_form): Check for the presence of an
12988 `interactive-form' symbol property more thoroughly.
12989
12990 * data.c (Finteractive_form): Use an `interactive-form' property if
89835619
SM
12991 present, analogous to the function-documentation property.
12992
ee04257d
JR
129932007-07-24 Jason Rumney <jasonr@gnu.org>
12994
12995 * w32fns.c (x_real_positions): Get real position from OS instead of
12996 calculating it.
12997
50624218
JR
129982007-07-23 Jason Rumney <jasonr@gnu.org>
12999
13000 * filelock.c (current_lock_owner): Allow for @ sign in username.
13001
3650f60e
NR
130022007-07-22 Nick Roberts <nickrob@snap.net.nz>
13003
13004 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
13005 remote default-directory.
13006
13007 * buffer.c (mode-line-format): Describe above case in doc string.
13008
1e899515 130092007-07-20 Eli Zaretskii <eliz@gnu.org>
b395d6e1 13010
75be5258
EZ
13011 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
13012 Define if not defined.
13013
2b6e2f4d
JR
130142007-07-18 Jason Rumney <jasonr@gnu.org>
13015
13016 * w32proc.c (w32_executable_type): Handle 64 bit executables.
13017
23dacf80
JB
130182007-07-18 Richard Stallman <rms@gnu.org>
13019
13020 * data.c (Fsetq_default): Doc fix.
13021
13022 * eval.c (Fsetq): Doc fix.
13023
130242007-07-18 Juanma Barranquero <lekktu@gmail.com>
13025
13026 * coding.c (Ffind_operation_coding_system):
13027 * eval.c (For, Fand): Doc fixes.
880820fe 13028 Reported by Johan Bockgård.
23dacf80 13029
880820fe 130302007-07-18 Jan Djärv <jan.h.d@swipnet.se>
656de71a 13031
23dacf80 13032 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
656de71a 13033
23dacf80 13034 * xterm.h: Declare x_ewmh_activate_frame.
656de71a
JD
13035
13036 * xterm.c (x_ewmh_activate_frame): New function.
13037 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
13038
71ec17e6
MR
130392007-07-17 Martin Rudalics <rudalics@gmx.at>
13040
13041 * window.c (Fdisplay_buffer): If largest or LRU window is the
13042 only window, split it even if it is not eligible for splitting.
13043 This restores the original behavior broken by the 2007-07-15
13044 change.
13045
e9818042
GM
130462007-07-17 Glenn Morris <rgm@gnu.org>
13047
13048 * abbrev.c (abbrev_check_chars): New function.
6b8e474c
SM
13049 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
13050 Call abbrev_check_chars to check abbrev characters are word
e9818042
GM
13051 constituents. Doc fix.
13052
e6fca843
SM
130532007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
13054
13055 * process.c (Fstart_process, Fmake_network_process)
13056 (read_process_output): Fix up last changes.
13057
b5d2b4ab
EZ
130582007-07-16 Eli Zaretskii <eliz@gnu.org>
13059
13060 * makefile.w32-in (clean): Don't delete *~.
13061
413a79ad
AS
130622007-07-16 Andreas Schwab <schwab@suse.de>
13063
13064 * window.c (Fdisplay_buffer): Use NILP.
13065 (Fset_window_scroll_bars): Likewise.
13066
f1de8c77
MR
130672007-07-15 Martin Rudalics <rudalics@gmx.at>
13068
13069 * window.c (window_min_size_2): New function.
13070 (window_min_size_1, size_window, Fdisplay_buffer)
13071 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
13072 windows without mode- or header-lines when window-min-height is
13073 too small.
13074 (size_window): Reset nodelete_p after testing it, following an
13075 earlier note by Kim F. Storm.
13076 (display_buffer): Do not set split_height_threshold to twice the
13077 value of window_min_height to avoid changing the value of a
13078 customizable variable. Rather explicitly check whether the
13079 height of the window that shall be splitted is at least as large
13080 as split_height_threshold.
1af74d06
MB
13081 (Fwindow_full_width_p): New defun.
13082 (syms_of_window): Defsubr it.
d31053f9 13083
1af74d06 13084 * window.h: Add EXFUN for Fwindow_full_width_p.
f1de8c77 13085
5e1ab613
JR
130862007-07-14 Jason Rumney <jasonr@gnu.org>
13087
13088 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
13089
f01cbfdd
RS
130902007-07-14 Richard Stallman <rms@gnu.org>
13091
13092 * eval.c (maybe_call_debugger): New function.
13093 (find_handler_clause): Use maybe_call_debugger.
13094 Call it when the handler says `debug'.
13095 Eliminate DEBUGGER_VALUE_PTR.
13096 (Fsignal): Eliminate debugger_value.
13097 (Qdebug): New variable.
13098 (syms_of_eval): Initialize it.
13099
1bab435a
JB
131002007-07-14 Juanma Barranquero <lekktu@gmail.com>
13101
13102 * eval.c (Fprogn):
13103 * keyboard.c (Ftrack_mouse):
13104 * print.c (Fwith_output_to_temp_buffer):
13105 * window.c (Fsave_window_excursion): Doc fix.
13106
be436d23
SM
131072007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
13108
13109 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
13110
60f0fb11
SM
131112007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
13112
13113 * process.h (struct Lisp_Process): Turn slots infd, outfd,
13114 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
13115 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
13116 read_output_delay, and read_output_skip from Lisp_Objects to ints.
13117 Remove unused encoding_carryover.
13118 * process.c: Adjust all functions accordingly.
13119
d8b18043
RS
131202007-07-12 Richard Stallman <rms@gnu.org>
13121
13122 * term.c: Include unistd.h only if HAVE_UNISTD_H.
13123
d5781bb6
JR
131242007-07-11 Jason Rumney <jasonr@gnu.org>
13125
13126 * makefile.w32-in (LIBS): Include OLE32.
13127
13128 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
13129 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
13130
5bb7dfee
SM
131312007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
13132
13133 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
13134 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
13135 from a Lisp_Object into a bare pointer.
13136 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
13137 Adjust the code correspondingly.
13138
13139 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
13140
13141 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
13142 (term_show_mouse_face): Remove unused var `j'.
13143 (handle_one_term_event): Remove unused vars `i' and `j'.
13144 Don't cast return value of ttyname since it's not necessary.
13145
a1be1ce8
SM
131462007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
13147
5045e68e
SM
13148 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
13149 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
13150
8071c00f
SM
13151 * fns.c (map_char_table): Use an array of int for `indices' rather than
13152 an array of Lisp_Objects (which are only ever integers anyway).
13153 (Fmap_char_table): Update caller.
13154 * lisp.h: Update prototype.
13155 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
13156 * fontset.c (Ffontset_info):
13157 * casetab.c (set_case_table): Update callers.
13158
13159 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
13160
fab84e3c
SM
13161 * keymap.c (struct accessible_keymaps_data)
13162 (struct where_is_internal_data): New structures.
13163 (accessible_keymaps_1, where_is_internal_1): Use them to change
13164 interface to adhere to the one used by map_keymap.
13165 (Faccessible_keymaps, where_is_internal): Use map_keymap.
13166 (accessible_keymaps_char_table, where_is_internal_2): Remove.
13167
a1be1ce8
SM
13168 * keymap.h (map_keymap_function_t): More informative prototype.
13169
ef887810
RS
131702007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
13171
13172 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
13173 (looking_at_1): Don't change search_regs and last_thing_searched
13174 if `inhibit-changing-match-data' is non-nil.
13175 (string_match_1, search_buffer, set_search_regs): Likewise.
13176 (syms_of_search): Add Lisp level definition for
13177 `inhibit-changing-match-data' and set it to nil.
8071c00f
SM
13178 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
13179 start and end of the match, instead of using values in search_regs.
ef887810 13180
4d02fc25
SM
131812007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
13182
13183 * minibuf.c (Fcompleting_read): New value `confirm-only'
13184 for `require-match'.
13185
fe45b81f
SM
131862007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
13187
13188 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
13189 part of the 2007-06-27 change to syms_of_fileio.
13190
a56dd283
YM
131912007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13192
13193 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
13194 Check WINDOWP before using XWINDOW. Consolidate return statements.
13195
0cf9f5b5
RS
131962007-06-27 Richard Stallman <rms@gnu.org>
13197
13198 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
13199
a66f285a
JB
132002007-06-27 Juanma Barranquero <lekktu@gmail.com>
13201
13202 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
13203
8d0d84d2
YM
132042007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13205
13206 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
13207 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
13208 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
13209 (_free_internal, memalign): Use them.
13210 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
13211 Initialize to PTHREAD_MUTEX_INITIALIZER.
13212 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
13213 (morecore_nolock): Rename from morecore. All uses changed.
13214 Use only nolock versions of internal allocation functions.
13215 (_malloc_internal_nolock, _realloc_internal_nolock)
13216 (_free_internal_nolock): New functions created from
13217 _malloc_internal, _realloc_internal, and _free_internal.
13218 (_malloc_internal, _realloc_internal, _free_internal): Use them.
13219 Copy hook value to automatic variable before its use.
13220 (memalign): Copy hook value to automatic variable before its use.
13221
5a0bbd9a
KH
132222007-06-26 Kenichi Handa <handa@m17n.org>
13223
13224 * coding.c (Ffind_operation_coding_system): Docstring improved.
13225 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
13226
9a51747b
DK
132272007-06-25 David Kastrup <dak@gnu.org>
13228
13229 * keymap.c (Fcurrent_active_maps): Add `position' argument.
13230 (Fwhere_is_internal): Adjust call to `current-active-maps' to
13231 cater for additional parameter.
13232
13233 * keymap.h: Adjust number of parameters to `current-active-maps'.
13234
13235 * doc.c (Fsubstitute_command_keys): Adjust call of
13236 `current-active-maps'.
13237
e4305426
DK
132382007-06-25 David Kastrup <dak@gnu.org>
13239
13240 * callint.c (Fcall_interactively): Make the parsing of interactive
13241 specs somewhat more readable.
13242
511a18d9
YM
132432007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13244
13245 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
13246 to scroll bar gap also when bitmap fills fringe. Draw only foreground
13247 if extended background has already been filled.
13248
512eb161
YM
132492007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13250
13251 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
13252 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
13253
13254 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
13255 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
13256 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
13257 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
13258 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
13259 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
13260 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
13261 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
13262 Run timers during dialog popup.
13263 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
13264
2386b1f1
JR
132652007-06-21 Jason Rumney <jasonr@gnu.org>
13266
13267 * image.c (convert_mono_to_color_image): Swap fore and background.
13268
fab8b787
JR
132692007-06-20 Jason Rumney <jasonr@gnu.org>
13270
13271 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
13272 (w32_free_bdf_font): Unmap memory not handle.
13273
15bdd7a0 132742007-06-20 Sam Steingold <sds@gnu.org>
3cacba85
SS
13275
13276 * gmalloc.c (__morecore): Fix the declaration to comply with the
13277 definition.
13278
1bb8a291
JB
132792007-06-20 Juanma Barranquero <lekktu@gmail.com>
13280
13281 * w32term.c (w32_delete_display): Remove leftover declaration.
13282 (w32_define_cursor, w32_initialize): Make static.
13283
13284 * w32.c (_wsa_errlist): Fix typo in error message.
13285 (init_environment): Ignore any environment variable from the
13286 registry having a null value.
13287
92648dea
GM
132882007-06-20 Glenn Morris <rgm@gnu.org>
13289
13290 * Makefile.in (LIBGIF): Default to -lgif.
13291
ff25d115
JR
132922007-06-17 Jason Rumney <jasonr@gnu.org>
13293
13294 * w32menu.c (add_menu_item): Don't use multibyte string functions on
13295 unicode strings.
13296
a1a578a5
JB
132972007-06-16 Juanma Barranquero <lekktu@gmail.com>
13298
13299 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
13300 Fix typo in docstring.
13301
af41f8a8
EZ
133022007-06-16 Eli Zaretskii <eliz@gnu.org>
13303
13304 * w32menu.c (add_menu_item): Escape `&' characters in menu items
13305 and their keybindings.
13306
8b29cab9
CY
133072007-06-15 Chong Yidong <cyd@stupidchicken.com>
13308
13309 * composite.c (update_compositions): Fix last fix.
13310
c433c134
JR
133112007-06-14 Jason Rumney <jasonr@gnu.org>
13312
13313 * w32.c (get_process_times_fn): New function pointer.
13314 (globals_of_w32): Intialize it if present in kernel32.dll.
13315 (w32_get_internal_run_time): New function.
13316
13317 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
13318
553d3164
KH
133192007-06-14 Kenichi Handa <handa@etlken.m17n.org>
13320
13321 * composite.c (update_compositions): Check the validness of
13322 compositions.
13323
446ba96f
YM
133242007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13325
13326 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
13327 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
13328
13329 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
13330 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
13331
13332 * macgui.h (USE_MAC_TOOLBAR): New define.
13333
13334 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
13335 Return immediately unless popup is activated.
13336
13337 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
13338 background to scroll bar gap.
13339 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
13340 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
13341 scroll bars on frame edge. Check fringe background extension.
13342 Don't clear extended fringe background area.
13343 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
13344 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
13345 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
13346 [USE_MAC_TOOLBAR]: New macros.
13347 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
13348 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
13349 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
13350 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
13351 [USE_MAC_TOOLBAR]: New functions.
13352 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
13353 manually if previous repositioning has failed.
13354 (mac_handle_keyboard_event): Use precomputed event kind.
13355 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
13356 as tool bar item click. Handle mouse movement over tool bar items.
13357
13358 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
13359 toolbar_win_gravity.
13360 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
13361 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
13362 Add externs.
13363
13364 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
13365 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
13366
9720173f
CY
133672007-06-14 Chong Yidong <cyd@stupidchicken.com>
13368
13369 * image.c (search_image_cache): Remove unused variable.
13370
1217dd00
CY
133712007-06-13 Chong Yidong <cyd@stupidchicken.com>
13372
13373 * xfns.c, xmenu.c: Link to xaw3d if available.
13374
c5b8e0ea
YM
133752007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13376
13377 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
13378 frame_foreground and frame_background.
13379
13380 * image.c (lookup_image): Save frame foreground and background colors.
13381 (search_image_cache): Check if saved and current frame colors match.
13382
c69b0314
SM
133832007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
13384
13385 * regex.c (regex_compile): Remove the `regnum' counter.
13386 Use bufp->re_nsub instead. Add support for \(?N:RE\).
13387
c9612b8e
SM
133882007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
13389
13390 * term.c: Include intervals.h to declare Fget_text_property.
13391
843d2458
JR
133922007-06-10 Jason Rumney <jasonr@gnu.org>
13393
13394 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
13395
1e0d2d60 133962007-06-08 Juanma Barranquero <lekktu@gmail.com>
977f6cfb
JB
13397
13398 * callint.c (Fcall_interactively):
13399 * editfns.c (Fdelete_and_extract_region):
13400 * fileio.c (Fread_file_name):
13401 * fns.c (Fmapconcat):
13402 * keyboard.c (cmd_error_internal):
13403 * keymap.c (Fkey_description):
13404 * lread.c (openp):
13405 * minibuf.c (read_minibuf):
13406 * search.c (wordify):
13407 * sunfns.c (sel_read):
13408 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
13409 * xfns.c (x_default_scroll_bar_color_parameter):
13410 * xmenu.c (menu_help_callback):
13411 * xselect.c (Fx_get_atom_name):
13412 * xterm.c (x_term_init): Use empty_unibyte_string.
13413
15bdd7a0 134142007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
977f6cfb
JB
13415
13416 * alloc.c (init_strings): Initialize canonical empty strings.
13417 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
13418 canonical empty string when the requested size is 0.
13419
13420 * emacs.c (empty_unibyte_string): Rename from empty_string.
13421 (empty_multibyte_string): New canonical empty string.
13422 (syms_of_emacs): Don't initialize empty_string.
13423
13424 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
13425 string, if appropriate.
13426 (empty_unibyte_string, empty_multibyte_string): New externs.
13427 (empty_string): Remove extern.
13428
13429 * lread.c (syms_of_lread): Use empty_unibyte_string.
13430
42c4c67a
JR
134312007-06-07 Jason Rumney <jasonr@gnu.org>
13432
13433 * s/ms-w32.h: Don't define HAVE_TZNAME.
13434
13435 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
13436
aa8280d3
YM
134372007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13438
13439 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
13440
13441 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
13442 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
13443
13444 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
13445 Don't call next handler.
13446 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
13447 Remove argument. Install handler to application.
13448 (set_frame_menubar): Don't change deep_p.
1e0d2d60 13449 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
aa8280d3
YM
13450 FRAME_OUTER_TO_INNER_DIFF_Y.
13451 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
13452 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
13453 [HAVE_DIALOGS]: New macros.
13454 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
13455 Use them.
13456 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
13457
13458 * macselect.c [MAC_OSX] (install_service_handler): Rename from
13459 init_service_handler. All callers changed. Return OSStatus value.
13460
13461 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
13462 All callers changed so as not to call SetPortWindowPort.
13463 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
13464 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
13465 mac_draw_string_common.
13466 (mac_draw_image_string_qd): Likewise.
13467 (mac_draw_string_common): Use them. Add INLINE.
13468 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
13469 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
13470 GetGlobalMouse.
13471 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
13472 and FRAME_OUTER_TO_INNER_DIFF_Y.
13473 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
13474 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
13475 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
13476 repositioning window to mac_handle_window_event.
13477 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
13478 saving window location to mac_handle_window_event
13479 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
13480 (install_menu_target_item_handler): Remove argument in extern.
13481 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
13482 Also accept command events.
13483 (do_keystroke): New function created from XTread_socket.
13484 (init_command_handler): Remove functions.
13485 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
13486 and save window location by kEventWindowShowing and kEventWindowHiding
13487 handlers here. Don't call next handler for window state change and
13488 focus events.
13489 (mac_handle_application_event, mac_handle_keyboard_event)
13490 [TARGET_API_MAC_CARBON]: New functions.
13491 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
13492 kEventWindowShowing and kEventWindowHiding events. Move installation
13493 of mouse, font, text input and menu target item handlers to
13494 install_application_handler.
13495 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
13496 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
13497 New function.
13498 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
13499 Register it.
c9612b8e
SM
13500 (XTread_socket) [TARGET_API_MAC_CARBON]:
13501 Consolidate SendEventToEventTarget calls.
13502 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
13503 Move application activation handler to mac_handle_application_event.
13504 Move keyboard handler to mac_handle_keyboard_event.
aa8280d3
YM
13505 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
13506 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
13507 init_command_handler. Call install_application_handler.
13508
13509 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
13510 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
13511
6926c954
GM
135122007-06-07 Glenn Morris <rgm@gnu.org>
13513
13514 * emacs.c (main): Use `emacs-copyright' in --version output.
13515
6fe04c89
CY
135162007-06-06 Chong Yidong <cyd@stupidchicken.com>
13517
c9612b8e 13518 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
6fe04c89 13519
7eb0d727
YM
135202007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13521
13522 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
13523
13524 * macgui.h: Replace WindowPtr with WindowRef.
13525
13526 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
13527 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
13528 Replace ControlHandle with ControlRef.
13529 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
13530
13531 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
13532 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
13533 Replace ControlHandle with ControlRef.
13534 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
13535 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
13536
13537 * macterm.h (struct scroll_bar): Rename member control_handle_low
13538 and control_handle_high to control_ref_low and control_ref_high.
13539 All uses changed.
13540 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
13541 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
13542 respectively. All uses changed.
13543 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
13544 (install_window_handler, remove_window_handler): Replace WindowPtr
13545 with WindowRef in externs.
13546
65fddb74
JB
135472007-06-05 Juanma Barranquero <lekktu@gmail.com>
13548
13549 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
13550
db1213a9
NR
135512007-06-03 Nick Roberts <nickrob@snap.net.nz>
13552
13553 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
13554
65fddb74 13555 * frame.c (Fmouse_position, Fmouse_pixel_position):
db1213a9
NR
13556 Condition on HAVE_GPM too.
13557
13558 * term.c (term_mouse_highlight): Remove unused variables.
13559 (Fterm_open_connection): Set gpm_zerobased to 1.
13560 (term_mouse_movement, term_mouse_click, handle_one_term_event):
13561 Use zero based co-ordinates.
13562 (handle_one_term_event): Report a drag as mouse movement too.
13563
13564 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
13565
d94df25b
CY
135662007-06-03 Chong Yidong <cyd@stupidchicken.com>
13567
13568 * image.c (search_image_cache): New function. Require background
13569 color match if background color is unspecified in the image spec.
13570 (uncache_image, lookup_image): Use it.
13571
4797b6d9
JB
135722007-06-01 Juanma Barranquero <lekktu@gmail.com>
13573
13574 * window.c (Fshrink_window): Reflow docstring.
13575
1ffe7343
NR
135762007-06-02 Chong Yidong <cyd@stupidchicken.com>
13577
13578 * Version 22.1 released.
13579
135802007-06-01 Richard Stallman <rms@gnu.org>
13581
13582 * xfns.c (x_encode_text): Add GCPRO.
13583
135842007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13585
13586 * xfns.c (x_set_name_internal): Save encoded name before
13587 x_encode_text in case string data is relocated.
13588
135892007-05-31 Richard Stallman <rms@gnu.org>
13590
13591 * buffer.c (syms_of_buffer): Doc fix.
13592
135932007-05-30 Nick Roberts <nickrob@snap.net.nz>
13594
13595 * sysdep.c (init_sys_modes): Add rather than replace with
13596 O_NONBLOCK.
13597
13598 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
13599 term_mouse_moveto.
13600
13601 * termhooks.h (term_mouse_moveto): New extern.
13602
13603 * term.c (mouse_face_window): Rename...
13604 (Qmouse_face_window): ...to this.
13605 (term_show_mouse_face, term_clear_mouse_face)
13606 (term_mouse_highlight): Use Qmouse_face_window.
13607 (term_mouse_moveto): New function.
13608 (term_mouse_position): Make it work.
13609 (syms_of_term): Uncomment assignment to mouse_position_hook.
13610 Staticpro Qmouse_face_window.
13611
136122007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13613
13614 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
13615 around current_column call.
13616
136172007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
13618
13619 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
13620 * xdisp.c (next_element_from_buffer):
13621 * window.c (delete_window):
13622 * term.c (term_mouse_highlight):
13623 * msdos.c (getdefdir):
13624 * macterm.c (mac_create_bitmap_from_bitmap_data)
13625 (init_font_name_table):
13626 * fns.c (Fsxhash):
13627 * data.c (Fmake_local_variable):
13628 * ccl.c (ccl_driver): Likewise.
13629
136302007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13631
13632 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
13633 Call mac_wakeup_from_rne on window size change.
13634
136352007-05-25 Chong Yidong <cyd@stupidchicken.com>
13636
13637 * image.c (uncache_image): Fix typo.
13638
136392007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
13640
13641 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
13642
136432007-05-22 Richard Stallman <rms@gnu.org>
13644
13645 * xterm.c (x_connection_closed): Remove NO_RETURN.
13646
136472007-05-22 Martin Rudalics <rudalics@gmx.at>
13648
13649 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
13650
136512007-05-21 Chong Yidong <cyd@stupidchicken.com>
13652
13653 * image.c (uncache_image): New function.
13654 (Fimage_refresh): New function.
13655
880820fe 136562007-05-20 Jan Djärv <jan.h.d@swipnet.se>
1ffe7343
NR
13657
13658 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
13659
136602007-05-20 Nick Roberts <nickrob@snap.net.nz>
13661
13662 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
13663 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
13664
136652007-05-20 Nick Roberts <nickrob@snap.net.nz>
13666
13667 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
13668 conditional on [HAVE_GPM_H].
13669
136702007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
13671
13672 * syntax.c (skip_chars): Update syntax-table only after we checked that
13673 the new location is valid.
13674
136752007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13676
13677 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
13678 mac_get_window_bounds.
13679
136802007-05-20 Nick Roberts <nickrob@snap.net.nz>
13681
13682 * Makefile.in (LIBGPM): Allow it to be set from configure.
13683 If set then link Emacs with it.
13684
13685 * config.in: Regenerate.
13686
13687 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
13688 New externs.
13689
13690 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
13691 Include gpm.h.
13692 (handle_one_term_event, term_gpm): New externs.
13693
13694 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
13695 and allow it to be interrupted by SIGIO.
13696
13697 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
13698 (wait_reading_process_output): Wait on gpm_fd too.
13699 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
13700 (add_gpm_wait_descriptor_called_flag): New variable.
13701 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
13702
13703 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
13704 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
13705 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
13706 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
13707 (make_lispy_event): Add case GPM_CLICK_EVENT.
13708 (read_avail_input): Handle mouse input.
13709
13710 * term.c (write_glyphs_with_face): New function.
13711 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
13712 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
13713 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
13714 (mouse_face_face_id, term_gpm, pos_x, pos_y)
13715 (last_mouse_x, last_mouse_y): New variables.
13716 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
13717 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
13718 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
13719 (Fterm_close_connection): New functions.
13720 (term_init): Initialise mouse_face_window.
13721
137222007-05-19 Chong Yidong <cyd@stupidchicken.com>
13723
13724 * xdisp.c (redisplay_window): If first window line is a
13725 continuation line, recompute the new window start instead of
13726 recentering.
13727
137282007-05-18 Glenn Morris <rgm@gnu.org>
13729
13730 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
13731 Suggested by Alfred M. Szmidt <ams@gnu.org>.
13732
137332007-05-17 Glenn Morris <rgm@gnu.org>
13734
13735 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
13736
137372007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13738
13739 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
13740 dead key repeat and up events.
13741
137422007-05-14 Chong Yidong <cyd@stupidchicken.com>
13743
13744 * image.c (pbm_load): Check image size for monochrome pbm.
13745
137462007-05-13 Chong Yidong <cyd@stupidchicken.com>
13747
13748 * xterm.c (XTread_socket): Revert last change.
13749
137502007-05-12 Chong Yidong <cyd@stupidchicken.com>
13751
13752 * image.c (pbm_load): Correctly check image size for greyscale pbm.
13753
13754 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
13755
137562007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
13757
13758 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
13759 mixup (YAILOM).
13760
137612007-05-07 Andreas Schwab <schwab@suse.de>
13762
13763 * keymap.c (Flookup_key): Fix typo in last change.
13764
137652007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
13766
13767 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
13768 mapping for unibyte strings.
13769
137702007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13771
13772 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
13773 (Fx_popup_dialog) [MAC_OSX]: Likewise.
13774
137752007-04-29 Richard Stallman <rms@gnu.org>
13776
13777 * insdel.c (replace_range): For undo, record insertion first.
13778
137792007-04-29 Andreas Schwab <schwab@suse.de>
13780
13781 * lisp.h (VECSIZE): Use OFFSETOF.
13782
137832007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13784
13785 * xdisp.c (try_window_reusing_current_matrix): Fix number of
13786 disabled lines.
13787
137882007-04-28 Richard Stallman <rms@gnu.org>
13789
13790 * lread.c (read_escape): In a string, \s is always space.
13791
880820fe 137922007-04-27 Jan Djärv <jan.h.d@swipnet.se>
1ffe7343
NR
13793
13794 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
13795
13796 * gtkutil.c (xg_update_menubar, create_menus): Create empty
13797 submenu for menu bar items.
13798
382c648d 13799See ChangeLog.10 for earlier changes.
6922b018
KH
13800
13801;; Local Variables:
880820fe 13802;; coding: utf-8
33462dfa 13803;; add-log-time-zone-rule: t
67e8d28a 13804;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
6922b018 13805;; End:
2a34a036 13806
59ce725a 13807 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
7f6d64f8
GM
13808
13809 This file is part of GNU Emacs.
13810
5a1dde61 13811 GNU Emacs is free software: you can redistribute it and/or modify
7f6d64f8 13812 it under the terms of the GNU General Public License as published by
5a1dde61
GM
13813 the Free Software Foundation, either version 3 of the License, or
13814 (at your option) any later version.
7f6d64f8
GM
13815
13816 GNU Emacs is distributed in the hope that it will be useful,
13817 but WITHOUT ANY WARRANTY; without even the implied warranty of
13818 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13819 GNU General Public License for more details.
13820
13821 You should have received a copy of the GNU General Public License
5a1dde61 13822 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
ab5796a9 13823
28f60c3d 13824;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40