remove debugging println
[bpt/emacs.git] / src / ChangeLog
CommitLineData
365bac35
AR
12008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2
3 * nsterm.m (syms_of_nsterm): Remove debugging println.
4
6a0f0f86
DR
52008-07-22 David Reitter <david.reitter@gmail.com>
6
7 * nsfns.m: (do_applescript, F_do_applescript): NS version of the
8 Carbon implementation of the same functionality: execute arbitrary
9 AppleScript code.
10
51d5ef9f
AR
112008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
12
13 * nsfns.m
14 (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
15 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
16 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
17 (Fx_display_mm_height, Fx_display_mm_width)
18 (Fx_display_backing_store, Fx_display_visual_class)
19 (Fx_display_save_under, Fx_open_connection)
20 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
21 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
22 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
23 (Fx_display_pixel_width, Fx_display_pixel_height)
24 (Fx_display_usable_bounds, Fx_display_planes)
25 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
26 ... */' style of docstrings.
27
6efac844
DN
282008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
29
b8ff87cc
DN
30 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
31 on this platform.
32 (mips):
33 * m/iris4d.h (mips): Do not define.
34 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
35
92d1a7a3
DN
36 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
37
de08d1be
CY
38 * image.c:
39 * nsfns.m:
40 * nsselect.m:
41 * nsterm.h:
9e50ff0c
DN
42 * nsterm.m: Rename ns prefixed functions/variables to the
43 corresponding x versions. Update references.
44
ff486501
DN
45 * m/ibms390x.h (NO_REMAP): Do not undefine.
46
6efac844
DN
47 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
48
ea9de876
CY
492008-07-21 Chong Yidong <cyd@stupidchicken.com>
50
51 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
52 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
53 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
54 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
55 (Fns_display_mm_height, Fns_display_mm_width)
56 (Fns_display_backing_store, Fns_display_visual_class)
57 (Fns_display_save_under, Fns_open_connection)
58 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
59 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
60 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
61 (Fns_display_pixel_width, Fns_display_pixel_height)
62 (Fns_display_usable_bounds, Fx_display_planes)
63 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
64
b42f4115 652008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3965adab
CY
66
67 * print.c (print_object): Check print_depth before searching for
68 circularities.
69
c0894fb9
MA
702008-07-21 Michael Albinus <michael.albinus@gmx.de>
71
72 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
73 only sprintf.
74
d90bfd1c
KH
752008-07-21 Kenichi Handa <handa@m17n.org>
76
77 * ftfont.c (adjust_anchor): Check if DetalValue is not NULL.
78
8e2911c2
AS
792008-07-20 Andreas Schwab <schwab@suse.de>
80
81 * syntax.c (find_start_pos, find_start_value)
82 (find_start_value_byte, find_start_begv, find_defun_start)
83 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer
84 positions.
85
98a01702
DN
862008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
87
88 * s/sol2-3.h: Insert contents of s/sol2.h.
89 (LD_SWITCH_SYSTEM): Remove redundant definition.
90 * s/sol2.h: Remove, unused.
91
704a3a2d
AR
922008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
93
94 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for
95 HSV,AHSV.
96
972008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
e5e2baab
AR
98
99 * Makefile.in (ns_appdir): Fix typo in find command.
100
89f1e540
DN
1012008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
102
c788afce
DN
103 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
104
89f1e540
DN
105 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
106 added not supported anymore.
107
e5e2baab 108 * s/usg5-4-2.h (LIBS_SYSTEM):
89f1e540
DN
109 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
110
111 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
112 * s/lynxos.h (GETPGRP_NO_ARG):
113 * s/hpux10-20.h (NO_SIOCTL_H):
114 * s/gnu.h (GETPGRP_NO_ARG):
115 * s/gnu-linux.h (NO_SIOCTL_H):
116 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
117 * s/cygwin.h (GETPGRP_NO_ARG):
118 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
119 (C_DEBUG_SWITCH): Remove duplicate definition.
120
121 * m/ibms390.h: Remove boilerplate comments.
122
123 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
124
125 * process.c (HAVE_SERIAL): Consolidate ifdefs.
126 (wait_reading_process_output): Remove code for SunOS, platform not
127 supported anymore. Use SOLARIS2 instead of sun.
128
ed96cde8
AR
1292008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
130
131 * font.c (font_open_by_name): Under NS, default lface height to zero.
132 (font_open_for_lface): Under NS, set size based on frame fontsize.
133 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
134 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
135
1362008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
137
138 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
139 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
140 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
141 YES/NO.
142 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
143 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
144 * Makefile.in (clean): Clear out build destination dir.
145
5a2d7ab6
AR
1462008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
147
148 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
149 xterm, xselect.
150 * lisp.h: Remove declaration of hash_remove.
151 * nsgui.h: Remove redefinitions of hash_remove.
152 * fns.c (hash_remove): Rename to hash_remove_from_table.
153
c0230162
AR
1542008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
155
156 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
157 strdup() the family UTF8String before modifying it. Patch due to
158 Seiji Zenitani.
159
45d325c4
AR
1602008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
161
162 * nsfns.m (ns_set_background_color): Apply patch from Chong Yidong to
163 fix crash.
164 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
165 NS_FACE_BACKGROUND with 0 instead of nil.
166 * nsfont.m (nsfont_draw): Same.
167
b83f1cd0
CY
1682008-07-18 Chong Yidong <cyd@stupidchicken.com>
169
170 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
171
add4eecc
DN
1722008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
173
174 * puresize.h (BASE_PURESIZE): Increase to 1240000.
175
69955d31
YM
1762008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
177
178 * gtkutil.c: Include <config.h> instead of "config.h".
179
180 * lisp.h (Foverlay_buffer): Add EXFUN.
181
182 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
183 child process to complete child_setup. Undo 2005-09-21 change.
184
185 * s/darwin.h: Mention setsid after vfork.
186
08b3caa9 1872008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2d64e9bb
YM
188
189 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
190 Depend on macgui.h.
191
192 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
193 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
194
195 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
196 and f19.
197 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
198
199 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
200 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
201 Remove enumerators.
202
203 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
204 Check if FACE_FROM_ID returns NULL.
205
8d59c5ed
JR
2062008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
207
ba60bd44
JB
208 * w32inevt.c (change_frame_size): Remove extern declaration.
209 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
210 change_frame_size.
8d59c5ed 211
ba60bd44 2122008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
db94bf9c
AR
213
214 * getloadavg.c: Revert last change (2008-07-15).
215
ba60bd44 2162008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
06b62770
AR
217
218 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
219 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
220 from configure.
221
2749d28e
DN
2222008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
223
35ad0545
DN
224 * s/sol2.h:
225 * s/sol2-4.h: Reorganize conditionals.
226
2749d28e
DN
227 * ecrt0.c: Remove code depending on m68000, not used anymore.
228
229 * fns.c (hash_remove): Make static.
230 * lisp.h (hash_remove): Don't prototype.
231
232 * m/ibmrs6000.h:
233 * m/ibms390x.h:
234 * m/macppc.h: Remove boilerplate comments.
235
236 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
237 Solaris, which does not need them.
238
239 * m/vax.h: Remove comments about unsupported systems.
240
241 * s/darwin.h: Reorganize ifdefs.
242
ba60bd44
JB
2432008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
244
245 * config.in:
246 * dispextern.h:
247 * frame.c:
248 * image.c:
249 * nsfns.m:
250 * nsfont.m:
251 * nsgui.h:
252 * nsmenu.m:
253 * nsterm.h:
254 * nsterm.m:
255 * s/darwin.h:
256 * xdisp.c: Change most cases of PENDING to TODO, some to FIXME or XXX.
6fb5f7da 257
32cc3925
AS
2582008-07-17 Andreas Schwab <schwab@suse.de>
259
260 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
261
facfbbbd
SM
2622008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
263
264 Use SDATA. Follow coding convention of placing operators at
265 beginning of next line rather than end of previous line, and placing
266 spaces around infix operators.
267
268 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
269 in case it was defined already.
270 USE @GNUSTEP_MAKEFILES@ rather than envvars.
271 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
272 ns_default.
273 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
274 Lisp_Objects.
275 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
276 (ns_defined_color, ns_color_to_lisp): Declare.
277 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
278 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
279 it's accepted even with USE_LISP_UNION_TYPE.
280 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
281 (update_frame_tool_bar): Remove apparently obsolete tests for
282 non-integerness of f->tool_bar_lines.
283 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
284 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
285 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
286 (nsfont_open): Don't confuse NULL for Qnil.
287 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
288 * menu.h (find_and_call_menu_selection):
289 * menu.c (find_and_call_menu_selection): Use just int for vector size.
290 (find_and_return_menu_selection): Always return something.
291 * frame.h: Include dispextern.h for Display_Info.
292 (display_x_get_resource): Declare.
293
ba60bd44 2942008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
122e9f8f
AR
295
296 * syntax.c: Remove stdio.h include accidentally introduced in
297 Emacs.app commit.
298 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
299 NS_IMPL_COCOA.
300 * keyboard.c (handle_async_input, input_available_signal): Remove
301 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
302
0bcfd7d7
SM
3032008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
304
6882361b
SM
305 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
306 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
307 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
308 Use SDATA.
309
0bcfd7d7
SM
310 * keymap.c: Remove all NS-specific code.
311 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
312 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
313 where_is_preferred_modifier, return a different value depending on how
314 preferred is the binding.
315 (where_is_internal): Adjust accordingly.
316 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
317 Adjust to new preferred_sequence_p.
318 (syms_of_keymap): Declare `where-is-preferred-modifier'.
319 * keyboard.c (parse_solitary_modifier): Not static any more.
320 * keyboard.h (parse_solitary_modifier): Declare.
321
720f3147
AS
3222008-07-16 Andreas Schwab <schwab@suse.de>
323
324 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
325 of easymenu.
326
01e19fea
CY
3272008-07-16 Chong Yidong <cyd@stupidchicken.com>
328
329 * xdisp.c (move_it_in_display_line): Account for word wrap, so
330 that we don't move off the line.
331
4c89a3e0
SM
3322008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
333
334 * keyboard.c (Qsuper): Remove.
335 (parse_menu_item): Don't call where_is_internal specially for NS.
336
586b975c
DN
3372008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
338
3ec8ef33
DN
339 * s/gnu-linux.h: Remove boilerplate comments.
340
d4d080b6
DN
341 * m/alpha.h (__ELF__): Consolidate conditions.
342
7ab56cc4
DN
343 * m/m68k.h (linux): Use GNU_LINUX instead.
344 Remove boilerplate comments.
345
586b975c 346 * m/intel386.h: Undo reactoring from previous change.
7ab56cc4
DN
347 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
348 too, remove dead code.
349 (linux): Use GNU_LINUX instead.
586b975c 350
5cc9d48a
JR
3512008-07-16 Jason Rumney <jasonr@gnu.org>
352
4c89a3e0 353 * w32gui.h: Repeat 26 June changes lost by last change.
5cc9d48a 354
6b0273cd
DN
3552008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
356
132d0475
DN
357 * systty.h: Remove code for Aix on 386, unsupported platform.
358
359 * s/ms-w32.h: Remove boilerplate comments.
360 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
361
362 * s/gnu-linux.h (TERM): Remove support.
363 (HAVE_SYSVIPC): Remove, unused.
364 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
365 for this system.
366
367 * process.c: Remove support for IRIS, unused.
368 Remove support for TERM, not relevant anymore.
369
370 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
371 used with the definition.
372
373 * s/aix4-2.h (static): Do not undef.
374
375 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
376 only used on Aix.
377 (HAVE_SYSVIPC): Remove, unused.
378
379 * m/hp800.h (CANNOT_DUMP): Do not undef.
380
381 * m/alpha.h: Fix comment.
382
8111c2d8
DN
383 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
384 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
385 used by this configuration.
386 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
387 * unexec.c: Remove code depending on HPUX and
388 USG_SHARED_LIBRARIES, not used with this file. Remove code
389 depending on IRIS, unused. Remove if 0-ed code.
390
e9a57a88
DN
391 * s/template.h: Remove comments about static.
392
4c89a3e0
SM
393 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
394 Remove if 0-ed code.
c7607b94
DN
395 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
396 were the same as the default.
397 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
398 Remove boilerplate comments.
399 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
400 (HAVE_SYSVIPC): Remove, unused.
401 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
402
ff841b30
DN
403 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
404 Remove boilerplate comments.
405 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
406 Remove boilerplate comments.
407 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
408 Remove boilerplate comments.
409 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
410
586b975c
DN
411 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
412 USG systems which do not use DATA_SEG_BITS.
413 Refactor code. Remove boilerplate comments.
414
dc89925b 415 * m/ibms390.h:
dc89925b
DN
416 * m/m68k.h:
417 * s/bsd-common.h:
418 * s/cygwin.h:
419 * s/darwin.h:
420 * s/freebsd.h:
421 * s/gnu.h:
422 * s/msdos.h: Remove boilerplate comments.
423
96b72211
DN
424 * m/iris4d.h: Remove boilerplate comments and code for systems that
425 do not use this file.
426 (IRIS_4D): Remove, unused.
427
c3b5f109
DN
428 * m/mips.h: Remove boilerplate comments and code for systems that
429 do not use this file.
96b72211 430 (SIGN_EXTEND_CHAR):
c3b5f109
DN
431 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
432 * unexmips.c: Remove file, unused.
433
6b0273cd
DN
434 * editfns.c (Fuser_full_name): Replace the only use of
435 USER_FULL_NAME with its value.
436 * config.in: Regenerate.
437
ba60bd44 4382008-07-16 David Reitter <david.reitter@gmail.com>
6fbcfb6f 439
ba60bd44
JB
440 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
441 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
6fbcfb6f 442
44ac2d3e
GM
4432008-07-16 Glenn Morris <rgm@gnu.org>
444
445 * emacs.c (system-type): Doc fix.
446
0a170079
SM
4472008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
448
449 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
450 If the cache doesn't work, let's fix it, rather than work around it.
451
ba60bd44 4522008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
a68fda4a
AR
453
454 * Makefile.in: Correct additions for nsfont.o in last commit.
455 * nsfont.m: New file (forgot last commit).
456
ba60bd44 4572008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
edfda783
AR
458
459 Changes and additions for NeXTstep windowing system (Cocoa and
460 GNUstep) support.
461
ba60bd44 462 * Makefile.in:
edfda783
AR
463 * config.in: Support defines and build commands for NS port.
464 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
465 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
466 * callproc.c (set_initial_environment): Initialize
467 Vprocess_environment under CANNOT_DUMP (fixes crash when
468 batch-compiling for bootstrap, due to Chris Hall).
469 * dispextern.h: Include nsgui.h and add needed typedefs under NS
470 windowing.
471 (struct face): Add synth_ital field.
472 * dispnew.c: Include nsterm.h when compiling under NS windowing.
473 (init_display): Initialize Vinitial_window_system to "ns" when so
474 compiled.
475 * emacs.c: Include GSConfig.h when compiling under GNUstep.
476 (display_arg): Use under NS.
477 (main): Under NS, allocate autorelease pool and handle command line
478 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
479 (standard_args): Add NS-specific args.
480 (shut_down_emacs): Shut down NS terminal if compiled under NS.
481 * font.c (DEFAULT_ENCODING): New variable.
482 (font_find_for_lface): Use it.
483 (syms_of_font): Load syms_of_nsfont under NS.
484 * font.h: Declare nsfont_driver when compiled under NS.
485 * fontset.c: When compiling under NS, include nsterm.h.
486 (fontset_from_font): Autoconstruct fontset under NS.
487 * frame.c (various): Under NS, include nsterm.h, add Qns window system
488 symbol, document and use it.
489 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
490 patch to fix crash due to different init order, due to Chris Hall and
491 Yamamoto Mitsuharu.
492 (do_switch_frame): When for_deletion under Cocoa, add
493 Fraise_frame(Qnil).
494 (x_set_frame_parameters): Ensure font attribute changes are picked up.
495 (x_get_arg): Allow "yes" and "no" as boolean values.
496 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
497 Qright under Cocoa.
498 (focus-follows-mouse): Default to 0 under NS.
499 * frame.h (enum output_method): Add output_ns.
500 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
501 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
502 (FRAME_WINDOW_P): NS-specific definition.
503 * fringe.c (max_used_fringe_bitmap): Make public.
504 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
505 (getloadavg): Use NeXT code under descendant OS's.
506 * image.c (includes and header section, x_create_bitmap_from_data)
507 (x_create_bitmap_from_file, free_bitmap_record, image_background)
508 (image_background_transparent, x_clear_image_1)
509 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
510 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
511 (x_to_xcolors, x_from_xcolors, x_disable_image)
512 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
513 other GUIs, including XPM support using code originally written for
514 Carbon GUI.
0a170079 515 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
edfda783
AR
516 using NS API.
517 (image_ascent): Use font metrics macros instead of direct struct field
518 access.
519 * keyboard.c (includes): Add nsterm.h when compiling under NS.
520 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
521 Also, handle NS as GTK for menu bar purposes.
522 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
523 toolkit where they differ.
524 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
525 use cachelist, still needed under NS.
6ddc6cca 526 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
edfda783
AR
527 (struct widget_value): Define it here for menu.c.
528 * keymap.c (includes): Include modifier internals.
529 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
530 NS.
531 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
532 support for preferring sequences using certain modifiers, specified by
533 the FIRSTONLY argument.
534 * lisp.h (hash_remove): Rename to avoid name clash when compiling
535 under NS GNUstep implementation.
536 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
537 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
538 * menu.c: Include nsterm.h under NS.
539 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
540 (free_menubar_widget_tree_value, update_submenu_strings)
541 (find_and_call_menu_selection): Treat NS as X and NT.
542 (find_and_return_menu_selection): New function, used for popup menus.
ba60bd44
JB
543 * nsgui.h:
544 * nsterm.h:
545 * nsfns.m:
546 * nsimage.m:
547 * nsmenu.m:
548 * nsselect.m:
edfda783
AR
549 * nsterm.m: New files.
550 * process.c (wait_reading_process_output): Under NS, call ns_select()
551 instead of plain select().
552 * syntax.c (char_quoted): Under NS, avoid a crash when called near
553 beginning of buffer.
554 * sysselect.h (init_process): Rename when compiling under Cocoa to
555 avoid name conflict.
556 * termhooks.h (display_info): Add ns_display_info to union.
557 * terminal.c (Fterminal_live_p): Add ns to terminal types.
558 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
559 COCOA environment.
560 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
561 unexec() signature. (Note, this will dump, but the resulting file
562 crashes; unexosx is used instead; keeping around for reference and
563 possible aid in getting dump working under GNUstep.)
564 * w32gui.h (button_type, widget_value): Remove definitions (now in
565 keyboard.h).
566 * window.c: Include nsterm.h when compiling under NS.
567 * xdisp.c (includes): Include nsterm.h when compiling under NS.
568 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
569 other GUI windowing systems.
570 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
571 GTK.
572 (x_consider_frame_title): Under NS, set icon type and frame
573 modified-state indicator; use ns_set_name_as_filename() when using
574 formatted title.
575 (update_window_cursor): Make public when compiling under NS.
576 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
577 (hourglass_atimer, Vhourglass_delay
578 * xfaces.c (header section, init_frame_faces, clear_font_table)
579 (defined_color, unload_color, x_face_list_fonts)
6ddc6cca
SM
580 (prepare_face_for_display): Add NS support parallel to other GUIs.
581 Emulate GCs like other non-X GUIs.
edfda783
AR
582 (split_font_name): Don't lowercase font name under NS.
583 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
584 under NS.
585 * s/darwin.h: Add support for compilation under NS.
586
1391cd54
JR
5872008-07-15 Jason Rumney <jasonr@gnu.org>
588
6ddc6cca
SM
589 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
590 (w32_show_hourglass): Rename from show_hourglass.
591 (w32_hide_hourglass): Rename from hide_hourglass.
592 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
593 (Vhourglass_delay): Declare extern.
594 (hourglass_started): Remove.
1391cd54 595
6ddc6cca
SM
596 * xdisp.c (Vhourglass_delay): Remove static.
597 (hourglass_started, start_hourglass, cancel_hourglass):
598 Don't include these versions on WINDOWSNT.
1391cd54 599
1885ab29
AR
6002008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
601
6ddc6cca 602 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
20d6dc02 603 variables (formerly in xfns.c).
1885ab29
AR
604 (show_hourglass, hide_hourglass): New prototypes (same).
605 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
606 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
20d6dc02 607 in xfns.c).
1885ab29
AR
608 (syms_of_xdisp): Declare/initialize display-hourglass,
609 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
610 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
20d6dc02 611 formerly in xfns.c.
1885ab29
AR
612 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
613 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
614 (start_hourglass, cancel_hourglass): Remove.
615 (show_hourglass, hide_hourglass): Remove prototypes and static
616 modifiers.
617 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
618 hourglass_atimer, hourglass_shown_p declaration/initialization.
619 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
620 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
621 (start_hourglass, cancel_hourglass): Remove.
622 (show_hourglass, hide_hourglass): Remove prototypes and static
623 modifiers.
624 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
625 hourglass_atimer, hourglass_shown_p declaration/initialization.
626 * w32fns.c (display_hourglass_p, Vhourglass_delay)
627 (DEFAULT_HOURGLASS_DELAY): Remove.
628 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
629 hourglass_shown_p declaration/initialization.
630
3faa984f
JR
6312008-07-14 Jason Rumney <jasonr@gnu.org>
632
6ddc6cca
SM
633 * w32fns.c (w32_get_arg): Remove wrapper function.
634 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
635 directly.
636 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3faa984f 637
2f73901f
KH
6382008-07-14 Kenichi Handa <handa@m17n.org>
639
640 * xfont.c (xfont_open): Add workaround for X's bug.
641
11da284d
KH
6422008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
643
644 * fontset.c: Include <stdio.h> unconditionally.
645
944cc4a8
MA
6462008-07-13 Michael Albinus <michael.albinus@gmx.de>
647
648 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
649 for filtering.
650
bdee2ef3
DN
6512008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
652
653 * s/vms.h: Use __GNUC__ instead of _GNUC_.
654
655 * m/macppc.h:
656 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
657
658 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
944cc4a8
MA
659 (SPECIAL_EMACS_INT):
660 * m/ia64.h (SPECIAL_EMACS_INT):
bdee2ef3
DN
661 * m/amdx86-64.h (SPECIAL_EMACS_INT):
662 * s/gnu.h (NLIST_STRUCT):
663 * aix4-2.h (X11R5_INHIBIT_I18N):
664 * s/gnu-linux.h (LINUX):
665 * s/msdos.h (HAVE_FACES):
666 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
667
944cc4a8 668 * systty.h:
bdee2ef3
DN
669 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
670 anymore.
671
bba104c1
DN
6722008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
673
674 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
675 always defined as int.
676
677 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
678 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
679 * s/gnu-linux.h (HAVE_WAIT_HEADER):
680 * s/freebsd.h (HAVE_WAIT_HEADER):
681 * s/bsd-common.h (HAVE_UNION_WAIT):
682 * s/aix4-2.h (HAVE_WAIT_HEADER):
683 * m/mips.h (HAVE_UNION_WAIT):
684 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
685 (COFF, static): Do not define, they are undefined later in the file.
686
687 * process.c (update_status): Don't use a union.
688 (status_convert):
689 (sigchld_handler): Use int instead of WAITTYPE.
690
e433031a
CY
6912008-07-12 Chong Yidong <cyd@stupidchicken.com>
692
693 * indent.c (Fvertical_motion): Restore hscroll before moving to
694 goal column.
695
3bfb4d48
DN
6962008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
697
698 * lisp.h: Remove left over code.
699
e7c9048f
AS
7002008-07-11 Andreas Schwab <schwab@suse.de>
701
7e770c85
AS
702 * lisp.h: Fix logic in last change.
703
e7c9048f
AS
704 * menu.h: New file.
705 * menu.c: Include it.
706 * xmenu.c: Likewise.
707 * Makefile.in: Update dependencies.
708
38aaf336
KH
7092008-07-11 Kenichi Handa <handa@m17n.org>
710
711 * fontset.c (fontset_from_font): Cancel the previous change.
712
6e5cb96f
DN
7132008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
714
715 * lisp.h:
716 * w32heap.c:
717 * emacs.c:
718 * alloc.c: Replace all references of NO_UNION_TYPE with
719 USE_LISP_UNION_TYPE.
720
721 * m/xtensa.h (NO_UNION_TYPE):
722 * m/vax.h (NO_UNION_TYPE):
723 * m/template.h (NO_UNION_TYPE):
724 * m/sparc.h (NO_UNION_TYPE):
725 * m/mips.h (NO_UNION_TYPE):
726 * m/macppc.h (NO_UNION_TYPE):
727 * m/m68k.h (NO_UNION_TYPE):
728 * m/iris4d.h (NO_UNION_TYPE):
729 * m/intel386.h (NO_UNION_TYPE):
730 * m/ibms390x.h (NO_UNION_TYPE):
731 * m/ibms390.h (NO_UNION_TYPE):
732 * m/ibmrs6000.h (NO_UNION_TYPE):
733 * m/ia64.h (NO_UNION_TYPE):
734 * m/hp800.h (NO_UNION_TYPE):
735 * m/arm.h (NO_UNION_TYPE):
736 * m/amdx86-64.h (NO_UNION_TYPE):
737 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
738 defining it the same.
739
e0f47a68
CY
7402008-07-10 Chong Yidong <cyd@stupidchicken.com>
741
ba60bd44 742 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
e0f47a68 743
c5e7567d
DN
7442008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
745
746 * src/fileio.c:
747 * src/sysdep.c
748 * src/systty.h:
749 * src/m/ibmrs6000.h:
750 * src/m/iris4d.h:
751 * src/s/aix4-2.h:
752 * src/s/freebsd.h:
753 * src/s/gnu-linux.h:
754 * src/s/hpux10-20.h:
755 * src/s/hpux11.h:
756 * src/s/netbsd.h:
757 * src/s/sol2-3.h:
758 * src/s/sol2-4.h:
759 * src/s/sol2.h:
760 * src/s/usg5-4.h:
761 * src/s/vms.h: Remove references to unused variables.
762
bb658864
AS
7632008-07-10 Andreas Schwab <schwab@suse.de>
764
765 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
766 pattern before matching the generic family.
767
3d3db608
DN
7682008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
769
a0ce9ab7 770 * unexec.c:
3460e0b9
DN
771 * s/vms.h:
772 * s/usg5-4-2.h:
773 * s/sol2-5.h:
774 * s/freebsd.h:
775 * s/darwin.h: Remove dead code.
776
ad76189a
DN
777 * m/template.h:
778 * m/sparc.h:
779 * m/mips.h:
780 * m/m68k.h:
781 * m/iris4d.h:
782 * m/intel386.h:
783 * m/ibms390x.h:
784 * m/ibms390.h:
785 * m/ia64.h:
786 * m/hp800.h:
787 * m/arm.h:
788 * m/amdx86-64.h: Remove dead code and references to unused
789 and compiler defined symbols.
790
d2b5bbda
DN
791 * unexmips.c:
792 * unexelf.c: Remove references to desupported systems.
793
40dde9d1
DN
794 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
795
21133394
DN
796 * m/powermac.h: Remove boilerplate comments.
797 (NO_REMAP): Remove unused definition.
798
3d3db608
DN
799 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
800 define them.
801
c8e0e16d
KH
8022008-07-10 Kenichi Handa <handa@m17n.org>
803
804 * xfont.c (xfont_open): Log the reason of failure.
805
3cba9369
SM
8062008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
807
808 * fontset.c (fontset_get_font_group):
809 * font.c (font_check_otf): Specify argument types.
810
73353585
KH
8112008-07-09 Kenichi Handa <handa@m17n.org>
812
0e17387a
KH
813 * coding.c (detect_coding_utf_8): Set detect_info->found only when
814 non-ASCII char is found.
815
73353585
KH
816 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
817 (reorder_font_vector): Change the arg preferred_family to font.
818 Prefer the spec matching with font.
819 (fontset_get_font_group): New function.
820 (fontset_find_font): Change the format of an element of a realized
821 fontset. Use fontset_get_font_group.
822 (fontset_font): Try the current fontset, the default fontset, the
823 fallbacks of the current fonset, and the fallbacks of the default
824 fontset in this order.
825 (face_for_char): Delete the shortcut to use the current font.
826 (fontset_from_font): Don't set fonts for Latin in the fontset.
827
828 * font.h (font_make_object, font_match_p): Adjust prototypes.
829
830 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
831
832 * font.c (font_make_object): New arg entity and pixelsize.
833 (font_check_otf_features, font_check_otf): New functions.
834 (font_match_p): Check :lang, :script, and :otf properties.
835
836 * xfont.c (xfont_open): Adjust it for the change of
837 font_make_object.
e5d05978 838 (xfont_text_extents): Fix initial setting of metrics.
73353585
KH
839
840 * ftfont.c (struct ftfont_info): New member index, delete member
841 fc_charset_idx. Make the member order compatible with struct
842 xftfont_info.
843 (fc_charset_table): Change charset names to registry names.
844 (ftfont_pattern_entity): Delete the args registry and
845 fc_charset_idx. Change the value of :font-entity property
846 to (FONTNAME . INDEX). Always set :registry property to
847 `iso10646-1'.
848 (struct ftfont_cache_data): New struct.
849 (ftfont_lookup_cache): New arg for_face.
850 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
851 (ftfont_driver): Set the member otf_capability.
852 (ftfont_get_charset): Adjust it for the change of
853 fc_charset_table.
854 (OTF_TAG_SYM): New macro.
855 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
856 for the change of fc_charset_table.
857 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
858 ftfont_pattern_entity. Add FC_INDEX to objset.
859 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
860 and ftfont_pattern_entity.
861 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
862 font_make_object, struct ftfont_info.
863 (ftfont_has_char): Use ftfont_get_fc_charset.
864 (ftfont_otf_features, ftfont_otf_capability): New functions.
865 (ftfont_shape): Use ftfont_get_otf.
e5d05978 866 (ftfont_text_extents): Fix initial setting of metrics.
73353585
KH
867
868 * xftfont.c (struct xftfont_info): New member ft_size. Make the
869 member order compatible with struct ftfont_info.
870 (xftfont_open): Add FC_CHARSET to the pattern. Set
871 xftfont_info->ft_size. Don't unlock the face. Check BDF
872 properties if appropriate.
873 (xftfont_close): Unlock the face.
874 (xftfont_anchor_point, xftfont_shape): Deleted.
875 (syms_of_xftfont): Don't set members anchor_point and shape of
876 xftfont_driver.
877
878 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
879 font_make_object.
880
881 * w32font.c (w32font_open): Adjust it for the change of
882 font_make_object.
883 (w32font_open_internal): Don't set properties of font_object here.
884
7f000038
CY
8852008-07-08 Chong Yidong <cyd@stupidchicken.com>
886
830aab93
CY
887 * macfns.c (x_create_tip_frame):
888 * w32fns.c (x_create_tip_frame):
889 * xfns.c (x_create_tip_frame): Pass parameter argument to
890 face-set-after-frame-default.
891
7f000038
CY
892 * xfaces.c (Finternal_merge_in_global_face): Save merged
893 attributes for the default face back into the face vector.
894
85cf8992
AS
8952008-07-08 Andreas Schwab <schwab@suse.de>
896
897 * fontset.h: Declare fontset_from_font. Don't declare
898 new_fontset_from_font and fontset_from_font_name.
899 * xterm.c: Include "fontset.h".
900 * Makefile.in (xterm.o): Update dependencies.
901
4a00783e
GM
9022008-07-08 Glenn Morris <rgm@gnu.org>
903
904 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
905 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
906
4d2d5f5f
CY
9072008-07-07 Chong Yidong <cyd@stupidchicken.com>
908
909 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
910 (x_set_frame_parameters): Don't bind it.
911
dfe66c5b
JB
9122008-07-07 Juanma Barranquero <lekktu@gmail.com>
913
914 * w32fns.c (map_w32_filename): Declare extern.
915
ec7e221c
JR
9162008-07-07 Jason Rumney <jasonr@gnu.org>
917
dfe66c5b 918 * w32term.c (WS_EX_LAYERED): Define if not already.
ec7e221c 919
fe5d61c4
CY
9202008-07-06 Chong Yidong <cyd@stupidchicken.com>
921
922 * xfaces.c (set_font_frame_param): Don't try to set the font
923 parameter if it is still unspecified in the lface.
924
9204cb8b
CY
9252008-07-05 Chong Yidong <cyd@stupidchicken.com>
926
0a143d3a
CY
927 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
928 face if it didn't already exist.
929
9204cb8b
CY
930 * xdisp.c (try_window_id): Give up if word-wrapping is on.
931
6c95e70d
AS
9322008-07-05 Andreas Schwab <schwab@suse.de>
933
dfe66c5b 934 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
6c95e70d 935
59230395
CY
9362008-07-05 Chong Yidong <cyd@stupidchicken.com>
937
938 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
939 word-wrapping.
940 (IT_DISPLAYING_WHITESPACE): New macro.
941 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
942 when word-wrapping. Simplify word-wrapping logic. Use correct
943 pixel positions when saving copies of the iterator.
944 (display_line): Use proper wrap point if the last character on a
945 line was preceded by whitespace.
946
d7c664f3
SM
9472008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
948
949 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
950
9ffc8a3a
KH
9512008-07-04 Kenichi Handa <handa@m17n.org>
952
953 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
954
955 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
956
946598bf
JR
9572008-07-02 Jason Rumney <jasonr@gnu.org>
958
d7c664f3
SM
959 * xfns.c (syms_of_xfns): Only define x-select-font when both
960 HAVE_FREETYPE and USE_GTK
946598bf 961
d7c664f3
SM
962 * xdisp.c (next_element_from_display_vector): Move assignment out
963 of if statement.
946598bf 964
6cf29fe8
JR
9652008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
966
d7c664f3 967 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
6cf29fe8 968
d7c664f3
SM
969 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
970 (syms_of_fileio): Initialize and export them.
971 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
6cf29fe8 972
d7c664f3
SM
973 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
974 (Fsystem_move_file_to_trash): New function.
975 (syms_of_w32fns): Export it to lisp.
6cf29fe8 976
79ca7db1
JR
9772008-07-01 Jason Rumney <jasonr@gnu.org>
978
d7c664f3
SM
979 * w32font.c (w32font_text_extents): Don't count overhang as part
980 of width.
79ca7db1 981
c2786a3d 9822008-06-30 Miles Bader <miles@gnu.org>
c4f4682b
MB
983
984 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
985 Add `avoid_cursor_p' field.
986
987 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
988 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
989 (append_glyph, append_composite_glyph, produce_image_glyph)
c2786a3d
JB
990 (append_stretch_glyph): Initialize avoid_cursor_p.
991 (get_it_property): Rename from `get_line_height_property'.
c4f4682b
MB
992 (x_produce_glyphs): Use get_it_property.
993 (handle_line_prefix, push_display_prop): New functions.
994 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
c2786a3d
JB
995 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
996 New variables.
c4f4682b
MB
997 (syms_of_xdisp): Initialize them.
998
7d7ad10e
KH
9992008-06-30 Kenichi Handa <handa@m17n.org>
1000
1001 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
1002 XftDefaultSubstitute (they are called in XftFontMatch).
1003 (xftfont_open): Fix args to ftfont_font_format.
1004
1005 * ftfont.c (fc_charset_table): New member lang.
1006 (ftfont_resolve_generic_family): New arg pattern.
1007 (ftfont_spec_pattern): Check fc_cahrset_table[]->lang.
1008 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
1009 (ftfont_open): Fix args to ftfont_font_format.
1010 (ftfont_font_format): New arg filename.
1011
44b754c7
CY
10122008-06-30 Chong Yidong <cyd@stupidchicken.com>
1013
1014 * xfaces.c (Finternal_merge_in_global_face): If default face was
1015 modified, realize it again. Update the font face attribute.
1016
a4521b03
JR
10172008-06-29 Jason Rumney <jasonr@gnu.org>
1018
c2786a3d 1019 * w32term.c (x_set_frame_alpha): Fix logic.
a4521b03 1020
fe44f009
KH
10212008-06-29 Kenichi Handa <handa@m17n.org>
1022
1023 * fontset.c (Finternal_char_font): Return font-object instead of
1024 font-name.
1025
c2786a3d 1026 * composite.c (get_composition_id): Fix the width calculation for TAB.
fe44f009 1027
baed8445
SM
10282008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
1029
1030 * indent.c (Fvertical_motion): Properly handle float column arg.
1031
8b61a891
JR
10322008-06-28 Jason Rumney <jasonr@gnu.org>
1033
baed8445
SM
1034 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
1035 (pfnSetLayeredWindowAttributes): New function pointer.
1036 (w32_initialize): Initialize it when supported.
1037 (x_set_frame_alpha): New function.
8b61a891 1038
baed8445
SM
1039 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
1040 (w32_frame_parm_handlers): Set alpha handler.
8b61a891 1041
baed8445 1042 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
8b61a891 1043
57016d37
JR
10442008-06-27 Jason Rumney <jasonr@gnu.org>
1045
baed8445
SM
1046 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
1047 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
1048 (w32_to_x_charset, x_to_w32_charset)
1049 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
1050 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
1051 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
1052 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
1053 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
1054 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
1055 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
1056 (Qw32_charset_unicode): Remove.
1057 (syms_of_w32fns): Update for above changes.
1058
1059 * w32font.c (w32_to_x_charset, x_to_w32_charset)
1060 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
1061 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
1062 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
1063 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
1064 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
1065 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
1066 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
1067 (syms_of_w32font): Update for above changes.
57016d37 1068
d6bf1bdb
DN
10692008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
1070
1071 * s/usg5-4.h: Fix previous change: keep the correct branch of a
1072 removed #if.
9fa1c445 1073 (USG_SHARED_LIBRARIES): Remove duplicate definition.
d6bf1bdb 1074
43db14bb
JB
10752008-06-26 Juanma Barranquero <lekktu@gmail.com>
1076 Eli Zaretskii <eliz@gnu.org>
1077
1078 * makefile.w32-in (LOCAL_FLAGS):
1079 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
1080
1081 * sysdep.c (_spawnlp, _getpid):
1082 Declare with explicit _cdecl instead of _CRTAPI1.
1083
1084 * editfns.c (Fget_internal_run_time):
1085 Check for WINDOWSNT with #ifdef, not #if.
1086
c35f9821
JR
10872008-06-26 Jason Rumney <jasonr@gnu.org>
1088
43db14bb 1089 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
c35f9821 1090
57016d37 1091 * w32term.c (x_draw_glyph_string_foreground)
43db14bb
JB
1092 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
1093 Use FONT_HANDLE macro.
1094 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
c35f9821 1095
57016d37 1096 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
43db14bb 1097 (uniscribe_encode_char): Use FONT_HANDLE macro.
c35f9821 1098
43db14bb
JB
1099 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
1100 (w32font_text_extents): Use precast w32_font.
1101 (w32font_close): Free cached metrics.
1102 (w32font_open_internal): Allocate space for name on stack.
c35f9821 1103
1f8ad719
CY
11042008-06-26 Chong Yidong <cyd@stupidchicken.com>
1105
1106 * xdisp.c (extend_face_to_end_of_line): Fix last change.
1107
97e71655
JR
11082008-06-26 Jason Rumney <jasonr@gnu.org>
1109
43db14bb
JB
1110 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
1111 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
97e71655 1112
c9fc02c7
JB
11132008-06-26 Juanma Barranquero <lekktu@gmail.com>
1114
1115 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
1116
1b5defe6
JR
11172008-06-26 Jason Rumney <jasonr@gnu.org>
1118
c9fc02c7 1119 * w32bdf.c, w32bdf.h: Remove obsolete files.
1b5defe6 1120
c9fc02c7 1121 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
1b5defe6 1122
c9fc02c7
JB
1123 * w32gui.h: Don't include w32bdf.h.
1124 (XCharStruct, enum w32_char_font_type, W32FontStruct):
1125 Remove obsolete font support.
1b5defe6 1126
c9fc02c7
JB
1127 * w32font.h (struct w32font_info): Remove compat_w32_font.
1128 Add hfont member.
1129 (FONT_COMPAT): Remove obsolete macro.
1b5defe6 1130
ba60bd44 1131 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
c9fc02c7 1132 (w32font_encode_char, w32font_text_extents): Use new hfont member.
ba60bd44 1133 (w32font_open_internal): Remove compat code. Set new hfont member.
c9fc02c7 1134 (Fx_select_font): Use new hfont member.
1b5defe6 1135
57016d37 1136 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
c9fc02c7 1137 (uniscribe_encode_char): Use new hfont member.
1b5defe6 1138
57016d37 1139 * w32term.c (x_draw_glyph_string_foreground)
c9fc02c7
JB
1140 (x_draw_composite_glyph_string_foreground): Use new hfont member.
1141 (x_draw_glyph_string): Use metrics in w32font_info.
1b5defe6 1142
1fc66bca
KH
11432008-06-26 Kenichi Handa <handa@m17n.org>
1144
1145 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
1146
f2a77c3a
DN
11472008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
1148
1149 * unexnext.c:
1150 * m/ews4800.h:
1151 * m/hp9000s300.h:
1152 * m/ibm370aix.h:
1153 * m/mips-siemens.h:
1154 * m/ncr386.h:
1155 * m/next.h:
1156 * m/pmax.h:
1157 * m/powerpcle.h:
1158 * m/tandem-s2.h:
1159 * s/386bsd.h:
1160 * s/bsd386.h:
1161 * s/bsd4-1.h:
1162 * s/bsd4-2.h:
1163 * s/bsdos2-1.h:
1164 * s/bsdos2.h:
1165 * s/bsdos3.h:
1166 * s/bsdos4.h:
1167 * s/nextstep.h:
1168 * s/ultrix4-3.h:
1169 * s/usg5-0.h:
1170 * s/usg5-2-2.h:
1171 * s/usg5-2.h:
1172 * s/usg5-4-3.h:
1173 * s/ux4800.h:
1174 * s/uxpds.h:
1175 * s/uxpv.h: Remove support for obsolete systems.
1176 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
1177 Remove, insert contents in s/hpux-10.20.h
1178 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
1179 Remove, insert contents in s/aix-4.2.h
1180 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
1181 * s/bsd4-3.h: Rename to ..
1182 * s/bsd-common.h: ... this.
1183 * src/data.c:
1184 * src/doc.c:
1185 * src/ecrt0.c:
1186 * src/emacs.c:
1187 * src/fileio.c:
1188 * src/floatfns.c:
1189 * src/keyboard.c:
1190 * src/mem-limits.h:
1191 * src/print.c:
1192 * src/process.c:
1193 * src/sysdep.c:
1194 * src/syssignal.h:
1195 * src/systty.h:
1196 * src/syswait.h:
1197 * src/term.c:
1198 * src/unexec.c:
1199 * src/unexelf.c:
1200 * src/unexhp9k800.c:
1201 * src/m/hp800.h:
1202 * src/m/ibmrs6000.h:
1203 * src/m/mips.h:
1204 * src/m/vax.h:
1205 * src/s/darwin.h:
1206 * src/s/freebsd.h:
1207 * src/s/gnu.h:
1208 * src/s/ms-w32.h:
1209 * src/s/msdos.h:
1210 * src/s/netbsd.h:
1211 * src/s/template.h: Remove references to obsolete variables.
1212
1213 * Makefile.in: Add dependencies for all unexec files.
1214 (admindir): Remove unused variable.
1215 (UNEXEC_SRC): Remove references.
1216
bd02793a
CY
12172008-06-25 Chong Yidong <cyd@stupidchicken.com>
1218
1219 * xfns.c (x_default_font_parameter): If Xft is available, first
1220 try Monospace-12 for the default font.
1221
ccedd259
JR
12222008-06-25 Jason Rumney <jasonr@gnu.org>
1223
c9fc02c7 1224 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
ccedd259 1225
fbe062b7
SM
12262008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
1227
603a0937
SM
1228 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
1229
fbe062b7
SM
1230 * buffer.c (syms_of_buffer): Remove default-word-wrap.
1231
69785ad0
JB
12322008-06-25 Juanma Barranquero <lekktu@gmail.com>
1233
1234 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
1235 <scroll-conservatively>: Fix typo in docstring.
1236
1237 * xselect.c (Fx_send_client_event): Doc fix.
1238
249e6f76
KH
12392008-06-25 Kenichi Handa <handa@m17n.org>
1240
34e97272
KH
1241 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
1242
1243 * font.c (font_parse_fcname): Remove unused variables.
69785ad0
JB
1244 (font_sort_entites): Delete the arg SPEC. Caller changed.
1245 Fix for the case of ! best_only.
34e97272
KH
1246 (font_delete_unmatched): Check DPI and AVGWIDTH too.
1247
249e6f76
KH
1248 * lisp.h (Fstring_to_unibyte): EXFUN it.
1249
69785ad0 1250 * character.h (str_to_unibyte): Extern it.
249e6f76
KH
1251
1252 * character.c (str_to_unibyte): New function.
1253
1254 * fns.c (Fstring_to_unibyte): New function.
1255 (syms_of_fns): Defsubr it.
1256
65c108e4
KH
12572008-06-24 Kenichi Handa <handa@m17n.org>
1258
1259 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
1260 DPI too.
1261 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
1262
4c3f18fe
AS
12632008-06-24 Andreas Schwab <schwab@suse.de>
1264
69785ad0 1265 * Makefile.in (${lispsource}loaddefs.el): Rename from
4c3f18fe 1266 ../lisp/loaddefs.el.
fd13748d
AS
1267 (bootstrap-clean): Do what distclean does but don't remove
1268 Makefile.
1269 (distclean): Depend on bootstrap-clean and remove Makefile.
4c3f18fe 1270
faa6190f
CY
12712008-06-24 Chong Yidong <cyd@stupidchicken.com>
1272
1273 * buffer.h (struct buffer): New member word_wrap.
1274
1275 * buffer.c (syms_of_buffer): New variables default-word-wrap and
1276 word-wrap.
1277 (init_buffer_once): Initialize them.
1278
1279 * dispextern.h (struct it): Replace bool truncate_lines_p with a
1280 line_wrap enum possessing three possible values.
1281
1282 * termopts.h: Replace truncate_partial_width_windows with
1283 Vtruncate_partial_width_windows.
1284
1285 * dispnew.c (direct_output_for_insert): Avoid direct output when
1286 inserting a space with word wrap on.
1287
1288 * indent.c (compute_motion): Obey integer values of
1289 truncate-partial-width-windows.
1290
1291 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
1292 replacing truncate_partial_width_windows.
1293 (init_iterator): If Vtruncate_partial_width_windows is an integer,
1294 truncate only if the window width is below that integer.
ba60bd44 1295 (start_display, resize_mini_window, produce_stretch_glyph)
faa6190f
CY
1296 (display_string, move_it_in_display_line_to): Use line_wrap.
1297 (back_to_previous_visible_line_start, reseat_1): Reset
1298 string_from_display_prop_p.
1299 (display_line): Extend default face to end of line when wrapping.
1300
13012008-06-24 Kim F. Storm <storm@cua.dk>
1302
1303 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
1304 to wrap continued lines at word boundaries.
1305
c3bb5465
JR
13062008-06-24 Jason Rumney <jasonr@gnu.org>
1307
69785ad0
JB
1308 * font.c (Ffont_face_attributes): Multiply pixel size before point
1309 conversion to avoid multiplying rounding error.
c3bb5465 1310
0b07ad98
JR
13112008-06-23 Jason Rumney <jasonr@gnu.org>
1312
f245f2c6
JB
1313 * w32term.c (x_draw_glyph_string_background)
1314 (x_draw_glyph_string): Remove old bdf font code.
0b07ad98 1315
69785ad0 1316 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
0b07ad98 1317
22459668
KH
13182008-06-22 Kenichi Handa <handa@m17n.org>
1319
1320 * font.c (font_find_for_lface): Try the adstyle specified in
1321 the property of LFACE_FONT of LFACE (if any).
1322
d925a426 13232008-06-21 Seiji Zenitani <zenitani@mac.com>
f245f2c6 1324 Ryo Yoshitake <ryo@shiftmode.net>
d925a426
SM
1325
1326 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
1327
b4945b95
SM
13282008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
1329
1330 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
1331 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
1332 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
1333 (witness-emacs): Remove.
1334 (lisp, shortlisp): Move loaddefs.el earlier.
1335 (mostlyclean): Forget about witness-emacs.
1336
64124279
GM
13372008-06-22 Glenn Morris <rgm@gnu.org>
1338
1339 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
36565815 1340 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
64124279 1341
768efd84
SM
13422008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
1343
1344 * Makefile.in (PRECOMP): Remove.
1345 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
1346 (witness-emacs): Run `compile-first'.
1347 (.el.elc): Use the new compile-onefile target.
1348
808dd567
KH
13492008-06-21 Kenichi Handa <handa@m17n.org>
1350
1351 * xftfont.c (xftfont_open): Handle QCembolden only when
1352 FC_EMBOLDEN is defined.
1353
0de59eae
AS
13542008-06-21 Andreas Schwab <schwab@suse.de>
1355
1356 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
58e8833b 1357 (.el.elc): Likewise.
0de59eae 1358
fb38e9c9
MB
13592008-06-21 Miles Bader <miles@gnu.org>
1360
1361 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
1362 build dir, not the lisp source dir.
1363
fc46d219
SM
13642008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
1365
1366 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
1367 (bootstrapclean): Remove.
1368 (.el.elc): New rule.
1369 (PRECOMP): New var.
1370 (../lisp/subdirs.el): Remove.
1371 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
1372 (witness-emacs): New target.
1373 (mostlyclean): Remove witness-emacs as well.
1374 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
1375 Add witness-emacs dependency.
1376
eaf1f6e7
CY
13772008-06-20 Chong Yidong <cyd@stupidchicken.com>
1378
1379 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
1380 defined by the font.
1381
49f6eb95
SM
13822008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
1383
1384 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
1385 (bootstrap-clean): New target that keeps TAGS around.
1386 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
1387 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
1388
4c100a01
JR
13892008-06-20 Jason Rumney <jasonr@gnu.org>
1390
49f6eb95
SM
1391 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
1392 Remove obsolete font code.
db61a7f8 1393
49f6eb95
SM
1394 * w32font.c (font_matches_spec): Use csb bitfield from font signature
1395 to determine language support.
4c100a01 1396
759d3f32
SM
13972008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
1398
1399 * sysdep.c (cfsetspeed): New fun extracted from the code.
1400 (cfmakeraw): Move before first use.
1401
25241b4d
SM
14022008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
1403
1404 * sysdep.c (cfmakeraw): Provide fallback implementation.
1405 (serial_configure): Provide fallback implementation of cfsetspeed.
1406
d7afccca
KH
14072008-06-20 Kenichi Handa <handa@m17n.org>
1408
dc2226d0
KH
1409 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
1410 the pattern.
1411
9b9cd864
KH
1412 * fontset.c (fontset_from_font): Copy font_spec before changing
1413 the elements.
1414
d7afccca
KH
1415 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
1416
770e2e6e
SM
14172008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
1418
1419 * w32fns.c, xfnc.c (x_default_font_parameter): Only set `font-param'
1420 for explicit `font' parameters.
1421
1422 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
1423
22e64f7c
KH
14242008-06-19 Kenichi Handa <handa@m17n.org>
1425
1426 * frame.c: Include <ctype.h>.
1427 (x_set_font_backend): Allow spacing characters in the X resource
1428 for FontBackend.
1429
27129af9
SM
14302008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
1431
1432 * w32fns.c, xfns.c (Qfont_param): New var.
1433 (syms_of_w32fns): Initialize it.
22e64f7c
KH
1434 (x_default_font_parameter): Record explicit `font' into
1435 `font-parameter'.
27129af9 1436
d26424c5
KH
14372008-06-18 Kenichi Handa <handa@m17n.org>
1438
1439 * font.c (font_parse_xlfd): Fix previous change.
1440 (font_parse_fcname): Don't use :fc-unknown-spec.
1441 (FRAME_X_DISPLAY_INFO): Besure to have at least 1 pixel height.
1442 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
1443 (font_add_log): Prepend the driver name to the resulting fonts.
1444
1445 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
1446 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
1447 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
1448
1449 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
1450 (QCembolden): New variables.
1451 (syms_of_xftfont): DEFSYM them.
1452 (xftfont_open): Call XftFontMatch. Don't trust the result of
1453 XftTextExtents8 if the pixel_size is less than 5.
1454
51cf11be
AS
14552008-06-18 Andreas Schwab <schwab@suse.de>
1456
f245f2c6 1457 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
51cf11be
AS
1458 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
1459
07d9ba9b
JR
14602008-06-18 Jason Rumney <jasonr@gnu.org>
1461
27129af9 1462 * w32font.c (w32font_list, w32font_match): Add logging.
07d9ba9b 1463
27129af9 1464 * w32uniscribe (uniscribe_list, uniscribe_match): Add logging.
07d9ba9b 1465
0c36bc4e
CY
14662008-06-17 Chong Yidong <cyd@stupidchicken.com>
1467
1468 * font.c (font_parse_fcname): Store divider characters for
1578da31
CY
1469 unknown-spec list. For known key symbols, intern using correct
1470 symbol name.
0c36bc4e 1471
70d6ecc6
KH
14722008-06-17 Kenichi Handa <handa@m17n.org>
1473
1474 * xfaces.c (realize_default_face): If the frame is not on window
1475 system, set the fontset of face to nil.
1476
821bc4db
KH
14772008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
1478
f245f2c6 1479 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
821bc4db 1480
3554e566
JB
14812008-06-16 Juanma Barranquero <lekktu@gmail.com>
1482
1483 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
1484 (build_font_name_from_vector): Delete externs.
1485
1486 * xfaces.c (struct font_name): Don't declare.
1487
93eed26b
SM
14882008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
1489
1490 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
1491
d756bcd0
CY
14922008-06-16 Chong Yidong <cyd@stupidchicken.com>
1493
1494 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
1495
7a18a178
JB
14962008-06-16 Juanma Barranquero <lekktu@gmail.com>
1497
1498 * font.c (Ffont_spec): Fix usage in docstring.
48105a6a 1499 (Ffont_face_attributes): Doc fix.
7a18a178 1500
6f568955
AS
15012008-06-16 Andreas Schwab <schwab@suse.de>
1502
1503 * font.c (Ffont_face_attributes): Fix definition.
1504
3ef8c1b4
JR
15052008-06-16 Jason Rumney <jasonr@gnu.org>
1506
93eed26b 1507 * font.h (font_style_symbolic_from_value): Remove.
3ef8c1b4 1508
93eed26b
SM
1509 * font.c (font_style_symbolic_from_value): Remove.
1510 (font_style_symbolic): Revert to pre 2008-06-13 version.
3ef8c1b4 1511
93eed26b
SM
1512 * w32font.c (w32_to_fc_weight): New function.
1513 (w32font_full_name, logfont_to_fcname): Use it.
3ef8c1b4 1514
5e634ec9
KH
15152008-06-16 Kenichi Handa <handa@m17n.org>
1516
1517 * font.c (font_check_object): Delete it.
1518 (font_clear_cache): Check if a font-object is alive.
1519 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
1520 font-object to nil.
1521 (font_close_object): Don't check FONT_CLOSE_OBJECT.
1522 (font_at): Don't call font_check_object.
2babb359 1523 (Ffont_get): Return a symbol for :weight, :slant, and :width.
5e634ec9 1524
6409a955
KY
15252008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
1526
1527 * puresize.h (BASE_PURESIZE): Increase to 1230000.
1528
ce4eaddb
CY
15292008-06-16 Chong Yidong <cyd@stupidchicken.com>
1530
1531 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
1532
523dbe64
CY
15332008-06-15 Chong Yidong <cyd@stupidchicken.com>
1534
54b2ab27 1535 * font.c (font_parse_fcname): Only one decimal point.
523dbe64
CY
1536 (font_unparse_fcname): Handle data in family and foundry indices
1537 as symbols, not strings.
1538 (font_unparse_gtkname, Ffont_face_attributes): New functions.
1539
54b2ab27 1540 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
523dbe64
CY
1541
1542 * font.h (font_unparse_gtkname): Add prototype.
1543
9f296082
KH
15442008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
1545
54b2ab27 1546 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
9f296082 1547
3306c6dc
AS
15482008-06-15 Andreas Schwab <schwab@suse.de>
1549
1550 * font.c (font_update_drivers): Fix crash when no drivers match.
1551
a099c27a
SM
15522008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
1553
1554 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
1555 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
1556
a8aa344d
SM
15572008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
1558
1559 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
1560
a879ee6f
SM
15612008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
1562
1563 * process.c (Fserial_process_configure, Fprocess_send_eof):
1564 Use EQ to compare Lisp_Objects.
1565
6fe9826d
JR
15662008-06-13 Jason Rumney <jasonr@gnu.org>
1567
a879ee6f 1568 * w32fns.c (Fw32_select_font): Remove old font API function.
6fe9826d 1569
a879ee6f
SM
1570 * w32font.c (logfont_to_fcname): New function.
1571 (Fx_select_font): New font dialog function compatible with
1572 GTK/fontconfig version.
6fe9826d 1573
a879ee6f
SM
1574 * font.c (font_style_symbolic_from_value): New function.
1575 (font_style_symbolic): Use it.
6fe9826d 1576
a879ee6f 1577 * font.h (font_style_symbolic_from_value): Declare new function.
6fe9826d 1578
17ab8f5d
JB
15792008-06-13 Juanma Barranquero <lekktu@gmail.com>
1580
1581 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
1582 <font-width-table>: Fix typos in docstrings.
1583
d888760c
GM
15842008-06-13 Daniel Engeler <engeler@gmail.com>
1585
1586 These changes add serial port access.
1587 * process.c: Add HAVE_SERIAL.
1588 (Fdelete_process, Fprocess_status, Fset_process_buffer)
1589 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
1590 (list_processes_1, select_wrapper, Fstop_process)
1591 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
1592 (status_notify): Modify to handle serial processes.
1593 [HAVE_SERIAL] (Fserial_process_configure)
1594 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
1595 New functions.
1596 * process.h (struct Lisp_Process): Add `type'.
1597 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
1598 New functions.
1599 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
1600 serial ports.
1601 (serial_open, serial_configure) New functions.
1602 * w32.h: Add FILE_SERIAL.
1603 (struct _child_process): Add ovl_read, ovl_write.
1604
f4cc0153
KH
16052008-06-13 Kenichi Handa <handa@m17n.org>
1606
1607 * dispextern.h (enum lface_attribute_index): New member
1608 LFACE_FOUNDRY_INDEX.
1609
1610 * font.c (font_score): Delete arg alternate_families. Check only
7a18e381 1611 weight, slant, width, and size. Ignore the difference of alias
f4cc0153 1612 style symbols.
7a18e381 1613 (font_sort_entites): Adjust for the above change. Reflect the
f4cc0153
KH
1614 order of font-driver to scores.
1615 (font_list_entities): Don't check alternate_familes here.
1616 (font_clear_prop): Handle foundry.
1617 (font_update_lface): Don't parse "foundry-family" form here.
1618 Handle FONT_FOUNDRY_INDEX.
1619 (font_find_for_lface): Likewise. Handle alternate families here.
a879ee6f 1620 If registry is nil, try iso8859-1 and ascii-0.
f4cc0153 1621 (font_open_for_lface): Pay attention to size in ENTITY.
7a18e381 1622 (font_open_by_name): Simplify by calling font_load_for_lface.
f4cc0153
KH
1623 (free_font_driver_list): Delete it.
1624 (font_update_drivers): Preserve the order of backends.
1625 (syms_of_font): Setting of sort_shift_bits adjusted for the change
1626 of font_score and font_sort_entites.
1627 (font_update_sort_order): Likewise.
1628
1629 * xfaces.c (LFACE_FOUNDRY): New macro.
1630 (check_lface_attrs): Check foundry.
7a18e381 1631 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
f4cc0153
KH
1632 (merge_face_vectors): Check foundry.
1633 (merge_face_ref): Likewise.
1634 (Finternal_set_lisp_face_attribute): Likewise.
1635 (x_update_menu_appearance): Likewise.
1636 (Finternal_get_lisp_face_attribute): Likewise.
1637 (lface_hash): Likewise.
1638 (lface_same_font_attributes_p): Likewise.
1639 (x_supports_face_attributes_p): Likewise.
1640 (tty_supports_face_attributes_p): Likewise.
1641 (Finternal_set_alternative_font_family_alist): Intern strings.
1642 (Finternal_set_alternative_font_registry_alist): Downcase strings.
1643 (realize_default_face): Set LFACE_FOUNDRY (lface).
1644
1645 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
1646 font-driver at first.
1647
1648 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
1649
d434fef5 16502008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
97dead2d
JM
1651
1652 * lread.c (Fload): Use xfree, not free on saved_doc_string.
1653
9c5e177e
JM
16542008-06-12 Jim Meyering <meyering@redhat.com>
1655
d434fef5 1656 Make unexec_free handle NULL the same way free does.
9c5e177e
JM
1657 * unexmacosx.c (unexec_free): Ignore a NULL argument.
1658
2afc21f5
SM
16592008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
1660
1661 * character.h (CHAR_TO_BYTE_SAFE): New macro.
1662 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
1663 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
1664 (WEAK_ALIAS): Simplify.
1665 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
1666 when searching a unibyte buffer.
1667
76c0de62
CY
16682008-06-12 Chong Yidong <cyd@stupidchicken.com>
1669
1670 * xfns.c (Fx_select_font): Rename from x-font-dialog.
1671
0500dcc9
JB
16722008-06-12 Juanma Barranquero <lekktu@gmail.com>
1673
1674 * w32font.c: Include ctype.h.
1675
f42adef6
JR
16762008-06-11 Jason Rumney <jasonr@gnu.org>
1677
2afc21f5
SM
1678 * w32font.c (w32font_encode_char): Detect missing glyphs that are
1679 misreported as space.
1680 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
1681 as aliases for registry iso10646-1.
f42adef6 1682
4b7cdc0e
SM
16832008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
1684
1685 * buffer.c (clone_per_buffer_values): Skip `name'.
1686
cc02ebe1
CY
16872008-06-11 Chong Yidong <cyd@stupidchicken.com>
1688
1689 * font.c (font_parse_fcname): Fix last change; accept decimal
1690 points in font size.
1691
351ccb76
JR
16922008-06-10 Jason Rumney <jasonr@gnu.org>
1693
0500dcc9
JB
1694 * w32uniscribe.c (add_opentype_font_name_to_list):
1695 Skip non unicode fonts.
351ccb76 1696
f473ed6f
CY
16972008-06-10 Chong Yidong <cyd@stupidchicken.com>
1698
1699 * xfns.c (Fx_font_dialog): New function.
1700
5d6333d5 1701 * gtkutil.c (xg_dialog_response_cb): Rename from
f473ed6f
CY
1702 xg_file_response_callback.
1703 (pop_down_dialog): Rename from pop_down_file_dialog.
1704 (xg_get_file_name): Callers changed.
1705 (xg_get_font_name): New function.
1706
5d6333d5 1707 * gtkutil.h (xg_get_font_name): Insert prototype.
f473ed6f 1708
2a3bd2e1
SM
17092008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
1710
1711 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
1712 x_underline_minimum_display_offset.
1713 (syms_of_xdisp): Declare it here rather than in xterm.c.
1714 * dispextern.h (underline_minimum_offset): Declare it.
1715 * w32term.c (x_draw_glyph_string): Use it.
1716 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
1717 (syms_of_xterm): Don't declare it any more.
1718 (x_draw_glyph_string): Adjust to the new name.
1719
d5dc6163
SM
17202008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
1721
1722 * xterm.c (x_underline_minimum_display_offset): New var.
1723 (x_draw_glyph_string): Use it.
1724 (syms_of_xterm): Declare it.
1725
0abdd197
CY
17262008-06-10 Chong Yidong <cyd@stupidchicken.com>
1727
1728 * font.c (font_parse_fcname): Accept GTK-style font names too.
1729
a1562258
SM
17302008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
1731
928b5acc
SM
1732 * dired.c (file_name_completion): Don't return t if the match is exact
1733 but with different capitalization.
1734 * minibuf.c (Ftry_completion): Simplify.
1735
a1562258
SM
1736 * window.c (Vwindow_point_insertion_type): New var.
1737 (set_window_buffer): Use it.
1738 (syms_of_window): Init and export it to Lisp.
1739
9552dbd1
KH
17402008-06-10 Kenichi Handa <handa@m17n.org>
1741
1742 * font.h (font_intern_prop): Prototype adjusted.
1743
1744 * font.c (font_intern_prop): New arg force_symbol.
a1562258
SM
1745 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
1746 Adjust for the change of font_intern_prop.
9552dbd1 1747
a1562258
SM
1748 * ftfont.c (ftfont_pattern_entity):
1749 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
1750 (w32_registry):
1751 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
9552dbd1
KH
1752 the change of font_intern_prop.
1753
8993ad2e
JB
17542008-06-09 Juanma Barranquero <lekktu@gmail.com>
1755
1756 * w32menu.c (digest_single_submenu): Declare extern.
1757
0c2258fc
JR
17582008-06-09 Jason Rumney <jasonr@gnu.org>
1759
a1562258 1760 * w32term.c (x_make_frame_visible): Use alternate restore flags.
12f71857 1761
a1562258
SM
1762 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
1763 (parse_single_submenu): Remove.
1764 (digest_single_submenu): Remove.
1765 (syms_of_w32menu): Don't initialise variables that have moved
1766 to menu.c.
1767 (set_frame_menubar): Sync with version in xmenu.c.
1768 (w32_menu_show): Sync with xmenu_show in xmenu.c.
593c843c 1769
8993ad2e
JB
1770 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
1771 Make static again.
0c2258fc 1772
02246cb8
JR
17732008-06-09 Jason Rumney <jasonr@gnu.org>
1774
8993ad2e
JB
1775 Changes to w32 files related to the move of common menu code
1776 to menu.c on 2008-06-08 by Chong Yidong.
1777
1778 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
1779 defs to w32gui.h.
1780 (single_keymap_panes, push_menu_item, push_menu_pane):
1781 Make globally visible.
1782
d434fef5
JB
1783 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
1784 (local_free, malloc_widget_value, free_widget_value)
1785 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
1786 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
1787 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
8993ad2e 1788 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
d434fef5 1789 (menu_items, menu_items_allocated, menu_items_used)
8993ad2e
JB
1790 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
1791 (init_menu_items, finish_menu_items, discard_menu_items)
1792 (grow_menu_items, push_submenu_start, push_submenu_end)
1793 (push_left_right_boundary, push_menu_pane, push_menu_item)
1794 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
d434fef5 1795 (free_menubar_widget_tree_value, parse_single_submenu)
8993ad2e
JB
1796 (update_submenu_strings): Remove functions.
1797 (xmalloc_widget_value): Remove and declare extern.
1798
1799 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
1800 (OBJ1): Build it.
1801
1802 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
1803 (local_heap, local_alloc, local_free, malloc_widget_value)
1804 (free_widget_value): Define here.
02246cb8 1805
9e1bb909
KH
18062008-06-09 Kenichi Handa <handa@m17n.org>
1807
366664ad
KH
1808 * font.h (Qascii_0): Extern it.
1809
9e1bb909
KH
1810 * font.c (Qascii_0): New variable.
1811 (syms_of_font): DEFSYM it.
1812 (font_open_by_name): If the registry "iso8859-1" fails, try also
1813 "ascii-0".
1814
1815 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
1816
b2ee479e
KH
18172008-06-08 Kenichi Handa <handa@m17n.org>
1818
8f440b79 1819 * .gdbinit (xfont): New command.
b2ee479e 1820
01ef9d36
AS
18212008-06-08 Andreas Schwab <schwab@suse.de>
1822
a4240420
AS
1823 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
1824 * Makefile.in (menu.o): Update dependencies.
1825
0181bf66 1826 * Makefile.in (obj): Always add menu.o.
01ef9d36
AS
1827 * emacs.c (main): Always call syms_of_menu.
1828 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
1829
c07cbae6
CY
18302008-06-08 Chong Yidong <cyd@stupidchicken.com>
1831
1832 * Makefile.in: Compile menu.c.
1833
1834 * lisp.h: Declare syms_of_menu.
1835
1836 * emacs.c (main): Call syms_of_menu.
1837
1838 * keyboard.h: Relocate platform-independent menu definitions from
1839 xmenu.c.
1840
1841 * menu.c: New file. Relocate platform-independent menu
904d8c69 1842 definitions from xmenu.c. Suggested by Adrian Robert.
c07cbae6
CY
1843
1844 * xmenu.c: Remove platform-independent menu definitions.
1845 (menu_items menu_items_inuse, menu_items_allocated)
1846 (menu_items_used, menu_items_n_panes)
1847 (menu_items_submenu_depth): Move to keyboard.h.
1848 (init_menu_items, finish_menu_items, unuse_menu_items)
1849 (discard_menu_items, restore_menu_items, save_menu_items)
1850 (grow_menu_items, push_submenu_start, push_submenu_end)
1851 (push_left_right_boundary, push_menu_pane, push_menu_item)
1852 (keymap_panes, single_keymap_panes, single_menu_item)
1853 (list_of_panes, list_of_items, find_and_call_menu_selection)
1854 (xmalloc_widget_value, free_menubar_widget_value_tree)
1855 (parse_single_submenu, digest_single_submenu)
1856 (update_submenu_strings): Move to menu.c.
1857
4958ed94
SM
18582008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
1859
1860 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
1861
408b8ab4
MB
18622008-06-06 Miles Bader <miles@gnu.org>
1863
1864 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
1865 face, not frame default.
1866
87478b52
SM
18672008-06-05 Martin Rudalics <rudalics@gmx.at>
1868
1869 * window.c (pop_up_windows, pop_up_frames)
1870 (display_buffer_reuse_frames, Vpop_up_frame_function)
1871 (Vdisplay_buffer_function, Veven_window_heights)
1872 (Vspecial_display_buffer_names, Vspecial_display_regexps)
1873 (Vspecial_display_function, Vsame_window_buffer_names)
1874 (Vsame_window_regexps, split_height_threshold)
1875 (Vsplit_window_preferred_function): Move those vars to window.el.
1876 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
1877 (Fdisplay_buffer): Move those functions to window.el.
1878 (syms_of_window): Remove corresponding declarations.
1879 (display_buffer): New function.
1880 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
1881 * dispnew.c (Flast_nonminibuf_frame): New function.
1882 * buffer.c (Fpop_to_buffer): Move to window.el.
1883
9e0e0d77
SM
18842008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
1885
1886 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
1887
4a485df8
KH
18882008-06-05 Kenichi Handa <handa@m17n.org>
1889
1890 * coding.c (detect_coding): Fix previous change.
1891 (detect_coding_system): Likewise.
1892
8ba31f36
SM
18932008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
1894
c0dc8f64
SM
1895 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
1896
8ba31f36
SM
1897 * keymap.c (Vminibuffer_local_filename_must_match_map):
1898 Rename from Vminibuffer_local_must_match_filename_map.
1899 (syms_of_keymap):
1900 * minibuf.c (Fcompleting_read): Adjust accordingly.
1901 * commands.h: Rename declaration as well.
1902
7740d2c7
KH
19032008-06-05 Kenichi Handa <handa@m17n.org>
1904
e7438ece
KH
1905 * font.c (Ffont_spec): Don't use font_parse_family_registry for
1906 family name.
1907 (Ffont_put): Likewise.
1908
1909 * fontset.c (fontset_find_font): Call font_open_for_lface with the
1910 current font-spec.
1911
7740d2c7
KH
1912 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
1913 is unspecified.
1914
1915 * xfaces.c (realize_x_face): If the font-related face attributes
e7438ece
KH
1916 are the same as those of default face, realize a new fontset from
1917 default->fontset.
9e0e0d77 1918 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
7740d2c7 1919
c876b227
SM
19202008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
1921
1922 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
1923 (move_it_in_display_line): New wrapper.
1924
1925 * window.c (window_scroll_pixel_based_preserve_x)
1926 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
1927 (window_scroll_pixel_based, window_scroll_line_based):
1928 Use them to preserve column positions.
1929 (syms_of_window): Initialize them.
1930
1931 * indent.c (Fvertical_motion): Extend first arg to allow passing an
1932 (HPOS . VPOS) pair.
1933
1934 * dispextern.h (move_it_in_display_line): Declare.
1935
927abf37
JB
19362008-06-05 Juanma Barranquero <lekktu@gmail.com>
1937
1938 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
1939 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
1940 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
1941
9d14503e
JB
19422008-06-04 Juanma Barranquero <lekktu@gmail.com>
1943
1944 * window.c (Fset_window_parameter): Doc fix.
1945 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
1946
e6841c3b
JB
19472008-06-04 Joakim Verona <joakim@verona.se>
1948
1949 * window.h (struct window): Add new member window_parameters.
1950
1951 * window.c (Fwindow_parameters, Fwindow_parameter)
1952 (Fset_window_parameter): New defuns.
1953 (syms_of_window): Defsubr the new defuns.
1954 (make_window): Initialize window_parameters to nil.
1955
4ba50634
JPW
19562008-06-04 John Paul Wallington <jpw@pobox.com>
1957
1958 * eval.c (Fdefmacro): Doc fix.
1959
c0e16b14
KH
19602008-06-04 Kenichi Handa <handa@m17n.org>
1961
1962 * coding.c (detect_coding): Fix handling of coding->head_ascii.
9e0e0d77 1963 Be sure to call setup_coding_system when we find a proper coding system.
c0e16b14
KH
1964 (detect_coding_system): Fix handling of coding->head_ascii.
1965
0615d903
AS
19662008-06-03 Andreas Schwab <schwab@suse.de>
1967
1968 * font.c (font_prop_validate_spacing): Fix last change.
1969
8a1816bb
KH
19702008-06-03 Kenichi Handa <handa@m17n.org>
1971
eea9c5c4
KH
1972 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
1973 (font_parse_fcname): Fix handling of unknown key.
1974
1975 * xfont.c (xfont_list): Try an alias.
1976
8a1816bb
KH
1977 * charset.c (char_charset): Return NULL if the arg charset_list is
1978 specified and C doesn't belong to any of them.
1979
2f593f4c 19802008-06-02 Chip Coldwell <coldwell@redhat.com>
6c5e8775
CY
1981
1982 * font.c (font_pixel_size): Don't take cdr of an integer.
1983
c2cd06e6
JM
19842008-06-02 Jim Meyering <meyering@redhat.com>
1985
70fdbb46
JM
1986 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
1987 * alloc.c (xfree): Return right away for a NULL arg.
1988 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
1989 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
1990 * mac.c (create_apple_event_from_event_ref): Likewise.
2f593f4c
JB
1991 (create_apple_event_from_drag_ref, cfstring_create_normalized):
1992 Likewise.
70fdbb46
JM
1993 * doprnt.c (doprnt1): Likewise.
1994 * frame.c (frame): Likewise.
1995 * keyboard.c (wipe_kboard): Likewise.
1f204af3 1996 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
70fdbb46
JM
1997 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
1998 * term.c (tty_default_color_capabilities, maybe_fatal)
1999 (delete_tty): Likewise.
2000 * w16select.c (string): Likewise.
2001 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
2002 * w32bdf.c (w32_free_bdf_font): Likewise.
2003 * w32fns.c (w32_unload_font): Likewise.
2004 * w32font.c (w32font_close): Likewise.
2005 * window.c (size_window): Likewise.
2006 * xselect.c (receive_incremental_selection): Likewise.
2007 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
2008 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
2009 * w32.c (stat): Likewise.
2010
2f593f4c 2011 Remove useless if-before-free tests.
70fdbb46
JM
2012 * editfns.c (Fset_time_zone_rule): Likewise.
2013 * lread.c (nosuffix): Likewise.
2014 * ralloc.c (get_bloc): Likewise.
2015 * regex.c (reg_free): Likewise.
2016 * xftfont.c (xftfont_open, xftfont_close): Likewise.
2017 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
2018 * xsmfns.c (smc_save_yourself_CB): Likewise.
c2cd06e6 2019
4fc1984a
KH
20202008-06-02 Kenichi Handa <handa@m17n.org>
2021
1d1e1245
KH
2022 * font.c (font_find_for_lface): Handle float font size.
2023 (font_open_for_lface): Likewise.
2024
4fc1984a
KH
2025 * xfaces.c (x_supports_face_attributes_p): Check face->font before
2026 comparing the properties.
2027
aee986fd
JR
20282008-06-01 Jason Rumney <jasonr@gnu.org>
2029
e6841c3b
JB
2030 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
2031 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
2032 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
2033 Don't add empty script list.
2034 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
aee986fd 2035
60a3d7ee
DN
20362008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
2037
aee986fd 2038 * Makefile.in (dot, dotdot): Remove, update users.
60a3d7ee
DN
2039 ".." has been used elsewhere in the file for a long time.
2040 (LIBXT_STATIC): Remove conditional based on unused variable.
2041
f2cec7a9
MB
20422008-06-01 Miles Bader <miles@gnu.org>
2043
2044 * xfaces.c (Vface_remapping_alist): New variable.
2045 (syms_of_xfaces): Initialize it.
2046 (enum named_merge_point_kind): New type.
2047 (struct named_merge_point): Add `named_merge_point_kind' field.
2048 (push_named_merge_point): Make cycle detection respect different
2049 named-merge-point kinds.
c876b227 2050 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
f2cec7a9
MB
2051 Remove face-name alias resolution.
2052 (lface_from_face_name): New definition using
2053 `lface_from_face_name_no_resolve'.
c876b227 2054 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
f2cec7a9
MB
2055 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
2056 (get_lface_attributes): New definition that layers face-remapping on
2057 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
2058 (lookup_basic_face): New function.
2059 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
2060 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
2061 `get_lface_attributes'.
2062 (face_at_buffer_position): Use `lookup_basic_face' to lookup
2063 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
2064 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
2065
2066 * xdisp.c (init_iterator): Pass base_face_id through
2067 `lookup_basic_face' when we actually use it as a face-id.
2068 (handle_single_display_prop): Use `lookup_basic_face' to lookup
2069 DEFAULT_FACE_ID.
2070
2071 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
2072 lookup the initial face-id.
2073
2074 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
2075
518c0b83
JB
20762008-06-01 Juanma Barranquero <lekktu@gmail.com>
2077
2078 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
2079 (Fremove_text_properties): Fix typos in docstrings.
2080
719b3d63
KH
20812008-05-31 Kenichi Handa <handa@m17n.org>
2082
e4c93315
KH
2083 * font.c (font_list_entities): Fix the car part of data to be
2084 stored in the cache.
2085
719b3d63
KH
2086 * ftfont.c (ftfont_font_format): Don't use strcasestr.
2087
d0827857
SM
20882008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
2089
2090 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
2091 Add a `test' argument so another predicate than `equal' can be used.
2092 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
2093 (map_char_table): Remove unused vars `c' and `i'.
2094 * lisp.h (Foptimize_char_table): Adjust declaration.
2095 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
2096
a266686a
KH
20972008-05-30 Kenichi Handa <handa@m17n.org>
2098
d0827857 2099 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
a266686a
KH
2100 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
2101 defined.
2102
fd9440c5
SM
21032008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
2104
2105 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
2106 (Fmake_variable_frame_local): Disallow mixing buffer-local and
2107 frame-local settings for the same variable.
2108
fd2ae9b2
KH
21092008-05-30 Kenichi Handa <handa@m17n.org>
2110
9e0e0d77 2111 * fontset.c (Ffont_info): Move to font.c.
fd2ae9b2
KH
2112 (syms_of_fontset): Delete defsubr of Sfont_info.
2113
2114 * font.c (font_style_to_value, font_score): Delete casting of the
2115 args to xstcasecmp.
2116 (register_font_driver): Increment num_font_drivers only when
2117 registering the driver globally.
9e0e0d77 2118 (Ffont_info): Move from fontset.c. Handle a font object too.
fd2ae9b2
KH
2119 (syms_of_font): Defsubr Sfont_info.
2120
eaf11618
KH
21212008-05-29 Kenichi Handa <handa@m17n.org>
2122
2123 * coding.h (enum define_coding_utf8_arg_index): New enum.
2124 (enum coding_attr_index): Change coding_attr_utf_16_bom to
2125 coding_attr_utf_bom.
fd9440c5
SM
2126 (enum utf_bom_type): Rename from utf_16_bom_type.
2127 (struct utf_16_spec): Adjust for the above change.
eaf11618
KH
2128 (struct coding_system): Add utf_8_bom in `spec' union.
2129
2130 * coding.c (CODING_UTF_8_BOM): New macro.
2131 (enum coding_category): Delete coding_category_utf_8, add
2132 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
2133 coding_category_utf_8_sig.
2134 (CATEGORY_MASK_UTF_8): Delete it.
2135 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
2136 (CATEGORY_MASK_UTF_8_SIG): New macros.
2137 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
2138 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
2139 CATEGORY_MASK_UTF_8_SIG.
2140 (CATEGORY_MASK_UTF_8): New macro.
2141 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
2142 (detect_coding_utf_8): Check BOM.
2143 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
fd9440c5 2144 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
eaf11618
KH
2145 (encode_coding_utf_16): Likewise.
2146 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
2147 (detect_coding, detect_coding_system): Handle utf-8-auto.
2148 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
2149 (syms_of_coding): Fix setting up of Vcoding_category_table.
2150
891bd142
SM
21512008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
2152
2153 * process.c (Faccept_process_output): If `millisec' is non-nil,
2154 `seconds' default to 0.
2155 (wait_reading_process_output): Also return non-nil if we read output
2156 from a non-running process.
2157
1519d52e
JR
21582008-05-29 Jason Rumney <jasonr@gnu.org>
2159
fd9440c5
SM
2160 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
2161 `raster' specified.
2162 (add_font_entity_to_list): Allow non-opentype truetype fonts back
2163 in the uniscribe backend, but disallow any font that has no
2164 unicode subrange support.
1519d52e 2165
d5ab09cd
JB
21662008-05-29 Juanma Barranquero <lekktu@gmail.com>
2167
2168 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
2169 Fix typos in docstrings.
2170
a4eec626
KH
21712008-05-29 Kenichi Handa <handa@m17n.org>
2172
2173 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
e887f2ac 2174 (Fx_family_fonts): Set frame correctly.
a4eec626 2175
a6e0b7e5
JR
21762008-05-28 Jason Rumney <jasonr@gnu.org>
2177
d5ab09cd 2178 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
a6e0b7e5 2179
6b3d752c
SM
21802008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
2181
2182 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
2183 calling build_annotations.
2184
c3f9fba8
JB
21852008-05-28 Juanma Barranquero <lekktu@gmail.com>
2186
2187 * coding.c (Fdecode_coding_region, Fencode_coding_region)
2188 (Fencode_coding_string):
2189 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
2190 <latin-extra-code-table>: Fix typos in docstrings.
2191 (syms_of_coding) <coding-system-alist>: Doc fix.
2192 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
2193
00c670e1
KH
21942008-05-28 Kenichi Handa <handa@m17n.org>
2195
b75d7f28
KH
2196 * fontset.c (Ffont_info): Don't call font_close_object.
2197
2198 * font.c (font_parse_family_registry): Use Ffont_put to validate
2199 foundry and family.
2200 (font_delete_unmatched): Don't check spacing.
2201 (font_list_entities): Add spacing to the spec to list fonts.
2202
2203 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
d5ab09cd 2204 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
b75d7f28 2205
00c670e1
KH
2206 * coding.c (encode_coding_raw_text): Fix previous change.
2207 (encode_coding_object): When the dst_object is a buffer and is
2208 different from src_object, move gap to PT.
2209
45feca91
CY
22102008-05-27 Chong Yidong <cyd@stupidchicken.com>
2211
c3f9fba8 2212 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
45feca91 2213
5dd5d9eb
SM
22142008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
2215
01d45367
SM
2216 * coding.c (encode_coding_raw_text): Set coding->produced_char for
2217 all branches. Compute it differently.
2218
5dd5d9eb
SM
2219 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
2220
9c623c85
JB
22212008-05-27 Juanma Barranquero <lekktu@gmail.com>
2222
2223 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
2224 into "else if () ... else ...".
2225
943f2093
JR
22262008-05-27 Jason Rumney <jasonr@gnu.org>
2227
5dd5d9eb
SM
2228 * w32font.c (w32font_open_internal): Determine if glyph indices
2229 are likely to work here.
943f2093 2230
7385fe74
CY
22312008-05-27 Chong Yidong <cyd@stupidchicken.com>
2232
2233 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
2234 draw overlap glyphs with appropriate highlighting.
2235
4f64a164
KH
22362008-05-27 Kenichi Handa <handa@m17n.org>
2237
2238 * xfont.c (xfont_open): Fix calculation of font->average_width.
2239
1fb5aad7
SM
22402008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
2241
2242 * casefiddle.c (casify_object): Try to guess better whether the
2243 argument is a byte or a char.
2244
f8eb1603
AS
22452008-05-26 Andreas Schwab <schwab@suse.de>
2246
1fb5aad7
SM
2247 * xselect.c (x_reply_selection_request): Properly handle format == 32.
2248 Always send multiples of format size.
5a9c35e5 2249
f8eb1603
AS
2250 * xterm.c (x_set_frame_alpha): Fix type mismatch.
2251
ba93d684
JR
22522008-05-26 Jason Rumney <jasonr@gnu.org>
2253
1fb5aad7
SM
2254 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
2255 (compute_metrics): Don't set failure if we just cleared the cache.
2256 (w32_weight_table): Remove unused variable.
2257 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
2258 backwards compatibility.
ba93d684 2259
505ecc49
KH
22602008-05-25 Kenichi Handa <handa@m17n.org>
2261
1fb5aad7
SM
2262 * w32term.c (x_draw_glyph_string):
2263 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
505ecc49
KH
2264
2265 * xfaces.c: Delete unused function prototypes.
2266 (xstrlwr, font_frame): Delete them.
2267 (clear_face_cache): Delete unused variable.
2268
1fb5aad7
SM
2269 * xftfont.c (xftfont_open): Delete unused variable.
2270 If underline_thickness is not 1, adjust underline_position.
505ecc49
KH
2271
2272 * ftxfont.c (ftxfont_open): Delete unused variable.
2273
2274 * fontset.c (face_for_char): Optimize for the case of no charset
2275 property.
2276
2277 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
2278 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
2279 (otf_open, font_otf_capability, generate_otf_features)
2280 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
1fb5aad7 2281 Comment out by surrounding "#if 0" and "#endif" for the moment.
505ecc49
KH
2282 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
2283 (syms_of_font): Codes for accessing above commented out.
2284
f481eb31
EZ
22852008-05-24 Eli Zaretskii <eliz@gnu.org>
2286
2287 * w32proc.c: Include dispextern.h.
2288
2289 * w32.c: Include dispextern.h.
2290
20746fe4
JB
22912008-05-23 Juanma Barranquero <lekktu@gmail.com>
2292
2293 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
2294 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
2295 Fix typos in docstrings.
2296
e7150846
JR
22972008-05-23 Jason Rumney <jasonr@gnu.org>
2298
20746fe4 2299 * xsmfns.c: Remove includes that are already included by config.h.
e7150846 2300
dbf46ba6
KH
23012008-05-23 Kenichi Handa <handa@m17n.org>
2302
6c652beb
KH
2303 * charset.c (Qemacs, charset_emacs): New variables.
2304 (char_charset): Fix for non-Unicode characters.
2305 (syms_of_charset): Define charset_emacs.
2306
baf4d3b3 2307 * w32term.c (x_draw_glyph_string): Be sure to update
328fab2a
KH
2308 s->underline_thickness and s->underline_position. Be sure to draw
2309 underline within the current line area.
baf4d3b3
KH
2310
2311 * xterm.c (x_draw_glyph_string): Be sure to update
328fab2a 2312 s->underline_thickness and s->underline_position. Be sure to draw
90dc78a3 2313 underline within the current line area.
baf4d3b3 2314
dbf46ba6
KH
2315 * fontset.c: Delete unused variables and add casting for char *
2316 throughout the file.
2317 (fontset_font): Try the fallback fonts of the current fontset
2318 before consulting the default fontset.
2319
2320 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
2321
9e0e0d77 2322 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
dbf46ba6 2323
3b780338
JR
23242008-05-22 Jason Rumney <jasonr@gnu.org>
2325
20746fe4 2326 * font.c: Don't include strings.h.
577eba22 2327
9e0e0d77 2328 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
05131107 2329
20746fe4
JB
2330 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
2331 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
b1722a46
EZ
2332 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
2333 to call xstrcasecmp.
05131107 2334
b1722a46 2335 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
3b780338 2336
b1722a46 2337 * fontset.c (fs_query_fontset): Use xstrcasecmp.
3b780338 2338
b1722a46 2339 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
3b780338 2340
b1722a46 2341 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
3b780338 2342
a30e1957
KH
23432008-05-22 Kenichi Handa <handa@m17n.org>
2344
20746fe4 2345 * puresize.h (BASE_PURESIZE): Increase to 1220000.
955b979c 2346
20746fe4 2347 * font.c (font_prop_validate_style): Adjust for the format
64b900e3
KH
2348 change of font_style_table.
2349
a30e1957
KH
2350 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
2351 two args.
2352
2353 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
2354 two args.
2355
631248e5
SM
23562008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
2357
2358 * minibuf.c (keys_of_minibuf): Delete.
2359 * lisp.h (keys_of_minibuf): Delete.
2360 * emacs.c (main): Don't call keys_of_minibuf.
2361
318548be
KH
23622008-05-22 Kenichi Handa <handa@m17n.org>
2363
631248e5 2364 * ftfont.c (ftfont_resolve_generic_family): Rename from
318548be
KH
2365 ftfont_list_generic_family. Return a single family for each
2366 generic family.
2367 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
20746fe4
JB
2368 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
2369 Call font_add_log.
318548be
KH
2370 (ftfont_match): Call font_add_log.
2371
2372 * font.h (Ffont_xlfd_name): EXFUN adjusted.
2373 (FONT_DEBUG): Define it.
2374 (font_add_log): Extern it.
631248e5 2375 (font_assert): Rename from xassert.
318548be
KH
2376
2377 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
2378 (xfont_list_family): Call font_add_log.
2379 (xfont_match): Likewise.
631248e5 2380 (memq_no_quit): Delete.
318548be
KH
2381
2382 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
2383 call of Ffont_xlfd_name.
2384
2385 * xfaces.c (struct table_entry, slant_table, weight_table)
631248e5 2386 (swidth_table): Move to font.c.
318548be
KH
2387
2388 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
631248e5 2389 xassert are changed to font_assert. Delete many unused variables.
20746fe4
JB
2390 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
2391 New variables.
631248e5
SM
2392 (struct table_entry): Move from xfaces.c and modified.
2393 (weight_table, slant_table, width_table): Move from xfaces.c and
318548be 2394 contents adjusted for the change of struct table_entry.
20746fe4 2395 (font_style_to_value, font_style_symbolic): Adjust for the
64b900e3 2396 format change of font_style_table.
318548be
KH
2397 (font_parse_family_registry): Don't overwrite existing foundry and
2398 family of font_spec.
2399 (font_score): Fix calculation of diff for sizes.
2400 (font_sort_entites): Call font_add_log.
2401 (font_delete_unmatched): Return a newly created list.
2402 (font_list_entities): Fix previous change. Call font_add_log.
20746fe4
JB
2403 (font_matching_entity, font_open_entity, font_close_entity):
2404 Call font_add_log.
318548be 2405 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
631248e5 2406 (Finternal_set_font_style_table): Delete.
318548be
KH
2407 (BUILD_STYLE_TABLE): New macro.
2408 (build_style_table): New function.
2409 (Vfont_log, font_log_env_checked): New variables.
2410 (font_add_log): New function.
2411 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
2412 Declare Lisp variables "font-weight-table", "font-slant-table",
2413 "font-width-table", and "font-log". Initialize font_style_table.
2414
6aac1c03
DN
24152008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
2416
bcc850aa 2417 * xterm.c (x_set_frame_alpha): Move declarations before statements.
6aac1c03 2418
7950790f
GM
24192008-05-21 Seiji Zenitani <zenitani@mac.com>
2420 Ryo Yoshitake <ryo@shiftmode.net>
a2979e8e 2421
7950790f 2422 * frame.c (Qalpha): Add a new frame parameter `alpha'.
bcc850aa 2423 (Vframe_alpha_lower_limit): New variable.
b9fb2c45 2424 (x_set_alpha): New function.
a2979e8e 2425
7950790f 2426 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
a2979e8e 2427
7950790f
GM
2428 * xfns.c (x-create-frame, Qalpha):
2429 Initialize the frame parameter `alpha'.
b9fb2c45
GM
2430 * xterm.c (OPAQUE, OPACITY): New.
2431 (x_set_frame_alpha): New function.
2432 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
a2979e8e 2433
7950790f
GM
2434 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
2435 * w32fns.c (w32_frame_parm_handlers): Likewise.
a2979e8e 2436
5c2a72d9
JR
24372008-05-20 Jason Rumney <jasonr@gnu.org>
2438
20746fe4
JB
2439 * w32font.c (add_font_entity_to_list): Don't add non-opentype
2440 truetype fonts to opentype list.
5c2a72d9 2441
eb152aa9
JB
24422008-05-20 Juanma Barranquero <lekktu@gmail.com>
2443
2444 * fontset.c (Ffontset_info): Doc fix.
2445 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
2446 <ignore-relative-composition>: Fix typos in docstrings.
2447
2448 * font.c (syms-of-font) <font-encoding-alist>:
2449 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
2450 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
2451 (Ffont_otf_alternates): Doc fixes.
2452
ad00e1a3
KH
24532008-05-20 Kenichi Handa <handa@m17n.org>
2454
2455 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
2456 font.h through out the file.
9e0e0d77 2457 (FONT_DRIVERS): Rename from FONTOBJ.
12855572 2458 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
ad00e1a3
KH
2459 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
2460
2461 * emacs.c (main): Call syms_of_font unconditionally.
2462
2463 * font.h (find_font_encoding): Extern it.
2464
9e0e0d77 2465 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
ad00e1a3
KH
2466 fontset.c.
2467 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
2468 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
2469 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
2470 only when HAVE_WINDOW_SYSTEM is defined.
2471 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
2472 when HAVE_WINDOW_SYSTEM is defined.
2473
9e0e0d77
SM
2474 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
2475 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
ad00e1a3
KH
2476
2477 * xfaces.c: Include font.h unconditionally.
2478 (merge_face_ref, merge_face_vectors)
2479 (Finternal_set_lisp_face_attribute): Cancel the previous change.
2480
40a69fac
SM
24812008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
2482
2483 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
2484 indirect_variable.
2485 * eval.c (lisp_indirect_variable): New fun.
2486 (Fuser_variable_p): Use it.
2487
8c2dccbf
SM
24882008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
2489
ad97b375
SM
2490 * lisp.h (indirect_variable):
2491 * data.c (indirect_variable, let_shadows_buffer_binding_p):
2492 Use Lisp_Symbol pointers rather than Lisp_Object.
2493 Adjust callers.
2494 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
2495 To this end, change calling-convention.
2496
8c2dccbf
SM
2497 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
2498 if some non-hidden buffers are selected by string&pred.
2499
ad97b375
SM
25002008-05-19 Chong Yidong <cyd@stupidchicken.com>
2501
2502 * process.c (wait_reading_process_output): Always check status
2503 when in batch mode.
2504
25b81df4
KH
25052008-05-19 Kenichi Handa <handa@m17n.org>
2506
2507 * font.c (font_list_entities): Fix handling of cache.
2508 (font_matching_entity): Likewise.
2509
8c2dccbf 2510 * ftfont.c (cs_iso8859_1): Delete.
25b81df4 2511 (ft_face_cache): New variable.
1f204af3 2512 (struct ftfont_info): New member fc_charset_idx.
8c2dccbf 2513 (ftfont_build_basic_charsets): Delete.
25b81df4
KH
2514 (fc_charset_table): New variable.
2515 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
2516 . FC_CHARSET_IDX) as :font-entity property in the font entity.
2517 Callers changed.
dde8403f 2518 (ftfont_lookup_cache, ftfont_get_charset): New functions.
8c2dccbf
SM
2519 (ftfont_spec_pattern): New argument fc_charset_idx.
2520 Check registry more rigidly. Change callers.
a2979e8e 2521 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
25b81df4
KH
2522 change of :font-entity property of the font.
2523
a2979e8e 2524 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
25b81df4
KH
2525 property of the font.
2526
d4a1d553
JB
25272008-05-18 Juanma Barranquero <lekktu@gmail.com>
2528
2529 * coding.c (Fcoding_system_p): Rename argument to match docstring.
2530 (Funencodable_char_position, Fcheck_coding_systems_region)
2531 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
2532 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
2533 (Ffind_operation_coding_system, Fset_coding_system_priority)
2534 (Fcoding_system_eol_type): Doc fixes.
2535
07cfc4e7
GM
25362008-05-17 Glenn Morris <rgm@gnu.org>
2537
2538 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
2539
1cab27d2
EZ
25402008-05-16 Eli Zaretskii <eliz@gnu.org>
2541
2542 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
2543 and st_gid.
2544
dde8403f 2545 * frame.c (Fdelete_frame): Don't call font_update_drivers if
1cab27d2
EZ
2546 HAVE_WINDOW_SYSTEM is not defined.
2547
2548 * xfaces.c (merge_face_ref, merge_face_vectors)
2549 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
2550 HAVE_WINDOW_SYSTEM is defined.
2551 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
2552
86b89713
SM
25532008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
2554
2555 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
2556
6750bd93
YM
25572008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2558
62867b11 2559 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
6750bd93 2560
79f105c9
KH
25612008-05-15 Kenichi Handa <handa@m17n.org>
2562
2563 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
2564 preference.
2565
6b33da9f
GM
25662008-05-15 Glenn Morris <rgm@gnu.org>
2567
2568 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
2569
d0e4433b
CY
25702008-05-15 Chong Yidong <cyd@stupidchicken.com>
2571
2572 * fns.c (init_fns): Don't initialize weak_hash_tables here.
2573 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
2574
2575 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
2576
5f2d79e0
KH
25772008-05-15 Kenichi Handa <handa@m17n.org>
2578
fd8a1cae
KH
2579 * ftfont.c (ftfont_list): Downcase family name to check generic
2580 families.
2581
2582 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
2583 font-spec for QCfont value.
2584
5f2d79e0
KH
2585 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
2586 buffer. Check the return value of it.
2587
e5e29349
JR
25882008-05-14 Jason Rumney <jasonr@gnu.org>
2589
2590 * w32term.c (w32_get_glyph_overhangs): Remove.
2591 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
2592
1f09f444
KH
25932008-05-14 Kenichi Handa <handa@m17n.org>
2594
2595 * font.c (font_prop_validate): Make nil a valid value.
be9442ad
KH
2596 (font_clear_cache): Check if the cached vector of entities is nil
2597 or not.
1f09f444 2598
ecae6af9 25992008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
f8240abd
YM
2600
2601 * emacs.c (main_thread): Conditionalize on
2602 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
2603 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
2604
2605 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
2606 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
2607 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
2608
c6b278e7
KH
26092008-05-14 Kenichi Handa <handa@m17n.org>
2610
2611 * coding.c (detect_coding_iso_2022): Ignore a coding category that
2612 has no corresponding coding system.
2613
26142008-05-14 Jason Rumney <jasonr@gnu.org>
2615
2616 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
2617
2618 * w32font.h (w32font_open_internal): Update declaration.
2619
2620 * w32font.c (w32font_open_internal): Change last argument from
2621 w32font_info struct to font object. Fill in font object from
2622 font_entity. Get Outline metrics if possible. Use them to
2623 calculate underline position and thickness. Use xlfd name as name
2624 property. Don't set codepage.
2625 (w32font_open): Pass font_object to w32font_open_internal. Don't
a879ee6f 2626 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
c6b278e7
KH
2627 (w32font_draw): Use s->font.
2628 (clear_cached_metrics): Don't clear non-existent blocks.
2629
2630 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
2631 font was not found.
a879ee6f 2632 (x_draw_glyph_string): Use underline position and thickness from font.
c6b278e7
KH
2633
2634 * w32uniscribe.c (uniscribe_open): Pass font_object to
2635 w32font_open_internal.
2636
26372008-05-14 Kenichi Handa <handa@m17n.org>
2638
2639 These changes are to delete all legacy font-handling codes, and
2640 make Emacs use only font-backends.
2641
2642 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
2643 (frame.o, image.o, print.o): Depend on $(FONTSRC).
2644
2645 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
2646
2647 * charset.h (Vcharset_non_preferred_head)
2648 (Vcurrent_iso639_language): Extern them.
2649
2650 * charset.c (Vcharset_non_preferred_head): New variable.
2651 (Vcurrent_iso639_language): New variable.
2652 (syms_of_charset): Declare it as a Lisp variable.
2653 (char_charset): Don't check non preferred charsets. As a last
2654 resort, return charset_unicode.
2655 (Fset_charset_priority): Update Vcharset_non_preferred_head.
2656
2657 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
2658 conditionals. Don't check enable_font_backend. Delete all codes
2659 used only when USE_FONT_BACKEND is not defined.
2660
2661 * dispextern.h (struct glyph_string): Change type of `font' to
2662 `struct font *'.
2663 (struct glyph_string): New member underline_position and
2664 underline_thickness.
2665 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
2666 (struct face): Change type of `font' to `struct font *'. Remove
2667 members `font_name', `font_info_id'.
2668 (per_char_metric, encode_char): Delete externs.
2669 (calc_pixel_width_or_height): Adjust the prototype.
2670
2671 * emacs.c (enable_font_backend): Delete extern.
2672 (main): Don't set enable_font_backend. Don't check the command
2673 line argument "-disable-font-backend".
2674
2675 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
2676 (enum font_property_index): New members FONT_DPI_INDEX,
2677 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
2678 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
2679 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
2680 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
2681 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
2682 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
2683 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
2684 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
2685 (struct font_spec, struct font_entity): New structs.
2686 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
2687 (struct font): Many members from old "struct font_info" moved to
2688 here. Members font and entity deleted.
2689 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
2690 the new font-related objects.
2691 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
2692 (CHECK_FONT_GET_OBJECT): Likewise.
2693 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
2694 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
2695 (struct font_driver): New members case_sensitive anc check. Type
2696 of the member list and open changed.
2697 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
2698 (font_symbolic_width, font_find_object, font_get_spec)
2699 (font_set_lface_from_name): Delete extern.
20746fe4 2700 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
c6b278e7
KH
2701
2702 * font.c: Include <strings.h>.
2703 (enable_font_backend): Delete it.
2704 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
2705 (CHECK_VALIDATE_FONT_SPEC): Delete it.
2706 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
2707 (null_string): Delete it.
2708 (null_vector): Make it static.
2709 (font_family_alist): Delete it.
2710 (Qnormal): Extern it.
2711 (QCextra, QClanguage): Delete it.
1f204af3 2712 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
c6b278e7
KH
2713 (font_make_spec, font_make_entity, font_make_object)
2714 (font_intern_prop): Renamed from intern_downcase. Don't downcase
2715 the string. Callers changed.
2716 (font_pixel_size): Adjusted for the format change of font-related
2717 objects.
2718 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
2719 (font_style_to_value, font_style_symbolic): New function.
2720 (build_font_family_alist): Delete it.
2721 (font_registry_charsets): Use Fassoc_string instead of
2722 assq_no_quit.
2723 (font_prop_validate_symbol): Don't return null_string.
2724 (font_prop_validate_style): Adjusted for the change of
2725 style-related values in a font vector.
20746fe4 2726 (font_property_table): Delete entries for QClanguage and
c6b278e7
KH
2727 QCantialias, add entries for QCavgwidth.
2728 (get_font_prop_index): Delete the 2nd argument FROM.
2729 (font_prop_validate): Arguments changed.
2730 (font_put_extra): Adjusted for the change of font-related objects.
2731 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
2732 (font_parse_fcname, font_unparse_fcname)
2733 (font_prepare_composition): Likewise.
2734 (font_parse_family_registry): Renamed from font_merge_old_spec.
2735 (otf_open): Delete the 1st arg entity.
2736 (font_otf_capability): Adjusted for the above change.
2737 (font_score): New arg alternate_families. Adjusted for the change
2738 of font-related objects.
2739 (font_sort_entites): New arg best_only.
2740 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
2741 Delete them.
2742 (font_match_p): Check alternate families.
2743 (font_find_object): Delete it.
2744 (font_check_object): New function.
c3f9fba8 2745 (font_clear_cache): Adjusted for the change of font-related objects.
c6b278e7
KH
2746 (font_delete_unmatched): New arg.
2747 (font_list_entities): Call font_driver->list with a spec that
2748 doesn't specify style-related properties.
2749 (font_matching_entity): Arguments changed. Caller changed.
c3f9fba8 2750 (font_open_entity): Adjusted for the change of font-related objects.
c6b278e7
KH
2751 (font_close_object, font_has_char, font_encode_char)
2752 (font_get_name, font_get_spec): Likewise.
c3f9fba8
JB
2753 (font_spec_from_name, font_clear_prop, font_update_lface):
2754 New functions.
2755 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
c6b278e7
KH
2756 (font_prepare_for_face, font_done_for_face, font_open_by_name)
2757 (font_at): Adjusted for the change of font-related objects.
2758 (font_range): New function.
2759 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
c3f9fba8 2760 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
c6b278e7
KH
2761 (Fcopy_font_spec, Fmerge_font_spec): New function.
2762 (Ffont_family_list): Renamed from list-families.
2763 (Finternal_set_font_style_table): Arguments changed.
2764 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
2765 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
2766 change of font-related objects.
c3f9fba8 2767 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
c6b278e7 2768
3554e566 2769 * fontset.h (struct font_info): Delete it. Most members go to
c6b278e7
KH
2770 struct font.
2771 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
2772 (enum FONT_SPEC_INDEX): Delete it.
2773 (font_info, list_fonts_func, load_font_func, query_font_func)
2774 (set_frame_fontset_func, find_ccl_program_func)
2775 (get_font_repertory_func, new_fontset_from_font_name): Delete
2776 externs.
2777 (fontset_from_font_name): Extern it.
2778 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
2779 (FONT_INFO_FROM_FACE): Deleted.
2780 (face_for_font): Adjust prototype.
2781
2782 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
2783 conditionals. Don't check enable_font_backend. Delete all codes
2784 used only when USE_FONT_BACKEND is not defined.
2785 (get_font_info_func, list_font_func, load_font_func)
2786 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
2787 (get_font_repertory_func): Delete them.
2788 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
2789 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
2790 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
2791 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
2792 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
2793 (fontset_compare_rfontdef): New function.
2794 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
2795 ront-defs by qsort. Adjusted for the change of font-group vector.
2796 (load_font_get_repertory): Deleted.
2797 (fontset_find_font): Use new macros to ref/set elements of
2798 font-def and rfont-def.
2799 (fontset_font): Fix the timing of remembering that no font for C.
2800 (free_face_fontset): Do nothing if the face has no fontset.
2801 (face_suitable_for_char_p): Use new macros to ref/set elements of
2802 rfont-def.
2803 (face_for_char): Likewise. Call face_for_char with font_object.
2804 (fs_load_font): Delete. Delete #pragma surrounding it.
2805 (fs_query_fontset): Use strcasecmp instead of strcmp.
2806 (generate_ascii_font_name): Adjusted for the format change of
2807 font-spec.
2808 (Fset_fontset_font): Likewise. Use new macros to set elements of
2809 font-def.
2810 (Fnew_fontset): Use font_unparse_xlfd to generate
2811 FONTSET_ASCII (fontset).
2812 (new_fontset_from_font_name): Deleted.
2813 (fontset_from_font): Renamed from new_fontset_from_font. Check if
2814 a fontset is already created for the font. FIx updating of
2815 Vfontset_alias_alist.
2816 (fontset_ascii_font): Deleted.
2817 (Ffont_info): Adjusted for the format change of font-spec.
2818 (Finternal_char_font): Likewise.
2819 (Ffontset_info): Likewise.
2820 (syms_of_fontset): Don't check load_font_func.
2821
2822 * fns.c (internal_equal): Handle PREV_FONT.
2823
2824 * frame.h: Delete USE_FONT_BACKEND conditional.
2825
2826 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
2827 conditionals. Don't check enable_font_backend. Delete all codes
2828 used only when USE_FONT_BACKEND is not defined.
2829 (x_set_font): Call x_new_font, not x_new_fontset2.
2830 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
2831 already set for the frame.
2832
2833 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
2834 a font-entity by font_make_entity. Use font_intern_prop instead
2835 of intern_downcase. Use FONT_SET_STYLE to set a style-related
2836 font property. If a font is scalable, set avgwidth property to 0.
2837 Set font-entity property by font_put_extra.
2838 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
2839 (ffont_driver): Adjusted for the change of struct font_driver.
2840 (ftfont_spec_pattern): New function.
2841 (ftfont_list): Return a list, not vector.
2842 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
2843 (ftfont_list_family): Don't downcase names.
2844 (ftfont_free_entity): Deleted.
2845 (ftfont_open): Return a font-ojbect. Adjusted for the change of
2846 struct font. Get underline_thickness and underline_position from
2847 font property. Don't update dpyinfo->smallest_font_height and
2848 dpyinfo->smallest_char_width.
2849 (ftfont_close): Don't free `struct font'.
2850 (ftfont_has_char): Adjusted for the format change of font-entity.
2851 (ftfont_encode_char, ftfont_text_extents): Likewise.
2852
2853 * ftxfont.c (ftxfont_list): Return a list, not vector.
2854 (ftxfont_open): Return a font-ojbect. Adjusted for the change of
2855 struct font. Get underline_thickness and underline_position from
2856 font property. Don't update dpyinfo->smallest_font_height and
2857 dpyinfo->smallest_char_width.
2858 (ftxfont_close): Don't decrese FRAME_X_DISPLAY_INFO (f)->n_fonts.
2859 (ftxfont_draw): Adjusted for the change of struct font.
2860
2861 * image.c (image_ascent): Don't include "charset.h". Include
2862 "character.h" and "font.h".
2863
2864 * lisp.h (enum pvec_type): New member PREV_FONT.
2865 (Fassoc_string): EXFUN it.
2866
2867 * print.c: Include font.h.
2868 (print_object): Handle font-related objects.
2869
2870 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
2871 conditionals. Don't check enable_font_backend. Delete all codes
2872 used only when USE_FONT_BACKEND is not defined.
2873 (handle_auto_composed_prop): Do nothing if it->f is not on a
2874 window system. Check how many following characters can be
2875 displayed by the same font.
2876 (calc_pixel_width_or_height): Type of the 4th arg is changed to
2877 'struct font *'.
2878 (get_char_face_and_encoding): Assign the whole encoding task to
2879 the `encode-char' method of a font driver.
2880 (fill_composite_glyph_string): Adjusted for the change of `struct
2881 face' and `struct glyph_string'.
2882 (fill_glyph_string): Likewise.
2883 (get_per_char_metric): Arguments changed.
2884 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
2885 and `struct glyph_string'.
2886 (produce_stretch_glyph, calc_line_height_property)
2887 (x_produce_glyphs): Likewise.
2888
2889 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
2890 conditionals. Don't check enable_font_backend. Delete all codes
2891 used only when USE_FONT_BACKEND is not defined. Use
2892 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
2893 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
2894 (Qp): Extern them.
2895 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
2896 Deleted.
2897 (struct font_name): Deleted.
2898 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
2899 (compare_fonts_by_sort_order): New function.
2900 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
2901 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
2902 Deleted.
2903 (Fx_family_fonts): Use font_list_entities, and sort fonts by
2904 compare_fonts_by_sort_order.
2905 (Fx_font_family_list): Call Ffont_family_list.
2906 (face_numeric_value, face_numeric_weight, face_numeric_slant)
2907 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
2908 (face_symbolic_slant, face_symbolic_swidth)
2909 (split_font_name_into_vector, build_font_name_from_vector)
2910 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
2911 (font_rescale_ratio, split_font_name, build_font_name)
2912 (free_font_names, sort_fonts, x_face_list_fonts)
2913 (face_font_available_p, sorted_font_list, cmp_font_names)
2914 (font_list_1, concat_font_list, font_list, remove_duplicates):
2915 Deleted.
2916 (Fx_list_fonts): Use Ffont_list.
2917 (LFACE_AVGWIDTH): Deleted.
2918 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
2919 by FONTP.
2920 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2921 (set_lface_from_font_name): Delete it.
2922 (set_lface_from_font): Renamed from
2923 set_lface_from_font_and_fontset. Caller changed. Don't set
2924 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
2925 for face.
c3f9fba8
JB
2926 (merge_face_vectors): Copy font-spec if necessary.
2927 Clear properties of the font-spec if necessary.
c6b278e7
KH
2928 (merge_face_ref): Clear properties of the font-spec if necessary.
2929 (Finternal_set_lisp_face_attribute): Likewise.
2930 (set_font_frame_param): Use font_load_for_lface to load a
2931 font-object, and call Fmodify_frame_parameters with it.
2932 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
2933 font name by Ffont_xlfd_name.
2934 (Finternal_lisp_face_attribute_values): Don't check QCweight,
2935 QCslant, and QCwidth.
2936 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
2937 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
2938 Compare fonts by EQ.
2939 (lookup_non_ascii_face): Deleted.
2940 (face_for_font): The 2nd argument changed.
c3f9fba8
JB
2941 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
2942 Check atomic font properties by case insensitive.
c6b278e7
KH
2943 (realize_non_ascii_face): Set face->overstrike correctly.
2944 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
2945 (dump_realized_face): Get font name from
2946 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
2947
2948 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
2949 conditionals. Don't check enable_font_backend. Delete all codes
2950 used only when USE_FONT_BACKEND is not defined.
2951 (xic_create_xfontset): Original code deleted and renamed from
2952 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
2953 (x_make_gc): Don't set GCFont in GCs.
2954 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
2955 opened by "fixed".
2956 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
2957 find_ccl_program_func, query_font_func, set_frame_fontset_func,
2958 get_font_repertory_func.
2959
2960 * xfont.c: Include <stdlib.h> and "ccl.h".
2961 (struct xfont_info): New structure.
2962 (xfont_query_font): Deleted.
2963 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
2964 moved from xterm.c.
2965 (xfont_driver): Adjusted for the change of struct font_driver.
2966 (compare_font_names): New function.
2967 (xfont_list_pattern): Sort font names case insensitively. Make
2968 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
2969 (xfont_list): Return a list, not vector.
2970 (xfont_match): If the font doesn't have QCname property, generate
2971 a name from the other font properties.
2972 (xfont_open): Return a font-ojbect. Adjusted for the change of
2973 struct font. Get underline_thickness and underline_position from
2974 font property. Don't update dpyinfo->smallest_font_height and
2975 dpyinfo->smallest_char_width.
2976 (xfont_close): Don't free struct font.
2977 (xfont_prepare_face): Adjusted for the change of struct font.
2978 (xfont_done_face): Deleted.
2979 (xfont_has_char): Adjusted for the change of struct font.
2980 (xfont_encode_char, xfont_draw): Likewise.
2981 (xfont_check): New function.
2982
2983 * xftfont.c (xftfont_list): Adjusted for the change of `list'
2984 callback function.
2985 (xftfont_match): Adjusted for the fontmat change of font-entity.
2986 (xftfont_open): Adjusted for the format change of font-entity and
2987 font-object. Adjusted for the change of struct font. Return a
2988 font-object. Don't update dpyinfo->smallest_font_height and
2989 dpyinfo->smallest_char_width.
2990 (xftfont_close): Block input while calling XftFontClose.
2991 (xftfont_prepare_face): Don't block input while calling
2992 xftfont_get_colors. Adjusted for the change of struct font.
2993 (xftfont_shape): Return value of error case fixed.
2994
2995 * xrdb.c (x_load_resources): Don't setup a fontset resource.
2996
2997 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
2998 conditionals.
2999 (FONT_WIDTH): Return (f)->max_width.
3000 (struct x_display_info): Delete member `font'.
3001 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
3002 (x_find_ccl_program, x_get_font_repertory): Delete externs.
3003 (struct x_output): Change type of `font' to `struct font *'.
3004
3005 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
3006 conditionals. Don't check enable_font_backend. Delete all codes
c3f9fba8 3007 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
c6b278e7
KH
3008 (x_per_char_metric, x_encode_char): Deleted.
3009 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
3010 (x_compute_glyph_string_overhangs): Adjusted for the change of
c3f9fba8 3011 `struct face'.
c6b278e7
KH
3012 (x_draw_glyph_string_foreground)
3013 (x_draw_composite_glyph_string_foreground): Likewise.
3014 (x_draw_glyph_string): Likewise. Use font->underline_position and
3015 font->underline_thickness.
3016 (x_new_font): Renamed from x_new_fontset2.
3017 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
3018 (x_check_font): Call `check' method of a font driver.
3019 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
3020 (x_query_font, x_get_font_repertory): Deleted.
3021 (x_find_ccl_program): Renamed and moved to xfont.c.
3022 (x_redisplay_interface): Adjusted for the change of `struct
3023 redisplay_interface'.
3024
3025 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
3026 conditionals. Don't check enable_font_backend. Delete all codes
3027 used only when USE_FONT_BACKEND is not defined. Surround non-used
3028 code by "#ifdef OLD_FONT" and "endif".
3029 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
3030
3031 * w32font.h (struct w32font_info): New member.
3032 (FONT_COMPAT): New macro.
3033 (w32font_open_internal): Prototype adjusted.
3034
3035 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
3036 OLD_FONT" and "endif".
3037
3038 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
3039 conditionals. Don't check enable_font_backend. Delete all codes
3040 used only when USE_FONT_BACKEND is not defined.
3041 (w32font_open): Return a font-object. Make a font-object by
3042 font_make_object. Adjusted for the change of struct w32font_info.
3043 (w32font_close): Don't free struct font. Adjusted for the change
3044 of struct w32font_info.
3045 (w32font_encode_char, w32font_text_extents, w32font_draw):
3046 Adjusted for the change of struct w32font_info.
3047 (w32font_draw): Likewise.
3048 (w32font_list_internal): Return a list, not vector.
3049 (w32font_open_internal): Change the 4th arg to font-object.
c3f9fba8 3050 Adjusted for the change of struct w32font_info and font-object format.
c6b278e7
KH
3051 (add_font_name_to_list): Don't downcase names.
3052 (w32_enumfont_pattern_entity): Make a font-entity by
3053 font_make_entity. Adjusted for the format change of font-entity.
3054 Use FONT_SET_STYLE to set a style-related font property. If a
3055 font is scalable, set avgwidth property to 0. Set font-entity
3056 property by font_put_extra.
c3f9fba8 3057 (font_matches_spec): Adjusted for the format change of font-entity.
c6b278e7
KH
3058 (w32_weight_table, w32_decode_weight): New variables.
3059 (w32_encode_weight): New function.
3060 (fill_in_logfont): Adjusted for the format change of font-spec.
3061 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
3062 weight value.
3063 (w32font_driver): Adjusted for the change of struct font_driver.
3064
3065 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
f245f2c6 3066 conditionals. Don't check enable_font_backend. Surround non-used
c6b278e7
KH
3067 code by "#ifdef OLD_FONT" and "endif".
3068 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
3069 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
3070
3071 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
3072 conditionals. Don't check enable_font_backend. Delete all codes
3073 used only when USE_FONT_BACKEND is not defined. Surround non-used
3074 code by "#ifdef OLD_FONT" and "endif".
3075
3076 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
c3f9fba8
JB
3077 (uniscribe_open): Return value changed to font-object.
3078 Adjusted for the format change of font-object.
3079 (uniscribe_otf_capability): Adjusted for the change of struct font.
c6b278e7
KH
3080 (add_opentype_font_name_to_list): Don't downcase names.
3081 (uniscribe_font_driver): Adjusted for the change of struct
3082 font_driver.
3083
f9d4c199
CY
30842008-05-13 Chong Yidong <cyd@stupidchicken.com>
3085
3086 * dispnew.c (update_frame_1): Check if tty output is still valid
3087 before flushing it.
3088
44f249c0
JD
30892008-05-13 Jan Djärv <jan.h.d@swipnet.se>
3090
3091 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
3092 to Gtk+ menus.
3093
01bb4018
SM
30942008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
3095
3271a8f5
SM
3096 * dired.c (file_name_completion): Tweak the code so as to always do it
3097 in a single pass. Tighten the scope of some variables.
3098
01bb4018
SM
3099 * dired.c (Qdefault_directory): New var.
3100 (file_name_completion): Use it instead of Fexpand_file_name.
3101 (syms_of_dired): Initialize it.
3102
728bb8e0
SM
31032008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
3104
3105 * fileio.c (double_dollars): Remove dead code.
3106
ed4c17bb
EZ
31072008-05-10 Eli Zaretskii <eliz@gnu.org>
3108
6c5665e9
EZ
3109 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
3110 Mention w32-get-true-file-attributes in doc string.
3111
ed4c17bb
EZ
3112 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
3113
71e1f69d
GM
31142008-05-09 Glenn Morris <rgm@gnu.org>
3115
3116 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
3117 2008-04-23.
3118
ee7a2e7a
EZ
31192008-05-09 Eli Zaretskii <eliz@gnu.org>
3120
8aaaec6b
EZ
3121 Support for reporting owner and group of each file on MS-Windows:
3122 * dired.c (stat_uname, stat_gname): New functions, with special
3123 implementation for w32.
3124 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
3125
ee7a2e7a
EZ
3126 * w32.c: Rename the_passwd_* to dflt_passwd_*.
3127 (dflt_group_name): New static variable.
728bb8e0 3128 (dflt_group): Rename from the_group.
ee7a2e7a
EZ
3129 (init_user_info): Init dflt_group fields. Get user's group name
3130 from LookupAccountSid.
8aaaec6b
EZ
3131 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
3132 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
3133 New initialization states.
3134 (globals_of_w32): Initialize them to zero. Initialize the default
3135 group name to "None".
3136 (GetFileSecurity_Name): New global var, the name of the function
3137 to call for GetFileSecurity.
3138 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
3139 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
3140 (get_file_security, get_security_descriptor_owner)
3141 (get_security_descriptor_group, is_valid_sid)
3142 (get_file_security_desc, get_rid, get_name_and_id)
3143 (get_file_owner_and_group): New functions.
3144 (stat): Use get_file_security_desc and get_file_owner_and_group to
3145 report the owner and primary group of each file. Don't ignore the
728bb8e0
SM
3146 high 32 bits of file's size, now that st_size is 64-bit wide.
3147 Fix test when to get true file attributes.
8aaaec6b
EZ
3148 (init_user_info): Use get_rid instead of equivalent inline code.
3149 (fstat): Don't ignore the high 32 bits of file's size.
ee7a2e7a 3150
b199c436
CY
31512008-05-09 Chong Yidong <cyd@stupidchicken.com>
3152
3153 * image.c (png_load): Use correct bit-depth for setting background
3154 color.
3155
86914123
EZ
31562008-05-08 Eli Zaretskii <eliz@gnu.org>
3157
3158 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
3159 epa-hook.elc.
3160
67b5d7de
JB
31612008-05-08 Juanma Barranquero <lekktu@gmail.com>
3162
3163 * font.c (Ffont_match_p): Don't use `iff' in docstring.
3164
1a111394
DN
31652008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
3166
3167 * macfns.c (Fx_create_frame): Make a copy of frame parameters
3168 because the original parameters are in pure storage now.
3169 (mac_window): Remove unused params. Update callers.
3170
6d77fa95
SM
31712008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
3172
7a3d90dc
SM
3173 * lread.c (substitute_object_recurse): Use lower-level primitives.
3174 Don't signal errors when traversing sub-char-tables.
3175 Don't loop over all the possible characters when traversing char-tables.
3176
6d77fa95
SM
3177 * print.c (print_preprocess): Add sub-char-tables to the print-table,
3178 just like we do in print.c.
3179
140eb764
SM
31802008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
3181
3182 * minibuf.c (Ftry_completion): Remove code left over from when we used
3183 scmp instead of Fcompare_strings.
3184
e9184ccb
JB
31852008-05-04 Juanma Barranquero <lekktu@gmail.com>
3186
3187 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
3188
0e9378b3
YM
31892008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3190
3191 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
3192 Create bitmap context in native byte order.
3193
f67e15be
MB
3194 * macterm.c (XDrawLine)
3195 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
3196 context in native byte order.
064032d0 3197
f67e15be 31982008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
50eff40f
YM
3199
3200 * config.in: Regenerate.
3201
3202 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
3203 New definitions for Image I/O support.
3204 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
3205 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
3206 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
3207 (mac_data_provider_release_data, image_load_image_io)
3208 [USE_MAC_IMAGE_IO]: New functions.
3209 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
3210 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
3211 (init_image_func_pointer) [MAC_OSX]: Remove function.
3212 (image_load_quartz2d) [MAC_OSX]: Check availability of
3213 CGImageCreateWithPNGDataProvider at compile time.
3214 Use lowercase `false' for boolean constant.
3215 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
3216 Use image_load_image_io.
3217 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
3218 Don't check MyCGImageCreateWithPNGDataProvider.
3219 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
3220 Don't call init_image_func_pointer.
3221
3222 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
3223
3224 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
3225 Make variable non-static.
3226 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
3227 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
3228
3229 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
3230 (RED_FROM_ULONG): Mask off higher bits.
3231 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
3232
3233 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
3234 Include AvailabilityMacros.h.
3235 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
3236 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
3237
c6bff69e
SM
32382008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
3239
3240 * chartab.c (Fset_char_table_range): If range is t, really set all
3241 chars to that value.
3242
7412d429
EZ
32432008-05-03 Eli Zaretskii <eliz@gnu.org>
3244
3245 * dired.c (Ffile_attributes): Don't allow the device number become
3246 negative.
3247
f83bbfac
DU
32482008-05-02 Daiki Ueno <ueno@unixuser.org>
3249
5a81d3d7 3250 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
f83bbfac 3251
2e3148e2
JL
32522008-05-02 Juri Linkov <juri@jurta.org>
3253
3254 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
728bb8e0
SM
3255 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
3256 DEFAULT argument as a list of default values in docstrings.
2e3148e2 3257
923fb88c
CY
32582008-05-01 Chong Yidong <cyd@stupidchicken.com>
3259
3260 * puresize.h (BASE_PURESIZE): Increase to 1210000.
3261
047aaeb9
MR
32622008-05-01 Martin Rudalics <rudalics@gmx.at>
3263
3264 * dispnew.c (change_frame_size_1): Preserve small windows when
3265 shrinking frames by calling set_window_height|width with third
3266 arg 2.
3267
3268 * window.h (struct window): Replace field too_small_ok by field
3269 resize_proportionally.
3270
3271 * window.c (make_window): Initialize resize_proportionally.
3272 (enlarge_window): Temporarily set resize_proportionally to make
3273 sure that shrink_windows does scale the window proportionally.
3274 (shrink_windows): When window has resize_proportionally set try
3275 to shrink it proportionally by stealing from other windows.
3276 (struct saved_window, Fset_window_configuration)
3277 (compare_window_configurations): Handle resize_proportionally.
3278 (WINDOW_TOTAL_SIZE): New macro.
3279 (window_min_size, shrink_windows, size_window): Use it.
c6bff69e 3280 (check_min_window_sizes): Remove. Invalid values of
047aaeb9
MR
3281 window-min-height|width are handled by window_min_size_2 now.
3282 (size_window, Fsplit_window, enlarge_window)
3283 (adjust_window_trailing_edge, grow_mini_window): Don't call
3284 check_min_window_sizes.
c6bff69e
SM
3285 (window_min_size_2, window_min_size_1, window_min_size):
3286 New argument safe_p for retrieving "safe" minimum sizes.
c3f9fba8 3287 (Fdisplay_buffer, Fsplit_window, enlarge_window)
c6bff69e
SM
3288 (adjust_window_trailing_edge, grow_mini_window):
3289 Adjust arguments of window_min_size... functions.
047aaeb9
MR
3290 (shrink_windows): Argument min_size removed. New argument
3291 safe_p allows shrinking windows to their safe minimum sizes.
3292 Calculate minimum size and decide whether a window shall be
3293 deleted for each window individually.
3294 (size_window): When nodelete_p equals 2, tell shrink_windows to
3295 delete windows only if their new minimum size is no more safe.
3296 (shrink_window_lowest_first): Call window_min_size_1 to make
3297 sure to preserve modeline of bottom-most window when resizing
3298 the minibuffer.
3299 (Fset_window_configuration, Fcurrent_window_configuration)
3300 (compare_window_configurations): Do not handle
3301 window-min-height|width any more.
3302 (syms_of_window): Clarify window-min-height|width doc-strings.
3303
2a54a229
SM
33042008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
3305
3306 * dired.c (file_name_completion): Fix up the encoding/decoding issue
3307 some more. Copy some of the code from Ftry_completions.
3308 Remove special case code that dates back to initial revision when the
3309 slash was only added when necessary and that can't trigger nowadays.
3310
384bc634
KH
33112008-04-27 Kenichi Handa <handa@m17n.org>
3312
3313 * font.c (font_prop_validate): Signal `error' instead of `font'.
3314
2c2279c6
JR
33152008-04-29 Jason Rumney <jasonr@gnu.org>
3316
3317 * w32fns.c (Fw32_battery_status): New defun.
3318 (syms_of_w32fns): Defsubr it.
3319
fb4a622a
AS
33202008-04-28 Andreas Schwab <schwab@suse.de>
3321
3322 * dired.c (file_name_completion): Fix another mixing of encoded
3323 and decoded names.
3324
23f250f4
JB
33252008-04-28 Juanma Barranquero <lekktu@gmail.com>
3326
3327 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
3328
d8d30dff
JB
33292008-04-27 Juanma Barranquero <lekktu@gmail.com>
3330
3331 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
3332
ea6104a8
AS
33332008-04-27 Andreas Schwab <schwab@suse.de>
3334
9c691c00
AS
3335 * dired.c (file_name_completion): Fix inappropriate mixing of
3336 encoded and decoded names.
3337
ec1bf773
AS
3338 * xterm.c (XTread_socket): Fix use of uninitialized variable.
3339
ea6104a8
AS
3340 * puresize.h (BASE_PURESIZE): Increase to 1200000.
3341
01388a3d
EZ
33422008-04-26 Eli Zaretskii <eliz@gnu.org>
3343
3344 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
3345 2008-03-31, it's not needed anymore with `struct stat' definition
3346 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
3347 for the same reasons.
3348
175aea10 33492008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
27af566c
CY
3350
3351 * m/sparc.h: Additional redefinitions for GNU/Linux.
3352
1289aeb8
YM
33532008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3354
3355 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
3356 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
3357 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
3358 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
3359 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
3360 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
3361 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
3362 Likewise.
3363
3364 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
c3f9fba8 3365 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
1289aeb8
YM
3366 (mac_ax_number_of_characters): Add externs.
3367 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
3368 [USE_MAC_TSM]: Likewise.
3369 (mac_handle_text_input_event) [MAC_OSX]:
3370 Handle kEventTextInputOffsetToPos for no active input area case.
3371 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
3372 (mac_handle_document_access_event)
3373 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
3374 (install_application_handler) [MAC_OSX]: Register handlers for
3375 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
3376 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
3377 Register mac_handle_document_access_event.
3378
3379 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
3380 Make functions non-static.
3381
dbd50d4b
SM
33822008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
3383
3384 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
3385 (read_file_name_completion_ignore_case, insert_default_directory)
3386 (Qdefault_directory): Move to minibuffer.el.
3387 (Fread_file_name): Call the new `read-file-name' instead.
3388
9ea37b9d 33892008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
81fe843b
YM
3390
3391 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
3392 Make function non-static.
3393 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
3394 Remove function.
3395 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
3396 Move to mactoolbox.c.
3397 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
3398
3399 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
3400 (mac_rect_make): New macro.
3401
3402 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
3403 instead of float.
3404 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
3405 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
3406 (XSetBackground) [USE_CG_DRAWING]: Likewise.
3407 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
3408 CGRectMake.
3409 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
3410 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
3411 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
3412 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
3413 instead of WindowRef in argument type.
3414 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
3415 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
3416 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
3417 instead of DISPLAY. All uses changed.
3418 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
3419 (x_calc_absolute_position): Simplify so as not to use
3420 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
81fe843b
YM
3421
3422 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
3423 instead of WindowRef in argument type.
3424 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
3425 [TARGET_API_MAC_CARBON]: Remove externs.
3426 (create_apple_event, mac_event_parameters_to_lisp)
3427 [TARGET_API_MAC_CARBON]: Add externs.
3428
d8d30dff 3429 * mactoolbox.c (Vmac_ts_script_language_on_focus)
81fe843b
YM
3430 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
3431 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
3432 is clicked.
3433 (x_activate_menubar): Remove extern for saved_menu_event_location.
3434 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
3435 Move from mac.c.
3436
9ea37b9d 34372008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
a1b41389
YM
3438
3439 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
3440 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
3441
9ea37b9d 34422008-04-23 Jason Rumney <jasonr@gnu.org>
bd735631
JR
3443
3444 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
3445 attributes only for local files.
3446
3447 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
e9184ccb 3448 default to Qlocal.
bd735631 3449
88970542
JL
34502008-04-22 Juri Linkov <juri@jurta.org>
3451
3452 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
3453 read-buffer-to-switch instead of using the letter "B".
3454
92ec67e3
SM
34552008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
3456
3457 * fileio.c (Qdefault_directory): New variable.
3458 (Fread_file_name): Use it to pass `dir' to the completion functions.
3459
a32b2382
CY
34602008-04-20 Chong Yidong <cyd@stupidchicken.com>
3461
2a2e8de7 3462 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
a32b2382 3463
6c8b4f07
SM
34642008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
3465
ece5f847
SM
3466 * keyboard.c (Vpre_help_message): Remove.
3467 (show_help_echo): Remove default C code.
3468
6c8b4f07
SM
3469 * dired.c (directory_files_internal, file_name_completion):
3470 Only call ENCODE_FILE if the string is indeed decoded.
3471
73d798d5
SM
34722008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
3473
3474 * Makefile.in (TOOLKIT_DEFINES): Remove.
3475 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
3476
d8d30dff 34772008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9e13f0c3
YM
3478
3479 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
3480 (mactoolbox.o): New target.
3481
3482 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
3483 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
3484
3485 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
3486 Use mac_set_frame_window_background instead of XSetWindowBackground.
3487 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
3488 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
3489 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
3490 instead of SetWindowTitleWithCFString.
3491 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
3492 Move function to mactoolbox.c.
3493 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
3494 Use mac_set_window_modified instead of SetWindowModified.
3495 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
3496 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
3497 (Fx_focus_frame): Use mac_front_non_floating_window instead of
3498 FrontNonFloatingWindow. Use mac_activate_window instead of
3499 ActivateWindow. Use mac_active_non_floating_window instead of
3500 ActiveNonFloatingWindow.
3501 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
3502 Use mac_show_hourglass and mac_hide_hourglass.
3503 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
3504 instead of GetGlobalMouse.
3505 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
3506 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
3507 Use mac_bring_window_to_front instead of BringToFront.
3508 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
3509 mactoolbox.c.
3510 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
3511 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
3512 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
3513 mactoolbox.c.
3514
3515 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
3516 (XtPointer): Move typedef from macmenu.c.
3517 (enum button_type): Move enum from macmenu.c.
3518 (widget_value): Move typedef from macmenu.c.
3519 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
3520 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
3521 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
3522 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
3523 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
3524 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
3525 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
3526 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
3527 (Selection): Move typedef from macselect.c.
3528 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
3529 macterm.c.
3530 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
3531 (mac_is_window_collapsed, mac_bring_window_to_front)
3532 (mac_send_window_behind, mac_hide_window, mac_show_window)
3533 (mac_collapse_window, mac_front_non_floating_window)
3534 (mac_active_non_floating_window, mac_activate_window)
3535 (mac_move_window_structure, mac_move_window, mac_size_window)
3536 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
3537
3538 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
3539 (enum mac_menu_kind): Move enum to mactoolbox.c.
3540 (min_menu_id): Move variable to mactoolbox.c.
3541 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
3542 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
3543 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
3544 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
3545 [TARGET_API_MAC_CARBON]: Likewise.
3546 (XtPointer): Move typedef to macgui.h.
3547 (enum button_type): Move enum to macgui.h.
d02fe47d
MB
3548 (widget_value): Move typedef to macgui.h.
3549 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
3550 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
3551 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
3552 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
3553 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
3554 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
3555 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
3556 (popup_activated_flag): Make variable non-static.
3557 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
3558 (add_menu_item, fill_menu, dispose_menus):
3559 Move functions to mactoolbox.c.
3560 (restore_show_help_function, menu_target_item_handler)
3561 (install_menu_target_item_handler, mac_handle_dialog_event)
3562 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
3563 [TARGET_API_MAC_CARBON]: Likewise.
3564 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
3565 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
3566 (find_and_call_menu_selection, name_is_separator): Make function
3567 non-static.
3568 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
3569 to mactoolbox.c.
3570 (set_frame_menubar): Don't call install_menu_quit_handler.
3571 (menu_item_selection): New variable.
3572 (mac_menu_show): Use create_and_show_popup_menu.
3573 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
3574 selection but set variable menu_item_selection. All uses changed.
3575 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
3576 Call install_menu_quit_handler. Move to mactoolbox.c.
edd3ff1d 3577
d02fe47d
MB
3578 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
3579 (Selection): Move typedef to macgui.h.
3580 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
3581 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
3582 Make variables non-static.
3583 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
3584 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
3585 Make functions non-static.
3586 (Vmac_service_selection) [MAC_OSX]: Likewise.
3587 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
3588 (mac_valid_selection_target_p, mac_clear_selection)
3589 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
3590 (mac_put_selection_value, mac_selection_has_target_p)
3591 (mac_get_selection_value, mac_get_selection_target_list)
3592 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
3593 Move functions to mactoolbox.c.
3594 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
3595 Likewise.
3596 (copy_scrap_flavor_data, mac_handle_service_event)
3597 (install_service_handler) [MAC_OSX]: Likewise.
3598 (syms_of_macselect) <Vmac_dnd_known_types>:
3599 Use mac_dnd_default_known_types.
463f55ee 3600
d02fe47d
MB
3601 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
3602 Move to mactoolbox.c.
3603 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
3604 (Fx_selection_owner_p): Add EXFUN.
3605 (install_window_handler, remove_window_handler, XSetWindowBackground):
3606 Remove externs.
3607 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
3608 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
3609 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
3610 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
3611 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
3612 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
3613 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
3614 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
3615 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
3616 (create_and_show_popup_menu, mac_get_selection_from_symbol)
3617 (mac_valid_selection_target_p, mac_clear_selection)
3618 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
3619 (mac_put_selection_value, mac_selection_has_target_p)
3620 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
3621 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
3622 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
3623 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
3624 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
3625 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
3626 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
3627 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
3628 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
463f55ee 3629
d02fe47d 3630 * mactoolbox.c: New file.
af253914 3631
d8d30dff 36322008-04-18 Jason Rumney <jasonr@gnu.org>
af253914 3633
d02fe47d 3634 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
af253914 3635
8ee085a4
SM
36362008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
3637
73d798d5
SM
3638 * character.c (Fmultibyte_char_to_unibyte):
3639 Return latin1 chars unchanged.
5556875b 3640
8ee085a4
SM
3641 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
3642 relocated if it points to `name'.
3643
5dff5999
KH
36442008-04-17 Kenichi Handa <handa@m17n.org>
3645
3646 * data.c (Faset): Allow setting a multibyte character in an
3647 ASCII-only unibyte string.
3648
3649 * lisp.h (STRING_SET_MULTIBYTE): New macro.
3650
a51f4969
SM
36512008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
3652
3653 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
3654 done in config.h.
3655
add553ac
JB
36562008-04-16 Juanma Barranquero <lekktu@gmail.com>
3657
3658 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
3659 (Fchar_direction): Add usage in the docstring.
3660
8ad7b280
CY
36612008-04-15 Chong Yidong <cyd@stupidchicken.com>
3662
3663 * keyboard.c (read_key_sequence): Remove always-true checks.
3664
e157d7ba
JR
36652008-04-14 Jason Rumney <jasonr@gnu.org>
3666
3667 * w32font.c (w32font_open_internal): Set max_bounds.descent in
3668 compatibility struct, for better underline positioning.
3669
9ec3aaef 36702008-04-13 David Hansen <david.hansen@gmx.net>
48f7d213
MA
3671
3672 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
3673 string.
3674
36c08864
DN
36752008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
3676
3677 * m/hp800.h (XUINT, XSET): Remove.
3678
f5acc071
JB
36792008-04-12 Juanma Barranquero <lekktu@gmail.com>
3680
3681 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
3682 previous change.
3683
5b5a2ea1
SM
36842008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
3685
3686 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
3687 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
3688
492d9fd6
SM
36892008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
3690
3691 * keymap.h (map_keymap_canonical): Declare.
3692 * xmenu.c (single_keymap_panes): Use it.
3693
dd60787c
GM
36942008-04-11 Glenn Morris <rgm@gnu.org>
3695
3696 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
3697 set the target's value to that of the alias.
3698
c23b5410
SM
36992008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
3700
3701 * term.c (set_tty_color_mode): Left over typo.
3702
e89b536d
MA
37032008-04-10 Michael Albinus <michael.albinus@gmx.de>
3704
3705 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
f5acc071 3706 only after check for file name handler functions. Signal, when
e89b536d
MA
3707 native functionality is not supported.
3708 (syms_of_fileio): Declare it unconditionally.
3709
40a339c8
JR
37102008-04-10 Jason Rumney <jasonr@gnu.org>
3711
31403b24
JR
3712 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
3713 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
3714
40a339c8
JR
3715 * w32.c (logon_network_drive): Also logon to remote drives that
3716 are mapped to drive letters.
3717
96a7394f
GM
37182008-04-10 Glenn Morris <rgm@gnu.org>
3719
3720 * xdisp.c (truncate-partial-width-windows): Doc fix.
3721
34b67b0f
SM
37222008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
3723
3724 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
3725 Move functions to minibuffer.el.
3726 (syms_of_fileio): Don't declare them.
3727
c025fb0a
SM
37282008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
3729
ba5ff07b
SM
3730 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
3731 (syms_of_minibuf): Remove its initialization.
3732
c025fb0a
SM
3733 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
3734
7a6a86ad
JB
37352008-04-09 Juanma Barranquero <lekktu@gmail.com>
3736
3737 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
3738
cf907d69
JR
37392008-04-09 Jason Rumney <jasonr@gnu.org>
3740
3dc94c30
JR
3741 * makefile.w32-in (distclean): Delete makefile too.
3742 (maintainer-clean): New target.
3743
8d28646b
JR
3744 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
3745
cf907d69
JR
3746 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
3747 for new font backend and composite cases.
3748
ef5eb925
JD
37492008-04-09 Jan Djärv <jan.h.d@swipnet.se>
3750
3751 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
3752 Most of the code moved to run_timers.
3753 (do_pending_atimers): Call run_timers.
3754 (run_timers): New function.
3755
cf907d69
JR
3756 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
3757 run atimers.
ef5eb925
JD
3758
3759 * process.c (wait_reading_process_output): The same as above.
3760
9b2cd403
SM
37612008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
3762
32bae13c
SM
3763 * minibuf.c (last_exact_completion): Remove variable.
3764 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
3765 (complete_and_exit_1, complete_and_exit_2)
3766 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
3767 (Fdisplay_completion_list, display_completion_list_1)
3768 (Fminibuffer_completion_help, Fself_insert_and_exit)
8d28646b
JR
3769 (Fexit_minibuffer, Fminibuffer_message): Move functions to
3770 minibuffer.el.
32bae13c
SM
3771 (syms_of_minibuf): Remove corresponding initializations.
3772
5c4cc82a
SM
3773 * keyboard.c (Qdeactivate_mark): New var.
3774 (command_loop_1): Use it to call `deactivate-mark'.
3775 (syms_of_keyboard): Initialize it.
3776
9b2cd403
SM
3777 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
3778 to another frame.
3779 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
3780 Don't call set_tty_color_mode.
3781 (store_frame_param): Reset previous_frame rather than call
3782 set_tty_color_mode.
3783 * term.c (set_tty_color_mode): Rewrite.
3784 * dispextern.h (set_tty_color_mode): New type.
3785 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
3786
84cb7b45
SM
37872008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
3788
3789 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
3790 for generic chars, which do not exist any more in emacs-unicode.
3791
3ed051d4
MA
37922008-04-08 Michael Albinus <michael.albinus@gmx.de>
3793
3794 * coding.c (detect_coding_emacs_mule)
3795 (Ffind_operation_coding_system): Fix typo.
3796
58c3ea42
JR
37972008-04-08 Jason Rumney <jasonr@gnu.org>
3798
3bf8d230
JR
3799 * w32uniscribe.c (SNAME): Extract only symbol name.
3800
56a70cca
JR
3801 * w32font.h (struct w32_metric_cache): New struct.
3802 (w32font_info): Use it.
3803 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
3804 (CACHE_BLOCKSIZE): New constants.
3ed051d4 3805
58c3ea42
JR
3806 * w32font.c (Qja, Qko, Qzh): New symbols.
3807 (syms_of_w32font): Initialise them.
3808 (font_matches_spec): Use them to filter by language.
3809 (recompute_cached_metrics): Remove function.
3810 (compute_metrics, clear_cached_metrics): New functions.
3811 (w32font_encode_char): Use them to manage metric cache.
3812 (w32font_text_extents): Cache metrics for all glyphs on demand.
3813 Delay converting glyph indices to WORD until needed.
3814 (w32font_open_internal): Initialize metric cache to empty.
3815 (registry_to_w32_charset): Charset should always be a symbol.
3816 (fill_in_logfont, list_all_matching_fonts): Family should
3817 always be a symbol.
3818
0ce24b2d
JR
38192008-04-06 Jason Rumney <jasonr@gnu.org>
3820
3821 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
3822 Give up if glyph indices not supported. Use uniscribe obtained
3823 ABC widths for individual metrics. Map glyph clusters back to
3824 characters using fClusterStart flag. Return number of glyphs
3825 produced, not chars processed.
b7655e0c 3826 (uniscribe_shape): Map char at FROM to current glyph.
0ce24b2d 3827
5bc6ddff 38282008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
56613f06 3829
fbf57abb
JB
3830 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
3831 Use SetMenuItemHierarchicalMenu.
56613f06 3832
5bc6ddff 38332008-04-05 Jason Rumney <jasonr@gnu.org>
93421a1f 3834
5bc6ddff
MB
3835 * image.c (pbm_load): Allow color values up to 65535.
3836 Throw an error if max_color_idx is outside the supported range.
3837 Report an error when image size is invalid.
3838 Read two bytes at a time when raw images have max_color_idx above 255.
1f816871 3839
5bc6ddff 38402008-04-05 Eli Zaretskii <eliz@gnu.org>
5ed6ba5b 3841
5bc6ddff
MB
3842 * w32.c (readdir): If FindFirstFile/FindNextFile return in
3843 cFileName a file name that includes `?' characters, use the 8+3
3844 alias in cAlternateFileName instead.
5ed6ba5b 3845
5bc6ddff 38462008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
32c06229 3847
5bc6ddff
MB
3848 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
3849 append "CCL: Quitted" when the CCL program is quitted.
3850 (setup_ccl_program): Initialize ccl->quit_silently to zero.
32c06229 3851
5bc6ddff 3852 * ccl.h (struct ccl_program): New member quit_silently.
32c06229 3853
c36e15db
CY
38542008-04-05 Chong Yidong <cyd@stupidchicken.com>
3855
9605d567
CY
3856 * search.c (compile_pattern_1): Treat non-nil and non-string of
3857 search-spaces-regexp as nil.
3858
c36e15db
CY
3859 * minibuf.c (Fassoc_string): Tweak docstring.
3860
40beb147
EZ
38612008-04-05 Eli Zaretskii <eliz@gnu.org>
3862
3863 * dired.c (Ffile_attributes): Support inode numbers wider than 32
3864 bits. Remove ugly WINDOWSNT-specific kludge introduced on
3865 2008-03-14 to force inode be positive.
3866
3867 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
3868 _S_* ones, since we now use our own sys/stat.h.
3869 (stat, fstat): Don't mangle the inode number.
aa08d1ff 3870 (init_user_info): Don't restrict UID and GID to 0-60000 range.
40beb147 3871
4591d6cb
SM
38722008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
3873
d4417eb0
SM
3874 * frame.h (struct frame): Give one more bit to `visible' since we use
3875 values larger than 1 to indicate obscured frames on ttys.
3876
00f7c5ed
SM
3877 * keymap.c (Qkeymap_canonicalize): New var.
3878 (Fmap_keymap_internal): New fun.
3879 (describe_map): Use keymap-canonicalize.
3880
4591d6cb
SM
3881 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
3882 (Fundo_boundary): Set them.
3883 (syms_of_undo): Initialize them.
3884 (record_point): Use them instead of last_point_position*.
3885 (last_undo_buffer): Change type.
3886
3187540e
JR
38872008-04-04 Jason Rumney <jasonr@gnu.org>
3888
0ce24b2d
JR
3889 * w32font.c (w32font_text_extents): Use font's ascent and descent.
3890 (recompute_cached_metrics): Don't set ascent and descent per char.
3891
3187540e 3892 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
4591d6cb 3893 (uniscribe_check_otf): Add GC protection before consing.
d0bfec76 3894 Rearrange loop for counting features.
3187540e 3895
f1a6b216
SM
38962008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
3897
3898 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
3899 buffer with byte-size of source buffer.
3900
1d8dcf63
CY
39012008-04-03 Chong Yidong <cyd@stupidchicken.com>
3902
3903 * callint.c (Fcall_interactively): Handle temporary region even
3904 when shift-select-mode is off.
3905
6b8aa22a
JR
39062008-04-03 Jason Rumney <jasonr@gnu.org>
3907
3908 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
3909
2f3cbb32
KH
39102008-04-03 Kenichi Handa <handa@m17n.org>
3911
3912 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
3913 (CATEGORY_MASK_UTF_16): Likewise.
3914 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
3915 binary file.
3916 (detect_coding): Add null-byte detection for a binary file.
3917 (detect_coding_system): Likewise.
3918
43f4f91c
JR
39192008-04-03 Jason Rumney <jasonr@gnu.org>
3920
0c1b4ae2
JR
3921 * w32uniscribe.c: New file.
3922
3923 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
3924
3925 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
3926
3927 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
3928 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
3929 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
3930 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
3931 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
3932 (Qphonetic): New symbols.
3933 (syms_of_w32font): Initialize them.
3934 (font_supported_scripts): Use them.
3935 (w32font_list_family): List all charsets.
3936 (w32font_text_extents, recompute_cached_metrics): Fix metric
3937 calculations.
3938 (w32_enumfont_pattern_entity): Make full_type a DWORD.
3939 Give opentype fonts their own format.
3940 (font_matches_spec): New arguments backend and logfont.
3941 Handle :otf spec for uniscribe backend.
3942 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
3943 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
4591d6cb 3944
0c1b4ae2
JR
3945 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
3946 font backend.
3947 (globals_of_w32fns): Initialize uniscribe font backend.
3948
fbf57abb 3949 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
0c1b4ae2
JR
3950 dependencies.
3951 (w32uniscribe.$(O)): New file to build.
3952 (FONT_OBJ): Include w32uniscribe.$(O).
3953 (LIBS): Add uniscribe libraries.
3954
43f4f91c
JR
3955 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
3956
75043a7d
CY
39572008-04-02 Chong Yidong <cyd@stupidchicken.com>
3958
3959 * callint.c (Vshift_select_mode): New var.
3960 (Finteractive): Document new ^ spec.
3961 (Fcall_interactively): Call handle-shift-selection if the ^ spec
3962 is present.
3963
3964 * keyboard.c (Vthis_command_keys_shift_translated): New var.
3965 (command_loop_1): Avoid running the direct display versions of
3966 forward-char and backward-char if shift-selection may occur.
75043a7d
CY
3967 (read_key_sequence): Set Vthis_command_keys_shift_translated if
3968 shift-translation takes place.
3969
3970 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
3971 avoid clobbering by define-minor-mode.
3972
3973 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
3974 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
3975
3976 * syntax.c (Fforward_word): Add ^ interactive spec.
3977
3978 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
3979 (Fscroll_right): Add ^ interactive spec.
3980
b2b7f29e
SM
39812008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
3982
a432c0a6
SM
3983 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
3984
994b75e0
SM
3985 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
3986
b2b7f29e
SM
3987 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
3988
e99c7806
JL
39892008-03-31 Juri Linkov <juri@jurta.org>
3990
3991 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
3992
1c9c1270
JD
39932008-03-30 Jan Djärv <jan.h.d@swipnet.se>
3994
3995 * gtkutil.c (xg_set_geometry): Fix indentation.
994b75e0 3996 (xg_resize_outer_widget): Remove.
1c9c1270
JD
3997 (x_wm_size_hint_off): Fix indentation.
3998 (xg_frame_set_char_size): Call flush_and_sync after
3999 gtk_window_resize.
4000 (x_wm_set_size_hint): Pass NULL as geometry window to
4001 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
4002 Add menu bar and tool bar height to base height.
4003 (xg_update_frame_menubar, free_frame_menubar)
4004 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
994b75e0
SM
4005 (update_frame_tool_bar, free_frame_tool_bar):
4006 Change xg_resize_outer_widget to xg_frame_set_char_size.
1c9c1270 4007
90b3fc84
MA
40082008-03-30 Michael Albinus <michael.albinus@gmx.de>
4009
4010 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
4011 (Fdbus_call_method): New parameter TIMEOUT.
4012 (dbus-send-signal): Optimize UNGCPRO call.
4013
7ae6d1d1
JL
40142008-03-29 Juri Linkov <juri@jurta.org>
4015
4016 * window.c (Fdisplay_buffer): Move call to
4017 Vsplit_window_preferred_function out of conditions that check
4018 if window is eligible for vertical splitting.
4019 When Vsplit_window_preferred_function is non-nil, call it and use
4020 its non-nil return value as window. Otherwise, continue doing
4021 vertical splitting using Fsplit_window with arg horflag=nil.
4022 (syms_of_window) <Vsplit_window_preferred_function>: Change the
4023 default value from `split-window' to nil.
4024
f03f8f2c
JL
40252008-03-29 Juri Linkov <juri@jurta.org>
4026
4027 * callint.c (Fcall_interactively): Revert 2008-03-16 change
4028 for interactive code letters 'b' and 'B'.
4029
6d557778
EZ
40302008-03-29 Eli Zaretskii <eliz@gnu.org>
4031
4032 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
4033 multibyte string.
4034
58555d81
SM
40352008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
4036
4037 * keyboard.c (pending_funcalls): New var.
4038 (timer_check): Run it.
4039 (syms_of_keyboard): Initialize it.
4040 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
4041 (Vdelete_terminal_functions): New vars.
4042 (syms_of_terminal): Initialize them.
4043 (Fdelete_terminal): Run delete-terminal-functions.
4044 * xdisp.c (safe_eval): Rewrite.
4045 (safe_call2): New fun.
4046 * frame.c (Qdelete_frame_functions): New var.
4047 (syms_of_frame): Initialize it.
4048 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
4049 * lisp.h (safe_call2, pending_funcalls): Declare.
4050
4c92f429
AS
40512008-03-28 Andreas Schwab <schwab@suse.de>
4052
4053 * indent.c (Fmove_to_column): Move declaration before statements.
4054
a1567c45
SM
40552008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
4056
2806a183
SM
4057 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
4058 (struct frame): Use bit fields for boolean vars.
4059
eef60308
SM
4060 * process.c (server_accept_connection): Simplify naming.
4061 (emacs_get_tty_pgrp): Use SDATA.
4062
a1567c45
SM
4063 * coding.c (decode_coding_object): Fix last change.
4064
30076589
JR
40652008-03-27 Jason Rumney <jasonr@gnu.org>
4066
4067 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
4068
880820fe
KH
40692008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
4070
4071 * charset.c (Fdefine_charset_internal): Change the way of
4072 registering charsets in Vcharset_order_list.
4073 (syms_of_charset): Make the charset `eight-bit' supplementary.
4074
3cf8cdfb
CY
40752008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
4076
4077 * regex.c (EXTEND_BUFFER): Change order of pointer addition
4078 operations, to avoid having the difference between pointers
4079 overflow.
4080
ef6f5c0e
SM
40812008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
4082
80e3db56
SM
4083 * indent.c (check_display_width): New fun.
4084 (scan_for_column): Use it.
4085
c397dc7a
SM
4086 * data.c (syms_of_data): Mark most-positive-fixnum and
4087 most-negative-fixnum as constants.
4088
bf6b4d58
SM
4089 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
4090
ef6f5c0e
SM
4091 * indent.c (scan_for_column): Extract from current_column_1.
4092 Merge with the same code from Fmove_to_column.
4093 (current_column_1, Fmove_to_column): Use it.
4094
72d5003d
SM
40952008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
4096
12270607
SM
4097 * keymap.c (map_keymap_internal): New fun.
4098 (map_keymap): Use it.
4099 (Fmap_keymap_internal): New fun.
4100 (Fmap_keymap): Remove left-out test from before make_save_value.
4101
a10cca6c
SM
4102 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
4103
d7b10f4c
SM
4104 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
4105 Use XCAR/XCDR.
4106
5431bd6a
SM
4107 * process.h (struct Lisp_Process): Remove filter_multibyte.
4108 * process.c (QCfilter_multibyte): Remove.
4109 (setup_process_coding_systems): Don't use filter_multibyte.
4110 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
4111 (read_process_output): Don't adjust multibyteness to filter_multibyte.
4112 (Fset_process_filter_multibyte): Change the coding-system to
4113 approximate the previous behavior.
4114 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
4115 coding-system.
4116
72d5003d
SM
4117 * coding.c (decode_coding_object): When not decoding into a buffer,
4118 obey the coding system's preference of (uni|multi)byte.
4119
438eba3c
SM
41202008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
4121
4122 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
4123 every char is changed and has a different byte-length.
4124 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
4125 Fix int -> EMACS_INT.
4126
9ec3aaef 41272008-03-23 David Hansen <david.hansen@gmx.net>
a8e72f4f 4128
438eba3c 4129 * dbusbind.c (xd_read_message): Remove extra copying of message
a8e72f4f
MA
4130 strings. Check for NULL `interface' or `member'.
4131
b07103dc
EZ
41322008-03-22 Eli Zaretskii <eliz@gnu.org>
4133
4134 * w32.c (readdir): If FindFirstFile/FindNextFile return in
4135 cFileName a file name that includes `?' characters, use the 8+3
4136 alias in cAlternateFileName instead.
4137
5371d722
SM
41382008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
4139
4140 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
4141
6ba7f443
SM
41422008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
4143
4144 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
4145 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
4146 work on current_buffer only instead (that was already the case
4147 for some of the code anyway).
4148 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
4149 (temp_set_point, temp_set_point_both): Use EMACS_INT.
4150 (SET_PT, SET_PT_BOTH): Adjust.
4151 * intervals.h (set_point, temp_set_point, set_point_both)
4152 (temp_set_point_both): Remove redundant declarations.
4153
bf1c0f27
SM
41542008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
4155
4156 * fileio.c (Finsert_file_contents):
4157 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
4158 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
4159 when buffer != current_buffer anyway.
4160
acab783e
AS
41612008-03-20 Andreas Schwab <schwab@suse.de>
4162
4163 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
4164 as default.
4165
d148e14d
JR
41662008-03-19 Jason Rumney <jasonr@gnu.org>
4167
4168 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
4169 (syms_of_w32fns): Initialize them.
4170 (HOURGLASS_ID): New constant.
4171 (x_window_to_frame): Don't check hourglass_window.
4172 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
4173 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
4174 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
4175 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
4176 Only change the cursor if hourglass is not active.
4177 (Fx_create_frame): Initialize frame's current_cursor.
4178 (hourglass_atimer): Remove.
4179 (hourglass_started): New function.
4180 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
4181 (show_hourglass): Adapt to w32, changing argument to frame.
4182
4183 * w32term.h (struct w32_output): Remove hourglass_window.
4184 Add current_cursor.
4185
4186 * eval.c (call_debugger, Fsignal):
4187 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
4188 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
4189 (Fexecute_extended_command, cancel_hourglass_unwind):
4190 * minibuf.c (read_minibuf):
4191 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
63558020 4192
a5c54077
JB
41932008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
4194
4195 * window.c (run_funs): New fun.
4196 (run_window_configuration_change_hook): Use it to run the buffer-local
4197 and the global part of the hook.
4198
4199 * xdisp.c (format_mode_line_unwind_data): Add window argument.
4200 (unwind_format_mode_line): Restore selected window.
4201 (x_consider_frame_title, Fformat_mode_line): Set selected window.
4202
f9f3238f
SM
42032008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
4204
253c3c82
SM
4205 * editfns.c (Fchar_equal): Check they are valid characters.
4206
f9f3238f
SM
4207 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
4208
065a118d
AS
42092008-03-17 Andreas Schwab <schwab@suse.de>
4210
0b8be006
AS
4211 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
4212 against a charset.
4213
065a118d
AS
4214 * lisp.h (Fbuffer_list): Declare.
4215
880820fe 42162008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d3b2a6da
JD
4217
4218 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
4219 handlebox_widget is != 0.
4220
6206d6c2
JL
42212008-03-16 Juri Linkov <juri@jurta.org>
4222
4223 * callint.c (Fcall_interactively): For interactive code letters
4224 'b' and 'B' put the buffer list into the list of default "future"
4225 values of the minibuffer.
4226
f5020181
AS
42272008-03-16 Andreas Schwab <schwab@suse.de>
4228
a864f6d6
AS
4229 * keyboard.c (read_key_sequence): Fix downcasing of letters with
4230 modifiers.
4231
f5020181
AS
4232 * regex.c (re_match_2_internal): Correct matching of a charset
4233 against latin-1 characters.
4234
03f244e2
KH
42352008-03-16 Kenichi Handa <handa@m17n.org>
4236
4237 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
4238 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
f9f3238f
SM
4239 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
4240 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
03f244e2
KH
4241 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
4242 CHAR_STRING_ADVANCE.
4243 (produce_chars): Fix for the case that the source and the
4244 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
4245 instead of CHAR_STRING_ADVANCE.
4246 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
4247 STRING_CHAR_ADVANCE.
4248
0e2501ed
AS
42492008-03-15 Andreas Schwab <schwab@suse.de>
4250
4251 * regex.c (re_match_2_internal): Correct matching of eight bit
4252 characters in unibyte strings.
4253
7723e095
MR
42542008-03-15 Martin Rudalics <rudalics@gmx.at>
4255
4256 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
4257 at end of range when it coincides with the end of the buffer.
4258
f507f365
EZ
42592008-03-14 Eli Zaretskii <eliz@gnu.org>
4260
294f1153
EZ
4261 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
4262
f507f365
EZ
4263 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
4264
64f0809d
JR
42652008-03-14 Jason Rumney <jasonr@gnu.org>
4266
956ae531
JR
4267 * editfns.c (initial_tz): New variable.
4268 (syms_of_editfns): Initialize it.
4269 (Fset_time_zone_rule): Set it when first called.
4270 Use it when TZSTRING is nil.
4271
64f0809d
JR
4272 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
4273 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
4274 (monitor_from_point_fn, get_monitor_info_fn): New globals.
4275 (globals_of_w32fns): Initialize them.
4276 (compute_tip_xy): Use them to position tooltips.
4277
21a4ff8e
GM
42782008-03-14 Glenn Morris <rgm@gnu.org>
4279
4280 * emacs.c (main): Revert previous change.
4281 (standard_args): Revert -internal-script back to -scriptload,
4282 and remove the long-option form.
4283
a09a5b5b
GM
42842008-03-13 Glenn Morris <rgm@gnu.org>
4285
4286 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
4287 Remove option -enable-font-backend.
4288
1c55ebd1
SM
42892008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
4290
4291 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
4292
880820fe 42932008-03-11 Jan Djärv <jan.h.d@swipnet.se>
c523e161
JD
4294
4295 * xterm.c (x_connection_closed): For GTK: If this is the last
4296 terminal just exit without closing the display.
4297
7145be81
JR
42982008-03-11 Jason Rumney <jasonr@gnu.org>
4299
4300 * w32font.c (w32font_full_name): Use floor to round.
4301
e6201af3 43022008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
ce9033f8
JD
4303
4304 * sound.c (alsa_configure): Declare vol at beginning of block.
4305
e6201af3 4306 * fontset.c (Ffontset_info): Remove extra semicolon.
ce9033f8 4307
390b81fa 43082008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
acd37560 4309
56388398
MB
4310 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
4311 size of resulting string.
af0ad939 4312
390b81fa 43132008-03-10 Jason Rumney <jasonr@gnu.org>
acd37560 4314
56388398 4315 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
acd37560 4316
390b81fa 43172008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
acd37560 4318
56388398
MB
4319 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
4320 Don't pretend as if characters with display property haven't been
4321 consumed for string-replacing-string case.
acd37560 4322
223ed6db
KS
43232008-03-08 Kim F. Storm <storm@cua.dk>
4324
4325 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
4326 (get_next_display_element, next_element_from_string)
4327 (next_element_from_ellipsis, next_element_from_buffer): Use it.
4328
28545f7c
AS
43292008-03-08 Andreas Schwab <schwab@suse.de>
4330
4331 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
4332
c960bff8
JR
43332008-03-06 Jason Rumney <jasonr@gnu.org>
4334
290afd83
JB
4335 * w32font.c (w32_registry): Take font_type argument. Use ANSI
4336 when charset not specified. Only translate ANSI to unicode when
c960bff8
JR
4337 font_type is truetype.
4338 (w32font_coverage_ok): New function.
4339 (add_font_entity_to_list): Use it to filter unsuitable fonts.
4340
87b8ce92
KH
43412008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
4342
4343 * lread.c (Fread_char): Resolve modifiers.
4344 (Fread_char_exclusive): Likewise.
4345
4346 * character.c (char_resolve_modifier_mask): New function.
4347 (char_string): Use char_resolve_modifier_mask.
4348 (Fchar_resolve_modifiers): New function.
4349 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
4350 function.
4351
cefd56f6
JR
43522008-03-04 Jason Rumney <jasonr@gnu.org>
4353
4354 * makefile.w32-in: Always include w32font.c in the build.
4355 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
4356
03bd3c1f
AS
43572008-03-04 Andreas Schwab <schwab@suse.de>
4358
4359 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
4360 (versionclean): Likewise.
4361
6f69e89b
JB
43622008-03-04 Juanma Barranquero <lekktu@gmail.com>
4363
4364 * .cvsignore: Add oo.
4365
f4a3cc44
AS
43662008-03-03 Andreas Schwab <schwab@suse.de>
4367
4368 * coding.c (decode_coding_object): Inhibit gap shrinking while
4369 decoding in place.
4370
73f838ad
DN
43712008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
4372
4373 * w32term.c: Remove unused include "gnu.h".
6f69e89b 4374 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
73f838ad
DN
4375
4376 * gnu.h: Rename to ...
4377 * emacs-icon.h: ... this.
4378 * xterm.c: Use emacs-icon.h instead of gnu.h.
4379 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
4380
ce9c1f06
JB
43812008-03-03 Juanma Barranquero <lekktu@gmail.com>
4382
4383 * w32font.c: Include math.h.
4384
34fd2d28
JR
43852008-03-03 Jason Rumney <jasonr@gnu.org>
4386
54efdcd1
JR
4387 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
4388 Compute options separately.
4389 (w32font_open_internal): Set glyph_idx before caching metrics.
4390
ce9c1f06
JB
4391 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
4392 Define if system headers don't.
4393 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
34fd2d28
JR
4394 (w32font_encode_char): Don't declare here.
4395
4396 * w32font.c (Quniscribe, QCformat): New symbols.
4397 (syms_of_w32font): Define them.
4398 (w32font_has_char): Indicate uncertainty.
ce9c1f06 4399 (w32font_encode_char): Encode as glyph point. Make static.
34fd2d28 4400 (recompute_cached_metrics): New function.
ce9c1f06
JB
4401 (w32font_open_internal): Use it. Set font to use glyph points
4402 initially. Set format based on type of font.
34fd2d28 4403 (w32font_text_extents, w32font_draw): Optionally use glyph points.
ce9c1f06
JB
4404 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
4405 on it. Set format based on information available here.
34fd2d28
JR
4406 (add_font_entity_to_list): Identify backend based on opentype_only.
4407
14daee73
AS
44082008-03-02 Andreas Schwab <schwab@suse.de>
4409
f907fb2e
AS
4410 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
4411
ce9c1f06
JB
4412 * coding.c (decode_coding_big5, produce_chars):
4413 Fix typos in last change.
14daee73 4414
c9cc6462
DN
44152008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
4416
4417 * gnu.h: New icon.
4418
119852e7
KH
44192008-03-02 Kenichi Handa <handa@m17n.org>
4420
4421 * coding.c (decode_coding_utf_8): When eol-type of CODING is
4422 `dos', don't decode '\r' if that is the last in the source.
4423 (decode_coding_utf_16, decode_coding_emacs_mule)
4424 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
4425 (decode_coding_raw_text, decode_coding_charset): Likewise.
4426 (produce_chars): Don't decode EOL here. Use EMACS_INT.
4427
a823468b
JR
44282008-03-01 Jason Rumney <jasonr@gnu.org>
4429
4430 * w32font.c (w32font_full_name): Report point size for scalable fonts.
4431
4ddc7e30
KS
44322008-03-01 Kim F. Storm <storm@cua.dk>
4433
4434 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
4435
67997c79
JR
44362008-03-01 Jason Rumney <jasonr@gnu.org>
4437
4438 * w32font.c (w32font_full_name): New function.
4439 (w32font_open_internal): Use it.
4440
3f4e9c35
KS
44412008-03-01 Kim F. Storm <storm@cua.dk>
4442
4443 * dispnew.c (line_draw_cost): Fix invalid glyph check.
4444
f3b9e479
JR
44452008-03-01 Jason Rumney <jasonr@gnu.org>
4446
4447 * font.c (font_unparse_fcname): Increase len when style is a symbol.
4448
880820fe 44492008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7ee480ce
JD
4450
4451 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
4452 xg_frame_resized when the event is for the edit widget.
4453
4454 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
4455
4456 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
4457 set_char_size.
4458 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
4459 operations on widgets here. Just set frame size if needed.
4460 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
4461 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
4462 (x_wm_set_size_hint): Set size hints on the edit widget only, not
4463 the whole frame.
4464 (xg_create_tool_bar): Move attachement of the tool bar to
4465 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
4466 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
4467
6c8acaa1
JR
44682008-03-01 Jason Rumney <jasonr@gnu.org>
4469
4470 * w32fns.c (w32_msg_pump): Disable debug code.
4471
51fb064b 44722008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
03eb5fab 4473
51fb064b 4474 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
cb681b34 4475
60221a33
CY
44762008-02-29 Chong Yidong <cyd@stupidchicken.com>
4477
4478 * xdisp.c (next_overlay_string): Don't set
4479 overlay_strings_at_end_processed_p if we're currently reading from
4480 a display string.
4481
10cbc34f
SM
44822008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
4483
4484 * xdisp.c (get_overlay_strings_1): Fix typo.
4485
73c0054e
CY
44862008-02-29 Chong Yidong <cyd@stupidchicken.com>
4487
4488 * xdisp.c (get_overlay_strings_1): Add missing argument type.
4489
ec1c4354
KH
44902008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
4491
55082642
KH
4492 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
4493
ec1c4354
KH
4494 * xdisp.c (display_mode_element): Cancel the previous change.
4495 (decode_mode_spec): Likewise.
ee548a94
KH
4496 (handle_auto_composed_prop): Don't make composition if it->string
4497 is a string.
ec1c4354 4498
b6d898a2
KS
44992008-02-27 Kim F. Storm <storm@cua.dk>
4500
4501 * lisp.h (GLYPH): Change type from int to struct with separate char
4502 and face_id members.
4503 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
4504 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
4505 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
4506 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
4507 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
4508 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
4509 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
4510 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
4511 handle new Lisp glyph code encoding, either an integer or a cons.
4512
4513 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
4514 (GLYPH_ALIAS): Delete.
4515 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
4516 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
4517 (GLYPH_FROM_CHAR): Replace macro by ...
4518 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
4519
4520 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
4521 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
4522 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
4523 (GLYPH_INVALID_P): New macro.
4524 (spec_glyph_lookup_face): Update prototype.
4525
4526 * dispnew.c (line_draw_cost): Adapt to new glyph type.
4527 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
4528 new glyph code encoding.
4529 (spec_glyph_lookup_face): No return value; update passed glyph instead.
4530 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
4531
4532 * xdisp.c (get_next_display_element, next_element_from_display_vector):
4533 Adapt to new glyph type and new glyph code encoding.
4534
4535 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
4536
4537 * indent.c (current_column, current_column_1, Fmove_to_column)
4538 (compute_motion): Adapt to new glyph code encoding.
4539
4540 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
4541
af2080a2
CY
45422008-02-27 Chong Yidong <cyd@stupidchicken.com>
4543
4544 * process.c (wait_reading_process_output): Check for window
4545 changes caused by timers.
880820fe 4546 Suggested by Johan Bockgård.
af2080a2 4547
253ed25e
GM
45482008-02-27 Glenn Morris <rgm@gnu.org>
4549
4550 * emacs.c (USAGE1): Add `--disable-font-backend'.
4551
18a9f8d9
SM
45522008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
4553
4554 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
4555 is made to the buffer.
4556
0f8b27ea
SM
45572008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
4558
4559 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
4560 (face_at_string_position):
4561 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
4562 (face_at_string_position):
4563 * xdisp.c (display_string, next_overlay_change):
4564 * buffer.h (overlays_at):
4565 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
4566 Update callers.
4567
4e7c53ca
CY
45682008-02-26 Chong Yidong <cyd@stupidchicken.com>
4569
4570 * editfns.c (Fformat): Doc fix.
4571
51c01100
JB
45722008-02-26 Juanma Barranquero <lekktu@gmail.com>
4573
4574 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
4575 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
4576 (Ffont_otf_alternates, Fquery_font): Doc fixes.
4577
13cda5f9
SM
45782008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
4579
4580 * buffer.c (Fbuffer_swap_text): New function.
4581 (syms_of_buffer): Defsubr it.
4582
8018d430
CY
45832008-02-25 Chong Yidong <cyd@stupidchicken.com>
4584
4585 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
4586
9bde1a21
JR
45872008-02-25 Jason Rumney <jasonr@gnu.org>
4588
4589 * w32font.c (w32font_draw): Draw one character at a time when padding.
4590
eeca6f6f
SM
45912008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
4592
4593 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
4594 Handle a nil arg. Use run_window_configuration_change_hook.
4595 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
4596 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
4597 Use run_window_configuration_change_hook.
4598
ec1c4354
KH
45992008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
4600
4601 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
4602 1-pixel width.
4603
ae185452
KH
46042008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
4605
4606 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
4607 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
4608 if the glyph in the font is zero pixel with.
4609
4610 * dispextern.h (struct glyph_string): New member padding_p.
4611
4612 * w32font.c (w32font_draw): Pay attention to s->padding_p.
4613
4614 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
4615
4616 * xfont.c (xfont_draw): Pay attention to s->padding_p.
4617
4618 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
4619
eeca6f6f 4620 * font.c: If the font driver doesn't have `shape' function, return Qnil.
ae185452 4621
ffe832ea 46222008-02-25 Jason Rumney <jasonr@gnu.org>
c9029fe5 4623
ffe832ea 4624 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
16782258 4625
06045130
SM
46262008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
4627
4628 Allow fine-grained image-cache flushing.
4629 * dispextern.h (struct image): Add `dependencies' field.
4630 (clear_image_caches): Change arg to Lisp_Object.
4631 * image.c (make_image): Initialize `dependencies' field.
4632 (clear_image_cache): Change arg to allow fine-grained flushing.
4633 Perform the flush even if image-cache-eviction-delay is nil.
4634 (clear_image_caches): Change arg to Lisp_Object.
4635 (Fclear_image_cache): Expand meaning of the argument.
4636 (mark_image): Mark `dependencies' field.
4637 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
4638 (lface_hash): Use XHASH rather than XFASTINT.
4639 (face_at_buffer_position): Fix int -> EMACS_INT position.
4640 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
4641 (select_frame_for_redisplay): Remove code duplication.
4642 (redisplay_internal): Adapt arg to call to clear_image_caches.
4643
9d2818d6
DN
46442008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
4645
4646 * s/vms4-0.h:
4647 * s/vms4-2.h:
4648 * s/vms4-4.h:
4649 * s/vms5-5.h: Remove, unused.
4650
4651 * s/irix5-2.h:
4652 * s/irix6-0.h:
4653 * s/riscos5.h:
4654 * s/mach-bsd4-3.h:
2a2e8de7 4655 * m/mips4.h: Remove files for obsolete systems.
9d2818d6
DN
4656
4657 * Makefile.in:
4658 * filelock.c:
4659 * unexmips.c:
4660 * m/hp9000s300.h:
4661 * m/iris4d.h:
4662 * s/aix3-1.h:
4663 * s/hpux.h:
4664 * s/msdos.h:
4665 * s/usg5-0.h:
4666 * s/usg5-2-2.h:
4667 * s/usg5-2.h:
4668 * s/usg5-3.h: Remove references to obsolete variables.
4669
4670 * s/irix5-0.h: Remove, move all the contents ...
4671 * s/irix6-5.h: ... here. Simplify.
4672 * config.in: Regenerate.
4673
2a36efcf
JR
46742008-02-24 Jason Rumney <jasonr@gnu.org>
4675
c5ad7a3d 4676 * w32term.c (x_draw_glyph_string_background): Clear the background
2face669
JR
4677 manually when cleartype is in use.
4678 (x_draw_glyph_string_foreground): Draw text transparently when
4679 cleartype is in use.
4680
2a36efcf
JR
4681 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
4682 a font into it unless we have to.
4683
b03f96dc 46842008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
92a8ce63 4685
b03f96dc
MB
4686 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
4687 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
92a8ce63 4688
b03f96dc 46892008-02-18 Jason Rumney <jasonr@gnu.org>
92a8ce63 4690
b03f96dc 4691 * w32fns.c (Fw32_shell_execute): Encode parameters.
92a8ce63 4692
b03f96dc 46932008-02-09 Eli Zaretskii <eliz@gnu.org>
20f1ef2e 4694
b03f96dc 4695 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
32d0a9dc 4696
b03f96dc 46972008-02-05 Juanma Barranquero <lekktu@gmail.com>
20f1ef2e 4698
b03f96dc 4699 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
77d1daf2 4700
d5958163
CY
47012008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
4702
4703 * xterm.c (x_set_offset): Don't change the gravity if
4704 CHANGE_GRAVITY is -1.
4705
9997701e
CY
47062008-02-23 Chong Yidong <cyd@stupidchicken.com>
4707
4708 * fileio.c (auto_save_error_occurred): New var.
4709 (auto_save_error): Set it.
4710 (Fdo_auto_save): Don't overwrite the error message if an auto-save
4711 error occurred.
4712
9d95a291
EZ
47132008-02-23 Eli Zaretskii <eliz@gnu.org>
4714
4715 * w32.c (globals_of_w32): Add initializations for
4716 g_b_init_get_sid_sub_authority and
4717 g_b_init_get_sid_sub_authority_count.
4718
43d1af23
SM
47192008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
4720
43a1d19b
SM
4721 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
4722 (font_parse_xlfd): Use them for sanity check.
608c3307 4723 (Finternal_set_font_style_table): Make sure the table is bijective.
43a1d19b 4724
354884c4
SM
4725 Consolidate the image_cache to the terminal struct.
4726 * termhooks.h (P_): Remove redundant def.
4727 (struct terminal): New field `image_cache'.
4728 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
4729 of FRAME_X_IMAGE_CACHE.
4730 * xterm.h (struct x_display_info): Remove image_cache field.
4731 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
4732 * w32term.h (struct w32_display_info): Remove image_cache field.
4733 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
4734 * macterm.h (struct mac_display_info): Remove image_cache field.
4735 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
4736 * xterm.c (x_term_init):
4737 * w32term.c (w32_term_init):
4738 * macterm.c (mac_term_init): Set the image_cache in the terminal.
4739 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
4740 Remove declarations.
4741 (clear_image_caches, mark_image_cache): New declarations.
4742 * xfaces.c (clear_face_cache):
4743 * xdisp.c (redisplay_internal): Use clear_image_caches.
4744 * image.c (clear_image_cache): Don't check that a frame is on
4745 a window-system before checking if it shares the same cache.
4746 (clear_image_caches): New function.
4747 (Fclear_image_cache): Use it.
4748 (mark_image): Move from allo.c.
4749 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
4750 * alloc.c (mark_image, mark_image_cache): Move to image.c.
4751 (mark_object): Don't call mark_image_cache for frames.
4752 (mark_terminals): Call mark_image_cache.
4753
c2e42690
SM
4754 * lisp.h (Fdelete_terminal): Declare.
4755
43d1af23
SM
4756 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
4757 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
4758 wrong_type_argument.
4759
cc8d1311
KH
47602008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
4761
4762 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
4a4bdfc7 4763 malayalam.el, and tamil.el. Add sinhala.el.
cc8d1311 4764
6bd92640
SM
47652008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
4766
4767 * xterm.c (x_connection_closed): Consolidate identical tests.
4768 (x_delete_terminal): Don't crash if called via x_connection_closed.
4769
a73b5627
KH
47702008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
4771
4772 * xdisp.c (decode_mode_spec): New arg string.
6bd92640 4773 (display_mode_element): Adjust for the above change.
a73b5627 4774
1b511542
SM
47752008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
4776
4777 * callint.c (Fcall_interactively): Use AREF.
4778
81aefea4
SM
47792008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
4780
4781 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
4782
880820fe 47832008-02-18 Jan Djärv <jan.h.d@swipnet.se>
2d7117fe
JD
4784
4785 * xfns.c (Fx_show_tip): Set string to " " if empty.
4786
a2b84f35
DN
47872008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
4788
4789 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
4790 with Qt.
4791
43c0454d
KH
47922008-02-17 Kenichi Handa <handa@m17n.org>
4793
4794 * ftfont.c (ftfont_shape): Return Lispy number.
4795
4796 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
4797 for GCs.
4798 (Finternal_set_font_selection_order): Call font_update_sort_order
4799 only when enable_font_backend is set.
4800 (realize_x_face): Set face->font_info to that of default face only
4801 when enable_font_backend is set.
4802
4803 * xdisp.c (handle_composition_prop): Set it->c to the fist
4804 characte of the composed region.
4805 (fill_composite_glyph_string): Set base_face->font_info to
4806 s->font_info. Get a face for ascii from base_face->ascii_face.
4807 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
4808 with a face already decided.
4809 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
4810 non-negative.
978bef9a
JB
4811 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
4812 call font_prepare_composition unconditionally.
43c0454d 4813
978bef9a 4814 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
43c0454d
KH
4815
4816 * xterm.h (struct x_display_info): New member font.
4817
4818 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
4819 (x_set_mouse_face_gc, x_new_font): Likewise.
4820 (x_term_init): Setup display_info->font.
4821 (x_delete_terminal): Free display_info->font.
4822
4823 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
4824
4825 * ftxfont.c (ftxfont_default_fid): Delete it.
4826 (ftxfont_open): Set xfont->fid to 0.
978bef9a 4827 (ftxfont_end_for_frame): Clear data specific to the frame and the
43c0454d
KH
4828 font-driver.
4829
4830 * xftfont.c (xftfont_default_fid): Delete it.
4831 (xftfont_open): Set xfont->fid to 0.
4832
4833 * fontset.c (FONTSET_OBJLIST): New macro.
4834 (fontset_find_font): Update font-object list of the fontset.
4835 (free_realized_fontset): New function.
4836 (free_face_fontset): Call free_realized_fontset.
4837 (Ffont_info): Call font_close_object only when enable_font_backend
4838 is set.
4839
4840 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
4841 [HAVE_NTGUI]: Include w32term.h.
4842 [MAC_OS]: Include macterm.ch.
4843 (font_otf_ValueRecord): Use make_number.
4844 (font_finish_cache): Fix handling of reference count.
4845 (font_clear_cache): Update num_fonts.
4846 (font_open_entity): Update smallest_char_width and
4847 smallest_font_height of the frame.
4848 (font_close_object): Update num_fonts.
4849 (Fclear_font_cache): Fix finding the target cache data.
4850
be617367
GM
48512008-02-16 Glenn Morris <rgm@gnu.org>
4852
4853 * fontset.c (Finternal_char_font): Fix compilation warning.
4854
2930d117
EZ
48552008-02-16 Eli Zaretskii <eliz@gnu.org>
4856
634d3003
EZ
4857 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
4858 instead of char arrays. Enlarge the size of array passed to
4859 get_token_information.
4860
2930d117
EZ
4861 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
4862 warnings.
4863
79214046
DN
48642008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
4865
4866 * .gdbinit: Don't set `args', it breaks gdb --args.
4867
7f5d2c72
SM
48682008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
4869
4870 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
4871 within a narrowed buffer.
4872
6edacc43
KH
48732008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
4874
b270d6af
JB
4875 * coding.c (decode_coding_object, encode_coding_object):
4876 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
6edacc43 4877
174105f7
SM
48782008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
4879
b270d6af
JB
4880 * coding.c (coding_set_destination): Use BEG_BYTE rather than
4881 hardcoding 1.
13818c30
SM
4882 (detect_coding_system):
4883 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
4884 (string_char_to_byte, string_byte_to_char, insert_from_gap):
4885 * insdel.c (insert_from_gap):
4886 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
4887 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
4888 (string_to_multibyte):
4889 * character.c (chars_in_text, multibyte_chars_in_text):
4890 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
4891
f1c99628
SM
4892 * character.h (FETCH_STRING_CHAR_ADVANCE)
4893 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
4894 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
4895 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
4896
7927d8e3
SM
4897 * casefiddle.c (casify_region): Only call after-change and composition
4898 functions on the part of the region that was changed.
4899
adf6a429 4900 * keyboard.c (read_avail_input):
174105f7
SM
4901 * frame.c (Fdelete_frame): Call Fdelete_terminal.
4902
3ee24aec
SM
49032008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
4904
4905 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
4906 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
4907
4ed4b975
JB
49082008-02-11 Juanma Barranquero <lekktu@gmail.com>
4909
4910 * w32menu.c (push_submenu_start, push_submenu_end)
4911 (push_left_right_boundary, push_menu_pane, push_menu_item):
4912 * keyboard.c (read_key_sequence): Don't pass args with side effects
4913 to AREF, it fails when compiling with -DENABLE_CHECKING.
4914
79e3bfb8
KH
49152008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
4916
4ed4b975
JB
4917 * Makefile.in (${lispsource}international/charprop.el):
4918 Delete this target.
6e76043f 4919
79e3bfb8
KH
4920 * search.c (boyer_moore): Fix incorrect synching of the trunk and
4921 emacs-unicode-2.
4922
5b8de9c5
SM
49232008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
4924
4925 * terminal.c (Fdelete_terminal): Clean up the `force' path.
4926
eac1939a
SM
49272008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
4928
c53956fe
SM
4929 * frame.c (Qnoelisp): New symbol.
4930 (syms_of_frame): Initialize it.
4931 (Fdelete_frame): Use it to distinguish a mere `force' passed from
4932 someharmles Elisp code, from a strong `force' from x_connection_closed.
4933 * frame.h (Qnoelisp): Declare.
4934 * xterm.c (x_connection_closed): Pass `noelisp'.
4935
eac1939a
SM
4936 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
4937 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
4938 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
4939 rather than `int' for the type of `type'.
4940
13f6772b
DN
49412008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
4942
4943 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
4944
4945 * Makefile.in (GNUC): Remove support for gcc-1.x.
4946
e8455367
RS
49472008-02-10 Richard Stallman <rms@gnu.org>
4948
4949 * lisp.h (ASET): Use AREF, not ASLOT.
4950
4b75ffab
SM
49512008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
4952
4953 * lisp.h (ASET): Check bounds.
4954
d224e8c2
GM
49552008-02-10 Glenn Morris <rgm@gnu.org>
4956
4957 * buffer.c (mode-name): Doc fix.
4958
4624371d
DN
49592008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
4960
290afd83
JB
4961 * Makefile.in:
4962 * emacs.c:
4963 * gmalloc.c:
4964 * keyboard.c:
4965 * lisp.h:
4966 * m/ibm370aix.h:
4967 * process.c:
4968 * regex.c:
4969 * s/hpux.h:
4970 * sysdep.c:
4971 * sysselect.h:
4972 * systty.h:
4973 * unexec.c:
4974 * w32term.c:
4975 * xsmfns.c:
4976 * xterm.c: Remove code that deals with obsolete variables.
4624371d
DN
4977
4978 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
4979
4980 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
4981 nothing else needs it anymore.
4982
274ec34b
EZ
49832008-02-09 Eli Zaretskii <eliz@gnu.org>
4984
4985 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
4986 instead of unibyte_char_to_multibyte.
4987
deeaffe1
DN
49882008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
4989
4990 * s/gnu-linux.h: Remove commented out code.
4991
4ed4b975 4992 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
deeaffe1
DN
4993
4994 * Makefile.in: Update what RMS says about using autoconf.
4ed4b975 4995 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
c3f9fba8 4996 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
deeaffe1
DN
4997 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
4998 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
4999
68b587a6
SM
50002008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
5001
9141ca5e
SM
5002 * keymap.c (Fkey_description): Move side effect outside of macro call.
5003
dfae5f9a 5004 * xfaces.c (Finternal_make_lisp_face):
b1ebcadb
SM
5005 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
5006
ff7a2223
SM
5007 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
5008 (syms_of_fontset): Use ASET.
5009
68b587a6
SM
5010 * fns.c (concat): Move side effect outside of macro call.
5011 (hash_clear): Use ASET.
5012
a31787b1
RS
50132008-02-08 Richard Stallman <rms@gnu.org>
5014
5015 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
5016 If FORCE, and frame has a surrogate minibuffer for another frame,
5017 delete the other frame first.
5018
987be29b 50192008-02-07 Timo Savola <timo.savola@iki.fi>
1540a61a
JD
5020
5021 * xterm.c (x_detect_focus_change): Handle embed client message.
5022 (handle_one_xevent): Ditto.
5023 (handle_one_xevent): If embedded and we get a button press/release,
5024 request focus.
5025 (xembed_set_info, xembed_send_message): New functions.
5026 (x_make_frame_visible): Call xembed_set_info if embedded.
5027 (x_make_frame_invisible): Call xembed_set_info if embedded.
5028 (x_term_init): Initialize Xatom_XEMBED.
5029 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
5030 (x_iconify_frame): Ditto.
5031
5032 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
5033 (enum xembed_info, enum xerm srmbed_message, enum xembed_focus)
5034 (enum xembed_modifier, enum xembed_accelerator): New.
5035 (xembed_set_info, xembed_send_message): Declare.
5036 (FRAME_X_EMBEDDED_P): New.
5037
5038 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
5039 gtk_plug_new.
5040
5041 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
5042 window ID of a frame.
5043 (x_window): Reparent frame if embedded.
5044 (Fx_create_frame): Don't set border width if embedded.
5045
1f204af3 5046 * emacs.c (USAGE3): Add --parent-id.
1540a61a
JD
5047 (standard_args): Ditto.
5048
880820fe 50492008-02-07 Jan Djärv <jan.h.d@swipnet.se>
f937a7db
JD
5050
5051 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
5052
92413ef3
JD
50532008-02-07 Jim Meyering <meyering@redhat.com>
5054
6f69e89b 5055 Use "do...while (0)", not "if (1)...else" in macro definitions.
987be29b
RF
5056 The latter provokes a warning from gcc about the empty else, when
5057 followed by ";". Also, without that trailing semicolon, it would
5058 silently swallow up any following statement.
c3f9fba8 5059 * syntax.h (SETUP_SYNTAX_TABLE)
987be29b
RF
5060 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
5061 * buffer.h (DECODE_POSITION): Likewise.
5062 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
5063 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
5064 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
5065 (FETCH_CHAR_ADVANCE): Likewise.
5066 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
92413ef3 5067
03fa5713
GM
50682008-02-07 Jim Meyering <meyering@redhat.com>
5069
5070 * lread.c [lint]: Don't include <sys/inode.h>.
5071
3ae565b3
SM
50722008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
5073
5074 * xselect.c (x_handle_dnd_message):
5075 * xmenu.c (digest_single_submenu, xmenu_show):
5076 * xdisp.c (with_echo_area_buffer_unwind_data)
5077 (format_mode_line_unwind_data, unwind_format_mode_line)
5078 (display_menu_bar):
5079 * eval.c (Ffetch_bytecode):
5080 * doc.c (store_function_docstring):
5081 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
5082 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
5083 * buffer.c (add_overlay_mod_hooklist): Use ASET.
5084
146b6e55
KH
50852008-02-07 Kenichi Handa <handa@m17n.org>
5086
5087 * ftxfont.c (ftxfont_open): Don't set
5088 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
5089
5090 * ftfont.c (ftfont_open): Fix previous change.
5091
46a923ac
JR
50922008-02-06 Jason Rumney <jasonr@gnu.org>
5093
5094 * w32font.c (w32font_text_extents): Fill in lbearing metric.
5095 Use cached metrics for ASCII characters.
3ae565b3
SM
5096 (w32font_open_internal): Don't set font's owning_frame.
5097 Cache metrics for ASCII characters.
46a923ac
JR
5098
5099 * w32font.h (struct w32font_info): Add ascii_metrics.
5100 Remove owning_frame.
5101
da7d7c21
KH
51022008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
5103
5104 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
5105 to negative value.
5106
5107 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
5108
3ae565b3 5109 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
da7d7c21
KH
5110
5111 * charset.c (syms_of_charset): Set QCtest and Qeq.
5112
c62c8ddb
SM
51132008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
5114
ca319910
SM
5115 * process.c (Fstart_process):
5116 * callproc.c (Fcall_process): Handle the case where
5117 Funhandled_file_name_directory returns nil.
5118
76860cbb
SM
5119 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
5120 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
f9ffa1ea
SM
5121 * font.c (check_gstring): Use them and AREF to access the vector before
5122 we know it's really a gstring.
5123 (Ffont_shape_text): Fix typo.
5124 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
76860cbb 5125
15139d67
SM
5126 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
5127 Declare.
5128
c62c8ddb
SM
5129 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
5130
04b65d2b
JR
51312008-02-05 Jason Rumney <jasonr@gnu.org>
5132
5133 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
5134 Set smallest_font_height and smallest_char_width in display info.
5135
fccaebfd
KH
51362008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
5137
5138 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
5139
e7d7fd8c
MB
51402008-02-05 Miles Bader <miles@gnu.org>
5141
5142 * xfaces.c (get_lface_attributes, merge_named_face)
5143 (lookup_named_face, lookup_derived_face, realize_named_face):
5144 Revert 2008-02-01 change by cyd@stupidchicken.com.
5145
3d4448a8
KH
51462008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
5147
5148 * fontset.c (Ffontset_info): Handle the case of inhibitting the
5149 fallback fonts.
15139d67 5150 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
3d4448a8 5151
5ace1ec1
JR
51522008-02-04 Jason Rumney <jasonr@gnu.org>
5153
5154 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
5155 set full_name.
e3a77b22 5156 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
5ace1ec1 5157
ffe42183
JR
51582008-02-03 Jason Rumney <jasonr@gnu.org>
5159
5160 * makefile.w32-in (OBJ1): Include font.o here.
5161 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
5162
526dc3b3
JR
51632008-02-02 Jason Rumney <jasonr@gnu.org>
5164
a0fece35 5165 * makefile.w32-in (temacs): Bump EMHEAP to 21.
526dc3b3 5166
af805c82
JR
51672008-02-01 Jason Rumney <jasonr@gnu.org>
5168
5169 * s/cygwin.h: Define VIRT_ADDR_VARIES.
5170
5171 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
5172
7f6519c5
AS
51732008-02-01 Andreas Schwab <schwab@suse.de>
5174
1f45f627 5175 * Makefile.in (shortlisp, lisp): Update for rename of
7f6519c5 5176 ../lisp/language/myanmar.el.
7f6519c5 5177
26f8aa27
CY
51782008-02-01 Chong Yidong <cyd@stupidchicken.com>
5179
1f45f627 5180 * xfaces.c (get_lface_attributes): Delete function.
26f8aa27
CY
5181 (merge_named_face, lookup_named_face, lookup_derived_face)
5182 (realize_named_face): Call lface_from_face_name directly, and use
5183 the fact that merge_face_vectors does not alter its FROM argument.
5184
73acf815 51852008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5186
5187 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
1f45f627 5188 input in the default locale. Handle non-Unicode multibyte input.
aca7a3d2 5189
73acf815 51902008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5191
5192 * fontset.c (reorder_font_vector): Exclude nil elements from the
5193 font group. Don't try multiple fonts.
15139d67 5194 (fontset_font): Adjust for the above change.
aca7a3d2
MB
5195 (Finternal_char_font): Return nil if the found font doesn't
5196 contain the character ch.
5197
4c4475a8 5198 * Makefile.in (lisp, shortlisp): Add cham.el.
aca7a3d2 5199
73acf815 52002008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5201
5202 * font.h (FONTP): Make it return 1 also for a font-object.
5203
5204 * .gdbinit (xfontset): New function.
5205
5206 * font.c (font_find_for_lface): Check if the character C is
5207 supported or not only for the first font.
5208
5209 * fontset.c (reorder_font_vector): Fix typo.
5210 (fontset_find_font): Don't add a font-spec specifying a script.
5211 Use 0 (not Qt) for the indication of empty font-group. Change the
5212 format of RFONT-DEF. Return Qt if no font in the font-group
5213 support the character.
15139d67 5214 (fontset_font): Adjust for the above change. If no font was
aca7a3d2 5215 found the character, remember that.
15139d67 5216 (face_for_char): Adjust for the change of RFONT-DEF.
aca7a3d2
MB
5217 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
5218 no font for the target.
15139d67 5219 (Finternal_char_font): Adjust for the change of RFONT-DEF.
aca7a3d2 5220
73acf815 52212008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5222
5223 * font.c (font_load_for_face): Handle the case that the font in
5224 face->lface is a string.
5225
73acf815 52262008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5227
1f45f627 5228 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
aca7a3d2 5229
73acf815 52302008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5231
5232 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
5233 Fix previous change. If the frame is not on a window system,
5234 signal an error.
5235
73acf815 52362008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5237
4c4475a8
GM
5238 * coding.c (decode_coding_object, encode_coding_object): Adjust
5239 marker positions after conversion.
aca7a3d2
MB
5240
5241 * lisp.h (struct Lisp_Marker): New member need_adjustment.
5242
73acf815 52432008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5244
5245 * font.c (font_find_for_lface): Fix the handling of the return
5246 value of font_has_char.
5247 (Ffont_shape_text): Fix previous change.
5248
5249 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
5250 (fontset_ref_and_range): Delete it.
5251 (fontset_find_font): Call char_table_ref_and_range instead of
5252 FONTSET_REF_AND_RANGE.
5253 (make_fontset): Don't setup font groups of Latin here.
5254 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
5255 (new_fontset_from_font): Make the specified font the default for
5256 all Latin characters.
5257
73acf815 52582008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5259
5260 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
5261 is on a window system before accessing the fontset of the frame.
5262
73acf815 52632008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5264
1f45f627 5265 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
aca7a3d2
MB
5266
5267 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
5268 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
5269
5270 * font.c (Ffont_shape_text): If the font driver doesn't have a
5271 shaper function, make zero-width glyphs to have at least one-pixel
5272 width. Fix setting of `to' field of glyphs.
5273
73acf815 52742008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5275
5276 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
5277 glyphs.
5278
1f45f627 5279 * font.h (struct font_driver): Improve docstring of member `shape'.
aca7a3d2 5280
73acf815 52812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5282
5283 * composite.c (syms_of_composite): Fix docstring of
5284 auto-composition-function.
5285
5286 * font.h (LGLYPH_SIZE): New macro.
5287
5288 * font.c (Ffont_fill_gstring): Stop filling when a character not
5289 supported by the font is found.
5290 (Ffont_shape_text): When a shape callback function returns nil,
5291 try at most two more times with larger gstring.
15139d67 5292 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
aca7a3d2
MB
5293
5294 * xdisp.c (handle_auto_composed_prop): Change the argument to
5295 auto-composition-function.
5296
5297 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
5298 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
5299 Lispy glyph and store it in the lgstring.
5300
5301 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
5302
5303 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
5304
73acf815 53052008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5306
5307 * font.c (Ffont_shape_text): Avoid unnecessary composition.
5308
5309 * fontset.c (Vfont_encoding_charset_alist): New variable.
5310 (syms_of_fontset): DEFVAR it.
4c4475a8
GM
5311 (reorder_font_vector, fontset_find_font): Optimize for the case of
5312 no need of reordering.
aca7a3d2
MB
5313 (face_for_char): Map the charset property by
5314 Vfont_encoding_charset_alist.
5315
73acf815 53162008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5317
5318 * w32font.c (logfonts_match): Don't check adstyle here.
5319 (font_matches_spec): Check here against physical font instead.
5320 (add_font_entity_to_list): Avoid some substitutions.
5321
5322 * font.c (font_parse_fcname): Default weight and slant to normal.
5323 (font_score): Prefer normal fonts if weight or slant unspecified.
5324 (font_score) [WINDOWSNT]: Scale weight difference down to closer
5325 match freetype scores.
5326
73acf815 53272008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5328
5329 * w32font.c (w32font_text_extents): Don't use the frame stored in the
5330 font, as it may have been deleted.
5331 (w32_enumfont_pattern_entity): Map generic family to adstyle using
5332 most common hyphenless variation.
5333 (logfonts_match): Check generic family.
5334 (font_matches_spec): Don't check generic family here.
5335 (fill_in_logfont): Set generic family based on adstyle.
5336
5337 * w32font.h (w32font_get_cache): Update declaration.
5338
73acf815 53392008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5340
5341 * ftfont.c (ftfont_get_cache): Adjust the argument type.
5342
15139d67 5343 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
dde8403f 5344 If none of the new drivers are available, call font_update_drivers
aca7a3d2
MB
5345 with the old drivers.
5346
5347 * w32font.c (w32font_get_cache): Adjust the argument type.
5348
5349 * xfont.c (xfont_get_cache): Adjust the argument type.
5350
5351 * font.h (struct font_driver): Change argument type of get_cache.
5352
5353 * xftfont.c (xftfont_start_for_frame): Delete prototype.
5354
5355 * font.c (Ffont_get): Fix arguments to Fassoc.
15139d67 5356 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
aca7a3d2 5357 (font_clear_cache): New function.
4c4475a8 5358 (font_list_entities, font_matching_entity): Use font_get_cache.
15139d67 5359 (font_update_drivers): Call font_clear_cache when finishing a driver.
aca7a3d2
MB
5360
5361 * fontset.c (fontset_find_font): Fix previous change.
5362
73acf815 53632008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5364
5365 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
5366 dpyinfo->font_table.
5367 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
15139d67 5368 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
aca7a3d2
MB
5369
5370 * font.c (font_at): Handle the case that the arg C is negative.
5371 Handle the unibyte case.
5372 (Ffont_at): Call font_at with the arg C -1.
5373
5374 * xdisp.c (handle_auto_composed_prop): Don't get a character at
15139d67
SM
5375 the position here, and call font_at with the arg C -1.
5376 Don't check the range of the existing composition at the point.
aca7a3d2 5377
73acf815 53782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5379
15139d67 5380 * fontset.c (fontset_add): New args charset_id and family.
1f45f627 5381 Change caller.
4c4475a8
GM
5382 (load_font_get_repertory, fontset_find_font): Assume that
5383 font_spec is always a font-spec object.
aca7a3d2
MB
5384 (Fset_fontset_font): Always store a font-spec object in a fontset.
5385
5386 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
5387 instead of get_property_and_range.
5388
73acf815 53892008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5390
5391 * xftfont.c (struct xftfont_info): Delete the member ft_face.
5392 (xftfont_open): Don't keep locking face.
5393 (xftfont_close): Don't unlock face.
4c4475a8 5394 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
aca7a3d2
MB
5395
5396 * fontset.c (fontset_find_font): Don't prefer a font of
5397 supplementary charset.
5398
73acf815 53992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5400
1f45f627
GM
5401 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
5402 script, langsys_tag to langsys, new member script.
aca7a3d2
MB
5403 (OTF_TAG_STR): Terminate by '\0'.
5404 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
5405 listing to the script specified in that property. Fix arg to
5406 OTF_check_features.
5407
73acf815 54082008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5409
5410 * w32font.h: New file.
5411
5412 * w32font.c: Include it.
5413 (struct w32font_info): Add owning_frame field. Move to w32font.h.
5414 (w32font_open): Set owning_frame.
5415 (w32font_text_extents): Use owning_frame.
5416 (struct font_callback_data): Add opentype_only field.
5417 (add_font_entity_to_list): Use it to filter fonts.
5418 Don't check against full name.
5419 (w32font_list_internal): New function.
5420 (w32font_list): Use it.
5421 (w32font_match_internal): New function.
5422 (w32font_match): Use it.
5423 (w32font_open_internal): New function.
5424 (w32font_open): Use it.
5425 (w32font_get_cache, w32font_close, w32font_has_char)
5426 (w32font_encode_char, w32font_text_extents, w32font_draw):
5427 Make non-static.
5428
5429 * makefile.w32-in (w32font.o): Depend on w32font.h.
5430
73acf815 54312008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5432
5433 * charset.c (Fdefine_charset_internal): Record a supplementary
5434 charset at the tail of Vcharset_order_list.
5435
5436 * font.c (Ffont_shape_text): Fix the return value.
5437
5438 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
5439
5440 * xdisp.c (handle_auto_composed_prop): Fix previous change.
5441
73acf815 54422008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5443
5444 * ftfont.c (struct OpenTypeSpec): New struct.
5445 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
5446 (ftfont_get_open_type_spec): New function.
5447 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
5448
15139d67 5449 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
aca7a3d2 5450
73acf815 54512008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5452
5453 * w32font.c (add_font_entity_to_list): Compare only the beginning
5454 of full name.
5455
73acf815 54562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5457
15139d67
SM
5458 * xdisp.c (handle_auto_composed_prop): Simplify the code.
5459 Never return HANDLED_RECOMPUTE_PROPS.
aca7a3d2 5460
73acf815 54612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5462
5463 * font.c (font_gstring_produce): Delete it.
5464
15139d67
SM
5465 * composite.h (COMPOSITION_METHOD):
5466 Handle COMPOSITION_WITH_GLYPH_STRING.
aca7a3d2 5467
73acf815 54682008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5469
15139d67 5470 * xfont.c (Qx): Delete.
aca7a3d2
MB
5471 (syms_of_xfont): Don't initialize Qx.
5472
15139d67
SM
5473 * composite.h (enum composition_method):
5474 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
aca7a3d2 5475
73acf815 54762008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5477
5478 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
5479 (choose_face_font): Accept new form of font-spec.
5480
5481 * frame.h (font_driver_list): Declare it unconditionally.
5482 (struct frame): Define members font_driver_list and font_data_list
5483 unconditionally.
5484
5485 * fontset.c: Include "font.h" unconditionally.
15139d67 5486 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
aca7a3d2
MB
5487 (Fset_fontset_font): Accept a font-spec object.
5488
5489 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
5490 PIXEL_SIZE part a wild card.
5491
5492 * dispextern.h (struct glyph_string): Define members clip and
5493 num_clips unconditionally.
5494 (struct face): Define members font_info and extra unconditionally.
5495
5496 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
5497 ftfont_info only when HAVE_LIBOTF is defined.
5498
73acf815 54992008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
5500
5501 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
5502 and end.
5503
73acf815 55042008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5505
5506 * w32font.c (w32font_driver): Add new fields.
5507
73acf815 55082008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5509
aca7a3d2
MB
5510 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
5511 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
5512 (LIBES): Add @M17N_FLT_CFLAGS@.
5513
5514 * composite.c (compose_text): Don't treat the new style
5515 composition specially.
5516
5517 * emacs.c (main): Call syms_of_font unconditionally.
5518
5519 * font.h (FONT_ENTITY_NOT_LOADABLE)
5520 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
15139d67 5521 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
aca7a3d2 5522 (struct font_driver): New member shape.
1f45f627 5523 (font_registry_charsets): Extern it.
4c4475a8 5524 (font_find_for_lface, font_prepare_composition): Adjust prototype.
aca7a3d2
MB
5525 (font_otf_capability, font_drive_otf): Delete their externs.
5526
5527 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
4c4475a8
GM
5528 (font_charset_alist, font_registry_charsets): Move from xfont.c
5529 and rename.
aca7a3d2
MB
5530 (font_prop_validate_otf): New function.
5531 (font_property_table): Register it for QCotf.
5532 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
15139d67 5533 (font_drive_otf): Delete.
1f45f627 5534 (font_prepare_composition): New arg F. Adjust for the change of
aca7a3d2
MB
5535 lispy gstring.
5536 (font_find_for_lface): New arg C.
15139d67 5537 (font_load_for_face): Adjust for the change of font_find_for_lface.
4c4475a8
GM
5538 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
5539 lispy gstring.
aca7a3d2
MB
5540 (Ffont_shape_text): New function.
5541 (Fopen_font): If the font size is not given, use 12-pixel.
5542 (Ffont_at): New arg STRING.
15139d67
SM
5543 (syms_of_font): Initalize font_charset_alist.
5544 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
aca7a3d2
MB
5545 conditionally.
5546
5547 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
5548 fonts of the same font-spec. Change the format of RFONT-DEF.
4c4475a8
GM
5549 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
5550 Adjust for the change of RFONT-DEF.
15139d67 5551 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
aca7a3d2
MB
5552
5553 * ftfont.h: New file.
5554
5555 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
5556 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
5557 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
5558 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
5559 font_otf_capability and font_drive_otf, set ftfont_shape.
15139d67 5560 (ftfont_list): Adjust for the change of :otf property value.
aca7a3d2
MB
5561 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
5562 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
5563 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
1f204af3 5564 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
aca7a3d2
MB
5565 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
5566 (otf_gstring, gstring, m17n_flt_initialized): New variables.
5567
15139d67
SM
5568 * w32term.c (x_draw_composite_glyph_string_foreground):
5569 Adjust for the change of lispy gstring.
aca7a3d2 5570
15139d67 5571 * xdisp.c (handle_composition_prop): Adjust for the change of
aca7a3d2 5572 lispy gstring. Call a function for auto-composition with the
15139d67
SM
5573 third arg it->window.
5574 (fill_composite_glyph_string): Adjust for the change of lispy string.
5575 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
aca7a3d2 5576
15139d67 5577 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
5578 font_find_for_lface.
5579
1f45f627
GM
5580 * xfont.c (x_font_charset_alist): Move to font.c and rename.
5581 (xfont_registry_charsets): Likewise. Change caller.
aca7a3d2
MB
5582 (syms_of_xfont): Don't handle x_font_charset_alist.
5583
5584 * xftfont.c: Include "ftfont.h".
15139d67 5585 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
aca7a3d2
MB
5586 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
5587 (xftfont_close) [HAVE_LIBOTF]: Close otf.
5588 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
15139d67
SM
5589 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
5590 Set xftfont_driver.shape to xftfont_shape.
aca7a3d2 5591
15139d67 5592 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
5593 the change of lispy gstring.
5594
73acf815 55952008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5596
5597 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
5598
73acf815 55992008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5600
5601 * w32font.c (w32font_draw): Fill background manually.
5602
73acf815 56032008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5604
5605 * font.c (Qfontp): Remove unused symbol.
5606 (QCantialias): New symbol.
5607 (syms_of_font): Define it.
5608 (font_property_table): Set a validator for QCantialias.
5609
15139d67
SM
5610 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
5611 Define if not already.
aca7a3d2
MB
5612 (QCfamily): Share with xfaces.c.
5613 (Qstandard, Qsubpixel, Qnatural): New symbols.
1f45f627 5614 (syms_of_w32font): Define them. Don't define QCfamily here.
aca7a3d2
MB
5615 (w32_antialias_type, lispy_antialias_type): New functions.
5616 (w32_enumfont_pattern_entity): New arg requested_font.
5617 Set antialias parameter if non-default was requested.
5618 (fill_in_logfont): Fill in lfQuality if :antialias specified.
5619
73acf815 56202008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5621
5622 * lread.c (read1): Undo the previous change.
5623
73acf815 56242008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
aca7a3d2
MB
5625
5626 * frame.c (Fdelete_frame): Call font_update_drivers only when
6f69e89b 5627 USE_FONT_BACKEND is defined.
aca7a3d2 5628
73acf815 56292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5630
5631 * font.h (struct font_bitmap): New member bits_per_pixel.
5632 (struct font_driver): New members start_for_frame and end_for_frame.
5633 (struct font_data_list): New struct.
5634 (font_put_frame_data, font_get_frame_data): Extern them.
5635
5636 * frame.h (struct frame): New member font_data_list.
5637
5638 * font.c (font_update_drivers): Call driver->start_for_frame and
5639 driver->end_for_frame at proper timings.
5640 (font_put_frame_data, font_get_frame_data): New functions.
5641 (Ffont_spec): Add usage in the docstring.
5642
5643 * frame.c (make_frame): Initialize f->font_data_list to NULL.
5644 (Fdelete_frame): Call font_update_drivers.
5645
5646 * xftfont.c (struct xftface_info): Delete the member xft_draw.
4c4475a8 5647 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
aca7a3d2
MB
5648 (xftfont_get_xft_draw): New function.
5649 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
5650 (xftfont_end_for_frame): New function.
5651 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
5652
15139d67 5653 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
1f45f627 5654 Change argument. Cache GCs in the per-frame data.
aca7a3d2
MB
5655 (struct ftxfont_frame_data): New struct.
5656 (ftxfont_draw_bitmap): New arg gc_fore and flush.
5657 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
15139d67 5658 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
aca7a3d2
MB
5659 (ftxfont_end_for_frame): New function.
5660 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
5661
5662 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
5663
73acf815 56642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5665
5666 * xselect.c (Vselection_coding_system)
5667 (Vnext_selection_coding_system): Delete them.
5668 (syms_of_xselect): Don't declare selection-coding-system and
5669 next-selection-coding-system. They are declared in select.el.
5670
73acf815 56712008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5672
5673 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
5674
5675 * w32fns.c: Include imm.h.
5676 (get_composition_string_fn, get_ime_context_fn): New optional
5677 system functions.
5678 (globals_of_w32fns): Load them from imm32.dll.
5679 (ignore_ime_char): New flag.
5680 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
5681 WM_IME_ENDCOMPOSITION messages.
5682
5683 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
5684 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
5685
73acf815 56862008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5687
5688 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
5689 (READCHAR_REPORT_MULTIBYTE): New macro.
5690 (readchar): New 2nd arg MULTIBYTE.
15139d67
SM
5691 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
5692 Make symbol's name multibyte according to the multibyteness of the
aca7a3d2
MB
5693 source.
5694
73acf815 56952008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5696
5697 * xfaces.c (face_for_overlay_string): Call lookup_face with
5698 correct arguments (fix of synching with the trunk).
5699
73acf815 57002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5701
4c4475a8
GM
5702 * font.c (font_prop_validate_symbol, font_prop_validate_style)
5703 (font_prop_validate_non_neg, font_prop_validate_spacing):
5704 Delete argument prop_index.
15139d67
SM
5705 (font_property_table): Change arguments to validater. Change Callers.
5706 (font_lispy_object): Delete.
aca7a3d2
MB
5707 (font_at): Use font_find_object instead fo font_lispy_object.
5708
73acf815 57092008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5710
5711 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
5712 and file names.
5713
73acf815 57142008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5715
5716 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
5717 (font_matches_spec): Remove debug output.
5718 (add_font_entity_to_list): Avoid using substituted fonts.
5719
73acf815 57202008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5721
5722 * doc.c (Fsnarf_documentation):
5723 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
5724
73acf815 57252008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 5726
290afd83 5727 * dispextern.h (struct glyph_row): Only define "clip" field if
aca7a3d2
MB
5728 HAVE_WINDOW_SYSTEM is defined.
5729
73acf815 57302008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
5731
5732 Fix up multi-tty merge.
5733
5734 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
5735 and indentation.
5736
5737 * xfaces.c (free_realized_face, clear_face_gcs):
5738 Include font_done_for_face in the input_blocked section, just in case.
5739
5740 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
5741 (get_char_face_and_encoding): Undo last change and remove the *other*
5742 duplicate definition (i.e. keep the one that's better scoped and that
5743 includes code for the font-backend).
5744
5745 * terminal.c (create_terminal): Default keyboard_coding to
5746 `no-conversion' and terminal_coding to `undecided'.
5747
5748 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
5749
5750 * fontset.c (free_realized_fontsets): Check that the table entry does
5751 contain a fontset before trying to compare it to `base'.
5752
5753 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
5754 syms_of_charset, and syms_of_coding earlier because init_window_once
5755 now needs Vcoding_system_hash_table to be setup.
5756
5757 * coding.h (default_buffer_file_coding): Remove.
5758
5759 * coding.c (default_buffer_file_coding): Remove.
5760 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
5761 than ->symbol, and use the terminal-local coding system.
5762 (syms_of_coding): Don't setup the coding-systems that are not
5763 terminal-local.
5764 (Fdefine_coding_system_internal): Use XCAR/XCDR.
5765
5766 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
5767 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
5768
5769 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
5770 in chartab.c and were re-added here by mistake.
5771 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
5772
5773 * doc.c (Fsnarf_documentation):
5774 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
5775 src to etc.
5776
5777 * ChangeLog.10: Add mistakenly removed entry.
5778
73acf815 57792008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
aca7a3d2
MB
5780
5781 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
5782
73acf815 57832008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
5784
5785 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
5786 Add extra args to FACE_FOR_CHAR.
5787
73acf815 57882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5789
5790 * keymap.c (where_is_internal_1): If key is a cons, store the copy
5791 in sequence.
5792
4c4475a8
GM
5793 * chartab.c (map_sub_char_table, map_char_table): If the range
5794 contains just one character, call the function with that character
5795 even if the depth is not 3.
aca7a3d2 5796
73acf815 57972008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5798
5799 * w32font.c (w32font_text_extents): Calculate metrics for the
5800 whole string.
5801
73acf815 58022008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5803
5804 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
5805
73acf815 58062008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5807
5808 * w32term.c (x_set_glyph_string_clipping): Use
5809 get_glyph_string_clip_rects.
4c4475a8
GM
5810 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
5811 Adjust for the change of struct glyph_string.
aca7a3d2
MB
5812
5813 * w32font.c (w32font_draw): Do clipping here.
5814
73acf815 58152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5816
1f45f627 5817 * xftfont.c (xftfont_draw): Adjust for the change of struct
aca7a3d2
MB
5818 glyph_string.
5819
5820 * xterm.c (x_set_glyph_string_clipping): Use
5821 get_glyph_string_clip_rects.
4c4475a8
GM
5822 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
5823 Adjust for the change of struct glyph_string.
aca7a3d2
MB
5824
5825 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
5826 the resulting clip(s}.
1f45f627 5827 (expose_overlaps): Add arg r. Change callers. Set it to
aca7a3d2
MB
5828 row->clip temporarily.
5829 (expose_window): Redraw rows overlapping the exposed area.
5830
5831 * dispextern.h (struct glyph_row): New member clip.
5832 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
5833 clip_height, new member clip, and num_clips.
5834
73acf815 58352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5836
5837 * data.c (Fchar_or_string_p): Fix docstring.
5838
73acf815 58392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5840
5841 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
5842 create a temporal XftDraw object.
5843
73acf815 58442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5845
5846 * font.c (Ffontp): Fix docstring.
5847
5848 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
5849 strong evidence of ISO-2022.
5850
73acf815 58512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5852
5853 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
5854 SYNTAX_ENTRY_FOLLOW_PARENT.
5855
73acf815 58562008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
5857
5858 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
5859 its type.
5860 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
5861 Update to the new type of weak_hash_tables and next_weak.
5862
5863 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
5864 a plain C pointer to Lisp_Hash_Table.
5865
5866 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
5867 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
5868 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
5869 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
5870 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
5871 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
5872 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
5873 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
5874 (GC_EQ): Remove since they've been identical to their non-GC_
5875 alter-egos ever since the markbit was eradicated.
5876
290afd83
JB
5877 * alloc.c:
5878 * buffer.c:
5879 * buffer.h:
5880 * data.c:
5881 * fileio.c:
5882 * filelock.c:
5883 * fns.c:
5884 * frame.h:
5885 * lisp.h:
5886 * macterm.c:
5887 * print.c:
5888 * process.c:
5889 * w32fns.c:
5890 * w32menu.c:
5891 * w32term.c:
5892 * xfns.c:
5893 * xmenu.c:
5894 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
aca7a3d2 5895
73acf815 58962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5897
5898 * chartab.c (map_sub_char_table): Make it work for the top-level
5899 char-table. Fix handling of parent char-table.
c5ad7a3d 5900 (map_char_table): Adjust for the above change.
aca7a3d2 5901
73acf815 59022008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5903
5904 * w32font.c (Qgdi): Rename from Qw32.
5905
73acf815 59062008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5907
5908 * w32bdf.c (get_quoted_string): Make function static.
5909
73acf815 59102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5911
5912 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
5913 bigger ascent and descent than those of the font, use them as
5914 font's ascent and descent.
5915
73acf815 59162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5917
5918 * Makefile.in (${lispsource}international/charprop.el): Move this
5919 target within "#ifdef HAVE_UNIDATA" and "#endif".
5920
73acf815 59212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5922
5923 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
5924 (shortlisp): Add ../lisp/language/tai-viet.el.
5925
1f45f627 59262008-02-01 Ulrich Mueller <ulm@gentoo.org>
aca7a3d2
MB
5927
5928 * Makefile.in (${lispsource}international/charprop.el): Depend on
5929 temacs${EXEEXT}.
5930
73acf815 59312008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5932
5933 * w32font.c (w32font_close): Delete the GDI font object.
5934
6f69e89b 5935 * w32menu.c: Include character.h.
aca7a3d2
MB
5936
5937 * w32proc.c: Likewise.
5938
5939 * w32select.c: Likewise.
5940
6f69e89b 5941 * makefile.w32-in (w32proc.o): Depend on character.h.
aca7a3d2 5942
73acf815 59432008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5944
5945 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
5946
5947 * w32menu.c (syms_of_w32menu): Likewise.
5948
5949 * w32proc.c (syms_of_ntproc): Likewise.
5950
5951 * w32select.c (syms_of_w32select): Likewise.
5952
5953 * w32term.c (syms_of_w32term): Likewise.
5954
73acf815 59552008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5956
5957 * w32font.c (w32font_draw): Delete brush after using it.
5958
73acf815 59592008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5960
5961 * w32font.c (w32font_open): Don't set font_idx.
5962 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
5963 to font settings.
5964 (w32font_draw): Fill background explicitly.
5965
73acf815 59662008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5967
5968 * w32term.c (w32_initialize): Don't call w32font_initialize.
5969
5970 * w32font.c (w32font_info): Remove subranges.
5971 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
5972 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
5973 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
5974 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
5975 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
5976 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
5977 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
5978 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
5979 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
5980 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
5981 New symbols.
5982 (font_callback_data): New struct.
5983 (w32font_list, w32font_match): Use it.
5984 (w32font_open): Don't populate subranges.
5985 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
5986 (w32font_encode_char): Always return unicode code-point as-is.
5987 (w32font_text_extents): Supply a tranformation matrix to
1f45f627
GM
5988 GetGlyphOutline. Never look up by glyph index. Avoid looping
5989 twice. Use unicode version of GetTexExtentPoint32 instead of
aca7a3d2 5990 glyph index version.
1f204af3 5991 (set_fonts_frame): Remove.
aca7a3d2 5992 (w32_enumfont_pattern_entity): Add frame parameter, use it to
1f45f627
GM
5993 set frame parameter. Use backward compatible fake foundries.
5994 Save generic family in extra slot under QCfamily. Make width slot
5995 constant. Save QCspacing value. Save list of scripts instead of
aca7a3d2
MB
5996 binary subranges.
5997 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
1f45f627 5998 (add_font_entity_to_list): Use font_callback_data struct. Filter
aca7a3d2
MB
5999 unwanted fonts.
6000 (add_one_font_entity_to_list): Use font_callback_data struct.
1f45f627
GM
6001 (w32_registry): Default to iso10646_1.
6002 (fill_in_logfont): Use dpi from extra slot. Don't bother with
6003 string font registries. Don't fill in font name if it is a generic
6004 family name, fill family instead. Use spacing, family and script
aca7a3d2
MB
6005 extra info to fill pitch, family and charset fields.
6006 (list_all_matching_fonts): Use font_callback_data struct.
6007 (unicode_range_for_char): Remove.
6008 (font_supported_scripts): New function.
6009 (w32font_initialize): Remove.
6010 (syms_of_w32font): Update which symbols are defined.
6011
73acf815 60122008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6013
6014 * font.c (font_pixel_size): Reverse assq_no_quit args.
6015
6016 * w32term.h (FONT_WIDTH): Report max width, not average.
6017 (FONT_MAX_WIDTH): Remove.
6018 (FONT_AVG_WIDTH): New macro.
6019
6020 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
6021 redefinition of FONT_WIDTH.
6022
6023 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
6024 (w32_cache_char_metrics): Use FONT_WIDTH.
6025
6026 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
6027
73acf815 60282008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6029
6030 * w32font.c (w32font_open): Make lfHeight negative.
6031
6032 * w32fns.c (x_default_font_parameter): Use new style font name.
6033 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
6034
73acf815 60352008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6036
6037 * w32font.c (QCsubranges): New symbol.
6038 (w32font_open, w32font_has_char): Get subranges from subproperty
6039 of extra.
6040 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
6041 (syms_of_w32font): Define :subranges symbol.
6042
6043 * font.c (font_put_extra): Expose externally.
6044
1f45f627 6045 * font.h (font_put_extra): Move declaration from font.c.
aca7a3d2
MB
6046
6047 * font.c (Ffont_get): Use font driver to determine otf capability.
6048 (adjust_anchor): Check if driver defines anchor_point before using.
6049
6050 * w32font.c (w32font_open): Handle size, height and pixel_size better.
6051 (w32font_draw): Use options.
6052 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
6053 Fix detection of truetype fonts.
6054 (registry_to_w32_charset): Handle charsets other than iso8859-1
6055 expressed as lisp symbols.
6056 (w32_registry): Express charset as lisp symbol.
6057 (fill_in_logfont): Reverse pixel and point height logic.
1f45f627 6058 Don't set width here. Set quality to default.
aca7a3d2
MB
6059
6060 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
6061 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
6062
6063 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
6064 Remove redundant loop and allocation.
6065
6066 * makefile.w32-in (font.o, w32font.o): New objects.
6f69e89b 6067 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
aca7a3d2
MB
6068 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
6069
6070 * xdisp.c (fill_composite_glyph_string): Make the first arg to
6071 STORE_XCHARB a valid l-value.
6072
6073 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
6074 calculations for non-Truetype fonts.
6075 (x_draw_glyph_string): Sync with xterm.c.
c3f9fba8
JB
6076 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
6077 Remove redundant code.
aca7a3d2
MB
6078 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
6079
6080 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
6081 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
6082
6083 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
6084 (x_to_w32_charset, w32_to_x_charset): Expose externally.
6085
6086 * w32font.c: New file for w32 font backend.
6087
73acf815 60882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6089
6090 * term.c: Don't include "buffer.h" twice.
6091
73acf815 60922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6093
6094 * character.c (Funibyte_string): New function.
6095 (syms_of_character): Defsubr it.
6096
73acf815 60972008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6098
6099 * w32term.c [USE_FONT_BACKEND]:
c3f9fba8
JB
6100 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
6101 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
6102 (x_draw_glyph_string, x_draw_glyph_string_foreground)
6103 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
aca7a3d2
MB
6104 (x_free_frame_resources): Sync with xterm.c.
6105
73acf815 61062008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
6107
6108 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
6109 char-table size.
6110
73acf815 61112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6112
c3f9fba8 6113 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
aca7a3d2 6114
73acf815 61152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6116
6117 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
6118 font_otf_gpos, add font_drive_otf.
6119
6120 * fontset.c (fontset_find_font): Pay attention to font size
6121 specified for a font.
6122 (reorder_font_vector): Check contents of font_def.
6123
6124 * font.c (struct otf_list): Delete it.
6f69e89b 6125 (otf_list): Make it a lisp variable.
aca7a3d2 6126 (otf_open): Use lispy otf_list.
1f45f627 6127 (generate_otf_features): Rename from parse_gsub_gpos_spec.
aca7a3d2 6128 (check_otf_features): New function.
c3f9fba8
JB
6129 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
6130 New functions.
aca7a3d2
MB
6131 (font_drive_otf): New function merging font_otf_gsub and
6132 font_otf_gpos.
6133 (font_open_for_lface): New arg spec. Change argument order.
1f45f627 6134 (font_load_for_face): Adjust for the change of font_open_for_lface.
aca7a3d2
MB
6135 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
6136 Ffont_otf_gpos.
6137 (syms_of_font): Staticpro otf_list. Delete defsubr of
6138 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
6139
1f45f627 6140 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
6141 font_open_for_lface.
6142
6143 * font.h (font_open_for_lface): Adjust prototype.
6144 (struct font_driver): Delete members otf_gsub and otf_gpos, add
6145 member otf_drive.
6146 (font_otf_gsub, font_otf_gpos): Delete externs.
6147 (font_drive_otf): Extern it.
6148
73acf815 61492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6150
6151 * font.c (font_at): If the window W is not on a window system,
6152 return Qnil.
6153
4c4475a8
GM
6154 * coding.c (produce_chars, encode_coding): Don't call
6155 insert_from_gap if no characters to produce.
aca7a3d2 6156
73acf815 61572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6158
6159 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
6160 Fclear_face_cache.
6161
6162 * xfaces.c (face_for_font): Check also face->font==font->font.font.
6163
73acf815 61642008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
6165
6166 * emacs.c (main): Change default value of `enable_font_backend' to 1.
6167 Parse "--disable-font-backend" option.
6168 (standard_args): Add "--disable-font-backend" option.
6169
73acf815 61702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6171
6172 * fontset.c (fontset_find_font): New function.
6173 (fontset_font): Use fontset_find_font.
6174 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
6175 Register the specified font for all Latin characters.
6176 (new_fontset_from_font): Register the specified font for all Latin
6177 characters.
6178 (dump_fontset): For a realized fontset, include the base fontset
6179 name in the returned vector.
6180
73acf815 61812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6182
6183 * character.h (CHAR_STRING): Cast C to unsigned on calling
6184 char_string.
6185
6186 * character.c (char_string): Type of arg C changed to unsigned.
6187 Signal an error if C is an invalid character code.
6188
4c4475a8
GM
6189 * editfns.c (general_insert_function, Fchar_to_string):
6190 Use CHARACTERP, not INTEGERP.
aca7a3d2 6191
73acf815 61922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6193
6194 * character.h (MIN_MULTIBYTE_LEADING_CODE)
6195 (MAX_MULTIBYTE_LEADING_CODE): New macros.
6196
6197 * regex.c (analyse_first): Fix for multibyte characters in "case
6198 charset:" and "case categoryspec:".
6199
73acf815 62002008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
6201
6202 * Makefile.in (LIBES): Move standard libraries to the end.
6203
73acf815 62042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6205
6206 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
6207 nonzero, don't shrink the buffer nextb.
6208
6209 * buffer.h (struct buffer_text): New member inhibit_shrinking.
6210
6211 * coding.c (coding_alloc_by_making_gap): New arg offset.
6212 (alloc_destination): Call coding_alloc_by_making_gap with the arg
6213 offset.
6214 (decode_coding_iso_2022): Update coding->safe_charsets.
6215 (decode_coding_gap): Temporarily set
6216 current_buffer->text->inhibit_shrinking to 1.
6217
73acf815 62182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6219
6220 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
6221 indexing into elements of s->cmp and s->char2b.
6222
73acf815 62232008-02-01 Juanma Barranquero <lekktu@gmail.com>
aca7a3d2
MB
6224
6225 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
6226
73acf815 62272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6228
6229 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
6230 target_multibyte instead of multibyte.
6231 (re_match_2_internal): Call bcmp_translate with target_multibyte.
6232 (bcmp_translate): Change the argument name from multibyte to
6233 target_multibyte.
6234
73acf815 62352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6236
6237 These changes are to compile a regexp into a pattern that can be
6238 used both for multibyte and unibyte targets.
6239
6240 * Makefile.in (search.o): Depend on charset.h.
6241
6242 * character.c (multibyte_char_to_unibyte_safe): New function.
6243
6244 * search.c: Include "charset.h".
6245 (compile_pattern_1): Delete argument multibyte. Don't set
6246 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
6247 (compile_pattern): Don't compare cp->buf.target_multibyte.
6248 Compare cp->buf.charset_unibyte.
6249 (compile_pattern): Set cp->buf.target_multibyte.
6250
6251 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
6252
6253 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
6254
6255 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
1f45f627 6256 multibyte. Change callers.
aca7a3d2 6257 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
1f45f627
GM
6258 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
6259 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
aca7a3d2
MB
6260 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
6261 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
6262 (regex_compile): Make the compiled pattern usable both for
6263 multibyte and unibyte targets.
6264 (analyse_first): Make the fastmap usable both for multibyte and
6265 unibyte targets.
1f45f627 6266 (TRANSLATE_VIA_MULTIBYTE): Delete.
aca7a3d2
MB
6267 (re_match_2_internal): Pay attention to the case that the
6268 multibyteness of bufp and target may be different.
6269
73acf815 62702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6271
6272 * xdisp.c (x_produce_glyphs): When a font is not found, make the
6273 empty box occupy at least one column width.
6274
73acf815 62752008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
6276
6277 * Makefile.in: Remove redundant HAVE_XFT clause.
6278
73acf815 62792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6280
6281 * xrdb.c (x_load_resources): Setup the default fontSet X reource.
6282
73acf815 62832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6284
6285 * fontset.c (Finternal_char_font): Fix for the case of POSITION
6286 being nil.
6287
73acf815 62882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6289
6290 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
6291
73acf815 62922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6293
6294 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
6295
73acf815 62962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6297
6298 * search.c (simple_search): Fix previous change.
6299
73acf815 63002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6301
6302 * xftfont.c (ftfont_font_format): Extern declaration.
6303
6304 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
6305
6306 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
6307 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
6308
6309 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
6310 (ftfont_font_format): Fix previous change.
6311
6312 * font.h (Ffont_xlfd_name): EXFUN it.
6313
6314 * font.c (font_parse_xlfd): Fix the array size of `f'.
6315 (register_font_driver): Use EQ to compare driver->type.
6316
6317 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
6318 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
6319 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
6320
73acf815 63212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6322
4c4475a8
GM
6323 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
6324 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
aca7a3d2 6325
73acf815 63262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6327
6328 * xfont.c (xfont_open): Set font->format.
6329
6330 * xftfont.c (xftfont_open): Set font->format.
6331
6332 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
6333 (ftfont_list): Include FC_FONTFORMAT in FcObject.
6334 (ftfont_open): Set font->format.
6335 (ftfont_font_format): New function.
6336
6337 * font.h (struct font): New memeber format.
6338
6339 * font.c (Qopentype): New variable.
6340 (syms_of_font): Defsym it.
6341 (Fquery_font): Change the format of the last element of the return
6342 value.
6343
73acf815 63442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6345
6346 * xfns.c (xic_create_xfontset): Try the default fontset name as a
6347 last resort.
6348
73acf815 63492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6350
6351 * coding.c (detect_coding_charset): Fix detection of multi-byte
6352 charset.
6353
73acf815 63542008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
aca7a3d2
MB
6355
6356 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
6357
73acf815 63582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6359
6360 * xdisp.c (get_next_display_element): Set it->face_id for the
6361 first component of a composition.
1f45f627 6362 (x_produce_glyphs): Check if the font is changed or not for composition.
aca7a3d2 6363
73acf815 63642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6365
6366 * fontset.c (Qlatin): New variable.
6367 (syms_of_fontset): Define it as a lisp symbol.
1f45f627 6368 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
aca7a3d2 6369
73acf815 63702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6371
6372 * font.c (font_unparse_fcname): Pay attention to the case that
6373 some of font property is a null string.
6374
73acf815 63752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6376
6377 * term.c: Include "composite.h".
6378 (encode_terminal_code): Output all components of composition.
6379 Check the size of encode_terminal_src.
424c157f 6380 (produce_glyphs): For composition, call produce_composite_glyph.
aca7a3d2
MB
6381 (append_composite_glyph, produce_composite_glyph): New functions.
6382
6383 * xdisp.c (x_produce_glyphs): In handling composition, if a font
6384 is not found, get font_info from the current ascii face.
6385
73acf815 63862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6387
6388 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
6389 buffer-file-name to Qnil before calling insert_from_buffer.
6390
6391 * font.c (font_unparse_fcname): Pay attention to the case that
6392 foundry is a null string.
6393
73acf815 63942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6395
6396 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
6397
6398 * font.c (Qunicode_sip): New variable.
6399 (syms_of_font): Declare it as a Lisp symbol.
6400
6401 * font.h (Qunicode_sip): Extern it.
6402
73acf815 64032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6404
1f45f627 6405 * composite.c (get_composition_id): Pay attention to TAB component.
aca7a3d2
MB
6406
6407 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
1f45f627 6408 TAB. Adjust for the change of s->char2b which always points to
aca7a3d2
MB
6409 the first elememnt of allocated memory.
6410
1f45f627 6411 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
aca7a3d2
MB
6412
6413 * xdisp.c (handle_composition_prop): Set it->c to the first
6414 non-TAB component.
1f45f627
GM
6415 (fill_composite_glyph_string): Change argument.
6416 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
aca7a3d2
MB
6417 (x_produce_glyphs): Fix handling of left/right padding.
6418
73acf815 64192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6420
6421 * coding.c (detect_coding_system): Fix for handling off
6422 inhibit_iso_escape_detection. Fix for the case that no coding
6423 system is defined for a specific coding category.
6424
73acf815 64252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6426
1f45f627 6427 * font.c (font_matching_entity): Delete unused local var.
aca7a3d2
MB
6428
6429 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
6430 opening a font.
6431
6432 * fileio.c (Finsert_file_contents): On recovering a file, assume
6433 Unix-like eol.
6434 (choose_write_coding_system): On auto-saving a file, force
6435 Unix-like eol.
6436
6437 * coding.c (setup_coding_system): Fix setting of
6438 coding->common_flags based on eol_type.
6439 (coding_inherit_eol_type): If PARENT is not nil, be sure to
6440 inherit from it.
6441
73acf815 64422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6443
1f45f627 6444 * alloc.c (NSTATICS): Increas to 0x600.
aca7a3d2 6445
73acf815 64462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6447
1f45f627 6448 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
aca7a3d2
MB
6449 (ftfont_list): Don't check :name property.
6450 (ftfont_match): New function.
6451 (ftfont_pattern_entity): If the pattern doesn't contain
6452 FC_SPACING, don't assuce FC_MONO.
6453
6454 * font.h (struct font_driver): New member `match'.
1f45f627 6455 (font_update_drivers): Adjust prototype.
aca7a3d2 6456
4c4475a8
GM
6457 * font.c (font_parse_fcname, font_parse_name): Don't change :name
6458 property of FONT.
aca7a3d2
MB
6459 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
6460 them unconditionally.
6461 (font_matching_entity): New function.
6462 (font_open_by_name): Try font_matching_entity if exact match is
6463 not found.
6464 (font_update_drivers): Delete the arg FONT. Return a list of
6465 actually used backends. Don't free faces, font caches here.
6466 Don't store data in frame parameters. Don't call x_set_font.
6467 (Ffont_spec): Store :name property as is.
6468 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
1f45f627
GM
6469 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
6470 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
aca7a3d2
MB
6471 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
6472 Call font->driver->otf_gsub instead of font_otf_gsub.
6473
6474 * frame.c (x_set_font_backend): Do more works that were done in
6475 font_update_drivers before.
6476
6477 * xfont.c (xfont_match): New function.
6478 (xfont_driver): Set xfont_driver.match to xfont_match.
6479 (xfont_draw): Set font in GC if necessary.
6480
6481 * ftxfont.c (ftxfont_match): New function.
6482 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
6483
6484 * xftfont.c (xftfont_match): New function.
6485 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
6486
73acf815 64872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6488
6489 * font.h (struct font): New member scalable.
6490 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
1f45f627 6491 (font_otf_gsub): Adjust prototype.
aca7a3d2 6492
1f45f627
GM
6493 * font.c (font_otf_capability): Fix handling of the default langsys.
6494 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
aca7a3d2
MB
6495 Check the contents of SPEC.
6496 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
6497 (check_gstring): New function.
6498 (REPLACEMENT_CHARACTER): New macro.
6499 (font_otf_gsub): New arg alternate_subst. Be sure to set all
6500 glyph codes of GSTRING.
6501 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
6502 (font_prepare_composition): Set cmp->glyph_len.
6503 (font_open_entity): Set font->scalable.
6504 (Ffont_get): Handle :otf property.
6505 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
6506 functions.
6507 (Fquery_font): Use font->font.full_name.
6508 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
6509 Sfont_otf_alternates.
6510
6511 * ftfont.c (ftfont_open): Set font->font.full_name and
6512 font->font.name properly. Fix calculation of font->font.height
6513 and font->min_width.
6514
6515 * ftxfont.c (ftxfont_create_gcs): New function.
6516 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
6517 (ftxfont_draw_backgrond): Fix filling region.
6518 (ftxfont_default_fid): New function.
6519 (ftxfont_open): Set xfotn->fid to the return value of
6520 ftxfont_default_fid.
6521 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
6522 (ftxfont_done_face): Free only GCs that are created by
6523 ftxfont_create_gcs.
6524 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
6525
6526 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
6527 Clip to src->width, etc (not src->clip_XXX).
6528
6529 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
6530 FontBackend frame parameter.
6531
73acf815 65322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6533
6534 * font.h (struct font_driver_list): New member `on'.
6535 (Fclear_font_cache): EXFUN it.
6536 (font_update_drivers): Extern it.
6537
6538 * font.c (font_unparse_fcname): Fix typo (swidth->width).
6539 (font_list_entities): Check driver_list->on.
6540 (register_font_driver): Initalize `on' member to 0.
6541 (font_update_drivers): New function.
6542 (Fclear_font_cache): Check driver_list->on.
6543
6544 * frame.h (Qfont_backend): Extern it.
6545 (x_set_font_backend): Extern it.
6546
6547 * frame.c (Qfont_backend): New variable.
6548 (frame_parms): New element for font-backend.
6549 (x_set_font_backend): New function.
6550
6551 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
6552 FontBackend frame parameter.
6553 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
6554 x_set_font_backend.
6555
6556 * xfont.c (xfont_list): Don't try listing by :name property if the
6557 name is not for XLFD.
6558
73acf815 65592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6560
6561 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
6562 (LGLYPH_SET_TO): New macros.
6563 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
6564 element of G is vector or not.
6565 (font_at): Extern it.
6566
6567 * font.c: Include window.h.
6568 (font_lispy_object): New function.
6569 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
6570 end of valid glyph.
6571 (font_close_object): Fix getting (struct font *).
6572 (font_at): New function.
6573 (Ffont_get): If FONT is a font-object, get entity from it.
6574 (Ffont_make_gstring): Initialize elements of glyphs with nil.
6575 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
6576 range check.
6577 (Ffont_at): New function.
6578 (syms_of_font): Defsubr Sfont_at.
6579
6580 * xdisp.c (it_props): Move the entry for Qauto_composed to just
424c157f 6581 before the entry for Qcomposition.
1f45f627 6582 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
aca7a3d2
MB
6583 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
6584 the font in gstring.
6585 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
6586 LGLYPH_FORM (g) to detect the end of valid glyph.
6587 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
6588 we are composing with gstring.
6589
6590 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
6591 Check if adjustment is vector or not.
6592
6593 * Makefile.in (font.o): Make it depends on window.h.
6594
73acf815 65952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6596
6597 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
6598 adjustment is vector or not.
6599
73acf815 66002008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
6601
6602 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
6603
73acf815 66042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6605
6606 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
6607 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
6608 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
6609
1f45f627 6610 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
aca7a3d2 6611 (DEVICE_DELTA): Fix typo.
4c4475a8
GM
6612 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
6613 LGLYPH format.
aca7a3d2 6614
1f45f627 6615 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
6616 the change of LGLYPH format.
6617
73acf815 66182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6619
6620 * ftfont.c (ftfont_list): Fix typo.
1f45f627 6621 (ftfont_build_basic_charsets): Don't include letters with diacritics.
aca7a3d2 6622
880820fe 66232008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2
MB
6624
6625 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
6626
6627 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
6628 xftface_info is non-NULL.
6629
880820fe 66302008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2 6631
1f45f627 6632 * ftfont.c (ftfont_list): Move misplaced #endif.
aca7a3d2 6633
73acf815 66342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6635
6636 * ftfont.c (ftfont_list): Pay attention to the case that
6637 FC_CAPABILITY is not defined.
6638
73acf815 66392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6640
6641 * xftfont.c (xftfont_open): Set charset related members to -1.
6642
1f45f627
GM
6643 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
6644 QCname.
aca7a3d2
MB
6645 (ftfont_open): Set charset related members to -1.
6646
6647 * fontset.c (Votf_script_alist): New variable.
6648 (syms_of_fontset): Initialize it.
6649 (fontset_font): Delete unused variable.
6650
6651 * fontset.h (Votf_script_alist): Extern it.
6652
1f45f627 6653 * font.c (font_find_for_lface): Optimize code.
aca7a3d2
MB
6654
6655 * font.h (font_close_object, font_merge_old_spec): Extern them.
6656
73acf815 66572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6658
6659 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
6660 (syms_of_font): Initialize them.
6661 (font_pixel_size): Allow float value in dpi.
1f45f627
GM
6662 (font_prop_validate_type): Delete.
6663 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
6664 Change caller.
6665 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
6666 (font_prop_validate_extra): Delete.
aca7a3d2
MB
6667 (font_prop_validate_spacing): New function.
6668 (font_property_table): Add elements for all known properties.
1f45f627
GM
6669 (get_font_prop_index): Rename from check_font_prop_name. New
6670 argument FROM. Change caller.
aca7a3d2 6671 (font_prop_validate): Validate all known properties.
1f45f627 6672 (font_put_extra): Delete argument force. Change caller.
aca7a3d2
MB
6673 (font_expand_wildcards): Make it static. Fix the way of shrinking
6674 the possible range.
1f45f627 6675 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
aca7a3d2 6676 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
1f45f627 6677 Change caller.
aca7a3d2 6678 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
1f45f627
GM
6679 (font_parse_fcname): Delete argument merge. Fix parsing of point
6680 size. Don't validate properties values here. Change caller.
6681 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
aca7a3d2
MB
6682 (font_open_by_name): Delete unused variable.
6683 (Ffont_spec): Likewise. Validate property values.
6684 (Ffont_match_p): New function.
6685
6686 * font.h (QCscalable): Extern it.
1f45f627 6687 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
aca7a3d2 6688
1f45f627 6689 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
aca7a3d2 6690
1f45f627 6691 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
aca7a3d2
MB
6692 (xfont_list_pattern): New function.
6693 (xfont_list): Use xfont_list_pattern.
6694
73acf815 66952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6696
6697 * font.h (Flist_fonts): EXFUN it.
6698
73acf815 66992008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6700
6701 * w32term.c (w32_initialize): Add back smoothing_type and
6702 smoothing_enabled definitions.
6703
73acf815 67042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6705
6706 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
6707 s->face->font on determining underline position.
6708
73acf815 67092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6710
6711 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
6712 (font_has_char): Accept font-object too.
6713 (font_find_for_lface): Try at first with a size specified in face.
6714
73acf815 67152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6716
6717 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
6718 font_open_by_name.
6719
73acf815 67202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6721
6722 * font.h (QCspacing, QCdpi): Extern them.
6723 (enum font_spacing): New enum.
6724 (FONT_PIXEL_SIZE_QUANTUM): New macro.
6725
6726 * font.c (POINT_TO_PIXEL): Don't divice POINT by 10.
6727 (QCspacing, QCdpi): New variables.
6728 (syms_of_font): Initialize them.
6729 (font_pixel_size): New function.
6730 (font_put_extra): New function.
6731 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
6732 in FONT_EXTRA.
e9184ccb
JB
6733 (font_parse_fcname): Handle enumenrated values (e.g. bold).
6734 Fix handling font size. Add QCname property that contains only
aca7a3d2 6735 unknown properties.
1f45f627 6736 (font_score): Change argument. Change caller. Pay attention to
aca7a3d2 6737 FONT_PIXEL_SIZE_QUANTUM.
4c4475a8
GM
6738 (font_sort_entites, font_list_entities, font_find_for_lface)
6739 (font_open_for_lface, font_open_by_name): Fix handling of font size.
1f45f627 6740 (Ffont_spec): Add QCname property that contains only unknown properties.
aca7a3d2
MB
6741
6742 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
6743 include weight in listing pattern, instead check weight of each
6744 listed font. Don't include scalable in pattern. Pay attention to
6745 FONT_PIXEL_SIZE_QUANTUM.
6746
73acf815 67472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6748
aca7a3d2 6749 * font.c (font_parse_fcname): Fix parsing of point-size.
1f45f627 6750 (font_unparse_fcname): Produce symbolic names for style properties.
aca7a3d2
MB
6751 (font_list_entities): Handle float size correctly.
6752 (font_open_by_name): Prefer `normal' property values if the name
6753 doesn't specify them.
6754
6755 * fontset.c (Finternal_char_font): Use font_get_name, not
6756 Ffont_xlfd_name.
6757
6758 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
6759 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
6760 pattern. Don't force scalable.
6761
6762 * xftfont.c (xftfont_open): For generating a name, start from
6763 96-byte buffer.
6764
880820fe 67652008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2
MB
6766
6767 * frame.h (x_new_fontset2): Fix prototype.
6768
73acf815 67692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6770
1f45f627 6771 * font.h (struct font_driver): Delete member parse_name.
aca7a3d2
MB
6772 (font_match_p, font_get_spec, font_parse_fcname)
6773 (font_unparse_fcname): Extern them.
1f45f627 6774 (font_get_name): Adjust prototype.
aca7a3d2
MB
6775
6776 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
6777 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
6778 (font_expand_wildcards): Fix handling ENCODING field. Avoid
6779 unnecessary checks for weight, slant, and swidth.
6780 (font_parse_fcname): New function.
6781 (font_unparse_fcname): New function.
6782 (font_parse_name): New function.
6783 (font_match_p): New function.
1f45f627 6784 (font_get_name): Change return value to Lisp string.
aca7a3d2
MB
6785 (font_get_spec): New function.
6786 (Qunspecified, Qignore_defface): Don't extern them.
6787 (font_find_for_lface): Assume that LFACE is fully specified.
6788 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
6789 object, use it for FACE.
6790 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
6791 driver->parse_name.
6792 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
6793
1f45f627
GM
6794 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
6795 prototype.
aca7a3d2 6796
1f45f627
GM
6797 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
6798 argument F. Don't call Fnew_fontset. Instead, directly call
aca7a3d2
MB
6799 make_fontset.
6800
1f45f627 6801 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
aca7a3d2 6802
1f45f627 6803 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
aca7a3d2
MB
6804 of x_new_fontset2.
6805
6806 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
6807 (Qsans__serif): New variables.
6808 (ftfont_generic_family_list): New variable.
6809 (syms_of_ftfont): Initialize the above variables.
1f45f627 6810 (ftfont_pattern_entity): Delete argument NAME.
aca7a3d2
MB
6811 (ftfont_list_generic_family): New function.
6812 (ftfont_parse_name): Delete this function.
1f45f627 6813 (ftfont_list): Try generic family only when FcFontList found no font.
aca7a3d2
MB
6814 (ftfont_list_family): Fix args to FcObjectSetBuild.
6815
6816 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
6817 object in attrs[LFACE_FONT_INDEX].
6818 (set_lface_from_font_name): Cancel all changes for font-backend.
6819 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
6820 function.
6821 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
6822 font object in QCfont attribute.
6823 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
6824 (realize_default_face) [USE_FONT_BACKEND]: Call
6825 set_lface_from_font_and_fontset.
6826
6827 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
6828 "fixed", and signal error here if no suitable font was found.
6829
6830 * xfont.c (xfont_parse_name): Delete this function.
6831
6832 * xftfont.c (xftfont_open): Change coding style of error
6833 handling. Generate fontconfig's fontname pattern.
6834
6835 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
6836 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
6837
6838 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
6839 Both args FONTSET and FONT_OBJECT must be existing ones.
6840
73acf815 68412008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
6842
6843 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
6844
73acf815 68452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6846
6847 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
6848
6849 * font.h (struct font): Fix typo.
6850
6851 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
6852 XLFD_XXX_INDEX.
6853 (enum xlfd_field_mask): New enum.
1f45f627 6854 (intern_font_field): Changed argument. Change caller. If digits
aca7a3d2
MB
6855 are followed by non-digits, return a symbol.
6856 (font_expand_wildcards): New function.
6857 (font_parse_xlfd): Fix wildcard handling.
6858 (Ffont_spec): If :name is specified, reflect the info in the other
6859 properties.
6860
6861 * ftfont.c (ftfont_pattern_entity): Fix typo.
6862 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
6863 locale.
6864
73acf815 68652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6866
6867 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
6868
1f45f627 6869 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
aca7a3d2
MB
6870 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
6871 registry doesn't specify encoding part.
6872 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
6873 (font_open_by_name): At first try parsing the name.
6874 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
6875 as Lisp symbols.
6876
6877 * fontset.c (reorder_font_vector): Pay attention to the case that
6878 the 3rd element of font_def is nil.
6879 (fontset_font): For the default fontset, append one more fontset
6880 elements for a script-based font specification. Don't add script
6881 attribute on finding a font.
6882 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
6883 font name.
6884 (fontset_ascii_font): If a font can't be opened, return nil.
6885
1f45f627 6886 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
aca7a3d2
MB
6887 (ftfont_pattern_entity): New function.
6888 (ftfont_get_cache): Assume that freetype_font_cache is already
6889 initialized.
6890 (ftfont_list): Handle the case that a file is specified in font
6891 name. Use ftfont_pattern_entity to generate entities.
6892 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
6893 (syms_of_ftfont): Initialize freetype_font_cache.
6894
6895 * xftfont.c (xftfont_open): Make the font name fontconfig's
6896 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
6897 (xftfont_close): Free font->font.name if not NULL.
6898
6899 * xfont.c (xfont_list): If script is specified for a font, return
6900 null_vector.
6901 (xfont_list_family): Declare argument type.
6902
6903 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
6904 name, set LFACE_FONT (lface) to nil.
6905
6906 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
6907 return Qnil.
6908
73acf815 69092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6910
1f45f627 6911 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
aca7a3d2
MB
6912 (standard_args): Add "-enable-font-backend".
6913
73acf815 69142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6915
6916 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
6917 (struct xftdraw_list, xftdraw_list): Delete them.
6918 (register_xftdraw, check_xftdraw): Delete them.
6919 (xftfont_prepare_face): Don't call register_xftdraw.
6920 (xftfont_done_face): Don't call check_xftdraw.
6921 (xftfont_draw): Get backroudn color only when with_background is
6922 nonzero.
6923
6924 * xfont.c (xfont_encode_char): Fix calculation of char2b.
6925
73acf815 69262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6927
6928 These changes are for the new font handling codes.
6929
6930 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
6931 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
6932 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
6933 (FONTSRC, FONTOBJ): New variables.
6934 (obj): Add $(FONTOBJ).
6935 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
6936 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
6937 @LIBOTF_LIBS@.
6938 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
1f45f627 6939 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
aca7a3d2 6940
1f45f627 6941 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
aca7a3d2
MB
6942
6943 * character.h (Vscript_representative_chars): Extern it.
6944
6945 * character.c (Vscript_representative_chars): New variable.
6946 (syms_of_character): Declare it as a Lisp variable.
6947
6948 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
6949 enable_font_backend is nonzero, accept the composition method
6950 COMPOSITION_WITH_GLYPH_STRING.
6951
6952 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
6953 enumeration COMPOSITION_WITH_GLYPH_STRING.
6954
aca7a3d2
MB
6955 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
6956 members clip_x, clip_y, clip_width, and clip_height.
6957 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
6958
6959 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
6960 --enable-font-backend. Call syms_of_font.
6961
6962 * fns.c (assoc_no_quit): New function.
6963
6964 * fontset.h (FONT_INFO_FROM_FACE): New macro.
6965 (face_for_font, new_fontset_from_font)
6966 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
6967
6968 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
6969 (fontset_font, fontset_ascii, face_for_char)
6970 (make_fontset_for_ascii_face, Ffont_info)
6971 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
6972 is nonzero, use font-backend mechanism.
6973 (find_font_encoding): Make it non-static.
6974 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
6975 New functions.
6976
6977 * frame.h (struct frame): New members resx and resy.
6978 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
6979 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
6980
6981 * frame.c [USE_FONT_BACKEND]: Include "font.h".
1f45f627 6982 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
aca7a3d2
MB
6983
6984 * lisp.h (assoc_no_quit): Extern it.
6985
6986 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
6987 Through out the file, use FONT_INFO_FROM_FACE instead of
6988 FONT_INFO_FROM_ID, use get_per_char_metric instead of
6989 rif->per_char_metric.
6990 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
6991 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
6992 (get_glyph_face_and_encoding, fill_composite_glyph_string)
6993 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
6994 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
6995 nonzero, use font-backend mechanism.
6996 (get_per_char_metric): New function.
6997
6998 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
6999 (set_lface_from_font_name)
7000 (set_font_frame_param, free_realized_face)
7001 (prepare_face_for_display, clear_face_gcs)
7002 (Finternal_set_font_selection_order, realize_x_face)
7003 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
7004 font-backend mechanism.
1f45f627 7005 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
aca7a3d2
MB
7006 (load_face_font) [USE_FONT_BACKEND]: Abort.
7007 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
1f45f627 7008 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
aca7a3d2
MB
7009
7010 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
7011 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
7012 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
7013 nonzero, register all available font drivers. Call
7014 x_default_font_parameter for deciding a font.
7015 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
7016
7017 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
7018 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
7019 (x_set_glyph_string_clipping_exactly)
7020 (x_compute_glyph_string_overhangs)
7021 (x_draw_glyph_string_foreground)
7022 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
7023 (x_free_frame_resources) [USE_FONT_BACKEND]: If
7024 enable_font_backend is nonzero, use font-backend mechanism.
7025 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
7026
73acf815 70272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7028
fcb314b2 7029 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
aca7a3d2
MB
7030 system_eol_type.
7031 (syms_of_coding): Initialize system_eol_type.
7032
fcb314b2
GM
7033 * process.c (Fset_process_coding_system): Inherit system's eol
7034 format if necessary.
aca7a3d2 7035
73acf815 70362008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
7037
7038 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
7039
73acf815 70402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7041
7042 * coding.c (decode_eol): Pay attention to buffer relocation in
7043 del_range_2.
7044 (decode_coding): Call decode_eol before restoring undo_list.
7045
73acf815 70462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7047
7048 * charset.c (Fdefine_charset_internal): Fix setting of
7049 emacs_mule_bytes.
7050
73acf815 70512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7052
7053 * keyboard.c (read_char): Check if C is a character or not before
7054 looking up Vkeyboard_translate_table.
7055
73acf815 70562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7057
7058 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
7059 condition to terminate the loop.
7060
73acf815 70612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7062
7063 * coding.c (produce_composition): Compare charbuf[i] instead of
7064 args[i] against 0.
7065 (Fterminal_coding_system): Use EQ to compare Lisp objects.
7066
73acf815 70672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7068
7069 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
7070 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
7071 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
7072 detect_coding.
7073 (emacs_mule_char): Handle old style (Emacs 20) component character
7074 of a composition.
4c4475a8
GM
7075 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
7076 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
7077 composition rule.
aca7a3d2
MB
7078 (decode_coding_emacs_mule): Handle invalid bytes correctly.
7079
73acf815 70802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7081
7082 * coding.c (encode_coding_ccl): Allocate destination dynamically
7083 when necessary.
7084
73acf815 70852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7086
7087 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
7088 the loop. When quitted, show a proper error message.
7089
73acf815 70902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7091
aca7a3d2
MB
7092 * xterm.c (x_set_glyph_string_clipping_exactly): Set
7093 src->clip_head and src->clip_tail temporarily instead of src->hl.
7094
7095 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
7096 character sequence.
7097 (Fccl_execute_on_string): Use ASET, not XSET.
7098
73acf815 70992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7100
1f45f627 7101 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
aca7a3d2 7102
73acf815 71032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7104
7105 * coding.c (decode_coding): Fix the condition of terminating the
7106 decoding loop.
7107
73acf815 71082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7109
7110 * data.c (Faset): On setting a character bigger than 255 in a
1f45f627 7111 unibyte string, signal an error instead of make the string multibyte.
aca7a3d2 7112
73acf815 71132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7114
7115 * charset.c (map_charset_chars): Fix for ascii-compatible charset
7116 made by a mapping table.
7117
73acf815 71182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7119
7120 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
7121 not.
7122 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
7123 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
7124
7125 * xterm.c (x_draw_composite_glyph_string_foreground): Check
7126 s->face is NULL or not.
7127
73acf815 71282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7129
7130 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
7131 (x_draw_glyph_string): Fix drawing of right_overhang and
7132 left_overhang around/on cursor.
7133
1f45f627 7134 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
aca7a3d2 7135
73acf815 71362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7137
7138 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
7139
73acf815 71402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7141
4c4475a8
GM
7142 * coding.c (Fdefine_coding_system_internal)
7143 (Fdefine_coding_system_alias): Avoid a duplicated element in
7144 Vcoding_system_alist.
aca7a3d2 7145
73acf815 71462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7147
7148 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
7149
fcb314b2 7150 * coding.c (Qcoding_system_define_form): New variable.
aca7a3d2
MB
7151 (syms_of_coding): Intern and staticpro it.
7152 (Fcoding_system_p): Check Qcoding_system_define_form.
1f45f627 7153 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
aca7a3d2
MB
7154
7155 * coding.h (CODING_SYSTEM_P): If ID is not available, call
7156 Fcoding_system_p.
7157 (CHECK_CODING_SYSTEM): If ID is not available, call
7158 Fcheck_coding_system.
4c4475a8
GM
7159 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
7160 Try also Fcheck_coding_system.
aca7a3d2 7161
73acf815 71622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7163
aca7a3d2
MB
7164 * coding.c (code_conversion_restore): GCPRO arg.
7165
73acf815 71662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7167
7168 * character.c (lisp_string_width): Check multibyteness of STRING.
7169
73acf815 71702008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
7171
7172 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
7173 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
7174 (decode_mac_font_name): Use decode_coding_c_string instead of
7175 decode_coding.
7176 (x_load_font): Initialize fontp->fontset to -1. Set
7177 fontp->encoding_type.
7178
73acf815 71792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7180
7181 * search.c (search_buffer): Give up BM search on case-fold-search
7182 if one of a target character has a case-equivalence of different
7183 byte length even if that target charcter is an ASCII.
1f45f627
GM
7184 (simple_search): Fix calculation of byte length of matched text.
7185 (boyer_moore): Fix handling of case-equivalent multibyte characters.
aca7a3d2 7186
73acf815 71872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7188
7189 * coding.c (decode_coding): Fix handling of invalid bytes.
7190
73acf815 71912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7192
7193 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
7194 Unicode characters.
7195
73acf815 71962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7197
7198 * coding.c (encode_coding_object): If a pre-write-conversion
7199 function makes a new buffer, kill it.
7200
73acf815 72012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7202
7203 * coding.c (QCascii_compatible_p): New variable.
7204 (syms_of_coding): Initialize it.
4c4475a8
GM
7205 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
7206 calling string_char.
aca7a3d2
MB
7207 (record_conversion_result): Add `default:' case.
7208 (coding_charset_list): Delete unused variable `coding_type'.
7209 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
7210 property in the plist of the coding system.
7211 (Fcoding_system_put): Check QCascii_compatible_p.
7212
73acf815 72132008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
7214
7215 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
7216 removed calculation of frame `f', as it's now used.
7217
73acf815 72182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7219
1f45f627 7220 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
aca7a3d2
MB
7221 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
7222 (UNIDATA): New variable.
7223 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
7224 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
7225 $(RUN_TEMACS) unconditionally.
7226
73acf815 72272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7228
1f45f627 7229 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
aca7a3d2
MB
7230 (admindir): New variable.
7231 ($(lispsource)international/charprop.el): New target.
7232
73acf815 72332008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 7234
1f45f627 7235 * character.c (chars-in-region): Remove obsolete function.
aca7a3d2
MB
7236 (syms_of_character): Remove its initialization.
7237
73acf815 72382008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
aca7a3d2
MB
7239
7240 * w32select.c (validate_coding_system)
7241 (setup_windows_coding_system): New functions.
7242 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
7243 setup_windows_coding_system.
7244 (setup_config, Fw32_get_clipboard_data): Use
7245 validate_coding_system.
7246 (Fx_selection_exists): Move call to setup_config to a place
1f45f627 7247 where signals are allowed.
aca7a3d2
MB
7248
7249 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
7250 (Fcheck_coding_system): Add declarations.
7251
73acf815 72522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7253
1f45f627 7254 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
aca7a3d2 7255
73acf815 72562008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
7257
7258 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
7259 string as the second argument for x_new_fontset.
7260
73acf815 72612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7262
7263 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
7264 (encode_coding_object): Use safe_call instead of call2.
7265
73acf815 72662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7267
1f45f627 7268 * fontset.c (Fset_fontset_font): Check family element of a given vector.
aca7a3d2
MB
7269
7270 * Makefile.in (lisp): Include charprop.el.
7271
73acf815 72722008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
7273
7274 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
7275 Not sure if it's unnecessary.
7276
73acf815 72772008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
7278
7279 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
7280 some possibly unnecessary fontset checking code that crashed
1f45f627 7281 when creating a new frame.
aca7a3d2 7282
73acf815 72832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7284
7285 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
7286 lookup_face.
7287
7288 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
7289
1f45f627 7290 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
aca7a3d2 7291
73acf815 72922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7293
73acf815 7294 * coding.c: Cancel the change done in HEAD on 2008-02-01.
aca7a3d2
MB
7295 (coding_charset_list): New function.
7296
7297 * coding.h (coding_charset_list): Extern it.
7298
73acf815 72992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7300
7301 * fontset.c (Fset_fontset_font): Call find_font_encoding with
7302 concatenation of family and registry.
7303
73acf815 73042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7305
7306 * character.h (BYTE8_STRING): Fix typo.
7307
7308 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
7309 string to multibyte (sync to HEAD).
7310
7311 * casefiddle.c (casify_region): Handle changes in byte-length
7312 using replace_range_2 (sync to HEAD).
7313
73acf815 73142008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
7315
7316 * chartab.c (map_char_table): GCPRO table and arg.
7317
73acf815 73182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7319
7320 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
7321 already at limit.
7322
73acf815 73232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7324
7325 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
7326 instead of fast_c_string_match_ignore_case.
1f45f627 7327 (find_font_encoding): Change argument to Lisp_Object. Use
aca7a3d2 7328 fast_string_match_ignore_case instead of
1f45f627 7329 fast_c_string_match_ignore_case. Change caller.
aca7a3d2 7330
73acf815 73312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7332
7333 * xdisp.c (get_next_display_element): In unibyte case, decide to
7334 display in octal form by checking a chacter by
7335 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
7336
1f45f627 7337 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
aca7a3d2
MB
7338
7339 * character.c (unibyte_has_multibyte_table): New variable.
7340
7341 * character.h (unibyte_has_multibyte_table): Extern it.
7342 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
7343
73acf815 73442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7345
7346 * coding.c (encode_coding_iso_2022): Fix handling of charset
7347 annotation.
7348
73acf815 73492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7350
7351 * coding.c (setup_coding_system): If coding_system is nil, use
7352 Qundecided.
7353 (Fterminal_coding_system): Return nil if terminal coding system is
7354 `undecided'.
7355 (syms_of_coding): Define coding-system `undecided' here. Setup
7356 terminal_coding as `undecided'.
7357
73acf815 73582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7359
7360 * xdisp.c (message_dolog, set_message_1): Call
7361 unibyte_char_to_multibyte with arg type int.
7362
aca7a3d2
MB
7363 * lread.c (read1): Fix reading of a char-table.
7364
7365 * print.c (print_object): Include sub char-table in cicularities
7366 detection.
7367
73acf815 73682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7369
7370 * keymap.c (where_is_internal_2): Fix for the case that KEY is a
1f45f627 7371 cons. Append the found sequences in car of ARGS instead of prepending.
aca7a3d2 7372
73acf815 73732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7374
7375 * fileio.c (report_file_error): Make a unibyte string from
7376 strerror (errorno).
7377 (Fsubstitute_in_file_name): Fix the arg to
7378 unibyte_char_to_multibyte. It is evaluated twice.
7379
73acf815 73802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7381
7382 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
7383
73acf815 73842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7385
7386 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
7387 BOM is not found.
4c4475a8
GM
7388 (detect_coding, detect_coding_system): Optimization for ISO-2022
7389 when no 8-bit data is found.
aca7a3d2 7390
73acf815 73912008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7392
7393 * w32fns.c (x_to_w32_font): Update to use new coding struct.
7394
73acf815 73952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7396
4c4475a8
GM
7397 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
7398 CHARS.
aca7a3d2 7399
73acf815 74002008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
7401
7402 * macterm.c (mac_encode_char): Add charset argument and update
7403 to use encoding_type.
2a2e8de7 7404 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
1f45f627
GM
7405 switch to pure fontset.
7406 (decode_mac_font_name): Temporarily remove decoding.
7407 (x_font_name_to_mac_font_name): Temporarily remove encoding.
7408 (x_load_font): Temporarily remove encoding.
aca7a3d2 7409
73acf815 74102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7411
7412 * xfaces.c (Fface_font): If frame is not on a window system,
7413 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
7414 refer to face->font.
7415 (split_font_name_into_vector, build_font_name_from_vector)
7416 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
7417 whne HAVE_WINDOW_SYSTEM is defined.
7418
73acf815 74192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7420
7421 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
7422 (x_produce_glyphs): Fix setting of members of cmp in case
1f45f627 7423 cmp->glyph_len is zero.
aca7a3d2 7424
1f45f627 7425 * fontset.c (Fset_fontset_font): Fix docstring.
aca7a3d2
MB
7426 (Ffontset_info): Make it backward compatible. New arg ALL.
7427
73acf815 74282008-02-01 Kim F. Storm <storm@cua.dk>
aca7a3d2
MB
7429
7430 * process.c (read_process_output): Grow decoding_buf when needed;
7431 this could cause a crash in allocate_string and compact_small_strings.
7432
73acf815 74332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7434
1f45f627 7435 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
aca7a3d2 7436
73acf815 74372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7438
7439 * coding.c (setup_coding_system): Set coding->common_flags
7440 correctly for raw-text.
7441 (consume_chars): On encoding unibyte text by raw-text, don't check
7442 multibyte form.
1f45f627 7443 (encode_coding): On encoding by raw-text, never use translation tables.
aca7a3d2
MB
7444
7445 * fileio.c (e_write): Short cut for the case of no encoding.
7446
73acf815 74472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7448
4c4475a8
GM
7449 * coding.c (detect_coding, detect_coding_system): Delete unused
7450 variables.
aca7a3d2 7451
73acf815 74522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7453
7454 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
7455 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
7456
73acf815 74572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7458
7459 * coding.c (Ffind_coding_systems_region_internal): Include
7460 raw-text and no-conversion in the result.
7461
73acf815 74622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7463
1f45f627 7464 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
aca7a3d2
MB
7465 (load_font_get_repertory): Delete unnecessary check of ENCODING of
7466 FONT_DEF.
7467 (font_def_arg, add_arg, from_arg, to_arg): New args.
1f45f627 7468 (set_fontset_font): Change argument.
aca7a3d2
MB
7469 (Fset_fontset_font): Fix for the case that TARGET is a script
7470 name and charset name.
7471 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
7472
73acf815 74732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7474
1f45f627
GM
7475 * fontset.c (fontset_font): Rename from fontset_face. Change return
7476 value.
4c4475a8
GM
7477 (face_suitable_for_char_p, face_for_char): Adjust for the change
7478 of fontset_font.
aca7a3d2
MB
7479 (make_fontset_for_ascii_face): Fix setting of the fontset element
7480 for ASCII.
7481 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
7482 to get a font name.
1f45f627 7483 (Ffontset_info): Adjust for the change of fontset_font.
aca7a3d2 7484
fcb314b2 7485 * coding.c (emacs_mule_char): Check invalid code more regidly.
aca7a3d2
MB
7486
7487 * character.h (LEADING_CODE_LATIN_1_MIN)
7488 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
7489
73acf815 74902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7491
fcb314b2 7492 * editfns.c (check_translation): New function.
aca7a3d2
MB
7493 (Ftranslate_region_internal): Handle M:N mapping.
7494
73acf815 74952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7496
7497 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
7498
73acf815 74992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7500
7501 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
7502 goto invalid_code.
7503 (decode_coding_iso_2022): Fix handling of invalid designation.
7504
7505 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
7506 after calling code_conversion_save.
7507
73acf815 75082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7509
7510 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
7511
7512 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
7513
7514 * fontset.c: Include "intervals.h".
7515 (fontset_face): Fix comparing of Lisp_Objects.
4c4475a8
GM
7516 (free_face_fontset, new_fontset_from_font_name): Fix
7517 Lisp_Object/int mixup.
aca7a3d2
MB
7518
7519 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
7520
7521 * coding.c: Add many prototypes for static functions.
7522 (get_translation_table): Allow max_lookup to be NULL.
2a2e8de7 7523 (decode_coding, Ffind_coding_systems_region_internal)
4c4475a8
GM
7524 (Funencodable_char_position, Fcheck_coding_systems_region): Call
7525 get_translation_table with max_lookup NULL.
aca7a3d2 7526
73acf815 75272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7528
7529 * coding.c (get_translation_table): Declare it as Lisp_Object.
7530 (LOOKUP_TRANSLATION_TABLE): New macro.
4c4475a8
GM
7531 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
7532 instead of CHAR_TABLE_REF.
aca7a3d2 7533
73acf815 75342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7535
1f45f627 7536 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
aca7a3d2
MB
7537 annotation data format.
7538 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
1f45f627 7539 Change arguments FROM and TO to single argument NCHARS. Change caller.
4c4475a8 7540 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
aca7a3d2 7541 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
4c4475a8
GM
7542 (decode_coding_ccl, decode_coding_charset): Pay attention to
7543 coding->charbuf_used.
aca7a3d2
MB
7544 (get_translation): New function.
7545 (produce_chars): New arguments translation_table and last_block.
7546 Translate characters here. Return number of carryover chars.
1f45f627
GM
7547 Change caller.
7548 (produce_composition): New argument pos. Change caller.
7549 Adjust for the change of annotation data format.
aca7a3d2
MB
7550 (produce_charset, produce_annotation): Likewise.
7551 (decode_coding, encode_coding): Don't call translate_chars.
1f45f627
GM
7552 (consume_chars): New arg translation_table. Change caller.
7553 (translate_chars): Delete.
7554 (syms_of_coding): Make translation-table's number of extra slots 2.
aca7a3d2 7555
73acf815 75562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7557
7558 * search.c (simple_search): Fix setting this_pos_byte in backward
7559 search.
7560
7561 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
7562 byte sequence.
7563 (detect_coding_ccl): Fix setting of the variable valids.
7564
73acf815 75652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7566
7567 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
7568
7569 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
7570
1f45f627 7571 * editfns.c (Ftranslate_region_internal): Rename from
aca7a3d2
MB
7572 Ftranslate_region. Accept a char-table in TABLE.
7573 (syms_of_editfns): Defsubr Stranslate_region_internal.
7574
7575 * xfaces.c (set_lface_from_font_name): If a font is specified for
7576 a frame, generate a fontset from the font.
7577 (build_scalable_font_name): If the scalable font is requested for
7578 a specific size, don't change that size.
7579 (try_font_list): Try a scalable font also in the case that a
1f45f627 7580 pattern string is specified.
aca7a3d2 7581
73acf815 75822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7583
7584 * xfaces.c (Fface_font): New optional arg CHARACTER.
7585
73acf815 75862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7587
7588 * charset.h (CHARSET_OFFSET): New macro.
7589
73acf815 75902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7591
7592 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
7593
7594 * fontset.c (fontset_face): Handle the case that repertory is a
7595 char-table.
7596 (find_font_encoding): Return nil for unknown encoding.
7597 (Fset_fontset_font): Ignore a font of unknown encoding.
7598
73acf815 75992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7600
1f45f627 7601 * keymap.c (describe_vector): Handle default value of a char table.
aca7a3d2
MB
7602
7603 * fontset.c (fontset_face): Handle fallback fonts correctly.
7604 (Ffontset_info): Return infomation about fallback fonts.
7605
73acf815 76062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7607
7608 * fontset.c (FONTSET_DEFAULT): New macro.
4c4475a8 7609 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
aca7a3d2
MB
7610 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
7611 the case that it is nil.
7612 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
1f45f627 7613 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
aca7a3d2
MB
7614
7615 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
7616 subset or superset.
7617
73acf815 76182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7619
7620 * emacs.c (main): Call init_charset after syms_of_XXX.
7621
1f45f627 7622 * charset.c (Vcharset_map_directory): Delete.
1f204af3 7623 (Vcharset_map_path): New variable.
aca7a3d2
MB
7624 (load_charset_map_from_file): Use Vcharset_map_path instead.
7625 (init_charset): Initialize Vcharset_map_path.
7626 (syms_of_charset): Delete declaration of "charset-map-directory",
7627 add declaration of "charset-map-path".
7628
73acf815 76292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7630
4c4475a8
GM
7631 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
7632 ASCII only string.
aca7a3d2
MB
7633
7634 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
7635
7636 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
6f69e89b 7637 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
aca7a3d2 7638
73acf815 76392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7640
7641 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
7642
7643 * coding.c (QCmnemonic, QCdefalut_char)
7644 (QCdecode_translation_table, QCencode_translation_table)
7645 (QCpost_read_conversion, QCpre_write_conversion): New variables.
7646 (get_translation_table): Return a list of translation tables if
7647 necessary.
7648 (decode_coding): Call get_translation_table with ENCODEP 0.
7649 (char_encodable_p): If translation_table is non-nil, always call
7650 translate_char.
7651 (Fdefine_coding_system_internal): Accept list of translation
7652 tables as :encode-translation-table and :decode-translation-table.
7653 (Fcoding_system_put): New function.
7654 (syms_of_coding): Declare new symbols. Defsubr
7655 Scoding_system_put.
4c4475a8
GM
7656 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
7657 typically JISX0212.
aca7a3d2
MB
7658
7659 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
7660 when the charset is superset type.
7661
7662 * character.c (translate_char): Accept list of translation tables.
7663
73acf815 76642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7665
1f45f627 7666 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
aca7a3d2
MB
7667 (CODING_ATTR_TRANS_TBL): New macro.
7668
7669 * coding.c (get_translation_table): New function.
7670 (translate_chars): Fix the bug of skipping annotation data.
4c4475a8
GM
7671 (decode_coding, encode_coding): Utilize get_translation_table.
7672 (char_encodable_p, Funencodable_char_position): Translate char if
7673 necessary.
7674 (Ffind_coding_systems_region_internal)
7675 (Fcheck_coding_systems_region): Setup translation table for encode
7676 in a coding system attribute vector in advance.
aca7a3d2
MB
7677 (Fdefine_coding_system_internal): Allow a symbol as translation
7678 table. For shift-jis type coding system, allow 4th charset.
7679
73acf815 76802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7681
7682 * coding.c (decode_coding_sjis): Check the first byte rigidly.
7683
7684 * xdisp.c (get_next_display_element): Pass -1 as POS to
7685 FACE_FOR_CHAR if displaying a C-string.
7686
73acf815 76872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7688
7689 * composite.c (get_composition_id): Handle xoff and yoff in a
7690 composition rule.
7691
7692 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
7693 (struct composition): New member lbearing and rbearing.
7694
7695 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
7696 (x_get_glyph_overhangs): Handle a composition glyph.
1f45f627 7697 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
aca7a3d2
MB
7698
7699 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
7700 composition glyph.
7701
73acf815 77022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7703
7704 * print.c: Include charset.h.
7705 (Vprint_charset_text_property): New variable.
7706 (Qdefault): Extern it.
7707 (PRINT_STRING_NON_CHARSET_FOUND)
7708 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
7709 (print_check_string_result): New variable.
7710 (print_check_string_charset_prop): New function.
7711 (print_prune_charset_plist): New variable.
7712 (print_prune_string_charset): New function.
7713 (print_object): Call print_prune_string_charset if
7714 Vprint_charset_text_property is not t.
7715 (print_interval): Print nothing if itnerval->plist is nil.
7716 (syms_of_print): Declare Vprint_charset_text_property as a lisp
7717 variable. Init and staticpro print_prune_charset_plist.
7718
73acf815 77192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7720
7721 * fontset.c (new_fontset_from_font_name): Use the specified font
7722 for all characters in the new fontset.
7723
7724 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
7725 OBJECT args.
7726
7727 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
7728 OBJECT args for composition too.
7729
7730 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
7731 OBJECT args.
7732
73acf815 77332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7734
7735 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
7736
1f45f627 7737 * fontset.c (reorder_font_vector): Adjust for the change of
aca7a3d2 7738 FONT_DEF format.
1f45f627 7739 (fontset_face): New arg id. Change caller.
aca7a3d2 7740 (face_for_char): New args pos and object.
1f204af3 7741 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
aca7a3d2
MB
7742 (fs_query_fontset): Check NAME by Fassoc too.
7743 (Fset_fontset_font): Allow non-XLFD font name.
1f45f627 7744 (Ffontset_info): Adjust for the change of FONT_DEF format.
aca7a3d2 7745
1f45f627 7746 * fontset.h (face_for_char): Adjust prototype.
aca7a3d2 7747
4c4475a8
GM
7748 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
7749 (append_space, extend_face_to_end_of_line)
7750 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
7751 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
aca7a3d2
MB
7752
7753 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
7754 POS and OBJECT args.
7755
7756 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
7757 POS and OBJECT args.
7758
73acf815 77592008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7760
7761 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
7762 of GlobalAlloc'ed memory.
7763
73acf815 77642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7765
7766 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
7767
7768 * charset.h (charset_table_used): Delete extern.
7769
7770 * charset.c (charset_table_used): Make it static.
7771 (map_charset_chars): Fix args to c_function with.
7772
7773 * chartab.c (map_sub_char_table_for_charset): Fix args to
7774 c_function with.
7775
7776 * coding.h (enum coding_result_code): Delete
7777 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
7778
7779 * coding.c (Qinsufficient_source, Qinconsistent_eol)
1f45f627 7780 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
aca7a3d2
MB
7781 (Vlast_code_conversion_error): New variables.
7782 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
7783 (ONE_MORE_BYTE): Record error if any instead of signaling an
7784 error. If non-ASCII multibyte char is found, return the negative
7785 value of the code. All callers changed to check it.
7786 (ONE_MORE_BYTE_NO_CHECK): Likewise.
1f45f627
GM
7787 (record_conversion_result): New function. Change all codes setting
7788 coding->result to call this function.
4c4475a8
GM
7789 (detect_coding_utf_8, decode_coding_utf_8)
7790 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
7791 Don't use the local variable incomplete.
aca7a3d2 7792 (emacs_mule_char): Change the second arg to `const'.
aca7a3d2
MB
7793 (decode_coding): Fix of flushing out unprocessed data.
7794 (make_conversion_work_buffer): Fix making of a work buffer.
2a2e8de7 7795 (decode_coding_object): Return coding->dst_object.
aca7a3d2
MB
7796
7797 * fontset.c (set_fontset_font): Fix args.
7798
7799 * lisp.h (CHARACTERBITS): Define as 22.
7800
7801 * process.c (send_process): Be sure to set coding->src_multibyte.
7802
7803 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
7804
73acf815 78052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7806
7807 * xdisp.c (handle_auto_composed_prop): Give limit to
7808 Fnext_single_char_property_change.
7809
73acf815 78102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7811
424c157f 7812 * composite.c (syms_of_composite): Don't make the composition hash
1f45f627 7813 table weak.
aca7a3d2
MB
7814
7815 * fontset.c (Fset_fontset_font): Fix docstring.
7816
7817 * lisp.h (detect_coding_system): Adjust prototype.
7818
7819 * fileio.c (kill_workbuf_unwind): Delete this function.
7820 (Finsert_file_contents): Adjust the call of detect_coding_system.
7821 Get conversion_buffer by code_conversion_save. Use the macor
7822 CODING_MAY_REQUIRE_DECODING. After decoding, update
7823 coding_system.
7824
7825 * coding.h (make_conversion_work_buffer): Delete extern.
7826 (code_conversion_save): Extern it.
7827
7828 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
1f45f627 7829 (CODING_GET_INFO): Delete argument eol_type. Change callers.
aca7a3d2
MB
7830 (decode_coding_utf_8): Don't do eol converion.
7831 (detect_coding_utf_16): Check coding->src_chars, not
1f45f627 7832 coding->src_bytes. Add heuristics for those that have no signature.
4c4475a8
GM
7833 (decode_coding_emacs_mule, decode_coding_iso_2022)
7834 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
7835 Don't do eol converion.
aca7a3d2
MB
7836 (adjust_coding_eol_type): Return a new coding system.
7837 (detect_coding): Don't detect eol. Fix for utf-16 detection.
7838 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
7839 each change.
7840 (decode_coding): Pay attention to undo_list. Do eol convesion for
7841 all types of coding-systems (if necessary).
7842 (Vcode_conversion_work_buf_list): Delete it.
1f45f627 7843 (Vcode_conversion_reused_workbuf): Rename from
aca7a3d2
MB
7844 Vcode_conversion_reused_work_buf.
7845 (Vcode_conversion_workbuf_name): New variable.
7846 (reused_workbuf_in_use): New variable.
7847 (make_conversion_work_buffer): Delete the arg DEPTH.
4c4475a8 7848 (code_conversion_restore): Change argument to cons.
1f45f627
GM
7849 (code_conversion_save): Delete the argument BUFFER. Change callers.
7850 (detect_coding_system): New argument src_chars. Change callers.
aca7a3d2
MB
7851 Fix for utf-16 detection.
7852 (init_coding_once): Don't use ISO_carriage_return.
1f45f627 7853 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
aca7a3d2
MB
7854 reused_workbuf_in_use.
7855
73acf815 78562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7857
7858 * keymap.c (store_in_keymap): Pay attention to the case that idx
7859 is a cons specifying a character range.
7860
73acf815 78612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7862
7863 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
7864 HANDLED_RECOMPUTE_PROPS.
7865
7866 * coding.c (Fdefine_coding_system_internal): Fix checking of
7867 ascii compatibility.
7868
73acf815 78692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7870
1f45f627 7871 * charset.c (find_charsets_in_text): Delete unused locale variable.
aca7a3d2
MB
7872 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
7873
7874 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
7875 Resync charset_list to Vemacs_mule_charset_list.
7876
7877 * keymap.c (store_in_keymap): Pay attention to the case that idx
7878 is a cons specifying a character range.
7879
73acf815 78802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7881
7882 * composite.c (update_compositions): Bind inhibit-read-only, etc
7883 to t before calling remove-list-of-text-properties.
7884
7885 * print.c (print_object): Always print ASCII chars as is.
7886
73acf815 78872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7888
1f45f627 7889 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
aca7a3d2 7890
4c4475a8
GM
7891 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
7892 is a char table.
aca7a3d2 7893
73acf815 78942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7895
1f45f627 7896 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
aca7a3d2 7897
73acf815 78982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7899
7900 * xfaces.c (set_lface_from_font_name): Fix for the case that
7901 FONTNAME is not fontset name.
7902
73acf815 79032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7904
7905 * fns.c (base64_encode_1): Fix previous change.
7906
73acf815 79072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7908
7909 * fontset.c (set_fontset_font): New function.
7910 (Fset_fontset_font): If a font is specified for a charset, use
7911 map_charset_chars to store the font spec in a fontset.
7912
73acf815 79132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7914
1f204af3 7915 * fontset.c (fontset_face): Create a fallback fontset on demand.
aca7a3d2
MB
7916 (make_fontset): Don't create a fallback fontset here.
7917 (free_face_fontset): Free a fallback fontset (if any) too.
7918 (n_auto_fontsets): Delete this variable.
7919 (auto_fontset_alist): New variable.
7920 (new_fontset_from_font_name): Check auto_fontset_alist.
7921 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
7922 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
7923 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
7924 Defsubr Sfontset_list_all.
7925
73acf815 79262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7927
7928 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
7929
73acf815 79302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7931
7932 * fontset.c (Fnew_fontset): Check NAME more rigidly.
7933
73acf815 79342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7935
7936 * editfns.c (Fgoto_char): Fix docstring.
7937
73acf815 79382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7939
7940 * insdel.c (insert_from_gap): Adjust intervals correctly.
7941
73acf815 79422008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7943
7944 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
7945 (pfnGetFontUnicodeRanges): New dynamically loaded function.
7946 (w32_initialize): Try to load it.
7947 (x_get_font_repertory): Use it if available.
7948 (w32_encode_char): Add shortcut for unicode output.
7949
7950 * w32fns.c (w32_load_system_font): Default charset to -1.
7951 (x_to_w32_charset): Match all fonts for unicode.
1f45f627 7952 (w32_to_x_charset): New parameter matching. Don't return partial
aca7a3d2
MB
7953 or wildcard charsets.
7954 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
7955 (w32_codepage_for_font): Return CP_UNICODE for unicode.
7956 (w32_to_x_font): Match charset to real charset.
7957 (enum_font_cb2): Always list unicode versions.
7958
7959 * makefile.w32-in (temacs): Increase EMHEAP.
7960
73acf815 79612008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7962
7963 * w32term.c (w32_encode_char): New charset parameter.
7964 font_info.encoding becomes encoding_type.
1f45f627 7965 (x_get_font_repertory): New function. Warning: stub only!
aca7a3d2
MB
7966 (x_new_font): Return quickly if font already set.
7967 (x_new_fontset): fontsetname parameter is Lisp_Object.
2a2e8de7
JB
7968 Use new fs_query_fontset. Try new_fontset_from_font_name.
7969 Use fontset_name for return value.
aca7a3d2
MB
7970
7971 * w32term.h: Declare x_get_font_repertory.
7972
7973 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
1f45f627 7974 place of find_charset_in_text. Use encode_coding_object in place
aca7a3d2
MB
7975 of encode_coding.
7976 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
7977 decode_coding.
7978
7979 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
7980 of x_new_fontset.
7981 (w32_load_system_font): Initialize charset as unicode.
7982 font_info.encoding becomes encoding_type.
1f45f627
GM
7983 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
7984 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
aca7a3d2
MB
7985 (syms_of_w32fns): Set get_font_repertory_func.
7986
1f45f627 7987 * w32console.c: Include character.h. Use terminal_encode_buffer
aca7a3d2 7988 from term.c.
1f45f627 7989 (write_glyphs): Use new version of encode_terminal_code. Use
aca7a3d2
MB
7990 encode_coding_object in place of encode_coding.
7991
7992 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
7993 encoding becomes encoding_type.
7994
7995 * term.c (terminal_encode_buffer): Make externally visible.
7996
7997 * makefile.w32-in: Add character.h dependancies.
7998 (character.o, chartab.o): New targets.
7999
73acf815 80002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8001
8002 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
1f45f627 8003 CODING_ID_EOL_TYPE.
aca7a3d2 8004
73acf815 80052008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
8006
8007 * coding.c (produce_chars): Revert last change.
8008
73acf815 80092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8010
8011 * charset.h (charset_unicode): Extern it.
8012
8013 * charset.c (string_xstring_p): Check by (C >= 0x100).
1f45f627 8014 (find_charsets_in_text): Change format of the arc CHARSETS. New
aca7a3d2 8015 arg MULTIBYTE.
1f45f627 8016 (Ffind_charset_region, Ffind_charset_string): Adjust for the
aca7a3d2
MB
8017 change of find_charsets_in_text.
8018 (Fsplit_char): Fix doc. Never return unknown.
8019
8020 * chartab.c (char_table_translate): Use CHARACTERP, not INETEGERP.
8021
8022 * coding.c (Fdefine_coding_system_alias): Update
8023 Vcoding_system_list.
8024
8025 * fontset.c (load_font_get_repertory): Pay attention to the case
8026 that ENCODING of a font is specified by a char-table.
8027
8028 * xterm.c (x_get_font_repertory): Handle the case that the
8029 encoding of font is other than Unicode.
8030
73acf815 80312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8032
8033 * term.c (encode_terminal_code): Don't handle glyph-table. Check
8034 if a character is encodable by the terminal coding system. If
8035 not, produces proper number of `?'s. Update
8036 terminal_encode_buffer and terminal_encode_buf_size if necessary.
8037 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
8038
73acf815 80392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8040
8041 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
8042 variables.
1f45f627 8043 (encode_terminal_code): Change argument. Encode multiple
aca7a3d2
MB
8044 characters at once. Store the result of encoding in
8045 terminal_encode_buffer.
4c4475a8
GM
8046 (write_glyphs, insert_glyphs): Adjust for the change of
8047 encode_terminal_code.
aca7a3d2
MB
8048 (term_init): Initialize terminal_encode_buffer and
8049 terminal_encode_buf_size.
8050
8051 * coding.c (consume_chars): If coding->src_object is nil, don't
8052 check annotation.
8053
73acf815 80542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8055
8056 * character.c (char_string): Use ASCII_CHAR_P instead of
8057 SINGLE_BYTE_CHAR_P.
8058
73acf815 80592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8060
8061 * xdisp.c (handle_auto_composed_prop): Check if the last
8062 characters of auto-composed region is newly composed with the
8063 following characters.
8064 (handle_composition_prop): Fix checking of point being inside
8065 composition.
8066
73acf815 80672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8068
8069 * fns.c (concat): Don't change multibyteness of the result by
8070 concatenating an 8-bit character.
8071
8072 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
8073 multibyteness of the result when newelt is an 8-bit character.
8074
73acf815 80752008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8076
8077 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
8078 EMACS_INT.
8079
8080 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
8081
8082 * xfaces.c (face_numeric_value): Declare dim size_t.
8083 (Finternal_lisp_face_equal_p): Remove unused f.
8084
8085 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
8086 (MATRIX_ROW): Remove unused vars.
8087 (draw_glyphs, x_insert_glyphs, fast_find_position)
8088 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
8089 byte/char counts.
8090
8091 * regex.c (regex_compile): Remove unused var.
8092
8093 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
8094
8095 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
8096 (Faccessible_keymaps, where_is_internal): Remove unused vars.
8097
8098 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
8099
8100 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
8101
8102 * fileio.c (Fwrite_region): Remove unused var.
8103
8104 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
8105 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
8106
8107 * composite.c (Fremove_list_of_text_properties): Declare.
8108
1f45f627
GM
8109 * coding.c (inhibit_pre_post_conversion): Remove (unused).
8110 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
aca7a3d2
MB
8111 (coding_inherit_eol_type): Remove unused attrs.
8112 (detect_coding): Cast arg of detect_eol.
8113
8114 * charset.c (syms_of_charset): Remove unused var p.
8115 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
8116 byte/char counts.
8117
8118 * casetab.c (set_case_table): Remove unused var.
8119
8120 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
1f45f627 8121 unused vars.
aca7a3d2 8122
73acf815 81232008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8124
8125 * xterm.c (x_bitmap_mask): Declare.
8126
73acf815 81272008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8128
8129 * xterm.c (x_term_init): Fix type error.
8130
8131 * lisp.h: Add Funibyte_char_to_multibyte.
8132
8133 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
8134 (Fset_coding_system_priority): Doc fix.
8135
aca7a3d2
MB
8136 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
8137
8138 * indent.c (check_composition): Make start and end EMACS_INT.
8139
8140 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
8141
8142 * xdisp.c (handle_composition_prop, check_point_in_composition):
8143 Make buffer positions EMACS_INT.
8144
8145 * composite.c (find_composition, run_composition_function)
8146 (update_compositions, Ffind_composition_internal): Make buffer
8147 positions EMACS_INT.
8148
8149 * composite.h (find_composition, update_compositions): Make
8150 position args EMACS_INT.
8151
1f45f627 8152 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
aca7a3d2
MB
8153
8154 * intervals.c (get_property_and_range):
8155 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
8156
8157 * unexalpha.c: Don't include varargs.h.
8158
73acf815 81592008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8160
8161 * coding.h (ENCODE_UTF_8): New.
8162
8163 * Makefile.in (gtkutil.o): Depend on coding.h.
8164
8165 * coding.c (Fset_coding_system_priority): Doc fix.
8166
73acf815 81672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8168
8169 * fileio.c (Finsert_file_contents): Call setup_coding_system in
8170 the case of auto saving.
8171
73acf815 81722008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2 8173
4c4475a8
GM
8174 * chartab.c (map_char_table, map_char_table_for_charset): Protect
8175 `range' from GC.
aca7a3d2 8176
73acf815 81772008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8178
8179 * coding.c (decode_coding_sjis): Check bytes more rigidly.
8180
73acf815 81812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8182
1f45f627 8183 * fileio.c (choose_write_coding_system): Return a decided coding system.
aca7a3d2
MB
8184 (Fwrite_region): Set Vlast_coding_system_used to the return value
8185 of choose_write_coding_system.
8186
73acf815 81872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8188
8189 * charset.c (Fset_charset_priority): Pay attention to duplicated
8190 arguments.
8191
8192 * coding.c (QCcategory): New variable.
8193 (syms_of_coding): Defsym it. Set all elements of
8194 Vcoding_category_table and their symbol values.
8195 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
8196 coding-category-XXX, and coding-category-list.
8197 (Fdefine_coding_system_internal): Add category in the plist.
8198
73acf815 81992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8200
8201 * callproc.c (Fcall_process): Handle carryover correctly.
8202
1f45f627 8203 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
aca7a3d2
MB
8204 (raw_text_coding_system): Check NILP (coding_system).
8205 (coding_inherit_eol_type): Check NILP (coding_system) and
8206 NILP (parent).
8207 (consume_chars): Fix for the case of raw-text.
8208
8209 * process.c (read_process_output): Handle carryover correctly.
8210
73acf815 82112008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8212
8213 * regex.c (re_search_2): Fix last change.
8214
73acf815 82152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8216
8217 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
8218 target_multibyte. Even in a unibyte case, return a converted
8219 multibyte char.
8220 (GET_CHAR_AFTER): New macro.
8221 (PATFETCH): Translate via multibyte char.
8222 (HANDLE_UNIBYTE_RANGE): Delete this macro.
8223 (SETUP_MULTIBYTE_RANGE): New macro.
8224 (regex_compile): Setup compiled code so that its multibyteness
8225 matches that of a target. Fix the handling of "[X-YZ]" using
8226 SETUP_MULTIBYTE_RANGE.
8227 (analyse_first) <charset>: For filling fastmap for all multibyte
8228 characters, don't check by BASE_LEADING_CODE_P.
8229 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
8230 the same as RE_MULTIBYTE_P (bufp) now.
1f45f627 8231 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
aca7a3d2
MB
8232 (TARGET_CHAR_AND_LENGTH): Delete this macro.
8233 (TRANSLATE_VIA_MULTIBYTE): New macro.
8234 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
8235 It is the same as RE_MULTIBYTE_P (bufp) now.
8236 <exactn>: Translate via multibyte.
8237 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
8238 translate it.
8239 <charset, charset_not>: Fetch a character by
8240 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
8241 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
8242 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
8243 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
8244 by GET_CHAR_AFTER.
c5ad7a3d 8245 (bcmp_translate): Likewise.
aca7a3d2
MB
8246
8247 * search.c (compile_pattern): Check the member target_multibyte,
8248 not the member multibyte of buf.
8249
8250 * lread.c (read1): While reading a string, set force_singlebyte
8251 and force_multibyte correctly.
8252
4c4475a8
GM
8253 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
8254 up of unibyte_to_multibyte_table.
aca7a3d2 8255
73acf815 82562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8257
8258 * coding.c (setup_coding_system): If coding has
8259 post-read-conversion or pre-write-conversion, set
8260 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
8261 respectively.
8262 (decode_coding_gap): Run post-read-conversion if any.
8263
8264 * fileio.c (Finsert_file_contents): Even if we read into a
8265 unibyte buffer, check if we must decode the result or not.
8266
73acf815 82672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8268
8269 * coding.c (make_conversion_work_buffer): Change the work buffer
8270 name to the same one as that of Emacs 21.
8271
73acf815 82722008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8273
1f45f627 8274 * coding.h (make_conversion_work_buffer): Adjust prototype.
aca7a3d2
MB
8275 (code_conversion_restore): Don't extern it.
8276
8277 * coding.c (detected_mask): Delete unused variable.
8278 (decode_coding_iso_2022): Pay attention to the byte sequence of
8279 CTEXT extended segment, and retain those bytes as is.
8280 (decode_coding_ccl): Delete unused variable `valids'.
8281 (setup_coding_system): Delete unused variable `category'.
8282 (consume_chars): Delete unused variable `category'. Make it work
8283 for non-multibyte case.
1f45f627 8284 (make_conversion_work_buffer): Change argument.
aca7a3d2
MB
8285 (saved_coding): Delete unused variable.
8286 (code_conversion_restore): Don't check saved_coding->destination.
8287 (code_conversion_save): New function.
8288 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
8289 instead of record_unwind_protect.
1f45f627 8290 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
aca7a3d2 8291 (detect_coding_system): Delete unused variable `mask'.
1f45f627 8292 (Fdefine_coding_system_internal): Delete unused vaiable id.
aca7a3d2
MB
8293
8294 * fileio.c (kill_workbuf_unwind): New function.
8295 (Finsert_file_contents): On replacing, call
8296 make_conversion_work_buffer with correct args, and call
8297 record_unwind_protect with the first arg kill_workbuf_unwind.
8298
8299 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
8300
73acf815 83012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8302
1f45f627 8303 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
aca7a3d2
MB
8304 (fontset_add): Fix for the case that TO is less than TO1.
8305 (Ffontset_info): Don't use fallback fontset on checking the
8306 default fontset.
8307 (dump_fontset): New function for debugging.
8308
8309 * coding.c (Fdefine_coding_system_internal): Fix for the case that
8310 coding_type is Qcharset.
8311
73acf815 83122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8313
8314 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
8315 (map_char_table): Don't inherit the value from the parent on
1f45f627 8316 initializing VAL. Adjust for the above change.
aca7a3d2 8317
73acf815 83182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8319
8320 * coding.c (Qsignature, Qendian): Delete these variables.
8321 (syms_of_coding): Don't initialize them.
8322 (CATEGORY_MASK_UTF_16_AUTO): New macro.
8323 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
8324 detect_info->found.
8325 (decode_coding_utf_16): Don't detect BOM here.
8326 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
8327 is NOT utf_16_without_bom.
8328 (setup_coding_system): For a coding system of type utf-16, check
8329 if the attribute :endian is Qbig or not (not nil or not), and set
8330 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
8331 (detect_coding): If coding type is utf-16 and BOM detection is
8332 required, detect it.
8333 (Fdefine_coding_system_internal): For a coding system of type
1f45f627 8334 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
aca7a3d2 8335
73acf815 83362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8337
8338 * coding.c (coding_set_source): Fix for the case that the current
8339 buffer is different from coding->src_object.
8340 (decode_coding_object): Don't use the conversion work buffer if
8341 DST_OBJECT is a buffer.
8342
73acf815 83432008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8344
8345 * lread.c (read_emacs_mule_char) [len==2]: Index
8346 emacs_mule_charset correctly.
8347
73acf815 83482008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8349
8350 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
8351 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
1f45f627 8352 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
aca7a3d2
MB
8353 treated specially.)
8354 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
8355 (detected_mask): Remove Big5 bits.
8356
73acf815 83572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8358
8359 The following changes are to make the font rescaling facility
8360 compatible with Emacs 21.
8361
1f45f627 8362 * xfaces.c (Vface_font_rescale_alist): Rename from
aca7a3d2
MB
8363 Vface_resizing_fonts.
8364 (struct font_name): Rename member resizing_ratio to rescale_ratio.
1f45f627 8365 (font_rescale_ratio): Rename from font_resizing_ratio.
aca7a3d2
MB
8366 (split_font_name): Set font->rescale_ratio.
8367 (better_font_p): Pay attention to font->rescale_ratio.
8368 (build_scalable_font_name): Likewise. Change RESX, and RESY
8369 fields.
1f45f627 8370 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
aca7a3d2 8371
73acf815 83722008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8373
8374 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
8375 (Qutf_16_le): Remove these variables.
8376 (syms_of_coding): Don't DEFSYM them.
8377 (decode_coding_utf_16): Fix handling of BOM.
8378 (encode_coding_utf_16): Fix handling of BOM.
8379
73acf815 83802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8381
8382 * fileio.c (Finsert_file_contents): On replacing, before decoding
1f45f627 8383 the file into the work buffer, set point of the work buffer to the end.
aca7a3d2 8384
73acf815 83852008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8386
8387 * coding.c (Fcheck_coding_systems_region): Fix type errors.
8388
73acf815 83892008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8390
8391 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
8392 and fix C types.
8393
73acf815 83942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8395
8396 * xdisp.c (SKIP_GLYPHS): New macro.
8397 (set_cursor_from_row): Pay attention to string display properties.
8398
8399 * category.c (copy_category_entry): Fix for the case that RANGE
8400 is an integer.
8401
8402 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
8403
1f45f627 8404 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
aca7a3d2 8405
73acf815 84062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8407
8408 * charset.c (Fcharset_id_internal): New function.
8409 (syms_of_charset): Defsubr it.
8410
8411 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
8412 with the last arg charset_list acquired from coding.
8413 (Fdefine_coding_system_internal): For ccl-based coding system, fix
8414 the attribute coding_attr_ccl_valids.
8415
8416 * coding.h (enum define_coding_ccl_arg_index): Set the first
8417 member coding_arg_ccl_decoder to coding_arg_max.
8418
1f45f627 8419 * ccl.h (ccl_driver): Adjust prototype.
aca7a3d2
MB
8420
8421 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
8422 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
8423 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
4c4475a8
GM
8424 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
8425 last arg Qnil.
aca7a3d2 8426
73acf815 84272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8428
8429 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
8430 call encode_char.
8431
1f45f627 8432 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
aca7a3d2 8433
73acf815 84342008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 8435
1f45f627 8436 * composite.c (syms_of_composite): Make composition_hash_table weak.
aca7a3d2 8437
73acf815 84382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8439
8440 * dispextern.h (check_face_attributes, generate_ascii_font_name)
8441 (font_name_registry): Don't extern them.
1f45f627 8442 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
aca7a3d2
MB
8443
8444 * fontset.h (Qfontset): Don't extern it.
8445 (new_fontset_from_font_name): Extern it.
8446
8447 * fontset.c: Give 8 extra slots to fontset objects.
8448 (Qfontset_info): New variable.
8449 (syms_of_fontset): Defsym it.
8450 (FONTSET_FALLBACK): New macro.
8451 (fontset_face): Try also the default fontset.
1f45f627
GM
8452 (make_fontset): Realize a fallback fontset from the default fontset.
8453 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
aca7a3d2
MB
8454 using split_font_name_into_vector and build_font_name_from_vector.
8455 (Fset_fontset_font): Access the elements of font_spec by enum
8456 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
8457 name by using split_font_name_into_vector.
8458 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
8459 generate a proper font name from the fontset name. Update
8460 Vfontset_alias_alist.
8461 (n_auto_fontsets): New variable.
8462 (new_fontset_from_font_name): New function.
8463 (Ffont_info): Store the information about fonts generated from the
1f45f627 8464 default fontset in the first extra slot of the returned char-table.
aca7a3d2 8465
1f45f627
GM
8466 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
8467 (font_name_registry): Delete function.
aca7a3d2
MB
8468 (split_font_name_into_vector): New function.
8469 (build_font_name_from_vector): New function.
1f45f627 8470 (font_list): The argument REGISTRY is now a list of registry names.
aca7a3d2
MB
8471 (choose_face_font): If we are choosing an ASCII font, and ATTRS
8472 specifies an explicit font name, return the name as is. Make a
8473 list of registy names.
8474
1f45f627 8475 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
aca7a3d2
MB
8476 of x_new_fontset.
8477 (Fx_create_frame): Don't call x_new_fontset here. Just use
8478 x_list_fonts to check the existence of fonts.
8479
1f45f627 8480 * xterm.h (x_new_fontset): Adjust prototype.
aca7a3d2
MB
8481
8482 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
8483 string. Use new_fontset_from_font_name to create a fontset from a
8484 font name.
8485
1c8658b9
GM
84862008-02-01 Kenichi Handa <handa@m17n.org>
8487
8488 * syntax.c (Vfind_word_boundary_function_table): New name for
8489 Vnext_word_boundary_function_table.
8490 (find-word-boundary-function-table): New name for
8491 next-word-boundary-function-table.
8492
73acf815 84932008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8494
8495 * Makefile.in: Fix some dependencies.
8496
8497 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
8498 set it to nil before returning.
8499
8500 * composite.c (update_compositions): Fix type error.
8501
8502 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
8503
73acf815 85042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8505
8506 * xterm.c (x_new_font): Optimize for the case that the font is
8507 already set for the frame.
8508
73acf815 85092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8510
8511 * chartab.c (char_table_ascii): Check if the char table contents
8512 is sub-char-table or not.
4c4475a8
GM
8513 (char_table_set, char_table_set_range): Fix argument to
8514 char_table_ascii.
aca7a3d2
MB
8515
8516 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
8517 (detect_coding_utf_8, detect_coding_utf_16)
8518 (detect_coding_emacs_mule, detect_coding_iso_2022)
8519 (detect_coding_sjis, detect_coding_big5)
8520 (detect_coding_ccl, detect_coding_charset): Change argument MASK
8521 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
1f45f627 8522 sequence is valid in this coding system. Change callers.
aca7a3d2
MB
8523 (MAX_ANNOTATION_LENGTH): New macro.
8524 (ADD_ANNOTATION_DATA): New macro.
1f45f627
GM
8525 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
8526 ADD_ANNOTATION_DATA. Change the format of annotation data.
aca7a3d2 8527 (ADD_CHARSET_DATA): New macro.
1f45f627 8528 (emacs_mule_char): New argument ID. Change callers.
aca7a3d2
MB
8529 (decode_coding_emacs_mule, decode_coding_iso_2022)
8530 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
8531 Produce charset annotation data in coding->charbuf.
8532 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
8533 to charset annotation data in coding->charbuf.
8534 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
8535 coding->common_flags if the coding system is iso-2022 based and
8536 uses designation.
1f45f627 8537 (produce_composition): Adjust for the new annotation data format.
aca7a3d2
MB
8538 (produce_charset): New function.
8539 (produce_annotation): Handle charset annotation.
8540 (handle_composition_annotation, handle_charset_annotation): New
8541 functions.
8542 (consume_chars): Handle charset annotation. Utilize the above two
8543 functions.
8544 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
8545 buffer, get the deleted text as a string and set
8546 coding->src_object to that string.
8547 (detect_coding, detect_coding_system): Use the new struct
8548 coding_detection_info.
8549
8550 * coding.h (struct coding_detection_info): New structure.
1f45f627 8551 (struct coding_system): Adjust prototype of the member `detector'.
aca7a3d2
MB
8552 (CODING_ANNOTATE_CHARSET_MASK): New macro.
8553
73acf815 85542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8555
8556 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
8557
73acf815 85582008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 8559
1f45f627 8560 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
aca7a3d2
MB
8561 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
8562 to new local and nullify apropos_accumulate before returning.
8563 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
8564
73acf815 85652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8566
8567 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
8568 correctly.
8569
73acf815 85702008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8571
8572 * fns.c (Flanginfo): Call synchronize_system_time_locale.
8573
73acf815 85742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8575
8576 The following changes are to make character composition happen
8577 automatically on displaying.
8578
2a2e8de7 8579 * Makefile.in (lisp, shortlisp): Add composite.elc.
aca7a3d2 8580
1f45f627
GM
8581 * composite.h (Qauto_composed, Vauto_composition_function)
8582 (Qauto_composition_function): Extern them.
aca7a3d2 8583
1f45f627
GM
8584 * composite.c (Vcomposition_function_table)
8585 (Qcomposition_function_table): Delete variables.
8586 (Qauto_composed, Vauto_composition_function)
8587 (Qauto_composition_function): New variables.
aca7a3d2
MB
8588 (run_composition_function): Don't call
8589 compose-chars-after-function.
8590 (update_compositions): Clear `auto-composed' text property.
8591 (compose_chars_in_text): Delete this function.
8592 (syms_of_composite): Staticpro Qauto_composed and
8593 Qauto_composition_function. Declare Vauto_composition_function as
8594 a Lisp variable.
8595
8596 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
8597
8598 * xdisp.c (it_props): Add an entry for Qauto_composed.
8599 (handle_auto_composed_prop): New function.
8600
8601 * xselect.c (selection_data_to_lisp_data): Don't call
8602 compose_chars_in_text.
8603
73acf815 86042008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8605
8606 * keyboard.c (read_char): Modify checking around use of
8607 Vkeyboard_translate_table.
8608
8609 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
8610 and fix C types.
8611
73acf815 86122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8613
4c4475a8
GM
8614 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
8615 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
8616 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
aca7a3d2 8617 the case that the last byte is '\r' correctly.
1f45f627
GM
8618 (decode_coding): Flush out the unprocessed data correctly.
8619 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
aca7a3d2 8620
73acf815 86212008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 8622
f245f2c6
JB
8623 * xterm.c (XTread_socket): Fix changes for defined keysyms.
8624 Add XK_ISO... case.
aca7a3d2
MB
8625 (xaw_scroll_callback): Revert last change.
8626
73acf815 86272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8628
1f45f627 8629 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
aca7a3d2 8630
73acf815 86312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8632
8633 * xfaces.c (Vface_resizing_fonts): New variable.
8634 (struct font_name): New member `resizing_ratio'.
8635 (font_resizing_ratio): New function.
8636 (split_font_name): Set font->resizing_ratio.
8637 (better_font_p): Pay attention to font->resizing_ratio.
8638 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
8639 RESX, and RESY fields.
8640 (try_alternative_families): Try scalable fonts if
8641 Vscalable_fonts_allowed is not Qt.
8642 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
8643
73acf815 86442008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8645
8646 * xterm.c (xaw_scroll_callback): Cast correctly.
8647
73acf815 86482008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8649
8650 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
8651 (lispy_kana_keys): Comment out.
8652 (make_lispy_event) [XK_kana_A]: Comment out.
8653
8654 * xterm.c (xaw_scroll_callback): Cast call_data.
8655 (XTread_socket): Deal with ASCII keysyms.
8656 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
8657
73acf815 86582008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8659
8660 * xterm.c (Vx_keysym_table): New.
8661 (syms_of_xterm): Initialize it.
8662 (XTread_socket): Use it.
8663 From head: Eliminate incorrect optimization that tried to avoid
8664 decoding the output of X*LookupString.
8665 (x_get_font_repertory): Delete charset declaration.
8666
73acf815 86672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8668
1f45f627
GM
8669 * coding.c (detect_coding_charset): If only ASCII bytes are found,
8670 return 0.
aca7a3d2
MB
8671 (Fdefine_coding_system_internal): Setup
8672 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
8673
73acf815 86742008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8675
8676 * coding.c (Fcheck_coding_system): Doc fix.
8677
8678 * editfns.c (Finsert_byte): Return a proper value.
8679
73acf815 86802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8681
8682 * coding.c (decode_coding): Fix args to translate_chars. Pay
8683 attention to Vstandard_translation_table_for_decode.
8684 (encode_coding): Fix args to translate_chars. Pay attention to
8685 Vstandard_translation_table_for_encode.
8686
8687 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
8688 SINGLE_BYTE_CHAR_P.
8689
8690 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
8691 not by SINGLE_BYTE_CHAR_P.
8692
8693 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
8694 SINGLE_BYTE_CHAR_P.
8695
8696 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
8697 SINGLE_BYTE_CHAR_P.
8698
8699 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
8700 by SINGLE_BYTE_CHAR_P.
8701
8702 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
8703 SINGLE_BYTE_CHAR_P.
8704
73acf815 87052008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8706
8707 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
8708
73acf815 87092008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8710
8711 * fns.c (Flanginfo): Fix typo.
8712
8713 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
8714
73acf815 87152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8716
4c4475a8
GM
8717 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
8718 (detect_coding_emacs_mule, detect_coding_iso_2022)
8719 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
8720 incomplete byte sequence. Don't update *mask when correctly detected.
aca7a3d2 8721 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
1f45f627 8722 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
4c4475a8 8723 (detect_coding, detect_coding_system): Adjust for the changes above.
aca7a3d2 8724
73acf815 87252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8726
1f45f627
GM
8727 * character.c (char_string): Rename from
8728 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
8729 (string_char): Rename from string_char.
aca7a3d2 8730
4c4475a8
GM
8731 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
8732 if C is greater than MAX_3_BYTE_CHAR.
8733 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
8734 string_char instead of string_char_with_unification.
aca7a3d2 8735
73acf815 87362008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8737
8738 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
8739
73acf815 87402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8741
1f45f627 8742 * keymap.c (push_key_description): Pay attention to force_multibyte.
aca7a3d2
MB
8743
8744 * regex.c (re_search_2): Fix for the case of unibyte buffer.
8745
73acf815 87462008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8747
8748 * charset.c (define_charset_internal): Rename `supprementary'.
8749
8750 * Makefile.in (lisp, shortlisp): Remove latin-N.
8751
73acf815 87522008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8753
8754 * xfns.c (x_window, x_window): Use use_xim.
8755
8756 * xterm.c (use_xim): Initialize.
8757 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
8758 (x_term_init): Maybe set use_xim.
8759
8760 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
8761
73acf815 87622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8763
8764 * search.c (search_buffer): Fix case-fold-search of multibyte
8765 characters.
8766 (boyer_moore): Rename the last argument to char_high_bits.
8767
73acf815 87682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8769
8770 * xdisp.c (display_string): Fix for the case of zero width glyph.
8771
8772 * xfns.c (x_set_font): Change the error message of the case that
8773 x_new_fontset returns Qt.
8774
8775 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
8776 (Finternal_set_lisp_face_attribute): Use signal_error for the
8777 error of invalid fontset.
8778
8779 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
8780 fontset, return Qt.
8781
73acf815 87822008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 8783
aca7a3d2
MB
8784 * unexelf.c (unexec): Make .got handling not SGI-specific.
8785
8786 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
8787
8788 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
8789
8790 * keyboard.c (read_key_sequence): Fix type error.
8791
8792 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
8793 type error.
8794
8795 * fontset.c (fontset_add): Return Lisp_Object.
8796
73acf815 87972008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8798
8799 * charset.h (charset_ordered_list_tick): Declare extern.
8800
73acf815 88012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8802
73acf815 8803 The following changes (and some of 2008-02-01 changes of mine) are
aca7a3d2
MB
8804 for handling syntax, category, and case conversion for unibyte
8805 characters by converting them to multibyte on the fly. With these
8806 changes, we don't have to setup syntax and case tables for unibyte
8807 characters in each language environment.
8808
8809 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
8810 multibyte if necessary.
8811
8812 * bytecode.c (Fbyte_code): Likewise.
8813
8814 * character.h (LEADING_CODE_LATIN_1_MIN)
8815 (LEADING_CODE_LATIN_1_MAX): New macros.
8816 (unibyte_to_multibyte_table): Extern it.
8817 (unibyte_char_to_multibyte): New macro.
8818 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
8819 (CHAR_LEADING_CODE): New macro.
8820 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
8821
8822 * character.c (unibyte_to_multibyte_table): New variable.
1f45f627 8823 (unibyte_char_to_multibyte): Move to character.h and define as macro.
aca7a3d2
MB
8824 (multibyte_char_to_unibyte): If C is an eight-bit character,
8825 convert it to the corresponding byte value.
8826
8827 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
8828 not 1, singals an error. Update the elements of
8829 unibyte_to_multibyte_table.
8830 (init_charset_once): Initialize unibyte_to_multibyte_table.
8831 (syms_of_charset): Define the charset `iso-8859-1'.
8832
aca7a3d2
MB
8833 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
8834 as is without converting it to unibyte. In a unibyte buffer,
8835 convert C to multibyte before checking the syntax.
8836
1f45f627 8837 * lisp.h (unibyte_char_to_multibyte): Delete extern.
aca7a3d2
MB
8838
8839 * minibuf.c (Fminibuffer_complete_word): Use the macro
8840 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
8841
8842 * regex.h (struct re_pattern_buffer): New member target_multibyte.
8843
8844 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
8845 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
8846 that is zero, convert an eight-bit char to multibyte.
8847 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
8848 non-emacs case.
8849 (PATFETCH): Convert an eight-bit char to multibyte.
8850 (HANDLE_UNIBYTE_RANGE): New macro.
8851 (regex_compile): Setup the compiled pattern for multibyte chars
8852 even if the given regex string is unibyte. Use PATFETCH_RAW
8853 instead of PATFETCH in many places. To handle `charset'
c5ad7a3d 8854 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
aca7a3d2 8855 only for ASCII chars.
1f45f627 8856 (analyse_first) <exactn>: Simplify because the compiled pattern
aca7a3d2
MB
8857 is multibyte.
8858 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
8859 <charset>: Use CHAR_LEADING_CODE to get leading codes.
1f45f627 8860 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
aca7a3d2
MB
8861 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
8862 multibyte always 1.
8863 (re_search_2): In emacs, set the locale variable multibyte to 1,
8864 otherwise to 0. New local variable target_multibyte. Check it
8865 to decide the multibyteness of STR1 and STR2. If
8866 target_multibyte is zero, convert unibyte chars to multibyte
8867 before translating and checking fastmap.
8868 (TARGET_CHAR_AND_LENGTH): New macro.
8869 (re_match_2_internal): In emacs, set the locale variable multibyte
8870 to 1, otherwise to 0. New local variable target_multibyte. Check
8871 it to decide the multibyteness of STR1 and STR2. Use
8872 TARGET_CHAR_AND_LENGTH to fetch a character from D.
8873 <charset, charset_not>: If multibyte is nonzero, check fastmap
c5ad7a3d 8874 only for ASCII chars. Call bcmp_translate with
aca7a3d2
MB
8875 target_multibyte, not with multibyte.
8876 <begline>: Declare the local variable C as `unsigned'.
8877 (bcmp_translate): Change the last arg name to target_multibyte.
8878
8879 * search.c (compile_pattern_1): Don't adjust the multibyteness of
8880 the regexp pattern and the matching target. Set cp->buf.multibyte
8881 to the multibyteness of the regexp pattern. Set
1f45f627 8882 cp->but.target_multibyte to the multibyteness of the matching target.
aca7a3d2
MB
8883 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
8884 FETCH_STRING_CHAR_ADVANCE.
8885 (Freplace_match): Convert unibyte chars to multibyte.
8886
4c4475a8
GM
8887 * syntax.c (char_quoted, back_comment, scan_words)
8888 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
8889 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
aca7a3d2 8890 unibyte chars to multibyte.
1f45f627
GM
8891 (skip_chars): Delete the arg syntaxp, and move the code for
8892 handling syntaxes to skip_syntaxes. Change callers.
aca7a3d2
MB
8893 Fix the case that the multibyteness of STRING and the current
8894 buffer doesn't match.
8895 (skip_syntaxes): New function.
8896 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
8897 SINGLE_BYTE_CHAR_P.
aca7a3d2 8898
73acf815 88992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8900
8901 * xfaces.c (QCfontset): New variable.
8902 (LFACE_FONTSET): New macro.
8903 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
8904 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
4c4475a8
GM
8905 (Finternal_set_lisp_face_attribute)
8906 (Finternal_get_lisp_face_attribute): Handle QCfontset.
aca7a3d2
MB
8907 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
8908 check also LFACE_FONTSET_INDEX.
8909 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
8910 attrs[LFACE_FONT_INDEX].
8911 (syms_of_xfaces): Intern and staticpro QCfontset.
8912
8913 * dispextern.h (enum lface_attribute_index): New member
8914 LFACE_FONTSET_INDEX.
8915
8916 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
8917
73acf815 89182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8919
8920 * coding.c (coding_set_destination): Fix coding->destination for
8921 the case converting a region.
8922 (encode_coding_utf_8): Encode eight-bit chars as single byte.
8923 (encode_coding_object): Fix coding->dst_pos and
8924 coding->dst_pos_byte for the case converting a region.
8925
8926 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
8927
8928 * character.h (BYTE8_STRING): New macro.
8929
8930 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
8931
73acf815 89322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8933
8934 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
8935 characters by octal form.
8936
8937 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
8938
1f45f627 8939 * buffer.h (_fetch_multibyte_char_len): Delete extern.
4c4475a8
GM
8940 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
8941 _fetch_multibyte_char_len.
aca7a3d2
MB
8942 (FETCH_CHAR_AS_MULTIBYTE): New macro.
8943
1f45f627 8944 * casetab.c (set_canon, set_identity, shuffle): Simplify.
aca7a3d2 8945
1f45f627 8946 * casefiddle.c (casify_object): Simplify. Handle the case that
aca7a3d2 8947 the case conversion change the byte length.
1f45f627 8948 (casify_region): Likewise.
aca7a3d2 8949
1f45f627 8950 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
aca7a3d2 8951
1f45f627 8952 * character.c (_fetch_multibyte_char_len): Delet this variable.
aca7a3d2
MB
8953 (syms_of_character): Setup Vprintable_chars.
8954
8955 * editfns.c (Fchar_equal): Fix for the unibyte case.
8956 (Finsert_byte): New function.
8957 (syms_of_editfns): Defsubr it.
8958
8959 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
8960 of direct code 0x3ffff.
8961
8962 * search.c (Freplace_match): Fix for the unibyte case.
8963
73acf815 89642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8965
8966 * lread.c (safe_to_load_p): Fix the logic.
8967
8968 * syntax.c (scan_words): Don't treat characters belonging to
8969 different scripts as constituting a word.
8970
8971 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
8972
1f45f627 8973 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
aca7a3d2
MB
8974
8975 * emacs.c (main): In the case of --unibyte, instead of aborting on
8976 finding non-empty buffer, make it unibyte.
8977
73acf815 89782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8979
8980 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
8981 to create a fontset.
8982
73acf815 89832008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8984
8985 * character.c (Funibyte_char_to_multibyte): Doc fix.
8986
8987 * xfns.c [HAVE_STDLIB_H]: Fix last change.
8988
73acf815 89892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8990
8991 * fontset.c (fontset_add): Make the type `int'.
8992 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
8993
4c4475a8
GM
8994 * character.c (unibyte_char_to_multibyte)
8995 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
aca7a3d2 8996 charset_unibyte, not charset_primary.
aca7a3d2 8997
1f45f627 8998 * charset.h (charset_unibyte): Extern it instead of charset_primary.
aca7a3d2 8999
1f45f627
GM
9000 * charset.c (charset_unibyte): Rename from charset_primary.
9001 (Funibyte_charset): Rename from Fprimary_charset.
9002 (Fset_unibyte_charset): Rename from Fset_primary_charset.
9003 (syms_of_charset): Adjust for the above changes.
aca7a3d2
MB
9004
9005 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
9006 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
9007 it->multibyte_p is zero.
9008
9009 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
1f45f627 9010 Delete extern.
aca7a3d2 9011
73acf815 90122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9013
9014 * coding.c (Fdefine_coding_system_internal): Fix category setting
9015 for a coding system of type iso-2022.
9016
73acf815 90172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9018
1f45f627 9019 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
aca7a3d2 9020
73acf815 90212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9022
9023 * syntax.c (Vnext_word_boundary_function_table): New variable.
1c8658b9
GM
9024 (next-word-boundary-function-table): Declare it as a Lisp variable
9025 in syms_of_syntax.
aca7a3d2
MB
9026 (scan_words): Call functions in Vnext_word_boundary_function_table
9027 if any.
9028
9029 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
9030
9031 * fontset.c (fs_load_font): If fontp->charset is not negative,
9032 return fontp without setting its members.
9033
73acf815 90342008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 9035
aca7a3d2
MB
9036 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
9037
9038 * m/sparc.h (HAVE_ALLOCA): Delete.
9039
9040 * s/irix6-5.h: Don't include strings.h.
9041 (bcopy, bzero, bcmp): Don't undef.
9042
9043 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
9044
9045 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
9046 (TIOCSIGSEND): Don't test IRIX6.
9047 (bcopy, bzero, bcmp): Define conditionally.
9048
73acf815 90492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9050
9051 * buffer.c (Qas, Qmake, Qto): New variables.
1f45f627 9052 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
aca7a3d2
MB
9053 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
9054
9055 * callproc.c (Fcall_process): Don't call insert_1_both directly if
9056 we are inserting a process output into a multibyte buffer.
9057
9058 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
9059 multibyte_char_to_unibyte.
9060
9061 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
9062 by the primary charset, make it eight-bit char.
9063 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
9064
1f45f627
GM
9065 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
9066 (charset_8_bit__control, charset_8_bit_graphic)
9067 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
aca7a3d2
MB
9068 (define_charset_internal): New function.
9069 (syms_of_charset): Call define_charset_internal for pre-defined
9070 charsets.
9071
9072 * charset.h (charset_8_bit): Extern it.
9073
1f45f627 9074 * coding.c (make_conversion_work_buffer): Adjust for the change
aca7a3d2
MB
9075 of Fset_buffer_multibyte.
9076 (encode_coding_raw_text): Increment p0 in the loop.
9077
1f45f627 9078 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
aca7a3d2 9079
1f45f627 9080 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
aca7a3d2
MB
9081 for the change of Fset_buffer_multibyte.
9082
9083 * fns.c (Fstring_to_multibyte): New function.
9084 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
9085
73acf815 90862008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9087
9088 * xfns.c (x_put_x_image): Declare args.
9089
1f45f627 9090 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
aca7a3d2
MB
9091 (try_font_list): Declare an arg.
9092
9093 * xdisp.c (message2_nolog, set_message): Declare an arg.
9094
9095 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
9096
9097 * syntax.c (scan_sexps_forward): Declare an arg.
9098
9099 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
9100 Declare an arg.
9101
9102 * lisp.h (Fnew_fontset): Declare.
9103
9104 * keymap.c (push_key_description): Call CHARACTERP correctly.
9105
1f45f627 9106 * fontset.c (fontset_add): Declare args. Call make_number correctly.
aca7a3d2
MB
9107 (face_for_char): Delete unused vars.
9108 (Fset_fontset_font): Doc fix. Delete unused vars.
9109
9110 * doc.c (Fsubstitute_command_keys): Delete unused vars.
9111
9112 * composite.c (update_compositions): Declare arg.
9113
9114 * cm.c (calccost, cmgoto): Declare args.
9115
9116 * charset.c: Remove `emacs' conditional. Doc fixes.
9117 (map_char_table_for_charset): Declare.
9118
1f45f627 9119 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
aca7a3d2 9120
1f45f627 9121 * ccl.c: Remove `emacs' conditional.
aca7a3d2 9122
73acf815 91232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9124
9125 The following changes are to allow specifying multiple font
9126 patterns for a character range (specified by script or charset).
9127
9128 * Makefile.in (abbrev.o): Depend on syntax.h.
9129 (xfaces.o): Depend on charset.h.
9130
9131 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
9132 SINGLE_BYTE_CHAR_P.
9133
9134 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
9135
9136 * character.h (Vchar_script_table): Extern it.
9137
1f45f627 9138 * character.c (Vscript_alist): Delete.
aca7a3d2
MB
9139 (Vchar_script_table, Qchar_script_table): New variable.
9140 (syms_of_character): Declare Vchar_script_table as a lisp variable
9141 and initialize it.
9142
1f45f627 9143 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
aca7a3d2
MB
9144 have property char-table-extra-slots, make no extra slot.
9145
1f45f627 9146 * dispextern.h (struct face): Delete member `charset'.
4c4475a8
GM
9147 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
9148 SINGLE_BYTE_CHAR_P.
1f45f627
GM
9149 (choose_face_font, lookup_non_ascii_face, font_name_registry):
9150 Add prototypes.
9151 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
9152 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
9153
9154 * fontset.h (get_font_repertory_func): New prototype.
1f45f627 9155 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
aca7a3d2
MB
9156 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
9157
9158 * fontset.c (Qprepend, Qappend): New variables.
1f45f627 9159 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
aca7a3d2
MB
9160 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
9161 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
9162 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
9163 (fontset_ref_and_range, fontset_add, reorder_font_vector)
9164 (load_font_get_repertory): New functions.
1f45f627 9165 (fontset_set): Delete.
aca7a3d2 9166 (fontset_face): New arg FACE. Return face ID, not face.
1f45f627 9167 Complete re-write to handle new fontset structure. Change caller.
aca7a3d2
MB
9168 (free_face_fontset): Use ASET istead of AREF (X) = Y.
9169 (face_for_char): Don't call lookup_face.
9170 (make_fontset_for_ascii_face): New arg FACE.
9171 (fs_load_font): New arg CHARSET_ID. Don't check
9172 Vfont_encoding_alist here.
9173 (find_font_encoding): New function.
9174 (list_fontsets): Use STRINGP, not ! NILP.
9175 (accumulate_script_ranges): New function.
9176 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
9177 re-written to handle new fontset structure.
9178 (Ffontset_font): Return a copy of element.
9179 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
9180 docstring of font-encoding-alist.
9181
9182 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
9183 (Fset_fotset_font): Fix arguments to 5.
9184
1f45f627 9185 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
aca7a3d2
MB
9186
9187 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
9188 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
1f45f627 9189 (highlight_trailing_whitespace): Adjust for the change of
aca7a3d2
MB
9190 lookup_named_face.
9191
9192 * xfaces.c: Include charset.h.
1f45f627
GM
9193 (load_face_font): Delete argument C. Change caller.
9194 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
9195 (font_name_registry): New function.
9196 (cache_face): Store ascii faces before non-ascii faces in buckets.
1f45f627 9197 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
aca7a3d2
MB
9198 Lookup only ascii faces.
9199 (lookup_non_ascii_face): New function.
1f45f627
GM
9200 (lookup_named_face): Delete argument C. Change caller.
9201 (lookup_derived_face): Delete argument C. Change caller.
9202 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
aca7a3d2 9203 a string, just call font_list with it.
1f45f627
GM
9204 (choose_face_font): Delete arguments FACE and C. New arg
9205 FONT_SPEC. Change caller.
4c4475a8
GM
9206 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
9207 Change caller.
aca7a3d2
MB
9208 (realize_non_ascii_face): New function.
9209 (realize_x_face): Call load_face_font here.
1f45f627 9210 (realize_tty_face): Delete argument C. Change caller.
aca7a3d2
MB
9211 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
9212 get a face ID.
9213 (dump_realized_face): Don't print charset of FACE.
9214
9215 * xfns.c (x_set_font): Always call x_new_fontset and
9216 store_frame_parameter.
9217 (Fx_create_frame): Call x_new_fontset, not x_new_font.
1f45f627 9218 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
aca7a3d2
MB
9219
9220 * xterm.h (x_get_font_repertory): Extern it.
9221
9222 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
9223 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
9224 it->multibyte_p is zero.
9225 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
9226 (x_new_fontset): If FONTSETNAME doesn't match any existing
9227 fontsets, create a new one.
9228 (x_get_font_repertory): New function.
9229
73acf815 92302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9231
9232 * coding.c (Ffind_coding_systems_region_internal): Detect an
9233 ASCII only string correctly.
9234
9235 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
9236 version is 0.
9237
73acf815 92382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9239
9240 * lread.c: Include "coding.h".
1f45f627
GM
9241 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
9242 (load_each_byte, unread_char): New variables.
9243 (readchar_backlog): Delete.
aca7a3d2
MB
9244 (readchar): Return a character unless load_each_byte is nonzero.
9245 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
9246 cons. If unread_char is not -1, simply return it.
9247 (unreadchar): Handle the case that readcharfun is
1f45f627
GM
9248 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
9249 (read_multibyte): Delete.
aca7a3d2
MB
9250 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
9251 (read_emacs_mule_char): New functions.
9252 (Fload): Even if the file doesn't have the extention ".elc", if
9253 safe_to_load_p returns a positive version number, assume that the
9254 file contains bytecompiled code. If the version is less than 22,
9255 load the file while decoding multibyte sequences by emacs-mule.
9256 (readevalloop): Don't use readchar_backlog.
1f45f627
GM
9257 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
9258 (Fread_from_string): Pay attention to the case that STREAM is a cons.
9259 (read_escape): Delete the arg BYTEREP.
aca7a3d2
MB
9260 (read1): Set load_each_byte to 1 temporarily while handling
9261 #@NUMBER. Don't call read_multibyte.
9262 (read_vector): Call Fread with a cons. If readcharfun is
9263 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
1f45f627 9264 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
aca7a3d2
MB
9265 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
9266 and Qload_force_doc_strings.
9267
73acf815 92682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9269
9270 * xdisp.c (face_before_or_after_it_pos): Call
9271 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
9272
73acf815 92732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9274
9275 * character.h (TRAILING_CODE_P): New macro.
1f45f627 9276 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
aca7a3d2
MB
9277 (string_char_with_unification): Fix prototype.
9278 (Vscript_alist): Extern it.
9279
9280 * character.c (Vscript_alist): New variable.
4c4475a8
GM
9281 (string_char_with_unification, str_as_unibyte)
9282 (string_escape_byte8): Add `const' to local variables.
aca7a3d2
MB
9283 (syms_of_character): Declare script-alist as a Lisp variable.
9284
9285 * charset.h (Vcharset_ordered_list): Extern it.
9286 (charset_ordered_list_tick): Extern it.
9287 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
9288 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
9289 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
1f204af3 9290 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
1f45f627 9291 (Funify_charset): Adjust for the change of Funify_charset.
aca7a3d2
MB
9292
9293 * charset.c (charset_ordered_list_tick): New variable.
9294 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
9295 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
9296 deunify intead of unify a charset.
9297 (string_xstring_p): Add `const' to local variables.
1f45f627
GM
9298 (find_charsets_in_text): Add `const' to arguemnts and local variables.
9299 (encode_char): Adjust for the change of Funify_charset. Fix
aca7a3d2
MB
9300 detecting of invalid code.
9301 (Fset_charset_priority): Increment charset_ordered_list_tick.
9302 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
9303 and TO_CODE.
9304
9305 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
1f45f627
GM
9306 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
9307 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
4c4475a8
GM
9308 (decode_coding_ccl, consume_chars)
9309 (Ffind_coding_systems_region_internal)
9310 (Fcheck_coding_systems_region): Add `const' to local variables.
aca7a3d2
MB
9311
9312 * print.c (print_object): Use octal form for printing the
9313 contents of a bool vector.
9314
73acf815 93152008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9316
9317 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
9318 <version == 20>: Refuse to load.
9319
73acf815 93202008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9321
9322 * fns.c: Move coding.h.
9323 (Qcodeset, Qdays, Qmonths): New.
9324 (concat): Use CHARACTERP instead of INTERGERP.
1f45f627 9325 (Flocale_codeset): Delete.
aca7a3d2 9326 (Flanginfo): New function.
1f45f627 9327 (syms_of_fns): Change accordingly.
aca7a3d2
MB
9328
9329 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
9330
73acf815 93312008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9332
9333 * casetab.c (init_casetab_once, init_casetab_once): Fix
9334 CHAR_TABLE_SET call.
9335
9336 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
9337
9338 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
9339
9340 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
9341 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
9342 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
9343
9344 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
9345
9346 * coding.c (ENCODE_DESIGNATION, decode_eol)
9347 (make_conversion_work_buffer, code_conversion_restore)
9348 (Fdefine_coding_system_internal): Convert Lisp types.
9349 (code_conversion_restore): Use EQ, not ==.
9350 (Fencode_coding_string): Fix code_convert_string call.
9351
9352 * coding.h (code_convert_region): Fix prototype.
9353
1f45f627 9354 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
aca7a3d2
MB
9355
9356 * fontset.c (fontset_ref, fontset_set, fs_load_font)
9357 (Ffontset_info): Convert Lisp types.
9358
9359 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
9360
9361 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
9362
9363 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
9364
9365 * chartab.c: Include "...h", not <...h> in some cases.
9366
9367 * callproc.c (Fcall_process): Remove unused variables.
9368
73acf815 93692008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9370
9371 * coding.c (Fset_coding_system_priority): Allow null arg list.
9372
73acf815 93732008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9374
9375 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
9376 (Fself_insert_and_exit): Use CHARACTERP.
9377
9378 * callproc.c (Fcall_process): Remove unused vars.
9379
9380 * xterm.c (XTread_socket): Add extra dead keysyms.
9381
9382 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
9383
9384 * dispextern.h: Remove prototypes for redraw_frame,
9385 redraw_garbaged_frames.
9386
9387 * cmds.c (Fself_insert_command): Use CHARACTERP.
9388
9389 * chartab.c (make_sub_char_table): Remove unused var.
9390 (Fset_char_table_default, Fmap_char_table): Doc fix.
9391
9392 * keymap.c (access_keymap): Remove generic char code.
9393 (push_key_description): Use CHARACTERP.
9394
73acf815 93952008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9396
9397 * charset.c: Doc fixes.
9398 (Funify_charset): Extra checking.
9399
73acf815 94002008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9401
9402 * lread.c: Remove some unused variables.
9403 (safe_to_load_p): If safe, return the magic number version byte.
9404 (Fload): Maybe use load-with-code-conversion.
9405
73acf815 94062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9407
9408 * category.c (Fmodify_category_entry): Don't modify the contents
9409 of category_set for characters out of the range. Avoid
9410 unnecessary modification.
9411
1f45f627 9412 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
aca7a3d2
MB
9413 Vchar_unify_table. The default value of the table is now nil.
9414
9415 * character.c (syms_of_character): Setup Vchar_width_table for
9416 eight-bit-control and raw-byte chars.
9417
9418 * charset.h (enum define_charset_arg_index): Delete
9419 charset_arg_parents and add charset_arg_subset and
9420 charset_arg_superset.
9421 (enum charset_attr_index): Delete charset_parents and add
9422 charset_subset and charset_superset.
9423 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
9424 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
1f45f627 9425 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
aca7a3d2
MB
9426 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
9427 (CHARSET_SUPERSET): New macros.
9428 (charset_work): Extern it.
9429 (ENCODE_CHAR): Use charset_work.
1f45f627 9430 (CHAR_CHARSET_P): Adjust for the change of encoder format.
aca7a3d2
MB
9431 (map_charset_chars): Extern it.
9432
9433 * charset.c (load_charset_map): Set the default value of encoder
9434 and deunifier char-tables to nil.
1f45f627 9435 (map_charset_chars): Change argument. Change callers. Use
aca7a3d2
MB
9436 map_char_table_for_charset instead of map_char_table.
9437 (Fmap_charset_chars): New optional args from_code and to_code.
1f45f627 9438 (Fdefine_charset_internal): Adjust for the change of
aca7a3d2
MB
9439 `define-charset' (:parents -> :subset or :superset).
9440 (charset_work): New variable.
4c4475a8
GM
9441 (encode_char, syms_of_charset): Adjust for the change of
9442 Fdefine_charset_internal.
aca7a3d2
MB
9443 (Ffind_charset_string): Setup the vector `charsets' correctly.
9444
1f45f627 9445 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
aca7a3d2 9446 the previous change.
1f45f627 9447 (char_table_ref_and_range): Adjust for the above change.
aca7a3d2
MB
9448 (map_sub_char_table_for_charset): New function.
9449 (map_char_table_for_charset): New function.
9450
9451 * keymap.c (describe_vector): Handle a char-table directly here.
1f45f627 9452 (describe_char_table): Delete.
aca7a3d2 9453
1f45f627 9454 * lisp.h (map_charset_chars): Delete.
aca7a3d2 9455
73acf815 94562008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9457
9458 * fns.c (count_combining): Comment out (unused).
9459 (Flocale_codeset): New.
9460 (syms_of_fns): Defsubr it.
9461
9462 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
1f45f627 9463 (size_t): Remove.
aca7a3d2 9464
73acf815 94652008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 9466
6f69e89b 9467 * Makefile.in (chartab.o): Depend on charset.h.
aca7a3d2 9468
73acf815 94692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9470
9471 * character.c (syms_of_character): Set the default value of
9472 Vprintable_chars to Qnil.
9473
73acf815 94742008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9475
9476 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
9477
73acf815 94782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9479
9480 * charset.c (load_charset_map): Handle the case that from < to
9481 correctly.
9482
4c4475a8
GM
9483 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
9484 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
9485 Pay attention to raw-8-bit chars.
aca7a3d2 9486
73acf815 94872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9488
4c4475a8
GM
9489 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
9490 It is not bytecompiled now.
aca7a3d2
MB
9491
9492 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
9493 (charset_jisx0208): New variables.
9494 (Fdefine_charset_internal): Setup them if appropriate.
9495 (init_charset_once): Initialize them to -1.
9496
1f45f627
GM
9497 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
9498 (charset_jisx0208): Extern them.
aca7a3d2 9499
1f204af3 9500 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
aca7a3d2 9501 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
1f45f627
GM
9502 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
9503 (setup_iso_safe_charsets): Fix arguments to Fassq.
4c4475a8
GM
9504 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
9505 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
9506 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
aca7a3d2
MB
9507 (encode_coding_iso_2022): Change the 1st arg to
9508 ENCODE_ISO_CHARACTER to a variable.
9509
73acf815 95102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9511
9512 * charset.h (enum define_charset_arg_index): New enums
9513 charset_arg_min_code and charset_arg_max_code.
9514 (struct charset): New member char_index_offset.
9515
4c4475a8
GM
9516 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
9517 Take charset->char_index_offset into account.
aca7a3d2
MB
9518 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
9519 args[charset_arg_max_code]. Setup charset.char_index_offset.
9520 (syms_of_charset): Fix args to Fdefine_charset_internal.
9521
73acf815 95222008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9523
9524 * coding.c (decode_coding_utf_8): Reject overlong sequences.
9525
73acf815 95262008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9527
9528 * coding.c: Doc fixes.
9529 (Fcoding_system_aliases): Fix return value.
9530 (Qmac): Remove (duplicated) definition.
9531
73acf815 95322008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9533
9534 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
9535 functions.
9536
9537 * character.c (Fstring): Doc fix.
9538
9539 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
9540
9541 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
9542 ids.
9543 (font-encoding-alist): Doc fix.
9544
73acf815 95452008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9546
9547 * term.c (costs_set): Declare static, non-initialized for pcc.
1f45f627 9548 (encode_terminal_code): Remove unused var.
aca7a3d2
MB
9549
9550 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
9551 for K&R.
9552
9553 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
9554
9555 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
1f45f627 9556 (suffixes): Move out of make_subsidiaries for K&R.
aca7a3d2 9557
1f45f627 9558 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
aca7a3d2
MB
9559
9560 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
9561
73acf815 95622008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9563
9564 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
9565
1f45f627 9566 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
aca7a3d2 9567
2a2e8de7 95682008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2
MB
9569
9570 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
9571
1f45f627 9572 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
aca7a3d2 9573
73acf815 95742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9575
4c4475a8 9576 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
aca7a3d2 9577 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
aca7a3d2 9578
73acf815 95792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9580
1f45f627 9581 * coding.c (decode_coding_charset): Adjust for the change of
aca7a3d2
MB
9582 Fdefine_coding_system_internal.
9583 (Fdefine_coding_system_internal): For a coding system of
9584 `charset' type, store a list of charset IDs in
9585 `charset_attr_charset_valids' element of coding attributes.
9586
73acf815 95872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9588
9589 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
1f45f627
GM
9590 (emacs_mule_char): New arg src. Delete arg `composition'. Change
9591 caller. Handle 2-byte and 3-byte charsets correctly.
9592 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
9593 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
aca7a3d2
MB
9594 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
9595 (DECODE_EMACS_MULE_21_COMPOSITION): Call
9596 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
9597 sequence.
9598 (decode_coding_emacs_mule): Handle composition correctly. Rewind
1f45f627 9599 `src' and `consumed_chars' correctly before calling emacs_mule_char.
aca7a3d2
MB
9600 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
9601 and alt&rule composition.
9602 (decode_coding_iso_2022): Handle composition correctly.
9603 (init_coding_once): Setup emacs_mule_bytes for private charsets.
9604
9605 * charset.c (Fdefine_charset_internal): Fix bug for the case of
9606 re-defining a charset. If the charset has :emacs-mule-id, setup
9607 emacs_mule_bytes.
1f45f627 9608 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
aca7a3d2 9609
73acf815 96102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9611
4c4475a8
GM
9612 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
9613 (encode_coding_big5, encode_coding_charset): If coding requires safe
aca7a3d2
MB
9614 encoding, produce a character specified by
9615 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
aca7a3d2 9616
73acf815 96172008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9618
9619 * xterm.c (XSetIMValues): Declare.
9620
9621 * process.c: Conditionally include sys/wait.h, pty.h.
9622
1f45f627 9623 * print.c (print_object): Fix print format for 64-bit systems.
aca7a3d2 9624
1f45f627 9625 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
aca7a3d2
MB
9626
9627 * buffer.c (emacs_strerror): Declare.
aca7a3d2
MB
9628
9629 * fontset.c (Fclear_face_cache): Declare.
1f45f627 9630 (accumulate_font_info): Comment-out (unused).
aca7a3d2
MB
9631 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
9632 variables.
9633
9634 * character.h (string_escape_byte8): Declare.
9635
9636 * charset.c (load_charset_map, load_charset_map_from_file): Remove
9637 unused vars.
9638 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
9639 (Fmap_charset_chars): Doc fix.
9640
1f45f627 9641 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
aca7a3d2
MB
9642 (Fset_coding_system_priority, Fset_coding_system_priority)
9643 (Fdefine_coding_system_internal): Doc fix.
9644
73acf815 96452008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9646
9647 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
9648
73acf815 96492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9650
9651 * character.c (string_escape_byte8): Make multibyte string with
9652 correct size.
9653
9654 * charset.c (Fmake_char): Delete unnecessary code.
9655
73acf815 96562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9657
9658 * xfns.c (x_encode_text): Allocate coding.destination here, and
9659 call encode_coding_object with dst_object Qnil.
9660
9661 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
9662 multibyte form correctly.
9663
9664 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
9665 against Vfont_encoding_alist.
9666
9667 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
9668 handling of charset list.
9669 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
9670 (decode_coding_object): Move point to coding->dst_pos before
9671 calling post-read-conversion function.
9672 (encode_coding_object): Give correct arguments to
9673 pre-write-conversion. Ignore the return value of
9674 pre-write-conversion function. Pay attention to the case that
9675 pre-write-conversion changes the current buffer. If dst_object is
9676 Qt, even if coding->src_bytes is zero, allocate at least one byte
9677 to coding->destination.
9678
9679 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
9680
9681 * charset.c (Fmake_char): Make it more backward compatible.
9682 (Fmap_charset_chars): Fix docstring.
9683
73acf815 96842008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9685
9686 * coding.c: Doc fixes.
9687 (Fdefine_coding_system_alias): Use names, not symbols, in
9688 coding-system-alist.
9689
73acf815 96902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9691
9692 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
9693 of calling free_realized_face.
9694
2a2e8de7 96952008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2 9696
1f45f627
GM
9697 * charset.c (read_hex): Don't treat SPC as a comment starter.
9698 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return -1.
aca7a3d2
MB
9699 (Fdecode_char): Fix typo.
9700
73acf815 97012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9702
9703 * charset.h (struct charset): New member `code_space_mask'.
9704
1f45f627 9705 * coding.c (coding_set_source): Delete the local variable beg_byte.
4c4475a8
GM
9706 (encode_coding_charset, Fdefine_coding_system_internal):
9707 Delete the local variable charset.
aca7a3d2
MB
9708 (Fdefine_coding_system_internal): Setup
9709 attrs[coding_attr_charset_valids] correctly.
9710
9711 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
9712 member to check if CODE is valid or not.
9713 (Fdefine_charset_internal): Initialize `code_space_mask' member.
9714 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
9715 is within the range of charset->min_code and carset->max_code.
9716
73acf815 97172008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9718
9719 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
9720
9721 * dispextern.h (generate_ascii_font): Fix return type.
9722
9723 * xfaces.c (generate_ascii_font): Fix arg declaration.
9724
9725 * coding.c (coding_inherit_eol_type)
9726 (Fset_terminal_coding_system_internal)
9727 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
9728
73acf815 97292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9730
9731 * coding.c (decode_coding_charset, encode_coding_charset): Handle
9732 multiple charsets correctly.
9733
73acf815 97342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9735
9736 * search.c (boyer_moore): Fix handling of mulitbyte character
9737 translation.
9738
9739 * xdisp.c (display_mode_element): When the variable `elt' is
9740 changed, update `this' and `lisp_string'.
9741
73acf815 97422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9743
9744 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
9745
9746 * callproc.c (Fcall_process): Be sure to give the current buffer
1f45f627 9747 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
aca7a3d2
MB
9748
9749 * charset.c (struct charset_map_entries): New struct.
1f45f627
GM
9750 (load_charset_map): Rename from parse_charset_map. New args
9751 entries and n_entries. Change caller.
9752 (load_charset_map_from_file): Rename from load_charset_map.
9753 Change caller. New arg control_flag. Call load_charset_map at
aca7a3d2
MB
9754 the tail.
9755 (load_charset_map_from_vector): New function.
9756 (Fdefine_charset_internal): Setup charset.compact_codes_p.
9757 (encode_char): If the charset is compact, change a character index
9758 to a code point.
9759
9760 * coding.c (coding_alloc_by_making_gap): Check the case that the
9761 source and destination are the same correctly.
9762 (decode_coding_raw_text): Set coding->consumed_char and
9763 coding->consumed to 0.
9764 (produce_chars): If coding->chars_at_source is nonzero, update
9765 coding->consumed_char and coding->consumed before calling
9766 alloc_destination.
9767 (Fdefine_coding_system_alias): Register ALIAS in
9768 Vcoding_system_alist.
9769 (syms_of_coding): Define `no-convesion' coding system at the tail.
9770
9771 * fileio.c (Finsert_file_contents): Set coding_system instead of
9772 val. If the current buffer is multibyte, always call
9773 decode_coding_gap.
9774
9775 * xfaces.c (try_font_list): Give higher priority to fontset's
9776 family than face's family.
9777
73acf815 97782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9779
9780 * callproc.c (Fcall_process): Be sure to give the current buffer
9781 to decode_coding_c_string.
9782
9783 * xfaces.c (try_font_list): Give a family specified in a fontset
9784 higher priority than a family specified in a face.
9785
73acf815 97862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9787
9788 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
9789 Fix arguments to insert_from_buffer.
9790
9791 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
9792
73acf815 97932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9794
9795 * coding.c (produce_chars): Set the variable `multibytep' correctly.
9796 (decode_coding_gap): Set coding->dst_multibyte correctly.
9797
73acf815 97982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9799
9800 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
1f45f627 9801 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
aca7a3d2
MB
9802 (encode_coding_utf_16): Substitute coding->default_char for
9803 non-Unicode characters.
9804 (decode_coding): Don't call record_insert here.
9805 (setup_coding_system): Initialize `surrogate' of
9806 coding->spec.utf_16 to 0.
9807 (EMIT_ONE_BYTE): Fix for multibyte case.
9808
9809 * insdel.c (insert_from_gap): Call record_insert.
9810
73acf815 98112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9812
9813 * casefiddle.c (casify_region): Fix multibyte case.
9814
9815 * character.c (c_string_width): Add return type `int'.
1f45f627 9816 (char_string_with_unification): Delete arg ADVANCED.
aca7a3d2
MB
9817
9818 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
1f45f627 9819 (CHAR_STRING): Adjust for the change of char_string_with_unification.
aca7a3d2
MB
9820 (CHAR_STRING_ADVANCE): Make it do-while statement.
9821
1f45f627 9822 * chartab.c (sub_char_table_set_range): Optimize for the case
aca7a3d2
MB
9823 DEPTH == 3. Add workaround code for a GCC optimization bug.
9824
9825 * charset.c (parse_charset_map): Remove an unused variable.
9826
9827 * coding.c: Delete unused variables.
9828
9829 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
9830 earlier. If inserted is zero and the coding system doesn't
9831 require flushing, don't call decode_coding_gap.
9832
9833 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
9834
73acf815 98352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9836
9837 The following changes are for using Unicode as an internal
9838 character model, and use UTF-8 format for buffer/string
9839 representation.
9840
1f45f627 9841 * .gdbinit (xchartable): Adjust for the change of char table structure.
aca7a3d2
MB
9842 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
9843
9844 * Makefile.in (obj): Add character.o and chartab.o.
c3f9fba8 9845 (lisp, shortlisp): Remove utf-8.elc.
aca7a3d2
MB
9846 (*.o): For many files, change dependency on charset.h to
9847 character.h, and add dependency on character.h.
9848 (character.o, chartab.o): New targets.
9849
1f45f627
GM
9850 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
9851 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
9852 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
aca7a3d2
MB
9853 of "charset.h".
9854
9855 * dired.c, filelock.c: Include "character.h".
9856
9857 * alloc.c: Include "character.h" instead of "charset.h".
4c4475a8 9858 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
aca7a3d2
MB
9859 (syms_of_alloc): Remove defsubr for Smake_char_table.
9860
9861 * buffer.c: Include "character.h" instead of "charset.h", don't
9862 include "coding.h".
1f45f627 9863 (Fset_buffer_multibyte): Adjust for UTF-8.
aca7a3d2
MB
9864
9865 * buffer.h: EXFUN Fbuffer_live_p.
9866
9867 * callproc.c: Include "character.h" instead of "charset.h".
9868 (Fcall_process): Big change for the new code-conversion APIs.
9869
9870 * casetab.c: Include "character.h" instead of "charset.h".
1f45f627 9871 (set_canon, set_identity, shuffle): Adjust for the new
aca7a3d2
MB
9872 map_char_table spec.
9873 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
9874 accessing the char table structure.
9875
9876 * chartab.c: New file that implements char table.
9877
9878 * category.c: Include "character.h".
9879 (copy_category_entry): New function.
9880 (copy_category_table): Call map_char_table and copy_category_entry.
9881 (Fmake_category_table): Initialize all top-vel slots.
9882 (char_category_set): New function.
1f45f627 9883 (modify_lower_category_set): Delete.
aca7a3d2
MB
9884 (Fmodify_category_entry): Call char_table_ref_and_range.
9885
9886 * category.h (CATEGORY_SET): Just call char_category_set.
9887
9888 * ccl.c: Include "character.h".
9889 (Qccl, Qcclp): New variables.
9890 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
9891 it's less than 256.
1f45f627
GM
9892 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
9893 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
aca7a3d2 9894 and DST type.
1f45f627
GM
9895 (ccl_driver): Change types of argument, adjust code accordingly.
9896 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
aca7a3d2
MB
9897 ccl_driver.
9898 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
9899
1f45f627
GM
9900 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
9901 New members src_multibyte, dst_multibyte, consumed, and produced.
9902 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
aca7a3d2 9903 (CODING_SPEC_CCL_PROGRAM): New macro.
1f45f627 9904 (ccl_driver): Update prototype.
aca7a3d2
MB
9905 (Qccl, Qcclp, Fccl_program_p): Extern them.
9906 (CHECK_CCL_PROGRAM): New macro.
9907
9908 * character.c, character.h, chartab.c: New files.
9909
1f45f627
GM
9910 * charset.c: Mostly re-written. Move character and multibyte sequence
9911 handling codes to character.c.
aca7a3d2 9912
1f45f627
GM
9913 * charset.h: Mostly re-written. Move character and multibyte sequence
9914 handling codes to character.h.
aca7a3d2
MB
9915
9916 * coding.c, coding.h: Mostly re-written.
9917
9918 * composite.c: Include "character.h" instead of "charset.h".
1f45f627
GM
9919 (CHAR_WIDTH): Move to character.h.
9920 (HASH_KEY, HASH_VALUE): Delete.
aca7a3d2 9921
1f45f627
GM
9922 * composite.h (enum composition_method): Change order of enumeration
9923 symbols.
aca7a3d2
MB
9924
9925 * data.c: Include "character.h" instead of "charset.h".
9926 (Faref): Call CHAR_TABLE_REF for a char table.
9927 (Faset): Call CHAR_TABLE_SET for a char table.
9928
1f45f627
GM
9929 * dispextern.h (free_realized_face, check_face_attribytes)
9930 (generate_ascii_font): Extern them.
9931 (free_realized_multibyte_face): Delete extern.
aca7a3d2 9932
1f45f627 9933 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
aca7a3d2
MB
9934 table structure.
9935
9936 * editfns.c: Include "character.h" instead of "charset.h".
9937 (Fchar_to_string): Always call CHAR_STRING.
9938
9939 * emacs.c (main): Call init_charset_once, init_charset,
9940 syms_of_chartab, and syms_of_character.
9941
9942 * fileio.c: Include "character.h" instead of "charset.h".
1f45f627 9943 (Finsert_file_contents): Big change for the new code-conversion API.
4c4475a8 9944 (choose_write_coding_system, Fwrite_region): Likewise.
1f45f627 9945 (build_annotations_2): Delete.
aca7a3d2
MB
9946 (e_write): Big change for the new code-conversion API.
9947
9948 * fns.c: Include "character.h" instead of "charset.h".
1f45f627 9949 (copy_sub_char_table): Move to chartab.c.
aca7a3d2
MB
9950 (Fcopy_sequence): Call copy_char_table for a char table.
9951 (concat): Delete codes calling count_multibyte.
4c4475a8
GM
9952 (string_char_to_byte, string_byte_to_char): Adjust for the new
9953 multibyte form.
1f45f627
GM
9954 (internal_equal): Adjust for the change of char table structure.
9955 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
9956 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
9957 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
9958 (char_table_translate, optimize_sub_char_table)
9959 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
aca7a3d2 9960 chartab.c.
1f45f627
GM
9961 (char_table_ref_and_index): Delete.
9962 (HASH_KEY, HASH_VALUE): Move to lisp.h.
aca7a3d2 9963 (Fmd5): Call preferred_coding_system instead of accessing
1f45f627
GM
9964 Vcoding_category_list. Adjust for the new code-conversion API.
9965 (syms_of_fns): Move defsubr for char table related functions to
aca7a3d2
MB
9966 chartab.c.
9967
9968 * fontset.c: Mostly re-written.
9969
1f45f627 9970 * fontset.h (struct font_info): Change type of the member encoding_type.
aca7a3d2 9971 (enum FONT_SPEC_INDEX): New enum.
1f45f627
GM
9972 (fontset_font_pattern, fs_load_font): Update prototype.
9973 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
aca7a3d2
MB
9974
9975 * indent.c: Include "character.h" instead of "charset.h".
1f45f627 9976 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
aca7a3d2
MB
9977
9978 * insdel.c: Include "character.h" instead of "charset.h".
9979 (copy_text): Don't refer to Vnonascii_translation_table.
9980 (insert_from_gap): New function.
9981
9982 * keyboard.c: Include "character.h" instead of "charset.h".
9983 (command_loop_1): Never call direct_output_forward_char before
9984 a non-ASCII character.
9985 (read_char): If Vkeyboard_translate_table is a char table, always
1f45f627 9986 translate a character.
aca7a3d2
MB
9987
9988 * keymap.c: Include "character.h".
9989 (store_in_keymap): Handle the case that IDX is a cons.
9990 (Fdefine_key): Handle the case that KEY is a cons and the car part
9991 is also a cons (range).
1f45f627 9992 (push_key_description): Adjust for the new character code.
aca7a3d2
MB
9993 (describe_vector): Call describe_char_table for a char table.
9994 (describe_char_table): New function.
9995
9996 * keymap.h (describe_char_table): Extern it.
9997
9998 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
9999 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
1f45f627
GM
10000 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
10001 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
10002 Delete.
10003 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
aca7a3d2
MB
10004 structure.
10005 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
1f45f627
GM
10006 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
10007 (CHARTAB_SIZE_BITS_3): New macros.
aca7a3d2 10008 (chartab_size): Extern it.
1f45f627 10009 (struct Lisp_Char_Table): Re-design.
aca7a3d2 10010 (struct Lisp_Sub_Char_Table): New structure.
1f45f627
GM
10011 (HASH_KEY, HASH_VALUE): Move from fns.c.
10012 (CHARACTERBITS): Define as 22.
10013 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
aca7a3d2
MB
10014 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
10015 (GC_SUB_CHAR_TABLE_P): New macro.
1f45f627
GM
10016 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
10017 (code_convert_string_norecord): Deleted extern.
10018 (init_character_once, syms_of_character, init_charset)
10019 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
aca7a3d2
MB
10020
10021 * lread.c: Include "character.h".
10022 (read_multibyte): New arg NBYTES.
1f45f627
GM
10023 (read_escape): Change the meaning of returned *BYTEREP.
10024 (to_multibyte): Delete.
10025 (read1): Adjust the handling of char table and string.
aca7a3d2
MB
10026
10027 * print.c: Include "character.h" instead of "charset.h".
10028 (print_string): Convert 8-bit raw bytes to octal form by
10029 string_escape_byte8.
1f45f627 10030 (print_object): Adjust for the new multibyte form. Print 8-bit
aca7a3d2
MB
10031 raw bytes always in octal form. Handle sub char table correctly.
10032
10033 * process.c: Include "character.h" instead of "charset.h".
4c4475a8
GM
10034 (read_process_output, send_process): Adjust for the new
10035 code-conversion API.
aca7a3d2 10036
1f45f627 10037 * puresize.h (BASE_PURESIZE): Increase.
aca7a3d2
MB
10038
10039 * regex.c: Include "character.h" instead of "charset.h".
10040 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
10041 (regex_compile): Accept a range whose starting and ending
10042 character have different leading bytes.
1f45f627 10043 (analyse_first): Adjust for the above change.
aca7a3d2
MB
10044
10045 * search.c: Include "character.h" instead of "charset.h".
1f45f627
GM
10046 (search_buffer, boyer_moore): Adjust for the new multibyte form.
10047 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
aca7a3d2
MB
10048
10049 * syntax.c: Include "character.h" instead of "charset.h".
1f45f627 10050 (syntax_parent_lookup): Delete.
aca7a3d2 10051 (Fmodify_syntax_entry): Accept a cons as CHAR.
1f45f627 10052 (skip_chars): Adjust for the new multibyte form.
aca7a3d2
MB
10053 (init_syntax_once): Call char_table_set_range instead of directly
10054 accessing the structure of a char table.
10055
10056 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
1f45f627 10057 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
aca7a3d2
MB
10058 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
10059 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
10060
10061 * term.c: Include "buffer.h" and "character.h".
4c4475a8
GM
10062 (encode_terminal_code, write_glyphs): Adjust for the new
10063 code-conversion API.
aca7a3d2
MB
10064 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
10065
1f45f627 10066 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
aca7a3d2
MB
10067
10068 * xdisp.c: Include "character.h".
1f45f627
GM
10069 (get_next_display_element): Adjust for the new multibyte form.
10070 (disp_char_vector): Adjust for the new char table structure.
10071 (decode_mode_spec_coding): Adjust for the new structure of
aca7a3d2 10072 coding system.
1f45f627 10073 (decode_mode_spec): Adjust for the new code-conversion API.
aca7a3d2
MB
10074
10075 * xfaces.c: Include "character.h" instead of "charset.h".
1f45f627 10076 (load_face_font): Adjust for the change of choose_face_font and
aca7a3d2
MB
10077 FS_LOAD_FONT.
10078 (generate_ascii_font): New function.
1f45f627
GM
10079 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
10080 (set_font_frame_param): Adjust for the change of choose_face_font.
aca7a3d2 10081 (free_realized_face): Make it public.
1f45f627 10082 (free_realized_faces_for_fontset): Rename from
aca7a3d2 10083 free_realized_multibyte_face. Free also faces realized for ASCII.
1f45f627 10084 (choose_face_font): Change arguments. Adjust for the change of
aca7a3d2
MB
10085 fontset_font_pattern and FS_LOAD_FONT.
10086
10087 * xfns.c: Include "character.h".
1f45f627 10088 (x_encode_text): Adjust for the new code-conversion API.
aca7a3d2
MB
10089
10090 * xselect.c: Don't include "charset.h".
1f45f627 10091 (selection_data_to_lisp_data): Adjust for the new code conversion API.
aca7a3d2
MB
10092
10093 * xterm.c: Include "character.h".
1f45f627 10094 (x_encode_char): New argument CHARSET. Change caller.
4c4475a8
GM
10095 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
10096 Call ENCODE_CHAR instead of SPLIT_CHAR.
aca7a3d2
MB
10097 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
10098 CHAR_WIDTH instead of CHARSET_WIDTH.
1f45f627
GM
10099 (XTread_socket): Adjust for the new code-conversion API.
10100 (x_new_font): Adjust for the change of FS_LOAD_FONT.
10101 (x_load_font): Adjust for the change of struct font.
aca7a3d2 10102
d6abfc14
SM
101032008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
10104
10105 * xfaces.c (face_at_buffer_position): Remove unused vars.
10106
0acdaf8d
KH
101072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10108
4c4475a8
GM
10109 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
10110 Fix overflow checking.
0acdaf8d 10111
6c8a0ebf
GM
101122008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10113
10114 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
10115 Cancel previous change.
10116
101172008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
10118
10119 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
10120 ccl->eight_bit_control. Fix check for buffer overflow.
10121 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
10122 (ccl_driver): Initialize extra_bytes to 0.
10123
a32aad64
KH
101242008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
10125
10126 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
10127 return it ORed with ctrl_modifier.
10128
8b329dba
MB
101292008-01-29 Miles Bader <miles@gnu.org>
10130
10131 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
10132
548667aa
JR
101332008-01-28 Jason Rumney <jasonr@gnu.org>
10134
10135 * w32.c (stat): Don't double check for networked drive.
10136
0975aa24
SM
101372008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
10138
ef264c42
SM
10139 * window.c (run_window_configuration_change_hook): New function.
10140 Code extracted from set_window_buffer. Set the selected frame.
10141 (set_window_buffer): Use it.
10142 * window.h (run_window_configuration_change_hook): Declare.
10143 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
10144
0975aa24
SM
10145 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
10146
9c28b587
DN
101472008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
10148
10149 * Makefile.in: Remove references to unused macros.
10150
c617afce
EZ
101512008-01-26 Eli Zaretskii <eliz@gnu.org>
10152
10153 * w32.c (g_b_init_get_sid_sub_authority)
10154 (g_b_init_get_sid_sub_authority_count): New static variables.
10155 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
10156 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
0975aa24
SM
10157 (init_user_info): Use them to retrieve uid and gid.
10158 Use 500/513, the Windows defaults, as Administrator's uid/gid.
248c21c5
EZ
10159 (fstat): Use pw_uid and pw_gid from the_passwd structure for
10160 st_uid and st_gid of the file.
c617afce 10161
302d7d54
JR
101622008-01-26 Jason Rumney <jasonr@gnu.org>
10163
10164 * w32.c (logon_network_drive): New function.
10165 (stat): Use it.
10166
3ac7a21e
CY
101672008-01-26 Chong Yidong <cyd@stupidchicken.com>
10168
10169 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
10170 invisible text covered with an ellipsis.
10171
bbb9fc1f
RS
101722008-01-25 Richard Stallman <rms@gnu.org>
10173
10174 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
10175 jump back to beginning. Move some other initializations after that.
10176 (Qwindow_text_change_functions, Vwindow_text_change_functions):
10177 New variables.
10178 (syms_of_xdisp): Init them.
10179
10180 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
10181
0975aa24
SM
10182 * buffer.c (reset_buffer_local_variables):
10183 Implement `permanent-local-hook'.
bbb9fc1f 10184 (Qpermanent_local_hook): New variable.
0975aa24 10185 (syms_of_buffer): Init and staticpro it.
bbb9fc1f 10186
79235cbe
MA
101872008-01-25 Michael Albinus <michael.albinus@gmx.de>
10188
10189 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
10190
ccd8f7fe
TTN
101912008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
10192
10193 * fns.c (Fclrhash): Return TABLE.
10194
dfbe40f2 101952008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
223b3d1d
YM
10196
10197 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
10198 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
10199 is set even without positional changes.
10200 (x_scroll_bar_clear): Set bar->redraw_needed_p.
10201
10202 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
10203
dfbe40f2 102042008-01-23 Jason Rumney <jasonr@gnu.org>
602e142f 10205
d6169680
JR
10206 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
10207
602e142f
JR
10208 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
10209 the unicode range available in MULE by locale-coding-system.
c041e2d1 10210 Improve dbcs lead byte detection. Set event timestamp and modifiers
602e142f
JR
10211 earlier.
10212
dfbe40f2 102132008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5ee4de53
YM
10214
10215 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
10216 [MAC_OSX] (init_mac_osx_environment): Initialize it.
6f69e89b 10217 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
5ee4de53
YM
10218 when used on child processes.
10219
8c7a4ac5
MA
102202008-01-21 Michael Albinus <michael.albinus@gmx.de>
10221
e0df1b73 10222 * dbusbind.c (Fdbus_method_return_internal): Rename from
8c7a4ac5 10223 Fdbus_method_return.
e0df1b73 10224 (Fdbus_unregister_object): Move to dbus.el.
8c7a4ac5 10225 (Fdbus_call_method, Fdbus_method_return_internal)
e0df1b73 10226 (Fdbus_send_signal): Improve debug messages.
8c7a4ac5 10227
8abe0f97
MR
102282008-01-20 Martin Rudalics <rudalics@gmx.at>
10229
10230 * undo.c (undo_inhibit_record_point): New variable.
10231 (syms_of_undo): Initialize it.
10232 (record_point): Don't record point when undo_inhibit_record_point
10233 is set.
10234
c3b232e4
SM
102352008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
10236
e69c4cae
SM
10237 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
10238
823e0ebb
SM
10239 * xdisp.c (Qauto_hscroll_mode): New var.
10240 (syms_of_xdisp): Initialize it.
10241 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
10242 window's buffer.
10243 (hscroll_windows): Don't check automatic_hscrolling_p here.
10244
c3b232e4
SM
10245 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
10246 vscroll if we're setting window-buffer to the value it already has.
10247
76ed5e01
DN
102482008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
10249
10250 * m/intel386.h: Remove references to XENIX.
10251
55e6d9b2
AS
102522008-01-17 Andreas Schwab <schwab@suse.de>
10253
10254 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
10255 instead of HAVE_X86_64_LIB64_DIR.
10256 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
10257
b16ed52d
GM
102582008-01-17 Glenn Morris <rgm@gnu.org>
10259
10260 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
10261 to HAVE_X86_64_LIB64_DIR.
10262
6bed5c4a
DN
102632008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
10264
10265 * s/irix3-3.h:
10266 * s/irix4-0.h:
10267 * s/386-ix.h:
10268 * s/domain.h:
10269 * s/hpux9-x11r4.h:
10270 * s/hpux9shxr4.h: Remove files for systems no longer supported.
10271
10272 * sysdep.c: Remove code containing references to symbols defined
10273 by unsupported systems.
10274
fdecf907
GM
102752008-01-16 Glenn Morris <rgm@gnu.org>
10276
10277 * coding.c (select-safe-coding-system-function): Doc fix.
10278
9292328f
GM
102792008-01-15 Glenn Morris <rgm@gnu.org>
10280
10281 * config.in: Revert 2008-01-13 change: this is a generated file.
10282
944df511
MO
102832008-01-13 Tom Tromey <tromey@redhat.com>
10284
10285 * lisp.h: Fix typo.
10286
8111ec05
DN
102872008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
10288
f40f5dc3
DN
10289 * m/sequent-ptx.h:
10290 * m/sequent.h:
10291 * s/ptx.h:
10292 * s/ptx4-2.h:
10293 * s/ptx4.h: Remove files for systems no longer supported.
10294
ce20b664 10295 * callproc.c (Fcall_process): Fix previous change.
8111ec05 10296
e39a993c
DN
102972008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
10298
052e457f 10299 * unexsunos4.c: Remove file, system not supported anymore.
e39a993c 10300
290afd83
JB
10301 * m/mips.h:
10302 * m/intel386.h:
e39a993c
DN
10303 * callproc.c:
10304 * config.in:
10305 * ecrt0.c:
10306 * emacs.c:
10307 * fileio.c:
10308 * frame.c:
10309 * getpagesize.h:
10310 * keyboard.c:
10311 * lread.c:
10312 * process.c:
10313 * puresize.h:
10314 * sysdep.c:
10315 * systty.h:
10316 * syswait.h:
10317 * unexec.c:
10318 * xdisp.c:
10319 * alloc.c: Remove code containing references to symbols defined by
10320 unsupported systems.
10321
81cd7687
KH
103222008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
10323
10324 * coding.c (detect_coding_mask): Fix previous change.
10325
218b3b76
KH
103262008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
10327
10328 * coding.c (detect_coding_iso2022): New arg
10329 latin_extra_code_state. Allow Latin extra codes only
10330 when *latin_extra_code_state is nonzero.
10331 (detect_coding_mask): If there is a NULL byte, detect the encoding
10332 as UTF-16 or binary. If Latin extra codes exist, detect the
10333 encoding as ISO-2022 only when there's no other proper encoding is
10334 found.
10335
59ce725a 103362008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
081f2203 10337
59ce725a
MB
10338 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
10339 #ifdef MAC_OS.
048addec 10340
59ce725a 103412008-01-08 Richard Stallman <rms@gnu.org>
048addec 10342
59ce725a 10343 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
048addec 10344
8290574e
NR
103452008-01-06 Nick Roberts <nickrob@snap.net.nz>
10346
a0a3805c 10347 * keyboard.c (parse_menu_item): Don't enclose key bindings on
8290574e
NR
10348 menu bar in parentheses.
10349
f3041af1
DN
103502008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
10351
10352 * m/7300.h:
10353 * m/acorn.h:
10354 * m/alliant-2800.h:
10355 * m/alliant.h:
10356 * m/alliant1.h:
10357 * m/alliant4.h:
10358 * m/altos.h:
10359 * m/amdahl.h:
10360 * m/apollo.h:
10361 * m/att3b.h:
10362 * m/aviion-intel.h:
10363 * m/aviion.h:
10364 * m/celerity.h:
10365 * m/clipper.h:
10366 * m/cnvrgnt.h:
10367 * m/convex.h:
10368 * m/cydra5.h:
10369 * m/delta88k.h:
10370 * m/dpx2.h:
10371 * m/dual.h:
10372 * m/elxsi.h:
10373 * m/f301.h:
10374 * m/gould-np1.h:
10375 * m/gould.h:
10376 * m/i860.h:
10377 * m/ibmps2-aix.h:
10378 * m/ibmrt-aix.h:
10379 * m/ibmrt.h:
10380 * m/irist.h:
10381 * m/is386.h:
10382 * m/isi-ov.h:
10383 * m/mega68.h:
10384 * m/mg1.h:
10385 * m/news-r6.h:
10386 * m/news-risc.h:
10387 * m/news.h:
10388 * m/nh3000.h:
10389 * m/nh4000.h:
10390 * m/ns16000.h:
10391 * m/ns32000.h:
10392 * m/nu.h:
10393 * m/orion.h:
10394 * m/orion105.h:
10395 * m/paragon.h:
10396 * m/pfa50.h:
10397 * m/plexus.h:
10398 * m/pyramid.h:
10399 * m/pyrmips.h:
10400 * m/sh3el.h:
10401 * m/sps7.h:
10402 * m/sr2k.h:
10403 * m/stride.h:
10404 * m/sun1.h:
10405 * m/sun2.h:
10406 * m/sun3-68881.h:
10407 * m/sun3-fpa.h:
10408 * m/sun3-soft.h:
10409 * m/sun3.h:
10410 * m/sun386.h:
10411 * m/symmetry.h:
10412 * m/tad68k.h:
10413 * m/tahoe.h:
10414 * m/targon31.h:
10415 * m/tek4300.h:
10416 * m/tekxd88.h:
10417 * m/tower32.h:
10418 * m/tower32v3.h:
10419 * m/ustation.h:
10420 * m/wicat.h:
10421 * m/xps100.h:
10422 * s/cxux.h:
10423 * s/cxux7.h:
10424 * s/dgux.h:
10425 * s/dgux4.h:
10426 * s/dgux5-4-3.h:
10427 * s/dgux5-4r2.h:
10428 * s/esix.h:
10429 * s/esix5r4.h:
10430 * s/hiuxmpp.h:
10431 * s/hiuxwe2.h:
10432 * s/iris3-5.h:
10433 * s/iris3-6.h:
10434 * s/isc2-2.h:
10435 * s/isc3-0.h:
10436 * s/isc4-0.h:
10437 * s/isc4-1.h:
10438 * s/newsos5.h:
10439 * s/newsos6.h:
10440 * s/osf1.h:
10441 * s/osf5-0.h:
10442 * s/riscix1-1.h:
10443 * s/riscix12.h:
10444 * s/sco4.h:
10445 * s/sco5.h:
10446 * s/sunos4-0.h:
10447 * s/sunos4-1.h:
10448 * s/sunos413.h:
10449 * s/sunos4shr.h:
10450 * s/umax.h:
10451 * s/unipl5-2.h:
10452 * s/xenix.h:
10453 * cxux-crt0.s:
10454 * unexapollo.c:
10455 * unexconvex.c:
10456 * unexenix.c:
10457 * unexsni.c: Remove files for systems no longer supported.
10458
10459 * m/intel386.h: Remove references to unsupported systems.
10460
10461 * w32.c (get_emacs_configuration): Remove reference to i860.
10462
10463 * sysdep.c: Remove dead code.
10464
d35e1cd7
DN
104652008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
10466
10467 * s/rtu.h:
a0a3805c 10468 * m/masscomp.h: Remove files. Platform is obsolete.
d35e1cd7 10469
abe136ee
MA
104702008-01-04 Michael Albinus <michael.albinus@gmx.de>
10471
10472 * dbusbind.c (Fdbus_method_return): New function.
10473 (xd_read_message): Add the serial number to the event.
10474 (Fdbus_register_method): Activate the function.
10475
87df3c32
SM
104762008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
10477
10478 * keyboard.c (read_key_sequence): Fix typo.
10479
5125905e
MA
104802008-01-03 Michael Albinus <michael.albinus@gmx.de>
10481
10482 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
10483 (xd_signature, xd_append_arg): Handle element type detection for
10484 empty arrays.
10485 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
10486 SDATA () calls; this must be solved more general.
10487 (Fdbus_register_signal): Use SBYTES instead of strlen.
10488
8bba1b5c
MH
104892008-01-03 Magnus Henoch <magnus@zemdatav>
10490
10491 * dbusbind.c (xd_append_arg): Use unsigned char instead of
10492 unsigned int for byte values (necessary for big-endian platform).
2c3a8b27 10493 (Fdbus_call_method): Handle the case of no returned arguments.
8bba1b5c 10494
a0a3805c 104952007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
15f16c1b
MA
10496
10497 * dbusbind.c (xd_read_message): Use non-static input_event struct.
10498
a271e124
MH
104992007-12-31 Magnus Henoch <mange@freemail.hu>
10500
10501 * dbusbind.c (xd_signature): Signature of variant is just "v".
10502
17bc8f94
MA
105032007-12-30 Michael Albinus <michael.albinus@gmx.de>
10504
87df3c32 10505 * dbusbind.c: Fix several errors and compiler warnings.
1f204af3 10506 Reported by Tom Tromey <tromey@redhat.com>.
17bc8f94
MA
10507 (XD_ERROR, XD_DEBUG_MESSAGE)
10508 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
10509 (xd_append_arg): Part for basic D-Bus types rewitten.
10510 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
10511 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
10512 appropriate.
10513 (xd_read_message): Return Qnil. Don't signal an error; it is not
10514 useful during event reading.
10515 (Fdbus_register_signal): Signal an error if the check for
10516 FUNCTIONP fails.
10517 (Fdbus_register_method): New function. The implementation is not
10518 complete, the call of the function signals an error therefore.
10519 (Fdbus_unregister_object): New function, renamed from
10520 Fdbus_unregister_signal. The initial check signals an error, if
5125905e 10521 the object is not well formed.
17bc8f94 10522
dd6f2802
RS
105232007-12-30 Richard Stallman <rms@gnu.org>
10524
10525 * textprop.c (get_char_property_and_overlay):
10526 Signal error if POSITION is out of range in a buffer.
10527
1da8a031
MR
105282007-12-29 Martin Rudalics <rudalics@gmx.at>
10529
10530 * w32fns.c (Fx_create_frame): Make copy of frame parameters
10531 because the original parameters are in pure storage now.
10532
5742be86
YM
105332007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10534
10535 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
10536
b014713c
EZ
105372007-12-22 Eli Zaretskii <eliz@gnu.org>
10538
b17f53ab
MB
10539 * callint.c (syms_of_callint) <command-history>: Add reference to
10540 history-length in the doc string.
048addec 10541
b17f53ab 105422007-12-17 Jason Rumney <jasonr@gnu.org>
048addec 10543
b17f53ab
MB
10544 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
10545 before passing as wParam.
048addec 10546
9af5078b
MA
105472007-12-22 Michael Albinus <michael.albinus@gmx.de>
10548
10549 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
10550 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
10551 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
10552 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
10553 as number.
10554 (Fdbus_call_method): Fix docstring.
10555
87cf1a39
MA
105562007-12-21 Michael Albinus <michael.albinus@gmx.de>
10557
10558 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
10559 New macros.
87df3c32 10560 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
a0a3805c
JB
10561 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
10562 Simplify.
87cf1a39
MA
10563 (xd_signature): New function.
10564 (xd_append_arg): Compute also signatures. Major rewrite.
10565 (xd_retrieve_arg): Make debug messages friendly.
87df3c32
SM
10566 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
10567 Check for signatures of arguments.
87cf1a39 10568
54371585
MA
105692007-12-19 Michael Albinus <michael.albinus@gmx.de>
10570
10571 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
10572 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
10573 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
10574 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
10575 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
87df3c32 10576 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
54371585
MA
10577 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
10578 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
87df3c32 10579 (xd_retrieve_value): Remove. Functionality included in ...
54371585
MA
10580 (xd_append_arg): New function.
10581 (Fdbus_call_method, Fdbus_send_signal): Apply it.
10582
f5306ca3
MA
105832007-12-16 Michael Albinus <michael.albinus@gmx.de>
10584
10585 * dbusbind.c (top): Include <stdio.h>.
10586 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
10587 dbus_message_new_method_call and dbus_message_new_signal.
87df3c32
SM
10588 (Fdbus_register_signal): Rename unique_name to uname.
10589 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
f5306ca3
MA
10590 non-existing unique name. Fix typos in matching rule. Return an
10591 object which is useful in Fdbus_unregister_signal.
10592 (Fdbus_unregister_signal): Reimplementation, in order to remove
10593 only the corresponding entry.
10594 (Vdbus_registered_functions_table): Change the order of entries.
10595 Apply these changes in xd_read_message and Fdbus_register_signal.
10596
77a28bbf
AS
105972007-12-16 Andreas Schwab <schwab@suse.de>
10598
10599 * fileio.c (Finsert_file_contents): Fix overflow check to not
10600 depend on undefined integer overflow.
10601
2e3566d8
JR
106022007-12-14 Jason Rumney <jasonr@gnu.org>
10603
10604 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
10605 for characters above 127.
10606
bf254037
JR
106072007-12-13 Jason Rumney <jasonr@gnu.org>
10608
10609 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
10610 before dereferencing array.
10611 (lookup_vk_code): Remove zero comparison.
10612
eb7c7bf5
MA
106132007-12-14 Michael Albinus <michael.albinus@gmx.de>
10614
10615 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
87df3c32
SM
10616 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
10617 Use `unsigned int' instead of `uint'.
eb7c7bf5
MA
10618 (xd_read_message, Fdbus_register_signal): Split expressions into
10619 multiple lines before operators "&&" and "||", according to the
10620 GNU Coding Standards.
10621
34fb0fc9
EZ
106222007-12-14 Eli Zaretskii <eliz@gnu.org>
10623
10624 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
10625
c7d97628
JL
106262007-12-12 Juri Linkov <juri@jurta.org>
10627
10628 * buffer.c (Frename_buffer): In interactive spec replace
10629 `read-buffer' with `read-string' that uses `buffer-name-history'
10630 as history, and the current buffer's name as default.
10631
3709505e
SM
106322007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
10633
10634 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
10635 manipulating the backtrace manually.
10636 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
10637 (struct backtrace, backtrace_list): Remove.
10638 (command_loop_1): Remove dead var `no_direct'.
10639
10640 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
10641 preserve non-built-in buffer-local variables.
10642 (Fkill_all_local_variables): Don't re-create&re-set permanent
10643 buffer-local variables.
10644
e2bec886
JL
106452007-12-09 Juri Linkov <juri@jurta.org>
10646
10647 * buffer.c (Frename_buffer): Change interactive spec from "s" to
10648 Lisp code that uses `read-buffer' with current buffer as default.
10649
a31d47c7
MA
106502007-12-08 Michael Albinus <michael.albinus@gmx.de>
10651
10652 * dbusbind.c (xd_read_message): Generate an event for every
10653 registered handler. There might be several handlers registered
10654 for the same signal.
10655 (Fdbus_register_signal): Don't overwrite a registration for the
10656 same signal. Add a new registration if handlers are different.
10657 (Vdbus_registered_functions_table): Rework doc string.
10658
52da95fa
MA
106592007-12-07 Michael Albinus <michael.albinus@gmx.de>
10660
10661 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
10662 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
10663 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
10664 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
10665 Unify argument lists.
a0a3805c 10666 (xd_read_message, Fdbus_register_signal): Reorder and extend event
52da95fa
MA
10667 arguments and hash table keys. Use unique name for service.
10668 (Fdbus_unregister_signal): Remove checks.
10669 (Vdbus_registered_functions_table): Fix doc string.
10670
e5e76c04 106712007-12-05 Magnus Henoch <mange@freemail.hu>
0277bfa1
RS
10672
10673 * process.c (make_process): Initialize pty_flag to 0.
10674
e5e76c04 106752007-12-05 Jason Rumney <jasonr@gnu.org>
44b1dc2e
JR
10676
10677 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
10678 specified XBMs.
10679
e5e76c04 106802007-12-05 Richard Stallman <rms@gnu.org>
048addec 10681
e5e76c04 10682 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
048addec 10683
e5e76c04 106842007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 10685
e5e76c04
MB
10686 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
10687 New variable.
10688 (mac_try_close_socket) [MAC_OSX]: New function.
10689 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
10690 Update cfsockets_for_select. Replace invalid CFRunLoop source.
048addec 10691
e5e76c04
MB
10692 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
10693 Use mac_try_close_socket.
048addec 10694
e5e76c04 106952007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 10696
e5e76c04
MB
10697 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
10698 reloc_base.
10699 (copy_dysymtab): Compute relocation base here.
10700 (rebase_reloc_address) [__ppc64__]: New function.
10701 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
10702 changed.
048addec 10703
e5e76c04 107042007-12-05 Jason Rumney <jasonr@gnu.org>
048addec 10705
e5e76c04 10706 * w32proc.c (sys_spawnve): Quote args with wildcards.
048addec 10707
e5e76c04 107082007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 10709
e5e76c04
MB
10710 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
10711 __objc_* sections.
10712 (unrelocate) [_LP64]: Set relocation base to address of data segment.
048addec 10713
96faeb40
MA
107142007-12-05 Michael Albinus <michael.albinus@gmx.de>
10715
10716 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
10717 Move check for Vdbus_registered_functions_table to
10718 xd_read_queued_messages.
10719 (xd_read_queued_messages): Protect xd_read_message calls by
10720 internal_condition_case_1.
10721
39abdd4a
MA
107222007-12-04 Michael Albinus <michael.albinus@gmx.de>
10723
87df3c32 10724 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
39abdd4a 10725 Qdbus_system_bus and Qdbus_session_bus, respectively.
87df3c32 10726 (Vdbus_intern_symbols): Remove.
39abdd4a 10727 (Vdbus_registered_functions_table): New hash table.
87df3c32 10728 (XD_SYMBOL_INTERN_SYMBOL): Remove.
39abdd4a 10729 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
87df3c32 10730 Rewrite in order to manage registered functions by hash table
39abdd4a
MA
10731 Vdbus_registered_functions_table.
10732
880820fe 107332007-12-03 Jan Djärv <jan.h.d@swipnet.se>
7ba30657
JD
10734
10735 * xterm.c: Update URL to Window Manager Specification in comment.
10736
033b73e2
MA
107372007-12-02 Michael Albinus <michael.albinus@gmx.de>
10738
10739 * config.in (HAVE_DBUS): Add.
10740
a0a3805c 10741 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
033b73e2
MA
10742 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
10743 (obj): Add $(DBUS_OBJ).
10744 (LIBES): Add $(DBUS_LIBS).
10745 (dbusbind.o): New target.
10746
10747 * dbusbind.c: New file.
10748
10749 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
10750
10751 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
a0a3805c 10752 (Qdbus_event): New Lisp symbol.
033b73e2 10753 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
87df3c32 10754 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
033b73e2
MA
10755 (keys_of_keyboard ): Define dbus-event.
10756
10757 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
10758
39d0bf74
RS
107592007-12-01 Richard Stallman <rms@gnu.org>
10760
10761 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
10762
f3157c65
JR
107632007-11-30 Jason Rumney <jasonr@gnu.org>
10764
10765 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
10766 (w32con_reset_terminal_modes): Clear screen buffer.
f1e8dcf1
JR
10767 (w32_face_attributes): Don't use color indexes that are out of range.
10768 Only reverse the default colors.
f3157c65
JR
10769
10770 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
10771 WINDOWSNT.
10772
10773 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
10774
b510360c
JR
107752007-11-29 Jason Rumney <jasonr@gnu.org>
10776
10777 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
10778 (w32_face_attributes): Use Vtty_defined_color_alist to determine
10779 if the terminal colors are initialized.
10780 (unspecified_fg, unspecified_bg): Remove unused declarations.
10781
4b7ab1c4
AS
107822007-11-29 Andreas Schwab <schwab@suse.de>
10783
10784 * keyboard.c (apply_modifiers): Fix typo.
10785
4bb6c266
RS
107862007-11-29 Richard Stallman <rms@gnu.org>
10787
10788 * keymap.c (Fcurrent_local_map): Doc fix.
10789
aa44cd84
GM
107902007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
10791
10792 * s/gnu-kfreebsd.h: New file.
10793
21ec2c43
SM
107942007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
10795
cc648cef
SM
10796 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
10797 Don't cast redundantly.
10798
21ec2c43
SM
10799 * keyboard.c (KEY_TO_CHAR): New macro.
10800 (parse_modifiers, apply_modifiers): Accept integer arguments.
10801 (read_key_sequence): Use them to unify the "shift->unshift" mapping
10802 for chars and symbol keys.
10803 After doing such remapping, apply function-key-map again.
10804
73e72da4
DN
108052007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
10806
10807 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
10808 compiled anymore.
10809
254693ff
AS
108102007-11-26 Andreas Schwab <schwab@suse.de>
10811
10812 * process.c (list_processes_1): Fix indentation level of the
10813 command column.
10814
ff6e6ac8
AS
108152007-11-23 Andreas Schwab <schwab@suse.de>
10816
10817 * editfns.c (Fformat): Handle %c specially since it requires the
10818 argument to be of type int.
10819
f7cf8b20
SM
108202007-11-23 Markus Triska <markus.triska@gmx.at>
10821
10822 * emacs.c (main): Call init_editfns before init_process, since
2a2e8de7 10823 init_process sets Vprocess_connection_type depending on OS release.
f7cf8b20 10824
569c11e3
SM
108252007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
10826
8787dd73
SM
10827 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
10828 (find_symbol_value): Use do_symval_forwarding.
10829
569c11e3
SM
10830 * data.c (set_internal): Set the value in the `cons-cell' (for
10831 Buffer_Local_values) not only for frame-local variables.
10832
6af1696d
AS
108332007-11-22 Andreas Schwab <schwab@suse.de>
10834
10835 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
10836 values to sprintf.
10837 * keymap.c (Fsingle_key_description): Likewise.
10838 * print.c (print_object): Likewise.
10839
880820fe 108402007-11-22 Jan Djärv <jan.h.d@swipnet.se>
d4ad8c04
JD
10841
10842 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
10843 file for image is nil.
10844
7c401d15
DN
108452007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
10846
10847 * term.c: Include stdarg.h.
569c11e3 10848 (fatal): Implement using varargs.
a0a3805c 10849 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
7c401d15 10850
64e16c3c
SM
108512007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
10852
10853 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
10854 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
10855 Update call to buffer_slot_type_mismatch.
10856 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
10857 (buffer_slot_type_mismatch): Update.
10858 * buffer.c (buffer_local_types): Remove.
10859 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
10860 (defvar_per_buffer): Set the type in the buffer_objfwd.
10861
d4aa48db 108622007-11-21 Jason Rumney <jasonr@gnu.org>
5f42a7eb 10863
64e16c3c
SM
10864 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
10865 CreateFileMapping returns NULL on failure.
5f42a7eb 10866
d4aa48db 108672007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
048addec 10868
d4aa48db
MB
10869 * search.c (Fset_match_data): Remove the `evaporate' feature.
10870 (unwind_set_match_data): Don't use the `evaporate' feature.
437dfb9f 10871
bdae0540
JR
108722007-11-21 Jason Rumney <jasonr@gnu.org>
10873
10874 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
10875
10876 * w32console.c (w32con_write_glyphs): Remove unused variables.
10877
202c09a8
DN
108782007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
10879
b951420f
DN
10880 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
10881
202c09a8
DN
10882 * s/darwin.h (MULTI_KBOARD): Remove.
10883
10884 * macfns.c (x_create_tip_frame, Fx_create_frame)
10885 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
10886
bae72c12
SM
108872007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
10888
e7c10f83
SM
10889 * buffer.c (Fbuffer_local_value): Remove redundant test.
10890 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
10891 than in `current-buffer' to match the comment.
10892 Do the swap using swap_in_global_binding.
10893
136eb6ed
SM
10894 * data.c (store_symval_forwarding, set_internal):
10895 * eval.c (specbind): Remove dead code.
10896
bae72c12
SM
10897 * coding.c (detect_coding, Fupdate_coding_systems_internal):
10898 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
10899 Since we do not want to see internal Lisp_*fwd objects here.
10900
880820fe 109012007-11-18 Jan Djärv <jan.h.d@swipnet.se>
95fbaefc 10902
3d66b985
JD
10903 * sysdep.c (init_system_name): Use getaddrinfo if available.
10904
95fbaefc
JD
10905 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
10906 (x_scroll_bar_note_movement): start, end, with, height in struct
10907 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
10908
6c1d8cb6
DN
109092007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
10910
10911 * puresize.h (BASE_PURESIZE): Increase to 1190000.
10912
30f95089
SM
109132007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
10914
66b04bd4
SM
10915 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
10916 This undoes Richard's change of 14-Oct-2002.
10917
6d3f2bb2
SM
10918 * alloc.c (allocate_other_vector):
10919 * lisp.h (allocate_other_vector): Remove.
10920
b05b4e27
SM
10921 * window.c (struct save_window_data): Move non-lisp data to the end
10922 and make it `int' rather than Lisp_Object.
10923 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
10924 Done wrap/unwrap integer values.
10925 (Fset_window_configuration, compare_window_configurations):
10926 Update use of fields to their new types.
10927
056ce195
SM
10928 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
10929 Turn integer fields into `int'. Merge x_window_low and x_window_high.
10930 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
10931 (SET_SCROLL_BAR_X_WINDOW): Remove.
10932 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
10933 Access the new x_window field directly.
10934 * xterm.c (x_scroll_bar_create): Use a pseudovector.
10935 Don't wrap/unwrap integers into Lisp_Objects.
10936 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
10937 (x_scroll_bar_report_motion):
10938 Don't wrap/unwrap integers into Lisp_Objects.
10939 (x_term_init): Use SDATA.
10940 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
10941 (x_scroll_bar_set_handle, x_scroll_bar_remove)
10942 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
10943 (x_scroll_bar_report_motion, x_scroll_bar_clear):
10944 * xfns.c (x_set_background_color):
10945 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
10946 Access the new x_window field directly.
10947
30f95089
SM
10948 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
10949 (allocate_pseudovector): Make non-static.
6d3f2bb2 10950
30f95089
SM
10951 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
10952 (allocate_pseudovector): Declare.
6f69e89b 10953 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
30f95089 10954
9b6112e8
AS
109552007-11-15 Andreas Schwab <schwab@suse.de>
10956
30f95089
SM
10957 * editfns.c (Fformat): Correctly format EMACS_INT values.
10958 Also take precision into account when formatting an integer.
0f860bd7 10959
9b6112e8
AS
10960 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
10961
262fcd41
SM
109622007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
10963
58da34c7
SM
10964 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
10965 (syms_of_keyboard): Defsubr it.
10966
262fcd41
SM
10967 * data.c (swap_in_global_binding): Fix longstanding bug where
10968 store_symval_forwarding was not called with the right second argument,
10969 thus causing objfwd-ing from being dropped.
10970
d29a9848
JB
109712007-11-14 Juanma Barranquero <lekktu@gmail.com>
10972
10973 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
10974 (Fx_display_pixel_height, Fx_display_planes)
10975 (Fx_display_color_cells, Fx_server_max_request_size)
10976 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
10977 (Fx_display_visual_class, Fx_display_save_under):
10978 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
10979 (Fx_display_pixel_height, Fx_display_planes)
10980 (Fx_display_color_cells, Fx_server_max_request_size)
10981 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
10982 (Fx_display_mm_height, Fx_display_mm_width)
10983 (Fx_display_backing_store, Fx_display_visual_class)
10984 (Fw32_select_font, Fx_display_save_under):
10985 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
10986 (Fx_display_pixel_height, Fx_display_planes)
10987 (Fx_display_color_cells, Fx_server_max_request_size)
10988 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
10989 (Fx_display_save_under): Fix typos in docstrings.
10990
74084731
JB
109912007-11-14 Juanma Barranquero <lekktu@gmail.com>
10992
10993 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
10994 corresponding to deleted entries; they are an implementation detail.
10995 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
10996 Remove variables.
10997 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
10998 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
10999 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
11000 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
11001 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
d29a9848 11002 (Fw32_define_rgb_color, Fw32_load_color_file)
74084731 11003 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
02b39a28
JB
11004 Fix typos in docstrings.
11005 (Fx_server_version): Reflow docstring.
11006 (Fw32_shell_execute): Doc fixes.
74084731 11007
fb053a1f
JB
110082007-11-13 Juanma Barranquero <lekktu@gmail.com>
11009
11010 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
11011 if w32_parse_hot_key returned nil.
11012
a457417e 110132007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
9ec1bdb6 11014
a457417e 11015 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
9ec1bdb6 11016
4b219faa
JR
110172007-11-09 Jason Rumney <jasonr@gnu.org>
11018
11019 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
11020
11021 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
11022
11023 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
11024 Remove W32_SCROLL_BAR_CLICK_EVENT.
11025
11026 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
11027 Add MULTIMEDIA_KEY_EVENT.
11028
11029 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
11030 (lispy_multimedia_keys) [WINDOWSNT]: New array.
11031 (make_lispy_event) [WINDOWSNT]: Use it to translate
11032 MULTIMEDIA_KEY_EVENT.
11033
11034 * w32term.h (WM_APPCOMMAND): Define if not already.
11035 (GET_APPCOMMAND_LPARAM): Likewise.
11036
11037 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
11038 WM_APPCOMMAND.
11039
11040 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
11041 (syms_of_w32fns): Export and initialize it.
11042 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
11043
c12ecb0a 110442007-11-09 Chong Yidong <cyd@stupidchicken.com>
d388d2ac
CY
11045
11046 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
11047 twice.
11048
11049 * xdisp.c (handle_face_prop): Fix last change.
11050
c12ecb0a 110512007-11-09 Richard Stallman <rms@gnu.org>
048addec 11052
c12ecb0a
MB
11053 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
11054 not just for after-strings and before-strings.
11055 Call face_for_overlay_string and pass the overlay to it.
11056 (handle_display_prop): Determine whether property came from an overlay.
11057 Pass OVERLAY arg to handle_single_display_spec.
11058 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
11059 (load_overlay_strings): Fill in it->string_overlays.
11060 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
b5cb6072 11061
c12ecb0a
MB
11062 * xfaces.c (face_for_overlay_string): Function renamed from
11063 face_at_buffer_position_no_overlays, and add arg OVERLAY.
b5cb6072 11064
c12ecb0a
MB
11065 * dispextern.h (struct it): New elt string_overlays.
11066 New elt from_overlay, also in stack.
11067 Rearrange a few elements.
11068 (face_for_overlay_string): Decl renamed from
11069 face_at_buffer_position_no_overlays, and add argument.
15fff01d 11070
c12ecb0a 110712007-11-09 Richard Stallman <rms@gnu.org>
0065bb74 11072
c12ecb0a
MB
11073 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
11074 to get the base face for an overlay string.
0d8466cc 11075
c12ecb0a 11076 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
15fff01d 11077
c12ecb0a 11078 * xfaces.c (face_at_buffer_position_no_overlays): New function.
2fae9111 11079
c12ecb0a 11080 * xdisp.c (handle_stop): Move some code out of loop.
2d6c1fc0 11081
c12ecb0a 110822007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
07025a55 11083
c12ecb0a
MB
11084 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
11085 Fix conversion from Lisp object to ATSUFontID.
07025a55 11086
c12ecb0a 110872007-11-09 Jason Rumney <jasonr@gnu.org>
07025a55 11088
c12ecb0a 11089 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
3a232704 11090
c12ecb0a 110912007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
539e92ad 11092
c12ecb0a
MB
11093 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
11094 Don't assume regions are aligned to page boundary.
11095 (print_load_command_name): Add LC_UUID if defined.
3a232704 11096
c12ecb0a 110972007-11-09 Richard Stallman <rms@gnu.org>
0cb8bb48 11098
c12ecb0a 11099 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
539e92ad 11100
b8ddfbcc
JR
111012007-11-07 Jason Rumney <jasonr@gnu.org>
11102
11103 * s/windows95.h: Remove.
11104
880820fe 111052007-11-06 Jan Djärv <jan.h.d@swipnet.se>
e624c3f9
JD
11106
11107 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
11108 abort with a message on unhandled store_type values.
11109
880820fe 111102007-11-01 Jan Djärv <jan.h.d@swipnet.se>
ac1278c1
JD
11111
11112 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
11113 Remove HAVE_X11R5 and HAVE_X11R4.
11114
04a697fe
DN
111152007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
11116
11117 * Makefile.in: Remove references to sunfns.c and sunfns.o.
11118
880820fe 111192007-11-01 Johan Bockgård <bojohan@gnu.org>
56dad874
GM
11120
11121 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
fb053a1f 11122 Don't set s->stippled_p here, since it has already been set by
56dad874
GM
11123 x_set_glyph_string_gc from x_draw_glyph_string.
11124
07e5c0b0
DN
111252007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
11126
2a2e8de7 11127 * sunfns.c: Remove file.
07e5c0b0
DN
11128
11129 * m/sun386.h:
11130 * m/sun2.h:
11131 * m/sparc.h: Remove Sun windows code.
11132
1bc973c2
SM
111332007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
11134
11135 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
11136 (init_keyboard): Set current_kboard's window-system to nil.
11137 (tty_read_avail_input): Typo.
11138 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
11139
c22140f6
DN
111402007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
11141
11142 * s/usg5-4.h:
11143 * s/usg5-3.h:
11144 * s/ptx.h:
11145 * m/is386.h:
11146 * m/ibmps2-aix.h:
2a2e8de7 11147 * Makefile.in: Remove all mentions of X10.
c22140f6
DN
11148
11149 * dispnew.c (syms_of_display): Don't mention version 10.
11150
660a8219
JB
111512007-10-28 Juanma Barranquero <lekktu@gmail.com>
11152
11153 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
11154 ($(BLD)/abbrev.$(O)): Remove.
11155
e047f448
SM
111562007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
11157
11158 Rewrite abbrev.c in Elisp.
11159 * image.c (Qcount): Don't declare as extern.
11160 (syms_of_image): Initialize and staticpro `Qcount'.
11161 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
11162 * emacs.c (main): Don't call syms_of_abbrev.
11163 * Makefile.in (obj): Remove abbrev.o.
11164 (abbrev.o): Remove.
11165 * abbrev.c: Remove.
11166
67b73e3a
MR
111672007-10-26 Martin Rudalics <rudalics@gmx.at>
11168
11169 * window.c (window_min_size_2): Don't count header-line.
11170
e3d7bd83
DN
111712007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
11172
11173 * frame.h (struct frame): Move all bit fields after the first bit
660a8219 11174 field to take advantage of the available space. Group all the
e3d7bd83
DN
11175 chars together to reduce wasted space due to padding.
11176
a3547743
JB
111772007-10-26 Juanma Barranquero <lekktu@gmail.com>
11178
e298936f
JB
11179 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
11180
d3d47262
JB
11181 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
11182 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
11183 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
11184 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
11185 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
11186 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
11187 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
11188 (last_marked, mark_object_loop_halt): Make static.
11189
a3547743
JB
11190 * frame.c (syms_of_frame) <delete-frame-functions>:
11191 Fix typo in docstring.
11192
14c71d8b
JB
111932007-10-25 Juanma Barranquero <lekktu@gmail.com>
11194
11195 * w32.c (init_environment): Fix tiny memory leak.
66199f74 11196 (w32_get_resource): Remove unused variable `ok'.
14c71d8b 11197
70b8d0a4
SM
111982007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
11199
11200 Make `window-system' into a keyboard-local variable (rather than
11201 frame-local as done originally by multi-tty).
11202
11203 * keyboard.h (struct kboard): Add Vwindow_system.
11204 * keyboard.c (init_kboard): Set a default for Vwindow_system.
11205 (mark_kboards): Mark Vwindow_system.
11206
11207 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
11208 (init_display): Don't set the obsolete `window-system' frame-param.
11209
11210 * xterm.c (x_term_init):
11211 * w32term.c (w32_create_terminal):
11212 * term.c (init_tty): Set Vwindow_system.
11213 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
11214 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
11215
11216 * xfns.c (Fx_create_frame, x_create_tip_frame):
11217 * w32fns.c (Fx_create_frame, x_create_tip_frame):
11218 * macfns.c (Fx_create_frame):
11219 Don't set the obsolete `window-system' frame-param.
11220
11221 * frame.h (Qwindow_system): Remove.
11222 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
11223 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
11224
fdc90613 112252007-10-24 Richard Stallman <rms@gnu.org>
4521d1fc 11226
fdc90613
MB
11227 * frame.c (x_figure_window_size): For fullscreen case,
11228 set USPosition | PPosition without clobbering rest of window_prompting.
7c75be36 11229
fdc90613 11230 * keyboard.c (Fcurrent_idle_time): Doc fix.
4521d1fc 11231
fdc90613 11232 * print.c (Fwith_output_to_temp_buffer): Doc fix.
4521d1fc 11233
7357cb04
SM
112342007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
11235
98228e72
SM
11236 * process.c (unwind_request_sigio): Only define if __ultrix__.
11237
1baf6db9
SM
11238 * callproc.c (child_setup): Remove spurious *.
11239
4d0ac3d7
SM
11240 * lisp.h (Fget_text_property): Declare.
11241 (have_menus_p): Declare it here rather than in sys-dep header files.
11242 * macterm.h (have_menus_p):
11243 * msdos.h (have_menus_p):
11244 * xterm.h (have_menus_p): Remove.
11245
7357cb04
SM
11246 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
11247 (Fmake_variable_frame_local): Just check the variable's const-ness
11248 rather than checking nil or t.
11249
866e6dd6
JR
112502007-10-22 Jason Rumney <jasonr@gnu.org>
11251
b00afeae
JR
11252 * w32fns.c: Include math.h.
11253 (w32_abort): Declaration moved to nt/config.nt.
0f7f11b7 11254
c8f7c76b
JR
11255 * s/ms-w32.h (HAVE_STDLIB_H): Define.
11256 (abort): Redefinition moved to nt/config.nt.
11257
866e6dd6
JR
11258 * m/windowsnt.h: Remove.
11259
e79beb56
JB
112602007-10-22 Juanma Barranquero <lekktu@gmail.com>
11261
11262 * emacs.c (Fdump_emacs): Fix typo in message.
11263 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
11264 <installation-directory>: Reflow docstring.
11265
fb30dfd2
JL
112662007-10-22 Juri Linkov <juri@jurta.org>
11267
11268 * minibuf.c: Allow minibuffer default to be a list of default values.
11269 With empty input use the first element of this list as returned default.
e79beb56 11270 (string_to_object)
0f7f11b7 11271 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
fb30dfd2
JL
11272 (read_minibuf): If defalt is cons, set histstring to its car.
11273 (Fread_string): If default_value is cons, set val to its car.
11274 (Fread_buffer): If def is cons, use its car.
11275 (Fcompleting_read): If defalt is cons, set val to its car.
11276
1f163f28
MA
112772007-10-21 Michael Albinus <michael.albinus@gmx.de>
11278
11279 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
11280
db3534c3
JB
112812007-10-20 Juanma Barranquero <lekktu@gmail.com>
11282
11283 * doc.c (Fdocumentation): Check for advice in all cases.
11284
c6f18a07
CY
112852007-10-19 Chong Yidong <cyd@stupidchicken.com>
11286
11287 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
11288
2a1534d3
RS
112892007-10-19 Richard Stallman <rms@gnu.org>
11290
11291 * doc.c (Fdocumentation): Check for and handle an advised function.
11292
7b82c3b6
JB
112932007-10-19 Juanma Barranquero <lekktu@gmail.com>
11294
11295 * process.c (Fset_process_filter): Doc fix.
11296
3278f20e
SM
112972007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
11298
11299 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
11300 which caused key-translation-map to applied repeatedly (thus breaking
11301 double-mode).
11302
99784d63
SM
113032007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
11304
11305 * xselect.c (x_own_selection, x_handle_selection_clear)
11306 (x_clear_frame_selections):
11307 * w32menu.c (list_of_panes, list_of_items):
11308 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
11309 * textprop.c (validate_plist, interval_has_all_properties)
11310 (interval_has_some_properties, interval_has_some_properties_list)
11311 (add_properties, text_property_list):
11312 * process.c (Fget_buffer_process, list_processes_1, status_notify):
11313 * minibuf.c (Fassoc_string):
11314 * macselect.c (x_own_selection, x_clear_frame_selections)
11315 (Fx_disown_selection_internal):
11316 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
11317 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
11318
44bb704d
CY
113192007-10-17 Chong Yidong <cyd@stupidchicken.com>
11320
11321 * process.c: Link to libs for calling res_init() if available.
11322 (Fmake_network_process): Call res_init() before getaddrinfo or
11323 gethostbyname, if possible.
11324
d314756e
SM
113252007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
11326
2504022a
SM
11327 * lread.c (read1): Set pvectype for char_tables.
11328
19fa82b9
SM
11329 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
11330 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
11331 Add type checks.
11332 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
11333
d314756e
SM
11334 * alloc.c (free_misc): Use XMISCTYPE.
11335 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
11336
94b9aaa2
GM
113372007-10-17 Glenn Morris <rgm@gnu.org>
11338
11339 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
11340 (syms_of_minibuf): Add Qcompletion_ignore_case.
11341 * dired.c (Qcompletion_ignore_case): Change to external.
11342 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
11343 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
11344 (Fread_file_name): Use it rather than intern'ing.
11345
11346 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
11347 (Fread_coding_system): Ignore case of user input.
11348
da6658e8
YM
113492007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11350
11351 * xdisp.c (handle_display_prop): Ignore display specs after
11352 replacing one when string text is being replaced.
11353 (handle_single_display_spec): Pretend as if characters with display
11354 property haven't been consumed only when buffer text is being replaced.
11355
11fb4bdb
SM
113562007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
11357
9beb8baa
SM
11358 * xfns.c (Fx_create_frame, Fx_display_list):
11359 * window.c (window_fixed_size_p, enlarge_window)
11360 (shrink_window_lowest_first):
11361 * macterm.c (init_font_name_table):
11362 * macfns.c (Fx_create_frame, Fx_display_list):
11363 * lread.c (close_load_descs):
11364 * keyboard.c (read_char_x_menu_prompt):
11365 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
11366 * coding.c (code_convert_region_unwind): Test the type of an object
11367 rather than just !NILP before extracting data from it.
11368
d3f41ff5
SM
11369 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
11370
67ee9f6e
SM
11371 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
11372 (XMISCANY): New macro.
11373 (XMISCTYPE): Use it.
11374 (struct Lisp_Misc_Any): New type.
11375 (union Lisp_Misc): Use it.
11376 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
11377 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
11378 (find_symbol_value, set_internal, default_value, Fset_default)
11379 (Fmake_variable_buffer_local, Fmake_local_variable)
11380 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
11381 (Flocal_variable_if_set_p, Fvariable_binding_locus):
11382 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
11383 * alloc.c (allocate_buffer): Set the size and tag.
11384 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
11385 Use XMISCANY.
11386 (die): Follow the GNU convention for error messages.
11387 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
11388 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
11389 tag any more.
11390 (set_buffer_internal_1):
11391 * frame.c (store_frame_param):
11392 * eval.c (specbind):
11393 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
11394
11fb4bdb
SM
11395 * doc.c (Fsnarf_documentation): Simplify.
11396
decb374a
JB
113972007-10-14 Juanma Barranquero <lekktu@gmail.com>
11398
11399 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
11400 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
11401
b5a40ee7
SM
114022007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
11403
11404 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
11405
35277b03
JB
114062007-10-14 Juanma Barranquero <lekktu@gmail.com>
11407
11408 * eval.c (do_autoload): Don't save autoloads.
11409
11410 * data.c (Ffset): Save autoload of the function being set.
11411
35fdaa62
GM
114122007-10-07 John Paul Wallington <jpw@pobox.com>
11413
11414 * xfns.c (x_create_tip_frame): Set the `display-type' frame
11415 parameter before setting up faces.
11416
1ea40aa2
EZ
114172007-10-13 Eli Zaretskii <eliz@gnu.org>
11418
35fdaa62 11419 * ccl.c (Fregister_code_conversion_map):
96a5affb
EZ
11420 * keyboard.c (append_tool_bar_item): Reformat last change.
11421
1ea40aa2
EZ
11422 * lisp.h (eabs): Rename from `abs'. All callers changed.
11423
35277b03 114242007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
71d00ce4
EZ
11425
11426 * buffer.c (add_overlay_mod_hooklist):
11427 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
11428 * fontset.c (make_fontset):
11429 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
11430 (append_tool_bar_item):
11431 * macmenu.c (grow_menu_items):
35fdaa62 11432 * w32menu.c (grow_menu_items):
71d00ce4 11433 * xmenu.c (grow_menu_items): Use larger_vector.
35fdaa62 11434
bc82f120
EZ
114352007-10-13 Eli Zaretskii <eliz@gnu.org>
11436
11437 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
11438 selected frame'' on MSDOS).
11439
d57d5a78
MR
114402007-10-12 Martin Rudalics <rudalics@gmx.at>
11441
11442 * frame.c (Qexplicit_name): New variable.
11443 (x_report_frame_params): Report it in parameter alist.
11444 (syms_of_frame): Intern and staticpro it.
11445
35277b03 114462007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
04710ebd
JR
11447
11448 * macfns.c (x_create_tip_frame): Set terminal for frame.
11449
c7a4b95b
SM
114502007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
11451
26f9c7b7
SM
11452 * frame.c (Qenvironment): Remove.
11453 (syms_of_frame) <Qenvironment>: Don't initialize.
11454 (Fdelete_frame): Don't treat the `environment' param specially.
11455 * frame.h (Qenvironment): Don't declare.
11456 * callproc.c (set_initial_environment): Don't set unused frame param.
11457
c7a4b95b
SM
11458 * frame.c (Fframe_with_environment): Remove.
11459 (syms_of_frame) <Sframe_with_environment>: Don't declare.
26f9c7b7 11460
c7a4b95b
SM
11461 * lisp.h (Fframe_with_environment): Don't declare.
11462
c86f7377
JB
114632007-10-10 Juanma Barranquero <lekktu@gmail.com>
11464
11465 * indent.c (indent_tabs_mode, last_known_column)
11466 (last_known_column_modified): Make static.
11467 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
11468
d1b3a122
KY
114692007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
11470
11471 * puresize.h (BASE_PURESIZE): Increase to 1170000.
11472
d57d5a78
MR
114732007-10-09 Jason Rumney <jasonr@gnu.org>
11474
11475 * w32term.c (x_set_window_size): Disable code that attempts to tell
11476 Lisp code about a size change before it actually happens.
11477
81d3d428 114782007-10-09 Richard Stallman <rms@gnu.org>
91175673 11479
81d3d428
MB
11480 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
11481 return HANDLED_RETURN.
91175673 11482
1af74d06 114832007-10-08 Martin Rudalics <rudalics@gmx.at>
4f1b1854 11484
1af74d06
MB
11485 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
11486 when there's an unread command event.
e0fead5d 11487
c7a4b95b 11488 * frame.c (focus_follows_mouse): Move here from frame.el to allow
1af74d06
MB
11489 window autoselection act appropriately when leaving selected frame.
11490 (syms_of_frame): Initialize focus_follows_mouse.
11491 * frame.h (focus_follows_mouse): Extern it.
11492 * macterm.c (XTread_socket): When focus_follows_mouse is nil
c7a4b95b 11493 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
1af74d06
MB
11494 * msdos.c (dos_rawgetc): Likewise.
11495 * w32term.c (w32_read_socket): Likewise.
11496 * xterm.c (handle_one_xevent): Likewise.
11497 * xdisp.c (syms_of_xdisp): In doc-string of
11498 mouse-autoselect-window mention focus-follows-mouse.
e0fead5d 11499
1af74d06 115002007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
e0fead5d 11501
1af74d06
MB
11502 * macterm.c (mac_load_query_font): Fix missing return value.
11503 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
11504 Add BLOCK_INPUT.
c186cdb3 11505
1af74d06 115062007-10-08 Richard Stallman <rms@gnu.org>
c186cdb3 11507
1af74d06
MB
11508 * xdisp.c (get_window_cursor_type): Implement documented behavior
11509 for cursor-in-non-selected-windows = t.
c186cdb3 11510
1af74d06 115112007-10-08 Jason Rumney <jasonr@gnu.org>
c186cdb3 11512
1af74d06 11513 * w32.c (w32_get_resource): Always close registry keys.
58cfce98 11514
1af74d06 115152007-10-08 Jason Rumney <jasonr@gnu.org>
58cfce98 11516
1af74d06 11517 * makefile.w32-in (LIBS): Add COMCTL32.
62854fe2 11518
1af74d06 11519 * w32fns.c (globals_of_w32fns): Init common controls.
62854fe2 11520
1af74d06 115212007-10-08 Richard Stallman <rms@gnu.org>
656f46bb 11522
c7a4b95b 11523 * image.c (our_memory_buffer): Rename from omfib_buffer.
656f46bb 11524
1af74d06 115252007-10-08 Richard Stallman <rms@gnu.org>
656f46bb 11526
1af74d06 11527 * buffer.c (Foverlays_at): Doc fix.
036e218d 11528
1af74d06 115292007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
036e218d 11530
1af74d06 11531 * fns.c (Fplist_put): Preserve uneven tail data.
7ddb2c16 11532
1af74d06 115332007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
7ddb2c16 11534
1af74d06 11535 * termhooks.h (enum event_kind): Remove trailing comma.
ace9b298 11536
1af74d06 11537 * frame.h (enum): Remove trailing comma.
90647b07 11538
8993ad2e 115392007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
90647b07 11540
1af74d06 11541 * w32proc.c (delete_child): Don't terminate threads of zombies.
ace9b298 11542
1af74d06 115432007-10-08 Martin Rudalics <rudalics@gmx.at>
ace9b298 11544
1af74d06 11545 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
ace9b298 11546
1af74d06
MB
11547 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
11548 last-repeatable-command.
11549 (init_kboard): Initialize Vlast_repeatable_command.
11550 (command_loop_1): Set it to real_this_command unless that was
11551 bound to an input event.
11552 (mark_kboards): Mark it.
9fbc32aa 11553
1af74d06 115542007-10-08 Richard Stallman <rms@gnu.org>
036e218d 11555
1af74d06 11556 * eval.c (condition-case): Doc fix.
9fbc32aa 11557
1af74d06 115582007-10-08 Masatake YAMATO <jet@gyve.org>
9fbc32aa 11559
1af74d06
MB
11560 * xfaces.c (tty_supports_face_attributes_p): Fix code
11561 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
11562 was copied and not edited.
9fbc32aa 11563
beb9f745
SM
115642007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
11565
c86f7377 11566 Add new `input-decode-map' keymap and use it for terminal
4f4a84ec
SM
11567 escape sequences.
11568 * keyboard.h (struct kboard): Add Vinput_decode_map.
11569 Remove Vlocal_key_translation_map.
11570 * keyboard.c (read_key_sequence): Add support for input-decode-map.
11571 (init_kboard): Init input-decode-map.
11572 Replace local-key-translation-map back with key-translation-map.
11573 (syms_of_keyboard): Declare input-decode-map.
11574 Remove local-key-translation-map. Update docstrings.
11575 (mark_kboards): Mark Vinput_decode_map.
11576 Don't mark Vlocal_key_translation_map.
11577 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
11578 Replace local-key-translation-map back with key-translation-map.
11579 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
11580 Bind in input-decode-map rather than function-key-map.
11581
beb9f745
SM
11582 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
11583 This was made redundant by the previous introduction of XSETPVECTYPE.
11584
65342ae3
RS
115852007-10-09 Richard Stallman <rms@gnu.org>
11586
beb9f745 11587 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
65342ae3
RS
11588
115892007-09-29 Richard Stallman <rms@gnu.org>
11590
11591 * eval.c (internal_condition_case_2, internal_condition_case_1)
11592 (internal_condition_case): Reenable abort if x_catching_errors ()
11593 to see if that really happens and why.
11594
6cff77fd
AS
115952007-10-06 Andreas Schwab <schwab@suse.de>
11596
11597 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
11598
bbe6f2aa
JB
115992007-10-04 Juanma Barranquero <lekktu@gmail.com>
11600
11601 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
11602
a390930c
SM
116032007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
11604
11605 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
11606
d6aa1876
SM
116072007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
11608
d0fdb6da
SM
11609 * window.h (struct window):
11610 * window.c (struct save_window_data, struct saved_window):
11611 * termhooks.h (struct terminal):
11612 * process.h (struct Lisp_Process):
11613 * frame.h (struct frame):
11614 * buffer.h (struct buffer):
11615 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
11616 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
11617 The size field of (pseudo)vectors is now unsigned.
11618 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
11619
878f97ff
SM
11620 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
11621 Turn `count' into an integer.
d0fdb6da 11622
878f97ff
SM
11623 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
11624 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
11625 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
11626 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
11627 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
11628
d2029e5b
SM
11629 * alloc.c (allocate_pseudovector): New fun.
11630 (ALLOCATE_PSEUDOVECTOR): New macro.
11631 (allocate_window, allocate_terminal, allocate_frame)
11632 (allocate_process): Use it.
11633 (mark_vectorlike): New function.
11634 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
11635 (mark_terminals): Use it.
11636 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
11637 (Fmake_byte_code): Use XSETPVECTYPE.
11638
11639 * frame.c (Fframe_parameters): Minor simplification.
11640
11641 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
11642
11643 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
11644
11645 * buffer.c (Fget_buffer_create, init_buffer_once):
11646 * lread.c (defsubr):
11647 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
11648
11649 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
11650 defined differently in the m/*.h files.
11651 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
11652 (XSETPVECTYPE): New macro.
11653 (XSETPSEUDOVECTOR): Use it.
11654
d6aa1876
SM
11655 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
11656 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
d2029e5b 11657
d6aa1876
SM
11658 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
11659 * lread.c (defvar_per_buffer):
11660 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
11661
11662 * window.c (candidate_window_p): Only consider as visible frames that
11663 are on the same terminal.
11664
11665 * m/ibms390x.h (MARKBIT): Remove unused macro.
11666
88852d45
JB
116672007-10-01 Juanma Barranquero <lekktu@gmail.com>
11668
11669 * lread.c (Fload): Fix typo in docstring.
11670
880820fe 116712007-10-01 Michaël Cadilhac <michael@cadilhac.name>
2742fe30
MC
11672
11673 * floatfns.c (Fexpt): Manually check for overflows, so that a power
11674 of a non-zero value can't yield zero.
11675
ed0c79c6
SM
116762007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
11677
b870aa61
SM
11678 * term.c (term_clear_mouse_face, term_mouse_highlight)
11679 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
11680
4c37a414
SM
11681 * print.c (safe_debug_print): Use XHASH.
11682
b9466edb
SM
11683 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
11684 Lisp elements such as tags.
11685 (XHASH): New macro.
11686 (EQ): Use it.
11687 (SREF, SSET, STRING_COPYIN): Use SDATA.
11688 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
11689
9c545a55
SM
11690 * alloc.c (mark_terminal): Remove left-over declaration.
11691 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
11692 (allocate_vectorlike): Remove type argument. Adjust callers.
11693 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
11694 Only handle the one remaining MEM_TYPE_VECTORLIKE.
11695
dafc79fa
SM
11696 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
11697 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
11698 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
11699 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
11700 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
11701 Use them.
11702
ed0c79c6
SM
11703 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
11704 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
11705 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
11706
3c81afd4
DN
117072007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
11708
11709 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
11710 loaded by default.
11711
6178ce5e
SM
117122007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
11713
4ce5ab77
SM
11714 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
11715 on this tty.
11716 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
11717
6178ce5e
SM
11718 * term.c (mouse_face_window): Rename from Qmouse_face_window.
11719 Update all users.
11720 (handle_one_term_event): Use Gpm_DrawPointer.
11721 (Fgpm_mouse_start): Rename from Fterm_open_connection.
11722 Signal errors instead of returning nil. Always return nil.
11723 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
11724 Make it a noop if gpm-mouse was not activated.
11725 (syms_of_term): Update names.
11726
bdf5f8ef
SM
117272007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
11728
75a8734b
SM
11729 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
11730 (init_sys_modes): Check that gpm_tty is the current tty.
11731
13559ee0
SM
11732 * alloc.c (allocate_terminal): Set the vector size to only count the
11733 lisp fields. Initialize those to nil.
11734 (mark_object): Don't treat terminals specially.
11735 (mark_terminal): Remove.
11736 (mark_terminals): Use mark_object instead.
11737
ff16b875
SM
11738 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
11739 the GC to the beginning.
11740
83155776
SM
11741 * indent.h:
11742 * indent.c: Use EMACS_INT for ints coming from Elisp data.
11743
bdf5f8ef
SM
11744 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
11745
ec8705b6
JR
117462007-09-25 Jason Rumney <jasonr@gnu.org>
11747
11748 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
11749
11750 * w32console.c (create_w32cons_output): Remove.
11751
11752 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
11753
11754 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
11755 (reset_sys_modes): Use reset_terminal_modes_hook.
11756
7351b242
SM
117572007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
11758
11759 * eval.c (do_autoload): Don't output any message.
11760
16706228
JL
117612007-09-24 Juri Linkov <juri@jurta.org>
11762
11763 * emacs.c (standard_args): Change priority of "--no-splash"
11764 from 40 to 3. Add "--no-desktop" with the same priority.
11765
3ae2e3a3
RS
117662007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
11767
11768 * alloc.c (gc_sweep): Check cons cell mark bits word by word
11769 and optimize the case where they are all 1.
11770
7a58fb43
GM
117712007-09-23 Johannes Weiner <hannes@saeurebad.de>
11772
3ae2e3a3
RS
11773 * lisp.h (abs): Define if not defined.
11774 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
11775 Don't define `abs', since it's defined in lisp.h.
7a58fb43 11776
78048085
EZ
117772007-09-22 Eli Zaretskii <eliz@gnu.org>
11778
c7a4b95b 11779 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
78048085
EZ
11780 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
11781 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
11782 (init_tty): Use DEV_TTY instead of "/dev/tty".
11783 [WINDOWSNT]: No need to protect from NAME arg being null.
11784
23d4cba5
DN
117852007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
11786
11787 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
11788 up the tty state.
11789
71f44e7a
SM
117902007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
11791
11792 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
11793 (gpm_tty): Change its type.
11794 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
11795 (gpm_tty): Change its type and initialize it.
11796 (Fterm_open_connection): Check the frame is indeed a tty.
11797 Use the new gpm_tty.
11798 (Fterm_close_connection): Use the new gpm_tty.
11799 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
11800 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
11801
def7fa34
JB
118022007-09-21 Juanma Barranquero <lekktu@gmail.com>
11803
11804 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
11805 underline_color, to draw strike-through.
11806
d2bb6598
SM
118072007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
11808
273f164c
SM
11809 * lisp.h (allocate_terminal): Declare.
11810
ca2d5566
SM
11811 * window.c (candidate_window_p): Consider frames that are being placed
11812 by the user as somewhere between visible and iconified.
11813 (window_loop): Prefer windows on the current frame.
11814 (Fselect_window): Move the use of select-frame to the beginning so we
11815 can just delegate all the work (it'll call us back anyway).
11816
6168122d
SM
11817 * frame.c (Qdisplay_environment_variable):
11818 * frame.h (Qdisplay_environment_variable): Delete.
11819
c51842ec
SM
11820 * .gdbinit (xbacktrace): Print the arg's address rather than the value
11821 of the first arg, since that value may be a union.
11822
d2bb6598
SM
11823 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
11824 parameter rather than Qdisplay_environment_variable. If all else
11825 fails, look for DISPLAY in initial-environment.
11826
6f022c19
GM
118272007-09-21 Glenn Morris <rgm@gnu.org>
11828
11829 * Makefile.in (emacstool): Remove target.
f466320b 11830 (lisp, shortlisp): Remove termdev.elc.
6f022c19 11831
ea1bf8c7
GM
118322007-09-21 Markus Triska <markus.triska@gmx.at>
11833
d2bb6598 11834 * xterm.c (x_delete_display): Compile session management conditionally.
ea1bf8c7 11835
d30a25b3
SM
118362007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
11837
db699fc6
SM
11838 * callproc.c (getenv_internal_1): New function.
11839 (getenv_internal): Use it.
11840 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
11841
d2bb6598 11842 * terminal.c (get_terminal): Don't accept ints to represent terminals.
c5911e55
SM
11843 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
11844 (Fset_terminal_parameter): Work with dead terminals as well.
11845 (Fmodify_terminal_parameters): Remove.
11846
d30a25b3
SM
11847 * terminal.c (get_terminal): Handle terminals.
11848 Make sure the terminal returned is live.
11849 (create_terminal): Use allocate_terminal.
11850 (mark_terminals): Move to alloc.c.
11851 (delete_terminal): Use terminal->name as liveness status.
11852 NULL out fields after freeing their contents.
11853 Don't deallocate the object.
11854 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
11855 rather than an int.
11856 (Fterminal_live_p): Accept non-integer arguments.
11857 (Fterminal_list): Return terminal objects rather than an ints.
11858
11859 * alloc.c (enum mem_type): New member for `terminal' objects.
11860 (allocate_terminal): New function.
d2bb6598
SM
11861 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
11862 Handle terminals.
d30a25b3
SM
11863 (mark_terminal): New fun.
11864 (mark_terminals): Move from terminal.c.
11865
11866 * term.c (get_tty_terminal): Don't treat output_initial specially.
11867 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
11868 (delete_tty): Use terminal->name as liveness status.
11869
11870 * termhooks.h (struct terminal): Make it into a pseudovector.
11871 Remove `deleted' replaced by checking `name's nullness.
11872
11873 * print.c (print_object): Handle terminals.
11874
11875 * lisp.h (enum pvec_type): New `terminal' pseudovector.
11876 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
11877
11878 * frame.c (make_terminal_frame):
11879 * keyboard.c (tty_read_avail_input):
11880 * w32term.c (x_delete_terminal):
11881 * xfns.c (Fx_create_frame, x_create_tip_frame):
11882 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
11883
eba25e7c
GM
118842007-09-20 Glenn Morris <rgm@gnu.org>
11885
11886 * process.c (Fmake_network_process): Doc fix.
11887
2a29c3c1
JR
118882007-09-19 Jason Rumney <jasonr@gnu.org>
11889
11890 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
11891
880820fe 118922007-09-19 Michaël Cadilhac <michael@cadilhac.name>
ba1cbad7
MC
11893
11894 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
11895 Fix a C warning regarding variable constness.
11896
11897 * xterm.c (handle_one_xevent): Fix a C warning.
11898
334a1195
JR
118992007-09-18 Jason Rumney <jasonr@gnu.org>
11900
11901 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
11902
880820fe 119032007-09-17 Jan Djärv <jan.h.d@swipnet.se>
879ffad9
JD
11904
11905 * gtkutil.c (gdpy_def): New variable.
11906 (xg_initialize): Initialize gdpy_def.
11907 (xg_display_close): If no other display exists, set gdpy_def to a
11908 new connection.
11909
880820fe 119102007-09-16 Jan Djärv <jan.h.d@swipnet.se>
45c94881
JD
11911
11912 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
11913 when we have no file name for the icon.
11914 (xg_tool_bar_expose_callback): Remove.
11915 (xg_create_tool_bar): Don't connect expose signal to
11916 xg_tool_bar_expose_callback.
11917 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
11918
4d580af2
AS
119192007-09-16 Andreas Schwab <schwab@suse.de>
11920
11921 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
11922 values instead of zapping them.
11923
aca946f3
GM
119242007-09-14 Glenn Morris <rgm@gnu.org>
11925
11926 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
11927 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
11928 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
11929 scope and rename to omfib_buffer for clarity.
11930 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
11931
25c460e5
KH
119322007-09-14 Kenichi Handa <handa@m17n.org>
11933
11934 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
11935
09b69f01
JR
119362007-09-13 Jason Rumney <jasonr@gnu.org>
11937
11938 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
11939
11940 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
11941
11942 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
11943 (mac_term_init): Call here instead, passing rif.
11944
442218db
GM
119452007-09-13 Glenn Morris <rgm@gnu.org>
11946
11947 * s/hpux.h: No longer define `static' as nothing.
11948
880820fe 119492007-09-13 Johan Bockgård <bojohan@gnu.org>
4795c40f
GM
11950
11951 * callint.c (Fcall_interactively): Remove unused var `fun'.
11952
1971a872
RF
119532007-09-12 Romain Francoise <romain@orebokech.com>
11954
11955 * window.c (prefer_window_split_horizontally, display_buffer):
11956 Revert 2007-09-08 change.
11957
2d33f506
GM
119582007-09-12 Glenn Morris <rgm@gnu.org>
11959
585474ae 11960 * alloca.c: Remove file.
ca7af97a
GM
11961 * Makefile.in (alloca): Do not undef.
11962 (allocaobj, alloca.o): Remove.
11963 (otherobj): Remove allocaobj.
11964 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
11965 * regex.c (C_ALLOCA): Remove all references and code that was only
11966 used when this was defined.
11967 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
11968 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
99dfbaf1
GM
11969 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
11970
2d33f506 11971 * Makefile.in (SOURCES, unlock, relock): Delete.
ca7af97a
GM
11972
11973 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
11974 (menu_grab_callback): All uses changed.
11975
11976 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
11977 (x_reply_selection_request): All uses changed.
2d33f506 11978
18a4a65e
SM
119792007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
11980
11981 * lread.c (load_warn_old_style_backquotes): Change message to look
11982 better when it appears in the middle of byte-compiler messages.
11983
47cc8819
DN
119842007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
11985
b7ea0894
DN
11986 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
11987
47cc8819
DN
11988 * xterm.c (x_create_terminal): Add comment.
11989
11990 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
11991
5632bd0f
RS
119922007-09-10 Richard Stallman <rms@gnu.org>
11993
11994 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
11995
880820fe 119962007-09-10 Michaël Cadilhac <michael@cadilhac.name>
ccb5c14f 11997
4bca9161
MC
11998 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
11999 (DEFUN): Document `intspec', use it instead of `prompt'.
12000
04724b69
MC
12001 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
12002
8a6d230a
MC
12003 * data.c (Finteractive_form): If the interactive specification starts
12004 with a `(', use it as a Lisp form.
12005
09fbdf6c
MC
12006 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
12007 name and file modes.
12008
ccb5c14f
MC
12009 * callint.c (Fcall_interactively): Comment fixes.
12010
023accd6
SM
120112007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
12012
12013 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
12014 and compiled functions.
12015
f26b9544
EZ
120162007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
12017
12018 * window.c (prefer_window_split_horizontally): New variable.
12019 (display_buffer): Consider splitting window horizontally depending
12020 on prefer_window_split_horizontally.
12021
4d395425
EZ
120222007-09-08 Eli Zaretskii <eliz@gnu.org>
12023
97ddc760 12024 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
4d395425 12025
08c1d235
SM
120262007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
12027
179cef48
SM
12028 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
12029
08c1d235
SM
12030 * frame.c (x_set_frame_parameters): Check number is positive before
12031 using XFASTINT.
12032
12033 * window.c (freeze_window_start): Don't presume selected_window holds
12034 a window object.
92f94a12 12035 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
08c1d235 12036
97ddc760 120372007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
de52dcbb
DN
12038
12039 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
12040
90ab5c62
SM
120412007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
12042
12043 * window.c (Vsplit_window_preferred_function): New var.
12044 (Fdisplay_buffer): Use it.
12045 (syms_of_window): Export, and initialize it.
12046
1ab2cd43
TTN
120472007-09-06 Pixel <pixel@mandriva.com> (tiny change)
12048
12049 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
12050
0b0515bc
GM
120512007-09-06 Glenn Morris <rgm@gnu.org>
12052
57fd5c55 12053 * gtkutil.c (menu_grab_callback) <cnt>:
0b0515bc
GM
12054 * xselect.c (x_reply_selection_request) <cnt>: Move static
12055 variable to file scope.
12056
98594580
SM
120572007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
12058
12059 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
12060 consistent values of selected_frame and selected_window.
12061
0f4c7aef
JR
120622007-09-04 Jason Rumney <jasonr@gnu.org>
12063
12064 * w32console.c (initialize_w32_display): Zero unused hooks.
12065
e4019195
DN
120662007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
12067
12068 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
12069 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
12070
bce179b5
JR
120712007-09-04 Jason Rumney <jasonr@gnu.org>
12072
a0236551
JR
12073 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
12074 in w32console.c. Set up input. Remove XXX comments that have been
12075 confirmed as correct.
12076
a4926668
JR
12077 * s/ms-w32.h (MULTI_KBOARD): Define.
12078
953bf0dc
JR
12079 * w32console.c (one_and_only_w32cons): Remove.
12080 (initialize_w32_display): Take terminal argument.
12081
12082 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
12083 initialize_w32_display.
12084 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
12085
bce179b5
JR
12086 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
12087
12088 * keyboard.c (discard_mouse_events): Discard it.
12089 (make_lispy_event): Translate it to a lisp event.
12090 (lispy_wheel_names): Add wheel-left and right events.
12091 (syms_of_keyboard): Enlarge wheel_syms.
12092
12093 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
12094 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
12095
12096 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
12097
12098 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
12099 from WM_MOUSEHWHEEL.
12100 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
12101
12102 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
12103 terminal.
12104
12105 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
12106 keyboard for the terminal.
12107
92cd6a7c
DN
121082007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
12109
12110 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
12111 (Vresume_tty_hook): Rename from Vresume_tty_functions.
12112 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
12113 and resume-tty-function to resume-tty-hook.
12114 (Fsuspend_tty, Fresume_tty): Use new names.
12115
880820fe 121162007-09-02 Jan Djärv <jan.h.d@swipnet.se>
2154c964
JD
12117
12118 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
12119 if it starts with "n:".
12120
880820fe 121212007-08-31 Jan Djärv <jan.h.d@swipnet.se>
b42ff099
JD
12122
12123 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
12124
6b8e474c
SM
121252007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
12126
92d9c1d4
SM
12127 * frame.h:
12128 * frame.c (Qterm_environment_variable): Remove.
12129 (syms_of_frame): Don't init and staticpro it.
12130
92d9c1d4
SM
12131 * callproc.c (getenv_internal): Remove special case for $TERM.
12132
6b8e474c
SM
12133 * callproc.c (Vinitial_environment): New variable.
12134 (set_initial_environment): Initialize it.
12135 (syms_of_callproc): Declare it.
12136 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
12137 TERM under which a process runs is never related to the TERM in which
12138 Emacs is running.
12139
0f1444e1
DN
121402007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
12141
12142 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
12143 * s/darwin.h: ... do it here.
12144
b8866860
SM
121452007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
12146
12147 * lisp.h (set_initial_environment): Rename from set_global_environment.
12148
12149 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
12150 removed by mistake on the multi-tty branch.
12151
12152 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
12153 (Fmodify_frame_parameters): Return a value.
12154
12155 * image.c (png_load): Comment-out var only used in commented-out code.
12156
12157 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
12158 before passing it to mark_object.
12159
12160 * xfaces.c (internal_resolve_face_name): Return a value.
12161 (internal_resolve_face_name, resolve_face_name_error): Comment out.
12162
12163 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
12164 (x_icon): Comment-out var only used in commented-out code.
12165
0a42be6d
RF
121662007-08-29 Romain Francoise <romain@orebokech.com>
12167
12168 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
12169 QUIT hasn't been provided.
12170
8d9cc0b7
MB
121712007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
12172
12173 * callproc.c (child_setup, getenv_internal): Use the
ce20b664 12174 display-environment-variable and term-environment-variable frame params.
8d9cc0b7
MB
12175 (set_initial_environment): Initialise Vprocess_environment.
12176
12177 * config.in: Disable multi-keyboard support on a mac.
12178
12179 * frame.c (Qterm_environment_variable)
12180 (Qdisplay_environment_variable): New variables.
12181 (syms_of_frame): Intern and staticpro them.
12182 (Fmake_terminal_frame): Disable output method test.
12183
12184 * frame.h: Declare them here.
12185
12186 * macfns.c (x_set_mouse_color): Get rif from the frame.
12187 (x_set_tool_bar_lines): Don't use updating_frame.
12188 (mac_window): Add 2 new parameters for consistency with other systems.
12189 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
12190 frame parameters following what is done in X11 and w32. Don't use
12191 FRAME_MAC_DISPLAY_INFO.
12192 (Fx_open_connection, start_hourglass): Remove window-system check.
12193 (x_create_tip_frame): Get the keyboard from the terminal.
12194
12195 * macmenu.c: Reorder includes.
12196 (Fx_popup_menu): Use terminal specific mouse_position_hook.
12197
12198 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
12199 terminal parameter.
12200 (x_clear_frame): Add a frame parameter.
12201 (note_mouse_movement): Get rif from the frame.
12202 (mac_term_init): Initialize the terminal.
12203 (mac_initialize): Make static and move terminal initialization ...
12204 (mac_create_terminal): ... to this new function.
12205
12206 * macterm.h (struct mac_display_info): Add terminal.
7196c970 12207 (mac_initialize): Delete declaration.
8d9cc0b7 12208
381864b2 12209 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
8d9cc0b7
MB
12210
12211 * sysdep.c: Comment out text after #endif.
12212
12213 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
12214 is defined. Better initialize ttys in windows. Use terminal
12215 specific mouse_position_hook.
12216
12217 * termhooks.h (union display_info): Add mac_display_info.
12218
b8866860
SM
12219 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
12220 Set the default minibuffer frame, window_system and the rest of the
8d9cc0b7
MB
12221 frame parameters following what is done in X11.
12222
12223 * w32term.c (w32_initialize): Make static.
12224
12225 * xselect.c (x_handle_selection_clear): Only access
12226 terminal->kboard when MULTI_KBOARD is defined.
12227
12228 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
12229 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
12230
122312007-08-29 Jason Rumney <jasonr@gnu.org>
12232
12233 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
12234 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
12235
12236 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
12237 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
12238
12239 * keyboard.c (restore_kboard_configuration): Only define when
12240 MULTI_KBOARD defined.
12241
35277b03 12242 * makefile.w32-in: Update dependancies from Makefile.in.
8d9cc0b7
MB
12243 (OBJ1): Add terminal.$(O)
12244
b8866860
SM
12245 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
12246 Don't define function body.
8d9cc0b7
MB
12247 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
12248
12249 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
12250
12251 * w32.c (request_sigio, unrequest_sigio): Remove.
12252
12253 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
12254 (w32con_clear_frame, w32con_clear_end_of_line)
12255 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
12256 (w32con_delete_glyphs, w32con_set_terminal_window)
12257 (scroll_line, w32_sys_ring_bell): Add frame arg.
b8866860
SM
12258 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
12259 Add terminal arg.
8d9cc0b7
MB
12260 (PICK_FRAME): Remove.
12261 (w32con_write_glyphs): Use frame specific terminal coding.
12262 (one_and_only_w32cons): New global variable.
12263 (initialize_w32_display): Use it for storing hooks.
12264 (create_w32cons_output): New function.
12265
12266 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
12267 arg a frame.
12268
b8866860
SM
12269 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
12270 Set window_system.
8d9cc0b7
MB
12271 (x_set_tool_bar_lines): Don't use updating_frame.
12272 (Fx_create_frame): Set terminal and ref count.
12273 (Fx_open_connection): Remove window-system check.
12274
12275 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
12276
12277 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
12278 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
12279 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
12280 Add frame arg.
12281 (x_delete_terminal, w32_create_terminal): New functions.
12282 (w32_term_init): Create a terminal.
12283 (w32_initialize): Move terminal specific initialization to
12284 w32_create_terminal.
12285
b8866860 12286 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
8d9cc0b7
MB
12287 (w32_clear_rect, w32_clear_area): Use background from frame.
12288 (w32_display_info): Add terminal.
12289 (w32_sys_ring_bell, x_delete_display): Declare here.
12290
12291 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
12292
12293 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
12294
122952007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
12296
12297 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
12298 Fix get_named_tty calls for the controlling tty.
12299
123002007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
12301
12302 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
12303
123042007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
12305
12306 * term.c (tty_insert_glyphs): Add missing first parameter.
12307
880820fe 123082007-08-29 Károly Lőrentey <karoly@lorentey.hu>
8d9cc0b7 12309
b8866860
SM
12310 * buffer.c (Fbuffer_list, Fbury_buffer):
12311 Take frame->buried_buffer_list into account.
8d9cc0b7
MB
12312
12313 * cm.c (current_tty): New variable, for cmputc().
12314 (cmputc): Use it.
12315 (cmcheckmagic): Add tty parameter, look up terminal streams there.
12316 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
b8866860
SM
12317 (cmgoto): Add tty parameter. Pass it on to calccost().
12318 Use emacs_tputs() instead of tputs().
8d9cc0b7
MB
12319
12320 * cm.h (emacs_tputs): New macro to set current_tty, and then call
12321 tputs().
12322 (current_tty): New variable, for cmputc().
12323 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
12324
12325 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
12326 (internal_condition_case, internal_condition_case_1)
12327 (internal_condition_case_2): Don't abort when x_catching_errors.
12328
12329 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
12330 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
12331 prevent crashes caused by bogus longjmps in read_char.
12332
12333 * keymap.h (Fset_keymap_parent): Add EXFUN.
12334
12335 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
12336 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
12337 Remove redundant definition.
12338
b8866860
SM
12339 * macfns.c (x_set_mouse_color, x_make_gc):
12340 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7 12341
b8866860
SM
12342 * w32term.c (x_free_frame_resources):
12343 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
12344 (w32_initialize): Use the accessor macros for terminal characteristics.
12345
12346 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
12347 Use the accessor macros for terminal characteristics.
12348 * msdos.c (internal_terminal_init): Use the accessor macros for
12349 terminal characteristics.
b8866860
SM
12350 (ScreenVisualBell, internal_terminal_init):
12351 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
12352
12353 * termopts.h (no_redraw_on_reenter): Declare.
12354
12355 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
03f06e5c 12356 (mark_terminals, mark_ttys): Declare.
8d9cc0b7 12357 (Fgarbage_collect): Call them.
03f06e5c 12358 (mark_object): Mark buried_buffer_list.
8d9cc0b7
MB
12359
12360 * prefix-args.c: Include stdlib.h for exit.
12361
12362 * syssignal.h: Add comment.
12363
12364 * indent.c: Include stdio.h.
12365
12366 * window.h (Vinitial_window_system): Declare.
12367 (Vwindow_system): Delete declaration.
12368
12369 * fontset.c (Finternal_char_font): Use FRAME_RIF.
12370
12371 * image.c (lookup_image): Don't initialize `c' until the xasserts
12372 have been run.
12373
12374 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
12375 FRAME_FOREGROUND_PIXEL.
12376
12377 * print.c (print_preprocess): Don't lose print_depth levels while
12378 iterating.
12379
b8866860
SM
12380 * widget.c (update_from_various_frame_slots):
12381 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
12382
12383 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
12384 frames.
12385 (window_internal_height): Remove bogus make_number call.
b8866860 12386 (init_window_once): Call make_terminal_frame with two zero parameters.
8d9cc0b7
MB
12387
12388 * fileio.c (Fread_file_name): Update comment.
12389
b8866860
SM
12390 * callint.c (Fcall_interactively):
12391 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
8d9cc0b7
MB
12392 Make sure it is correctly unwound.
12393
12394 * xsmfns.c (x_session_close): New function.
12395
03f06e5c 12396 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
8d9cc0b7
MB
12397 Delete declarations.
12398
12399 * xterm.h: Remove declaration for x_fully_uncatch_errors.
12400 (x_output): Remove background_pixel and foreground_pixel fields.
03f06e5c 12401 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
c3f9fba8 12402 (x_delete_device, x_session_close): Declare.
8d9cc0b7
MB
12403
12404 * lread.c: Include setjmp.h. Update declaration of `read_char'.
12405 (read_filtered_event): Call `read_char' with a local
12406 `wrong_kboard_jmpbuf'.
12407
b8866860
SM
12408 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
12409 Don't call single_kboard_state. Use FRAME_RIF.
8d9cc0b7
MB
12410
12411 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
12412 systems.
12413
b8866860 12414 * lisp.h (set_process_environment): Rename to `set_global_environment'.
03f06e5c 12415 (Fframe_with_environment, Fset_input_meta_mode)
8d9cc0b7 12416 (Fset_quit_char): EXFUN.
03f06e5c 12417 (x_create_device, tty_output, terminal, tty_display_info): Declare.
8d9cc0b7
MB
12418 (init_sys_modes, reset_sys_modes): Update prototypes.
12419 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
12420
b8866860
SM
12421 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
12422 Vlocal_key_translation_map, and Vkeyboard_translate_table.
03f06e5c 12423 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
8d9cc0b7 12424 Delete declarations.
03f06e5c
JB
12425 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
12426 (temporarily_switch_to_single_kboard, tty_read_avail_input):
8d9cc0b7
MB
12427 New declarations.
12428
12429 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
12430 already does that during init_display(). Call syms_of_keymap
b8866860
SM
12431 before syms_of_keyboard. Call `syms_of_terminal'.
12432 Call set_initial_environment, not set_process_environment.
8d9cc0b7
MB
12433 (shut_down_emacs): Call reset_all_sys_modes() instead of
12434 reset_sys_modes().
12435
12436 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
03f06e5c
JB
12437 (internal_resolve_face_name, resolve_face_name_error): New functions.
12438 (resolve_face_name): Protect against loops and errors thrown by Fget.
12439 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
8d9cc0b7
MB
12440 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
12441
12442 * scroll.c: Replace CURTTY() with local variables throughout the
12443 file (where applicable).
12444 (calculate_scrolling, calculate_direct_scrolling)
12445 (scrolling_1, scroll_cost): Use the accessor macros for terminal
12446 characteristics.
12447
12448 * keymap.c (Vfunction_key_map): Remove.
b8866860 12449 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
8d9cc0b7
MB
12450 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
12451 (Vkey_translation_map): Remove.
12452 (syms_of_keymap): Remove DEFVAR for key-translation-map.
c3f9fba8 12453 (Fdescribe_buffer_bindings)
8d9cc0b7
MB
12454 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
12455 Update for terminal-local key-translation-map.
12456
12457 * Makefile.in (callproc.o): Update dependencies.
12458 (lisp, shortlisp): Add termdev.elc.
12459 (obj): Add terminal.o.
12460 (terminal.o): Add dependencies.
12461 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
12462 (data.o, fns.o): Add termhooks.h dependency.
12463 (SOME_MACHINE_LISP): Add dnd.elc.
12464 (minibuf.o): Fix typo.
12465 Update dependencies.
12466
12467 * data.c (do_symval_forwarding, store_symval_forwarding)
12468 (find_symbol_value): Use the selected frame's keyboard, not
12469 current_kboard.
12470
12471 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
12472 Vwindow_system.
12473
12474 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
12475 Fmenu_bar_open.
12476 (syms_of_xmenu): Update defsubr.
12477 (mouse_position_for_popup, Fx_popup_menu)
12478 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
12479 (set_frame_menubar, free_frame_menubar)
12480 (create_and_show_popup_menu, xmenu_show, )
12481 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
12482 an X frame.
12483
12484 * xselect.c (x_own_selection): Abort if not an X frame.
12485 (some_frame_on_display): Check if it is an X frame.
12486 (x_handle_selection_clear): Deal with MULTI_KBOARD.
12487
12488 * coding.c: Include frame.h and termhooks.h.
03f06e5c 12489 (terminal_coding, keyboard_coding): Delete.
c3f9fba8
JB
12490 (Fset_terminal_coding_system_internal)
12491 (Fset_keyboard_coding_system_internal)
12492 (Fkeyboard_coding_system)
03f06e5c
JB
12493 (Fterminal_coding_system): Add a terminal parameter.
12494 Get terminal_coding from the terminal.
8d9cc0b7
MB
12495 (init_coding_once): Don't call setup_coding_system here.
12496
12497 * dispextern.h (set_scroll_region, turn_off_insert)
12498 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
12499 (tty_clear_end_of_line, tty_setup_colors)
03f06e5c 12500 (delete_tty, updating_frame)
8d9cc0b7
MB
12501 (produce_special_glyphs, produce_glyphs, write_glyphs)
12502 (insert_glyphs): Remove.
12503 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
03f06e5c 12504 (tty_turn_off_highlight, get_tty_size): Add declaration.
b8866860 12505 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
8d9cc0b7
MB
12506
12507 * frame.h (enum output_method): Add output_initial.
12508 (struct x_output): Delete.
b8866860
SM
12509 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
12510 Access foreground_pixel and background_pixel directly from the frame.
8d9cc0b7
MB
12511 (tty_display): Delete.
12512 (struct frame): Add buried_buffer_list, foreground_pixel,
1f204af3 12513 background_pixel and terminal. Delete kboard.
8d9cc0b7
MB
12514 (union output_data): Add tty.
12515 (FRAME_KBOARD): Get the kboard from the terminal.
12516 (FRAME_INITIAL_P): New macro.
12517 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
12518 (Qterm_environment_variable, Qdisplay_environment_variable)
b8866860
SM
12519 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
12520 New declarations.
8d9cc0b7
MB
12521
12522 * termchar.h (tty_output, tty_display_info): New structures.
12523 (tty_list): Declare.
12524 (FRAME_TTY, CURTTY): New macros.
12525 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
12526 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
12527 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
12528 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
12529
12530 * callproc.c: Include frame.h and termhooks.h, for terminal
12531 parameters.
12532 (add_env): New function.
12533 (child_setup): Use it.
b8866860 12534 (child_setup, getenv_internal): Handle the new Vprocess_environment.
8d9cc0b7
MB
12535 (getenv_internal): Fix get_terminal_param call.
12536 (Fgetenv_internal, egetenv): Update doc.
12537 (syms_of_callproc): Initialize Vprocess_environment to nil.
03f06e5c 12538 Register and initialize them. Remove obsolete defvars. Update doc
8d9cc0b7
MB
12539 strings.
12540 (child_setup): Handle Vlocal_environment_variables.
b8866860
SM
12541 (getenv_internal): Add terminal parameter.
12542 Handle Vlocal_environment_variables.
8d9cc0b7
MB
12543 (Fgetenv_internal): Add terminal parameter.
12544 (child_setup, getenv_internal, Fgetenv_internal): Store the local
b8866860 12545 environment in a frame (not terminal) parameter. Update doc strings.
8d9cc0b7
MB
12546 (set_initial_environment): Rename from set_global_environment.
12547 Store Emacs environment in initial frame parameter.
12548
12549 * xdisp.c (redisplay_internal): Update references to
12550 `previous_terminal_frame'.
12551 (display_mode_line, Fformat_mode_line): Replace calls to
12552 `push_frame_kboard' with `push_kboard'.
12553 (get_glyph_string_clip_rects): Add extra parentheses and
12554 braces to prevent compiler warnings.
12555 (calc_pixel_width_or_height): Add xassert to check that the
12556 frame is alive. Don't call `lookup_image' on a termcap frame.
12557 (message2_nolog, message3_nolog, redisplay_internal)
12558 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
12559 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
12560 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
12561 (Fx_display_pixel_width, Fx_display_pixel_height)
12562 (Fx_display_planes, Fx_display_color_cells)
12563 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
12564 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
12565 (Fx_display_backing_store, Fx_display_visual_class)
12566 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
97ddc760 12567 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
8d9cc0b7
MB
12568
12569 * xfns.c (x_set_foreground_color x_set_background_color)
b8866860
SM
12570 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
12571 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
12572 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
12573 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
12574 terminal that is being deleted.
12575 (Fx_create_frame): Use `store_frame_param' to set `window-system'
b8866860 12576 frame parameter, and make sure it overrides any user-supplied setting.
8d9cc0b7
MB
12577 (Fx_close_connection, Fx_synchronize): Unify argument names with
12578 the rest of the DEFUNs.
12579
12580 * dispnew.c (Fsend_string_to_terminal): Update call to
12581 `get_tty_terminal'.
12582 (Fredraw_frame, Fsend_string_to_terminal)
2d33f506 12583 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
8d9cc0b7
MB
12584 FRAME_TERMCAP_P and FRAME_TTY.
12585 (window_change_signal): Don't believe width/height values that are
12586 impossibly small.
12587 (Vinitial_window_system): Rename from Vwindow_system.
12588 (termscript, Wcm, rif): Delete.
12589
12590 * termhooks.h (struct terminal): New struct containing the
12591 previously global text display hooks and new members NAME,
12592 DELETED and PARAM_ALIST.
12593 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
12594 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
12595 (FRAME_RIF): New macros.
12596 (get_terminal_param, get_device): New declarations.
12597 (termscript): Delete declaration.
12598
12599 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
12600 (XTflash, x_free_frame_resources, x_scroll_bar_create)
12601 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
12602 FRAME_FOREGROUND_PIXEL.
12603 (x_fully_uncatch_errors): Disable definition.
12604 (x_scroll_bar_expose): Fix reference to foreground pixel.
12605 (XTread_socket): Disable loop on all X displays.
12606 (x_delete_terminal): Don't set terminal->deleted and let
12607 delete_terminal delete the frames on the terminal.
12608 (x_delete_display): Doc update to reflect changes in
12609 delete_terminal.
12610 (x_display_info) <terminal>: Move member earlier in the struct.
8d9cc0b7
MB
12611 (deleting_tty): Remove old variable.
12612 (Fsuspend_tty): Call clear_tty_hooks.
12613 (Fresume_tty, init_tty): Call set_tty_hooks.
8d9cc0b7
MB
12614 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
12615 errors on X frames.
12616 (x_catch_errors_unwind): Abort if x_error_message is NULL.
12617 (handle_one_xevent): Initialize `f' to NULL.
9cab96b0 12618 (x_delete_terminal, x_create_terminal): New functions.
8d9cc0b7
MB
12619 (XTset_terminal_modes, XTreset_terminal_modes)
12620 (XTread_socket, x_connection_closed, x_term_init)
12621 (x_term_init, x_delete_display): Add terminal parameter.
12622 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
12623 X connections.
12624
bf380f53
GM
12625 * frame.c: Include termchar.h.
12626 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
12627 (Qwindow_system, Qenvironment, Qterm_environment_variable)
12628 (Qdisplay_environment_variable): New vars.
12629 (Fframep): Deal with output_initial.
12630 (Fframe-live-p): Doc fix.
12631 (Fwindow-system): New function.
8d9cc0b7
MB
12632 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
12633 (make_terminal_frame): Don't create frames on a terminal that is
bf380f53 12634 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
b8866860 12635 (store_frame_param): Check for found_for_frame before calling XFRAME.
8d9cc0b7
MB
12636 (Fmake_terminal_frame): Handle NULL tty names correctly.
12637 (syms_of_frame): Enhance doc string of `default-frame-alist'.
bf380f53
GM
12638 (Fdelete_frame): Remove unused variable `count'. Don't allow other
12639 frames to refer to a deleted frame in their 'environment parameter.
8d9cc0b7 12640 (Fframe_with_environment): New function.
b8866860 12641 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
8d9cc0b7
MB
12642 (get_future_frame_param): New function.
12643 (Fmake_terminal_frame): Use it.
2d33f506 12644 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
8d9cc0b7
MB
12645
12646 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
12647 * sysdep.c (reset_sys_modes): Update for renames.
12648
12649 * keyboard.c (tty_read_avail_input): New function.
03f06e5c 12650 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
8d9cc0b7
MB
12651 (syms_of_keyboard): Defsubr them.
12652 (Fset_input_meta_mode, Fset_quit_char): New functions.
12653 (Fset_input_mode): Split to above functions.
8d9cc0b7
MB
12654 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
12655 parameter. Use it in call to `read_char'.
b8866860
SM
12656 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
12657 Set wrong_kboard_jmpbuf correctly in recursive calls.
12658 Use current_kboard to access Vkeyboard_translate_table.
12659 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
12660 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
12661 Update longjmp invocations. Remember the original current_kboard,
12662 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
12663 changes it. Comment out unnecessary calls to
12664 `record_single_kboard_state' and `any_kboard_state'.
12665 Update recursive calls.
8d9cc0b7
MB
12666 (wrong_kboard_jmpbuf): Remove global variable.
12667 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
12668 Handle deleted interrupted_kboards correctly; that is a legal
12669 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
b8866860 12670 and read_char calls. Abort if interrupted_kboard died in read_char.
8d9cc0b7
MB
12671 (any_kboard_state, single_kboard_state)
12672 (push_frame_kboard): Remove function.
12673 (pop_kboard): Switch out of single_kboard mode if the kboard has
03f06e5c
JB
12674 been deleted. Remove unused variable. Help debugging by not
12675 changing current_kboard unnecessarily. Set current_kboard to the
8d9cc0b7
MB
12676 kboard of the selected frame when the stored kboard object has
12677 been deleted before pop_kboard.
12678 (temporarily_switch_to_single_kboard): Change first parameter to a
12679 frame pointer. Throw an error when caller wants to change kboards
12680 while in single_kboard mode. Don't push_kboard if we weren't in
12681 single kboard state. Don't pop_kboard if we popped into any
12682 kboard state.
12683 (restore_kboard_configuration): Abort if pop_kboard changed the
03f06e5c 12684 kboard in single_kboard mode. Call pop_kboard only after setting
8d9cc0b7
MB
12685 up single_kboard mode.
12686 (Frecursive_edit): Switch to single_kboard mode only in nested
12687 command loops.
b8866860
SM
12688 (cmd_error, command_loop, command_loop_1, timer_check):
12689 Comment out unnecessary call to `any_kboard_state' and
8d9cc0b7
MB
12690 `record_single_kboard_state'.
12691 (delete_kboard): Exit single_kboard mode if we have just deleted
03f06e5c 12692 that kboard. Use FRAME_KBOARD.
8d9cc0b7
MB
12693 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
12694 `fatal_error_signal'.
12695 (record_single_kboard_state): Don't push_kboard if we weren't in
12696 single kboard state. Don't pop_kboard if we popped into any
12697 kboard state.
12698 (push_frame_kboard): Rename to push_kboard.
12699 (kbd_buffer_get_event): Use FRAME_TERMINAL.
12700 (read_avail_input): Read input from all terminals.
12701 (mark_kboards): Also mark Vkeyboard_translate_table.
12702 (kbd_buffer_store_event_hold): Simplify condition.
12703 (read_key_sequence): Reinitialize fkey and keytran at each replay.
12704 (Vkeyboard_translate_table): Move to struct kboard.
12705 (init_kboard): Initialize Vkeyboard_translate_table.
12706 (syms_of_keyboard): Use DEFVAR_KBOARD to define
12707 Vkeyboard_translate_table. Update doc strings. Update docs of
12708 local-function-key-map and function-key-map.
12709
12710 * terminal.c: New file.
12711
12712 * term.c: Include errno.h.
12713 (Vring_bell_function, device_list, initial_device)
12714 (next_device_id, ring_bell, update_begin, update_end)
12715 (set_terminal_window, cursor_to, raw_cursor_to)
12716 (clear_to_end, clear_frame, clear_end_of_line)
12717 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
12718 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
12719 (syms_of_term): Move their initialization to terminal.c.
12720 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
12721 (Ftty_display_color_cells)
12722 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
9cab96b0 12723 (clear_tty_hooks, set_tty_hooks)
8d9cc0b7
MB
12724 (init_tty, maybe_fatal): New functions.
12725 (Ftty_type): Return nil if terminal is not on a tty instead of
12726 throwing an error. Doc update.
12727 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
03f06e5c 12728 Doc update. Initialize new subrs and variables.
8d9cc0b7
MB
12729 (delete_tty): Use terminal->deleted.
12730 (tty_set_terminal_modes): Rename from set_terminal_modes.
12731 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
12732 (set_scroll_region): Rename to `tty_set_scroll_region'.
12733 (turn_on_insert): Rename to `tty_turn_on_insert'.
12734 (turn_off_insert): Rename to `tty_turn_off_insert'.
12735 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
12736 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
12737 (toggle_highligh): Rename to `tty_toggle_highlight'.
12738 (background_highlight): Rename to `tty_background_highlight'.
12739 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
12740 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
12741 (tty_set_scroll_region, tty_background_highlight)
12742 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
12743 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
12744 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
12745 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
12746 Add static modifier.
12747 (tty_reset_terminal_modes, tty_set_terminal_window)
12748 (tty_set_scroll_region, tty_background_highlight)
12749 (tty_highlight_if_desired, tty_cursor_to)
12750 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
12751 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
12752 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
12753 renames.
12754
880820fe 127552007-08-28 Jan Djärv <jan.h.d@swipnet.se>
cf0590c4
JD
12756
12757 * keyboard.c: Qrtl is new.
12758 (parse_tool_bar_item): Handle :rtl keyword.
12759 (syms_of_keyboard): Intern :rtl keyword.
12760
12761 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
12762
12763 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
12764 so no Lisp code is executed.
12765 (file_for_image, find_rtl_image): New functions.
1f204af3 12766 (xg_get_image_for_pixmap): Use file_for_image.
cf0590c4
JD
12767 (update_frame_tool_bar): If direction is RTL, use RTL image if
12768 defined. Use Gtk stock images if defined.
12769
83cc8d35
YM
127702007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12771
12772 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
12773 for nonexistent or zero-width glyph in composition glyph.
12774
e60c4e15
SM
127752007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
12776
d7e2a28f
SM
12777 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
12778
e60c4e15
SM
12779 * xdisp.c (Finvisible_p): New function.
12780 (syms_of_xdisp): defsubr it.
12781
ee163e6d
JB
127822007-08-24 Juanma Barranquero <lekktu@gmail.com>
12783
12784 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
12785 Doc fixes.
12786
90fa408d
YM
127872007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12788
35277b03 12789 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
90fa408d 12790
cac4219c
MR
127912007-08-24 Martin Rudalics <rudalics@gmx.at>
12792
12793 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
12794 whether decoding has modified buffer contents.
12795
5fc9fdeb
JR
127962007-08-24 Jason Rumney <jasonr@gnu.org>
12797
12798 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
12799 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
12800 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
12801 (init_svg_functions) [HAVE_NTGUI]: New function.
12802 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
12803 (svg_load_image): Use them.
12804 (svg_load_image) [HAVE_NTGUI]: Implement background.
12805
93b23406
YM
128062007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12807
12808 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
12809 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
12810 (LIBX): Remove @RSVG_LIBS@.
12811 (LIBES): Add $(RSVG_LIBS).
12812
12813 * image.c (svg_load_image): Blend with specified background if exists.
12814 Use IMAGE_BACKGROUND. Add Mac OS Support.
12815
12816 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
12817 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
12818 Remove macros.
12819 [MAC_OSX] (socket_callback): Do nothing.
12820 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
12821 ReceiveNextEvent.
12822 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
12823 socket_callback.
12824 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
12825
2467875c
GM
128262007-08-22 Glenn Morris <rgm@gnu.org>
12827
ff8da443 12828 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
2467875c 12829
4ab27a43
GM
128302007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
12831
12832 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
ff8da443 12833
666e0eda
GM
12834 * image.c: Add support for SVG images. Some additional comments
12835 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
12836 (svg_image_p): New function to test for SVG image.
12837 (svg_load): New function to load SVG image.
12838 (svg_load_image): New function, helper for svg_load.
12839 (Qsvg): New Lisp_object.
12840 (svg_keyword_index): New enum.
12841 (svg_format): New static `image_keyword' struct.
12842 (svg_type): New static `image_type' struct.
12843 (librsvg/rsvg.h): Include it.
4ab27a43 12844
b636b4c1
SM
128452007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
12846
12847 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
12848
9ecb827b
SM
128492007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
12850
1d064697
SM
12851 * lread.c (Qold_style_backquotes): New var.
12852 (syms_of_lread): Init and staticpro it.
12853 (load_warn_old_style_backquotes): New fun.
12854 (Fload): Use them to warn about old style backquotes.
12855 (end_of_file_error, Fload): Remove unused vars.
12856
5772ed4b
SM
12857 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
12858
9ecb827b 12859 * lread.c (Vold_style_backquotes): New var.
5aa273b0 12860 (syms_of_lread): Init and export it to Elisp.
9ecb827b
SM
12861 (read1): Set it when we find an old-style (back)quote.
12862
32e1c7b1
JR
128632007-08-22 Jason Rumney <jasonr@gnu.org>
12864
12865 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
12866
b8fa755b
KY
128672007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
12868
12869 * puresize.h (BASE_PURESIZE): Increase to 1140000.
12870
1283140e
RS
128712007-08-19 Richard Stallman <rms@gnu.org>
12872
12873 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
12874
2c4685ee
AS
128752007-08-19 Andreas Schwab <schwab@suse.de>
12876
12877 * alloc.c (pure): Round PURESIZE up.
12878
880820fe 128792007-08-17 Jan Djärv <jan.h.d@swipnet.se>
e8953ebf
JD
12880
12881 * xterm.c (handle_one_xevent): Remove check that mouse click is in
12882 active frame.
12883
6e33efc4
RS
128842007-08-16 Richard Stallman <rms@gnu.org>
12885
12886 * eval.c (Fcommandp): Add parens to clarify.
12887
12888 * minibuf.c (Fall_completions): Use enum for type of table.
12889
12890 * emacs.c (USAGE2): Improve text.
12891
fcf8ff2e
GM
128922007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
12893
5205ee62
GM
12894 * term.c (tty_default_color_capabilities): Declare static
12895 variables in file scope, to avoid HPUX compiler problem.
fcf8ff2e 12896
880820fe 128972007-08-13 Jan Djärv <jan.h.d@swipnet.se>
81d13a51
JD
12898
12899 * gtkutil.c (update_frame_tool_bar): Use -1 as index
12900 to gtk_toolbar_insert.
12901
4a181359
SM
129022007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
12903
1bc99c9c
SM
12904 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
12905
4a181359
SM
12906 * insdel.c (reset_var_on_error): New fun.
12907 (signal_before_change, signal_after_change):
12908 Use it to reset (after|before)-change-functions to nil in case of error.
12909 Bind inhibit-modification-hooks to t.
12910 Don't bind (after|before)-change-functions to nil while they run.
12911
6c28435c
YM
129122007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12913
12914 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
12915 filling pixmap with stippled background.
12916
ad3b3e02
YM
129172007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12918
12919 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
12920 Don't use invisible frame as parent window for repositioning.
12921
a22dec27
SM
129222007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
12923
12924 * print.c (new_backquote_output): Rename from old_backquote_output.
12925 (print): Inverse its logic (according to its name) so as to match the
12926 behavior of new_backquote_flag in lread.c.
12927
7b7d07bb
YM
129282007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12929
12930 * gmalloc.c (posix_memalign): New function.
12931
12932 * macterm.c (frame_highlight, frame_unhighlight): Don't call
12933 ActivateControl/DeactivateControl here.
12934 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
12935 frame-notice-user-settings is non-nil.
12936 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
12937 for kEventParamFMFontStyle.
12938 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
12939 mac_pass_command_to_system and mac_pass_control_to_system here.
12940 (XTread_socket): Call ActivateControl/DeactivateControl here.
12941 (XTread_socket) [TARGET_API_MAC_CARBON]:
12942 Check mac_pass_command_to_system and mac_pass_control_to_system here.
f9426479
YM
12943 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
12944 for window repositioning.
7b7d07bb 12945
22e9fe24
GM
129462007-08-08 Glenn Morris <rgm@gnu.org>
12947
12948 * Replace `iff' in doc-strings and comments.
12949
ae494350
CY
129502007-08-07 Chong Yidong <cyd@stupidchicken.com>
12951
12952 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
12953
6f2528d8
MR
129542007-08-07 Martin Rudalics <rudalics@gmx.at>
12955
12956 * fileio.c (Finsert_file_contents): Run format-decode and
12957 after_insert_file_functions on entire buffer when REPLACE is
12958 non-nil and inhibit modification_hooks and point_motion_hooks.
12959 For consistency, run after_insert_file_functions iff something
12960 got inserted. Move signal_after_change and update_compositions
12961 after code running after_insert_file_functions. Make sure that
6b8e474c 12962 undo_list doesn't record intermediate steps of the decoding process.
6f2528d8 12963
3ceeb306
YM
129642007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12965
12966 * emacs.c (main)
12967 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
12968 Call malloc_enable_thread on interactive startup.
12969
12970 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
7b7d07bb
YM
12971 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
12972 [USE_PTHREAD]: Conditionalize with it.
3ceeb306
YM
12973 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
12974 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
12975 New functions.
12976
ca5e6fd5
CY
129772007-08-06 Chong Yidong <cyd@stupidchicken.com>
12978
32bfce5d
CY
12979 * xdisp.c (redisplay_window): When restoring original buffer
12980 position, make sure it is still valid.
12981
ca5e6fd5
CY
12982 * image.c (png_load): Ignore png-supplied background color.
12983
a5b11587
YM
129842007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12985
12986 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
12987 Use kCFAbsoluteTimeIntervalSince1970.
12988
12989 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
12990 New variable.
12991 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
12992 event loop should be quit.
12993 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
12994 Quit dialog event loop if quit_dialog_event_loop is set.
12995
12996 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
12997 (Selection): New typedef. Use instead of ScrapRef.
12998 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
12999 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
13000 (mac_clear_selection): Rename from clear_scrap.
13001 (get_flavor_type_from_symbol): New argument SEL and subsume function of
ff8da443 13002 scrap_has_target_type. All uses changed.
a5b11587
YM
13003 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
13004 (mac_selection_has_target_p): New functions.
13005 (mac_put_selection_value): Rename from put_scrap_string.
13006 (mac_get_selection_value): Rename from get_scrap_string.
13007 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
13008 (put_scrap_private_timestamp, scrap_has_target_type)
13009 (get_scrap_private_timestamp): Remove functions.
13010 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
13011 (x_own_selection, x_get_local_selection):
13012 Use mac_valid_selection_value_p.
13013 (x_own_selection): Don't use put_scrap_private_timestamp.
13014 Record OWNERSHIP-INFO into Vselection_alist instead.
13015 (x_get_local_selection): Don't check type if request is local.
13016 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
13017 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
13018
880820fe 130192007-08-04 Jan Djärv <jan.h.d@swipnet.se>
991bde0d
JD
13020
13021 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
13022 add comment explaining why.
13023
73ff9d42
RS
130242007-08-03 Richard Stallman <rms@gnu.org>
13025
13026 * fileio.c (Fvisited_file_modtime): Use make_time.
13027
54ed9a2d 130282007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
cdf5c17a
VJL
13029
13030 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
13031 build.
13032
65a9c8e2
SM
130332007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
13034
13035 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
13036
c5925799
KY
130372007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
13038
13039 * puresize.h (BASE_PURESIZE): Increase to 1130000.
13040
adef3de7
RS
130412007-07-30 Richard Stallman <rms@gnu.org>
13042
13043 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
13044
880820fe 130452007-07-29 Jan Djärv <jan.h.d@swipnet.se>
784c1472
JD
13046
13047 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
13048
a10421a1
NR
130492007-07-28 Nick Roberts <nickrob@snap.net.nz>
13050
13051 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
13052 remote default-directory.
13053
13054 * buffer.c (mode-line-format): Update doc string.
13055
0cb1ae20
YM
130562007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13057
13058 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
13059 scroll bar gap.
13060 (x_scroll_bar_create): Set bar->fringe_extended_p.
13061 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
13062 on frame edge. Check fringe background extension. Don't clear
13063 extended fringe background area.
13064
13065 * w32term.h (struct scroll_bar): New member fringe_extended_p.
13066 (w32_fill_area): Enclose multiple statements with do ... while (0).
13067
13068 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
13069 Extend fringe background to scroll bar gap.
13070 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
13071 Set bar->fringe_extended_p.
13072 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
13073 Put leftmost/rightmost scroll bars on frame edge. Check fringe
13074 background extension. Don't clear extended fringe background area.
13075
13076 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
13077 New member fringe_extended_p.
13078
cacc7b51
GM
130792007-07-25 Glenn Morris <rgm@gnu.org>
13080
13081 * Relicense all FSF files to GPLv3 or later.
13082
13083 * COPYING: Switch to GPLv3.
13084
89835619
SM
130852007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
13086
c4f46926
SM
13087 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
13088
13089 * data.c (Finteractive_form): Check for the presence of an
13090 `interactive-form' symbol property more thoroughly.
13091
13092 * data.c (Finteractive_form): Use an `interactive-form' property if
89835619
SM
13093 present, analogous to the function-documentation property.
13094
ee04257d
JR
130952007-07-24 Jason Rumney <jasonr@gnu.org>
13096
13097 * w32fns.c (x_real_positions): Get real position from OS instead of
13098 calculating it.
13099
50624218
JR
131002007-07-23 Jason Rumney <jasonr@gnu.org>
13101
13102 * filelock.c (current_lock_owner): Allow for @ sign in username.
13103
3650f60e
NR
131042007-07-22 Nick Roberts <nickrob@snap.net.nz>
13105
13106 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
13107 remote default-directory.
13108
13109 * buffer.c (mode-line-format): Describe above case in doc string.
13110
1e899515 131112007-07-20 Eli Zaretskii <eliz@gnu.org>
b395d6e1 13112
75be5258
EZ
13113 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
13114 Define if not defined.
13115
2b6e2f4d
JR
131162007-07-18 Jason Rumney <jasonr@gnu.org>
13117
13118 * w32proc.c (w32_executable_type): Handle 64 bit executables.
13119
23dacf80
JB
131202007-07-18 Richard Stallman <rms@gnu.org>
13121
13122 * data.c (Fsetq_default): Doc fix.
13123
13124 * eval.c (Fsetq): Doc fix.
13125
131262007-07-18 Juanma Barranquero <lekktu@gmail.com>
13127
13128 * coding.c (Ffind_operation_coding_system):
13129 * eval.c (For, Fand): Doc fixes.
880820fe 13130 Reported by Johan Bockgård.
23dacf80 13131
880820fe 131322007-07-18 Jan Djärv <jan.h.d@swipnet.se>
656de71a 13133
23dacf80 13134 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
656de71a 13135
23dacf80 13136 * xterm.h: Declare x_ewmh_activate_frame.
656de71a
JD
13137
13138 * xterm.c (x_ewmh_activate_frame): New function.
13139 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
13140
71ec17e6
MR
131412007-07-17 Martin Rudalics <rudalics@gmx.at>
13142
13143 * window.c (Fdisplay_buffer): If largest or LRU window is the
13144 only window, split it even if it is not eligible for splitting.
13145 This restores the original behavior broken by the 2007-07-15
13146 change.
13147
e9818042
GM
131482007-07-17 Glenn Morris <rgm@gnu.org>
13149
13150 * abbrev.c (abbrev_check_chars): New function.
6b8e474c
SM
13151 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
13152 Call abbrev_check_chars to check abbrev characters are word
e9818042
GM
13153 constituents. Doc fix.
13154
e6fca843
SM
131552007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
13156
13157 * process.c (Fstart_process, Fmake_network_process)
13158 (read_process_output): Fix up last changes.
13159
b5d2b4ab
EZ
131602007-07-16 Eli Zaretskii <eliz@gnu.org>
13161
13162 * makefile.w32-in (clean): Don't delete *~.
13163
413a79ad
AS
131642007-07-16 Andreas Schwab <schwab@suse.de>
13165
13166 * window.c (Fdisplay_buffer): Use NILP.
13167 (Fset_window_scroll_bars): Likewise.
13168
f1de8c77
MR
131692007-07-15 Martin Rudalics <rudalics@gmx.at>
13170
13171 * window.c (window_min_size_2): New function.
13172 (window_min_size_1, size_window, Fdisplay_buffer)
13173 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
13174 windows without mode- or header-lines when window-min-height is
13175 too small.
13176 (size_window): Reset nodelete_p after testing it, following an
13177 earlier note by Kim F. Storm.
13178 (display_buffer): Do not set split_height_threshold to twice the
13179 value of window_min_height to avoid changing the value of a
13180 customizable variable. Rather explicitly check whether the
13181 height of the window that shall be splitted is at least as large
13182 as split_height_threshold.
1af74d06
MB
13183 (Fwindow_full_width_p): New defun.
13184 (syms_of_window): Defsubr it.
d31053f9 13185
1af74d06 13186 * window.h: Add EXFUN for Fwindow_full_width_p.
f1de8c77 13187
5e1ab613
JR
131882007-07-14 Jason Rumney <jasonr@gnu.org>
13189
13190 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
13191
f01cbfdd
RS
131922007-07-14 Richard Stallman <rms@gnu.org>
13193
13194 * eval.c (maybe_call_debugger): New function.
13195 (find_handler_clause): Use maybe_call_debugger.
13196 Call it when the handler says `debug'.
13197 Eliminate DEBUGGER_VALUE_PTR.
13198 (Fsignal): Eliminate debugger_value.
13199 (Qdebug): New variable.
13200 (syms_of_eval): Initialize it.
13201
1bab435a
JB
132022007-07-14 Juanma Barranquero <lekktu@gmail.com>
13203
13204 * eval.c (Fprogn):
13205 * keyboard.c (Ftrack_mouse):
13206 * print.c (Fwith_output_to_temp_buffer):
13207 * window.c (Fsave_window_excursion): Doc fix.
13208
be436d23
SM
132092007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
13210
13211 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
13212
60f0fb11
SM
132132007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
13214
13215 * process.h (struct Lisp_Process): Turn slots infd, outfd,
13216 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
13217 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
13218 read_output_delay, and read_output_skip from Lisp_Objects to ints.
13219 Remove unused encoding_carryover.
13220 * process.c: Adjust all functions accordingly.
13221
d8b18043
RS
132222007-07-12 Richard Stallman <rms@gnu.org>
13223
13224 * term.c: Include unistd.h only if HAVE_UNISTD_H.
13225
d5781bb6
JR
132262007-07-11 Jason Rumney <jasonr@gnu.org>
13227
13228 * makefile.w32-in (LIBS): Include OLE32.
13229
13230 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
13231 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
13232
5bb7dfee
SM
132332007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
13234
13235 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
13236 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
13237 from a Lisp_Object into a bare pointer.
13238 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
13239 Adjust the code correspondingly.
13240
13241 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
13242
13243 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
13244 (term_show_mouse_face): Remove unused var `j'.
13245 (handle_one_term_event): Remove unused vars `i' and `j'.
13246 Don't cast return value of ttyname since it's not necessary.
13247
a1be1ce8
SM
132482007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
13249
5045e68e
SM
13250 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
13251 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
13252
8071c00f
SM
13253 * fns.c (map_char_table): Use an array of int for `indices' rather than
13254 an array of Lisp_Objects (which are only ever integers anyway).
13255 (Fmap_char_table): Update caller.
13256 * lisp.h: Update prototype.
13257 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
13258 * fontset.c (Ffontset_info):
13259 * casetab.c (set_case_table): Update callers.
13260
13261 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
13262
fab84e3c
SM
13263 * keymap.c (struct accessible_keymaps_data)
13264 (struct where_is_internal_data): New structures.
13265 (accessible_keymaps_1, where_is_internal_1): Use them to change
13266 interface to adhere to the one used by map_keymap.
13267 (Faccessible_keymaps, where_is_internal): Use map_keymap.
13268 (accessible_keymaps_char_table, where_is_internal_2): Remove.
13269
a1be1ce8
SM
13270 * keymap.h (map_keymap_function_t): More informative prototype.
13271
ef887810
RS
132722007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
13273
13274 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
13275 (looking_at_1): Don't change search_regs and last_thing_searched
13276 if `inhibit-changing-match-data' is non-nil.
13277 (string_match_1, search_buffer, set_search_regs): Likewise.
13278 (syms_of_search): Add Lisp level definition for
13279 `inhibit-changing-match-data' and set it to nil.
8071c00f
SM
13280 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
13281 start and end of the match, instead of using values in search_regs.
ef887810 13282
4d02fc25
SM
132832007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
13284
13285 * minibuf.c (Fcompleting_read): New value `confirm-only'
13286 for `require-match'.
13287
fe45b81f
SM
132882007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
13289
13290 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
13291 part of the 2007-06-27 change to syms_of_fileio.
13292
a56dd283
YM
132932007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13294
13295 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
13296 Check WINDOWP before using XWINDOW. Consolidate return statements.
13297
0cf9f5b5
RS
132982007-06-27 Richard Stallman <rms@gnu.org>
13299
13300 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
13301
a66f285a
JB
133022007-06-27 Juanma Barranquero <lekktu@gmail.com>
13303
13304 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
13305
8d0d84d2
YM
133062007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13307
13308 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
13309 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
13310 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
13311 (_free_internal, memalign): Use them.
13312 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
13313 Initialize to PTHREAD_MUTEX_INITIALIZER.
13314 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
13315 (morecore_nolock): Rename from morecore. All uses changed.
13316 Use only nolock versions of internal allocation functions.
13317 (_malloc_internal_nolock, _realloc_internal_nolock)
13318 (_free_internal_nolock): New functions created from
13319 _malloc_internal, _realloc_internal, and _free_internal.
13320 (_malloc_internal, _realloc_internal, _free_internal): Use them.
13321 Copy hook value to automatic variable before its use.
13322 (memalign): Copy hook value to automatic variable before its use.
13323
5a0bbd9a
KH
133242007-06-26 Kenichi Handa <handa@m17n.org>
13325
13326 * coding.c (Ffind_operation_coding_system): Docstring improved.
13327 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
13328
9a51747b
DK
133292007-06-25 David Kastrup <dak@gnu.org>
13330
13331 * keymap.c (Fcurrent_active_maps): Add `position' argument.
13332 (Fwhere_is_internal): Adjust call to `current-active-maps' to
13333 cater for additional parameter.
13334
13335 * keymap.h: Adjust number of parameters to `current-active-maps'.
13336
13337 * doc.c (Fsubstitute_command_keys): Adjust call of
13338 `current-active-maps'.
13339
e4305426
DK
133402007-06-25 David Kastrup <dak@gnu.org>
13341
13342 * callint.c (Fcall_interactively): Make the parsing of interactive
13343 specs somewhat more readable.
13344
511a18d9
YM
133452007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13346
13347 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
13348 to scroll bar gap also when bitmap fills fringe. Draw only foreground
13349 if extended background has already been filled.
13350
512eb161
YM
133512007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13352
13353 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
13354 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
13355
13356 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
13357 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
13358 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
13359 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
13360 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
13361 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
13362 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
13363 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
13364 Run timers during dialog popup.
13365 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
13366
2386b1f1
JR
133672007-06-21 Jason Rumney <jasonr@gnu.org>
13368
13369 * image.c (convert_mono_to_color_image): Swap fore and background.
13370
fab8b787
JR
133712007-06-20 Jason Rumney <jasonr@gnu.org>
13372
13373 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
13374 (w32_free_bdf_font): Unmap memory not handle.
13375
15bdd7a0 133762007-06-20 Sam Steingold <sds@gnu.org>
3cacba85
SS
13377
13378 * gmalloc.c (__morecore): Fix the declaration to comply with the
13379 definition.
13380
1bb8a291
JB
133812007-06-20 Juanma Barranquero <lekktu@gmail.com>
13382
13383 * w32term.c (w32_delete_display): Remove leftover declaration.
13384 (w32_define_cursor, w32_initialize): Make static.
13385
13386 * w32.c (_wsa_errlist): Fix typo in error message.
13387 (init_environment): Ignore any environment variable from the
13388 registry having a null value.
13389
92648dea
GM
133902007-06-20 Glenn Morris <rgm@gnu.org>
13391
13392 * Makefile.in (LIBGIF): Default to -lgif.
13393
ff25d115
JR
133942007-06-17 Jason Rumney <jasonr@gnu.org>
13395
13396 * w32menu.c (add_menu_item): Don't use multibyte string functions on
13397 unicode strings.
13398
a1a578a5
JB
133992007-06-16 Juanma Barranquero <lekktu@gmail.com>
13400
13401 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
13402 Fix typo in docstring.
13403
af41f8a8
EZ
134042007-06-16 Eli Zaretskii <eliz@gnu.org>
13405
13406 * w32menu.c (add_menu_item): Escape `&' characters in menu items
13407 and their keybindings.
13408
8b29cab9
CY
134092007-06-15 Chong Yidong <cyd@stupidchicken.com>
13410
13411 * composite.c (update_compositions): Fix last fix.
13412
c433c134
JR
134132007-06-14 Jason Rumney <jasonr@gnu.org>
13414
13415 * w32.c (get_process_times_fn): New function pointer.
13416 (globals_of_w32): Intialize it if present in kernel32.dll.
13417 (w32_get_internal_run_time): New function.
13418
13419 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
13420
553d3164
KH
134212007-06-14 Kenichi Handa <handa@etlken.m17n.org>
13422
13423 * composite.c (update_compositions): Check the validness of
13424 compositions.
13425
446ba96f
YM
134262007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13427
13428 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
13429 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
13430
13431 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
13432 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
13433
13434 * macgui.h (USE_MAC_TOOLBAR): New define.
13435
13436 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
13437 Return immediately unless popup is activated.
13438
13439 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
13440 background to scroll bar gap.
13441 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
13442 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
13443 scroll bars on frame edge. Check fringe background extension.
13444 Don't clear extended fringe background area.
13445 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
13446 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
13447 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
13448 [USE_MAC_TOOLBAR]: New macros.
13449 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
13450 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
13451 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
13452 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
13453 [USE_MAC_TOOLBAR]: New functions.
13454 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
13455 manually if previous repositioning has failed.
13456 (mac_handle_keyboard_event): Use precomputed event kind.
13457 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
13458 as tool bar item click. Handle mouse movement over tool bar items.
13459
13460 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
13461 toolbar_win_gravity.
13462 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
13463 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
13464 Add externs.
13465
13466 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
13467 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
13468
9720173f
CY
134692007-06-14 Chong Yidong <cyd@stupidchicken.com>
13470
13471 * image.c (search_image_cache): Remove unused variable.
13472
1217dd00
CY
134732007-06-13 Chong Yidong <cyd@stupidchicken.com>
13474
13475 * xfns.c, xmenu.c: Link to xaw3d if available.
13476
c5b8e0ea
YM
134772007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13478
13479 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
13480 frame_foreground and frame_background.
13481
13482 * image.c (lookup_image): Save frame foreground and background colors.
13483 (search_image_cache): Check if saved and current frame colors match.
13484
c69b0314
SM
134852007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
13486
13487 * regex.c (regex_compile): Remove the `regnum' counter.
13488 Use bufp->re_nsub instead. Add support for \(?N:RE\).
13489
c9612b8e
SM
134902007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
13491
13492 * term.c: Include intervals.h to declare Fget_text_property.
13493
843d2458
JR
134942007-06-10 Jason Rumney <jasonr@gnu.org>
13495
13496 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
13497
1e0d2d60 134982007-06-08 Juanma Barranquero <lekktu@gmail.com>
977f6cfb
JB
13499
13500 * callint.c (Fcall_interactively):
13501 * editfns.c (Fdelete_and_extract_region):
13502 * fileio.c (Fread_file_name):
13503 * fns.c (Fmapconcat):
13504 * keyboard.c (cmd_error_internal):
13505 * keymap.c (Fkey_description):
13506 * lread.c (openp):
13507 * minibuf.c (read_minibuf):
13508 * search.c (wordify):
13509 * sunfns.c (sel_read):
13510 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
13511 * xfns.c (x_default_scroll_bar_color_parameter):
13512 * xmenu.c (menu_help_callback):
13513 * xselect.c (Fx_get_atom_name):
13514 * xterm.c (x_term_init): Use empty_unibyte_string.
13515
15bdd7a0 135162007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
977f6cfb
JB
13517
13518 * alloc.c (init_strings): Initialize canonical empty strings.
13519 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
13520 canonical empty string when the requested size is 0.
13521
13522 * emacs.c (empty_unibyte_string): Rename from empty_string.
13523 (empty_multibyte_string): New canonical empty string.
13524 (syms_of_emacs): Don't initialize empty_string.
13525
13526 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
13527 string, if appropriate.
13528 (empty_unibyte_string, empty_multibyte_string): New externs.
13529 (empty_string): Remove extern.
13530
13531 * lread.c (syms_of_lread): Use empty_unibyte_string.
13532
42c4c67a
JR
135332007-06-07 Jason Rumney <jasonr@gnu.org>
13534
13535 * s/ms-w32.h: Don't define HAVE_TZNAME.
13536
13537 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
13538
aa8280d3
YM
135392007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13540
13541 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
13542
13543 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
13544 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
13545
13546 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
13547 Don't call next handler.
13548 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
13549 Remove argument. Install handler to application.
13550 (set_frame_menubar): Don't change deep_p.
1e0d2d60 13551 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
aa8280d3
YM
13552 FRAME_OUTER_TO_INNER_DIFF_Y.
13553 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
13554 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
13555 [HAVE_DIALOGS]: New macros.
13556 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
13557 Use them.
13558 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
13559
13560 * macselect.c [MAC_OSX] (install_service_handler): Rename from
13561 init_service_handler. All callers changed. Return OSStatus value.
13562
13563 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
13564 All callers changed so as not to call SetPortWindowPort.
13565 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
13566 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
13567 mac_draw_string_common.
13568 (mac_draw_image_string_qd): Likewise.
13569 (mac_draw_string_common): Use them. Add INLINE.
13570 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
13571 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
13572 GetGlobalMouse.
13573 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
13574 and FRAME_OUTER_TO_INNER_DIFF_Y.
13575 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
13576 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
13577 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
13578 repositioning window to mac_handle_window_event.
13579 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
13580 saving window location to mac_handle_window_event
13581 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
13582 (install_menu_target_item_handler): Remove argument in extern.
13583 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
13584 Also accept command events.
13585 (do_keystroke): New function created from XTread_socket.
13586 (init_command_handler): Remove functions.
13587 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
13588 and save window location by kEventWindowShowing and kEventWindowHiding
13589 handlers here. Don't call next handler for window state change and
13590 focus events.
13591 (mac_handle_application_event, mac_handle_keyboard_event)
13592 [TARGET_API_MAC_CARBON]: New functions.
13593 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
13594 kEventWindowShowing and kEventWindowHiding events. Move installation
13595 of mouse, font, text input and menu target item handlers to
13596 install_application_handler.
13597 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
13598 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
13599 New function.
13600 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
13601 Register it.
c9612b8e
SM
13602 (XTread_socket) [TARGET_API_MAC_CARBON]:
13603 Consolidate SendEventToEventTarget calls.
13604 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
13605 Move application activation handler to mac_handle_application_event.
13606 Move keyboard handler to mac_handle_keyboard_event.
aa8280d3
YM
13607 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
13608 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
13609 init_command_handler. Call install_application_handler.
13610
13611 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
13612 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
13613
6926c954
GM
136142007-06-07 Glenn Morris <rgm@gnu.org>
13615
13616 * emacs.c (main): Use `emacs-copyright' in --version output.
13617
6fe04c89
CY
136182007-06-06 Chong Yidong <cyd@stupidchicken.com>
13619
c9612b8e 13620 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
6fe04c89 13621
7eb0d727
YM
136222007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13623
13624 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
13625
13626 * macgui.h: Replace WindowPtr with WindowRef.
13627
13628 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
13629 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
13630 Replace ControlHandle with ControlRef.
13631 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
13632
13633 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
13634 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
13635 Replace ControlHandle with ControlRef.
13636 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
13637 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
13638
13639 * macterm.h (struct scroll_bar): Rename member control_handle_low
13640 and control_handle_high to control_ref_low and control_ref_high.
13641 All uses changed.
13642 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
13643 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
13644 respectively. All uses changed.
13645 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
13646 (install_window_handler, remove_window_handler): Replace WindowPtr
13647 with WindowRef in externs.
13648
65fddb74
JB
136492007-06-05 Juanma Barranquero <lekktu@gmail.com>
13650
13651 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
13652
db1213a9
NR
136532007-06-03 Nick Roberts <nickrob@snap.net.nz>
13654
13655 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
13656
65fddb74 13657 * frame.c (Fmouse_position, Fmouse_pixel_position):
db1213a9
NR
13658 Condition on HAVE_GPM too.
13659
13660 * term.c (term_mouse_highlight): Remove unused variables.
13661 (Fterm_open_connection): Set gpm_zerobased to 1.
13662 (term_mouse_movement, term_mouse_click, handle_one_term_event):
13663 Use zero based co-ordinates.
13664 (handle_one_term_event): Report a drag as mouse movement too.
13665
13666 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
13667
d94df25b
CY
136682007-06-03 Chong Yidong <cyd@stupidchicken.com>
13669
13670 * image.c (search_image_cache): New function. Require background
13671 color match if background color is unspecified in the image spec.
13672 (uncache_image, lookup_image): Use it.
13673
4797b6d9
JB
136742007-06-01 Juanma Barranquero <lekktu@gmail.com>
13675
13676 * window.c (Fshrink_window): Reflow docstring.
13677
1ffe7343
NR
136782007-06-02 Chong Yidong <cyd@stupidchicken.com>
13679
13680 * Version 22.1 released.
13681
136822007-06-01 Richard Stallman <rms@gnu.org>
13683
13684 * xfns.c (x_encode_text): Add GCPRO.
13685
136862007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13687
13688 * xfns.c (x_set_name_internal): Save encoded name before
13689 x_encode_text in case string data is relocated.
13690
136912007-05-31 Richard Stallman <rms@gnu.org>
13692
13693 * buffer.c (syms_of_buffer): Doc fix.
13694
136952007-05-30 Nick Roberts <nickrob@snap.net.nz>
13696
13697 * sysdep.c (init_sys_modes): Add rather than replace with
13698 O_NONBLOCK.
13699
13700 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
13701 term_mouse_moveto.
13702
13703 * termhooks.h (term_mouse_moveto): New extern.
13704
13705 * term.c (mouse_face_window): Rename...
13706 (Qmouse_face_window): ...to this.
13707 (term_show_mouse_face, term_clear_mouse_face)
13708 (term_mouse_highlight): Use Qmouse_face_window.
13709 (term_mouse_moveto): New function.
13710 (term_mouse_position): Make it work.
13711 (syms_of_term): Uncomment assignment to mouse_position_hook.
13712 Staticpro Qmouse_face_window.
13713
137142007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13715
13716 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
13717 around current_column call.
13718
137192007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
13720
13721 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
13722 * xdisp.c (next_element_from_buffer):
13723 * window.c (delete_window):
13724 * term.c (term_mouse_highlight):
13725 * msdos.c (getdefdir):
13726 * macterm.c (mac_create_bitmap_from_bitmap_data)
13727 (init_font_name_table):
13728 * fns.c (Fsxhash):
13729 * data.c (Fmake_local_variable):
13730 * ccl.c (ccl_driver): Likewise.
13731
137322007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13733
13734 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
13735 Call mac_wakeup_from_rne on window size change.
13736
137372007-05-25 Chong Yidong <cyd@stupidchicken.com>
13738
13739 * image.c (uncache_image): Fix typo.
13740
137412007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
13742
13743 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
13744
137452007-05-22 Richard Stallman <rms@gnu.org>
13746
13747 * xterm.c (x_connection_closed): Remove NO_RETURN.
13748
137492007-05-22 Martin Rudalics <rudalics@gmx.at>
13750
13751 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
13752
137532007-05-21 Chong Yidong <cyd@stupidchicken.com>
13754
13755 * image.c (uncache_image): New function.
13756 (Fimage_refresh): New function.
13757
880820fe 137582007-05-20 Jan Djärv <jan.h.d@swipnet.se>
1ffe7343
NR
13759
13760 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
13761
137622007-05-20 Nick Roberts <nickrob@snap.net.nz>
13763
13764 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
13765 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
13766
137672007-05-20 Nick Roberts <nickrob@snap.net.nz>
13768
13769 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
13770 conditional on [HAVE_GPM_H].
13771
137722007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
13773
13774 * syntax.c (skip_chars): Update syntax-table only after we checked that
13775 the new location is valid.
13776
137772007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13778
13779 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
13780 mac_get_window_bounds.
13781
137822007-05-20 Nick Roberts <nickrob@snap.net.nz>
13783
13784 * Makefile.in (LIBGPM): Allow it to be set from configure.
13785 If set then link Emacs with it.
13786
13787 * config.in: Regenerate.
13788
13789 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
13790 New externs.
13791
13792 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
13793 Include gpm.h.
13794 (handle_one_term_event, term_gpm): New externs.
13795
13796 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
13797 and allow it to be interrupted by SIGIO.
13798
13799 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
13800 (wait_reading_process_output): Wait on gpm_fd too.
13801 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
13802 (add_gpm_wait_descriptor_called_flag): New variable.
13803 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
13804
13805 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
13806 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
13807 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
13808 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
13809 (make_lispy_event): Add case GPM_CLICK_EVENT.
13810 (read_avail_input): Handle mouse input.
13811
13812 * term.c (write_glyphs_with_face): New function.
13813 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
13814 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
13815 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
13816 (mouse_face_face_id, term_gpm, pos_x, pos_y)
13817 (last_mouse_x, last_mouse_y): New variables.
13818 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
13819 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
13820 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
13821 (Fterm_close_connection): New functions.
13822 (term_init): Initialise mouse_face_window.
13823
138242007-05-19 Chong Yidong <cyd@stupidchicken.com>
13825
13826 * xdisp.c (redisplay_window): If first window line is a
13827 continuation line, recompute the new window start instead of
13828 recentering.
13829
138302007-05-18 Glenn Morris <rgm@gnu.org>
13831
13832 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
13833 Suggested by Alfred M. Szmidt <ams@gnu.org>.
13834
138352007-05-17 Glenn Morris <rgm@gnu.org>
13836
13837 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
13838
138392007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13840
13841 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
13842 dead key repeat and up events.
13843
138442007-05-14 Chong Yidong <cyd@stupidchicken.com>
13845
13846 * image.c (pbm_load): Check image size for monochrome pbm.
13847
138482007-05-13 Chong Yidong <cyd@stupidchicken.com>
13849
13850 * xterm.c (XTread_socket): Revert last change.
13851
138522007-05-12 Chong Yidong <cyd@stupidchicken.com>
13853
13854 * image.c (pbm_load): Correctly check image size for greyscale pbm.
13855
13856 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
13857
138582007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
13859
13860 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
13861 mixup (YAILOM).
13862
138632007-05-07 Andreas Schwab <schwab@suse.de>
13864
13865 * keymap.c (Flookup_key): Fix typo in last change.
13866
138672007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
13868
13869 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
13870 mapping for unibyte strings.
13871
138722007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13873
13874 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
13875 (Fx_popup_dialog) [MAC_OSX]: Likewise.
13876
138772007-04-29 Richard Stallman <rms@gnu.org>
13878
13879 * insdel.c (replace_range): For undo, record insertion first.
13880
138812007-04-29 Andreas Schwab <schwab@suse.de>
13882
13883 * lisp.h (VECSIZE): Use OFFSETOF.
13884
138852007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13886
13887 * xdisp.c (try_window_reusing_current_matrix): Fix number of
13888 disabled lines.
13889
138902007-04-28 Richard Stallman <rms@gnu.org>
13891
13892 * lread.c (read_escape): In a string, \s is always space.
13893
880820fe 138942007-04-27 Jan Djärv <jan.h.d@swipnet.se>
1ffe7343
NR
13895
13896 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
13897
13898 * gtkutil.c (xg_update_menubar, create_menus): Create empty
13899 submenu for menu bar items.
13900
382c648d 13901See ChangeLog.10 for earlier changes.
6922b018
KH
13902
13903;; Local Variables:
880820fe 13904;; coding: utf-8
33462dfa 13905;; add-log-time-zone-rule: t
67e8d28a 13906;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
6922b018 13907;; End:
2a34a036 13908
59ce725a 13909 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
7f6d64f8
GM
13910
13911 This file is part of GNU Emacs.
13912
5a1dde61 13913 GNU Emacs is free software: you can redistribute it and/or modify
7f6d64f8 13914 it under the terms of the GNU General Public License as published by
5a1dde61
GM
13915 the Free Software Foundation, either version 3 of the License, or
13916 (at your option) any later version.
7f6d64f8
GM
13917
13918 GNU Emacs is distributed in the hope that it will be useful,
13919 but WITHOUT ANY WARRANTY; without even the implied warranty of
13920 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13921 GNU General Public License for more details.
13922
13923 You should have received a copy of the GNU General Public License
5a1dde61 13924 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
ab5796a9 13925
28f60c3d 13926;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40