add cleanups to be done
[bpt/emacs.git] / src / ChangeLog
CommitLineData
952913d4
DN
12008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2
0ecc3474
DN
3 * terminfo.c (UP, BC, PC): Undo previous change.
4
952913d4
DN
5 * nsfns.m: Rename ns prefixed functions/variables to the
6 corresponding x versions. Update references.
7
02d8b017
SM
82008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
9
10 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
11
11b8fe14
DN
122008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
13
02d8b017
SM
14 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
15 Remove forwarding functions.
cc98b6a0
DN
16 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
17 non-static.
18 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
19 non-static.
20 (ns_frame_parm_handlers): Use the new names.
21 (syms_of_nsfns): Move to the end of file.
22
1baa6236
DN
23 * nsterm.m (syms_of_nsterm): Move to the end of file.
24
11b8fe14
DN
25 * dispnew.c (init_display): Remove code for X10.
26
8dcaeba2
JR
272008-07-22 Jason Rumney <jasonr@gnu.org>
28
02d8b017
SM
29 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
30 bare drive.
8dcaeba2 31
df2142db
AR
322008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
33
34 * nsgui.h:
35 * nsfont.m:
36 * nsmenu.m:
37 * nsterm.m: Change PENDINGS to FIXME / TODO / XXX.
38
365bac35
AR
392008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
40
41 * nsterm.m (syms_of_nsterm): Remove debugging println.
42
6a0f0f86
DR
432008-07-22 David Reitter <david.reitter@gmail.com>
44
a3c83618 45 * nsfns.m (do_applescript, F_do_applescript): NS version of the
6a0f0f86
DR
46 Carbon implementation of the same functionality: execute arbitrary
47 AppleScript code.
48
51d5ef9f
AR
492008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
50
a3c83618 51 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
51d5ef9f
AR
52 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
53 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
54 (Fx_display_mm_height, Fx_display_mm_width)
55 (Fx_display_backing_store, Fx_display_visual_class)
56 (Fx_display_save_under, Fx_open_connection)
57 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
58 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
59 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
60 (Fx_display_pixel_width, Fx_display_pixel_height)
61 (Fx_display_usable_bounds, Fx_display_planes)
62 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
63 ... */' style of docstrings.
64
6efac844
DN
652008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
66
b8ff87cc
DN
67 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
68 on this platform.
69 (mips):
70 * m/iris4d.h (mips): Do not define.
71 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
72
92d1a7a3
DN
73 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
74
de08d1be
CY
75 * image.c:
76 * nsfns.m:
77 * nsselect.m:
78 * nsterm.h:
9e50ff0c
DN
79 * nsterm.m: Rename ns prefixed functions/variables to the
80 corresponding x versions. Update references.
81
ff486501
DN
82 * m/ibms390x.h (NO_REMAP): Do not undefine.
83
6efac844
DN
84 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
85
ea9de876
CY
862008-07-21 Chong Yidong <cyd@stupidchicken.com>
87
88 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
89 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
90 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
91 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
92 (Fns_display_mm_height, Fns_display_mm_width)
93 (Fns_display_backing_store, Fns_display_visual_class)
94 (Fns_display_save_under, Fns_open_connection)
95 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
96 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
97 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
98 (Fns_display_pixel_width, Fns_display_pixel_height)
99 (Fns_display_usable_bounds, Fx_display_planes)
100 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
101
b42f4115 1022008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3965adab
CY
103
104 * print.c (print_object): Check print_depth before searching for
105 circularities.
106
c0894fb9
MA
1072008-07-21 Michael Albinus <michael.albinus@gmx.de>
108
109 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
110 only sprintf.
111
d90bfd1c
KH
1122008-07-21 Kenichi Handa <handa@m17n.org>
113
114 * ftfont.c (adjust_anchor): Check if DetalValue is not NULL.
115
8e2911c2
AS
1162008-07-20 Andreas Schwab <schwab@suse.de>
117
118 * syntax.c (find_start_pos, find_start_value)
119 (find_start_value_byte, find_start_begv, find_defun_start)
120 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer
121 positions.
122
98a01702
DN
1232008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
124
125 * s/sol2-3.h: Insert contents of s/sol2.h.
126 (LD_SWITCH_SYSTEM): Remove redundant definition.
127 * s/sol2.h: Remove, unused.
128
704a3a2d
AR
1292008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
130
131 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for
132 HSV,AHSV.
133
1342008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
e5e2baab
AR
135
136 * Makefile.in (ns_appdir): Fix typo in find command.
137
89f1e540
DN
1382008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
139
c788afce
DN
140 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
141
89f1e540
DN
142 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
143 added not supported anymore.
144
e5e2baab 145 * s/usg5-4-2.h (LIBS_SYSTEM):
89f1e540
DN
146 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
147
148 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
149 * s/lynxos.h (GETPGRP_NO_ARG):
150 * s/hpux10-20.h (NO_SIOCTL_H):
151 * s/gnu.h (GETPGRP_NO_ARG):
152 * s/gnu-linux.h (NO_SIOCTL_H):
153 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
154 * s/cygwin.h (GETPGRP_NO_ARG):
155 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
156 (C_DEBUG_SWITCH): Remove duplicate definition.
157
158 * m/ibms390.h: Remove boilerplate comments.
159
160 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
161
162 * process.c (HAVE_SERIAL): Consolidate ifdefs.
163 (wait_reading_process_output): Remove code for SunOS, platform not
164 supported anymore. Use SOLARIS2 instead of sun.
165
ed96cde8
AR
1662008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
167
168 * font.c (font_open_by_name): Under NS, default lface height to zero.
169 (font_open_for_lface): Under NS, set size based on frame fontsize.
170 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
171 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
172
1732008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
174
175 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
176 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
177 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
178 YES/NO.
179 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
180 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
181 * Makefile.in (clean): Clear out build destination dir.
182
5a2d7ab6
AR
1832008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
184
185 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
186 xterm, xselect.
187 * lisp.h: Remove declaration of hash_remove.
188 * nsgui.h: Remove redefinitions of hash_remove.
189 * fns.c (hash_remove): Rename to hash_remove_from_table.
190
c0230162
AR
1912008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
192
193 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
194 strdup() the family UTF8String before modifying it. Patch due to
195 Seiji Zenitani.
196
45d325c4
AR
1972008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
198
199 * nsfns.m (ns_set_background_color): Apply patch from Chong Yidong to
200 fix crash.
201 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
202 NS_FACE_BACKGROUND with 0 instead of nil.
203 * nsfont.m (nsfont_draw): Same.
204
b83f1cd0
CY
2052008-07-18 Chong Yidong <cyd@stupidchicken.com>
206
207 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
208
add4eecc
DN
2092008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
210
211 * puresize.h (BASE_PURESIZE): Increase to 1240000.
212
69955d31
YM
2132008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
214
215 * gtkutil.c: Include <config.h> instead of "config.h".
216
217 * lisp.h (Foverlay_buffer): Add EXFUN.
218
219 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
220 child process to complete child_setup. Undo 2005-09-21 change.
221
222 * s/darwin.h: Mention setsid after vfork.
223
08b3caa9 2242008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2d64e9bb
YM
225
226 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
227 Depend on macgui.h.
228
229 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
230 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
231
232 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
233 and f19.
234 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
235
236 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
237 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
238 Remove enumerators.
239
240 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
241 Check if FACE_FROM_ID returns NULL.
242
8d59c5ed
JR
2432008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
244
ba60bd44
JB
245 * w32inevt.c (change_frame_size): Remove extern declaration.
246 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
247 change_frame_size.
8d59c5ed 248
ba60bd44 2492008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
db94bf9c
AR
250
251 * getloadavg.c: Revert last change (2008-07-15).
252
ba60bd44 2532008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
06b62770
AR
254
255 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
256 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
257 from configure.
258
2749d28e
DN
2592008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
260
35ad0545
DN
261 * s/sol2.h:
262 * s/sol2-4.h: Reorganize conditionals.
263
2749d28e
DN
264 * ecrt0.c: Remove code depending on m68000, not used anymore.
265
266 * fns.c (hash_remove): Make static.
267 * lisp.h (hash_remove): Don't prototype.
268
269 * m/ibmrs6000.h:
270 * m/ibms390x.h:
271 * m/macppc.h: Remove boilerplate comments.
272
273 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
274 Solaris, which does not need them.
275
276 * m/vax.h: Remove comments about unsupported systems.
277
278 * s/darwin.h: Reorganize ifdefs.
279
ba60bd44
JB
2802008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
281
282 * config.in:
283 * dispextern.h:
284 * frame.c:
285 * image.c:
286 * nsfns.m:
287 * nsfont.m:
288 * nsgui.h:
289 * nsmenu.m:
290 * nsterm.h:
291 * nsterm.m:
292 * s/darwin.h:
293 * xdisp.c: Change most cases of PENDING to TODO, some to FIXME or XXX.
6fb5f7da 294
32cc3925
AS
2952008-07-17 Andreas Schwab <schwab@suse.de>
296
297 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
298
facfbbbd
SM
2992008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
300
301 Use SDATA. Follow coding convention of placing operators at
302 beginning of next line rather than end of previous line, and placing
303 spaces around infix operators.
304
305 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
306 in case it was defined already.
307 USE @GNUSTEP_MAKEFILES@ rather than envvars.
308 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
309 ns_default.
310 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
311 Lisp_Objects.
312 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
313 (ns_defined_color, ns_color_to_lisp): Declare.
314 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
315 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
316 it's accepted even with USE_LISP_UNION_TYPE.
317 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
318 (update_frame_tool_bar): Remove apparently obsolete tests for
319 non-integerness of f->tool_bar_lines.
320 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
321 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
322 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
323 (nsfont_open): Don't confuse NULL for Qnil.
324 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
325 * menu.h (find_and_call_menu_selection):
326 * menu.c (find_and_call_menu_selection): Use just int for vector size.
327 (find_and_return_menu_selection): Always return something.
328 * frame.h: Include dispextern.h for Display_Info.
329 (display_x_get_resource): Declare.
330
ba60bd44 3312008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
122e9f8f
AR
332
333 * syntax.c: Remove stdio.h include accidentally introduced in
334 Emacs.app commit.
335 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
336 NS_IMPL_COCOA.
337 * keyboard.c (handle_async_input, input_available_signal): Remove
338 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
339
0bcfd7d7
SM
3402008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
341
6882361b
SM
342 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
343 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
344 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
345 Use SDATA.
346
0bcfd7d7
SM
347 * keymap.c: Remove all NS-specific code.
348 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
349 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
350 where_is_preferred_modifier, return a different value depending on how
351 preferred is the binding.
352 (where_is_internal): Adjust accordingly.
353 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
354 Adjust to new preferred_sequence_p.
355 (syms_of_keymap): Declare `where-is-preferred-modifier'.
356 * keyboard.c (parse_solitary_modifier): Not static any more.
357 * keyboard.h (parse_solitary_modifier): Declare.
358
720f3147
AS
3592008-07-16 Andreas Schwab <schwab@suse.de>
360
361 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
362 of easymenu.
363
01e19fea
CY
3642008-07-16 Chong Yidong <cyd@stupidchicken.com>
365
366 * xdisp.c (move_it_in_display_line): Account for word wrap, so
367 that we don't move off the line.
368
4c89a3e0
SM
3692008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
370
371 * keyboard.c (Qsuper): Remove.
372 (parse_menu_item): Don't call where_is_internal specially for NS.
373
586b975c
DN
3742008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
375
3ec8ef33
DN
376 * s/gnu-linux.h: Remove boilerplate comments.
377
d4d080b6
DN
378 * m/alpha.h (__ELF__): Consolidate conditions.
379
7ab56cc4
DN
380 * m/m68k.h (linux): Use GNU_LINUX instead.
381 Remove boilerplate comments.
382
586b975c 383 * m/intel386.h: Undo reactoring from previous change.
7ab56cc4
DN
384 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
385 too, remove dead code.
386 (linux): Use GNU_LINUX instead.
586b975c 387
5cc9d48a
JR
3882008-07-16 Jason Rumney <jasonr@gnu.org>
389
4c89a3e0 390 * w32gui.h: Repeat 26 June changes lost by last change.
5cc9d48a 391
6b0273cd
DN
3922008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
393
132d0475
DN
394 * systty.h: Remove code for Aix on 386, unsupported platform.
395
396 * s/ms-w32.h: Remove boilerplate comments.
397 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
398
399 * s/gnu-linux.h (TERM): Remove support.
400 (HAVE_SYSVIPC): Remove, unused.
401 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
402 for this system.
403
404 * process.c: Remove support for IRIS, unused.
405 Remove support for TERM, not relevant anymore.
406
407 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
408 used with the definition.
409
410 * s/aix4-2.h (static): Do not undef.
411
412 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
413 only used on Aix.
414 (HAVE_SYSVIPC): Remove, unused.
415
416 * m/hp800.h (CANNOT_DUMP): Do not undef.
417
418 * m/alpha.h: Fix comment.
419
8111c2d8
DN
420 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
421 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
422 used by this configuration.
423 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
424 * unexec.c: Remove code depending on HPUX and
425 USG_SHARED_LIBRARIES, not used with this file. Remove code
426 depending on IRIS, unused. Remove if 0-ed code.
427
e9a57a88
DN
428 * s/template.h: Remove comments about static.
429
4c89a3e0
SM
430 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
431 Remove if 0-ed code.
c7607b94
DN
432 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
433 were the same as the default.
434 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
435 Remove boilerplate comments.
436 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
437 (HAVE_SYSVIPC): Remove, unused.
438 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
439
ff841b30
DN
440 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
441 Remove boilerplate comments.
442 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
443 Remove boilerplate comments.
444 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
445 Remove boilerplate comments.
446 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
447
586b975c
DN
448 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
449 USG systems which do not use DATA_SEG_BITS.
450 Refactor code. Remove boilerplate comments.
451
dc89925b 452 * m/ibms390.h:
dc89925b
DN
453 * m/m68k.h:
454 * s/bsd-common.h:
455 * s/cygwin.h:
456 * s/darwin.h:
457 * s/freebsd.h:
458 * s/gnu.h:
459 * s/msdos.h: Remove boilerplate comments.
460
96b72211
DN
461 * m/iris4d.h: Remove boilerplate comments and code for systems that
462 do not use this file.
463 (IRIS_4D): Remove, unused.
464
c3b5f109
DN
465 * m/mips.h: Remove boilerplate comments and code for systems that
466 do not use this file.
96b72211 467 (SIGN_EXTEND_CHAR):
c3b5f109
DN
468 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
469 * unexmips.c: Remove file, unused.
470
6b0273cd
DN
471 * editfns.c (Fuser_full_name): Replace the only use of
472 USER_FULL_NAME with its value.
473 * config.in: Regenerate.
474
ba60bd44 4752008-07-16 David Reitter <david.reitter@gmail.com>
6fbcfb6f 476
ba60bd44
JB
477 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
478 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
6fbcfb6f 479
44ac2d3e
GM
4802008-07-16 Glenn Morris <rgm@gnu.org>
481
482 * emacs.c (system-type): Doc fix.
483
0a170079
SM
4842008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
485
486 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
487 If the cache doesn't work, let's fix it, rather than work around it.
488
ba60bd44 4892008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
a68fda4a
AR
490
491 * Makefile.in: Correct additions for nsfont.o in last commit.
492 * nsfont.m: New file (forgot last commit).
493
ba60bd44 4942008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
edfda783
AR
495
496 Changes and additions for NeXTstep windowing system (Cocoa and
497 GNUstep) support.
498
ba60bd44 499 * Makefile.in:
edfda783
AR
500 * config.in: Support defines and build commands for NS port.
501 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
502 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
503 * callproc.c (set_initial_environment): Initialize
504 Vprocess_environment under CANNOT_DUMP (fixes crash when
505 batch-compiling for bootstrap, due to Chris Hall).
506 * dispextern.h: Include nsgui.h and add needed typedefs under NS
507 windowing.
508 (struct face): Add synth_ital field.
509 * dispnew.c: Include nsterm.h when compiling under NS windowing.
510 (init_display): Initialize Vinitial_window_system to "ns" when so
511 compiled.
512 * emacs.c: Include GSConfig.h when compiling under GNUstep.
513 (display_arg): Use under NS.
514 (main): Under NS, allocate autorelease pool and handle command line
515 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
516 (standard_args): Add NS-specific args.
517 (shut_down_emacs): Shut down NS terminal if compiled under NS.
518 * font.c (DEFAULT_ENCODING): New variable.
519 (font_find_for_lface): Use it.
520 (syms_of_font): Load syms_of_nsfont under NS.
521 * font.h: Declare nsfont_driver when compiled under NS.
522 * fontset.c: When compiling under NS, include nsterm.h.
523 (fontset_from_font): Autoconstruct fontset under NS.
524 * frame.c (various): Under NS, include nsterm.h, add Qns window system
525 symbol, document and use it.
526 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
527 patch to fix crash due to different init order, due to Chris Hall and
528 Yamamoto Mitsuharu.
529 (do_switch_frame): When for_deletion under Cocoa, add
530 Fraise_frame(Qnil).
531 (x_set_frame_parameters): Ensure font attribute changes are picked up.
532 (x_get_arg): Allow "yes" and "no" as boolean values.
533 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
534 Qright under Cocoa.
535 (focus-follows-mouse): Default to 0 under NS.
536 * frame.h (enum output_method): Add output_ns.
537 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
538 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
539 (FRAME_WINDOW_P): NS-specific definition.
540 * fringe.c (max_used_fringe_bitmap): Make public.
541 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
542 (getloadavg): Use NeXT code under descendant OS's.
543 * image.c (includes and header section, x_create_bitmap_from_data)
544 (x_create_bitmap_from_file, free_bitmap_record, image_background)
545 (image_background_transparent, x_clear_image_1)
546 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
547 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
548 (x_to_xcolors, x_from_xcolors, x_disable_image)
549 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
550 other GUIs, including XPM support using code originally written for
551 Carbon GUI.
0a170079 552 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
edfda783
AR
553 using NS API.
554 (image_ascent): Use font metrics macros instead of direct struct field
555 access.
556 * keyboard.c (includes): Add nsterm.h when compiling under NS.
557 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
558 Also, handle NS as GTK for menu bar purposes.
559 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
560 toolkit where they differ.
561 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
562 use cachelist, still needed under NS.
6ddc6cca 563 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
edfda783
AR
564 (struct widget_value): Define it here for menu.c.
565 * keymap.c (includes): Include modifier internals.
566 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
567 NS.
568 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
569 support for preferring sequences using certain modifiers, specified by
570 the FIRSTONLY argument.
571 * lisp.h (hash_remove): Rename to avoid name clash when compiling
572 under NS GNUstep implementation.
573 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
574 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
575 * menu.c: Include nsterm.h under NS.
576 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
577 (free_menubar_widget_tree_value, update_submenu_strings)
578 (find_and_call_menu_selection): Treat NS as X and NT.
579 (find_and_return_menu_selection): New function, used for popup menus.
ba60bd44
JB
580 * nsgui.h:
581 * nsterm.h:
582 * nsfns.m:
583 * nsimage.m:
584 * nsmenu.m:
585 * nsselect.m:
edfda783
AR
586 * nsterm.m: New files.
587 * process.c (wait_reading_process_output): Under NS, call ns_select()
588 instead of plain select().
589 * syntax.c (char_quoted): Under NS, avoid a crash when called near
590 beginning of buffer.
591 * sysselect.h (init_process): Rename when compiling under Cocoa to
592 avoid name conflict.
593 * termhooks.h (display_info): Add ns_display_info to union.
594 * terminal.c (Fterminal_live_p): Add ns to terminal types.
595 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
596 COCOA environment.
597 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
598 unexec() signature. (Note, this will dump, but the resulting file
599 crashes; unexosx is used instead; keeping around for reference and
600 possible aid in getting dump working under GNUstep.)
601 * w32gui.h (button_type, widget_value): Remove definitions (now in
602 keyboard.h).
603 * window.c: Include nsterm.h when compiling under NS.
604 * xdisp.c (includes): Include nsterm.h when compiling under NS.
605 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
606 other GUI windowing systems.
607 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
608 GTK.
609 (x_consider_frame_title): Under NS, set icon type and frame
610 modified-state indicator; use ns_set_name_as_filename() when using
611 formatted title.
612 (update_window_cursor): Make public when compiling under NS.
613 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
614 (hourglass_atimer, Vhourglass_delay
615 * xfaces.c (header section, init_frame_faces, clear_font_table)
616 (defined_color, unload_color, x_face_list_fonts)
6ddc6cca
SM
617 (prepare_face_for_display): Add NS support parallel to other GUIs.
618 Emulate GCs like other non-X GUIs.
edfda783
AR
619 (split_font_name): Don't lowercase font name under NS.
620 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
621 under NS.
622 * s/darwin.h: Add support for compilation under NS.
623
1391cd54
JR
6242008-07-15 Jason Rumney <jasonr@gnu.org>
625
6ddc6cca
SM
626 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
627 (w32_show_hourglass): Rename from show_hourglass.
628 (w32_hide_hourglass): Rename from hide_hourglass.
629 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
630 (Vhourglass_delay): Declare extern.
631 (hourglass_started): Remove.
1391cd54 632
6ddc6cca
SM
633 * xdisp.c (Vhourglass_delay): Remove static.
634 (hourglass_started, start_hourglass, cancel_hourglass):
635 Don't include these versions on WINDOWSNT.
1391cd54 636
1885ab29
AR
6372008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
638
6ddc6cca 639 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
20d6dc02 640 variables (formerly in xfns.c).
1885ab29
AR
641 (show_hourglass, hide_hourglass): New prototypes (same).
642 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
643 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
20d6dc02 644 in xfns.c).
1885ab29
AR
645 (syms_of_xdisp): Declare/initialize display-hourglass,
646 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
647 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
20d6dc02 648 formerly in xfns.c.
1885ab29
AR
649 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
650 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
651 (start_hourglass, cancel_hourglass): Remove.
652 (show_hourglass, hide_hourglass): Remove prototypes and static
653 modifiers.
654 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
655 hourglass_atimer, hourglass_shown_p declaration/initialization.
656 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
657 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
658 (start_hourglass, cancel_hourglass): Remove.
659 (show_hourglass, hide_hourglass): Remove prototypes and static
660 modifiers.
661 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
662 hourglass_atimer, hourglass_shown_p declaration/initialization.
663 * w32fns.c (display_hourglass_p, Vhourglass_delay)
664 (DEFAULT_HOURGLASS_DELAY): Remove.
665 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
666 hourglass_shown_p declaration/initialization.
667
3faa984f
JR
6682008-07-14 Jason Rumney <jasonr@gnu.org>
669
6ddc6cca
SM
670 * w32fns.c (w32_get_arg): Remove wrapper function.
671 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
672 directly.
673 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3faa984f 674
2f73901f
KH
6752008-07-14 Kenichi Handa <handa@m17n.org>
676
677 * xfont.c (xfont_open): Add workaround for X's bug.
678
11da284d
KH
6792008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
680
681 * fontset.c: Include <stdio.h> unconditionally.
682
944cc4a8
MA
6832008-07-13 Michael Albinus <michael.albinus@gmx.de>
684
685 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
686 for filtering.
687
bdee2ef3
DN
6882008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
689
690 * s/vms.h: Use __GNUC__ instead of _GNUC_.
691
692 * m/macppc.h:
693 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
694
695 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
944cc4a8
MA
696 (SPECIAL_EMACS_INT):
697 * m/ia64.h (SPECIAL_EMACS_INT):
bdee2ef3
DN
698 * m/amdx86-64.h (SPECIAL_EMACS_INT):
699 * s/gnu.h (NLIST_STRUCT):
700 * aix4-2.h (X11R5_INHIBIT_I18N):
701 * s/gnu-linux.h (LINUX):
702 * s/msdos.h (HAVE_FACES):
703 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
704
944cc4a8 705 * systty.h:
bdee2ef3
DN
706 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
707 anymore.
708
bba104c1
DN
7092008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
710
711 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
712 always defined as int.
713
714 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
715 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
716 * s/gnu-linux.h (HAVE_WAIT_HEADER):
717 * s/freebsd.h (HAVE_WAIT_HEADER):
718 * s/bsd-common.h (HAVE_UNION_WAIT):
719 * s/aix4-2.h (HAVE_WAIT_HEADER):
720 * m/mips.h (HAVE_UNION_WAIT):
721 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
722 (COFF, static): Do not define, they are undefined later in the file.
723
724 * process.c (update_status): Don't use a union.
725 (status_convert):
726 (sigchld_handler): Use int instead of WAITTYPE.
727
e433031a
CY
7282008-07-12 Chong Yidong <cyd@stupidchicken.com>
729
730 * indent.c (Fvertical_motion): Restore hscroll before moving to
731 goal column.
732
3bfb4d48
DN
7332008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
734
735 * lisp.h: Remove left over code.
736
e7c9048f
AS
7372008-07-11 Andreas Schwab <schwab@suse.de>
738
7e770c85
AS
739 * lisp.h: Fix logic in last change.
740
e7c9048f
AS
741 * menu.h: New file.
742 * menu.c: Include it.
743 * xmenu.c: Likewise.
744 * Makefile.in: Update dependencies.
745
38aaf336
KH
7462008-07-11 Kenichi Handa <handa@m17n.org>
747
748 * fontset.c (fontset_from_font): Cancel the previous change.
749
6e5cb96f
DN
7502008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
751
752 * lisp.h:
753 * w32heap.c:
754 * emacs.c:
755 * alloc.c: Replace all references of NO_UNION_TYPE with
756 USE_LISP_UNION_TYPE.
757
758 * m/xtensa.h (NO_UNION_TYPE):
759 * m/vax.h (NO_UNION_TYPE):
760 * m/template.h (NO_UNION_TYPE):
761 * m/sparc.h (NO_UNION_TYPE):
762 * m/mips.h (NO_UNION_TYPE):
763 * m/macppc.h (NO_UNION_TYPE):
764 * m/m68k.h (NO_UNION_TYPE):
765 * m/iris4d.h (NO_UNION_TYPE):
766 * m/intel386.h (NO_UNION_TYPE):
767 * m/ibms390x.h (NO_UNION_TYPE):
768 * m/ibms390.h (NO_UNION_TYPE):
769 * m/ibmrs6000.h (NO_UNION_TYPE):
770 * m/ia64.h (NO_UNION_TYPE):
771 * m/hp800.h (NO_UNION_TYPE):
772 * m/arm.h (NO_UNION_TYPE):
773 * m/amdx86-64.h (NO_UNION_TYPE):
774 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
775 defining it the same.
776
e0f47a68
CY
7772008-07-10 Chong Yidong <cyd@stupidchicken.com>
778
ba60bd44 779 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
e0f47a68 780
c5e7567d
DN
7812008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
782
783 * src/fileio.c:
784 * src/sysdep.c
785 * src/systty.h:
786 * src/m/ibmrs6000.h:
787 * src/m/iris4d.h:
788 * src/s/aix4-2.h:
789 * src/s/freebsd.h:
790 * src/s/gnu-linux.h:
791 * src/s/hpux10-20.h:
792 * src/s/hpux11.h:
793 * src/s/netbsd.h:
794 * src/s/sol2-3.h:
795 * src/s/sol2-4.h:
796 * src/s/sol2.h:
797 * src/s/usg5-4.h:
798 * src/s/vms.h: Remove references to unused variables.
799
bb658864
AS
8002008-07-10 Andreas Schwab <schwab@suse.de>
801
802 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
803 pattern before matching the generic family.
804
3d3db608
DN
8052008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
806
a0ce9ab7 807 * unexec.c:
3460e0b9
DN
808 * s/vms.h:
809 * s/usg5-4-2.h:
810 * s/sol2-5.h:
811 * s/freebsd.h:
812 * s/darwin.h: Remove dead code.
813
ad76189a
DN
814 * m/template.h:
815 * m/sparc.h:
816 * m/mips.h:
817 * m/m68k.h:
818 * m/iris4d.h:
819 * m/intel386.h:
820 * m/ibms390x.h:
821 * m/ibms390.h:
822 * m/ia64.h:
823 * m/hp800.h:
824 * m/arm.h:
825 * m/amdx86-64.h: Remove dead code and references to unused
826 and compiler defined symbols.
827
d2b5bbda
DN
828 * unexmips.c:
829 * unexelf.c: Remove references to desupported systems.
830
40dde9d1
DN
831 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
832
21133394
DN
833 * m/powermac.h: Remove boilerplate comments.
834 (NO_REMAP): Remove unused definition.
835
3d3db608
DN
836 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
837 define them.
838
c8e0e16d
KH
8392008-07-10 Kenichi Handa <handa@m17n.org>
840
841 * xfont.c (xfont_open): Log the reason of failure.
842
3cba9369
SM
8432008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
844
845 * fontset.c (fontset_get_font_group):
846 * font.c (font_check_otf): Specify argument types.
847
73353585
KH
8482008-07-09 Kenichi Handa <handa@m17n.org>
849
0e17387a
KH
850 * coding.c (detect_coding_utf_8): Set detect_info->found only when
851 non-ASCII char is found.
852
73353585
KH
853 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
854 (reorder_font_vector): Change the arg preferred_family to font.
855 Prefer the spec matching with font.
856 (fontset_get_font_group): New function.
857 (fontset_find_font): Change the format of an element of a realized
858 fontset. Use fontset_get_font_group.
859 (fontset_font): Try the current fontset, the default fontset, the
860 fallbacks of the current fonset, and the fallbacks of the default
861 fontset in this order.
862 (face_for_char): Delete the shortcut to use the current font.
863 (fontset_from_font): Don't set fonts for Latin in the fontset.
864
865 * font.h (font_make_object, font_match_p): Adjust prototypes.
866
867 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
868
869 * font.c (font_make_object): New arg entity and pixelsize.
870 (font_check_otf_features, font_check_otf): New functions.
871 (font_match_p): Check :lang, :script, and :otf properties.
872
873 * xfont.c (xfont_open): Adjust it for the change of
874 font_make_object.
e5d05978 875 (xfont_text_extents): Fix initial setting of metrics.
73353585
KH
876
877 * ftfont.c (struct ftfont_info): New member index, delete member
878 fc_charset_idx. Make the member order compatible with struct
879 xftfont_info.
880 (fc_charset_table): Change charset names to registry names.
881 (ftfont_pattern_entity): Delete the args registry and
882 fc_charset_idx. Change the value of :font-entity property
883 to (FONTNAME . INDEX). Always set :registry property to
884 `iso10646-1'.
885 (struct ftfont_cache_data): New struct.
886 (ftfont_lookup_cache): New arg for_face.
887 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
888 (ftfont_driver): Set the member otf_capability.
889 (ftfont_get_charset): Adjust it for the change of
890 fc_charset_table.
891 (OTF_TAG_SYM): New macro.
892 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
893 for the change of fc_charset_table.
894 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
895 ftfont_pattern_entity. Add FC_INDEX to objset.
896 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
897 and ftfont_pattern_entity.
898 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
899 font_make_object, struct ftfont_info.
900 (ftfont_has_char): Use ftfont_get_fc_charset.
901 (ftfont_otf_features, ftfont_otf_capability): New functions.
902 (ftfont_shape): Use ftfont_get_otf.
e5d05978 903 (ftfont_text_extents): Fix initial setting of metrics.
73353585
KH
904
905 * xftfont.c (struct xftfont_info): New member ft_size. Make the
906 member order compatible with struct ftfont_info.
907 (xftfont_open): Add FC_CHARSET to the pattern. Set
908 xftfont_info->ft_size. Don't unlock the face. Check BDF
909 properties if appropriate.
910 (xftfont_close): Unlock the face.
911 (xftfont_anchor_point, xftfont_shape): Deleted.
912 (syms_of_xftfont): Don't set members anchor_point and shape of
913 xftfont_driver.
914
915 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
916 font_make_object.
917
918 * w32font.c (w32font_open): Adjust it for the change of
919 font_make_object.
920 (w32font_open_internal): Don't set properties of font_object here.
921
7f000038
CY
9222008-07-08 Chong Yidong <cyd@stupidchicken.com>
923
830aab93
CY
924 * macfns.c (x_create_tip_frame):
925 * w32fns.c (x_create_tip_frame):
926 * xfns.c (x_create_tip_frame): Pass parameter argument to
927 face-set-after-frame-default.
928
7f000038
CY
929 * xfaces.c (Finternal_merge_in_global_face): Save merged
930 attributes for the default face back into the face vector.
931
85cf8992
AS
9322008-07-08 Andreas Schwab <schwab@suse.de>
933
934 * fontset.h: Declare fontset_from_font. Don't declare
935 new_fontset_from_font and fontset_from_font_name.
936 * xterm.c: Include "fontset.h".
937 * Makefile.in (xterm.o): Update dependencies.
938
4a00783e
GM
9392008-07-08 Glenn Morris <rgm@gnu.org>
940
941 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
942 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
943
4d2d5f5f
CY
9442008-07-07 Chong Yidong <cyd@stupidchicken.com>
945
946 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
947 (x_set_frame_parameters): Don't bind it.
948
dfe66c5b
JB
9492008-07-07 Juanma Barranquero <lekktu@gmail.com>
950
951 * w32fns.c (map_w32_filename): Declare extern.
952
ec7e221c
JR
9532008-07-07 Jason Rumney <jasonr@gnu.org>
954
dfe66c5b 955 * w32term.c (WS_EX_LAYERED): Define if not already.
ec7e221c 956
fe5d61c4
CY
9572008-07-06 Chong Yidong <cyd@stupidchicken.com>
958
959 * xfaces.c (set_font_frame_param): Don't try to set the font
960 parameter if it is still unspecified in the lface.
961
9204cb8b
CY
9622008-07-05 Chong Yidong <cyd@stupidchicken.com>
963
0a143d3a
CY
964 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
965 face if it didn't already exist.
966
9204cb8b
CY
967 * xdisp.c (try_window_id): Give up if word-wrapping is on.
968
6c95e70d
AS
9692008-07-05 Andreas Schwab <schwab@suse.de>
970
dfe66c5b 971 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
6c95e70d 972
59230395
CY
9732008-07-05 Chong Yidong <cyd@stupidchicken.com>
974
975 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
976 word-wrapping.
977 (IT_DISPLAYING_WHITESPACE): New macro.
978 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
979 when word-wrapping. Simplify word-wrapping logic. Use correct
980 pixel positions when saving copies of the iterator.
981 (display_line): Use proper wrap point if the last character on a
982 line was preceded by whitespace.
983
d7c664f3
SM
9842008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
985
986 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
987
9ffc8a3a
KH
9882008-07-04 Kenichi Handa <handa@m17n.org>
989
990 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
991
992 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
993
946598bf
JR
9942008-07-02 Jason Rumney <jasonr@gnu.org>
995
d7c664f3
SM
996 * xfns.c (syms_of_xfns): Only define x-select-font when both
997 HAVE_FREETYPE and USE_GTK
946598bf 998
d7c664f3
SM
999 * xdisp.c (next_element_from_display_vector): Move assignment out
1000 of if statement.
946598bf 1001
6cf29fe8
JR
10022008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
1003
d7c664f3 1004 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
6cf29fe8 1005
d7c664f3
SM
1006 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
1007 (syms_of_fileio): Initialize and export them.
1008 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
6cf29fe8 1009
d7c664f3
SM
1010 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
1011 (Fsystem_move_file_to_trash): New function.
1012 (syms_of_w32fns): Export it to lisp.
6cf29fe8 1013
79ca7db1
JR
10142008-07-01 Jason Rumney <jasonr@gnu.org>
1015
d7c664f3
SM
1016 * w32font.c (w32font_text_extents): Don't count overhang as part
1017 of width.
79ca7db1 1018
c2786a3d 10192008-06-30 Miles Bader <miles@gnu.org>
c4f4682b
MB
1020
1021 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
1022 Add `avoid_cursor_p' field.
1023
1024 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
1025 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
1026 (append_glyph, append_composite_glyph, produce_image_glyph)
c2786a3d
JB
1027 (append_stretch_glyph): Initialize avoid_cursor_p.
1028 (get_it_property): Rename from `get_line_height_property'.
c4f4682b
MB
1029 (x_produce_glyphs): Use get_it_property.
1030 (handle_line_prefix, push_display_prop): New functions.
1031 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
c2786a3d
JB
1032 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
1033 New variables.
c4f4682b
MB
1034 (syms_of_xdisp): Initialize them.
1035
7d7ad10e
KH
10362008-06-30 Kenichi Handa <handa@m17n.org>
1037
1038 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
1039 XftDefaultSubstitute (they are called in XftFontMatch).
1040 (xftfont_open): Fix args to ftfont_font_format.
1041
1042 * ftfont.c (fc_charset_table): New member lang.
1043 (ftfont_resolve_generic_family): New arg pattern.
1044 (ftfont_spec_pattern): Check fc_cahrset_table[]->lang.
1045 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
1046 (ftfont_open): Fix args to ftfont_font_format.
1047 (ftfont_font_format): New arg filename.
1048
44b754c7
CY
10492008-06-30 Chong Yidong <cyd@stupidchicken.com>
1050
1051 * xfaces.c (Finternal_merge_in_global_face): If default face was
1052 modified, realize it again. Update the font face attribute.
1053
a4521b03
JR
10542008-06-29 Jason Rumney <jasonr@gnu.org>
1055
c2786a3d 1056 * w32term.c (x_set_frame_alpha): Fix logic.
a4521b03 1057
fe44f009
KH
10582008-06-29 Kenichi Handa <handa@m17n.org>
1059
1060 * fontset.c (Finternal_char_font): Return font-object instead of
1061 font-name.
1062
c2786a3d 1063 * composite.c (get_composition_id): Fix the width calculation for TAB.
fe44f009 1064
baed8445
SM
10652008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
1066
1067 * indent.c (Fvertical_motion): Properly handle float column arg.
1068
8b61a891
JR
10692008-06-28 Jason Rumney <jasonr@gnu.org>
1070
baed8445
SM
1071 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
1072 (pfnSetLayeredWindowAttributes): New function pointer.
1073 (w32_initialize): Initialize it when supported.
1074 (x_set_frame_alpha): New function.
8b61a891 1075
baed8445
SM
1076 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
1077 (w32_frame_parm_handlers): Set alpha handler.
8b61a891 1078
baed8445 1079 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
8b61a891 1080
57016d37
JR
10812008-06-27 Jason Rumney <jasonr@gnu.org>
1082
baed8445
SM
1083 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
1084 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
1085 (w32_to_x_charset, x_to_w32_charset)
1086 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
1087 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
1088 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
1089 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
1090 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
1091 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
1092 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
1093 (Qw32_charset_unicode): Remove.
1094 (syms_of_w32fns): Update for above changes.
1095
1096 * w32font.c (w32_to_x_charset, x_to_w32_charset)
1097 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
1098 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
1099 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
1100 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
1101 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
1102 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
1103 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
1104 (syms_of_w32font): Update for above changes.
57016d37 1105
d6bf1bdb
DN
11062008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
1107
1108 * s/usg5-4.h: Fix previous change: keep the correct branch of a
1109 removed #if.
9fa1c445 1110 (USG_SHARED_LIBRARIES): Remove duplicate definition.
d6bf1bdb 1111
43db14bb
JB
11122008-06-26 Juanma Barranquero <lekktu@gmail.com>
1113 Eli Zaretskii <eliz@gnu.org>
1114
1115 * makefile.w32-in (LOCAL_FLAGS):
1116 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
1117
1118 * sysdep.c (_spawnlp, _getpid):
1119 Declare with explicit _cdecl instead of _CRTAPI1.
1120
1121 * editfns.c (Fget_internal_run_time):
1122 Check for WINDOWSNT with #ifdef, not #if.
1123
c35f9821
JR
11242008-06-26 Jason Rumney <jasonr@gnu.org>
1125
43db14bb 1126 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
c35f9821 1127
57016d37 1128 * w32term.c (x_draw_glyph_string_foreground)
43db14bb
JB
1129 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
1130 Use FONT_HANDLE macro.
1131 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
c35f9821 1132
57016d37 1133 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
43db14bb 1134 (uniscribe_encode_char): Use FONT_HANDLE macro.
c35f9821 1135
43db14bb
JB
1136 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
1137 (w32font_text_extents): Use precast w32_font.
1138 (w32font_close): Free cached metrics.
1139 (w32font_open_internal): Allocate space for name on stack.
c35f9821 1140
1f8ad719
CY
11412008-06-26 Chong Yidong <cyd@stupidchicken.com>
1142
1143 * xdisp.c (extend_face_to_end_of_line): Fix last change.
1144
97e71655
JR
11452008-06-26 Jason Rumney <jasonr@gnu.org>
1146
43db14bb
JB
1147 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
1148 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
97e71655 1149
c9fc02c7
JB
11502008-06-26 Juanma Barranquero <lekktu@gmail.com>
1151
1152 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
1153
1b5defe6
JR
11542008-06-26 Jason Rumney <jasonr@gnu.org>
1155
c9fc02c7 1156 * w32bdf.c, w32bdf.h: Remove obsolete files.
1b5defe6 1157
c9fc02c7 1158 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
1b5defe6 1159
c9fc02c7
JB
1160 * w32gui.h: Don't include w32bdf.h.
1161 (XCharStruct, enum w32_char_font_type, W32FontStruct):
1162 Remove obsolete font support.
1b5defe6 1163
c9fc02c7
JB
1164 * w32font.h (struct w32font_info): Remove compat_w32_font.
1165 Add hfont member.
1166 (FONT_COMPAT): Remove obsolete macro.
1b5defe6 1167
ba60bd44 1168 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
c9fc02c7 1169 (w32font_encode_char, w32font_text_extents): Use new hfont member.
ba60bd44 1170 (w32font_open_internal): Remove compat code. Set new hfont member.
c9fc02c7 1171 (Fx_select_font): Use new hfont member.
1b5defe6 1172
57016d37 1173 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
c9fc02c7 1174 (uniscribe_encode_char): Use new hfont member.
1b5defe6 1175
57016d37 1176 * w32term.c (x_draw_glyph_string_foreground)
c9fc02c7
JB
1177 (x_draw_composite_glyph_string_foreground): Use new hfont member.
1178 (x_draw_glyph_string): Use metrics in w32font_info.
1b5defe6 1179
1fc66bca
KH
11802008-06-26 Kenichi Handa <handa@m17n.org>
1181
1182 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
1183
f2a77c3a
DN
11842008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
1185
1186 * unexnext.c:
1187 * m/ews4800.h:
1188 * m/hp9000s300.h:
1189 * m/ibm370aix.h:
1190 * m/mips-siemens.h:
1191 * m/ncr386.h:
1192 * m/next.h:
1193 * m/pmax.h:
1194 * m/powerpcle.h:
1195 * m/tandem-s2.h:
1196 * s/386bsd.h:
1197 * s/bsd386.h:
1198 * s/bsd4-1.h:
1199 * s/bsd4-2.h:
1200 * s/bsdos2-1.h:
1201 * s/bsdos2.h:
1202 * s/bsdos3.h:
1203 * s/bsdos4.h:
1204 * s/nextstep.h:
1205 * s/ultrix4-3.h:
1206 * s/usg5-0.h:
1207 * s/usg5-2-2.h:
1208 * s/usg5-2.h:
1209 * s/usg5-4-3.h:
1210 * s/ux4800.h:
1211 * s/uxpds.h:
1212 * s/uxpv.h: Remove support for obsolete systems.
1213 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
1214 Remove, insert contents in s/hpux-10.20.h
1215 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
1216 Remove, insert contents in s/aix-4.2.h
1217 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
1218 * s/bsd4-3.h: Rename to ..
1219 * s/bsd-common.h: ... this.
1220 * src/data.c:
1221 * src/doc.c:
1222 * src/ecrt0.c:
1223 * src/emacs.c:
1224 * src/fileio.c:
1225 * src/floatfns.c:
1226 * src/keyboard.c:
1227 * src/mem-limits.h:
1228 * src/print.c:
1229 * src/process.c:
1230 * src/sysdep.c:
1231 * src/syssignal.h:
1232 * src/systty.h:
1233 * src/syswait.h:
1234 * src/term.c:
1235 * src/unexec.c:
1236 * src/unexelf.c:
1237 * src/unexhp9k800.c:
1238 * src/m/hp800.h:
1239 * src/m/ibmrs6000.h:
1240 * src/m/mips.h:
1241 * src/m/vax.h:
1242 * src/s/darwin.h:
1243 * src/s/freebsd.h:
1244 * src/s/gnu.h:
1245 * src/s/ms-w32.h:
1246 * src/s/msdos.h:
1247 * src/s/netbsd.h:
1248 * src/s/template.h: Remove references to obsolete variables.
1249
1250 * Makefile.in: Add dependencies for all unexec files.
1251 (admindir): Remove unused variable.
1252 (UNEXEC_SRC): Remove references.
1253
bd02793a
CY
12542008-06-25 Chong Yidong <cyd@stupidchicken.com>
1255
1256 * xfns.c (x_default_font_parameter): If Xft is available, first
1257 try Monospace-12 for the default font.
1258
ccedd259
JR
12592008-06-25 Jason Rumney <jasonr@gnu.org>
1260
c9fc02c7 1261 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
ccedd259 1262
fbe062b7
SM
12632008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
1264
603a0937
SM
1265 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
1266
fbe062b7
SM
1267 * buffer.c (syms_of_buffer): Remove default-word-wrap.
1268
69785ad0
JB
12692008-06-25 Juanma Barranquero <lekktu@gmail.com>
1270
1271 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
1272 <scroll-conservatively>: Fix typo in docstring.
1273
1274 * xselect.c (Fx_send_client_event): Doc fix.
1275
249e6f76
KH
12762008-06-25 Kenichi Handa <handa@m17n.org>
1277
34e97272
KH
1278 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
1279
1280 * font.c (font_parse_fcname): Remove unused variables.
69785ad0
JB
1281 (font_sort_entites): Delete the arg SPEC. Caller changed.
1282 Fix for the case of ! best_only.
34e97272
KH
1283 (font_delete_unmatched): Check DPI and AVGWIDTH too.
1284
249e6f76
KH
1285 * lisp.h (Fstring_to_unibyte): EXFUN it.
1286
69785ad0 1287 * character.h (str_to_unibyte): Extern it.
249e6f76
KH
1288
1289 * character.c (str_to_unibyte): New function.
1290
1291 * fns.c (Fstring_to_unibyte): New function.
1292 (syms_of_fns): Defsubr it.
1293
65c108e4
KH
12942008-06-24 Kenichi Handa <handa@m17n.org>
1295
1296 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
1297 DPI too.
1298 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
1299
4c3f18fe
AS
13002008-06-24 Andreas Schwab <schwab@suse.de>
1301
69785ad0 1302 * Makefile.in (${lispsource}loaddefs.el): Rename from
4c3f18fe 1303 ../lisp/loaddefs.el.
fd13748d
AS
1304 (bootstrap-clean): Do what distclean does but don't remove
1305 Makefile.
1306 (distclean): Depend on bootstrap-clean and remove Makefile.
4c3f18fe 1307
faa6190f
CY
13082008-06-24 Chong Yidong <cyd@stupidchicken.com>
1309
1310 * buffer.h (struct buffer): New member word_wrap.
1311
1312 * buffer.c (syms_of_buffer): New variables default-word-wrap and
1313 word-wrap.
1314 (init_buffer_once): Initialize them.
1315
1316 * dispextern.h (struct it): Replace bool truncate_lines_p with a
1317 line_wrap enum possessing three possible values.
1318
1319 * termopts.h: Replace truncate_partial_width_windows with
1320 Vtruncate_partial_width_windows.
1321
1322 * dispnew.c (direct_output_for_insert): Avoid direct output when
1323 inserting a space with word wrap on.
1324
1325 * indent.c (compute_motion): Obey integer values of
1326 truncate-partial-width-windows.
1327
1328 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
1329 replacing truncate_partial_width_windows.
1330 (init_iterator): If Vtruncate_partial_width_windows is an integer,
1331 truncate only if the window width is below that integer.
ba60bd44 1332 (start_display, resize_mini_window, produce_stretch_glyph)
faa6190f
CY
1333 (display_string, move_it_in_display_line_to): Use line_wrap.
1334 (back_to_previous_visible_line_start, reseat_1): Reset
1335 string_from_display_prop_p.
1336 (display_line): Extend default face to end of line when wrapping.
1337
13382008-06-24 Kim F. Storm <storm@cua.dk>
1339
1340 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
1341 to wrap continued lines at word boundaries.
1342
c3bb5465
JR
13432008-06-24 Jason Rumney <jasonr@gnu.org>
1344
69785ad0
JB
1345 * font.c (Ffont_face_attributes): Multiply pixel size before point
1346 conversion to avoid multiplying rounding error.
c3bb5465 1347
0b07ad98
JR
13482008-06-23 Jason Rumney <jasonr@gnu.org>
1349
f245f2c6
JB
1350 * w32term.c (x_draw_glyph_string_background)
1351 (x_draw_glyph_string): Remove old bdf font code.
0b07ad98 1352
69785ad0 1353 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
0b07ad98 1354
22459668
KH
13552008-06-22 Kenichi Handa <handa@m17n.org>
1356
1357 * font.c (font_find_for_lface): Try the adstyle specified in
1358 the property of LFACE_FONT of LFACE (if any).
1359
d925a426 13602008-06-21 Seiji Zenitani <zenitani@mac.com>
f245f2c6 1361 Ryo Yoshitake <ryo@shiftmode.net>
d925a426
SM
1362
1363 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
1364
b4945b95
SM
13652008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
1366
1367 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
1368 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
1369 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
1370 (witness-emacs): Remove.
1371 (lisp, shortlisp): Move loaddefs.el earlier.
1372 (mostlyclean): Forget about witness-emacs.
1373
64124279
GM
13742008-06-22 Glenn Morris <rgm@gnu.org>
1375
1376 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
36565815 1377 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
64124279 1378
768efd84
SM
13792008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
1380
1381 * Makefile.in (PRECOMP): Remove.
1382 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
1383 (witness-emacs): Run `compile-first'.
1384 (.el.elc): Use the new compile-onefile target.
1385
808dd567
KH
13862008-06-21 Kenichi Handa <handa@m17n.org>
1387
1388 * xftfont.c (xftfont_open): Handle QCembolden only when
1389 FC_EMBOLDEN is defined.
1390
0de59eae
AS
13912008-06-21 Andreas Schwab <schwab@suse.de>
1392
1393 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
58e8833b 1394 (.el.elc): Likewise.
0de59eae 1395
fb38e9c9
MB
13962008-06-21 Miles Bader <miles@gnu.org>
1397
1398 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
1399 build dir, not the lisp source dir.
1400
fc46d219
SM
14012008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
1402
1403 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
1404 (bootstrapclean): Remove.
1405 (.el.elc): New rule.
1406 (PRECOMP): New var.
1407 (../lisp/subdirs.el): Remove.
1408 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
1409 (witness-emacs): New target.
1410 (mostlyclean): Remove witness-emacs as well.
1411 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
1412 Add witness-emacs dependency.
1413
eaf1f6e7
CY
14142008-06-20 Chong Yidong <cyd@stupidchicken.com>
1415
1416 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
1417 defined by the font.
1418
49f6eb95
SM
14192008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
1420
1421 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
1422 (bootstrap-clean): New target that keeps TAGS around.
1423 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
1424 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
1425
4c100a01
JR
14262008-06-20 Jason Rumney <jasonr@gnu.org>
1427
49f6eb95
SM
1428 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
1429 Remove obsolete font code.
db61a7f8 1430
49f6eb95
SM
1431 * w32font.c (font_matches_spec): Use csb bitfield from font signature
1432 to determine language support.
4c100a01 1433
759d3f32
SM
14342008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
1435
1436 * sysdep.c (cfsetspeed): New fun extracted from the code.
1437 (cfmakeraw): Move before first use.
1438
25241b4d
SM
14392008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
1440
1441 * sysdep.c (cfmakeraw): Provide fallback implementation.
1442 (serial_configure): Provide fallback implementation of cfsetspeed.
1443
d7afccca
KH
14442008-06-20 Kenichi Handa <handa@m17n.org>
1445
dc2226d0
KH
1446 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
1447 the pattern.
1448
9b9cd864
KH
1449 * fontset.c (fontset_from_font): Copy font_spec before changing
1450 the elements.
1451
d7afccca
KH
1452 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
1453
770e2e6e
SM
14542008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
1455
1456 * w32fns.c, xfnc.c (x_default_font_parameter): Only set `font-param'
1457 for explicit `font' parameters.
1458
1459 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
1460
22e64f7c
KH
14612008-06-19 Kenichi Handa <handa@m17n.org>
1462
1463 * frame.c: Include <ctype.h>.
1464 (x_set_font_backend): Allow spacing characters in the X resource
1465 for FontBackend.
1466
27129af9
SM
14672008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
1468
1469 * w32fns.c, xfns.c (Qfont_param): New var.
1470 (syms_of_w32fns): Initialize it.
22e64f7c
KH
1471 (x_default_font_parameter): Record explicit `font' into
1472 `font-parameter'.
27129af9 1473
d26424c5
KH
14742008-06-18 Kenichi Handa <handa@m17n.org>
1475
1476 * font.c (font_parse_xlfd): Fix previous change.
1477 (font_parse_fcname): Don't use :fc-unknown-spec.
1478 (FRAME_X_DISPLAY_INFO): Besure to have at least 1 pixel height.
1479 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
1480 (font_add_log): Prepend the driver name to the resulting fonts.
1481
1482 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
1483 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
1484 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
1485
1486 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
1487 (QCembolden): New variables.
1488 (syms_of_xftfont): DEFSYM them.
1489 (xftfont_open): Call XftFontMatch. Don't trust the result of
1490 XftTextExtents8 if the pixel_size is less than 5.
1491
51cf11be
AS
14922008-06-18 Andreas Schwab <schwab@suse.de>
1493
f245f2c6 1494 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
51cf11be
AS
1495 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
1496
07d9ba9b
JR
14972008-06-18 Jason Rumney <jasonr@gnu.org>
1498
27129af9 1499 * w32font.c (w32font_list, w32font_match): Add logging.
07d9ba9b 1500
27129af9 1501 * w32uniscribe (uniscribe_list, uniscribe_match): Add logging.
07d9ba9b 1502
0c36bc4e
CY
15032008-06-17 Chong Yidong <cyd@stupidchicken.com>
1504
1505 * font.c (font_parse_fcname): Store divider characters for
1578da31
CY
1506 unknown-spec list. For known key symbols, intern using correct
1507 symbol name.
0c36bc4e 1508
70d6ecc6
KH
15092008-06-17 Kenichi Handa <handa@m17n.org>
1510
1511 * xfaces.c (realize_default_face): If the frame is not on window
1512 system, set the fontset of face to nil.
1513
821bc4db
KH
15142008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
1515
f245f2c6 1516 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
821bc4db 1517
3554e566
JB
15182008-06-16 Juanma Barranquero <lekktu@gmail.com>
1519
1520 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
1521 (build_font_name_from_vector): Delete externs.
1522
1523 * xfaces.c (struct font_name): Don't declare.
1524
93eed26b
SM
15252008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
1526
1527 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
1528
d756bcd0
CY
15292008-06-16 Chong Yidong <cyd@stupidchicken.com>
1530
1531 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
1532
7a18a178
JB
15332008-06-16 Juanma Barranquero <lekktu@gmail.com>
1534
1535 * font.c (Ffont_spec): Fix usage in docstring.
48105a6a 1536 (Ffont_face_attributes): Doc fix.
7a18a178 1537
6f568955
AS
15382008-06-16 Andreas Schwab <schwab@suse.de>
1539
1540 * font.c (Ffont_face_attributes): Fix definition.
1541
3ef8c1b4
JR
15422008-06-16 Jason Rumney <jasonr@gnu.org>
1543
93eed26b 1544 * font.h (font_style_symbolic_from_value): Remove.
3ef8c1b4 1545
93eed26b
SM
1546 * font.c (font_style_symbolic_from_value): Remove.
1547 (font_style_symbolic): Revert to pre 2008-06-13 version.
3ef8c1b4 1548
93eed26b
SM
1549 * w32font.c (w32_to_fc_weight): New function.
1550 (w32font_full_name, logfont_to_fcname): Use it.
3ef8c1b4 1551
5e634ec9
KH
15522008-06-16 Kenichi Handa <handa@m17n.org>
1553
1554 * font.c (font_check_object): Delete it.
1555 (font_clear_cache): Check if a font-object is alive.
1556 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
1557 font-object to nil.
1558 (font_close_object): Don't check FONT_CLOSE_OBJECT.
1559 (font_at): Don't call font_check_object.
2babb359 1560 (Ffont_get): Return a symbol for :weight, :slant, and :width.
5e634ec9 1561
6409a955
KY
15622008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
1563
1564 * puresize.h (BASE_PURESIZE): Increase to 1230000.
1565
ce4eaddb
CY
15662008-06-16 Chong Yidong <cyd@stupidchicken.com>
1567
1568 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
1569
523dbe64
CY
15702008-06-15 Chong Yidong <cyd@stupidchicken.com>
1571
54b2ab27 1572 * font.c (font_parse_fcname): Only one decimal point.
523dbe64
CY
1573 (font_unparse_fcname): Handle data in family and foundry indices
1574 as symbols, not strings.
1575 (font_unparse_gtkname, Ffont_face_attributes): New functions.
1576
54b2ab27 1577 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
523dbe64
CY
1578
1579 * font.h (font_unparse_gtkname): Add prototype.
1580
9f296082
KH
15812008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
1582
54b2ab27 1583 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
9f296082 1584
3306c6dc
AS
15852008-06-15 Andreas Schwab <schwab@suse.de>
1586
1587 * font.c (font_update_drivers): Fix crash when no drivers match.
1588
a099c27a
SM
15892008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
1590
1591 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
1592 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
1593
a8aa344d
SM
15942008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
1595
1596 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
1597
a879ee6f
SM
15982008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
1599
1600 * process.c (Fserial_process_configure, Fprocess_send_eof):
1601 Use EQ to compare Lisp_Objects.
1602
6fe9826d
JR
16032008-06-13 Jason Rumney <jasonr@gnu.org>
1604
a879ee6f 1605 * w32fns.c (Fw32_select_font): Remove old font API function.
6fe9826d 1606
a879ee6f
SM
1607 * w32font.c (logfont_to_fcname): New function.
1608 (Fx_select_font): New font dialog function compatible with
1609 GTK/fontconfig version.
6fe9826d 1610
a879ee6f
SM
1611 * font.c (font_style_symbolic_from_value): New function.
1612 (font_style_symbolic): Use it.
6fe9826d 1613
a879ee6f 1614 * font.h (font_style_symbolic_from_value): Declare new function.
6fe9826d 1615
17ab8f5d
JB
16162008-06-13 Juanma Barranquero <lekktu@gmail.com>
1617
1618 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
1619 <font-width-table>: Fix typos in docstrings.
1620
d888760c
GM
16212008-06-13 Daniel Engeler <engeler@gmail.com>
1622
1623 These changes add serial port access.
1624 * process.c: Add HAVE_SERIAL.
1625 (Fdelete_process, Fprocess_status, Fset_process_buffer)
1626 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
1627 (list_processes_1, select_wrapper, Fstop_process)
1628 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
1629 (status_notify): Modify to handle serial processes.
1630 [HAVE_SERIAL] (Fserial_process_configure)
1631 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
1632 New functions.
1633 * process.h (struct Lisp_Process): Add `type'.
1634 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
1635 New functions.
1636 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
1637 serial ports.
1638 (serial_open, serial_configure) New functions.
1639 * w32.h: Add FILE_SERIAL.
1640 (struct _child_process): Add ovl_read, ovl_write.
1641
f4cc0153
KH
16422008-06-13 Kenichi Handa <handa@m17n.org>
1643
1644 * dispextern.h (enum lface_attribute_index): New member
1645 LFACE_FOUNDRY_INDEX.
1646
1647 * font.c (font_score): Delete arg alternate_families. Check only
7a18e381 1648 weight, slant, width, and size. Ignore the difference of alias
f4cc0153 1649 style symbols.
7a18e381 1650 (font_sort_entites): Adjust for the above change. Reflect the
f4cc0153
KH
1651 order of font-driver to scores.
1652 (font_list_entities): Don't check alternate_familes here.
1653 (font_clear_prop): Handle foundry.
1654 (font_update_lface): Don't parse "foundry-family" form here.
1655 Handle FONT_FOUNDRY_INDEX.
1656 (font_find_for_lface): Likewise. Handle alternate families here.
a879ee6f 1657 If registry is nil, try iso8859-1 and ascii-0.
f4cc0153 1658 (font_open_for_lface): Pay attention to size in ENTITY.
7a18e381 1659 (font_open_by_name): Simplify by calling font_load_for_lface.
f4cc0153
KH
1660 (free_font_driver_list): Delete it.
1661 (font_update_drivers): Preserve the order of backends.
1662 (syms_of_font): Setting of sort_shift_bits adjusted for the change
1663 of font_score and font_sort_entites.
1664 (font_update_sort_order): Likewise.
1665
1666 * xfaces.c (LFACE_FOUNDRY): New macro.
1667 (check_lface_attrs): Check foundry.
7a18e381 1668 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
f4cc0153
KH
1669 (merge_face_vectors): Check foundry.
1670 (merge_face_ref): Likewise.
1671 (Finternal_set_lisp_face_attribute): Likewise.
1672 (x_update_menu_appearance): Likewise.
1673 (Finternal_get_lisp_face_attribute): Likewise.
1674 (lface_hash): Likewise.
1675 (lface_same_font_attributes_p): Likewise.
1676 (x_supports_face_attributes_p): Likewise.
1677 (tty_supports_face_attributes_p): Likewise.
1678 (Finternal_set_alternative_font_family_alist): Intern strings.
1679 (Finternal_set_alternative_font_registry_alist): Downcase strings.
1680 (realize_default_face): Set LFACE_FOUNDRY (lface).
1681
1682 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
1683 font-driver at first.
1684
1685 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
1686
d434fef5 16872008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
97dead2d
JM
1688
1689 * lread.c (Fload): Use xfree, not free on saved_doc_string.
1690
9c5e177e
JM
16912008-06-12 Jim Meyering <meyering@redhat.com>
1692
d434fef5 1693 Make unexec_free handle NULL the same way free does.
9c5e177e
JM
1694 * unexmacosx.c (unexec_free): Ignore a NULL argument.
1695
2afc21f5
SM
16962008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
1697
1698 * character.h (CHAR_TO_BYTE_SAFE): New macro.
1699 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
1700 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
1701 (WEAK_ALIAS): Simplify.
1702 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
1703 when searching a unibyte buffer.
1704
76c0de62
CY
17052008-06-12 Chong Yidong <cyd@stupidchicken.com>
1706
1707 * xfns.c (Fx_select_font): Rename from x-font-dialog.
1708
0500dcc9
JB
17092008-06-12 Juanma Barranquero <lekktu@gmail.com>
1710
1711 * w32font.c: Include ctype.h.
1712
f42adef6
JR
17132008-06-11 Jason Rumney <jasonr@gnu.org>
1714
2afc21f5
SM
1715 * w32font.c (w32font_encode_char): Detect missing glyphs that are
1716 misreported as space.
1717 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
1718 as aliases for registry iso10646-1.
f42adef6 1719
4b7cdc0e
SM
17202008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
1721
1722 * buffer.c (clone_per_buffer_values): Skip `name'.
1723
cc02ebe1
CY
17242008-06-11 Chong Yidong <cyd@stupidchicken.com>
1725
1726 * font.c (font_parse_fcname): Fix last change; accept decimal
1727 points in font size.
1728
351ccb76
JR
17292008-06-10 Jason Rumney <jasonr@gnu.org>
1730
0500dcc9
JB
1731 * w32uniscribe.c (add_opentype_font_name_to_list):
1732 Skip non unicode fonts.
351ccb76 1733
f473ed6f
CY
17342008-06-10 Chong Yidong <cyd@stupidchicken.com>
1735
1736 * xfns.c (Fx_font_dialog): New function.
1737
5d6333d5 1738 * gtkutil.c (xg_dialog_response_cb): Rename from
f473ed6f
CY
1739 xg_file_response_callback.
1740 (pop_down_dialog): Rename from pop_down_file_dialog.
1741 (xg_get_file_name): Callers changed.
1742 (xg_get_font_name): New function.
1743
5d6333d5 1744 * gtkutil.h (xg_get_font_name): Insert prototype.
f473ed6f 1745
2a3bd2e1
SM
17462008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
1747
1748 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
1749 x_underline_minimum_display_offset.
1750 (syms_of_xdisp): Declare it here rather than in xterm.c.
1751 * dispextern.h (underline_minimum_offset): Declare it.
1752 * w32term.c (x_draw_glyph_string): Use it.
1753 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
1754 (syms_of_xterm): Don't declare it any more.
1755 (x_draw_glyph_string): Adjust to the new name.
1756
d5dc6163
SM
17572008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
1758
1759 * xterm.c (x_underline_minimum_display_offset): New var.
1760 (x_draw_glyph_string): Use it.
1761 (syms_of_xterm): Declare it.
1762
0abdd197
CY
17632008-06-10 Chong Yidong <cyd@stupidchicken.com>
1764
1765 * font.c (font_parse_fcname): Accept GTK-style font names too.
1766
a1562258
SM
17672008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
1768
928b5acc
SM
1769 * dired.c (file_name_completion): Don't return t if the match is exact
1770 but with different capitalization.
1771 * minibuf.c (Ftry_completion): Simplify.
1772
a1562258
SM
1773 * window.c (Vwindow_point_insertion_type): New var.
1774 (set_window_buffer): Use it.
1775 (syms_of_window): Init and export it to Lisp.
1776
9552dbd1
KH
17772008-06-10 Kenichi Handa <handa@m17n.org>
1778
1779 * font.h (font_intern_prop): Prototype adjusted.
1780
1781 * font.c (font_intern_prop): New arg force_symbol.
a1562258
SM
1782 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
1783 Adjust for the change of font_intern_prop.
9552dbd1 1784
a1562258
SM
1785 * ftfont.c (ftfont_pattern_entity):
1786 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
1787 (w32_registry):
1788 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
9552dbd1
KH
1789 the change of font_intern_prop.
1790
8993ad2e
JB
17912008-06-09 Juanma Barranquero <lekktu@gmail.com>
1792
1793 * w32menu.c (digest_single_submenu): Declare extern.
1794
0c2258fc
JR
17952008-06-09 Jason Rumney <jasonr@gnu.org>
1796
a1562258 1797 * w32term.c (x_make_frame_visible): Use alternate restore flags.
12f71857 1798
a1562258
SM
1799 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
1800 (parse_single_submenu): Remove.
1801 (digest_single_submenu): Remove.
1802 (syms_of_w32menu): Don't initialise variables that have moved
1803 to menu.c.
1804 (set_frame_menubar): Sync with version in xmenu.c.
1805 (w32_menu_show): Sync with xmenu_show in xmenu.c.
593c843c 1806
8993ad2e
JB
1807 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
1808 Make static again.
0c2258fc 1809
02246cb8
JR
18102008-06-09 Jason Rumney <jasonr@gnu.org>
1811
8993ad2e
JB
1812 Changes to w32 files related to the move of common menu code
1813 to menu.c on 2008-06-08 by Chong Yidong.
1814
1815 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
1816 defs to w32gui.h.
1817 (single_keymap_panes, push_menu_item, push_menu_pane):
1818 Make globally visible.
1819
d434fef5
JB
1820 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
1821 (local_free, malloc_widget_value, free_widget_value)
1822 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
1823 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
1824 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
8993ad2e 1825 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
d434fef5 1826 (menu_items, menu_items_allocated, menu_items_used)
8993ad2e
JB
1827 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
1828 (init_menu_items, finish_menu_items, discard_menu_items)
1829 (grow_menu_items, push_submenu_start, push_submenu_end)
1830 (push_left_right_boundary, push_menu_pane, push_menu_item)
1831 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
d434fef5 1832 (free_menubar_widget_tree_value, parse_single_submenu)
8993ad2e
JB
1833 (update_submenu_strings): Remove functions.
1834 (xmalloc_widget_value): Remove and declare extern.
1835
1836 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
1837 (OBJ1): Build it.
1838
1839 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
1840 (local_heap, local_alloc, local_free, malloc_widget_value)
1841 (free_widget_value): Define here.
02246cb8 1842
9e1bb909
KH
18432008-06-09 Kenichi Handa <handa@m17n.org>
1844
366664ad
KH
1845 * font.h (Qascii_0): Extern it.
1846
9e1bb909
KH
1847 * font.c (Qascii_0): New variable.
1848 (syms_of_font): DEFSYM it.
1849 (font_open_by_name): If the registry "iso8859-1" fails, try also
1850 "ascii-0".
1851
1852 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
1853
b2ee479e
KH
18542008-06-08 Kenichi Handa <handa@m17n.org>
1855
8f440b79 1856 * .gdbinit (xfont): New command.
b2ee479e 1857
01ef9d36
AS
18582008-06-08 Andreas Schwab <schwab@suse.de>
1859
a4240420
AS
1860 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
1861 * Makefile.in (menu.o): Update dependencies.
1862
0181bf66 1863 * Makefile.in (obj): Always add menu.o.
01ef9d36
AS
1864 * emacs.c (main): Always call syms_of_menu.
1865 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
1866
c07cbae6
CY
18672008-06-08 Chong Yidong <cyd@stupidchicken.com>
1868
1869 * Makefile.in: Compile menu.c.
1870
1871 * lisp.h: Declare syms_of_menu.
1872
1873 * emacs.c (main): Call syms_of_menu.
1874
1875 * keyboard.h: Relocate platform-independent menu definitions from
1876 xmenu.c.
1877
1878 * menu.c: New file. Relocate platform-independent menu
904d8c69 1879 definitions from xmenu.c. Suggested by Adrian Robert.
c07cbae6
CY
1880
1881 * xmenu.c: Remove platform-independent menu definitions.
1882 (menu_items menu_items_inuse, menu_items_allocated)
1883 (menu_items_used, menu_items_n_panes)
1884 (menu_items_submenu_depth): Move to keyboard.h.
1885 (init_menu_items, finish_menu_items, unuse_menu_items)
1886 (discard_menu_items, restore_menu_items, save_menu_items)
1887 (grow_menu_items, push_submenu_start, push_submenu_end)
1888 (push_left_right_boundary, push_menu_pane, push_menu_item)
1889 (keymap_panes, single_keymap_panes, single_menu_item)
1890 (list_of_panes, list_of_items, find_and_call_menu_selection)
1891 (xmalloc_widget_value, free_menubar_widget_value_tree)
1892 (parse_single_submenu, digest_single_submenu)
1893 (update_submenu_strings): Move to menu.c.
1894
4958ed94
SM
18952008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
1896
1897 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
1898
408b8ab4
MB
18992008-06-06 Miles Bader <miles@gnu.org>
1900
1901 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
1902 face, not frame default.
1903
87478b52
SM
19042008-06-05 Martin Rudalics <rudalics@gmx.at>
1905
1906 * window.c (pop_up_windows, pop_up_frames)
1907 (display_buffer_reuse_frames, Vpop_up_frame_function)
1908 (Vdisplay_buffer_function, Veven_window_heights)
1909 (Vspecial_display_buffer_names, Vspecial_display_regexps)
1910 (Vspecial_display_function, Vsame_window_buffer_names)
1911 (Vsame_window_regexps, split_height_threshold)
1912 (Vsplit_window_preferred_function): Move those vars to window.el.
1913 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
1914 (Fdisplay_buffer): Move those functions to window.el.
1915 (syms_of_window): Remove corresponding declarations.
1916 (display_buffer): New function.
1917 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
1918 * dispnew.c (Flast_nonminibuf_frame): New function.
1919 * buffer.c (Fpop_to_buffer): Move to window.el.
1920
9e0e0d77
SM
19212008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
1922
1923 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
1924
4a485df8
KH
19252008-06-05 Kenichi Handa <handa@m17n.org>
1926
1927 * coding.c (detect_coding): Fix previous change.
1928 (detect_coding_system): Likewise.
1929
8ba31f36
SM
19302008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
1931
c0dc8f64
SM
1932 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
1933
8ba31f36
SM
1934 * keymap.c (Vminibuffer_local_filename_must_match_map):
1935 Rename from Vminibuffer_local_must_match_filename_map.
1936 (syms_of_keymap):
1937 * minibuf.c (Fcompleting_read): Adjust accordingly.
1938 * commands.h: Rename declaration as well.
1939
7740d2c7
KH
19402008-06-05 Kenichi Handa <handa@m17n.org>
1941
e7438ece
KH
1942 * font.c (Ffont_spec): Don't use font_parse_family_registry for
1943 family name.
1944 (Ffont_put): Likewise.
1945
1946 * fontset.c (fontset_find_font): Call font_open_for_lface with the
1947 current font-spec.
1948
7740d2c7
KH
1949 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
1950 is unspecified.
1951
1952 * xfaces.c (realize_x_face): If the font-related face attributes
e7438ece
KH
1953 are the same as those of default face, realize a new fontset from
1954 default->fontset.
9e0e0d77 1955 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
7740d2c7 1956
c876b227
SM
19572008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
1958
1959 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
1960 (move_it_in_display_line): New wrapper.
1961
1962 * window.c (window_scroll_pixel_based_preserve_x)
1963 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
1964 (window_scroll_pixel_based, window_scroll_line_based):
1965 Use them to preserve column positions.
1966 (syms_of_window): Initialize them.
1967
1968 * indent.c (Fvertical_motion): Extend first arg to allow passing an
1969 (HPOS . VPOS) pair.
1970
1971 * dispextern.h (move_it_in_display_line): Declare.
1972
927abf37
JB
19732008-06-05 Juanma Barranquero <lekktu@gmail.com>
1974
1975 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
1976 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
1977 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
1978
9d14503e
JB
19792008-06-04 Juanma Barranquero <lekktu@gmail.com>
1980
1981 * window.c (Fset_window_parameter): Doc fix.
1982 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
1983
e6841c3b
JB
19842008-06-04 Joakim Verona <joakim@verona.se>
1985
1986 * window.h (struct window): Add new member window_parameters.
1987
1988 * window.c (Fwindow_parameters, Fwindow_parameter)
1989 (Fset_window_parameter): New defuns.
1990 (syms_of_window): Defsubr the new defuns.
1991 (make_window): Initialize window_parameters to nil.
1992
4ba50634
JPW
19932008-06-04 John Paul Wallington <jpw@pobox.com>
1994
1995 * eval.c (Fdefmacro): Doc fix.
1996
c0e16b14
KH
19972008-06-04 Kenichi Handa <handa@m17n.org>
1998
1999 * coding.c (detect_coding): Fix handling of coding->head_ascii.
9e0e0d77 2000 Be sure to call setup_coding_system when we find a proper coding system.
c0e16b14
KH
2001 (detect_coding_system): Fix handling of coding->head_ascii.
2002
0615d903
AS
20032008-06-03 Andreas Schwab <schwab@suse.de>
2004
2005 * font.c (font_prop_validate_spacing): Fix last change.
2006
8a1816bb
KH
20072008-06-03 Kenichi Handa <handa@m17n.org>
2008
eea9c5c4
KH
2009 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
2010 (font_parse_fcname): Fix handling of unknown key.
2011
2012 * xfont.c (xfont_list): Try an alias.
2013
8a1816bb
KH
2014 * charset.c (char_charset): Return NULL if the arg charset_list is
2015 specified and C doesn't belong to any of them.
2016
2f593f4c 20172008-06-02 Chip Coldwell <coldwell@redhat.com>
6c5e8775
CY
2018
2019 * font.c (font_pixel_size): Don't take cdr of an integer.
2020
c2cd06e6
JM
20212008-06-02 Jim Meyering <meyering@redhat.com>
2022
70fdbb46
JM
2023 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
2024 * alloc.c (xfree): Return right away for a NULL arg.
2025 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
2026 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
2027 * mac.c (create_apple_event_from_event_ref): Likewise.
2f593f4c
JB
2028 (create_apple_event_from_drag_ref, cfstring_create_normalized):
2029 Likewise.
70fdbb46
JM
2030 * doprnt.c (doprnt1): Likewise.
2031 * frame.c (frame): Likewise.
2032 * keyboard.c (wipe_kboard): Likewise.
1f204af3 2033 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
70fdbb46
JM
2034 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
2035 * term.c (tty_default_color_capabilities, maybe_fatal)
2036 (delete_tty): Likewise.
2037 * w16select.c (string): Likewise.
2038 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
2039 * w32bdf.c (w32_free_bdf_font): Likewise.
2040 * w32fns.c (w32_unload_font): Likewise.
2041 * w32font.c (w32font_close): Likewise.
2042 * window.c (size_window): Likewise.
2043 * xselect.c (receive_incremental_selection): Likewise.
2044 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
2045 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
2046 * w32.c (stat): Likewise.
2047
2f593f4c 2048 Remove useless if-before-free tests.
70fdbb46
JM
2049 * editfns.c (Fset_time_zone_rule): Likewise.
2050 * lread.c (nosuffix): Likewise.
2051 * ralloc.c (get_bloc): Likewise.
2052 * regex.c (reg_free): Likewise.
2053 * xftfont.c (xftfont_open, xftfont_close): Likewise.
2054 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
2055 * xsmfns.c (smc_save_yourself_CB): Likewise.
c2cd06e6 2056
4fc1984a
KH
20572008-06-02 Kenichi Handa <handa@m17n.org>
2058
1d1e1245
KH
2059 * font.c (font_find_for_lface): Handle float font size.
2060 (font_open_for_lface): Likewise.
2061
4fc1984a
KH
2062 * xfaces.c (x_supports_face_attributes_p): Check face->font before
2063 comparing the properties.
2064
aee986fd
JR
20652008-06-01 Jason Rumney <jasonr@gnu.org>
2066
e6841c3b
JB
2067 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
2068 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
2069 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
2070 Don't add empty script list.
2071 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
aee986fd 2072
60a3d7ee
DN
20732008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
2074
aee986fd 2075 * Makefile.in (dot, dotdot): Remove, update users.
60a3d7ee
DN
2076 ".." has been used elsewhere in the file for a long time.
2077 (LIBXT_STATIC): Remove conditional based on unused variable.
2078
f2cec7a9
MB
20792008-06-01 Miles Bader <miles@gnu.org>
2080
2081 * xfaces.c (Vface_remapping_alist): New variable.
2082 (syms_of_xfaces): Initialize it.
2083 (enum named_merge_point_kind): New type.
2084 (struct named_merge_point): Add `named_merge_point_kind' field.
2085 (push_named_merge_point): Make cycle detection respect different
2086 named-merge-point kinds.
c876b227 2087 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
f2cec7a9
MB
2088 Remove face-name alias resolution.
2089 (lface_from_face_name): New definition using
2090 `lface_from_face_name_no_resolve'.
c876b227 2091 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
f2cec7a9
MB
2092 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
2093 (get_lface_attributes): New definition that layers face-remapping on
2094 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
2095 (lookup_basic_face): New function.
2096 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
2097 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
2098 `get_lface_attributes'.
2099 (face_at_buffer_position): Use `lookup_basic_face' to lookup
2100 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
2101 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
2102
2103 * xdisp.c (init_iterator): Pass base_face_id through
2104 `lookup_basic_face' when we actually use it as a face-id.
2105 (handle_single_display_prop): Use `lookup_basic_face' to lookup
2106 DEFAULT_FACE_ID.
2107
2108 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
2109 lookup the initial face-id.
2110
2111 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
2112
518c0b83
JB
21132008-06-01 Juanma Barranquero <lekktu@gmail.com>
2114
2115 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
2116 (Fremove_text_properties): Fix typos in docstrings.
2117
719b3d63
KH
21182008-05-31 Kenichi Handa <handa@m17n.org>
2119
e4c93315
KH
2120 * font.c (font_list_entities): Fix the car part of data to be
2121 stored in the cache.
2122
719b3d63
KH
2123 * ftfont.c (ftfont_font_format): Don't use strcasestr.
2124
d0827857
SM
21252008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
2126
2127 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
2128 Add a `test' argument so another predicate than `equal' can be used.
2129 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
2130 (map_char_table): Remove unused vars `c' and `i'.
2131 * lisp.h (Foptimize_char_table): Adjust declaration.
2132 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
2133
a266686a
KH
21342008-05-30 Kenichi Handa <handa@m17n.org>
2135
d0827857 2136 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
a266686a
KH
2137 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
2138 defined.
2139
fd9440c5
SM
21402008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
2141
2142 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
2143 (Fmake_variable_frame_local): Disallow mixing buffer-local and
2144 frame-local settings for the same variable.
2145
fd2ae9b2
KH
21462008-05-30 Kenichi Handa <handa@m17n.org>
2147
9e0e0d77 2148 * fontset.c (Ffont_info): Move to font.c.
fd2ae9b2
KH
2149 (syms_of_fontset): Delete defsubr of Sfont_info.
2150
2151 * font.c (font_style_to_value, font_score): Delete casting of the
2152 args to xstcasecmp.
2153 (register_font_driver): Increment num_font_drivers only when
2154 registering the driver globally.
9e0e0d77 2155 (Ffont_info): Move from fontset.c. Handle a font object too.
fd2ae9b2
KH
2156 (syms_of_font): Defsubr Sfont_info.
2157
eaf11618
KH
21582008-05-29 Kenichi Handa <handa@m17n.org>
2159
2160 * coding.h (enum define_coding_utf8_arg_index): New enum.
2161 (enum coding_attr_index): Change coding_attr_utf_16_bom to
2162 coding_attr_utf_bom.
fd9440c5
SM
2163 (enum utf_bom_type): Rename from utf_16_bom_type.
2164 (struct utf_16_spec): Adjust for the above change.
eaf11618
KH
2165 (struct coding_system): Add utf_8_bom in `spec' union.
2166
2167 * coding.c (CODING_UTF_8_BOM): New macro.
2168 (enum coding_category): Delete coding_category_utf_8, add
2169 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
2170 coding_category_utf_8_sig.
2171 (CATEGORY_MASK_UTF_8): Delete it.
2172 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
2173 (CATEGORY_MASK_UTF_8_SIG): New macros.
2174 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
2175 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
2176 CATEGORY_MASK_UTF_8_SIG.
2177 (CATEGORY_MASK_UTF_8): New macro.
2178 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
2179 (detect_coding_utf_8): Check BOM.
2180 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
fd9440c5 2181 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
eaf11618
KH
2182 (encode_coding_utf_16): Likewise.
2183 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
2184 (detect_coding, detect_coding_system): Handle utf-8-auto.
2185 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
2186 (syms_of_coding): Fix setting up of Vcoding_category_table.
2187
891bd142
SM
21882008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
2189
2190 * process.c (Faccept_process_output): If `millisec' is non-nil,
2191 `seconds' default to 0.
2192 (wait_reading_process_output): Also return non-nil if we read output
2193 from a non-running process.
2194
1519d52e
JR
21952008-05-29 Jason Rumney <jasonr@gnu.org>
2196
fd9440c5
SM
2197 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
2198 `raster' specified.
2199 (add_font_entity_to_list): Allow non-opentype truetype fonts back
2200 in the uniscribe backend, but disallow any font that has no
2201 unicode subrange support.
1519d52e 2202
d5ab09cd
JB
22032008-05-29 Juanma Barranquero <lekktu@gmail.com>
2204
2205 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
2206 Fix typos in docstrings.
2207
a4eec626
KH
22082008-05-29 Kenichi Handa <handa@m17n.org>
2209
2210 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
e887f2ac 2211 (Fx_family_fonts): Set frame correctly.
a4eec626 2212
a6e0b7e5
JR
22132008-05-28 Jason Rumney <jasonr@gnu.org>
2214
d5ab09cd 2215 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
a6e0b7e5 2216
6b3d752c
SM
22172008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
2218
2219 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
2220 calling build_annotations.
2221
c3f9fba8
JB
22222008-05-28 Juanma Barranquero <lekktu@gmail.com>
2223
2224 * coding.c (Fdecode_coding_region, Fencode_coding_region)
2225 (Fencode_coding_string):
2226 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
2227 <latin-extra-code-table>: Fix typos in docstrings.
2228 (syms_of_coding) <coding-system-alist>: Doc fix.
2229 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
2230
00c670e1
KH
22312008-05-28 Kenichi Handa <handa@m17n.org>
2232
b75d7f28
KH
2233 * fontset.c (Ffont_info): Don't call font_close_object.
2234
2235 * font.c (font_parse_family_registry): Use Ffont_put to validate
2236 foundry and family.
2237 (font_delete_unmatched): Don't check spacing.
2238 (font_list_entities): Add spacing to the spec to list fonts.
2239
2240 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
d5ab09cd 2241 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
b75d7f28 2242
00c670e1
KH
2243 * coding.c (encode_coding_raw_text): Fix previous change.
2244 (encode_coding_object): When the dst_object is a buffer and is
2245 different from src_object, move gap to PT.
2246
45feca91
CY
22472008-05-27 Chong Yidong <cyd@stupidchicken.com>
2248
c3f9fba8 2249 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
45feca91 2250
5dd5d9eb
SM
22512008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
2252
01d45367
SM
2253 * coding.c (encode_coding_raw_text): Set coding->produced_char for
2254 all branches. Compute it differently.
2255
5dd5d9eb
SM
2256 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
2257
9c623c85
JB
22582008-05-27 Juanma Barranquero <lekktu@gmail.com>
2259
2260 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
2261 into "else if () ... else ...".
2262
943f2093
JR
22632008-05-27 Jason Rumney <jasonr@gnu.org>
2264
5dd5d9eb
SM
2265 * w32font.c (w32font_open_internal): Determine if glyph indices
2266 are likely to work here.
943f2093 2267
7385fe74
CY
22682008-05-27 Chong Yidong <cyd@stupidchicken.com>
2269
2270 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
2271 draw overlap glyphs with appropriate highlighting.
2272
4f64a164
KH
22732008-05-27 Kenichi Handa <handa@m17n.org>
2274
2275 * xfont.c (xfont_open): Fix calculation of font->average_width.
2276
1fb5aad7
SM
22772008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
2278
2279 * casefiddle.c (casify_object): Try to guess better whether the
2280 argument is a byte or a char.
2281
f8eb1603
AS
22822008-05-26 Andreas Schwab <schwab@suse.de>
2283
1fb5aad7
SM
2284 * xselect.c (x_reply_selection_request): Properly handle format == 32.
2285 Always send multiples of format size.
5a9c35e5 2286
f8eb1603
AS
2287 * xterm.c (x_set_frame_alpha): Fix type mismatch.
2288
ba93d684
JR
22892008-05-26 Jason Rumney <jasonr@gnu.org>
2290
1fb5aad7
SM
2291 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
2292 (compute_metrics): Don't set failure if we just cleared the cache.
2293 (w32_weight_table): Remove unused variable.
2294 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
2295 backwards compatibility.
ba93d684 2296
505ecc49
KH
22972008-05-25 Kenichi Handa <handa@m17n.org>
2298
1fb5aad7
SM
2299 * w32term.c (x_draw_glyph_string):
2300 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
505ecc49
KH
2301
2302 * xfaces.c: Delete unused function prototypes.
2303 (xstrlwr, font_frame): Delete them.
2304 (clear_face_cache): Delete unused variable.
2305
1fb5aad7
SM
2306 * xftfont.c (xftfont_open): Delete unused variable.
2307 If underline_thickness is not 1, adjust underline_position.
505ecc49
KH
2308
2309 * ftxfont.c (ftxfont_open): Delete unused variable.
2310
2311 * fontset.c (face_for_char): Optimize for the case of no charset
2312 property.
2313
2314 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
2315 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
2316 (otf_open, font_otf_capability, generate_otf_features)
2317 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
1fb5aad7 2318 Comment out by surrounding "#if 0" and "#endif" for the moment.
505ecc49
KH
2319 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
2320 (syms_of_font): Codes for accessing above commented out.
2321
f481eb31
EZ
23222008-05-24 Eli Zaretskii <eliz@gnu.org>
2323
2324 * w32proc.c: Include dispextern.h.
2325
2326 * w32.c: Include dispextern.h.
2327
20746fe4
JB
23282008-05-23 Juanma Barranquero <lekktu@gmail.com>
2329
2330 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
2331 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
2332 Fix typos in docstrings.
2333
e7150846
JR
23342008-05-23 Jason Rumney <jasonr@gnu.org>
2335
20746fe4 2336 * xsmfns.c: Remove includes that are already included by config.h.
e7150846 2337
dbf46ba6
KH
23382008-05-23 Kenichi Handa <handa@m17n.org>
2339
6c652beb
KH
2340 * charset.c (Qemacs, charset_emacs): New variables.
2341 (char_charset): Fix for non-Unicode characters.
2342 (syms_of_charset): Define charset_emacs.
2343
baf4d3b3 2344 * w32term.c (x_draw_glyph_string): Be sure to update
328fab2a
KH
2345 s->underline_thickness and s->underline_position. Be sure to draw
2346 underline within the current line area.
baf4d3b3
KH
2347
2348 * xterm.c (x_draw_glyph_string): Be sure to update
328fab2a 2349 s->underline_thickness and s->underline_position. Be sure to draw
90dc78a3 2350 underline within the current line area.
baf4d3b3 2351
dbf46ba6
KH
2352 * fontset.c: Delete unused variables and add casting for char *
2353 throughout the file.
2354 (fontset_font): Try the fallback fonts of the current fontset
2355 before consulting the default fontset.
2356
2357 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
2358
9e0e0d77 2359 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
dbf46ba6 2360
3b780338
JR
23612008-05-22 Jason Rumney <jasonr@gnu.org>
2362
20746fe4 2363 * font.c: Don't include strings.h.
577eba22 2364
9e0e0d77 2365 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
05131107 2366
20746fe4
JB
2367 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
2368 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
b1722a46
EZ
2369 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
2370 to call xstrcasecmp.
05131107 2371
b1722a46 2372 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
3b780338 2373
b1722a46 2374 * fontset.c (fs_query_fontset): Use xstrcasecmp.
3b780338 2375
b1722a46 2376 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
3b780338 2377
b1722a46 2378 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
3b780338 2379
a30e1957
KH
23802008-05-22 Kenichi Handa <handa@m17n.org>
2381
20746fe4 2382 * puresize.h (BASE_PURESIZE): Increase to 1220000.
955b979c 2383
20746fe4 2384 * font.c (font_prop_validate_style): Adjust for the format
64b900e3
KH
2385 change of font_style_table.
2386
a30e1957
KH
2387 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
2388 two args.
2389
2390 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
2391 two args.
2392
631248e5
SM
23932008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
2394
2395 * minibuf.c (keys_of_minibuf): Delete.
2396 * lisp.h (keys_of_minibuf): Delete.
2397 * emacs.c (main): Don't call keys_of_minibuf.
2398
318548be
KH
23992008-05-22 Kenichi Handa <handa@m17n.org>
2400
631248e5 2401 * ftfont.c (ftfont_resolve_generic_family): Rename from
318548be
KH
2402 ftfont_list_generic_family. Return a single family for each
2403 generic family.
2404 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
20746fe4
JB
2405 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
2406 Call font_add_log.
318548be
KH
2407 (ftfont_match): Call font_add_log.
2408
2409 * font.h (Ffont_xlfd_name): EXFUN adjusted.
2410 (FONT_DEBUG): Define it.
2411 (font_add_log): Extern it.
631248e5 2412 (font_assert): Rename from xassert.
318548be
KH
2413
2414 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
2415 (xfont_list_family): Call font_add_log.
2416 (xfont_match): Likewise.
631248e5 2417 (memq_no_quit): Delete.
318548be
KH
2418
2419 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
2420 call of Ffont_xlfd_name.
2421
2422 * xfaces.c (struct table_entry, slant_table, weight_table)
631248e5 2423 (swidth_table): Move to font.c.
318548be
KH
2424
2425 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
631248e5 2426 xassert are changed to font_assert. Delete many unused variables.
20746fe4
JB
2427 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
2428 New variables.
631248e5
SM
2429 (struct table_entry): Move from xfaces.c and modified.
2430 (weight_table, slant_table, width_table): Move from xfaces.c and
318548be 2431 contents adjusted for the change of struct table_entry.
20746fe4 2432 (font_style_to_value, font_style_symbolic): Adjust for the
64b900e3 2433 format change of font_style_table.
318548be
KH
2434 (font_parse_family_registry): Don't overwrite existing foundry and
2435 family of font_spec.
2436 (font_score): Fix calculation of diff for sizes.
2437 (font_sort_entites): Call font_add_log.
2438 (font_delete_unmatched): Return a newly created list.
2439 (font_list_entities): Fix previous change. Call font_add_log.
20746fe4
JB
2440 (font_matching_entity, font_open_entity, font_close_entity):
2441 Call font_add_log.
318548be 2442 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
631248e5 2443 (Finternal_set_font_style_table): Delete.
318548be
KH
2444 (BUILD_STYLE_TABLE): New macro.
2445 (build_style_table): New function.
2446 (Vfont_log, font_log_env_checked): New variables.
2447 (font_add_log): New function.
2448 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
2449 Declare Lisp variables "font-weight-table", "font-slant-table",
2450 "font-width-table", and "font-log". Initialize font_style_table.
2451
6aac1c03
DN
24522008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
2453
bcc850aa 2454 * xterm.c (x_set_frame_alpha): Move declarations before statements.
6aac1c03 2455
7950790f
GM
24562008-05-21 Seiji Zenitani <zenitani@mac.com>
2457 Ryo Yoshitake <ryo@shiftmode.net>
a2979e8e 2458
7950790f 2459 * frame.c (Qalpha): Add a new frame parameter `alpha'.
bcc850aa 2460 (Vframe_alpha_lower_limit): New variable.
b9fb2c45 2461 (x_set_alpha): New function.
a2979e8e 2462
7950790f 2463 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
a2979e8e 2464
7950790f
GM
2465 * xfns.c (x-create-frame, Qalpha):
2466 Initialize the frame parameter `alpha'.
b9fb2c45
GM
2467 * xterm.c (OPAQUE, OPACITY): New.
2468 (x_set_frame_alpha): New function.
2469 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
a2979e8e 2470
7950790f
GM
2471 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
2472 * w32fns.c (w32_frame_parm_handlers): Likewise.
a2979e8e 2473
5c2a72d9
JR
24742008-05-20 Jason Rumney <jasonr@gnu.org>
2475
20746fe4
JB
2476 * w32font.c (add_font_entity_to_list): Don't add non-opentype
2477 truetype fonts to opentype list.
5c2a72d9 2478
eb152aa9
JB
24792008-05-20 Juanma Barranquero <lekktu@gmail.com>
2480
2481 * fontset.c (Ffontset_info): Doc fix.
2482 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
2483 <ignore-relative-composition>: Fix typos in docstrings.
2484
2485 * font.c (syms-of-font) <font-encoding-alist>:
2486 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
2487 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
2488 (Ffont_otf_alternates): Doc fixes.
2489
ad00e1a3
KH
24902008-05-20 Kenichi Handa <handa@m17n.org>
2491
2492 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
2493 font.h through out the file.
9e0e0d77 2494 (FONT_DRIVERS): Rename from FONTOBJ.
12855572 2495 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
ad00e1a3
KH
2496 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
2497
2498 * emacs.c (main): Call syms_of_font unconditionally.
2499
2500 * font.h (find_font_encoding): Extern it.
2501
9e0e0d77 2502 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
ad00e1a3
KH
2503 fontset.c.
2504 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
2505 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
2506 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
2507 only when HAVE_WINDOW_SYSTEM is defined.
2508 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
2509 when HAVE_WINDOW_SYSTEM is defined.
2510
9e0e0d77
SM
2511 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
2512 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
ad00e1a3
KH
2513
2514 * xfaces.c: Include font.h unconditionally.
2515 (merge_face_ref, merge_face_vectors)
2516 (Finternal_set_lisp_face_attribute): Cancel the previous change.
2517
40a69fac
SM
25182008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
2519
2520 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
2521 indirect_variable.
2522 * eval.c (lisp_indirect_variable): New fun.
2523 (Fuser_variable_p): Use it.
2524
8c2dccbf
SM
25252008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
2526
ad97b375
SM
2527 * lisp.h (indirect_variable):
2528 * data.c (indirect_variable, let_shadows_buffer_binding_p):
2529 Use Lisp_Symbol pointers rather than Lisp_Object.
2530 Adjust callers.
2531 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
2532 To this end, change calling-convention.
2533
8c2dccbf
SM
2534 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
2535 if some non-hidden buffers are selected by string&pred.
2536
ad97b375
SM
25372008-05-19 Chong Yidong <cyd@stupidchicken.com>
2538
2539 * process.c (wait_reading_process_output): Always check status
2540 when in batch mode.
2541
25b81df4
KH
25422008-05-19 Kenichi Handa <handa@m17n.org>
2543
2544 * font.c (font_list_entities): Fix handling of cache.
2545 (font_matching_entity): Likewise.
2546
8c2dccbf 2547 * ftfont.c (cs_iso8859_1): Delete.
25b81df4 2548 (ft_face_cache): New variable.
1f204af3 2549 (struct ftfont_info): New member fc_charset_idx.
8c2dccbf 2550 (ftfont_build_basic_charsets): Delete.
25b81df4
KH
2551 (fc_charset_table): New variable.
2552 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
2553 . FC_CHARSET_IDX) as :font-entity property in the font entity.
2554 Callers changed.
dde8403f 2555 (ftfont_lookup_cache, ftfont_get_charset): New functions.
8c2dccbf
SM
2556 (ftfont_spec_pattern): New argument fc_charset_idx.
2557 Check registry more rigidly. Change callers.
a2979e8e 2558 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
25b81df4
KH
2559 change of :font-entity property of the font.
2560
a2979e8e 2561 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
25b81df4
KH
2562 property of the font.
2563
d4a1d553
JB
25642008-05-18 Juanma Barranquero <lekktu@gmail.com>
2565
2566 * coding.c (Fcoding_system_p): Rename argument to match docstring.
2567 (Funencodable_char_position, Fcheck_coding_systems_region)
2568 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
2569 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
2570 (Ffind_operation_coding_system, Fset_coding_system_priority)
2571 (Fcoding_system_eol_type): Doc fixes.
2572
07cfc4e7
GM
25732008-05-17 Glenn Morris <rgm@gnu.org>
2574
2575 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
2576
1cab27d2
EZ
25772008-05-16 Eli Zaretskii <eliz@gnu.org>
2578
2579 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
2580 and st_gid.
2581
dde8403f 2582 * frame.c (Fdelete_frame): Don't call font_update_drivers if
1cab27d2
EZ
2583 HAVE_WINDOW_SYSTEM is not defined.
2584
2585 * xfaces.c (merge_face_ref, merge_face_vectors)
2586 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
2587 HAVE_WINDOW_SYSTEM is defined.
2588 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
2589
86b89713
SM
25902008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
2591
2592 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
2593
6750bd93
YM
25942008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2595
62867b11 2596 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
6750bd93 2597
79f105c9
KH
25982008-05-15 Kenichi Handa <handa@m17n.org>
2599
2600 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
2601 preference.
2602
6b33da9f
GM
26032008-05-15 Glenn Morris <rgm@gnu.org>
2604
2605 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
2606
d0e4433b
CY
26072008-05-15 Chong Yidong <cyd@stupidchicken.com>
2608
2609 * fns.c (init_fns): Don't initialize weak_hash_tables here.
2610 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
2611
2612 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
2613
5f2d79e0
KH
26142008-05-15 Kenichi Handa <handa@m17n.org>
2615
fd8a1cae
KH
2616 * ftfont.c (ftfont_list): Downcase family name to check generic
2617 families.
2618
2619 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
2620 font-spec for QCfont value.
2621
5f2d79e0
KH
2622 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
2623 buffer. Check the return value of it.
2624
e5e29349
JR
26252008-05-14 Jason Rumney <jasonr@gnu.org>
2626
2627 * w32term.c (w32_get_glyph_overhangs): Remove.
2628 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
2629
1f09f444
KH
26302008-05-14 Kenichi Handa <handa@m17n.org>
2631
2632 * font.c (font_prop_validate): Make nil a valid value.
be9442ad
KH
2633 (font_clear_cache): Check if the cached vector of entities is nil
2634 or not.
1f09f444 2635
ecae6af9 26362008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
f8240abd
YM
2637
2638 * emacs.c (main_thread): Conditionalize on
2639 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
2640 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
2641
2642 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
2643 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
2644 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
2645
c6b278e7
KH
26462008-05-14 Kenichi Handa <handa@m17n.org>
2647
2648 * coding.c (detect_coding_iso_2022): Ignore a coding category that
2649 has no corresponding coding system.
2650
26512008-05-14 Jason Rumney <jasonr@gnu.org>
2652
2653 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
2654
2655 * w32font.h (w32font_open_internal): Update declaration.
2656
2657 * w32font.c (w32font_open_internal): Change last argument from
2658 w32font_info struct to font object. Fill in font object from
2659 font_entity. Get Outline metrics if possible. Use them to
2660 calculate underline position and thickness. Use xlfd name as name
2661 property. Don't set codepage.
2662 (w32font_open): Pass font_object to w32font_open_internal. Don't
a879ee6f 2663 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
c6b278e7
KH
2664 (w32font_draw): Use s->font.
2665 (clear_cached_metrics): Don't clear non-existent blocks.
2666
2667 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
2668 font was not found.
a879ee6f 2669 (x_draw_glyph_string): Use underline position and thickness from font.
c6b278e7
KH
2670
2671 * w32uniscribe.c (uniscribe_open): Pass font_object to
2672 w32font_open_internal.
2673
26742008-05-14 Kenichi Handa <handa@m17n.org>
2675
2676 These changes are to delete all legacy font-handling codes, and
2677 make Emacs use only font-backends.
2678
2679 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
2680 (frame.o, image.o, print.o): Depend on $(FONTSRC).
2681
2682 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
2683
2684 * charset.h (Vcharset_non_preferred_head)
2685 (Vcurrent_iso639_language): Extern them.
2686
2687 * charset.c (Vcharset_non_preferred_head): New variable.
2688 (Vcurrent_iso639_language): New variable.
2689 (syms_of_charset): Declare it as a Lisp variable.
2690 (char_charset): Don't check non preferred charsets. As a last
2691 resort, return charset_unicode.
2692 (Fset_charset_priority): Update Vcharset_non_preferred_head.
2693
2694 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
2695 conditionals. Don't check enable_font_backend. Delete all codes
2696 used only when USE_FONT_BACKEND is not defined.
2697
2698 * dispextern.h (struct glyph_string): Change type of `font' to
2699 `struct font *'.
2700 (struct glyph_string): New member underline_position and
2701 underline_thickness.
2702 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
2703 (struct face): Change type of `font' to `struct font *'. Remove
2704 members `font_name', `font_info_id'.
2705 (per_char_metric, encode_char): Delete externs.
2706 (calc_pixel_width_or_height): Adjust the prototype.
2707
2708 * emacs.c (enable_font_backend): Delete extern.
2709 (main): Don't set enable_font_backend. Don't check the command
2710 line argument "-disable-font-backend".
2711
2712 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
2713 (enum font_property_index): New members FONT_DPI_INDEX,
2714 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
2715 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
2716 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
2717 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
2718 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
2719 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
2720 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
2721 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
2722 (struct font_spec, struct font_entity): New structs.
2723 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
2724 (struct font): Many members from old "struct font_info" moved to
2725 here. Members font and entity deleted.
2726 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
2727 the new font-related objects.
2728 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
2729 (CHECK_FONT_GET_OBJECT): Likewise.
2730 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
2731 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
2732 (struct font_driver): New members case_sensitive anc check. Type
2733 of the member list and open changed.
2734 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
2735 (font_symbolic_width, font_find_object, font_get_spec)
2736 (font_set_lface_from_name): Delete extern.
20746fe4 2737 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
c6b278e7
KH
2738
2739 * font.c: Include <strings.h>.
2740 (enable_font_backend): Delete it.
2741 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
2742 (CHECK_VALIDATE_FONT_SPEC): Delete it.
2743 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
2744 (null_string): Delete it.
2745 (null_vector): Make it static.
2746 (font_family_alist): Delete it.
2747 (Qnormal): Extern it.
2748 (QCextra, QClanguage): Delete it.
1f204af3 2749 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
c6b278e7
KH
2750 (font_make_spec, font_make_entity, font_make_object)
2751 (font_intern_prop): Renamed from intern_downcase. Don't downcase
2752 the string. Callers changed.
2753 (font_pixel_size): Adjusted for the format change of font-related
2754 objects.
2755 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
2756 (font_style_to_value, font_style_symbolic): New function.
2757 (build_font_family_alist): Delete it.
2758 (font_registry_charsets): Use Fassoc_string instead of
2759 assq_no_quit.
2760 (font_prop_validate_symbol): Don't return null_string.
2761 (font_prop_validate_style): Adjusted for the change of
2762 style-related values in a font vector.
20746fe4 2763 (font_property_table): Delete entries for QClanguage and
c6b278e7
KH
2764 QCantialias, add entries for QCavgwidth.
2765 (get_font_prop_index): Delete the 2nd argument FROM.
2766 (font_prop_validate): Arguments changed.
2767 (font_put_extra): Adjusted for the change of font-related objects.
2768 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
2769 (font_parse_fcname, font_unparse_fcname)
2770 (font_prepare_composition): Likewise.
2771 (font_parse_family_registry): Renamed from font_merge_old_spec.
2772 (otf_open): Delete the 1st arg entity.
2773 (font_otf_capability): Adjusted for the above change.
2774 (font_score): New arg alternate_families. Adjusted for the change
2775 of font-related objects.
2776 (font_sort_entites): New arg best_only.
2777 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
2778 Delete them.
2779 (font_match_p): Check alternate families.
2780 (font_find_object): Delete it.
2781 (font_check_object): New function.
c3f9fba8 2782 (font_clear_cache): Adjusted for the change of font-related objects.
c6b278e7
KH
2783 (font_delete_unmatched): New arg.
2784 (font_list_entities): Call font_driver->list with a spec that
2785 doesn't specify style-related properties.
2786 (font_matching_entity): Arguments changed. Caller changed.
c3f9fba8 2787 (font_open_entity): Adjusted for the change of font-related objects.
c6b278e7
KH
2788 (font_close_object, font_has_char, font_encode_char)
2789 (font_get_name, font_get_spec): Likewise.
c3f9fba8
JB
2790 (font_spec_from_name, font_clear_prop, font_update_lface):
2791 New functions.
2792 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
c6b278e7
KH
2793 (font_prepare_for_face, font_done_for_face, font_open_by_name)
2794 (font_at): Adjusted for the change of font-related objects.
2795 (font_range): New function.
2796 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
c3f9fba8 2797 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
c6b278e7
KH
2798 (Fcopy_font_spec, Fmerge_font_spec): New function.
2799 (Ffont_family_list): Renamed from list-families.
2800 (Finternal_set_font_style_table): Arguments changed.
2801 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
2802 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
2803 change of font-related objects.
c3f9fba8 2804 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
c6b278e7 2805
3554e566 2806 * fontset.h (struct font_info): Delete it. Most members go to
c6b278e7
KH
2807 struct font.
2808 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
2809 (enum FONT_SPEC_INDEX): Delete it.
2810 (font_info, list_fonts_func, load_font_func, query_font_func)
2811 (set_frame_fontset_func, find_ccl_program_func)
2812 (get_font_repertory_func, new_fontset_from_font_name): Delete
2813 externs.
2814 (fontset_from_font_name): Extern it.
2815 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
2816 (FONT_INFO_FROM_FACE): Deleted.
2817 (face_for_font): Adjust prototype.
2818
2819 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
2820 conditionals. Don't check enable_font_backend. Delete all codes
2821 used only when USE_FONT_BACKEND is not defined.
2822 (get_font_info_func, list_font_func, load_font_func)
2823 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
2824 (get_font_repertory_func): Delete them.
2825 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
2826 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
2827 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
2828 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
2829 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
2830 (fontset_compare_rfontdef): New function.
2831 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
2832 ront-defs by qsort. Adjusted for the change of font-group vector.
2833 (load_font_get_repertory): Deleted.
2834 (fontset_find_font): Use new macros to ref/set elements of
2835 font-def and rfont-def.
2836 (fontset_font): Fix the timing of remembering that no font for C.
2837 (free_face_fontset): Do nothing if the face has no fontset.
2838 (face_suitable_for_char_p): Use new macros to ref/set elements of
2839 rfont-def.
2840 (face_for_char): Likewise. Call face_for_char with font_object.
2841 (fs_load_font): Delete. Delete #pragma surrounding it.
2842 (fs_query_fontset): Use strcasecmp instead of strcmp.
2843 (generate_ascii_font_name): Adjusted for the format change of
2844 font-spec.
2845 (Fset_fontset_font): Likewise. Use new macros to set elements of
2846 font-def.
2847 (Fnew_fontset): Use font_unparse_xlfd to generate
2848 FONTSET_ASCII (fontset).
2849 (new_fontset_from_font_name): Deleted.
2850 (fontset_from_font): Renamed from new_fontset_from_font. Check if
2851 a fontset is already created for the font. FIx updating of
2852 Vfontset_alias_alist.
2853 (fontset_ascii_font): Deleted.
2854 (Ffont_info): Adjusted for the format change of font-spec.
2855 (Finternal_char_font): Likewise.
2856 (Ffontset_info): Likewise.
2857 (syms_of_fontset): Don't check load_font_func.
2858
2859 * fns.c (internal_equal): Handle PREV_FONT.
2860
2861 * frame.h: Delete USE_FONT_BACKEND conditional.
2862
2863 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
2864 conditionals. Don't check enable_font_backend. Delete all codes
2865 used only when USE_FONT_BACKEND is not defined.
2866 (x_set_font): Call x_new_font, not x_new_fontset2.
2867 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
2868 already set for the frame.
2869
2870 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
2871 a font-entity by font_make_entity. Use font_intern_prop instead
2872 of intern_downcase. Use FONT_SET_STYLE to set a style-related
2873 font property. If a font is scalable, set avgwidth property to 0.
2874 Set font-entity property by font_put_extra.
2875 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
2876 (ffont_driver): Adjusted for the change of struct font_driver.
2877 (ftfont_spec_pattern): New function.
2878 (ftfont_list): Return a list, not vector.
2879 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
2880 (ftfont_list_family): Don't downcase names.
2881 (ftfont_free_entity): Deleted.
2882 (ftfont_open): Return a font-ojbect. Adjusted for the change of
2883 struct font. Get underline_thickness and underline_position from
2884 font property. Don't update dpyinfo->smallest_font_height and
2885 dpyinfo->smallest_char_width.
2886 (ftfont_close): Don't free `struct font'.
2887 (ftfont_has_char): Adjusted for the format change of font-entity.
2888 (ftfont_encode_char, ftfont_text_extents): Likewise.
2889
2890 * ftxfont.c (ftxfont_list): Return a list, not vector.
2891 (ftxfont_open): Return a font-ojbect. Adjusted for the change of
2892 struct font. Get underline_thickness and underline_position from
2893 font property. Don't update dpyinfo->smallest_font_height and
2894 dpyinfo->smallest_char_width.
2895 (ftxfont_close): Don't decrese FRAME_X_DISPLAY_INFO (f)->n_fonts.
2896 (ftxfont_draw): Adjusted for the change of struct font.
2897
2898 * image.c (image_ascent): Don't include "charset.h". Include
2899 "character.h" and "font.h".
2900
2901 * lisp.h (enum pvec_type): New member PREV_FONT.
2902 (Fassoc_string): EXFUN it.
2903
2904 * print.c: Include font.h.
2905 (print_object): Handle font-related objects.
2906
2907 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
2908 conditionals. Don't check enable_font_backend. Delete all codes
2909 used only when USE_FONT_BACKEND is not defined.
2910 (handle_auto_composed_prop): Do nothing if it->f is not on a
2911 window system. Check how many following characters can be
2912 displayed by the same font.
2913 (calc_pixel_width_or_height): Type of the 4th arg is changed to
2914 'struct font *'.
2915 (get_char_face_and_encoding): Assign the whole encoding task to
2916 the `encode-char' method of a font driver.
2917 (fill_composite_glyph_string): Adjusted for the change of `struct
2918 face' and `struct glyph_string'.
2919 (fill_glyph_string): Likewise.
2920 (get_per_char_metric): Arguments changed.
2921 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
2922 and `struct glyph_string'.
2923 (produce_stretch_glyph, calc_line_height_property)
2924 (x_produce_glyphs): Likewise.
2925
2926 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
2927 conditionals. Don't check enable_font_backend. Delete all codes
2928 used only when USE_FONT_BACKEND is not defined. Use
2929 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
2930 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
2931 (Qp): Extern them.
2932 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
2933 Deleted.
2934 (struct font_name): Deleted.
2935 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
2936 (compare_fonts_by_sort_order): New function.
2937 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
2938 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
2939 Deleted.
2940 (Fx_family_fonts): Use font_list_entities, and sort fonts by
2941 compare_fonts_by_sort_order.
2942 (Fx_font_family_list): Call Ffont_family_list.
2943 (face_numeric_value, face_numeric_weight, face_numeric_slant)
2944 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
2945 (face_symbolic_slant, face_symbolic_swidth)
2946 (split_font_name_into_vector, build_font_name_from_vector)
2947 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
2948 (font_rescale_ratio, split_font_name, build_font_name)
2949 (free_font_names, sort_fonts, x_face_list_fonts)
2950 (face_font_available_p, sorted_font_list, cmp_font_names)
2951 (font_list_1, concat_font_list, font_list, remove_duplicates):
2952 Deleted.
2953 (Fx_list_fonts): Use Ffont_list.
2954 (LFACE_AVGWIDTH): Deleted.
2955 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
2956 by FONTP.
2957 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2958 (set_lface_from_font_name): Delete it.
2959 (set_lface_from_font): Renamed from
2960 set_lface_from_font_and_fontset. Caller changed. Don't set
2961 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
2962 for face.
c3f9fba8
JB
2963 (merge_face_vectors): Copy font-spec if necessary.
2964 Clear properties of the font-spec if necessary.
c6b278e7
KH
2965 (merge_face_ref): Clear properties of the font-spec if necessary.
2966 (Finternal_set_lisp_face_attribute): Likewise.
2967 (set_font_frame_param): Use font_load_for_lface to load a
2968 font-object, and call Fmodify_frame_parameters with it.
2969 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
2970 font name by Ffont_xlfd_name.
2971 (Finternal_lisp_face_attribute_values): Don't check QCweight,
2972 QCslant, and QCwidth.
2973 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
2974 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
2975 Compare fonts by EQ.
2976 (lookup_non_ascii_face): Deleted.
2977 (face_for_font): The 2nd argument changed.
c3f9fba8
JB
2978 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
2979 Check atomic font properties by case insensitive.
c6b278e7
KH
2980 (realize_non_ascii_face): Set face->overstrike correctly.
2981 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
2982 (dump_realized_face): Get font name from
2983 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
2984
2985 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
2986 conditionals. Don't check enable_font_backend. Delete all codes
2987 used only when USE_FONT_BACKEND is not defined.
2988 (xic_create_xfontset): Original code deleted and renamed from
2989 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
2990 (x_make_gc): Don't set GCFont in GCs.
2991 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
2992 opened by "fixed".
2993 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
2994 find_ccl_program_func, query_font_func, set_frame_fontset_func,
2995 get_font_repertory_func.
2996
2997 * xfont.c: Include <stdlib.h> and "ccl.h".
2998 (struct xfont_info): New structure.
2999 (xfont_query_font): Deleted.
3000 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
3001 moved from xterm.c.
3002 (xfont_driver): Adjusted for the change of struct font_driver.
3003 (compare_font_names): New function.
3004 (xfont_list_pattern): Sort font names case insensitively. Make
3005 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
3006 (xfont_list): Return a list, not vector.
3007 (xfont_match): If the font doesn't have QCname property, generate
3008 a name from the other font properties.
3009 (xfont_open): Return a font-ojbect. Adjusted for the change of
3010 struct font. Get underline_thickness and underline_position from
3011 font property. Don't update dpyinfo->smallest_font_height and
3012 dpyinfo->smallest_char_width.
3013 (xfont_close): Don't free struct font.
3014 (xfont_prepare_face): Adjusted for the change of struct font.
3015 (xfont_done_face): Deleted.
3016 (xfont_has_char): Adjusted for the change of struct font.
3017 (xfont_encode_char, xfont_draw): Likewise.
3018 (xfont_check): New function.
3019
3020 * xftfont.c (xftfont_list): Adjusted for the change of `list'
3021 callback function.
3022 (xftfont_match): Adjusted for the fontmat change of font-entity.
3023 (xftfont_open): Adjusted for the format change of font-entity and
3024 font-object. Adjusted for the change of struct font. Return a
3025 font-object. Don't update dpyinfo->smallest_font_height and
3026 dpyinfo->smallest_char_width.
3027 (xftfont_close): Block input while calling XftFontClose.
3028 (xftfont_prepare_face): Don't block input while calling
3029 xftfont_get_colors. Adjusted for the change of struct font.
3030 (xftfont_shape): Return value of error case fixed.
3031
3032 * xrdb.c (x_load_resources): Don't setup a fontset resource.
3033
3034 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
3035 conditionals.
3036 (FONT_WIDTH): Return (f)->max_width.
3037 (struct x_display_info): Delete member `font'.
3038 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
3039 (x_find_ccl_program, x_get_font_repertory): Delete externs.
3040 (struct x_output): Change type of `font' to `struct font *'.
3041
3042 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
3043 conditionals. Don't check enable_font_backend. Delete all codes
c3f9fba8 3044 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
c6b278e7
KH
3045 (x_per_char_metric, x_encode_char): Deleted.
3046 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
3047 (x_compute_glyph_string_overhangs): Adjusted for the change of
c3f9fba8 3048 `struct face'.
c6b278e7
KH
3049 (x_draw_glyph_string_foreground)
3050 (x_draw_composite_glyph_string_foreground): Likewise.
3051 (x_draw_glyph_string): Likewise. Use font->underline_position and
3052 font->underline_thickness.
3053 (x_new_font): Renamed from x_new_fontset2.
3054 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
3055 (x_check_font): Call `check' method of a font driver.
3056 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
3057 (x_query_font, x_get_font_repertory): Deleted.
3058 (x_find_ccl_program): Renamed and moved to xfont.c.
3059 (x_redisplay_interface): Adjusted for the change of `struct
3060 redisplay_interface'.
3061
3062 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
3063 conditionals. Don't check enable_font_backend. Delete all codes
3064 used only when USE_FONT_BACKEND is not defined. Surround non-used
3065 code by "#ifdef OLD_FONT" and "endif".
3066 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
3067
3068 * w32font.h (struct w32font_info): New member.
3069 (FONT_COMPAT): New macro.
3070 (w32font_open_internal): Prototype adjusted.
3071
3072 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
3073 OLD_FONT" and "endif".
3074
3075 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
3076 conditionals. Don't check enable_font_backend. Delete all codes
3077 used only when USE_FONT_BACKEND is not defined.
3078 (w32font_open): Return a font-object. Make a font-object by
3079 font_make_object. Adjusted for the change of struct w32font_info.
3080 (w32font_close): Don't free struct font. Adjusted for the change
3081 of struct w32font_info.
3082 (w32font_encode_char, w32font_text_extents, w32font_draw):
3083 Adjusted for the change of struct w32font_info.
3084 (w32font_draw): Likewise.
3085 (w32font_list_internal): Return a list, not vector.
3086 (w32font_open_internal): Change the 4th arg to font-object.
c3f9fba8 3087 Adjusted for the change of struct w32font_info and font-object format.
c6b278e7
KH
3088 (add_font_name_to_list): Don't downcase names.
3089 (w32_enumfont_pattern_entity): Make a font-entity by
3090 font_make_entity. Adjusted for the format change of font-entity.
3091 Use FONT_SET_STYLE to set a style-related font property. If a
3092 font is scalable, set avgwidth property to 0. Set font-entity
3093 property by font_put_extra.
c3f9fba8 3094 (font_matches_spec): Adjusted for the format change of font-entity.
c6b278e7
KH
3095 (w32_weight_table, w32_decode_weight): New variables.
3096 (w32_encode_weight): New function.
3097 (fill_in_logfont): Adjusted for the format change of font-spec.
3098 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
3099 weight value.
3100 (w32font_driver): Adjusted for the change of struct font_driver.
3101
3102 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
f245f2c6 3103 conditionals. Don't check enable_font_backend. Surround non-used
c6b278e7
KH
3104 code by "#ifdef OLD_FONT" and "endif".
3105 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
3106 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
3107
3108 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
3109 conditionals. Don't check enable_font_backend. Delete all codes
3110 used only when USE_FONT_BACKEND is not defined. Surround non-used
3111 code by "#ifdef OLD_FONT" and "endif".
3112
3113 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
c3f9fba8
JB
3114 (uniscribe_open): Return value changed to font-object.
3115 Adjusted for the format change of font-object.
3116 (uniscribe_otf_capability): Adjusted for the change of struct font.
c6b278e7
KH
3117 (add_opentype_font_name_to_list): Don't downcase names.
3118 (uniscribe_font_driver): Adjusted for the change of struct
3119 font_driver.
3120
f9d4c199
CY
31212008-05-13 Chong Yidong <cyd@stupidchicken.com>
3122
3123 * dispnew.c (update_frame_1): Check if tty output is still valid
3124 before flushing it.
3125
44f249c0
JD
31262008-05-13 Jan Djärv <jan.h.d@swipnet.se>
3127
3128 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
3129 to Gtk+ menus.
3130
01bb4018
SM
31312008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
3132
3271a8f5
SM
3133 * dired.c (file_name_completion): Tweak the code so as to always do it
3134 in a single pass. Tighten the scope of some variables.
3135
01bb4018
SM
3136 * dired.c (Qdefault_directory): New var.
3137 (file_name_completion): Use it instead of Fexpand_file_name.
3138 (syms_of_dired): Initialize it.
3139
728bb8e0
SM
31402008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
3141
3142 * fileio.c (double_dollars): Remove dead code.
3143
ed4c17bb
EZ
31442008-05-10 Eli Zaretskii <eliz@gnu.org>
3145
6c5665e9
EZ
3146 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
3147 Mention w32-get-true-file-attributes in doc string.
3148
ed4c17bb
EZ
3149 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
3150
71e1f69d
GM
31512008-05-09 Glenn Morris <rgm@gnu.org>
3152
3153 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
3154 2008-04-23.
3155
ee7a2e7a
EZ
31562008-05-09 Eli Zaretskii <eliz@gnu.org>
3157
8aaaec6b
EZ
3158 Support for reporting owner and group of each file on MS-Windows:
3159 * dired.c (stat_uname, stat_gname): New functions, with special
3160 implementation for w32.
3161 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
3162
ee7a2e7a
EZ
3163 * w32.c: Rename the_passwd_* to dflt_passwd_*.
3164 (dflt_group_name): New static variable.
728bb8e0 3165 (dflt_group): Rename from the_group.
ee7a2e7a
EZ
3166 (init_user_info): Init dflt_group fields. Get user's group name
3167 from LookupAccountSid.
8aaaec6b
EZ
3168 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
3169 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
3170 New initialization states.
3171 (globals_of_w32): Initialize them to zero. Initialize the default
3172 group name to "None".
3173 (GetFileSecurity_Name): New global var, the name of the function
3174 to call for GetFileSecurity.
3175 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
3176 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
3177 (get_file_security, get_security_descriptor_owner)
3178 (get_security_descriptor_group, is_valid_sid)
3179 (get_file_security_desc, get_rid, get_name_and_id)
3180 (get_file_owner_and_group): New functions.
3181 (stat): Use get_file_security_desc and get_file_owner_and_group to
3182 report the owner and primary group of each file. Don't ignore the
728bb8e0
SM
3183 high 32 bits of file's size, now that st_size is 64-bit wide.
3184 Fix test when to get true file attributes.
8aaaec6b
EZ
3185 (init_user_info): Use get_rid instead of equivalent inline code.
3186 (fstat): Don't ignore the high 32 bits of file's size.
ee7a2e7a 3187
b199c436
CY
31882008-05-09 Chong Yidong <cyd@stupidchicken.com>
3189
3190 * image.c (png_load): Use correct bit-depth for setting background
3191 color.
3192
86914123
EZ
31932008-05-08 Eli Zaretskii <eliz@gnu.org>
3194
3195 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
3196 epa-hook.elc.
3197
67b5d7de
JB
31982008-05-08 Juanma Barranquero <lekktu@gmail.com>
3199
3200 * font.c (Ffont_match_p): Don't use `iff' in docstring.
3201
1a111394
DN
32022008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
3203
3204 * macfns.c (Fx_create_frame): Make a copy of frame parameters
3205 because the original parameters are in pure storage now.
3206 (mac_window): Remove unused params. Update callers.
3207
6d77fa95
SM
32082008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
3209
7a3d90dc
SM
3210 * lread.c (substitute_object_recurse): Use lower-level primitives.
3211 Don't signal errors when traversing sub-char-tables.
3212 Don't loop over all the possible characters when traversing char-tables.
3213
6d77fa95
SM
3214 * print.c (print_preprocess): Add sub-char-tables to the print-table,
3215 just like we do in print.c.
3216
140eb764
SM
32172008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
3218
3219 * minibuf.c (Ftry_completion): Remove code left over from when we used
3220 scmp instead of Fcompare_strings.
3221
e9184ccb
JB
32222008-05-04 Juanma Barranquero <lekktu@gmail.com>
3223
3224 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
3225
0e9378b3
YM
32262008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3227
3228 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
3229 Create bitmap context in native byte order.
3230
f67e15be
MB
3231 * macterm.c (XDrawLine)
3232 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
3233 context in native byte order.
064032d0 3234
f67e15be 32352008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
50eff40f
YM
3236
3237 * config.in: Regenerate.
3238
3239 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
3240 New definitions for Image I/O support.
3241 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
3242 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
3243 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
3244 (mac_data_provider_release_data, image_load_image_io)
3245 [USE_MAC_IMAGE_IO]: New functions.
3246 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
3247 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
3248 (init_image_func_pointer) [MAC_OSX]: Remove function.
3249 (image_load_quartz2d) [MAC_OSX]: Check availability of
3250 CGImageCreateWithPNGDataProvider at compile time.
3251 Use lowercase `false' for boolean constant.
3252 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
3253 Use image_load_image_io.
3254 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
3255 Don't check MyCGImageCreateWithPNGDataProvider.
3256 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
3257 Don't call init_image_func_pointer.
3258
3259 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
3260
3261 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
3262 Make variable non-static.
3263 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
3264 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
3265
3266 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
3267 (RED_FROM_ULONG): Mask off higher bits.
3268 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
3269
3270 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
3271 Include AvailabilityMacros.h.
3272 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
3273 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
3274
c6bff69e
SM
32752008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
3276
3277 * chartab.c (Fset_char_table_range): If range is t, really set all
3278 chars to that value.
3279
7412d429
EZ
32802008-05-03 Eli Zaretskii <eliz@gnu.org>
3281
3282 * dired.c (Ffile_attributes): Don't allow the device number become
3283 negative.
3284
f83bbfac
DU
32852008-05-02 Daiki Ueno <ueno@unixuser.org>
3286
5a81d3d7 3287 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
f83bbfac 3288
2e3148e2
JL
32892008-05-02 Juri Linkov <juri@jurta.org>
3290
3291 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
728bb8e0
SM
3292 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
3293 DEFAULT argument as a list of default values in docstrings.
2e3148e2 3294
923fb88c
CY
32952008-05-01 Chong Yidong <cyd@stupidchicken.com>
3296
3297 * puresize.h (BASE_PURESIZE): Increase to 1210000.
3298
047aaeb9
MR
32992008-05-01 Martin Rudalics <rudalics@gmx.at>
3300
3301 * dispnew.c (change_frame_size_1): Preserve small windows when
3302 shrinking frames by calling set_window_height|width with third
3303 arg 2.
3304
3305 * window.h (struct window): Replace field too_small_ok by field
3306 resize_proportionally.
3307
3308 * window.c (make_window): Initialize resize_proportionally.
3309 (enlarge_window): Temporarily set resize_proportionally to make
3310 sure that shrink_windows does scale the window proportionally.
3311 (shrink_windows): When window has resize_proportionally set try
3312 to shrink it proportionally by stealing from other windows.
3313 (struct saved_window, Fset_window_configuration)
3314 (compare_window_configurations): Handle resize_proportionally.
3315 (WINDOW_TOTAL_SIZE): New macro.
3316 (window_min_size, shrink_windows, size_window): Use it.
c6bff69e 3317 (check_min_window_sizes): Remove. Invalid values of
047aaeb9
MR
3318 window-min-height|width are handled by window_min_size_2 now.
3319 (size_window, Fsplit_window, enlarge_window)
3320 (adjust_window_trailing_edge, grow_mini_window): Don't call
3321 check_min_window_sizes.
c6bff69e
SM
3322 (window_min_size_2, window_min_size_1, window_min_size):
3323 New argument safe_p for retrieving "safe" minimum sizes.
c3f9fba8 3324 (Fdisplay_buffer, Fsplit_window, enlarge_window)
c6bff69e
SM
3325 (adjust_window_trailing_edge, grow_mini_window):
3326 Adjust arguments of window_min_size... functions.
047aaeb9
MR
3327 (shrink_windows): Argument min_size removed. New argument
3328 safe_p allows shrinking windows to their safe minimum sizes.
3329 Calculate minimum size and decide whether a window shall be
3330 deleted for each window individually.
3331 (size_window): When nodelete_p equals 2, tell shrink_windows to
3332 delete windows only if their new minimum size is no more safe.
3333 (shrink_window_lowest_first): Call window_min_size_1 to make
3334 sure to preserve modeline of bottom-most window when resizing
3335 the minibuffer.
3336 (Fset_window_configuration, Fcurrent_window_configuration)
3337 (compare_window_configurations): Do not handle
3338 window-min-height|width any more.
3339 (syms_of_window): Clarify window-min-height|width doc-strings.
3340
2a54a229
SM
33412008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
3342
3343 * dired.c (file_name_completion): Fix up the encoding/decoding issue
3344 some more. Copy some of the code from Ftry_completions.
3345 Remove special case code that dates back to initial revision when the
3346 slash was only added when necessary and that can't trigger nowadays.
3347
384bc634
KH
33482008-04-27 Kenichi Handa <handa@m17n.org>
3349
3350 * font.c (font_prop_validate): Signal `error' instead of `font'.
3351
2c2279c6
JR
33522008-04-29 Jason Rumney <jasonr@gnu.org>
3353
3354 * w32fns.c (Fw32_battery_status): New defun.
3355 (syms_of_w32fns): Defsubr it.
3356
fb4a622a
AS
33572008-04-28 Andreas Schwab <schwab@suse.de>
3358
3359 * dired.c (file_name_completion): Fix another mixing of encoded
3360 and decoded names.
3361
23f250f4
JB
33622008-04-28 Juanma Barranquero <lekktu@gmail.com>
3363
3364 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
3365
d8d30dff
JB
33662008-04-27 Juanma Barranquero <lekktu@gmail.com>
3367
3368 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
3369
ea6104a8
AS
33702008-04-27 Andreas Schwab <schwab@suse.de>
3371
9c691c00
AS
3372 * dired.c (file_name_completion): Fix inappropriate mixing of
3373 encoded and decoded names.
3374
ec1bf773
AS
3375 * xterm.c (XTread_socket): Fix use of uninitialized variable.
3376
ea6104a8
AS
3377 * puresize.h (BASE_PURESIZE): Increase to 1200000.
3378
01388a3d
EZ
33792008-04-26 Eli Zaretskii <eliz@gnu.org>
3380
3381 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
3382 2008-03-31, it's not needed anymore with `struct stat' definition
3383 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
3384 for the same reasons.
3385
175aea10 33862008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
27af566c
CY
3387
3388 * m/sparc.h: Additional redefinitions for GNU/Linux.
3389
1289aeb8
YM
33902008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3391
3392 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
3393 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
3394 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
3395 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
3396 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
3397 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
3398 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
3399 Likewise.
3400
3401 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
c3f9fba8 3402 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
1289aeb8
YM
3403 (mac_ax_number_of_characters): Add externs.
3404 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
3405 [USE_MAC_TSM]: Likewise.
3406 (mac_handle_text_input_event) [MAC_OSX]:
3407 Handle kEventTextInputOffsetToPos for no active input area case.
3408 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
3409 (mac_handle_document_access_event)
3410 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
3411 (install_application_handler) [MAC_OSX]: Register handlers for
3412 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
3413 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
3414 Register mac_handle_document_access_event.
3415
3416 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
3417 Make functions non-static.
3418
dbd50d4b
SM
34192008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
3420
3421 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
3422 (read_file_name_completion_ignore_case, insert_default_directory)
3423 (Qdefault_directory): Move to minibuffer.el.
3424 (Fread_file_name): Call the new `read-file-name' instead.
3425
9ea37b9d 34262008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
81fe843b
YM
3427
3428 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
3429 Make function non-static.
3430 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
3431 Remove function.
3432 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
3433 Move to mactoolbox.c.
3434 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
3435
3436 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
3437 (mac_rect_make): New macro.
3438
3439 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
3440 instead of float.
3441 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
3442 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
3443 (XSetBackground) [USE_CG_DRAWING]: Likewise.
3444 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
3445 CGRectMake.
3446 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
3447 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
3448 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
3449 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
3450 instead of WindowRef in argument type.
3451 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
3452 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
3453 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
3454 instead of DISPLAY. All uses changed.
3455 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
3456 (x_calc_absolute_position): Simplify so as not to use
3457 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
81fe843b
YM
3458
3459 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
3460 instead of WindowRef in argument type.
3461 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
3462 [TARGET_API_MAC_CARBON]: Remove externs.
3463 (create_apple_event, mac_event_parameters_to_lisp)
3464 [TARGET_API_MAC_CARBON]: Add externs.
3465
d8d30dff 3466 * mactoolbox.c (Vmac_ts_script_language_on_focus)
81fe843b
YM
3467 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
3468 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
3469 is clicked.
3470 (x_activate_menubar): Remove extern for saved_menu_event_location.
3471 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
3472 Move from mac.c.
3473
9ea37b9d 34742008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
a1b41389
YM
3475
3476 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
3477 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
3478
9ea37b9d 34792008-04-23 Jason Rumney <jasonr@gnu.org>
bd735631
JR
3480
3481 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
3482 attributes only for local files.
3483
3484 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
e9184ccb 3485 default to Qlocal.
bd735631 3486
88970542
JL
34872008-04-22 Juri Linkov <juri@jurta.org>
3488
3489 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
3490 read-buffer-to-switch instead of using the letter "B".
3491
92ec67e3
SM
34922008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
3493
3494 * fileio.c (Qdefault_directory): New variable.
3495 (Fread_file_name): Use it to pass `dir' to the completion functions.
3496
a32b2382
CY
34972008-04-20 Chong Yidong <cyd@stupidchicken.com>
3498
2a2e8de7 3499 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
a32b2382 3500
6c8b4f07
SM
35012008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
3502
ece5f847
SM
3503 * keyboard.c (Vpre_help_message): Remove.
3504 (show_help_echo): Remove default C code.
3505
6c8b4f07
SM
3506 * dired.c (directory_files_internal, file_name_completion):
3507 Only call ENCODE_FILE if the string is indeed decoded.
3508
73d798d5
SM
35092008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
3510
3511 * Makefile.in (TOOLKIT_DEFINES): Remove.
3512 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
3513
d8d30dff 35142008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9e13f0c3
YM
3515
3516 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
3517 (mactoolbox.o): New target.
3518
3519 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
3520 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
3521
3522 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
3523 Use mac_set_frame_window_background instead of XSetWindowBackground.
3524 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
3525 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
3526 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
3527 instead of SetWindowTitleWithCFString.
3528 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
3529 Move function to mactoolbox.c.
3530 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
3531 Use mac_set_window_modified instead of SetWindowModified.
3532 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
3533 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
3534 (Fx_focus_frame): Use mac_front_non_floating_window instead of
3535 FrontNonFloatingWindow. Use mac_activate_window instead of
3536 ActivateWindow. Use mac_active_non_floating_window instead of
3537 ActiveNonFloatingWindow.
3538 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
3539 Use mac_show_hourglass and mac_hide_hourglass.
3540 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
3541 instead of GetGlobalMouse.
3542 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
3543 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
3544 Use mac_bring_window_to_front instead of BringToFront.
3545 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
3546 mactoolbox.c.
3547 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
3548 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
3549 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
3550 mactoolbox.c.
3551
3552 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
3553 (XtPointer): Move typedef from macmenu.c.
3554 (enum button_type): Move enum from macmenu.c.
3555 (widget_value): Move typedef from macmenu.c.
3556 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
3557 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
3558 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
3559 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
3560 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
3561 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
3562 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
3563 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
3564 (Selection): Move typedef from macselect.c.
3565 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
3566 macterm.c.
3567 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
3568 (mac_is_window_collapsed, mac_bring_window_to_front)
3569 (mac_send_window_behind, mac_hide_window, mac_show_window)
3570 (mac_collapse_window, mac_front_non_floating_window)
3571 (mac_active_non_floating_window, mac_activate_window)
3572 (mac_move_window_structure, mac_move_window, mac_size_window)
3573 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
3574
3575 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
3576 (enum mac_menu_kind): Move enum to mactoolbox.c.
3577 (min_menu_id): Move variable to mactoolbox.c.
3578 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
3579 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
3580 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
3581 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
3582 [TARGET_API_MAC_CARBON]: Likewise.
3583 (XtPointer): Move typedef to macgui.h.
3584 (enum button_type): Move enum to macgui.h.
d02fe47d
MB
3585 (widget_value): Move typedef to macgui.h.
3586 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
3587 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
3588 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
3589 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
3590 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
3591 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
3592 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
3593 (popup_activated_flag): Make variable non-static.
3594 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
3595 (add_menu_item, fill_menu, dispose_menus):
3596 Move functions to mactoolbox.c.
3597 (restore_show_help_function, menu_target_item_handler)
3598 (install_menu_target_item_handler, mac_handle_dialog_event)
3599 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
3600 [TARGET_API_MAC_CARBON]: Likewise.
3601 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
3602 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
3603 (find_and_call_menu_selection, name_is_separator): Make function
3604 non-static.
3605 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
3606 to mactoolbox.c.
3607 (set_frame_menubar): Don't call install_menu_quit_handler.
3608 (menu_item_selection): New variable.
3609 (mac_menu_show): Use create_and_show_popup_menu.
3610 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
3611 selection but set variable menu_item_selection. All uses changed.
3612 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
3613 Call install_menu_quit_handler. Move to mactoolbox.c.
edd3ff1d 3614
d02fe47d
MB
3615 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
3616 (Selection): Move typedef to macgui.h.
3617 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
3618 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
3619 Make variables non-static.
3620 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
3621 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
3622 Make functions non-static.
3623 (Vmac_service_selection) [MAC_OSX]: Likewise.
3624 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
3625 (mac_valid_selection_target_p, mac_clear_selection)
3626 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
3627 (mac_put_selection_value, mac_selection_has_target_p)
3628 (mac_get_selection_value, mac_get_selection_target_list)
3629 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
3630 Move functions to mactoolbox.c.
3631 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
3632 Likewise.
3633 (copy_scrap_flavor_data, mac_handle_service_event)
3634 (install_service_handler) [MAC_OSX]: Likewise.
3635 (syms_of_macselect) <Vmac_dnd_known_types>:
3636 Use mac_dnd_default_known_types.
463f55ee 3637
d02fe47d
MB
3638 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
3639 Move to mactoolbox.c.
3640 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
3641 (Fx_selection_owner_p): Add EXFUN.
3642 (install_window_handler, remove_window_handler, XSetWindowBackground):
3643 Remove externs.
3644 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
3645 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
3646 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
3647 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
3648 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
3649 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
3650 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
3651 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
3652 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
3653 (create_and_show_popup_menu, mac_get_selection_from_symbol)
3654 (mac_valid_selection_target_p, mac_clear_selection)
3655 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
3656 (mac_put_selection_value, mac_selection_has_target_p)
3657 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
3658 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
3659 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
3660 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
3661 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
3662 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
3663 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
3664 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
3665 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
463f55ee 3666
d02fe47d 3667 * mactoolbox.c: New file.
af253914 3668
d8d30dff 36692008-04-18 Jason Rumney <jasonr@gnu.org>
af253914 3670
d02fe47d 3671 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
af253914 3672
8ee085a4
SM
36732008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
3674
73d798d5
SM
3675 * character.c (Fmultibyte_char_to_unibyte):
3676 Return latin1 chars unchanged.
5556875b 3677
8ee085a4
SM
3678 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
3679 relocated if it points to `name'.
3680
5dff5999
KH
36812008-04-17 Kenichi Handa <handa@m17n.org>
3682
3683 * data.c (Faset): Allow setting a multibyte character in an
3684 ASCII-only unibyte string.
3685
3686 * lisp.h (STRING_SET_MULTIBYTE): New macro.
3687
a51f4969
SM
36882008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
3689
3690 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
3691 done in config.h.
3692
add553ac
JB
36932008-04-16 Juanma Barranquero <lekktu@gmail.com>
3694
3695 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
3696 (Fchar_direction): Add usage in the docstring.
3697
8ad7b280
CY
36982008-04-15 Chong Yidong <cyd@stupidchicken.com>
3699
3700 * keyboard.c (read_key_sequence): Remove always-true checks.
3701
e157d7ba
JR
37022008-04-14 Jason Rumney <jasonr@gnu.org>
3703
3704 * w32font.c (w32font_open_internal): Set max_bounds.descent in
3705 compatibility struct, for better underline positioning.
3706
9ec3aaef 37072008-04-13 David Hansen <david.hansen@gmx.net>
48f7d213
MA
3708
3709 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
3710 string.
3711
36c08864
DN
37122008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
3713
3714 * m/hp800.h (XUINT, XSET): Remove.
3715
f5acc071
JB
37162008-04-12 Juanma Barranquero <lekktu@gmail.com>
3717
3718 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
3719 previous change.
3720
5b5a2ea1
SM
37212008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
3722
3723 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
3724 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
3725
492d9fd6
SM
37262008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
3727
3728 * keymap.h (map_keymap_canonical): Declare.
3729 * xmenu.c (single_keymap_panes): Use it.
3730
dd60787c
GM
37312008-04-11 Glenn Morris <rgm@gnu.org>
3732
3733 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
3734 set the target's value to that of the alias.
3735
c23b5410
SM
37362008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
3737
3738 * term.c (set_tty_color_mode): Left over typo.
3739
e89b536d
MA
37402008-04-10 Michael Albinus <michael.albinus@gmx.de>
3741
3742 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
f5acc071 3743 only after check for file name handler functions. Signal, when
e89b536d
MA
3744 native functionality is not supported.
3745 (syms_of_fileio): Declare it unconditionally.
3746
40a339c8
JR
37472008-04-10 Jason Rumney <jasonr@gnu.org>
3748
31403b24
JR
3749 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
3750 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
3751
40a339c8
JR
3752 * w32.c (logon_network_drive): Also logon to remote drives that
3753 are mapped to drive letters.
3754
96a7394f
GM
37552008-04-10 Glenn Morris <rgm@gnu.org>
3756
3757 * xdisp.c (truncate-partial-width-windows): Doc fix.
3758
34b67b0f
SM
37592008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
3760
3761 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
3762 Move functions to minibuffer.el.
3763 (syms_of_fileio): Don't declare them.
3764
c025fb0a
SM
37652008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
3766
ba5ff07b
SM
3767 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
3768 (syms_of_minibuf): Remove its initialization.
3769
c025fb0a
SM
3770 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
3771
7a6a86ad
JB
37722008-04-09 Juanma Barranquero <lekktu@gmail.com>
3773
3774 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
3775
cf907d69
JR
37762008-04-09 Jason Rumney <jasonr@gnu.org>
3777
3dc94c30
JR
3778 * makefile.w32-in (distclean): Delete makefile too.
3779 (maintainer-clean): New target.
3780
8d28646b
JR
3781 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
3782
cf907d69
JR
3783 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
3784 for new font backend and composite cases.
3785
ef5eb925
JD
37862008-04-09 Jan Djärv <jan.h.d@swipnet.se>
3787
3788 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
3789 Most of the code moved to run_timers.
3790 (do_pending_atimers): Call run_timers.
3791 (run_timers): New function.
3792
cf907d69
JR
3793 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
3794 run atimers.
ef5eb925
JD
3795
3796 * process.c (wait_reading_process_output): The same as above.
3797
9b2cd403
SM
37982008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
3799
32bae13c
SM
3800 * minibuf.c (last_exact_completion): Remove variable.
3801 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
3802 (complete_and_exit_1, complete_and_exit_2)
3803 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
3804 (Fdisplay_completion_list, display_completion_list_1)
3805 (Fminibuffer_completion_help, Fself_insert_and_exit)
8d28646b
JR
3806 (Fexit_minibuffer, Fminibuffer_message): Move functions to
3807 minibuffer.el.
32bae13c
SM
3808 (syms_of_minibuf): Remove corresponding initializations.
3809
5c4cc82a
SM
3810 * keyboard.c (Qdeactivate_mark): New var.
3811 (command_loop_1): Use it to call `deactivate-mark'.
3812 (syms_of_keyboard): Initialize it.
3813
9b2cd403
SM
3814 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
3815 to another frame.
3816 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
3817 Don't call set_tty_color_mode.
3818 (store_frame_param): Reset previous_frame rather than call
3819 set_tty_color_mode.
3820 * term.c (set_tty_color_mode): Rewrite.
3821 * dispextern.h (set_tty_color_mode): New type.
3822 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
3823
84cb7b45
SM
38242008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
3825
3826 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
3827 for generic chars, which do not exist any more in emacs-unicode.
3828
3ed051d4
MA
38292008-04-08 Michael Albinus <michael.albinus@gmx.de>
3830
3831 * coding.c (detect_coding_emacs_mule)
3832 (Ffind_operation_coding_system): Fix typo.
3833
58c3ea42
JR
38342008-04-08 Jason Rumney <jasonr@gnu.org>
3835
3bf8d230
JR
3836 * w32uniscribe.c (SNAME): Extract only symbol name.
3837
56a70cca
JR
3838 * w32font.h (struct w32_metric_cache): New struct.
3839 (w32font_info): Use it.
3840 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
3841 (CACHE_BLOCKSIZE): New constants.
3ed051d4 3842
58c3ea42
JR
3843 * w32font.c (Qja, Qko, Qzh): New symbols.
3844 (syms_of_w32font): Initialise them.
3845 (font_matches_spec): Use them to filter by language.
3846 (recompute_cached_metrics): Remove function.
3847 (compute_metrics, clear_cached_metrics): New functions.
3848 (w32font_encode_char): Use them to manage metric cache.
3849 (w32font_text_extents): Cache metrics for all glyphs on demand.
3850 Delay converting glyph indices to WORD until needed.
3851 (w32font_open_internal): Initialize metric cache to empty.
3852 (registry_to_w32_charset): Charset should always be a symbol.
3853 (fill_in_logfont, list_all_matching_fonts): Family should
3854 always be a symbol.
3855
0ce24b2d
JR
38562008-04-06 Jason Rumney <jasonr@gnu.org>
3857
3858 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
3859 Give up if glyph indices not supported. Use uniscribe obtained
3860 ABC widths for individual metrics. Map glyph clusters back to
3861 characters using fClusterStart flag. Return number of glyphs
3862 produced, not chars processed.
b7655e0c 3863 (uniscribe_shape): Map char at FROM to current glyph.
0ce24b2d 3864
5bc6ddff 38652008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
56613f06 3866
fbf57abb
JB
3867 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
3868 Use SetMenuItemHierarchicalMenu.
56613f06 3869
5bc6ddff 38702008-04-05 Jason Rumney <jasonr@gnu.org>
93421a1f 3871
5bc6ddff
MB
3872 * image.c (pbm_load): Allow color values up to 65535.
3873 Throw an error if max_color_idx is outside the supported range.
3874 Report an error when image size is invalid.
3875 Read two bytes at a time when raw images have max_color_idx above 255.
1f816871 3876
5bc6ddff 38772008-04-05 Eli Zaretskii <eliz@gnu.org>
5ed6ba5b 3878
5bc6ddff
MB
3879 * w32.c (readdir): If FindFirstFile/FindNextFile return in
3880 cFileName a file name that includes `?' characters, use the 8+3
3881 alias in cAlternateFileName instead.
5ed6ba5b 3882
5bc6ddff 38832008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
32c06229 3884
5bc6ddff
MB
3885 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
3886 append "CCL: Quitted" when the CCL program is quitted.
3887 (setup_ccl_program): Initialize ccl->quit_silently to zero.
32c06229 3888
5bc6ddff 3889 * ccl.h (struct ccl_program): New member quit_silently.
32c06229 3890
c36e15db
CY
38912008-04-05 Chong Yidong <cyd@stupidchicken.com>
3892
9605d567
CY
3893 * search.c (compile_pattern_1): Treat non-nil and non-string of
3894 search-spaces-regexp as nil.
3895
c36e15db
CY
3896 * minibuf.c (Fassoc_string): Tweak docstring.
3897
40beb147
EZ
38982008-04-05 Eli Zaretskii <eliz@gnu.org>
3899
3900 * dired.c (Ffile_attributes): Support inode numbers wider than 32
3901 bits. Remove ugly WINDOWSNT-specific kludge introduced on
3902 2008-03-14 to force inode be positive.
3903
3904 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
3905 _S_* ones, since we now use our own sys/stat.h.
3906 (stat, fstat): Don't mangle the inode number.
aa08d1ff 3907 (init_user_info): Don't restrict UID and GID to 0-60000 range.
40beb147 3908
4591d6cb
SM
39092008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
3910
d4417eb0
SM
3911 * frame.h (struct frame): Give one more bit to `visible' since we use
3912 values larger than 1 to indicate obscured frames on ttys.
3913
00f7c5ed
SM
3914 * keymap.c (Qkeymap_canonicalize): New var.
3915 (Fmap_keymap_internal): New fun.
3916 (describe_map): Use keymap-canonicalize.
3917
4591d6cb
SM
3918 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
3919 (Fundo_boundary): Set them.
3920 (syms_of_undo): Initialize them.
3921 (record_point): Use them instead of last_point_position*.
3922 (last_undo_buffer): Change type.
3923
3187540e
JR
39242008-04-04 Jason Rumney <jasonr@gnu.org>
3925
0ce24b2d
JR
3926 * w32font.c (w32font_text_extents): Use font's ascent and descent.
3927 (recompute_cached_metrics): Don't set ascent and descent per char.
3928
3187540e 3929 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
4591d6cb 3930 (uniscribe_check_otf): Add GC protection before consing.
d0bfec76 3931 Rearrange loop for counting features.
3187540e 3932
f1a6b216
SM
39332008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
3934
3935 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
3936 buffer with byte-size of source buffer.
3937
1d8dcf63
CY
39382008-04-03 Chong Yidong <cyd@stupidchicken.com>
3939
3940 * callint.c (Fcall_interactively): Handle temporary region even
3941 when shift-select-mode is off.
3942
6b8aa22a
JR
39432008-04-03 Jason Rumney <jasonr@gnu.org>
3944
3945 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
3946
2f3cbb32
KH
39472008-04-03 Kenichi Handa <handa@m17n.org>
3948
3949 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
3950 (CATEGORY_MASK_UTF_16): Likewise.
3951 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
3952 binary file.
3953 (detect_coding): Add null-byte detection for a binary file.
3954 (detect_coding_system): Likewise.
3955
43f4f91c
JR
39562008-04-03 Jason Rumney <jasonr@gnu.org>
3957
0c1b4ae2
JR
3958 * w32uniscribe.c: New file.
3959
3960 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
3961
3962 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
3963
3964 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
3965 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
3966 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
3967 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
3968 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
3969 (Qphonetic): New symbols.
3970 (syms_of_w32font): Initialize them.
3971 (font_supported_scripts): Use them.
3972 (w32font_list_family): List all charsets.
3973 (w32font_text_extents, recompute_cached_metrics): Fix metric
3974 calculations.
3975 (w32_enumfont_pattern_entity): Make full_type a DWORD.
3976 Give opentype fonts their own format.
3977 (font_matches_spec): New arguments backend and logfont.
3978 Handle :otf spec for uniscribe backend.
3979 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
3980 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
4591d6cb 3981
0c1b4ae2
JR
3982 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
3983 font backend.
3984 (globals_of_w32fns): Initialize uniscribe font backend.
3985
fbf57abb 3986 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
0c1b4ae2
JR
3987 dependencies.
3988 (w32uniscribe.$(O)): New file to build.
3989 (FONT_OBJ): Include w32uniscribe.$(O).
3990 (LIBS): Add uniscribe libraries.
3991
43f4f91c
JR
3992 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
3993
75043a7d
CY
39942008-04-02 Chong Yidong <cyd@stupidchicken.com>
3995
3996 * callint.c (Vshift_select_mode): New var.
3997 (Finteractive): Document new ^ spec.
3998 (Fcall_interactively): Call handle-shift-selection if the ^ spec
3999 is present.
4000
4001 * keyboard.c (Vthis_command_keys_shift_translated): New var.
4002 (command_loop_1): Avoid running the direct display versions of
4003 forward-char and backward-char if shift-selection may occur.
75043a7d
CY
4004 (read_key_sequence): Set Vthis_command_keys_shift_translated if
4005 shift-translation takes place.
4006
4007 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
4008 avoid clobbering by define-minor-mode.
4009
4010 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
4011 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
4012
4013 * syntax.c (Fforward_word): Add ^ interactive spec.
4014
4015 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
4016 (Fscroll_right): Add ^ interactive spec.
4017
b2b7f29e
SM
40182008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
4019
a432c0a6
SM
4020 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
4021
994b75e0
SM
4022 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
4023
b2b7f29e
SM
4024 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
4025
e99c7806
JL
40262008-03-31 Juri Linkov <juri@jurta.org>
4027
4028 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
4029
1c9c1270
JD
40302008-03-30 Jan Djärv <jan.h.d@swipnet.se>
4031
4032 * gtkutil.c (xg_set_geometry): Fix indentation.
994b75e0 4033 (xg_resize_outer_widget): Remove.
1c9c1270
JD
4034 (x_wm_size_hint_off): Fix indentation.
4035 (xg_frame_set_char_size): Call flush_and_sync after
4036 gtk_window_resize.
4037 (x_wm_set_size_hint): Pass NULL as geometry window to
4038 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
4039 Add menu bar and tool bar height to base height.
4040 (xg_update_frame_menubar, free_frame_menubar)
4041 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
994b75e0
SM
4042 (update_frame_tool_bar, free_frame_tool_bar):
4043 Change xg_resize_outer_widget to xg_frame_set_char_size.
1c9c1270 4044
90b3fc84
MA
40452008-03-30 Michael Albinus <michael.albinus@gmx.de>
4046
4047 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
4048 (Fdbus_call_method): New parameter TIMEOUT.
4049 (dbus-send-signal): Optimize UNGCPRO call.
4050
7ae6d1d1
JL
40512008-03-29 Juri Linkov <juri@jurta.org>
4052
4053 * window.c (Fdisplay_buffer): Move call to
4054 Vsplit_window_preferred_function out of conditions that check
4055 if window is eligible for vertical splitting.
4056 When Vsplit_window_preferred_function is non-nil, call it and use
4057 its non-nil return value as window. Otherwise, continue doing
4058 vertical splitting using Fsplit_window with arg horflag=nil.
4059 (syms_of_window) <Vsplit_window_preferred_function>: Change the
4060 default value from `split-window' to nil.
4061
f03f8f2c
JL
40622008-03-29 Juri Linkov <juri@jurta.org>
4063
4064 * callint.c (Fcall_interactively): Revert 2008-03-16 change
4065 for interactive code letters 'b' and 'B'.
4066
6d557778
EZ
40672008-03-29 Eli Zaretskii <eliz@gnu.org>
4068
4069 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
4070 multibyte string.
4071
58555d81
SM
40722008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
4073
4074 * keyboard.c (pending_funcalls): New var.
4075 (timer_check): Run it.
4076 (syms_of_keyboard): Initialize it.
4077 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
4078 (Vdelete_terminal_functions): New vars.
4079 (syms_of_terminal): Initialize them.
4080 (Fdelete_terminal): Run delete-terminal-functions.
4081 * xdisp.c (safe_eval): Rewrite.
4082 (safe_call2): New fun.
4083 * frame.c (Qdelete_frame_functions): New var.
4084 (syms_of_frame): Initialize it.
4085 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
4086 * lisp.h (safe_call2, pending_funcalls): Declare.
4087
4c92f429
AS
40882008-03-28 Andreas Schwab <schwab@suse.de>
4089
4090 * indent.c (Fmove_to_column): Move declaration before statements.
4091
a1567c45
SM
40922008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
4093
2806a183
SM
4094 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
4095 (struct frame): Use bit fields for boolean vars.
4096
eef60308
SM
4097 * process.c (server_accept_connection): Simplify naming.
4098 (emacs_get_tty_pgrp): Use SDATA.
4099
a1567c45
SM
4100 * coding.c (decode_coding_object): Fix last change.
4101
30076589
JR
41022008-03-27 Jason Rumney <jasonr@gnu.org>
4103
4104 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
4105
880820fe
KH
41062008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
4107
4108 * charset.c (Fdefine_charset_internal): Change the way of
4109 registering charsets in Vcharset_order_list.
4110 (syms_of_charset): Make the charset `eight-bit' supplementary.
4111
3cf8cdfb
CY
41122008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
4113
4114 * regex.c (EXTEND_BUFFER): Change order of pointer addition
4115 operations, to avoid having the difference between pointers
4116 overflow.
4117
ef6f5c0e
SM
41182008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
4119
80e3db56
SM
4120 * indent.c (check_display_width): New fun.
4121 (scan_for_column): Use it.
4122
c397dc7a
SM
4123 * data.c (syms_of_data): Mark most-positive-fixnum and
4124 most-negative-fixnum as constants.
4125
bf6b4d58
SM
4126 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
4127
ef6f5c0e
SM
4128 * indent.c (scan_for_column): Extract from current_column_1.
4129 Merge with the same code from Fmove_to_column.
4130 (current_column_1, Fmove_to_column): Use it.
4131
72d5003d
SM
41322008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
4133
12270607
SM
4134 * keymap.c (map_keymap_internal): New fun.
4135 (map_keymap): Use it.
4136 (Fmap_keymap_internal): New fun.
4137 (Fmap_keymap): Remove left-out test from before make_save_value.
4138
a10cca6c
SM
4139 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
4140
d7b10f4c
SM
4141 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
4142 Use XCAR/XCDR.
4143
5431bd6a
SM
4144 * process.h (struct Lisp_Process): Remove filter_multibyte.
4145 * process.c (QCfilter_multibyte): Remove.
4146 (setup_process_coding_systems): Don't use filter_multibyte.
4147 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
4148 (read_process_output): Don't adjust multibyteness to filter_multibyte.
4149 (Fset_process_filter_multibyte): Change the coding-system to
4150 approximate the previous behavior.
4151 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
4152 coding-system.
4153
72d5003d
SM
4154 * coding.c (decode_coding_object): When not decoding into a buffer,
4155 obey the coding system's preference of (uni|multi)byte.
4156
438eba3c
SM
41572008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
4158
4159 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
4160 every char is changed and has a different byte-length.
4161 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
4162 Fix int -> EMACS_INT.
4163
9ec3aaef 41642008-03-23 David Hansen <david.hansen@gmx.net>
a8e72f4f 4165
438eba3c 4166 * dbusbind.c (xd_read_message): Remove extra copying of message
a8e72f4f
MA
4167 strings. Check for NULL `interface' or `member'.
4168
b07103dc
EZ
41692008-03-22 Eli Zaretskii <eliz@gnu.org>
4170
4171 * w32.c (readdir): If FindFirstFile/FindNextFile return in
4172 cFileName a file name that includes `?' characters, use the 8+3
4173 alias in cAlternateFileName instead.
4174
5371d722
SM
41752008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
4176
4177 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
4178
6ba7f443
SM
41792008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
4180
4181 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
4182 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
4183 work on current_buffer only instead (that was already the case
4184 for some of the code anyway).
4185 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
4186 (temp_set_point, temp_set_point_both): Use EMACS_INT.
4187 (SET_PT, SET_PT_BOTH): Adjust.
4188 * intervals.h (set_point, temp_set_point, set_point_both)
4189 (temp_set_point_both): Remove redundant declarations.
4190
bf1c0f27
SM
41912008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
4192
4193 * fileio.c (Finsert_file_contents):
4194 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
4195 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
4196 when buffer != current_buffer anyway.
4197
acab783e
AS
41982008-03-20 Andreas Schwab <schwab@suse.de>
4199
4200 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
4201 as default.
4202
d148e14d
JR
42032008-03-19 Jason Rumney <jasonr@gnu.org>
4204
4205 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
4206 (syms_of_w32fns): Initialize them.
4207 (HOURGLASS_ID): New constant.
4208 (x_window_to_frame): Don't check hourglass_window.
4209 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
4210 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
4211 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
4212 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
4213 Only change the cursor if hourglass is not active.
4214 (Fx_create_frame): Initialize frame's current_cursor.
4215 (hourglass_atimer): Remove.
4216 (hourglass_started): New function.
4217 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
4218 (show_hourglass): Adapt to w32, changing argument to frame.
4219
4220 * w32term.h (struct w32_output): Remove hourglass_window.
4221 Add current_cursor.
4222
4223 * eval.c (call_debugger, Fsignal):
4224 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
4225 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
4226 (Fexecute_extended_command, cancel_hourglass_unwind):
4227 * minibuf.c (read_minibuf):
4228 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
63558020 4229
a5c54077
JB
42302008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
4231
4232 * window.c (run_funs): New fun.
4233 (run_window_configuration_change_hook): Use it to run the buffer-local
4234 and the global part of the hook.
4235
4236 * xdisp.c (format_mode_line_unwind_data): Add window argument.
4237 (unwind_format_mode_line): Restore selected window.
4238 (x_consider_frame_title, Fformat_mode_line): Set selected window.
4239
f9f3238f
SM
42402008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
4241
253c3c82
SM
4242 * editfns.c (Fchar_equal): Check they are valid characters.
4243
f9f3238f
SM
4244 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
4245
065a118d
AS
42462008-03-17 Andreas Schwab <schwab@suse.de>
4247
0b8be006
AS
4248 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
4249 against a charset.
4250
065a118d
AS
4251 * lisp.h (Fbuffer_list): Declare.
4252
880820fe 42532008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d3b2a6da
JD
4254
4255 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
4256 handlebox_widget is != 0.
4257
6206d6c2
JL
42582008-03-16 Juri Linkov <juri@jurta.org>
4259
4260 * callint.c (Fcall_interactively): For interactive code letters
4261 'b' and 'B' put the buffer list into the list of default "future"
4262 values of the minibuffer.
4263
f5020181
AS
42642008-03-16 Andreas Schwab <schwab@suse.de>
4265
a864f6d6
AS
4266 * keyboard.c (read_key_sequence): Fix downcasing of letters with
4267 modifiers.
4268
f5020181
AS
4269 * regex.c (re_match_2_internal): Correct matching of a charset
4270 against latin-1 characters.
4271
03f244e2
KH
42722008-03-16 Kenichi Handa <handa@m17n.org>
4273
4274 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
4275 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
f9f3238f
SM
4276 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
4277 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
03f244e2
KH
4278 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
4279 CHAR_STRING_ADVANCE.
4280 (produce_chars): Fix for the case that the source and the
4281 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
4282 instead of CHAR_STRING_ADVANCE.
4283 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
4284 STRING_CHAR_ADVANCE.
4285
0e2501ed
AS
42862008-03-15 Andreas Schwab <schwab@suse.de>
4287
4288 * regex.c (re_match_2_internal): Correct matching of eight bit
4289 characters in unibyte strings.
4290
7723e095
MR
42912008-03-15 Martin Rudalics <rudalics@gmx.at>
4292
4293 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
4294 at end of range when it coincides with the end of the buffer.
4295
f507f365
EZ
42962008-03-14 Eli Zaretskii <eliz@gnu.org>
4297
294f1153
EZ
4298 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
4299
f507f365
EZ
4300 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
4301
64f0809d
JR
43022008-03-14 Jason Rumney <jasonr@gnu.org>
4303
956ae531
JR
4304 * editfns.c (initial_tz): New variable.
4305 (syms_of_editfns): Initialize it.
4306 (Fset_time_zone_rule): Set it when first called.
4307 Use it when TZSTRING is nil.
4308
64f0809d
JR
4309 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
4310 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
4311 (monitor_from_point_fn, get_monitor_info_fn): New globals.
4312 (globals_of_w32fns): Initialize them.
4313 (compute_tip_xy): Use them to position tooltips.
4314
21a4ff8e
GM
43152008-03-14 Glenn Morris <rgm@gnu.org>
4316
4317 * emacs.c (main): Revert previous change.
4318 (standard_args): Revert -internal-script back to -scriptload,
4319 and remove the long-option form.
4320
a09a5b5b
GM
43212008-03-13 Glenn Morris <rgm@gnu.org>
4322
4323 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
4324 Remove option -enable-font-backend.
4325
1c55ebd1
SM
43262008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
4327
4328 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
4329
880820fe 43302008-03-11 Jan Djärv <jan.h.d@swipnet.se>
c523e161
JD
4331
4332 * xterm.c (x_connection_closed): For GTK: If this is the last
4333 terminal just exit without closing the display.
4334
7145be81
JR
43352008-03-11 Jason Rumney <jasonr@gnu.org>
4336
4337 * w32font.c (w32font_full_name): Use floor to round.
4338
e6201af3 43392008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
ce9033f8
JD
4340
4341 * sound.c (alsa_configure): Declare vol at beginning of block.
4342
e6201af3 4343 * fontset.c (Ffontset_info): Remove extra semicolon.
ce9033f8 4344
390b81fa 43452008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
acd37560 4346
56388398
MB
4347 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
4348 size of resulting string.
af0ad939 4349
390b81fa 43502008-03-10 Jason Rumney <jasonr@gnu.org>
acd37560 4351
56388398 4352 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
acd37560 4353
390b81fa 43542008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
acd37560 4355
56388398
MB
4356 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
4357 Don't pretend as if characters with display property haven't been
4358 consumed for string-replacing-string case.
acd37560 4359
223ed6db
KS
43602008-03-08 Kim F. Storm <storm@cua.dk>
4361
4362 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
4363 (get_next_display_element, next_element_from_string)
4364 (next_element_from_ellipsis, next_element_from_buffer): Use it.
4365
28545f7c
AS
43662008-03-08 Andreas Schwab <schwab@suse.de>
4367
4368 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
4369
c960bff8
JR
43702008-03-06 Jason Rumney <jasonr@gnu.org>
4371
290afd83
JB
4372 * w32font.c (w32_registry): Take font_type argument. Use ANSI
4373 when charset not specified. Only translate ANSI to unicode when
c960bff8
JR
4374 font_type is truetype.
4375 (w32font_coverage_ok): New function.
4376 (add_font_entity_to_list): Use it to filter unsuitable fonts.
4377
87b8ce92
KH
43782008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
4379
4380 * lread.c (Fread_char): Resolve modifiers.
4381 (Fread_char_exclusive): Likewise.
4382
4383 * character.c (char_resolve_modifier_mask): New function.
4384 (char_string): Use char_resolve_modifier_mask.
4385 (Fchar_resolve_modifiers): New function.
4386 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
4387 function.
4388
cefd56f6
JR
43892008-03-04 Jason Rumney <jasonr@gnu.org>
4390
4391 * makefile.w32-in: Always include w32font.c in the build.
4392 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
4393
03bd3c1f
AS
43942008-03-04 Andreas Schwab <schwab@suse.de>
4395
4396 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
4397 (versionclean): Likewise.
4398
6f69e89b
JB
43992008-03-04 Juanma Barranquero <lekktu@gmail.com>
4400
4401 * .cvsignore: Add oo.
4402
f4a3cc44
AS
44032008-03-03 Andreas Schwab <schwab@suse.de>
4404
4405 * coding.c (decode_coding_object): Inhibit gap shrinking while
4406 decoding in place.
4407
73f838ad
DN
44082008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
4409
4410 * w32term.c: Remove unused include "gnu.h".
6f69e89b 4411 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
73f838ad
DN
4412
4413 * gnu.h: Rename to ...
4414 * emacs-icon.h: ... this.
4415 * xterm.c: Use emacs-icon.h instead of gnu.h.
4416 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
4417
ce9c1f06
JB
44182008-03-03 Juanma Barranquero <lekktu@gmail.com>
4419
4420 * w32font.c: Include math.h.
4421
34fd2d28
JR
44222008-03-03 Jason Rumney <jasonr@gnu.org>
4423
54efdcd1
JR
4424 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
4425 Compute options separately.
4426 (w32font_open_internal): Set glyph_idx before caching metrics.
4427
ce9c1f06
JB
4428 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
4429 Define if system headers don't.
4430 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
34fd2d28
JR
4431 (w32font_encode_char): Don't declare here.
4432
4433 * w32font.c (Quniscribe, QCformat): New symbols.
4434 (syms_of_w32font): Define them.
4435 (w32font_has_char): Indicate uncertainty.
ce9c1f06 4436 (w32font_encode_char): Encode as glyph point. Make static.
34fd2d28 4437 (recompute_cached_metrics): New function.
ce9c1f06
JB
4438 (w32font_open_internal): Use it. Set font to use glyph points
4439 initially. Set format based on type of font.
34fd2d28 4440 (w32font_text_extents, w32font_draw): Optionally use glyph points.
ce9c1f06
JB
4441 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
4442 on it. Set format based on information available here.
34fd2d28
JR
4443 (add_font_entity_to_list): Identify backend based on opentype_only.
4444
14daee73
AS
44452008-03-02 Andreas Schwab <schwab@suse.de>
4446
f907fb2e
AS
4447 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
4448
ce9c1f06
JB
4449 * coding.c (decode_coding_big5, produce_chars):
4450 Fix typos in last change.
14daee73 4451
c9cc6462
DN
44522008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
4453
4454 * gnu.h: New icon.
4455
119852e7
KH
44562008-03-02 Kenichi Handa <handa@m17n.org>
4457
4458 * coding.c (decode_coding_utf_8): When eol-type of CODING is
4459 `dos', don't decode '\r' if that is the last in the source.
4460 (decode_coding_utf_16, decode_coding_emacs_mule)
4461 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
4462 (decode_coding_raw_text, decode_coding_charset): Likewise.
4463 (produce_chars): Don't decode EOL here. Use EMACS_INT.
4464
a823468b
JR
44652008-03-01 Jason Rumney <jasonr@gnu.org>
4466
4467 * w32font.c (w32font_full_name): Report point size for scalable fonts.
4468
4ddc7e30
KS
44692008-03-01 Kim F. Storm <storm@cua.dk>
4470
4471 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
4472
67997c79
JR
44732008-03-01 Jason Rumney <jasonr@gnu.org>
4474
4475 * w32font.c (w32font_full_name): New function.
4476 (w32font_open_internal): Use it.
4477
3f4e9c35
KS
44782008-03-01 Kim F. Storm <storm@cua.dk>
4479
4480 * dispnew.c (line_draw_cost): Fix invalid glyph check.
4481
f3b9e479
JR
44822008-03-01 Jason Rumney <jasonr@gnu.org>
4483
4484 * font.c (font_unparse_fcname): Increase len when style is a symbol.
4485
880820fe 44862008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7ee480ce
JD
4487
4488 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
4489 xg_frame_resized when the event is for the edit widget.
4490
4491 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
4492
4493 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
4494 set_char_size.
4495 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
4496 operations on widgets here. Just set frame size if needed.
4497 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
4498 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
4499 (x_wm_set_size_hint): Set size hints on the edit widget only, not
4500 the whole frame.
4501 (xg_create_tool_bar): Move attachement of the tool bar to
4502 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
4503 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
4504
6c8acaa1
JR
45052008-03-01 Jason Rumney <jasonr@gnu.org>
4506
4507 * w32fns.c (w32_msg_pump): Disable debug code.
4508
51fb064b 45092008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
03eb5fab 4510
51fb064b 4511 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
cb681b34 4512
60221a33
CY
45132008-02-29 Chong Yidong <cyd@stupidchicken.com>
4514
4515 * xdisp.c (next_overlay_string): Don't set
4516 overlay_strings_at_end_processed_p if we're currently reading from
4517 a display string.
4518
10cbc34f
SM
45192008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
4520
4521 * xdisp.c (get_overlay_strings_1): Fix typo.
4522
73c0054e
CY
45232008-02-29 Chong Yidong <cyd@stupidchicken.com>
4524
4525 * xdisp.c (get_overlay_strings_1): Add missing argument type.
4526
ec1c4354
KH
45272008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
4528
55082642
KH
4529 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
4530
ec1c4354
KH
4531 * xdisp.c (display_mode_element): Cancel the previous change.
4532 (decode_mode_spec): Likewise.
ee548a94
KH
4533 (handle_auto_composed_prop): Don't make composition if it->string
4534 is a string.
ec1c4354 4535
b6d898a2
KS
45362008-02-27 Kim F. Storm <storm@cua.dk>
4537
4538 * lisp.h (GLYPH): Change type from int to struct with separate char
4539 and face_id members.
4540 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
4541 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
4542 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
4543 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
4544 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
4545 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
4546 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
4547 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
4548 handle new Lisp glyph code encoding, either an integer or a cons.
4549
4550 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
4551 (GLYPH_ALIAS): Delete.
4552 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
4553 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
4554 (GLYPH_FROM_CHAR): Replace macro by ...
4555 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
4556
4557 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
4558 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
4559 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
4560 (GLYPH_INVALID_P): New macro.
4561 (spec_glyph_lookup_face): Update prototype.
4562
4563 * dispnew.c (line_draw_cost): Adapt to new glyph type.
4564 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
4565 new glyph code encoding.
4566 (spec_glyph_lookup_face): No return value; update passed glyph instead.
4567 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
4568
4569 * xdisp.c (get_next_display_element, next_element_from_display_vector):
4570 Adapt to new glyph type and new glyph code encoding.
4571
4572 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
4573
4574 * indent.c (current_column, current_column_1, Fmove_to_column)
4575 (compute_motion): Adapt to new glyph code encoding.
4576
4577 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
4578
af2080a2
CY
45792008-02-27 Chong Yidong <cyd@stupidchicken.com>
4580
4581 * process.c (wait_reading_process_output): Check for window
4582 changes caused by timers.
880820fe 4583 Suggested by Johan Bockgård.
af2080a2 4584
253ed25e
GM
45852008-02-27 Glenn Morris <rgm@gnu.org>
4586
4587 * emacs.c (USAGE1): Add `--disable-font-backend'.
4588
18a9f8d9
SM
45892008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
4590
4591 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
4592 is made to the buffer.
4593
0f8b27ea
SM
45942008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
4595
4596 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
4597 (face_at_string_position):
4598 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
4599 (face_at_string_position):
4600 * xdisp.c (display_string, next_overlay_change):
4601 * buffer.h (overlays_at):
4602 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
4603 Update callers.
4604
4e7c53ca
CY
46052008-02-26 Chong Yidong <cyd@stupidchicken.com>
4606
4607 * editfns.c (Fformat): Doc fix.
4608
51c01100
JB
46092008-02-26 Juanma Barranquero <lekktu@gmail.com>
4610
4611 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
4612 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
4613 (Ffont_otf_alternates, Fquery_font): Doc fixes.
4614
13cda5f9
SM
46152008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
4616
4617 * buffer.c (Fbuffer_swap_text): New function.
4618 (syms_of_buffer): Defsubr it.
4619
8018d430
CY
46202008-02-25 Chong Yidong <cyd@stupidchicken.com>
4621
4622 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
4623
9bde1a21
JR
46242008-02-25 Jason Rumney <jasonr@gnu.org>
4625
4626 * w32font.c (w32font_draw): Draw one character at a time when padding.
4627
eeca6f6f
SM
46282008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
4629
4630 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
4631 Handle a nil arg. Use run_window_configuration_change_hook.
4632 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
4633 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
4634 Use run_window_configuration_change_hook.
4635
ec1c4354
KH
46362008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
4637
4638 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
4639 1-pixel width.
4640
ae185452
KH
46412008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
4642
4643 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
4644 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
4645 if the glyph in the font is zero pixel with.
4646
4647 * dispextern.h (struct glyph_string): New member padding_p.
4648
4649 * w32font.c (w32font_draw): Pay attention to s->padding_p.
4650
4651 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
4652
4653 * xfont.c (xfont_draw): Pay attention to s->padding_p.
4654
4655 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
4656
eeca6f6f 4657 * font.c: If the font driver doesn't have `shape' function, return Qnil.
ae185452 4658
ffe832ea 46592008-02-25 Jason Rumney <jasonr@gnu.org>
c9029fe5 4660
ffe832ea 4661 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
16782258 4662
06045130
SM
46632008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
4664
4665 Allow fine-grained image-cache flushing.
4666 * dispextern.h (struct image): Add `dependencies' field.
4667 (clear_image_caches): Change arg to Lisp_Object.
4668 * image.c (make_image): Initialize `dependencies' field.
4669 (clear_image_cache): Change arg to allow fine-grained flushing.
4670 Perform the flush even if image-cache-eviction-delay is nil.
4671 (clear_image_caches): Change arg to Lisp_Object.
4672 (Fclear_image_cache): Expand meaning of the argument.
4673 (mark_image): Mark `dependencies' field.
4674 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
4675 (lface_hash): Use XHASH rather than XFASTINT.
4676 (face_at_buffer_position): Fix int -> EMACS_INT position.
4677 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
4678 (select_frame_for_redisplay): Remove code duplication.
4679 (redisplay_internal): Adapt arg to call to clear_image_caches.
4680
9d2818d6
DN
46812008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
4682
4683 * s/vms4-0.h:
4684 * s/vms4-2.h:
4685 * s/vms4-4.h:
4686 * s/vms5-5.h: Remove, unused.
4687
4688 * s/irix5-2.h:
4689 * s/irix6-0.h:
4690 * s/riscos5.h:
4691 * s/mach-bsd4-3.h:
2a2e8de7 4692 * m/mips4.h: Remove files for obsolete systems.
9d2818d6
DN
4693
4694 * Makefile.in:
4695 * filelock.c:
4696 * unexmips.c:
4697 * m/hp9000s300.h:
4698 * m/iris4d.h:
4699 * s/aix3-1.h:
4700 * s/hpux.h:
4701 * s/msdos.h:
4702 * s/usg5-0.h:
4703 * s/usg5-2-2.h:
4704 * s/usg5-2.h:
4705 * s/usg5-3.h: Remove references to obsolete variables.
4706
4707 * s/irix5-0.h: Remove, move all the contents ...
4708 * s/irix6-5.h: ... here. Simplify.
4709 * config.in: Regenerate.
4710
2a36efcf
JR
47112008-02-24 Jason Rumney <jasonr@gnu.org>
4712
c5ad7a3d 4713 * w32term.c (x_draw_glyph_string_background): Clear the background
2face669
JR
4714 manually when cleartype is in use.
4715 (x_draw_glyph_string_foreground): Draw text transparently when
4716 cleartype is in use.
4717
2a36efcf
JR
4718 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
4719 a font into it unless we have to.
4720
b03f96dc 47212008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
92a8ce63 4722
b03f96dc
MB
4723 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
4724 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
92a8ce63 4725
b03f96dc 47262008-02-18 Jason Rumney <jasonr@gnu.org>
92a8ce63 4727
b03f96dc 4728 * w32fns.c (Fw32_shell_execute): Encode parameters.
92a8ce63 4729
b03f96dc 47302008-02-09 Eli Zaretskii <eliz@gnu.org>
20f1ef2e 4731
b03f96dc 4732 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
32d0a9dc 4733
b03f96dc 47342008-02-05 Juanma Barranquero <lekktu@gmail.com>
20f1ef2e 4735
b03f96dc 4736 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
77d1daf2 4737
d5958163
CY
47382008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
4739
4740 * xterm.c (x_set_offset): Don't change the gravity if
4741 CHANGE_GRAVITY is -1.
4742
9997701e
CY
47432008-02-23 Chong Yidong <cyd@stupidchicken.com>
4744
4745 * fileio.c (auto_save_error_occurred): New var.
4746 (auto_save_error): Set it.
4747 (Fdo_auto_save): Don't overwrite the error message if an auto-save
4748 error occurred.
4749
9d95a291
EZ
47502008-02-23 Eli Zaretskii <eliz@gnu.org>
4751
4752 * w32.c (globals_of_w32): Add initializations for
4753 g_b_init_get_sid_sub_authority and
4754 g_b_init_get_sid_sub_authority_count.
4755
43d1af23
SM
47562008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
4757
43a1d19b
SM
4758 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
4759 (font_parse_xlfd): Use them for sanity check.
608c3307 4760 (Finternal_set_font_style_table): Make sure the table is bijective.
43a1d19b 4761
354884c4
SM
4762 Consolidate the image_cache to the terminal struct.
4763 * termhooks.h (P_): Remove redundant def.
4764 (struct terminal): New field `image_cache'.
4765 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
4766 of FRAME_X_IMAGE_CACHE.
4767 * xterm.h (struct x_display_info): Remove image_cache field.
4768 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
4769 * w32term.h (struct w32_display_info): Remove image_cache field.
4770 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
4771 * macterm.h (struct mac_display_info): Remove image_cache field.
4772 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
4773 * xterm.c (x_term_init):
4774 * w32term.c (w32_term_init):
4775 * macterm.c (mac_term_init): Set the image_cache in the terminal.
4776 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
4777 Remove declarations.
4778 (clear_image_caches, mark_image_cache): New declarations.
4779 * xfaces.c (clear_face_cache):
4780 * xdisp.c (redisplay_internal): Use clear_image_caches.
4781 * image.c (clear_image_cache): Don't check that a frame is on
4782 a window-system before checking if it shares the same cache.
4783 (clear_image_caches): New function.
4784 (Fclear_image_cache): Use it.
4785 (mark_image): Move from allo.c.
4786 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
4787 * alloc.c (mark_image, mark_image_cache): Move to image.c.
4788 (mark_object): Don't call mark_image_cache for frames.
4789 (mark_terminals): Call mark_image_cache.
4790
c2e42690
SM
4791 * lisp.h (Fdelete_terminal): Declare.
4792
43d1af23
SM
4793 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
4794 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
4795 wrong_type_argument.
4796
cc8d1311
KH
47972008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
4798
4799 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
4a4bdfc7 4800 malayalam.el, and tamil.el. Add sinhala.el.
cc8d1311 4801
6bd92640
SM
48022008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
4803
4804 * xterm.c (x_connection_closed): Consolidate identical tests.
4805 (x_delete_terminal): Don't crash if called via x_connection_closed.
4806
a73b5627
KH
48072008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
4808
4809 * xdisp.c (decode_mode_spec): New arg string.
6bd92640 4810 (display_mode_element): Adjust for the above change.
a73b5627 4811
1b511542
SM
48122008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
4813
4814 * callint.c (Fcall_interactively): Use AREF.
4815
81aefea4
SM
48162008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
4817
4818 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
4819
880820fe 48202008-02-18 Jan Djärv <jan.h.d@swipnet.se>
2d7117fe
JD
4821
4822 * xfns.c (Fx_show_tip): Set string to " " if empty.
4823
a2b84f35
DN
48242008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
4825
4826 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
4827 with Qt.
4828
43c0454d
KH
48292008-02-17 Kenichi Handa <handa@m17n.org>
4830
4831 * ftfont.c (ftfont_shape): Return Lispy number.
4832
4833 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
4834 for GCs.
4835 (Finternal_set_font_selection_order): Call font_update_sort_order
4836 only when enable_font_backend is set.
4837 (realize_x_face): Set face->font_info to that of default face only
4838 when enable_font_backend is set.
4839
4840 * xdisp.c (handle_composition_prop): Set it->c to the fist
4841 characte of the composed region.
4842 (fill_composite_glyph_string): Set base_face->font_info to
4843 s->font_info. Get a face for ascii from base_face->ascii_face.
4844 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
4845 with a face already decided.
4846 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
4847 non-negative.
978bef9a
JB
4848 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
4849 call font_prepare_composition unconditionally.
43c0454d 4850
978bef9a 4851 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
43c0454d
KH
4852
4853 * xterm.h (struct x_display_info): New member font.
4854
4855 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
4856 (x_set_mouse_face_gc, x_new_font): Likewise.
4857 (x_term_init): Setup display_info->font.
4858 (x_delete_terminal): Free display_info->font.
4859
4860 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
4861
4862 * ftxfont.c (ftxfont_default_fid): Delete it.
4863 (ftxfont_open): Set xfont->fid to 0.
978bef9a 4864 (ftxfont_end_for_frame): Clear data specific to the frame and the
43c0454d
KH
4865 font-driver.
4866
4867 * xftfont.c (xftfont_default_fid): Delete it.
4868 (xftfont_open): Set xfont->fid to 0.
4869
4870 * fontset.c (FONTSET_OBJLIST): New macro.
4871 (fontset_find_font): Update font-object list of the fontset.
4872 (free_realized_fontset): New function.
4873 (free_face_fontset): Call free_realized_fontset.
4874 (Ffont_info): Call font_close_object only when enable_font_backend
4875 is set.
4876
4877 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
4878 [HAVE_NTGUI]: Include w32term.h.
4879 [MAC_OS]: Include macterm.ch.
4880 (font_otf_ValueRecord): Use make_number.
4881 (font_finish_cache): Fix handling of reference count.
4882 (font_clear_cache): Update num_fonts.
4883 (font_open_entity): Update smallest_char_width and
4884 smallest_font_height of the frame.
4885 (font_close_object): Update num_fonts.
4886 (Fclear_font_cache): Fix finding the target cache data.
4887
be617367
GM
48882008-02-16 Glenn Morris <rgm@gnu.org>
4889
4890 * fontset.c (Finternal_char_font): Fix compilation warning.
4891
2930d117
EZ
48922008-02-16 Eli Zaretskii <eliz@gnu.org>
4893
634d3003
EZ
4894 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
4895 instead of char arrays. Enlarge the size of array passed to
4896 get_token_information.
4897
2930d117
EZ
4898 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
4899 warnings.
4900
79214046
DN
49012008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
4902
4903 * .gdbinit: Don't set `args', it breaks gdb --args.
4904
7f5d2c72
SM
49052008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
4906
4907 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
4908 within a narrowed buffer.
4909
6edacc43
KH
49102008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
4911
b270d6af
JB
4912 * coding.c (decode_coding_object, encode_coding_object):
4913 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
6edacc43 4914
174105f7
SM
49152008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
4916
b270d6af
JB
4917 * coding.c (coding_set_destination): Use BEG_BYTE rather than
4918 hardcoding 1.
13818c30
SM
4919 (detect_coding_system):
4920 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
4921 (string_char_to_byte, string_byte_to_char, insert_from_gap):
4922 * insdel.c (insert_from_gap):
4923 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
4924 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
4925 (string_to_multibyte):
4926 * character.c (chars_in_text, multibyte_chars_in_text):
4927 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
4928
f1c99628
SM
4929 * character.h (FETCH_STRING_CHAR_ADVANCE)
4930 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
4931 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
4932 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
4933
7927d8e3
SM
4934 * casefiddle.c (casify_region): Only call after-change and composition
4935 functions on the part of the region that was changed.
4936
adf6a429 4937 * keyboard.c (read_avail_input):
174105f7
SM
4938 * frame.c (Fdelete_frame): Call Fdelete_terminal.
4939
3ee24aec
SM
49402008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
4941
4942 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
4943 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
4944
4ed4b975
JB
49452008-02-11 Juanma Barranquero <lekktu@gmail.com>
4946
4947 * w32menu.c (push_submenu_start, push_submenu_end)
4948 (push_left_right_boundary, push_menu_pane, push_menu_item):
4949 * keyboard.c (read_key_sequence): Don't pass args with side effects
4950 to AREF, it fails when compiling with -DENABLE_CHECKING.
4951
79e3bfb8
KH
49522008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
4953
4ed4b975
JB
4954 * Makefile.in (${lispsource}international/charprop.el):
4955 Delete this target.
6e76043f 4956
79e3bfb8
KH
4957 * search.c (boyer_moore): Fix incorrect synching of the trunk and
4958 emacs-unicode-2.
4959
5b8de9c5
SM
49602008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
4961
4962 * terminal.c (Fdelete_terminal): Clean up the `force' path.
4963
eac1939a
SM
49642008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
4965
c53956fe
SM
4966 * frame.c (Qnoelisp): New symbol.
4967 (syms_of_frame): Initialize it.
4968 (Fdelete_frame): Use it to distinguish a mere `force' passed from
4969 someharmles Elisp code, from a strong `force' from x_connection_closed.
4970 * frame.h (Qnoelisp): Declare.
4971 * xterm.c (x_connection_closed): Pass `noelisp'.
4972
eac1939a
SM
4973 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
4974 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
4975 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
4976 rather than `int' for the type of `type'.
4977
13f6772b
DN
49782008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
4979
4980 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
4981
4982 * Makefile.in (GNUC): Remove support for gcc-1.x.
4983
e8455367
RS
49842008-02-10 Richard Stallman <rms@gnu.org>
4985
4986 * lisp.h (ASET): Use AREF, not ASLOT.
4987
4b75ffab
SM
49882008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
4989
4990 * lisp.h (ASET): Check bounds.
4991
d224e8c2
GM
49922008-02-10 Glenn Morris <rgm@gnu.org>
4993
4994 * buffer.c (mode-name): Doc fix.
4995
4624371d
DN
49962008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
4997
290afd83
JB
4998 * Makefile.in:
4999 * emacs.c:
5000 * gmalloc.c:
5001 * keyboard.c:
5002 * lisp.h:
5003 * m/ibm370aix.h:
5004 * process.c:
5005 * regex.c:
5006 * s/hpux.h:
5007 * sysdep.c:
5008 * sysselect.h:
5009 * systty.h:
5010 * unexec.c:
5011 * w32term.c:
5012 * xsmfns.c:
5013 * xterm.c: Remove code that deals with obsolete variables.
4624371d
DN
5014
5015 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
5016
5017 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
5018 nothing else needs it anymore.
5019
274ec34b
EZ
50202008-02-09 Eli Zaretskii <eliz@gnu.org>
5021
5022 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
5023 instead of unibyte_char_to_multibyte.
5024
deeaffe1
DN
50252008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
5026
5027 * s/gnu-linux.h: Remove commented out code.
5028
4ed4b975 5029 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
deeaffe1
DN
5030
5031 * Makefile.in: Update what RMS says about using autoconf.
4ed4b975 5032 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
c3f9fba8 5033 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
deeaffe1
DN
5034 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
5035 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
5036
68b587a6
SM
50372008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
5038
9141ca5e
SM
5039 * keymap.c (Fkey_description): Move side effect outside of macro call.
5040
dfae5f9a 5041 * xfaces.c (Finternal_make_lisp_face):
b1ebcadb
SM
5042 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
5043
ff7a2223
SM
5044 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
5045 (syms_of_fontset): Use ASET.
5046
68b587a6
SM
5047 * fns.c (concat): Move side effect outside of macro call.
5048 (hash_clear): Use ASET.
5049
a31787b1
RS
50502008-02-08 Richard Stallman <rms@gnu.org>
5051
5052 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
5053 If FORCE, and frame has a surrogate minibuffer for another frame,
5054 delete the other frame first.
5055
987be29b 50562008-02-07 Timo Savola <timo.savola@iki.fi>
1540a61a
JD
5057
5058 * xterm.c (x_detect_focus_change): Handle embed client message.
5059 (handle_one_xevent): Ditto.
5060 (handle_one_xevent): If embedded and we get a button press/release,
5061 request focus.
5062 (xembed_set_info, xembed_send_message): New functions.
5063 (x_make_frame_visible): Call xembed_set_info if embedded.
5064 (x_make_frame_invisible): Call xembed_set_info if embedded.
5065 (x_term_init): Initialize Xatom_XEMBED.
5066 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
5067 (x_iconify_frame): Ditto.
5068
5069 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
5070 (enum xembed_info, enum xerm srmbed_message, enum xembed_focus)
5071 (enum xembed_modifier, enum xembed_accelerator): New.
5072 (xembed_set_info, xembed_send_message): Declare.
5073 (FRAME_X_EMBEDDED_P): New.
5074
5075 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
5076 gtk_plug_new.
5077
5078 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
5079 window ID of a frame.
5080 (x_window): Reparent frame if embedded.
5081 (Fx_create_frame): Don't set border width if embedded.
5082
1f204af3 5083 * emacs.c (USAGE3): Add --parent-id.
1540a61a
JD
5084 (standard_args): Ditto.
5085
880820fe 50862008-02-07 Jan Djärv <jan.h.d@swipnet.se>
f937a7db
JD
5087
5088 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
5089
92413ef3
JD
50902008-02-07 Jim Meyering <meyering@redhat.com>
5091
6f69e89b 5092 Use "do...while (0)", not "if (1)...else" in macro definitions.
987be29b
RF
5093 The latter provokes a warning from gcc about the empty else, when
5094 followed by ";". Also, without that trailing semicolon, it would
5095 silently swallow up any following statement.
c3f9fba8 5096 * syntax.h (SETUP_SYNTAX_TABLE)
987be29b
RF
5097 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
5098 * buffer.h (DECODE_POSITION): Likewise.
5099 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
5100 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
5101 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
5102 (FETCH_CHAR_ADVANCE): Likewise.
5103 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
92413ef3 5104
03fa5713
GM
51052008-02-07 Jim Meyering <meyering@redhat.com>
5106
5107 * lread.c [lint]: Don't include <sys/inode.h>.
5108
3ae565b3
SM
51092008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
5110
5111 * xselect.c (x_handle_dnd_message):
5112 * xmenu.c (digest_single_submenu, xmenu_show):
5113 * xdisp.c (with_echo_area_buffer_unwind_data)
5114 (format_mode_line_unwind_data, unwind_format_mode_line)
5115 (display_menu_bar):
5116 * eval.c (Ffetch_bytecode):
5117 * doc.c (store_function_docstring):
5118 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
5119 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
5120 * buffer.c (add_overlay_mod_hooklist): Use ASET.
5121
146b6e55
KH
51222008-02-07 Kenichi Handa <handa@m17n.org>
5123
5124 * ftxfont.c (ftxfont_open): Don't set
5125 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
5126
5127 * ftfont.c (ftfont_open): Fix previous change.
5128
46a923ac
JR
51292008-02-06 Jason Rumney <jasonr@gnu.org>
5130
5131 * w32font.c (w32font_text_extents): Fill in lbearing metric.
5132 Use cached metrics for ASCII characters.
3ae565b3
SM
5133 (w32font_open_internal): Don't set font's owning_frame.
5134 Cache metrics for ASCII characters.
46a923ac
JR
5135
5136 * w32font.h (struct w32font_info): Add ascii_metrics.
5137 Remove owning_frame.
5138
da7d7c21
KH
51392008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
5140
5141 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
5142 to negative value.
5143
5144 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
5145
3ae565b3 5146 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
da7d7c21
KH
5147
5148 * charset.c (syms_of_charset): Set QCtest and Qeq.
5149
c62c8ddb
SM
51502008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
5151
ca319910
SM
5152 * process.c (Fstart_process):
5153 * callproc.c (Fcall_process): Handle the case where
5154 Funhandled_file_name_directory returns nil.
5155
76860cbb
SM
5156 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
5157 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
f9ffa1ea
SM
5158 * font.c (check_gstring): Use them and AREF to access the vector before
5159 we know it's really a gstring.
5160 (Ffont_shape_text): Fix typo.
5161 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
76860cbb 5162
15139d67
SM
5163 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
5164 Declare.
5165
c62c8ddb
SM
5166 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
5167
04b65d2b
JR
51682008-02-05 Jason Rumney <jasonr@gnu.org>
5169
5170 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
5171 Set smallest_font_height and smallest_char_width in display info.
5172
fccaebfd
KH
51732008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
5174
5175 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
5176
e7d7fd8c
MB
51772008-02-05 Miles Bader <miles@gnu.org>
5178
5179 * xfaces.c (get_lface_attributes, merge_named_face)
5180 (lookup_named_face, lookup_derived_face, realize_named_face):
5181 Revert 2008-02-01 change by cyd@stupidchicken.com.
5182
3d4448a8
KH
51832008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
5184
5185 * fontset.c (Ffontset_info): Handle the case of inhibitting the
5186 fallback fonts.
15139d67 5187 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
3d4448a8 5188
5ace1ec1
JR
51892008-02-04 Jason Rumney <jasonr@gnu.org>
5190
5191 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
5192 set full_name.
e3a77b22 5193 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
5ace1ec1 5194
ffe42183
JR
51952008-02-03 Jason Rumney <jasonr@gnu.org>
5196
5197 * makefile.w32-in (OBJ1): Include font.o here.
5198 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
5199
526dc3b3
JR
52002008-02-02 Jason Rumney <jasonr@gnu.org>
5201
a0fece35 5202 * makefile.w32-in (temacs): Bump EMHEAP to 21.
526dc3b3 5203
af805c82
JR
52042008-02-01 Jason Rumney <jasonr@gnu.org>
5205
5206 * s/cygwin.h: Define VIRT_ADDR_VARIES.
5207
5208 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
5209
7f6519c5
AS
52102008-02-01 Andreas Schwab <schwab@suse.de>
5211
1f45f627 5212 * Makefile.in (shortlisp, lisp): Update for rename of
7f6519c5 5213 ../lisp/language/myanmar.el.
7f6519c5 5214
26f8aa27
CY
52152008-02-01 Chong Yidong <cyd@stupidchicken.com>
5216
1f45f627 5217 * xfaces.c (get_lface_attributes): Delete function.
26f8aa27
CY
5218 (merge_named_face, lookup_named_face, lookup_derived_face)
5219 (realize_named_face): Call lface_from_face_name directly, and use
5220 the fact that merge_face_vectors does not alter its FROM argument.
5221
73acf815 52222008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5223
5224 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
1f45f627 5225 input in the default locale. Handle non-Unicode multibyte input.
aca7a3d2 5226
73acf815 52272008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5228
5229 * fontset.c (reorder_font_vector): Exclude nil elements from the
5230 font group. Don't try multiple fonts.
15139d67 5231 (fontset_font): Adjust for the above change.
aca7a3d2
MB
5232 (Finternal_char_font): Return nil if the found font doesn't
5233 contain the character ch.
5234
4c4475a8 5235 * Makefile.in (lisp, shortlisp): Add cham.el.
aca7a3d2 5236
73acf815 52372008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5238
5239 * font.h (FONTP): Make it return 1 also for a font-object.
5240
5241 * .gdbinit (xfontset): New function.
5242
5243 * font.c (font_find_for_lface): Check if the character C is
5244 supported or not only for the first font.
5245
5246 * fontset.c (reorder_font_vector): Fix typo.
5247 (fontset_find_font): Don't add a font-spec specifying a script.
5248 Use 0 (not Qt) for the indication of empty font-group. Change the
5249 format of RFONT-DEF. Return Qt if no font in the font-group
5250 support the character.
15139d67 5251 (fontset_font): Adjust for the above change. If no font was
aca7a3d2 5252 found the character, remember that.
15139d67 5253 (face_for_char): Adjust for the change of RFONT-DEF.
aca7a3d2
MB
5254 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
5255 no font for the target.
15139d67 5256 (Finternal_char_font): Adjust for the change of RFONT-DEF.
aca7a3d2 5257
73acf815 52582008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5259
5260 * font.c (font_load_for_face): Handle the case that the font in
5261 face->lface is a string.
5262
73acf815 52632008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5264
1f45f627 5265 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
aca7a3d2 5266
73acf815 52672008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5268
5269 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
5270 Fix previous change. If the frame is not on a window system,
5271 signal an error.
5272
73acf815 52732008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5274
4c4475a8
GM
5275 * coding.c (decode_coding_object, encode_coding_object): Adjust
5276 marker positions after conversion.
aca7a3d2
MB
5277
5278 * lisp.h (struct Lisp_Marker): New member need_adjustment.
5279
73acf815 52802008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5281
5282 * font.c (font_find_for_lface): Fix the handling of the return
5283 value of font_has_char.
5284 (Ffont_shape_text): Fix previous change.
5285
5286 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
5287 (fontset_ref_and_range): Delete it.
5288 (fontset_find_font): Call char_table_ref_and_range instead of
5289 FONTSET_REF_AND_RANGE.
5290 (make_fontset): Don't setup font groups of Latin here.
5291 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
5292 (new_fontset_from_font): Make the specified font the default for
5293 all Latin characters.
5294
73acf815 52952008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5296
5297 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
5298 is on a window system before accessing the fontset of the frame.
5299
73acf815 53002008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5301
1f45f627 5302 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
aca7a3d2
MB
5303
5304 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
5305 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
5306
5307 * font.c (Ffont_shape_text): If the font driver doesn't have a
5308 shaper function, make zero-width glyphs to have at least one-pixel
5309 width. Fix setting of `to' field of glyphs.
5310
73acf815 53112008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5312
5313 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
5314 glyphs.
5315
1f45f627 5316 * font.h (struct font_driver): Improve docstring of member `shape'.
aca7a3d2 5317
73acf815 53182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5319
5320 * composite.c (syms_of_composite): Fix docstring of
5321 auto-composition-function.
5322
5323 * font.h (LGLYPH_SIZE): New macro.
5324
5325 * font.c (Ffont_fill_gstring): Stop filling when a character not
5326 supported by the font is found.
5327 (Ffont_shape_text): When a shape callback function returns nil,
5328 try at most two more times with larger gstring.
15139d67 5329 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
aca7a3d2
MB
5330
5331 * xdisp.c (handle_auto_composed_prop): Change the argument to
5332 auto-composition-function.
5333
5334 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
5335 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
5336 Lispy glyph and store it in the lgstring.
5337
5338 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
5339
5340 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
5341
73acf815 53422008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5343
5344 * font.c (Ffont_shape_text): Avoid unnecessary composition.
5345
5346 * fontset.c (Vfont_encoding_charset_alist): New variable.
5347 (syms_of_fontset): DEFVAR it.
4c4475a8
GM
5348 (reorder_font_vector, fontset_find_font): Optimize for the case of
5349 no need of reordering.
aca7a3d2
MB
5350 (face_for_char): Map the charset property by
5351 Vfont_encoding_charset_alist.
5352
73acf815 53532008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5354
5355 * w32font.c (logfonts_match): Don't check adstyle here.
5356 (font_matches_spec): Check here against physical font instead.
5357 (add_font_entity_to_list): Avoid some substitutions.
5358
5359 * font.c (font_parse_fcname): Default weight and slant to normal.
5360 (font_score): Prefer normal fonts if weight or slant unspecified.
5361 (font_score) [WINDOWSNT]: Scale weight difference down to closer
5362 match freetype scores.
5363
73acf815 53642008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5365
5366 * w32font.c (w32font_text_extents): Don't use the frame stored in the
5367 font, as it may have been deleted.
5368 (w32_enumfont_pattern_entity): Map generic family to adstyle using
5369 most common hyphenless variation.
5370 (logfonts_match): Check generic family.
5371 (font_matches_spec): Don't check generic family here.
5372 (fill_in_logfont): Set generic family based on adstyle.
5373
5374 * w32font.h (w32font_get_cache): Update declaration.
5375
73acf815 53762008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5377
5378 * ftfont.c (ftfont_get_cache): Adjust the argument type.
5379
15139d67 5380 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
dde8403f 5381 If none of the new drivers are available, call font_update_drivers
aca7a3d2
MB
5382 with the old drivers.
5383
5384 * w32font.c (w32font_get_cache): Adjust the argument type.
5385
5386 * xfont.c (xfont_get_cache): Adjust the argument type.
5387
5388 * font.h (struct font_driver): Change argument type of get_cache.
5389
5390 * xftfont.c (xftfont_start_for_frame): Delete prototype.
5391
5392 * font.c (Ffont_get): Fix arguments to Fassoc.
15139d67 5393 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
aca7a3d2 5394 (font_clear_cache): New function.
4c4475a8 5395 (font_list_entities, font_matching_entity): Use font_get_cache.
15139d67 5396 (font_update_drivers): Call font_clear_cache when finishing a driver.
aca7a3d2
MB
5397
5398 * fontset.c (fontset_find_font): Fix previous change.
5399
73acf815 54002008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5401
5402 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
5403 dpyinfo->font_table.
5404 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
15139d67 5405 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
aca7a3d2
MB
5406
5407 * font.c (font_at): Handle the case that the arg C is negative.
5408 Handle the unibyte case.
5409 (Ffont_at): Call font_at with the arg C -1.
5410
5411 * xdisp.c (handle_auto_composed_prop): Don't get a character at
15139d67
SM
5412 the position here, and call font_at with the arg C -1.
5413 Don't check the range of the existing composition at the point.
aca7a3d2 5414
73acf815 54152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5416
15139d67 5417 * fontset.c (fontset_add): New args charset_id and family.
1f45f627 5418 Change caller.
4c4475a8
GM
5419 (load_font_get_repertory, fontset_find_font): Assume that
5420 font_spec is always a font-spec object.
aca7a3d2
MB
5421 (Fset_fontset_font): Always store a font-spec object in a fontset.
5422
5423 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
5424 instead of get_property_and_range.
5425
73acf815 54262008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5427
5428 * xftfont.c (struct xftfont_info): Delete the member ft_face.
5429 (xftfont_open): Don't keep locking face.
5430 (xftfont_close): Don't unlock face.
4c4475a8 5431 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
aca7a3d2
MB
5432
5433 * fontset.c (fontset_find_font): Don't prefer a font of
5434 supplementary charset.
5435
73acf815 54362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5437
1f45f627
GM
5438 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
5439 script, langsys_tag to langsys, new member script.
aca7a3d2
MB
5440 (OTF_TAG_STR): Terminate by '\0'.
5441 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
5442 listing to the script specified in that property. Fix arg to
5443 OTF_check_features.
5444
73acf815 54452008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5446
5447 * w32font.h: New file.
5448
5449 * w32font.c: Include it.
5450 (struct w32font_info): Add owning_frame field. Move to w32font.h.
5451 (w32font_open): Set owning_frame.
5452 (w32font_text_extents): Use owning_frame.
5453 (struct font_callback_data): Add opentype_only field.
5454 (add_font_entity_to_list): Use it to filter fonts.
5455 Don't check against full name.
5456 (w32font_list_internal): New function.
5457 (w32font_list): Use it.
5458 (w32font_match_internal): New function.
5459 (w32font_match): Use it.
5460 (w32font_open_internal): New function.
5461 (w32font_open): Use it.
5462 (w32font_get_cache, w32font_close, w32font_has_char)
5463 (w32font_encode_char, w32font_text_extents, w32font_draw):
5464 Make non-static.
5465
5466 * makefile.w32-in (w32font.o): Depend on w32font.h.
5467
73acf815 54682008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5469
5470 * charset.c (Fdefine_charset_internal): Record a supplementary
5471 charset at the tail of Vcharset_order_list.
5472
5473 * font.c (Ffont_shape_text): Fix the return value.
5474
5475 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
5476
5477 * xdisp.c (handle_auto_composed_prop): Fix previous change.
5478
73acf815 54792008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5480
5481 * ftfont.c (struct OpenTypeSpec): New struct.
5482 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
5483 (ftfont_get_open_type_spec): New function.
5484 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
5485
15139d67 5486 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
aca7a3d2 5487
73acf815 54882008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5489
5490 * w32font.c (add_font_entity_to_list): Compare only the beginning
5491 of full name.
5492
73acf815 54932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5494
15139d67
SM
5495 * xdisp.c (handle_auto_composed_prop): Simplify the code.
5496 Never return HANDLED_RECOMPUTE_PROPS.
aca7a3d2 5497
73acf815 54982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5499
5500 * font.c (font_gstring_produce): Delete it.
5501
15139d67
SM
5502 * composite.h (COMPOSITION_METHOD):
5503 Handle COMPOSITION_WITH_GLYPH_STRING.
aca7a3d2 5504
73acf815 55052008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5506
15139d67 5507 * xfont.c (Qx): Delete.
aca7a3d2
MB
5508 (syms_of_xfont): Don't initialize Qx.
5509
15139d67
SM
5510 * composite.h (enum composition_method):
5511 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
aca7a3d2 5512
73acf815 55132008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5514
5515 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
5516 (choose_face_font): Accept new form of font-spec.
5517
5518 * frame.h (font_driver_list): Declare it unconditionally.
5519 (struct frame): Define members font_driver_list and font_data_list
5520 unconditionally.
5521
5522 * fontset.c: Include "font.h" unconditionally.
15139d67 5523 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
aca7a3d2
MB
5524 (Fset_fontset_font): Accept a font-spec object.
5525
5526 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
5527 PIXEL_SIZE part a wild card.
5528
5529 * dispextern.h (struct glyph_string): Define members clip and
5530 num_clips unconditionally.
5531 (struct face): Define members font_info and extra unconditionally.
5532
5533 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
5534 ftfont_info only when HAVE_LIBOTF is defined.
5535
73acf815 55362008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
5537
5538 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
5539 and end.
5540
73acf815 55412008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5542
5543 * w32font.c (w32font_driver): Add new fields.
5544
73acf815 55452008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5546
aca7a3d2
MB
5547 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
5548 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
5549 (LIBES): Add @M17N_FLT_CFLAGS@.
5550
5551 * composite.c (compose_text): Don't treat the new style
5552 composition specially.
5553
5554 * emacs.c (main): Call syms_of_font unconditionally.
5555
5556 * font.h (FONT_ENTITY_NOT_LOADABLE)
5557 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
15139d67 5558 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
aca7a3d2 5559 (struct font_driver): New member shape.
1f45f627 5560 (font_registry_charsets): Extern it.
4c4475a8 5561 (font_find_for_lface, font_prepare_composition): Adjust prototype.
aca7a3d2
MB
5562 (font_otf_capability, font_drive_otf): Delete their externs.
5563
5564 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
4c4475a8
GM
5565 (font_charset_alist, font_registry_charsets): Move from xfont.c
5566 and rename.
aca7a3d2
MB
5567 (font_prop_validate_otf): New function.
5568 (font_property_table): Register it for QCotf.
5569 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
15139d67 5570 (font_drive_otf): Delete.
1f45f627 5571 (font_prepare_composition): New arg F. Adjust for the change of
aca7a3d2
MB
5572 lispy gstring.
5573 (font_find_for_lface): New arg C.
15139d67 5574 (font_load_for_face): Adjust for the change of font_find_for_lface.
4c4475a8
GM
5575 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
5576 lispy gstring.
aca7a3d2
MB
5577 (Ffont_shape_text): New function.
5578 (Fopen_font): If the font size is not given, use 12-pixel.
5579 (Ffont_at): New arg STRING.
15139d67
SM
5580 (syms_of_font): Initalize font_charset_alist.
5581 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
aca7a3d2
MB
5582 conditionally.
5583
5584 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
5585 fonts of the same font-spec. Change the format of RFONT-DEF.
4c4475a8
GM
5586 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
5587 Adjust for the change of RFONT-DEF.
15139d67 5588 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
aca7a3d2
MB
5589
5590 * ftfont.h: New file.
5591
5592 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
5593 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
5594 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
5595 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
5596 font_otf_capability and font_drive_otf, set ftfont_shape.
15139d67 5597 (ftfont_list): Adjust for the change of :otf property value.
aca7a3d2
MB
5598 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
5599 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
5600 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
1f204af3 5601 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
aca7a3d2
MB
5602 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
5603 (otf_gstring, gstring, m17n_flt_initialized): New variables.
5604
15139d67
SM
5605 * w32term.c (x_draw_composite_glyph_string_foreground):
5606 Adjust for the change of lispy gstring.
aca7a3d2 5607
15139d67 5608 * xdisp.c (handle_composition_prop): Adjust for the change of
aca7a3d2 5609 lispy gstring. Call a function for auto-composition with the
15139d67
SM
5610 third arg it->window.
5611 (fill_composite_glyph_string): Adjust for the change of lispy string.
5612 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
aca7a3d2 5613
15139d67 5614 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
5615 font_find_for_lface.
5616
1f45f627
GM
5617 * xfont.c (x_font_charset_alist): Move to font.c and rename.
5618 (xfont_registry_charsets): Likewise. Change caller.
aca7a3d2
MB
5619 (syms_of_xfont): Don't handle x_font_charset_alist.
5620
5621 * xftfont.c: Include "ftfont.h".
15139d67 5622 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
aca7a3d2
MB
5623 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
5624 (xftfont_close) [HAVE_LIBOTF]: Close otf.
5625 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
15139d67
SM
5626 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
5627 Set xftfont_driver.shape to xftfont_shape.
aca7a3d2 5628
15139d67 5629 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
5630 the change of lispy gstring.
5631
73acf815 56322008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5633
5634 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
5635
73acf815 56362008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5637
5638 * w32font.c (w32font_draw): Fill background manually.
5639
73acf815 56402008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5641
5642 * font.c (Qfontp): Remove unused symbol.
5643 (QCantialias): New symbol.
5644 (syms_of_font): Define it.
5645 (font_property_table): Set a validator for QCantialias.
5646
15139d67
SM
5647 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
5648 Define if not already.
aca7a3d2
MB
5649 (QCfamily): Share with xfaces.c.
5650 (Qstandard, Qsubpixel, Qnatural): New symbols.
1f45f627 5651 (syms_of_w32font): Define them. Don't define QCfamily here.
aca7a3d2
MB
5652 (w32_antialias_type, lispy_antialias_type): New functions.
5653 (w32_enumfont_pattern_entity): New arg requested_font.
5654 Set antialias parameter if non-default was requested.
5655 (fill_in_logfont): Fill in lfQuality if :antialias specified.
5656
73acf815 56572008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5658
5659 * lread.c (read1): Undo the previous change.
5660
73acf815 56612008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
aca7a3d2
MB
5662
5663 * frame.c (Fdelete_frame): Call font_update_drivers only when
6f69e89b 5664 USE_FONT_BACKEND is defined.
aca7a3d2 5665
73acf815 56662008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5667
5668 * font.h (struct font_bitmap): New member bits_per_pixel.
5669 (struct font_driver): New members start_for_frame and end_for_frame.
5670 (struct font_data_list): New struct.
5671 (font_put_frame_data, font_get_frame_data): Extern them.
5672
5673 * frame.h (struct frame): New member font_data_list.
5674
5675 * font.c (font_update_drivers): Call driver->start_for_frame and
5676 driver->end_for_frame at proper timings.
5677 (font_put_frame_data, font_get_frame_data): New functions.
5678 (Ffont_spec): Add usage in the docstring.
5679
5680 * frame.c (make_frame): Initialize f->font_data_list to NULL.
5681 (Fdelete_frame): Call font_update_drivers.
5682
5683 * xftfont.c (struct xftface_info): Delete the member xft_draw.
4c4475a8 5684 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
aca7a3d2
MB
5685 (xftfont_get_xft_draw): New function.
5686 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
5687 (xftfont_end_for_frame): New function.
5688 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
5689
15139d67 5690 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
1f45f627 5691 Change argument. Cache GCs in the per-frame data.
aca7a3d2
MB
5692 (struct ftxfont_frame_data): New struct.
5693 (ftxfont_draw_bitmap): New arg gc_fore and flush.
5694 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
15139d67 5695 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
aca7a3d2
MB
5696 (ftxfont_end_for_frame): New function.
5697 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
5698
5699 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
5700
73acf815 57012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5702
5703 * xselect.c (Vselection_coding_system)
5704 (Vnext_selection_coding_system): Delete them.
5705 (syms_of_xselect): Don't declare selection-coding-system and
5706 next-selection-coding-system. They are declared in select.el.
5707
73acf815 57082008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5709
5710 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
5711
5712 * w32fns.c: Include imm.h.
5713 (get_composition_string_fn, get_ime_context_fn): New optional
5714 system functions.
5715 (globals_of_w32fns): Load them from imm32.dll.
5716 (ignore_ime_char): New flag.
5717 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
5718 WM_IME_ENDCOMPOSITION messages.
5719
5720 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
5721 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
5722
73acf815 57232008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5724
5725 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
5726 (READCHAR_REPORT_MULTIBYTE): New macro.
5727 (readchar): New 2nd arg MULTIBYTE.
15139d67
SM
5728 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
5729 Make symbol's name multibyte according to the multibyteness of the
aca7a3d2
MB
5730 source.
5731
73acf815 57322008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5733
5734 * xfaces.c (face_for_overlay_string): Call lookup_face with
5735 correct arguments (fix of synching with the trunk).
5736
73acf815 57372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5738
4c4475a8
GM
5739 * font.c (font_prop_validate_symbol, font_prop_validate_style)
5740 (font_prop_validate_non_neg, font_prop_validate_spacing):
5741 Delete argument prop_index.
15139d67
SM
5742 (font_property_table): Change arguments to validater. Change Callers.
5743 (font_lispy_object): Delete.
aca7a3d2
MB
5744 (font_at): Use font_find_object instead fo font_lispy_object.
5745
73acf815 57462008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5747
5748 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
5749 and file names.
5750
73acf815 57512008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5752
5753 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
5754 (font_matches_spec): Remove debug output.
5755 (add_font_entity_to_list): Avoid using substituted fonts.
5756
73acf815 57572008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5758
5759 * doc.c (Fsnarf_documentation):
5760 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
5761
73acf815 57622008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 5763
290afd83 5764 * dispextern.h (struct glyph_row): Only define "clip" field if
aca7a3d2
MB
5765 HAVE_WINDOW_SYSTEM is defined.
5766
73acf815 57672008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
5768
5769 Fix up multi-tty merge.
5770
5771 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
5772 and indentation.
5773
5774 * xfaces.c (free_realized_face, clear_face_gcs):
5775 Include font_done_for_face in the input_blocked section, just in case.
5776
5777 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
5778 (get_char_face_and_encoding): Undo last change and remove the *other*
5779 duplicate definition (i.e. keep the one that's better scoped and that
5780 includes code for the font-backend).
5781
5782 * terminal.c (create_terminal): Default keyboard_coding to
5783 `no-conversion' and terminal_coding to `undecided'.
5784
5785 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
5786
5787 * fontset.c (free_realized_fontsets): Check that the table entry does
5788 contain a fontset before trying to compare it to `base'.
5789
5790 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
5791 syms_of_charset, and syms_of_coding earlier because init_window_once
5792 now needs Vcoding_system_hash_table to be setup.
5793
5794 * coding.h (default_buffer_file_coding): Remove.
5795
5796 * coding.c (default_buffer_file_coding): Remove.
5797 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
5798 than ->symbol, and use the terminal-local coding system.
5799 (syms_of_coding): Don't setup the coding-systems that are not
5800 terminal-local.
5801 (Fdefine_coding_system_internal): Use XCAR/XCDR.
5802
5803 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
5804 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
5805
5806 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
5807 in chartab.c and were re-added here by mistake.
5808 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
5809
5810 * doc.c (Fsnarf_documentation):
5811 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
5812 src to etc.
5813
5814 * ChangeLog.10: Add mistakenly removed entry.
5815
73acf815 58162008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
aca7a3d2
MB
5817
5818 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
5819
73acf815 58202008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
5821
5822 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
5823 Add extra args to FACE_FOR_CHAR.
5824
73acf815 58252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5826
5827 * keymap.c (where_is_internal_1): If key is a cons, store the copy
5828 in sequence.
5829
4c4475a8
GM
5830 * chartab.c (map_sub_char_table, map_char_table): If the range
5831 contains just one character, call the function with that character
5832 even if the depth is not 3.
aca7a3d2 5833
73acf815 58342008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5835
5836 * w32font.c (w32font_text_extents): Calculate metrics for the
5837 whole string.
5838
73acf815 58392008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5840
5841 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
5842
73acf815 58432008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5844
5845 * w32term.c (x_set_glyph_string_clipping): Use
5846 get_glyph_string_clip_rects.
4c4475a8
GM
5847 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
5848 Adjust for the change of struct glyph_string.
aca7a3d2
MB
5849
5850 * w32font.c (w32font_draw): Do clipping here.
5851
73acf815 58522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5853
1f45f627 5854 * xftfont.c (xftfont_draw): Adjust for the change of struct
aca7a3d2
MB
5855 glyph_string.
5856
5857 * xterm.c (x_set_glyph_string_clipping): Use
5858 get_glyph_string_clip_rects.
4c4475a8
GM
5859 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
5860 Adjust for the change of struct glyph_string.
aca7a3d2
MB
5861
5862 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
5863 the resulting clip(s}.
1f45f627 5864 (expose_overlaps): Add arg r. Change callers. Set it to
aca7a3d2
MB
5865 row->clip temporarily.
5866 (expose_window): Redraw rows overlapping the exposed area.
5867
5868 * dispextern.h (struct glyph_row): New member clip.
5869 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
5870 clip_height, new member clip, and num_clips.
5871
73acf815 58722008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5873
5874 * data.c (Fchar_or_string_p): Fix docstring.
5875
73acf815 58762008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5877
5878 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
5879 create a temporal XftDraw object.
5880
73acf815 58812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5882
5883 * font.c (Ffontp): Fix docstring.
5884
5885 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
5886 strong evidence of ISO-2022.
5887
73acf815 58882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5889
5890 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
5891 SYNTAX_ENTRY_FOLLOW_PARENT.
5892
73acf815 58932008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
5894
5895 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
5896 its type.
5897 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
5898 Update to the new type of weak_hash_tables and next_weak.
5899
5900 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
5901 a plain C pointer to Lisp_Hash_Table.
5902
5903 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
5904 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
5905 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
5906 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
5907 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
5908 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
5909 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
5910 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
5911 (GC_EQ): Remove since they've been identical to their non-GC_
5912 alter-egos ever since the markbit was eradicated.
5913
290afd83
JB
5914 * alloc.c:
5915 * buffer.c:
5916 * buffer.h:
5917 * data.c:
5918 * fileio.c:
5919 * filelock.c:
5920 * fns.c:
5921 * frame.h:
5922 * lisp.h:
5923 * macterm.c:
5924 * print.c:
5925 * process.c:
5926 * w32fns.c:
5927 * w32menu.c:
5928 * w32term.c:
5929 * xfns.c:
5930 * xmenu.c:
5931 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
aca7a3d2 5932
73acf815 59332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5934
5935 * chartab.c (map_sub_char_table): Make it work for the top-level
5936 char-table. Fix handling of parent char-table.
c5ad7a3d 5937 (map_char_table): Adjust for the above change.
aca7a3d2 5938
73acf815 59392008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5940
5941 * w32font.c (Qgdi): Rename from Qw32.
5942
73acf815 59432008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5944
5945 * w32bdf.c (get_quoted_string): Make function static.
5946
73acf815 59472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5948
5949 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
5950 bigger ascent and descent than those of the font, use them as
5951 font's ascent and descent.
5952
73acf815 59532008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5954
5955 * Makefile.in (${lispsource}international/charprop.el): Move this
5956 target within "#ifdef HAVE_UNIDATA" and "#endif".
5957
73acf815 59582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5959
5960 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
5961 (shortlisp): Add ../lisp/language/tai-viet.el.
5962
1f45f627 59632008-02-01 Ulrich Mueller <ulm@gentoo.org>
aca7a3d2
MB
5964
5965 * Makefile.in (${lispsource}international/charprop.el): Depend on
5966 temacs${EXEEXT}.
5967
73acf815 59682008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5969
5970 * w32font.c (w32font_close): Delete the GDI font object.
5971
6f69e89b 5972 * w32menu.c: Include character.h.
aca7a3d2
MB
5973
5974 * w32proc.c: Likewise.
5975
5976 * w32select.c: Likewise.
5977
6f69e89b 5978 * makefile.w32-in (w32proc.o): Depend on character.h.
aca7a3d2 5979
73acf815 59802008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5981
5982 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
5983
5984 * w32menu.c (syms_of_w32menu): Likewise.
5985
5986 * w32proc.c (syms_of_ntproc): Likewise.
5987
5988 * w32select.c (syms_of_w32select): Likewise.
5989
5990 * w32term.c (syms_of_w32term): Likewise.
5991
73acf815 59922008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5993
5994 * w32font.c (w32font_draw): Delete brush after using it.
5995
73acf815 59962008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5997
5998 * w32font.c (w32font_open): Don't set font_idx.
5999 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
6000 to font settings.
6001 (w32font_draw): Fill background explicitly.
6002
73acf815 60032008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6004
6005 * w32term.c (w32_initialize): Don't call w32font_initialize.
6006
6007 * w32font.c (w32font_info): Remove subranges.
6008 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
6009 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
6010 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
6011 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
6012 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
6013 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
6014 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
6015 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
6016 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
6017 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
6018 New symbols.
6019 (font_callback_data): New struct.
6020 (w32font_list, w32font_match): Use it.
6021 (w32font_open): Don't populate subranges.
6022 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
6023 (w32font_encode_char): Always return unicode code-point as-is.
6024 (w32font_text_extents): Supply a tranformation matrix to
1f45f627
GM
6025 GetGlyphOutline. Never look up by glyph index. Avoid looping
6026 twice. Use unicode version of GetTexExtentPoint32 instead of
aca7a3d2 6027 glyph index version.
1f204af3 6028 (set_fonts_frame): Remove.
aca7a3d2 6029 (w32_enumfont_pattern_entity): Add frame parameter, use it to
1f45f627
GM
6030 set frame parameter. Use backward compatible fake foundries.
6031 Save generic family in extra slot under QCfamily. Make width slot
6032 constant. Save QCspacing value. Save list of scripts instead of
aca7a3d2
MB
6033 binary subranges.
6034 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
1f45f627 6035 (add_font_entity_to_list): Use font_callback_data struct. Filter
aca7a3d2
MB
6036 unwanted fonts.
6037 (add_one_font_entity_to_list): Use font_callback_data struct.
1f45f627
GM
6038 (w32_registry): Default to iso10646_1.
6039 (fill_in_logfont): Use dpi from extra slot. Don't bother with
6040 string font registries. Don't fill in font name if it is a generic
6041 family name, fill family instead. Use spacing, family and script
aca7a3d2
MB
6042 extra info to fill pitch, family and charset fields.
6043 (list_all_matching_fonts): Use font_callback_data struct.
6044 (unicode_range_for_char): Remove.
6045 (font_supported_scripts): New function.
6046 (w32font_initialize): Remove.
6047 (syms_of_w32font): Update which symbols are defined.
6048
73acf815 60492008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6050
6051 * font.c (font_pixel_size): Reverse assq_no_quit args.
6052
6053 * w32term.h (FONT_WIDTH): Report max width, not average.
6054 (FONT_MAX_WIDTH): Remove.
6055 (FONT_AVG_WIDTH): New macro.
6056
6057 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
6058 redefinition of FONT_WIDTH.
6059
6060 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
6061 (w32_cache_char_metrics): Use FONT_WIDTH.
6062
6063 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
6064
73acf815 60652008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6066
6067 * w32font.c (w32font_open): Make lfHeight negative.
6068
6069 * w32fns.c (x_default_font_parameter): Use new style font name.
6070 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
6071
73acf815 60722008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6073
6074 * w32font.c (QCsubranges): New symbol.
6075 (w32font_open, w32font_has_char): Get subranges from subproperty
6076 of extra.
6077 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
6078 (syms_of_w32font): Define :subranges symbol.
6079
6080 * font.c (font_put_extra): Expose externally.
6081
1f45f627 6082 * font.h (font_put_extra): Move declaration from font.c.
aca7a3d2
MB
6083
6084 * font.c (Ffont_get): Use font driver to determine otf capability.
6085 (adjust_anchor): Check if driver defines anchor_point before using.
6086
6087 * w32font.c (w32font_open): Handle size, height and pixel_size better.
6088 (w32font_draw): Use options.
6089 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
6090 Fix detection of truetype fonts.
6091 (registry_to_w32_charset): Handle charsets other than iso8859-1
6092 expressed as lisp symbols.
6093 (w32_registry): Express charset as lisp symbol.
6094 (fill_in_logfont): Reverse pixel and point height logic.
1f45f627 6095 Don't set width here. Set quality to default.
aca7a3d2
MB
6096
6097 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
6098 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
6099
6100 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
6101 Remove redundant loop and allocation.
6102
6103 * makefile.w32-in (font.o, w32font.o): New objects.
6f69e89b 6104 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
aca7a3d2
MB
6105 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
6106
6107 * xdisp.c (fill_composite_glyph_string): Make the first arg to
6108 STORE_XCHARB a valid l-value.
6109
6110 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
6111 calculations for non-Truetype fonts.
6112 (x_draw_glyph_string): Sync with xterm.c.
c3f9fba8
JB
6113 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
6114 Remove redundant code.
aca7a3d2
MB
6115 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
6116
6117 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
6118 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
6119
6120 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
6121 (x_to_w32_charset, w32_to_x_charset): Expose externally.
6122
6123 * w32font.c: New file for w32 font backend.
6124
73acf815 61252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6126
6127 * term.c: Don't include "buffer.h" twice.
6128
73acf815 61292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6130
6131 * character.c (Funibyte_string): New function.
6132 (syms_of_character): Defsubr it.
6133
73acf815 61342008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6135
6136 * w32term.c [USE_FONT_BACKEND]:
c3f9fba8
JB
6137 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
6138 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
6139 (x_draw_glyph_string, x_draw_glyph_string_foreground)
6140 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
aca7a3d2
MB
6141 (x_free_frame_resources): Sync with xterm.c.
6142
73acf815 61432008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
6144
6145 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
6146 char-table size.
6147
73acf815 61482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6149
c3f9fba8 6150 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
aca7a3d2 6151
73acf815 61522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6153
6154 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
6155 font_otf_gpos, add font_drive_otf.
6156
6157 * fontset.c (fontset_find_font): Pay attention to font size
6158 specified for a font.
6159 (reorder_font_vector): Check contents of font_def.
6160
6161 * font.c (struct otf_list): Delete it.
6f69e89b 6162 (otf_list): Make it a lisp variable.
aca7a3d2 6163 (otf_open): Use lispy otf_list.
1f45f627 6164 (generate_otf_features): Rename from parse_gsub_gpos_spec.
aca7a3d2 6165 (check_otf_features): New function.
c3f9fba8
JB
6166 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
6167 New functions.
aca7a3d2
MB
6168 (font_drive_otf): New function merging font_otf_gsub and
6169 font_otf_gpos.
6170 (font_open_for_lface): New arg spec. Change argument order.
1f45f627 6171 (font_load_for_face): Adjust for the change of font_open_for_lface.
aca7a3d2
MB
6172 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
6173 Ffont_otf_gpos.
6174 (syms_of_font): Staticpro otf_list. Delete defsubr of
6175 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
6176
1f45f627 6177 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
6178 font_open_for_lface.
6179
6180 * font.h (font_open_for_lface): Adjust prototype.
6181 (struct font_driver): Delete members otf_gsub and otf_gpos, add
6182 member otf_drive.
6183 (font_otf_gsub, font_otf_gpos): Delete externs.
6184 (font_drive_otf): Extern it.
6185
73acf815 61862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6187
6188 * font.c (font_at): If the window W is not on a window system,
6189 return Qnil.
6190
4c4475a8
GM
6191 * coding.c (produce_chars, encode_coding): Don't call
6192 insert_from_gap if no characters to produce.
aca7a3d2 6193
73acf815 61942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6195
6196 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
6197 Fclear_face_cache.
6198
6199 * xfaces.c (face_for_font): Check also face->font==font->font.font.
6200
73acf815 62012008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
6202
6203 * emacs.c (main): Change default value of `enable_font_backend' to 1.
6204 Parse "--disable-font-backend" option.
6205 (standard_args): Add "--disable-font-backend" option.
6206
73acf815 62072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6208
6209 * fontset.c (fontset_find_font): New function.
6210 (fontset_font): Use fontset_find_font.
6211 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
6212 Register the specified font for all Latin characters.
6213 (new_fontset_from_font): Register the specified font for all Latin
6214 characters.
6215 (dump_fontset): For a realized fontset, include the base fontset
6216 name in the returned vector.
6217
73acf815 62182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6219
6220 * character.h (CHAR_STRING): Cast C to unsigned on calling
6221 char_string.
6222
6223 * character.c (char_string): Type of arg C changed to unsigned.
6224 Signal an error if C is an invalid character code.
6225
4c4475a8
GM
6226 * editfns.c (general_insert_function, Fchar_to_string):
6227 Use CHARACTERP, not INTEGERP.
aca7a3d2 6228
73acf815 62292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6230
6231 * character.h (MIN_MULTIBYTE_LEADING_CODE)
6232 (MAX_MULTIBYTE_LEADING_CODE): New macros.
6233
6234 * regex.c (analyse_first): Fix for multibyte characters in "case
6235 charset:" and "case categoryspec:".
6236
73acf815 62372008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
6238
6239 * Makefile.in (LIBES): Move standard libraries to the end.
6240
73acf815 62412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6242
6243 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
6244 nonzero, don't shrink the buffer nextb.
6245
6246 * buffer.h (struct buffer_text): New member inhibit_shrinking.
6247
6248 * coding.c (coding_alloc_by_making_gap): New arg offset.
6249 (alloc_destination): Call coding_alloc_by_making_gap with the arg
6250 offset.
6251 (decode_coding_iso_2022): Update coding->safe_charsets.
6252 (decode_coding_gap): Temporarily set
6253 current_buffer->text->inhibit_shrinking to 1.
6254
73acf815 62552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6256
6257 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
6258 indexing into elements of s->cmp and s->char2b.
6259
73acf815 62602008-02-01 Juanma Barranquero <lekktu@gmail.com>
aca7a3d2
MB
6261
6262 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
6263
73acf815 62642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6265
6266 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
6267 target_multibyte instead of multibyte.
6268 (re_match_2_internal): Call bcmp_translate with target_multibyte.
6269 (bcmp_translate): Change the argument name from multibyte to
6270 target_multibyte.
6271
73acf815 62722008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6273
6274 These changes are to compile a regexp into a pattern that can be
6275 used both for multibyte and unibyte targets.
6276
6277 * Makefile.in (search.o): Depend on charset.h.
6278
6279 * character.c (multibyte_char_to_unibyte_safe): New function.
6280
6281 * search.c: Include "charset.h".
6282 (compile_pattern_1): Delete argument multibyte. Don't set
6283 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
6284 (compile_pattern): Don't compare cp->buf.target_multibyte.
6285 Compare cp->buf.charset_unibyte.
6286 (compile_pattern): Set cp->buf.target_multibyte.
6287
6288 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
6289
6290 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
6291
6292 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
1f45f627 6293 multibyte. Change callers.
aca7a3d2 6294 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
1f45f627
GM
6295 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
6296 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
aca7a3d2
MB
6297 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
6298 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
6299 (regex_compile): Make the compiled pattern usable both for
6300 multibyte and unibyte targets.
6301 (analyse_first): Make the fastmap usable both for multibyte and
6302 unibyte targets.
1f45f627 6303 (TRANSLATE_VIA_MULTIBYTE): Delete.
aca7a3d2
MB
6304 (re_match_2_internal): Pay attention to the case that the
6305 multibyteness of bufp and target may be different.
6306
73acf815 63072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6308
6309 * xdisp.c (x_produce_glyphs): When a font is not found, make the
6310 empty box occupy at least one column width.
6311
73acf815 63122008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
6313
6314 * Makefile.in: Remove redundant HAVE_XFT clause.
6315
73acf815 63162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6317
6318 * xrdb.c (x_load_resources): Setup the default fontSet X reource.
6319
73acf815 63202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6321
6322 * fontset.c (Finternal_char_font): Fix for the case of POSITION
6323 being nil.
6324
73acf815 63252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6326
6327 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
6328
73acf815 63292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6330
6331 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
6332
73acf815 63332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6334
6335 * search.c (simple_search): Fix previous change.
6336
73acf815 63372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6338
6339 * xftfont.c (ftfont_font_format): Extern declaration.
6340
6341 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
6342
6343 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
6344 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
6345
6346 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
6347 (ftfont_font_format): Fix previous change.
6348
6349 * font.h (Ffont_xlfd_name): EXFUN it.
6350
6351 * font.c (font_parse_xlfd): Fix the array size of `f'.
6352 (register_font_driver): Use EQ to compare driver->type.
6353
6354 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
6355 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
6356 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
6357
73acf815 63582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6359
4c4475a8
GM
6360 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
6361 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
aca7a3d2 6362
73acf815 63632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6364
6365 * xfont.c (xfont_open): Set font->format.
6366
6367 * xftfont.c (xftfont_open): Set font->format.
6368
6369 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
6370 (ftfont_list): Include FC_FONTFORMAT in FcObject.
6371 (ftfont_open): Set font->format.
6372 (ftfont_font_format): New function.
6373
6374 * font.h (struct font): New memeber format.
6375
6376 * font.c (Qopentype): New variable.
6377 (syms_of_font): Defsym it.
6378 (Fquery_font): Change the format of the last element of the return
6379 value.
6380
73acf815 63812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6382
6383 * xfns.c (xic_create_xfontset): Try the default fontset name as a
6384 last resort.
6385
73acf815 63862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6387
6388 * coding.c (detect_coding_charset): Fix detection of multi-byte
6389 charset.
6390
73acf815 63912008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
aca7a3d2
MB
6392
6393 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
6394
73acf815 63952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6396
6397 * xdisp.c (get_next_display_element): Set it->face_id for the
6398 first component of a composition.
1f45f627 6399 (x_produce_glyphs): Check if the font is changed or not for composition.
aca7a3d2 6400
73acf815 64012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6402
6403 * fontset.c (Qlatin): New variable.
6404 (syms_of_fontset): Define it as a lisp symbol.
1f45f627 6405 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
aca7a3d2 6406
73acf815 64072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6408
6409 * font.c (font_unparse_fcname): Pay attention to the case that
6410 some of font property is a null string.
6411
73acf815 64122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6413
6414 * term.c: Include "composite.h".
6415 (encode_terminal_code): Output all components of composition.
6416 Check the size of encode_terminal_src.
424c157f 6417 (produce_glyphs): For composition, call produce_composite_glyph.
aca7a3d2
MB
6418 (append_composite_glyph, produce_composite_glyph): New functions.
6419
6420 * xdisp.c (x_produce_glyphs): In handling composition, if a font
6421 is not found, get font_info from the current ascii face.
6422
73acf815 64232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6424
6425 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
6426 buffer-file-name to Qnil before calling insert_from_buffer.
6427
6428 * font.c (font_unparse_fcname): Pay attention to the case that
6429 foundry is a null string.
6430
73acf815 64312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6432
6433 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
6434
6435 * font.c (Qunicode_sip): New variable.
6436 (syms_of_font): Declare it as a Lisp symbol.
6437
6438 * font.h (Qunicode_sip): Extern it.
6439
73acf815 64402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6441
1f45f627 6442 * composite.c (get_composition_id): Pay attention to TAB component.
aca7a3d2
MB
6443
6444 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
1f45f627 6445 TAB. Adjust for the change of s->char2b which always points to
aca7a3d2
MB
6446 the first elememnt of allocated memory.
6447
1f45f627 6448 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
aca7a3d2
MB
6449
6450 * xdisp.c (handle_composition_prop): Set it->c to the first
6451 non-TAB component.
1f45f627
GM
6452 (fill_composite_glyph_string): Change argument.
6453 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
aca7a3d2
MB
6454 (x_produce_glyphs): Fix handling of left/right padding.
6455
73acf815 64562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6457
6458 * coding.c (detect_coding_system): Fix for handling off
6459 inhibit_iso_escape_detection. Fix for the case that no coding
6460 system is defined for a specific coding category.
6461
73acf815 64622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6463
1f45f627 6464 * font.c (font_matching_entity): Delete unused local var.
aca7a3d2
MB
6465
6466 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
6467 opening a font.
6468
6469 * fileio.c (Finsert_file_contents): On recovering a file, assume
6470 Unix-like eol.
6471 (choose_write_coding_system): On auto-saving a file, force
6472 Unix-like eol.
6473
6474 * coding.c (setup_coding_system): Fix setting of
6475 coding->common_flags based on eol_type.
6476 (coding_inherit_eol_type): If PARENT is not nil, be sure to
6477 inherit from it.
6478
73acf815 64792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6480
1f45f627 6481 * alloc.c (NSTATICS): Increas to 0x600.
aca7a3d2 6482
73acf815 64832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6484
1f45f627 6485 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
aca7a3d2
MB
6486 (ftfont_list): Don't check :name property.
6487 (ftfont_match): New function.
6488 (ftfont_pattern_entity): If the pattern doesn't contain
6489 FC_SPACING, don't assuce FC_MONO.
6490
6491 * font.h (struct font_driver): New member `match'.
1f45f627 6492 (font_update_drivers): Adjust prototype.
aca7a3d2 6493
4c4475a8
GM
6494 * font.c (font_parse_fcname, font_parse_name): Don't change :name
6495 property of FONT.
aca7a3d2
MB
6496 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
6497 them unconditionally.
6498 (font_matching_entity): New function.
6499 (font_open_by_name): Try font_matching_entity if exact match is
6500 not found.
6501 (font_update_drivers): Delete the arg FONT. Return a list of
6502 actually used backends. Don't free faces, font caches here.
6503 Don't store data in frame parameters. Don't call x_set_font.
6504 (Ffont_spec): Store :name property as is.
6505 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
1f45f627
GM
6506 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
6507 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
aca7a3d2
MB
6508 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
6509 Call font->driver->otf_gsub instead of font_otf_gsub.
6510
6511 * frame.c (x_set_font_backend): Do more works that were done in
6512 font_update_drivers before.
6513
6514 * xfont.c (xfont_match): New function.
6515 (xfont_driver): Set xfont_driver.match to xfont_match.
6516 (xfont_draw): Set font in GC if necessary.
6517
6518 * ftxfont.c (ftxfont_match): New function.
6519 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
6520
6521 * xftfont.c (xftfont_match): New function.
6522 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
6523
73acf815 65242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6525
6526 * font.h (struct font): New member scalable.
6527 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
1f45f627 6528 (font_otf_gsub): Adjust prototype.
aca7a3d2 6529
1f45f627
GM
6530 * font.c (font_otf_capability): Fix handling of the default langsys.
6531 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
aca7a3d2
MB
6532 Check the contents of SPEC.
6533 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
6534 (check_gstring): New function.
6535 (REPLACEMENT_CHARACTER): New macro.
6536 (font_otf_gsub): New arg alternate_subst. Be sure to set all
6537 glyph codes of GSTRING.
6538 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
6539 (font_prepare_composition): Set cmp->glyph_len.
6540 (font_open_entity): Set font->scalable.
6541 (Ffont_get): Handle :otf property.
6542 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
6543 functions.
6544 (Fquery_font): Use font->font.full_name.
6545 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
6546 Sfont_otf_alternates.
6547
6548 * ftfont.c (ftfont_open): Set font->font.full_name and
6549 font->font.name properly. Fix calculation of font->font.height
6550 and font->min_width.
6551
6552 * ftxfont.c (ftxfont_create_gcs): New function.
6553 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
6554 (ftxfont_draw_backgrond): Fix filling region.
6555 (ftxfont_default_fid): New function.
6556 (ftxfont_open): Set xfotn->fid to the return value of
6557 ftxfont_default_fid.
6558 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
6559 (ftxfont_done_face): Free only GCs that are created by
6560 ftxfont_create_gcs.
6561 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
6562
6563 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
6564 Clip to src->width, etc (not src->clip_XXX).
6565
6566 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
6567 FontBackend frame parameter.
6568
73acf815 65692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6570
6571 * font.h (struct font_driver_list): New member `on'.
6572 (Fclear_font_cache): EXFUN it.
6573 (font_update_drivers): Extern it.
6574
6575 * font.c (font_unparse_fcname): Fix typo (swidth->width).
6576 (font_list_entities): Check driver_list->on.
6577 (register_font_driver): Initalize `on' member to 0.
6578 (font_update_drivers): New function.
6579 (Fclear_font_cache): Check driver_list->on.
6580
6581 * frame.h (Qfont_backend): Extern it.
6582 (x_set_font_backend): Extern it.
6583
6584 * frame.c (Qfont_backend): New variable.
6585 (frame_parms): New element for font-backend.
6586 (x_set_font_backend): New function.
6587
6588 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
6589 FontBackend frame parameter.
6590 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
6591 x_set_font_backend.
6592
6593 * xfont.c (xfont_list): Don't try listing by :name property if the
6594 name is not for XLFD.
6595
73acf815 65962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6597
6598 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
6599 (LGLYPH_SET_TO): New macros.
6600 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
6601 element of G is vector or not.
6602 (font_at): Extern it.
6603
6604 * font.c: Include window.h.
6605 (font_lispy_object): New function.
6606 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
6607 end of valid glyph.
6608 (font_close_object): Fix getting (struct font *).
6609 (font_at): New function.
6610 (Ffont_get): If FONT is a font-object, get entity from it.
6611 (Ffont_make_gstring): Initialize elements of glyphs with nil.
6612 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
6613 range check.
6614 (Ffont_at): New function.
6615 (syms_of_font): Defsubr Sfont_at.
6616
6617 * xdisp.c (it_props): Move the entry for Qauto_composed to just
424c157f 6618 before the entry for Qcomposition.
1f45f627 6619 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
aca7a3d2
MB
6620 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
6621 the font in gstring.
6622 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
6623 LGLYPH_FORM (g) to detect the end of valid glyph.
6624 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
6625 we are composing with gstring.
6626
6627 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
6628 Check if adjustment is vector or not.
6629
6630 * Makefile.in (font.o): Make it depends on window.h.
6631
73acf815 66322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6633
6634 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
6635 adjustment is vector or not.
6636
73acf815 66372008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
6638
6639 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
6640
73acf815 66412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6642
6643 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
6644 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
6645 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
6646
1f45f627 6647 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
aca7a3d2 6648 (DEVICE_DELTA): Fix typo.
4c4475a8
GM
6649 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
6650 LGLYPH format.
aca7a3d2 6651
1f45f627 6652 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
6653 the change of LGLYPH format.
6654
73acf815 66552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6656
6657 * ftfont.c (ftfont_list): Fix typo.
1f45f627 6658 (ftfont_build_basic_charsets): Don't include letters with diacritics.
aca7a3d2 6659
880820fe 66602008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2
MB
6661
6662 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
6663
6664 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
6665 xftface_info is non-NULL.
6666
880820fe 66672008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2 6668
1f45f627 6669 * ftfont.c (ftfont_list): Move misplaced #endif.
aca7a3d2 6670
73acf815 66712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6672
6673 * ftfont.c (ftfont_list): Pay attention to the case that
6674 FC_CAPABILITY is not defined.
6675
73acf815 66762008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6677
6678 * xftfont.c (xftfont_open): Set charset related members to -1.
6679
1f45f627
GM
6680 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
6681 QCname.
aca7a3d2
MB
6682 (ftfont_open): Set charset related members to -1.
6683
6684 * fontset.c (Votf_script_alist): New variable.
6685 (syms_of_fontset): Initialize it.
6686 (fontset_font): Delete unused variable.
6687
6688 * fontset.h (Votf_script_alist): Extern it.
6689
1f45f627 6690 * font.c (font_find_for_lface): Optimize code.
aca7a3d2
MB
6691
6692 * font.h (font_close_object, font_merge_old_spec): Extern them.
6693
73acf815 66942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6695
6696 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
6697 (syms_of_font): Initialize them.
6698 (font_pixel_size): Allow float value in dpi.
1f45f627
GM
6699 (font_prop_validate_type): Delete.
6700 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
6701 Change caller.
6702 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
6703 (font_prop_validate_extra): Delete.
aca7a3d2
MB
6704 (font_prop_validate_spacing): New function.
6705 (font_property_table): Add elements for all known properties.
1f45f627
GM
6706 (get_font_prop_index): Rename from check_font_prop_name. New
6707 argument FROM. Change caller.
aca7a3d2 6708 (font_prop_validate): Validate all known properties.
1f45f627 6709 (font_put_extra): Delete argument force. Change caller.
aca7a3d2
MB
6710 (font_expand_wildcards): Make it static. Fix the way of shrinking
6711 the possible range.
1f45f627 6712 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
aca7a3d2 6713 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
1f45f627 6714 Change caller.
aca7a3d2 6715 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
1f45f627
GM
6716 (font_parse_fcname): Delete argument merge. Fix parsing of point
6717 size. Don't validate properties values here. Change caller.
6718 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
aca7a3d2
MB
6719 (font_open_by_name): Delete unused variable.
6720 (Ffont_spec): Likewise. Validate property values.
6721 (Ffont_match_p): New function.
6722
6723 * font.h (QCscalable): Extern it.
1f45f627 6724 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
aca7a3d2 6725
1f45f627 6726 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
aca7a3d2 6727
1f45f627 6728 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
aca7a3d2
MB
6729 (xfont_list_pattern): New function.
6730 (xfont_list): Use xfont_list_pattern.
6731
73acf815 67322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6733
6734 * font.h (Flist_fonts): EXFUN it.
6735
73acf815 67362008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6737
6738 * w32term.c (w32_initialize): Add back smoothing_type and
6739 smoothing_enabled definitions.
6740
73acf815 67412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6742
6743 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
6744 s->face->font on determining underline position.
6745
73acf815 67462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6747
6748 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
6749 (font_has_char): Accept font-object too.
6750 (font_find_for_lface): Try at first with a size specified in face.
6751
73acf815 67522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6753
6754 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
6755 font_open_by_name.
6756
73acf815 67572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6758
6759 * font.h (QCspacing, QCdpi): Extern them.
6760 (enum font_spacing): New enum.
6761 (FONT_PIXEL_SIZE_QUANTUM): New macro.
6762
6763 * font.c (POINT_TO_PIXEL): Don't divice POINT by 10.
6764 (QCspacing, QCdpi): New variables.
6765 (syms_of_font): Initialize them.
6766 (font_pixel_size): New function.
6767 (font_put_extra): New function.
6768 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
6769 in FONT_EXTRA.
e9184ccb
JB
6770 (font_parse_fcname): Handle enumenrated values (e.g. bold).
6771 Fix handling font size. Add QCname property that contains only
aca7a3d2 6772 unknown properties.
1f45f627 6773 (font_score): Change argument. Change caller. Pay attention to
aca7a3d2 6774 FONT_PIXEL_SIZE_QUANTUM.
4c4475a8
GM
6775 (font_sort_entites, font_list_entities, font_find_for_lface)
6776 (font_open_for_lface, font_open_by_name): Fix handling of font size.
1f45f627 6777 (Ffont_spec): Add QCname property that contains only unknown properties.
aca7a3d2
MB
6778
6779 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
6780 include weight in listing pattern, instead check weight of each
6781 listed font. Don't include scalable in pattern. Pay attention to
6782 FONT_PIXEL_SIZE_QUANTUM.
6783
73acf815 67842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6785
aca7a3d2 6786 * font.c (font_parse_fcname): Fix parsing of point-size.
1f45f627 6787 (font_unparse_fcname): Produce symbolic names for style properties.
aca7a3d2
MB
6788 (font_list_entities): Handle float size correctly.
6789 (font_open_by_name): Prefer `normal' property values if the name
6790 doesn't specify them.
6791
6792 * fontset.c (Finternal_char_font): Use font_get_name, not
6793 Ffont_xlfd_name.
6794
6795 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
6796 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
6797 pattern. Don't force scalable.
6798
6799 * xftfont.c (xftfont_open): For generating a name, start from
6800 96-byte buffer.
6801
880820fe 68022008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2
MB
6803
6804 * frame.h (x_new_fontset2): Fix prototype.
6805
73acf815 68062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6807
1f45f627 6808 * font.h (struct font_driver): Delete member parse_name.
aca7a3d2
MB
6809 (font_match_p, font_get_spec, font_parse_fcname)
6810 (font_unparse_fcname): Extern them.
1f45f627 6811 (font_get_name): Adjust prototype.
aca7a3d2
MB
6812
6813 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
6814 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
6815 (font_expand_wildcards): Fix handling ENCODING field. Avoid
6816 unnecessary checks for weight, slant, and swidth.
6817 (font_parse_fcname): New function.
6818 (font_unparse_fcname): New function.
6819 (font_parse_name): New function.
6820 (font_match_p): New function.
1f45f627 6821 (font_get_name): Change return value to Lisp string.
aca7a3d2
MB
6822 (font_get_spec): New function.
6823 (Qunspecified, Qignore_defface): Don't extern them.
6824 (font_find_for_lface): Assume that LFACE is fully specified.
6825 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
6826 object, use it for FACE.
6827 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
6828 driver->parse_name.
6829 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
6830
1f45f627
GM
6831 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
6832 prototype.
aca7a3d2 6833
1f45f627
GM
6834 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
6835 argument F. Don't call Fnew_fontset. Instead, directly call
aca7a3d2
MB
6836 make_fontset.
6837
1f45f627 6838 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
aca7a3d2 6839
1f45f627 6840 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
aca7a3d2
MB
6841 of x_new_fontset2.
6842
6843 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
6844 (Qsans__serif): New variables.
6845 (ftfont_generic_family_list): New variable.
6846 (syms_of_ftfont): Initialize the above variables.
1f45f627 6847 (ftfont_pattern_entity): Delete argument NAME.
aca7a3d2
MB
6848 (ftfont_list_generic_family): New function.
6849 (ftfont_parse_name): Delete this function.
1f45f627 6850 (ftfont_list): Try generic family only when FcFontList found no font.
aca7a3d2
MB
6851 (ftfont_list_family): Fix args to FcObjectSetBuild.
6852
6853 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
6854 object in attrs[LFACE_FONT_INDEX].
6855 (set_lface_from_font_name): Cancel all changes for font-backend.
6856 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
6857 function.
6858 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
6859 font object in QCfont attribute.
6860 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
6861 (realize_default_face) [USE_FONT_BACKEND]: Call
6862 set_lface_from_font_and_fontset.
6863
6864 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
6865 "fixed", and signal error here if no suitable font was found.
6866
6867 * xfont.c (xfont_parse_name): Delete this function.
6868
6869 * xftfont.c (xftfont_open): Change coding style of error
6870 handling. Generate fontconfig's fontname pattern.
6871
6872 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
6873 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
6874
6875 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
6876 Both args FONTSET and FONT_OBJECT must be existing ones.
6877
73acf815 68782008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
6879
6880 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
6881
73acf815 68822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6883
6884 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
6885
6886 * font.h (struct font): Fix typo.
6887
6888 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
6889 XLFD_XXX_INDEX.
6890 (enum xlfd_field_mask): New enum.
1f45f627 6891 (intern_font_field): Changed argument. Change caller. If digits
aca7a3d2
MB
6892 are followed by non-digits, return a symbol.
6893 (font_expand_wildcards): New function.
6894 (font_parse_xlfd): Fix wildcard handling.
6895 (Ffont_spec): If :name is specified, reflect the info in the other
6896 properties.
6897
6898 * ftfont.c (ftfont_pattern_entity): Fix typo.
6899 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
6900 locale.
6901
73acf815 69022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6903
6904 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
6905
1f45f627 6906 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
aca7a3d2
MB
6907 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
6908 registry doesn't specify encoding part.
6909 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
6910 (font_open_by_name): At first try parsing the name.
6911 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
6912 as Lisp symbols.
6913
6914 * fontset.c (reorder_font_vector): Pay attention to the case that
6915 the 3rd element of font_def is nil.
6916 (fontset_font): For the default fontset, append one more fontset
6917 elements for a script-based font specification. Don't add script
6918 attribute on finding a font.
6919 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
6920 font name.
6921 (fontset_ascii_font): If a font can't be opened, return nil.
6922
1f45f627 6923 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
aca7a3d2
MB
6924 (ftfont_pattern_entity): New function.
6925 (ftfont_get_cache): Assume that freetype_font_cache is already
6926 initialized.
6927 (ftfont_list): Handle the case that a file is specified in font
6928 name. Use ftfont_pattern_entity to generate entities.
6929 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
6930 (syms_of_ftfont): Initialize freetype_font_cache.
6931
6932 * xftfont.c (xftfont_open): Make the font name fontconfig's
6933 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
6934 (xftfont_close): Free font->font.name if not NULL.
6935
6936 * xfont.c (xfont_list): If script is specified for a font, return
6937 null_vector.
6938 (xfont_list_family): Declare argument type.
6939
6940 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
6941 name, set LFACE_FONT (lface) to nil.
6942
6943 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
6944 return Qnil.
6945
73acf815 69462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6947
1f45f627 6948 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
aca7a3d2
MB
6949 (standard_args): Add "-enable-font-backend".
6950
73acf815 69512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6952
6953 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
6954 (struct xftdraw_list, xftdraw_list): Delete them.
6955 (register_xftdraw, check_xftdraw): Delete them.
6956 (xftfont_prepare_face): Don't call register_xftdraw.
6957 (xftfont_done_face): Don't call check_xftdraw.
6958 (xftfont_draw): Get backroudn color only when with_background is
6959 nonzero.
6960
6961 * xfont.c (xfont_encode_char): Fix calculation of char2b.
6962
73acf815 69632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6964
6965 These changes are for the new font handling codes.
6966
6967 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
6968 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
6969 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
6970 (FONTSRC, FONTOBJ): New variables.
6971 (obj): Add $(FONTOBJ).
6972 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
6973 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
6974 @LIBOTF_LIBS@.
6975 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
1f45f627 6976 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
aca7a3d2 6977
1f45f627 6978 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
aca7a3d2
MB
6979
6980 * character.h (Vscript_representative_chars): Extern it.
6981
6982 * character.c (Vscript_representative_chars): New variable.
6983 (syms_of_character): Declare it as a Lisp variable.
6984
6985 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
6986 enable_font_backend is nonzero, accept the composition method
6987 COMPOSITION_WITH_GLYPH_STRING.
6988
6989 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
6990 enumeration COMPOSITION_WITH_GLYPH_STRING.
6991
aca7a3d2
MB
6992 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
6993 members clip_x, clip_y, clip_width, and clip_height.
6994 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
6995
6996 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
6997 --enable-font-backend. Call syms_of_font.
6998
6999 * fns.c (assoc_no_quit): New function.
7000
7001 * fontset.h (FONT_INFO_FROM_FACE): New macro.
7002 (face_for_font, new_fontset_from_font)
7003 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
7004
7005 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
7006 (fontset_font, fontset_ascii, face_for_char)
7007 (make_fontset_for_ascii_face, Ffont_info)
7008 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
7009 is nonzero, use font-backend mechanism.
7010 (find_font_encoding): Make it non-static.
7011 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
7012 New functions.
7013
7014 * frame.h (struct frame): New members resx and resy.
7015 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
7016 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
7017
7018 * frame.c [USE_FONT_BACKEND]: Include "font.h".
1f45f627 7019 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
aca7a3d2
MB
7020
7021 * lisp.h (assoc_no_quit): Extern it.
7022
7023 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
7024 Through out the file, use FONT_INFO_FROM_FACE instead of
7025 FONT_INFO_FROM_ID, use get_per_char_metric instead of
7026 rif->per_char_metric.
7027 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
7028 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
7029 (get_glyph_face_and_encoding, fill_composite_glyph_string)
7030 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
7031 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
7032 nonzero, use font-backend mechanism.
7033 (get_per_char_metric): New function.
7034
7035 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
7036 (set_lface_from_font_name)
7037 (set_font_frame_param, free_realized_face)
7038 (prepare_face_for_display, clear_face_gcs)
7039 (Finternal_set_font_selection_order, realize_x_face)
7040 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
7041 font-backend mechanism.
1f45f627 7042 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
aca7a3d2
MB
7043 (load_face_font) [USE_FONT_BACKEND]: Abort.
7044 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
1f45f627 7045 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
aca7a3d2
MB
7046
7047 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
7048 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
7049 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
7050 nonzero, register all available font drivers. Call
7051 x_default_font_parameter for deciding a font.
7052 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
7053
7054 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
7055 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
7056 (x_set_glyph_string_clipping_exactly)
7057 (x_compute_glyph_string_overhangs)
7058 (x_draw_glyph_string_foreground)
7059 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
7060 (x_free_frame_resources) [USE_FONT_BACKEND]: If
7061 enable_font_backend is nonzero, use font-backend mechanism.
7062 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
7063
73acf815 70642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7065
fcb314b2 7066 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
aca7a3d2
MB
7067 system_eol_type.
7068 (syms_of_coding): Initialize system_eol_type.
7069
fcb314b2
GM
7070 * process.c (Fset_process_coding_system): Inherit system's eol
7071 format if necessary.
aca7a3d2 7072
73acf815 70732008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
7074
7075 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
7076
73acf815 70772008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7078
7079 * coding.c (decode_eol): Pay attention to buffer relocation in
7080 del_range_2.
7081 (decode_coding): Call decode_eol before restoring undo_list.
7082
73acf815 70832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7084
7085 * charset.c (Fdefine_charset_internal): Fix setting of
7086 emacs_mule_bytes.
7087
73acf815 70882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7089
7090 * keyboard.c (read_char): Check if C is a character or not before
7091 looking up Vkeyboard_translate_table.
7092
73acf815 70932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7094
7095 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
7096 condition to terminate the loop.
7097
73acf815 70982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7099
7100 * coding.c (produce_composition): Compare charbuf[i] instead of
7101 args[i] against 0.
7102 (Fterminal_coding_system): Use EQ to compare Lisp objects.
7103
73acf815 71042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7105
7106 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
7107 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
7108 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
7109 detect_coding.
7110 (emacs_mule_char): Handle old style (Emacs 20) component character
7111 of a composition.
4c4475a8
GM
7112 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
7113 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
7114 composition rule.
aca7a3d2
MB
7115 (decode_coding_emacs_mule): Handle invalid bytes correctly.
7116
73acf815 71172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7118
7119 * coding.c (encode_coding_ccl): Allocate destination dynamically
7120 when necessary.
7121
73acf815 71222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7123
7124 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
7125 the loop. When quitted, show a proper error message.
7126
73acf815 71272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7128
aca7a3d2
MB
7129 * xterm.c (x_set_glyph_string_clipping_exactly): Set
7130 src->clip_head and src->clip_tail temporarily instead of src->hl.
7131
7132 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
7133 character sequence.
7134 (Fccl_execute_on_string): Use ASET, not XSET.
7135
73acf815 71362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7137
1f45f627 7138 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
aca7a3d2 7139
73acf815 71402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7141
7142 * coding.c (decode_coding): Fix the condition of terminating the
7143 decoding loop.
7144
73acf815 71452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7146
7147 * data.c (Faset): On setting a character bigger than 255 in a
1f45f627 7148 unibyte string, signal an error instead of make the string multibyte.
aca7a3d2 7149
73acf815 71502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7151
7152 * charset.c (map_charset_chars): Fix for ascii-compatible charset
7153 made by a mapping table.
7154
73acf815 71552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7156
7157 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
7158 not.
7159 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
7160 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
7161
7162 * xterm.c (x_draw_composite_glyph_string_foreground): Check
7163 s->face is NULL or not.
7164
73acf815 71652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7166
7167 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
7168 (x_draw_glyph_string): Fix drawing of right_overhang and
7169 left_overhang around/on cursor.
7170
1f45f627 7171 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
aca7a3d2 7172
73acf815 71732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7174
7175 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
7176
73acf815 71772008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7178
4c4475a8
GM
7179 * coding.c (Fdefine_coding_system_internal)
7180 (Fdefine_coding_system_alias): Avoid a duplicated element in
7181 Vcoding_system_alist.
aca7a3d2 7182
73acf815 71832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7184
7185 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
7186
fcb314b2 7187 * coding.c (Qcoding_system_define_form): New variable.
aca7a3d2
MB
7188 (syms_of_coding): Intern and staticpro it.
7189 (Fcoding_system_p): Check Qcoding_system_define_form.
1f45f627 7190 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
aca7a3d2
MB
7191
7192 * coding.h (CODING_SYSTEM_P): If ID is not available, call
7193 Fcoding_system_p.
7194 (CHECK_CODING_SYSTEM): If ID is not available, call
7195 Fcheck_coding_system.
4c4475a8
GM
7196 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
7197 Try also Fcheck_coding_system.
aca7a3d2 7198
73acf815 71992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7200
aca7a3d2
MB
7201 * coding.c (code_conversion_restore): GCPRO arg.
7202
73acf815 72032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7204
7205 * character.c (lisp_string_width): Check multibyteness of STRING.
7206
73acf815 72072008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
7208
7209 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
7210 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
7211 (decode_mac_font_name): Use decode_coding_c_string instead of
7212 decode_coding.
7213 (x_load_font): Initialize fontp->fontset to -1. Set
7214 fontp->encoding_type.
7215
73acf815 72162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7217
7218 * search.c (search_buffer): Give up BM search on case-fold-search
7219 if one of a target character has a case-equivalence of different
7220 byte length even if that target charcter is an ASCII.
1f45f627
GM
7221 (simple_search): Fix calculation of byte length of matched text.
7222 (boyer_moore): Fix handling of case-equivalent multibyte characters.
aca7a3d2 7223
73acf815 72242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7225
7226 * coding.c (decode_coding): Fix handling of invalid bytes.
7227
73acf815 72282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7229
7230 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
7231 Unicode characters.
7232
73acf815 72332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7234
7235 * coding.c (encode_coding_object): If a pre-write-conversion
7236 function makes a new buffer, kill it.
7237
73acf815 72382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7239
7240 * coding.c (QCascii_compatible_p): New variable.
7241 (syms_of_coding): Initialize it.
4c4475a8
GM
7242 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
7243 calling string_char.
aca7a3d2
MB
7244 (record_conversion_result): Add `default:' case.
7245 (coding_charset_list): Delete unused variable `coding_type'.
7246 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
7247 property in the plist of the coding system.
7248 (Fcoding_system_put): Check QCascii_compatible_p.
7249
73acf815 72502008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
7251
7252 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
7253 removed calculation of frame `f', as it's now used.
7254
73acf815 72552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7256
1f45f627 7257 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
aca7a3d2
MB
7258 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
7259 (UNIDATA): New variable.
7260 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
7261 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
7262 $(RUN_TEMACS) unconditionally.
7263
73acf815 72642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7265
1f45f627 7266 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
aca7a3d2
MB
7267 (admindir): New variable.
7268 ($(lispsource)international/charprop.el): New target.
7269
73acf815 72702008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 7271
1f45f627 7272 * character.c (chars-in-region): Remove obsolete function.
aca7a3d2
MB
7273 (syms_of_character): Remove its initialization.
7274
73acf815 72752008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
aca7a3d2
MB
7276
7277 * w32select.c (validate_coding_system)
7278 (setup_windows_coding_system): New functions.
7279 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
7280 setup_windows_coding_system.
7281 (setup_config, Fw32_get_clipboard_data): Use
7282 validate_coding_system.
7283 (Fx_selection_exists): Move call to setup_config to a place
1f45f627 7284 where signals are allowed.
aca7a3d2
MB
7285
7286 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
7287 (Fcheck_coding_system): Add declarations.
7288
73acf815 72892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7290
1f45f627 7291 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
aca7a3d2 7292
73acf815 72932008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
7294
7295 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
7296 string as the second argument for x_new_fontset.
7297
73acf815 72982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7299
7300 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
7301 (encode_coding_object): Use safe_call instead of call2.
7302
73acf815 73032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7304
1f45f627 7305 * fontset.c (Fset_fontset_font): Check family element of a given vector.
aca7a3d2
MB
7306
7307 * Makefile.in (lisp): Include charprop.el.
7308
73acf815 73092008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
7310
7311 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
7312 Not sure if it's unnecessary.
7313
73acf815 73142008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
7315
7316 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
7317 some possibly unnecessary fontset checking code that crashed
1f45f627 7318 when creating a new frame.
aca7a3d2 7319
73acf815 73202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7321
7322 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
7323 lookup_face.
7324
7325 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
7326
1f45f627 7327 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
aca7a3d2 7328
73acf815 73292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7330
73acf815 7331 * coding.c: Cancel the change done in HEAD on 2008-02-01.
aca7a3d2
MB
7332 (coding_charset_list): New function.
7333
7334 * coding.h (coding_charset_list): Extern it.
7335
73acf815 73362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7337
7338 * fontset.c (Fset_fontset_font): Call find_font_encoding with
7339 concatenation of family and registry.
7340
73acf815 73412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7342
7343 * character.h (BYTE8_STRING): Fix typo.
7344
7345 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
7346 string to multibyte (sync to HEAD).
7347
7348 * casefiddle.c (casify_region): Handle changes in byte-length
7349 using replace_range_2 (sync to HEAD).
7350
73acf815 73512008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
7352
7353 * chartab.c (map_char_table): GCPRO table and arg.
7354
73acf815 73552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7356
7357 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
7358 already at limit.
7359
73acf815 73602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7361
7362 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
7363 instead of fast_c_string_match_ignore_case.
1f45f627 7364 (find_font_encoding): Change argument to Lisp_Object. Use
aca7a3d2 7365 fast_string_match_ignore_case instead of
1f45f627 7366 fast_c_string_match_ignore_case. Change caller.
aca7a3d2 7367
73acf815 73682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7369
7370 * xdisp.c (get_next_display_element): In unibyte case, decide to
7371 display in octal form by checking a chacter by
7372 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
7373
1f45f627 7374 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
aca7a3d2
MB
7375
7376 * character.c (unibyte_has_multibyte_table): New variable.
7377
7378 * character.h (unibyte_has_multibyte_table): Extern it.
7379 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
7380
73acf815 73812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7382
7383 * coding.c (encode_coding_iso_2022): Fix handling of charset
7384 annotation.
7385
73acf815 73862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7387
7388 * coding.c (setup_coding_system): If coding_system is nil, use
7389 Qundecided.
7390 (Fterminal_coding_system): Return nil if terminal coding system is
7391 `undecided'.
7392 (syms_of_coding): Define coding-system `undecided' here. Setup
7393 terminal_coding as `undecided'.
7394
73acf815 73952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7396
7397 * xdisp.c (message_dolog, set_message_1): Call
7398 unibyte_char_to_multibyte with arg type int.
7399
aca7a3d2
MB
7400 * lread.c (read1): Fix reading of a char-table.
7401
7402 * print.c (print_object): Include sub char-table in cicularities
7403 detection.
7404
73acf815 74052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7406
7407 * keymap.c (where_is_internal_2): Fix for the case that KEY is a
1f45f627 7408 cons. Append the found sequences in car of ARGS instead of prepending.
aca7a3d2 7409
73acf815 74102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7411
7412 * fileio.c (report_file_error): Make a unibyte string from
7413 strerror (errorno).
7414 (Fsubstitute_in_file_name): Fix the arg to
7415 unibyte_char_to_multibyte. It is evaluated twice.
7416
73acf815 74172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7418
7419 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
7420
73acf815 74212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7422
7423 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
7424 BOM is not found.
4c4475a8
GM
7425 (detect_coding, detect_coding_system): Optimization for ISO-2022
7426 when no 8-bit data is found.
aca7a3d2 7427
73acf815 74282008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7429
7430 * w32fns.c (x_to_w32_font): Update to use new coding struct.
7431
73acf815 74322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7433
4c4475a8
GM
7434 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
7435 CHARS.
aca7a3d2 7436
73acf815 74372008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
7438
7439 * macterm.c (mac_encode_char): Add charset argument and update
7440 to use encoding_type.
2a2e8de7 7441 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
1f45f627
GM
7442 switch to pure fontset.
7443 (decode_mac_font_name): Temporarily remove decoding.
7444 (x_font_name_to_mac_font_name): Temporarily remove encoding.
7445 (x_load_font): Temporarily remove encoding.
aca7a3d2 7446
73acf815 74472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7448
7449 * xfaces.c (Fface_font): If frame is not on a window system,
7450 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
7451 refer to face->font.
7452 (split_font_name_into_vector, build_font_name_from_vector)
7453 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
7454 whne HAVE_WINDOW_SYSTEM is defined.
7455
73acf815 74562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7457
7458 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
7459 (x_produce_glyphs): Fix setting of members of cmp in case
1f45f627 7460 cmp->glyph_len is zero.
aca7a3d2 7461
1f45f627 7462 * fontset.c (Fset_fontset_font): Fix docstring.
aca7a3d2
MB
7463 (Ffontset_info): Make it backward compatible. New arg ALL.
7464
73acf815 74652008-02-01 Kim F. Storm <storm@cua.dk>
aca7a3d2
MB
7466
7467 * process.c (read_process_output): Grow decoding_buf when needed;
7468 this could cause a crash in allocate_string and compact_small_strings.
7469
73acf815 74702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7471
1f45f627 7472 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
aca7a3d2 7473
73acf815 74742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7475
7476 * coding.c (setup_coding_system): Set coding->common_flags
7477 correctly for raw-text.
7478 (consume_chars): On encoding unibyte text by raw-text, don't check
7479 multibyte form.
1f45f627 7480 (encode_coding): On encoding by raw-text, never use translation tables.
aca7a3d2
MB
7481
7482 * fileio.c (e_write): Short cut for the case of no encoding.
7483
73acf815 74842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7485
4c4475a8
GM
7486 * coding.c (detect_coding, detect_coding_system): Delete unused
7487 variables.
aca7a3d2 7488
73acf815 74892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7490
7491 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
7492 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
7493
73acf815 74942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7495
7496 * coding.c (Ffind_coding_systems_region_internal): Include
7497 raw-text and no-conversion in the result.
7498
73acf815 74992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7500
1f45f627 7501 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
aca7a3d2
MB
7502 (load_font_get_repertory): Delete unnecessary check of ENCODING of
7503 FONT_DEF.
7504 (font_def_arg, add_arg, from_arg, to_arg): New args.
1f45f627 7505 (set_fontset_font): Change argument.
aca7a3d2
MB
7506 (Fset_fontset_font): Fix for the case that TARGET is a script
7507 name and charset name.
7508 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
7509
73acf815 75102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7511
1f45f627
GM
7512 * fontset.c (fontset_font): Rename from fontset_face. Change return
7513 value.
4c4475a8
GM
7514 (face_suitable_for_char_p, face_for_char): Adjust for the change
7515 of fontset_font.
aca7a3d2
MB
7516 (make_fontset_for_ascii_face): Fix setting of the fontset element
7517 for ASCII.
7518 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
7519 to get a font name.
1f45f627 7520 (Ffontset_info): Adjust for the change of fontset_font.
aca7a3d2 7521
fcb314b2 7522 * coding.c (emacs_mule_char): Check invalid code more regidly.
aca7a3d2
MB
7523
7524 * character.h (LEADING_CODE_LATIN_1_MIN)
7525 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
7526
73acf815 75272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7528
fcb314b2 7529 * editfns.c (check_translation): New function.
aca7a3d2
MB
7530 (Ftranslate_region_internal): Handle M:N mapping.
7531
73acf815 75322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7533
7534 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
7535
73acf815 75362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7537
7538 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
7539 goto invalid_code.
7540 (decode_coding_iso_2022): Fix handling of invalid designation.
7541
7542 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
7543 after calling code_conversion_save.
7544
73acf815 75452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7546
7547 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
7548
7549 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
7550
7551 * fontset.c: Include "intervals.h".
7552 (fontset_face): Fix comparing of Lisp_Objects.
4c4475a8
GM
7553 (free_face_fontset, new_fontset_from_font_name): Fix
7554 Lisp_Object/int mixup.
aca7a3d2
MB
7555
7556 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
7557
7558 * coding.c: Add many prototypes for static functions.
7559 (get_translation_table): Allow max_lookup to be NULL.
2a2e8de7 7560 (decode_coding, Ffind_coding_systems_region_internal)
4c4475a8
GM
7561 (Funencodable_char_position, Fcheck_coding_systems_region): Call
7562 get_translation_table with max_lookup NULL.
aca7a3d2 7563
73acf815 75642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7565
7566 * coding.c (get_translation_table): Declare it as Lisp_Object.
7567 (LOOKUP_TRANSLATION_TABLE): New macro.
4c4475a8
GM
7568 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
7569 instead of CHAR_TABLE_REF.
aca7a3d2 7570
73acf815 75712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7572
1f45f627 7573 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
aca7a3d2
MB
7574 annotation data format.
7575 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
1f45f627 7576 Change arguments FROM and TO to single argument NCHARS. Change caller.
4c4475a8 7577 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
aca7a3d2 7578 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
4c4475a8
GM
7579 (decode_coding_ccl, decode_coding_charset): Pay attention to
7580 coding->charbuf_used.
aca7a3d2
MB
7581 (get_translation): New function.
7582 (produce_chars): New arguments translation_table and last_block.
7583 Translate characters here. Return number of carryover chars.
1f45f627
GM
7584 Change caller.
7585 (produce_composition): New argument pos. Change caller.
7586 Adjust for the change of annotation data format.
aca7a3d2
MB
7587 (produce_charset, produce_annotation): Likewise.
7588 (decode_coding, encode_coding): Don't call translate_chars.
1f45f627
GM
7589 (consume_chars): New arg translation_table. Change caller.
7590 (translate_chars): Delete.
7591 (syms_of_coding): Make translation-table's number of extra slots 2.
aca7a3d2 7592
73acf815 75932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7594
7595 * search.c (simple_search): Fix setting this_pos_byte in backward
7596 search.
7597
7598 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
7599 byte sequence.
7600 (detect_coding_ccl): Fix setting of the variable valids.
7601
73acf815 76022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7603
7604 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
7605
7606 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
7607
1f45f627 7608 * editfns.c (Ftranslate_region_internal): Rename from
aca7a3d2
MB
7609 Ftranslate_region. Accept a char-table in TABLE.
7610 (syms_of_editfns): Defsubr Stranslate_region_internal.
7611
7612 * xfaces.c (set_lface_from_font_name): If a font is specified for
7613 a frame, generate a fontset from the font.
7614 (build_scalable_font_name): If the scalable font is requested for
7615 a specific size, don't change that size.
7616 (try_font_list): Try a scalable font also in the case that a
1f45f627 7617 pattern string is specified.
aca7a3d2 7618
73acf815 76192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7620
7621 * xfaces.c (Fface_font): New optional arg CHARACTER.
7622
73acf815 76232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7624
7625 * charset.h (CHARSET_OFFSET): New macro.
7626
73acf815 76272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7628
7629 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
7630
7631 * fontset.c (fontset_face): Handle the case that repertory is a
7632 char-table.
7633 (find_font_encoding): Return nil for unknown encoding.
7634 (Fset_fontset_font): Ignore a font of unknown encoding.
7635
73acf815 76362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7637
1f45f627 7638 * keymap.c (describe_vector): Handle default value of a char table.
aca7a3d2
MB
7639
7640 * fontset.c (fontset_face): Handle fallback fonts correctly.
7641 (Ffontset_info): Return infomation about fallback fonts.
7642
73acf815 76432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7644
7645 * fontset.c (FONTSET_DEFAULT): New macro.
4c4475a8 7646 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
aca7a3d2
MB
7647 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
7648 the case that it is nil.
7649 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
1f45f627 7650 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
aca7a3d2
MB
7651
7652 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
7653 subset or superset.
7654
73acf815 76552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7656
7657 * emacs.c (main): Call init_charset after syms_of_XXX.
7658
1f45f627 7659 * charset.c (Vcharset_map_directory): Delete.
1f204af3 7660 (Vcharset_map_path): New variable.
aca7a3d2
MB
7661 (load_charset_map_from_file): Use Vcharset_map_path instead.
7662 (init_charset): Initialize Vcharset_map_path.
7663 (syms_of_charset): Delete declaration of "charset-map-directory",
7664 add declaration of "charset-map-path".
7665
73acf815 76662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7667
4c4475a8
GM
7668 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
7669 ASCII only string.
aca7a3d2
MB
7670
7671 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
7672
7673 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
6f69e89b 7674 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
aca7a3d2 7675
73acf815 76762008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7677
7678 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
7679
7680 * coding.c (QCmnemonic, QCdefalut_char)
7681 (QCdecode_translation_table, QCencode_translation_table)
7682 (QCpost_read_conversion, QCpre_write_conversion): New variables.
7683 (get_translation_table): Return a list of translation tables if
7684 necessary.
7685 (decode_coding): Call get_translation_table with ENCODEP 0.
7686 (char_encodable_p): If translation_table is non-nil, always call
7687 translate_char.
7688 (Fdefine_coding_system_internal): Accept list of translation
7689 tables as :encode-translation-table and :decode-translation-table.
7690 (Fcoding_system_put): New function.
7691 (syms_of_coding): Declare new symbols. Defsubr
7692 Scoding_system_put.
4c4475a8
GM
7693 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
7694 typically JISX0212.
aca7a3d2
MB
7695
7696 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
7697 when the charset is superset type.
7698
7699 * character.c (translate_char): Accept list of translation tables.
7700
73acf815 77012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7702
1f45f627 7703 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
aca7a3d2
MB
7704 (CODING_ATTR_TRANS_TBL): New macro.
7705
7706 * coding.c (get_translation_table): New function.
7707 (translate_chars): Fix the bug of skipping annotation data.
4c4475a8
GM
7708 (decode_coding, encode_coding): Utilize get_translation_table.
7709 (char_encodable_p, Funencodable_char_position): Translate char if
7710 necessary.
7711 (Ffind_coding_systems_region_internal)
7712 (Fcheck_coding_systems_region): Setup translation table for encode
7713 in a coding system attribute vector in advance.
aca7a3d2
MB
7714 (Fdefine_coding_system_internal): Allow a symbol as translation
7715 table. For shift-jis type coding system, allow 4th charset.
7716
73acf815 77172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7718
7719 * coding.c (decode_coding_sjis): Check the first byte rigidly.
7720
7721 * xdisp.c (get_next_display_element): Pass -1 as POS to
7722 FACE_FOR_CHAR if displaying a C-string.
7723
73acf815 77242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7725
7726 * composite.c (get_composition_id): Handle xoff and yoff in a
7727 composition rule.
7728
7729 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
7730 (struct composition): New member lbearing and rbearing.
7731
7732 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
7733 (x_get_glyph_overhangs): Handle a composition glyph.
1f45f627 7734 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
aca7a3d2
MB
7735
7736 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
7737 composition glyph.
7738
73acf815 77392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7740
7741 * print.c: Include charset.h.
7742 (Vprint_charset_text_property): New variable.
7743 (Qdefault): Extern it.
7744 (PRINT_STRING_NON_CHARSET_FOUND)
7745 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
7746 (print_check_string_result): New variable.
7747 (print_check_string_charset_prop): New function.
7748 (print_prune_charset_plist): New variable.
7749 (print_prune_string_charset): New function.
7750 (print_object): Call print_prune_string_charset if
7751 Vprint_charset_text_property is not t.
7752 (print_interval): Print nothing if itnerval->plist is nil.
7753 (syms_of_print): Declare Vprint_charset_text_property as a lisp
7754 variable. Init and staticpro print_prune_charset_plist.
7755
73acf815 77562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7757
7758 * fontset.c (new_fontset_from_font_name): Use the specified font
7759 for all characters in the new fontset.
7760
7761 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
7762 OBJECT args.
7763
7764 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
7765 OBJECT args for composition too.
7766
7767 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
7768 OBJECT args.
7769
73acf815 77702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7771
7772 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
7773
1f45f627 7774 * fontset.c (reorder_font_vector): Adjust for the change of
aca7a3d2 7775 FONT_DEF format.
1f45f627 7776 (fontset_face): New arg id. Change caller.
aca7a3d2 7777 (face_for_char): New args pos and object.
1f204af3 7778 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
aca7a3d2
MB
7779 (fs_query_fontset): Check NAME by Fassoc too.
7780 (Fset_fontset_font): Allow non-XLFD font name.
1f45f627 7781 (Ffontset_info): Adjust for the change of FONT_DEF format.
aca7a3d2 7782
1f45f627 7783 * fontset.h (face_for_char): Adjust prototype.
aca7a3d2 7784
4c4475a8
GM
7785 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
7786 (append_space, extend_face_to_end_of_line)
7787 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
7788 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
aca7a3d2
MB
7789
7790 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
7791 POS and OBJECT args.
7792
7793 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
7794 POS and OBJECT args.
7795
73acf815 77962008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7797
7798 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
7799 of GlobalAlloc'ed memory.
7800
73acf815 78012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7802
7803 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
7804
7805 * charset.h (charset_table_used): Delete extern.
7806
7807 * charset.c (charset_table_used): Make it static.
7808 (map_charset_chars): Fix args to c_function with.
7809
7810 * chartab.c (map_sub_char_table_for_charset): Fix args to
7811 c_function with.
7812
7813 * coding.h (enum coding_result_code): Delete
7814 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
7815
7816 * coding.c (Qinsufficient_source, Qinconsistent_eol)
1f45f627 7817 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
aca7a3d2
MB
7818 (Vlast_code_conversion_error): New variables.
7819 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
7820 (ONE_MORE_BYTE): Record error if any instead of signaling an
7821 error. If non-ASCII multibyte char is found, return the negative
7822 value of the code. All callers changed to check it.
7823 (ONE_MORE_BYTE_NO_CHECK): Likewise.
1f45f627
GM
7824 (record_conversion_result): New function. Change all codes setting
7825 coding->result to call this function.
4c4475a8
GM
7826 (detect_coding_utf_8, decode_coding_utf_8)
7827 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
7828 Don't use the local variable incomplete.
aca7a3d2 7829 (emacs_mule_char): Change the second arg to `const'.
aca7a3d2
MB
7830 (decode_coding): Fix of flushing out unprocessed data.
7831 (make_conversion_work_buffer): Fix making of a work buffer.
2a2e8de7 7832 (decode_coding_object): Return coding->dst_object.
aca7a3d2
MB
7833
7834 * fontset.c (set_fontset_font): Fix args.
7835
7836 * lisp.h (CHARACTERBITS): Define as 22.
7837
7838 * process.c (send_process): Be sure to set coding->src_multibyte.
7839
7840 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
7841
73acf815 78422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7843
7844 * xdisp.c (handle_auto_composed_prop): Give limit to
7845 Fnext_single_char_property_change.
7846
73acf815 78472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7848
424c157f 7849 * composite.c (syms_of_composite): Don't make the composition hash
1f45f627 7850 table weak.
aca7a3d2
MB
7851
7852 * fontset.c (Fset_fontset_font): Fix docstring.
7853
7854 * lisp.h (detect_coding_system): Adjust prototype.
7855
7856 * fileio.c (kill_workbuf_unwind): Delete this function.
7857 (Finsert_file_contents): Adjust the call of detect_coding_system.
7858 Get conversion_buffer by code_conversion_save. Use the macor
7859 CODING_MAY_REQUIRE_DECODING. After decoding, update
7860 coding_system.
7861
7862 * coding.h (make_conversion_work_buffer): Delete extern.
7863 (code_conversion_save): Extern it.
7864
7865 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
1f45f627 7866 (CODING_GET_INFO): Delete argument eol_type. Change callers.
aca7a3d2
MB
7867 (decode_coding_utf_8): Don't do eol converion.
7868 (detect_coding_utf_16): Check coding->src_chars, not
1f45f627 7869 coding->src_bytes. Add heuristics for those that have no signature.
4c4475a8
GM
7870 (decode_coding_emacs_mule, decode_coding_iso_2022)
7871 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
7872 Don't do eol converion.
aca7a3d2
MB
7873 (adjust_coding_eol_type): Return a new coding system.
7874 (detect_coding): Don't detect eol. Fix for utf-16 detection.
7875 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
7876 each change.
7877 (decode_coding): Pay attention to undo_list. Do eol convesion for
7878 all types of coding-systems (if necessary).
7879 (Vcode_conversion_work_buf_list): Delete it.
1f45f627 7880 (Vcode_conversion_reused_workbuf): Rename from
aca7a3d2
MB
7881 Vcode_conversion_reused_work_buf.
7882 (Vcode_conversion_workbuf_name): New variable.
7883 (reused_workbuf_in_use): New variable.
7884 (make_conversion_work_buffer): Delete the arg DEPTH.
4c4475a8 7885 (code_conversion_restore): Change argument to cons.
1f45f627
GM
7886 (code_conversion_save): Delete the argument BUFFER. Change callers.
7887 (detect_coding_system): New argument src_chars. Change callers.
aca7a3d2
MB
7888 Fix for utf-16 detection.
7889 (init_coding_once): Don't use ISO_carriage_return.
1f45f627 7890 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
aca7a3d2
MB
7891 reused_workbuf_in_use.
7892
73acf815 78932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7894
7895 * keymap.c (store_in_keymap): Pay attention to the case that idx
7896 is a cons specifying a character range.
7897
73acf815 78982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7899
7900 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
7901 HANDLED_RECOMPUTE_PROPS.
7902
7903 * coding.c (Fdefine_coding_system_internal): Fix checking of
7904 ascii compatibility.
7905
73acf815 79062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7907
1f45f627 7908 * charset.c (find_charsets_in_text): Delete unused locale variable.
aca7a3d2
MB
7909 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
7910
7911 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
7912 Resync charset_list to Vemacs_mule_charset_list.
7913
7914 * keymap.c (store_in_keymap): Pay attention to the case that idx
7915 is a cons specifying a character range.
7916
73acf815 79172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7918
7919 * composite.c (update_compositions): Bind inhibit-read-only, etc
7920 to t before calling remove-list-of-text-properties.
7921
7922 * print.c (print_object): Always print ASCII chars as is.
7923
73acf815 79242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7925
1f45f627 7926 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
aca7a3d2 7927
4c4475a8
GM
7928 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
7929 is a char table.
aca7a3d2 7930
73acf815 79312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7932
1f45f627 7933 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
aca7a3d2 7934
73acf815 79352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7936
7937 * xfaces.c (set_lface_from_font_name): Fix for the case that
7938 FONTNAME is not fontset name.
7939
73acf815 79402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7941
7942 * fns.c (base64_encode_1): Fix previous change.
7943
73acf815 79442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7945
7946 * fontset.c (set_fontset_font): New function.
7947 (Fset_fontset_font): If a font is specified for a charset, use
7948 map_charset_chars to store the font spec in a fontset.
7949
73acf815 79502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7951
1f204af3 7952 * fontset.c (fontset_face): Create a fallback fontset on demand.
aca7a3d2
MB
7953 (make_fontset): Don't create a fallback fontset here.
7954 (free_face_fontset): Free a fallback fontset (if any) too.
7955 (n_auto_fontsets): Delete this variable.
7956 (auto_fontset_alist): New variable.
7957 (new_fontset_from_font_name): Check auto_fontset_alist.
7958 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
7959 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
7960 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
7961 Defsubr Sfontset_list_all.
7962
73acf815 79632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7964
7965 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
7966
73acf815 79672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7968
7969 * fontset.c (Fnew_fontset): Check NAME more rigidly.
7970
73acf815 79712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7972
7973 * editfns.c (Fgoto_char): Fix docstring.
7974
73acf815 79752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7976
7977 * insdel.c (insert_from_gap): Adjust intervals correctly.
7978
73acf815 79792008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7980
7981 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
7982 (pfnGetFontUnicodeRanges): New dynamically loaded function.
7983 (w32_initialize): Try to load it.
7984 (x_get_font_repertory): Use it if available.
7985 (w32_encode_char): Add shortcut for unicode output.
7986
7987 * w32fns.c (w32_load_system_font): Default charset to -1.
7988 (x_to_w32_charset): Match all fonts for unicode.
1f45f627 7989 (w32_to_x_charset): New parameter matching. Don't return partial
aca7a3d2
MB
7990 or wildcard charsets.
7991 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
7992 (w32_codepage_for_font): Return CP_UNICODE for unicode.
7993 (w32_to_x_font): Match charset to real charset.
7994 (enum_font_cb2): Always list unicode versions.
7995
7996 * makefile.w32-in (temacs): Increase EMHEAP.
7997
73acf815 79982008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7999
8000 * w32term.c (w32_encode_char): New charset parameter.
8001 font_info.encoding becomes encoding_type.
1f45f627 8002 (x_get_font_repertory): New function. Warning: stub only!
aca7a3d2
MB
8003 (x_new_font): Return quickly if font already set.
8004 (x_new_fontset): fontsetname parameter is Lisp_Object.
2a2e8de7
JB
8005 Use new fs_query_fontset. Try new_fontset_from_font_name.
8006 Use fontset_name for return value.
aca7a3d2
MB
8007
8008 * w32term.h: Declare x_get_font_repertory.
8009
8010 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
1f45f627 8011 place of find_charset_in_text. Use encode_coding_object in place
aca7a3d2
MB
8012 of encode_coding.
8013 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
8014 decode_coding.
8015
8016 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
8017 of x_new_fontset.
8018 (w32_load_system_font): Initialize charset as unicode.
8019 font_info.encoding becomes encoding_type.
1f45f627
GM
8020 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
8021 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
aca7a3d2
MB
8022 (syms_of_w32fns): Set get_font_repertory_func.
8023
1f45f627 8024 * w32console.c: Include character.h. Use terminal_encode_buffer
aca7a3d2 8025 from term.c.
1f45f627 8026 (write_glyphs): Use new version of encode_terminal_code. Use
aca7a3d2
MB
8027 encode_coding_object in place of encode_coding.
8028
8029 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
8030 encoding becomes encoding_type.
8031
8032 * term.c (terminal_encode_buffer): Make externally visible.
8033
8034 * makefile.w32-in: Add character.h dependancies.
8035 (character.o, chartab.o): New targets.
8036
73acf815 80372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8038
8039 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
1f45f627 8040 CODING_ID_EOL_TYPE.
aca7a3d2 8041
73acf815 80422008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
8043
8044 * coding.c (produce_chars): Revert last change.
8045
73acf815 80462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8047
8048 * charset.h (charset_unicode): Extern it.
8049
8050 * charset.c (string_xstring_p): Check by (C >= 0x100).
1f45f627 8051 (find_charsets_in_text): Change format of the arc CHARSETS. New
aca7a3d2 8052 arg MULTIBYTE.
1f45f627 8053 (Ffind_charset_region, Ffind_charset_string): Adjust for the
aca7a3d2
MB
8054 change of find_charsets_in_text.
8055 (Fsplit_char): Fix doc. Never return unknown.
8056
8057 * chartab.c (char_table_translate): Use CHARACTERP, not INETEGERP.
8058
8059 * coding.c (Fdefine_coding_system_alias): Update
8060 Vcoding_system_list.
8061
8062 * fontset.c (load_font_get_repertory): Pay attention to the case
8063 that ENCODING of a font is specified by a char-table.
8064
8065 * xterm.c (x_get_font_repertory): Handle the case that the
8066 encoding of font is other than Unicode.
8067
73acf815 80682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8069
8070 * term.c (encode_terminal_code): Don't handle glyph-table. Check
8071 if a character is encodable by the terminal coding system. If
8072 not, produces proper number of `?'s. Update
8073 terminal_encode_buffer and terminal_encode_buf_size if necessary.
8074 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
8075
73acf815 80762008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8077
8078 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
8079 variables.
1f45f627 8080 (encode_terminal_code): Change argument. Encode multiple
aca7a3d2
MB
8081 characters at once. Store the result of encoding in
8082 terminal_encode_buffer.
4c4475a8
GM
8083 (write_glyphs, insert_glyphs): Adjust for the change of
8084 encode_terminal_code.
aca7a3d2
MB
8085 (term_init): Initialize terminal_encode_buffer and
8086 terminal_encode_buf_size.
8087
8088 * coding.c (consume_chars): If coding->src_object is nil, don't
8089 check annotation.
8090
73acf815 80912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8092
8093 * character.c (char_string): Use ASCII_CHAR_P instead of
8094 SINGLE_BYTE_CHAR_P.
8095
73acf815 80962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8097
8098 * xdisp.c (handle_auto_composed_prop): Check if the last
8099 characters of auto-composed region is newly composed with the
8100 following characters.
8101 (handle_composition_prop): Fix checking of point being inside
8102 composition.
8103
73acf815 81042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8105
8106 * fns.c (concat): Don't change multibyteness of the result by
8107 concatenating an 8-bit character.
8108
8109 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
8110 multibyteness of the result when newelt is an 8-bit character.
8111
73acf815 81122008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8113
8114 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
8115 EMACS_INT.
8116
8117 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
8118
8119 * xfaces.c (face_numeric_value): Declare dim size_t.
8120 (Finternal_lisp_face_equal_p): Remove unused f.
8121
8122 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
8123 (MATRIX_ROW): Remove unused vars.
8124 (draw_glyphs, x_insert_glyphs, fast_find_position)
8125 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
8126 byte/char counts.
8127
8128 * regex.c (regex_compile): Remove unused var.
8129
8130 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
8131
8132 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
8133 (Faccessible_keymaps, where_is_internal): Remove unused vars.
8134
8135 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
8136
8137 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
8138
8139 * fileio.c (Fwrite_region): Remove unused var.
8140
8141 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
8142 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
8143
8144 * composite.c (Fremove_list_of_text_properties): Declare.
8145
1f45f627
GM
8146 * coding.c (inhibit_pre_post_conversion): Remove (unused).
8147 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
aca7a3d2
MB
8148 (coding_inherit_eol_type): Remove unused attrs.
8149 (detect_coding): Cast arg of detect_eol.
8150
8151 * charset.c (syms_of_charset): Remove unused var p.
8152 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
8153 byte/char counts.
8154
8155 * casetab.c (set_case_table): Remove unused var.
8156
8157 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
1f45f627 8158 unused vars.
aca7a3d2 8159
73acf815 81602008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8161
8162 * xterm.c (x_bitmap_mask): Declare.
8163
73acf815 81642008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8165
8166 * xterm.c (x_term_init): Fix type error.
8167
8168 * lisp.h: Add Funibyte_char_to_multibyte.
8169
8170 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
8171 (Fset_coding_system_priority): Doc fix.
8172
aca7a3d2
MB
8173 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
8174
8175 * indent.c (check_composition): Make start and end EMACS_INT.
8176
8177 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
8178
8179 * xdisp.c (handle_composition_prop, check_point_in_composition):
8180 Make buffer positions EMACS_INT.
8181
8182 * composite.c (find_composition, run_composition_function)
8183 (update_compositions, Ffind_composition_internal): Make buffer
8184 positions EMACS_INT.
8185
8186 * composite.h (find_composition, update_compositions): Make
8187 position args EMACS_INT.
8188
1f45f627 8189 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
aca7a3d2
MB
8190
8191 * intervals.c (get_property_and_range):
8192 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
8193
8194 * unexalpha.c: Don't include varargs.h.
8195
73acf815 81962008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8197
8198 * coding.h (ENCODE_UTF_8): New.
8199
8200 * Makefile.in (gtkutil.o): Depend on coding.h.
8201
8202 * coding.c (Fset_coding_system_priority): Doc fix.
8203
73acf815 82042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8205
8206 * fileio.c (Finsert_file_contents): Call setup_coding_system in
8207 the case of auto saving.
8208
73acf815 82092008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2 8210
4c4475a8
GM
8211 * chartab.c (map_char_table, map_char_table_for_charset): Protect
8212 `range' from GC.
aca7a3d2 8213
73acf815 82142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8215
8216 * coding.c (decode_coding_sjis): Check bytes more rigidly.
8217
73acf815 82182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8219
1f45f627 8220 * fileio.c (choose_write_coding_system): Return a decided coding system.
aca7a3d2
MB
8221 (Fwrite_region): Set Vlast_coding_system_used to the return value
8222 of choose_write_coding_system.
8223
73acf815 82242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8225
8226 * charset.c (Fset_charset_priority): Pay attention to duplicated
8227 arguments.
8228
8229 * coding.c (QCcategory): New variable.
8230 (syms_of_coding): Defsym it. Set all elements of
8231 Vcoding_category_table and their symbol values.
8232 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
8233 coding-category-XXX, and coding-category-list.
8234 (Fdefine_coding_system_internal): Add category in the plist.
8235
73acf815 82362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8237
8238 * callproc.c (Fcall_process): Handle carryover correctly.
8239
1f45f627 8240 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
aca7a3d2
MB
8241 (raw_text_coding_system): Check NILP (coding_system).
8242 (coding_inherit_eol_type): Check NILP (coding_system) and
8243 NILP (parent).
8244 (consume_chars): Fix for the case of raw-text.
8245
8246 * process.c (read_process_output): Handle carryover correctly.
8247
73acf815 82482008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8249
8250 * regex.c (re_search_2): Fix last change.
8251
73acf815 82522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8253
8254 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
8255 target_multibyte. Even in a unibyte case, return a converted
8256 multibyte char.
8257 (GET_CHAR_AFTER): New macro.
8258 (PATFETCH): Translate via multibyte char.
8259 (HANDLE_UNIBYTE_RANGE): Delete this macro.
8260 (SETUP_MULTIBYTE_RANGE): New macro.
8261 (regex_compile): Setup compiled code so that its multibyteness
8262 matches that of a target. Fix the handling of "[X-YZ]" using
8263 SETUP_MULTIBYTE_RANGE.
8264 (analyse_first) <charset>: For filling fastmap for all multibyte
8265 characters, don't check by BASE_LEADING_CODE_P.
8266 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
8267 the same as RE_MULTIBYTE_P (bufp) now.
1f45f627 8268 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
aca7a3d2
MB
8269 (TARGET_CHAR_AND_LENGTH): Delete this macro.
8270 (TRANSLATE_VIA_MULTIBYTE): New macro.
8271 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
8272 It is the same as RE_MULTIBYTE_P (bufp) now.
8273 <exactn>: Translate via multibyte.
8274 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
8275 translate it.
8276 <charset, charset_not>: Fetch a character by
8277 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
8278 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
8279 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
8280 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
8281 by GET_CHAR_AFTER.
c5ad7a3d 8282 (bcmp_translate): Likewise.
aca7a3d2
MB
8283
8284 * search.c (compile_pattern): Check the member target_multibyte,
8285 not the member multibyte of buf.
8286
8287 * lread.c (read1): While reading a string, set force_singlebyte
8288 and force_multibyte correctly.
8289
4c4475a8
GM
8290 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
8291 up of unibyte_to_multibyte_table.
aca7a3d2 8292
73acf815 82932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8294
8295 * coding.c (setup_coding_system): If coding has
8296 post-read-conversion or pre-write-conversion, set
8297 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
8298 respectively.
8299 (decode_coding_gap): Run post-read-conversion if any.
8300
8301 * fileio.c (Finsert_file_contents): Even if we read into a
8302 unibyte buffer, check if we must decode the result or not.
8303
73acf815 83042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8305
8306 * coding.c (make_conversion_work_buffer): Change the work buffer
8307 name to the same one as that of Emacs 21.
8308
73acf815 83092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8310
1f45f627 8311 * coding.h (make_conversion_work_buffer): Adjust prototype.
aca7a3d2
MB
8312 (code_conversion_restore): Don't extern it.
8313
8314 * coding.c (detected_mask): Delete unused variable.
8315 (decode_coding_iso_2022): Pay attention to the byte sequence of
8316 CTEXT extended segment, and retain those bytes as is.
8317 (decode_coding_ccl): Delete unused variable `valids'.
8318 (setup_coding_system): Delete unused variable `category'.
8319 (consume_chars): Delete unused variable `category'. Make it work
8320 for non-multibyte case.
1f45f627 8321 (make_conversion_work_buffer): Change argument.
aca7a3d2
MB
8322 (saved_coding): Delete unused variable.
8323 (code_conversion_restore): Don't check saved_coding->destination.
8324 (code_conversion_save): New function.
8325 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
8326 instead of record_unwind_protect.
1f45f627 8327 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
aca7a3d2 8328 (detect_coding_system): Delete unused variable `mask'.
1f45f627 8329 (Fdefine_coding_system_internal): Delete unused vaiable id.
aca7a3d2
MB
8330
8331 * fileio.c (kill_workbuf_unwind): New function.
8332 (Finsert_file_contents): On replacing, call
8333 make_conversion_work_buffer with correct args, and call
8334 record_unwind_protect with the first arg kill_workbuf_unwind.
8335
8336 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
8337
73acf815 83382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8339
1f45f627 8340 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
aca7a3d2
MB
8341 (fontset_add): Fix for the case that TO is less than TO1.
8342 (Ffontset_info): Don't use fallback fontset on checking the
8343 default fontset.
8344 (dump_fontset): New function for debugging.
8345
8346 * coding.c (Fdefine_coding_system_internal): Fix for the case that
8347 coding_type is Qcharset.
8348
73acf815 83492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8350
8351 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
8352 (map_char_table): Don't inherit the value from the parent on
1f45f627 8353 initializing VAL. Adjust for the above change.
aca7a3d2 8354
73acf815 83552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8356
8357 * coding.c (Qsignature, Qendian): Delete these variables.
8358 (syms_of_coding): Don't initialize them.
8359 (CATEGORY_MASK_UTF_16_AUTO): New macro.
8360 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
8361 detect_info->found.
8362 (decode_coding_utf_16): Don't detect BOM here.
8363 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
8364 is NOT utf_16_without_bom.
8365 (setup_coding_system): For a coding system of type utf-16, check
8366 if the attribute :endian is Qbig or not (not nil or not), and set
8367 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
8368 (detect_coding): If coding type is utf-16 and BOM detection is
8369 required, detect it.
8370 (Fdefine_coding_system_internal): For a coding system of type
1f45f627 8371 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
aca7a3d2 8372
73acf815 83732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8374
8375 * coding.c (coding_set_source): Fix for the case that the current
8376 buffer is different from coding->src_object.
8377 (decode_coding_object): Don't use the conversion work buffer if
8378 DST_OBJECT is a buffer.
8379
73acf815 83802008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8381
8382 * lread.c (read_emacs_mule_char) [len==2]: Index
8383 emacs_mule_charset correctly.
8384
73acf815 83852008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8386
8387 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
8388 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
1f45f627 8389 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
aca7a3d2
MB
8390 treated specially.)
8391 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
8392 (detected_mask): Remove Big5 bits.
8393
73acf815 83942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8395
8396 The following changes are to make the font rescaling facility
8397 compatible with Emacs 21.
8398
1f45f627 8399 * xfaces.c (Vface_font_rescale_alist): Rename from
aca7a3d2
MB
8400 Vface_resizing_fonts.
8401 (struct font_name): Rename member resizing_ratio to rescale_ratio.
1f45f627 8402 (font_rescale_ratio): Rename from font_resizing_ratio.
aca7a3d2
MB
8403 (split_font_name): Set font->rescale_ratio.
8404 (better_font_p): Pay attention to font->rescale_ratio.
8405 (build_scalable_font_name): Likewise. Change RESX, and RESY
8406 fields.
1f45f627 8407 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
aca7a3d2 8408
73acf815 84092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8410
8411 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
8412 (Qutf_16_le): Remove these variables.
8413 (syms_of_coding): Don't DEFSYM them.
8414 (decode_coding_utf_16): Fix handling of BOM.
8415 (encode_coding_utf_16): Fix handling of BOM.
8416
73acf815 84172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8418
8419 * fileio.c (Finsert_file_contents): On replacing, before decoding
1f45f627 8420 the file into the work buffer, set point of the work buffer to the end.
aca7a3d2 8421
73acf815 84222008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8423
8424 * coding.c (Fcheck_coding_systems_region): Fix type errors.
8425
73acf815 84262008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8427
8428 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
8429 and fix C types.
8430
73acf815 84312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8432
8433 * xdisp.c (SKIP_GLYPHS): New macro.
8434 (set_cursor_from_row): Pay attention to string display properties.
8435
8436 * category.c (copy_category_entry): Fix for the case that RANGE
8437 is an integer.
8438
8439 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
8440
1f45f627 8441 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
aca7a3d2 8442
73acf815 84432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8444
8445 * charset.c (Fcharset_id_internal): New function.
8446 (syms_of_charset): Defsubr it.
8447
8448 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
8449 with the last arg charset_list acquired from coding.
8450 (Fdefine_coding_system_internal): For ccl-based coding system, fix
8451 the attribute coding_attr_ccl_valids.
8452
8453 * coding.h (enum define_coding_ccl_arg_index): Set the first
8454 member coding_arg_ccl_decoder to coding_arg_max.
8455
1f45f627 8456 * ccl.h (ccl_driver): Adjust prototype.
aca7a3d2
MB
8457
8458 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
8459 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
8460 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
4c4475a8
GM
8461 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
8462 last arg Qnil.
aca7a3d2 8463
73acf815 84642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8465
8466 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
8467 call encode_char.
8468
1f45f627 8469 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
aca7a3d2 8470
73acf815 84712008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 8472
1f45f627 8473 * composite.c (syms_of_composite): Make composition_hash_table weak.
aca7a3d2 8474
73acf815 84752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8476
8477 * dispextern.h (check_face_attributes, generate_ascii_font_name)
8478 (font_name_registry): Don't extern them.
1f45f627 8479 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
aca7a3d2
MB
8480
8481 * fontset.h (Qfontset): Don't extern it.
8482 (new_fontset_from_font_name): Extern it.
8483
8484 * fontset.c: Give 8 extra slots to fontset objects.
8485 (Qfontset_info): New variable.
8486 (syms_of_fontset): Defsym it.
8487 (FONTSET_FALLBACK): New macro.
8488 (fontset_face): Try also the default fontset.
1f45f627
GM
8489 (make_fontset): Realize a fallback fontset from the default fontset.
8490 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
aca7a3d2
MB
8491 using split_font_name_into_vector and build_font_name_from_vector.
8492 (Fset_fontset_font): Access the elements of font_spec by enum
8493 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
8494 name by using split_font_name_into_vector.
8495 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
8496 generate a proper font name from the fontset name. Update
8497 Vfontset_alias_alist.
8498 (n_auto_fontsets): New variable.
8499 (new_fontset_from_font_name): New function.
8500 (Ffont_info): Store the information about fonts generated from the
1f45f627 8501 default fontset in the first extra slot of the returned char-table.
aca7a3d2 8502
1f45f627
GM
8503 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
8504 (font_name_registry): Delete function.
aca7a3d2
MB
8505 (split_font_name_into_vector): New function.
8506 (build_font_name_from_vector): New function.
1f45f627 8507 (font_list): The argument REGISTRY is now a list of registry names.
aca7a3d2
MB
8508 (choose_face_font): If we are choosing an ASCII font, and ATTRS
8509 specifies an explicit font name, return the name as is. Make a
8510 list of registy names.
8511
1f45f627 8512 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
aca7a3d2
MB
8513 of x_new_fontset.
8514 (Fx_create_frame): Don't call x_new_fontset here. Just use
8515 x_list_fonts to check the existence of fonts.
8516
1f45f627 8517 * xterm.h (x_new_fontset): Adjust prototype.
aca7a3d2
MB
8518
8519 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
8520 string. Use new_fontset_from_font_name to create a fontset from a
8521 font name.
8522
1c8658b9
GM
85232008-02-01 Kenichi Handa <handa@m17n.org>
8524
8525 * syntax.c (Vfind_word_boundary_function_table): New name for
8526 Vnext_word_boundary_function_table.
8527 (find-word-boundary-function-table): New name for
8528 next-word-boundary-function-table.
8529
73acf815 85302008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8531
8532 * Makefile.in: Fix some dependencies.
8533
8534 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
8535 set it to nil before returning.
8536
8537 * composite.c (update_compositions): Fix type error.
8538
8539 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
8540
73acf815 85412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8542
8543 * xterm.c (x_new_font): Optimize for the case that the font is
8544 already set for the frame.
8545
73acf815 85462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8547
8548 * chartab.c (char_table_ascii): Check if the char table contents
8549 is sub-char-table or not.
4c4475a8
GM
8550 (char_table_set, char_table_set_range): Fix argument to
8551 char_table_ascii.
aca7a3d2
MB
8552
8553 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
8554 (detect_coding_utf_8, detect_coding_utf_16)
8555 (detect_coding_emacs_mule, detect_coding_iso_2022)
8556 (detect_coding_sjis, detect_coding_big5)
8557 (detect_coding_ccl, detect_coding_charset): Change argument MASK
8558 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
1f45f627 8559 sequence is valid in this coding system. Change callers.
aca7a3d2
MB
8560 (MAX_ANNOTATION_LENGTH): New macro.
8561 (ADD_ANNOTATION_DATA): New macro.
1f45f627
GM
8562 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
8563 ADD_ANNOTATION_DATA. Change the format of annotation data.
aca7a3d2 8564 (ADD_CHARSET_DATA): New macro.
1f45f627 8565 (emacs_mule_char): New argument ID. Change callers.
aca7a3d2
MB
8566 (decode_coding_emacs_mule, decode_coding_iso_2022)
8567 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
8568 Produce charset annotation data in coding->charbuf.
8569 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
8570 to charset annotation data in coding->charbuf.
8571 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
8572 coding->common_flags if the coding system is iso-2022 based and
8573 uses designation.
1f45f627 8574 (produce_composition): Adjust for the new annotation data format.
aca7a3d2
MB
8575 (produce_charset): New function.
8576 (produce_annotation): Handle charset annotation.
8577 (handle_composition_annotation, handle_charset_annotation): New
8578 functions.
8579 (consume_chars): Handle charset annotation. Utilize the above two
8580 functions.
8581 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
8582 buffer, get the deleted text as a string and set
8583 coding->src_object to that string.
8584 (detect_coding, detect_coding_system): Use the new struct
8585 coding_detection_info.
8586
8587 * coding.h (struct coding_detection_info): New structure.
1f45f627 8588 (struct coding_system): Adjust prototype of the member `detector'.
aca7a3d2
MB
8589 (CODING_ANNOTATE_CHARSET_MASK): New macro.
8590
73acf815 85912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8592
8593 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
8594
73acf815 85952008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 8596
1f45f627 8597 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
aca7a3d2
MB
8598 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
8599 to new local and nullify apropos_accumulate before returning.
8600 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
8601
73acf815 86022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8603
8604 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
8605 correctly.
8606
73acf815 86072008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8608
8609 * fns.c (Flanginfo): Call synchronize_system_time_locale.
8610
73acf815 86112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8612
8613 The following changes are to make character composition happen
8614 automatically on displaying.
8615
2a2e8de7 8616 * Makefile.in (lisp, shortlisp): Add composite.elc.
aca7a3d2 8617
1f45f627
GM
8618 * composite.h (Qauto_composed, Vauto_composition_function)
8619 (Qauto_composition_function): Extern them.
aca7a3d2 8620
1f45f627
GM
8621 * composite.c (Vcomposition_function_table)
8622 (Qcomposition_function_table): Delete variables.
8623 (Qauto_composed, Vauto_composition_function)
8624 (Qauto_composition_function): New variables.
aca7a3d2
MB
8625 (run_composition_function): Don't call
8626 compose-chars-after-function.
8627 (update_compositions): Clear `auto-composed' text property.
8628 (compose_chars_in_text): Delete this function.
8629 (syms_of_composite): Staticpro Qauto_composed and
8630 Qauto_composition_function. Declare Vauto_composition_function as
8631 a Lisp variable.
8632
8633 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
8634
8635 * xdisp.c (it_props): Add an entry for Qauto_composed.
8636 (handle_auto_composed_prop): New function.
8637
8638 * xselect.c (selection_data_to_lisp_data): Don't call
8639 compose_chars_in_text.
8640
73acf815 86412008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8642
8643 * keyboard.c (read_char): Modify checking around use of
8644 Vkeyboard_translate_table.
8645
8646 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
8647 and fix C types.
8648
73acf815 86492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8650
4c4475a8
GM
8651 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
8652 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
8653 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
aca7a3d2 8654 the case that the last byte is '\r' correctly.
1f45f627
GM
8655 (decode_coding): Flush out the unprocessed data correctly.
8656 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
aca7a3d2 8657
73acf815 86582008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 8659
f245f2c6
JB
8660 * xterm.c (XTread_socket): Fix changes for defined keysyms.
8661 Add XK_ISO... case.
aca7a3d2
MB
8662 (xaw_scroll_callback): Revert last change.
8663
73acf815 86642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8665
1f45f627 8666 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
aca7a3d2 8667
73acf815 86682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8669
8670 * xfaces.c (Vface_resizing_fonts): New variable.
8671 (struct font_name): New member `resizing_ratio'.
8672 (font_resizing_ratio): New function.
8673 (split_font_name): Set font->resizing_ratio.
8674 (better_font_p): Pay attention to font->resizing_ratio.
8675 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
8676 RESX, and RESY fields.
8677 (try_alternative_families): Try scalable fonts if
8678 Vscalable_fonts_allowed is not Qt.
8679 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
8680
73acf815 86812008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8682
8683 * xterm.c (xaw_scroll_callback): Cast correctly.
8684
73acf815 86852008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8686
8687 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
8688 (lispy_kana_keys): Comment out.
8689 (make_lispy_event) [XK_kana_A]: Comment out.
8690
8691 * xterm.c (xaw_scroll_callback): Cast call_data.
8692 (XTread_socket): Deal with ASCII keysyms.
8693 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
8694
73acf815 86952008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8696
8697 * xterm.c (Vx_keysym_table): New.
8698 (syms_of_xterm): Initialize it.
8699 (XTread_socket): Use it.
8700 From head: Eliminate incorrect optimization that tried to avoid
8701 decoding the output of X*LookupString.
8702 (x_get_font_repertory): Delete charset declaration.
8703
73acf815 87042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8705
1f45f627
GM
8706 * coding.c (detect_coding_charset): If only ASCII bytes are found,
8707 return 0.
aca7a3d2
MB
8708 (Fdefine_coding_system_internal): Setup
8709 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
8710
73acf815 87112008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8712
8713 * coding.c (Fcheck_coding_system): Doc fix.
8714
8715 * editfns.c (Finsert_byte): Return a proper value.
8716
73acf815 87172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8718
8719 * coding.c (decode_coding): Fix args to translate_chars. Pay
8720 attention to Vstandard_translation_table_for_decode.
8721 (encode_coding): Fix args to translate_chars. Pay attention to
8722 Vstandard_translation_table_for_encode.
8723
8724 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
8725 SINGLE_BYTE_CHAR_P.
8726
8727 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
8728 not by SINGLE_BYTE_CHAR_P.
8729
8730 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
8731 SINGLE_BYTE_CHAR_P.
8732
8733 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
8734 SINGLE_BYTE_CHAR_P.
8735
8736 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
8737 by SINGLE_BYTE_CHAR_P.
8738
8739 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
8740 SINGLE_BYTE_CHAR_P.
8741
73acf815 87422008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8743
8744 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
8745
73acf815 87462008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8747
8748 * fns.c (Flanginfo): Fix typo.
8749
8750 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
8751
73acf815 87522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8753
4c4475a8
GM
8754 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
8755 (detect_coding_emacs_mule, detect_coding_iso_2022)
8756 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
8757 incomplete byte sequence. Don't update *mask when correctly detected.
aca7a3d2 8758 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
1f45f627 8759 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
4c4475a8 8760 (detect_coding, detect_coding_system): Adjust for the changes above.
aca7a3d2 8761
73acf815 87622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8763
1f45f627
GM
8764 * character.c (char_string): Rename from
8765 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
8766 (string_char): Rename from string_char.
aca7a3d2 8767
4c4475a8
GM
8768 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
8769 if C is greater than MAX_3_BYTE_CHAR.
8770 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
8771 string_char instead of string_char_with_unification.
aca7a3d2 8772
73acf815 87732008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8774
8775 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
8776
73acf815 87772008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8778
1f45f627 8779 * keymap.c (push_key_description): Pay attention to force_multibyte.
aca7a3d2
MB
8780
8781 * regex.c (re_search_2): Fix for the case of unibyte buffer.
8782
73acf815 87832008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8784
8785 * charset.c (define_charset_internal): Rename `supprementary'.
8786
8787 * Makefile.in (lisp, shortlisp): Remove latin-N.
8788
73acf815 87892008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8790
8791 * xfns.c (x_window, x_window): Use use_xim.
8792
8793 * xterm.c (use_xim): Initialize.
8794 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
8795 (x_term_init): Maybe set use_xim.
8796
8797 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
8798
73acf815 87992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8800
8801 * search.c (search_buffer): Fix case-fold-search of multibyte
8802 characters.
8803 (boyer_moore): Rename the last argument to char_high_bits.
8804
73acf815 88052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8806
8807 * xdisp.c (display_string): Fix for the case of zero width glyph.
8808
8809 * xfns.c (x_set_font): Change the error message of the case that
8810 x_new_fontset returns Qt.
8811
8812 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
8813 (Finternal_set_lisp_face_attribute): Use signal_error for the
8814 error of invalid fontset.
8815
8816 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
8817 fontset, return Qt.
8818
73acf815 88192008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 8820
aca7a3d2
MB
8821 * unexelf.c (unexec): Make .got handling not SGI-specific.
8822
8823 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
8824
8825 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
8826
8827 * keyboard.c (read_key_sequence): Fix type error.
8828
8829 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
8830 type error.
8831
8832 * fontset.c (fontset_add): Return Lisp_Object.
8833
73acf815 88342008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8835
8836 * charset.h (charset_ordered_list_tick): Declare extern.
8837
73acf815 88382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8839
73acf815 8840 The following changes (and some of 2008-02-01 changes of mine) are
aca7a3d2
MB
8841 for handling syntax, category, and case conversion for unibyte
8842 characters by converting them to multibyte on the fly. With these
8843 changes, we don't have to setup syntax and case tables for unibyte
8844 characters in each language environment.
8845
8846 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
8847 multibyte if necessary.
8848
8849 * bytecode.c (Fbyte_code): Likewise.
8850
8851 * character.h (LEADING_CODE_LATIN_1_MIN)
8852 (LEADING_CODE_LATIN_1_MAX): New macros.
8853 (unibyte_to_multibyte_table): Extern it.
8854 (unibyte_char_to_multibyte): New macro.
8855 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
8856 (CHAR_LEADING_CODE): New macro.
8857 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
8858
8859 * character.c (unibyte_to_multibyte_table): New variable.
1f45f627 8860 (unibyte_char_to_multibyte): Move to character.h and define as macro.
aca7a3d2
MB
8861 (multibyte_char_to_unibyte): If C is an eight-bit character,
8862 convert it to the corresponding byte value.
8863
8864 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
8865 not 1, singals an error. Update the elements of
8866 unibyte_to_multibyte_table.
8867 (init_charset_once): Initialize unibyte_to_multibyte_table.
8868 (syms_of_charset): Define the charset `iso-8859-1'.
8869
aca7a3d2
MB
8870 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
8871 as is without converting it to unibyte. In a unibyte buffer,
8872 convert C to multibyte before checking the syntax.
8873
1f45f627 8874 * lisp.h (unibyte_char_to_multibyte): Delete extern.
aca7a3d2
MB
8875
8876 * minibuf.c (Fminibuffer_complete_word): Use the macro
8877 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
8878
8879 * regex.h (struct re_pattern_buffer): New member target_multibyte.
8880
8881 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
8882 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
8883 that is zero, convert an eight-bit char to multibyte.
8884 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
8885 non-emacs case.
8886 (PATFETCH): Convert an eight-bit char to multibyte.
8887 (HANDLE_UNIBYTE_RANGE): New macro.
8888 (regex_compile): Setup the compiled pattern for multibyte chars
8889 even if the given regex string is unibyte. Use PATFETCH_RAW
8890 instead of PATFETCH in many places. To handle `charset'
c5ad7a3d 8891 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
aca7a3d2 8892 only for ASCII chars.
1f45f627 8893 (analyse_first) <exactn>: Simplify because the compiled pattern
aca7a3d2
MB
8894 is multibyte.
8895 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
8896 <charset>: Use CHAR_LEADING_CODE to get leading codes.
1f45f627 8897 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
aca7a3d2
MB
8898 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
8899 multibyte always 1.
8900 (re_search_2): In emacs, set the locale variable multibyte to 1,
8901 otherwise to 0. New local variable target_multibyte. Check it
8902 to decide the multibyteness of STR1 and STR2. If
8903 target_multibyte is zero, convert unibyte chars to multibyte
8904 before translating and checking fastmap.
8905 (TARGET_CHAR_AND_LENGTH): New macro.
8906 (re_match_2_internal): In emacs, set the locale variable multibyte
8907 to 1, otherwise to 0. New local variable target_multibyte. Check
8908 it to decide the multibyteness of STR1 and STR2. Use
8909 TARGET_CHAR_AND_LENGTH to fetch a character from D.
8910 <charset, charset_not>: If multibyte is nonzero, check fastmap
c5ad7a3d 8911 only for ASCII chars. Call bcmp_translate with
aca7a3d2
MB
8912 target_multibyte, not with multibyte.
8913 <begline>: Declare the local variable C as `unsigned'.
8914 (bcmp_translate): Change the last arg name to target_multibyte.
8915
8916 * search.c (compile_pattern_1): Don't adjust the multibyteness of
8917 the regexp pattern and the matching target. Set cp->buf.multibyte
8918 to the multibyteness of the regexp pattern. Set
1f45f627 8919 cp->but.target_multibyte to the multibyteness of the matching target.
aca7a3d2
MB
8920 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
8921 FETCH_STRING_CHAR_ADVANCE.
8922 (Freplace_match): Convert unibyte chars to multibyte.
8923
4c4475a8
GM
8924 * syntax.c (char_quoted, back_comment, scan_words)
8925 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
8926 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
aca7a3d2 8927 unibyte chars to multibyte.
1f45f627
GM
8928 (skip_chars): Delete the arg syntaxp, and move the code for
8929 handling syntaxes to skip_syntaxes. Change callers.
aca7a3d2
MB
8930 Fix the case that the multibyteness of STRING and the current
8931 buffer doesn't match.
8932 (skip_syntaxes): New function.
8933 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
8934 SINGLE_BYTE_CHAR_P.
aca7a3d2 8935
73acf815 89362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8937
8938 * xfaces.c (QCfontset): New variable.
8939 (LFACE_FONTSET): New macro.
8940 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
8941 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
4c4475a8
GM
8942 (Finternal_set_lisp_face_attribute)
8943 (Finternal_get_lisp_face_attribute): Handle QCfontset.
aca7a3d2
MB
8944 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
8945 check also LFACE_FONTSET_INDEX.
8946 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
8947 attrs[LFACE_FONT_INDEX].
8948 (syms_of_xfaces): Intern and staticpro QCfontset.
8949
8950 * dispextern.h (enum lface_attribute_index): New member
8951 LFACE_FONTSET_INDEX.
8952
8953 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
8954
73acf815 89552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8956
8957 * coding.c (coding_set_destination): Fix coding->destination for
8958 the case converting a region.
8959 (encode_coding_utf_8): Encode eight-bit chars as single byte.
8960 (encode_coding_object): Fix coding->dst_pos and
8961 coding->dst_pos_byte for the case converting a region.
8962
8963 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
8964
8965 * character.h (BYTE8_STRING): New macro.
8966
8967 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
8968
73acf815 89692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8970
8971 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
8972 characters by octal form.
8973
8974 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
8975
1f45f627 8976 * buffer.h (_fetch_multibyte_char_len): Delete extern.
4c4475a8
GM
8977 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
8978 _fetch_multibyte_char_len.
aca7a3d2
MB
8979 (FETCH_CHAR_AS_MULTIBYTE): New macro.
8980
1f45f627 8981 * casetab.c (set_canon, set_identity, shuffle): Simplify.
aca7a3d2 8982
1f45f627 8983 * casefiddle.c (casify_object): Simplify. Handle the case that
aca7a3d2 8984 the case conversion change the byte length.
1f45f627 8985 (casify_region): Likewise.
aca7a3d2 8986
1f45f627 8987 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
aca7a3d2 8988
1f45f627 8989 * character.c (_fetch_multibyte_char_len): Delet this variable.
aca7a3d2
MB
8990 (syms_of_character): Setup Vprintable_chars.
8991
8992 * editfns.c (Fchar_equal): Fix for the unibyte case.
8993 (Finsert_byte): New function.
8994 (syms_of_editfns): Defsubr it.
8995
8996 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
8997 of direct code 0x3ffff.
8998
8999 * search.c (Freplace_match): Fix for the unibyte case.
9000
73acf815 90012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9002
9003 * lread.c (safe_to_load_p): Fix the logic.
9004
9005 * syntax.c (scan_words): Don't treat characters belonging to
9006 different scripts as constituting a word.
9007
9008 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
9009
1f45f627 9010 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
aca7a3d2
MB
9011
9012 * emacs.c (main): In the case of --unibyte, instead of aborting on
9013 finding non-empty buffer, make it unibyte.
9014
73acf815 90152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9016
9017 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
9018 to create a fontset.
9019
73acf815 90202008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9021
9022 * character.c (Funibyte_char_to_multibyte): Doc fix.
9023
9024 * xfns.c [HAVE_STDLIB_H]: Fix last change.
9025
73acf815 90262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9027
9028 * fontset.c (fontset_add): Make the type `int'.
9029 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
9030
4c4475a8
GM
9031 * character.c (unibyte_char_to_multibyte)
9032 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
aca7a3d2 9033 charset_unibyte, not charset_primary.
aca7a3d2 9034
1f45f627 9035 * charset.h (charset_unibyte): Extern it instead of charset_primary.
aca7a3d2 9036
1f45f627
GM
9037 * charset.c (charset_unibyte): Rename from charset_primary.
9038 (Funibyte_charset): Rename from Fprimary_charset.
9039 (Fset_unibyte_charset): Rename from Fset_primary_charset.
9040 (syms_of_charset): Adjust for the above changes.
aca7a3d2
MB
9041
9042 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
9043 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
9044 it->multibyte_p is zero.
9045
9046 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
1f45f627 9047 Delete extern.
aca7a3d2 9048
73acf815 90492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9050
9051 * coding.c (Fdefine_coding_system_internal): Fix category setting
9052 for a coding system of type iso-2022.
9053
73acf815 90542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9055
1f45f627 9056 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
aca7a3d2 9057
73acf815 90582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9059
9060 * syntax.c (Vnext_word_boundary_function_table): New variable.
1c8658b9
GM
9061 (next-word-boundary-function-table): Declare it as a Lisp variable
9062 in syms_of_syntax.
aca7a3d2
MB
9063 (scan_words): Call functions in Vnext_word_boundary_function_table
9064 if any.
9065
9066 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
9067
9068 * fontset.c (fs_load_font): If fontp->charset is not negative,
9069 return fontp without setting its members.
9070
73acf815 90712008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 9072
aca7a3d2
MB
9073 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
9074
9075 * m/sparc.h (HAVE_ALLOCA): Delete.
9076
9077 * s/irix6-5.h: Don't include strings.h.
9078 (bcopy, bzero, bcmp): Don't undef.
9079
9080 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
9081
9082 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
9083 (TIOCSIGSEND): Don't test IRIX6.
9084 (bcopy, bzero, bcmp): Define conditionally.
9085
73acf815 90862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9087
9088 * buffer.c (Qas, Qmake, Qto): New variables.
1f45f627 9089 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
aca7a3d2
MB
9090 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
9091
9092 * callproc.c (Fcall_process): Don't call insert_1_both directly if
9093 we are inserting a process output into a multibyte buffer.
9094
9095 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
9096 multibyte_char_to_unibyte.
9097
9098 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
9099 by the primary charset, make it eight-bit char.
9100 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
9101
1f45f627
GM
9102 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
9103 (charset_8_bit__control, charset_8_bit_graphic)
9104 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
aca7a3d2
MB
9105 (define_charset_internal): New function.
9106 (syms_of_charset): Call define_charset_internal for pre-defined
9107 charsets.
9108
9109 * charset.h (charset_8_bit): Extern it.
9110
1f45f627 9111 * coding.c (make_conversion_work_buffer): Adjust for the change
aca7a3d2
MB
9112 of Fset_buffer_multibyte.
9113 (encode_coding_raw_text): Increment p0 in the loop.
9114
1f45f627 9115 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
aca7a3d2 9116
1f45f627 9117 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
aca7a3d2
MB
9118 for the change of Fset_buffer_multibyte.
9119
9120 * fns.c (Fstring_to_multibyte): New function.
9121 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
9122
73acf815 91232008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9124
9125 * xfns.c (x_put_x_image): Declare args.
9126
1f45f627 9127 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
aca7a3d2
MB
9128 (try_font_list): Declare an arg.
9129
9130 * xdisp.c (message2_nolog, set_message): Declare an arg.
9131
9132 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
9133
9134 * syntax.c (scan_sexps_forward): Declare an arg.
9135
9136 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
9137 Declare an arg.
9138
9139 * lisp.h (Fnew_fontset): Declare.
9140
9141 * keymap.c (push_key_description): Call CHARACTERP correctly.
9142
1f45f627 9143 * fontset.c (fontset_add): Declare args. Call make_number correctly.
aca7a3d2
MB
9144 (face_for_char): Delete unused vars.
9145 (Fset_fontset_font): Doc fix. Delete unused vars.
9146
9147 * doc.c (Fsubstitute_command_keys): Delete unused vars.
9148
9149 * composite.c (update_compositions): Declare arg.
9150
9151 * cm.c (calccost, cmgoto): Declare args.
9152
9153 * charset.c: Remove `emacs' conditional. Doc fixes.
9154 (map_char_table_for_charset): Declare.
9155
1f45f627 9156 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
aca7a3d2 9157
1f45f627 9158 * ccl.c: Remove `emacs' conditional.
aca7a3d2 9159
73acf815 91602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9161
9162 The following changes are to allow specifying multiple font
9163 patterns for a character range (specified by script or charset).
9164
9165 * Makefile.in (abbrev.o): Depend on syntax.h.
9166 (xfaces.o): Depend on charset.h.
9167
9168 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
9169 SINGLE_BYTE_CHAR_P.
9170
9171 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
9172
9173 * character.h (Vchar_script_table): Extern it.
9174
1f45f627 9175 * character.c (Vscript_alist): Delete.
aca7a3d2
MB
9176 (Vchar_script_table, Qchar_script_table): New variable.
9177 (syms_of_character): Declare Vchar_script_table as a lisp variable
9178 and initialize it.
9179
1f45f627 9180 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
aca7a3d2
MB
9181 have property char-table-extra-slots, make no extra slot.
9182
1f45f627 9183 * dispextern.h (struct face): Delete member `charset'.
4c4475a8
GM
9184 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
9185 SINGLE_BYTE_CHAR_P.
1f45f627
GM
9186 (choose_face_font, lookup_non_ascii_face, font_name_registry):
9187 Add prototypes.
9188 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
9189 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
9190
9191 * fontset.h (get_font_repertory_func): New prototype.
1f45f627 9192 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
aca7a3d2
MB
9193 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
9194
9195 * fontset.c (Qprepend, Qappend): New variables.
1f45f627 9196 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
aca7a3d2
MB
9197 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
9198 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
9199 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
9200 (fontset_ref_and_range, fontset_add, reorder_font_vector)
9201 (load_font_get_repertory): New functions.
1f45f627 9202 (fontset_set): Delete.
aca7a3d2 9203 (fontset_face): New arg FACE. Return face ID, not face.
1f45f627 9204 Complete re-write to handle new fontset structure. Change caller.
aca7a3d2
MB
9205 (free_face_fontset): Use ASET istead of AREF (X) = Y.
9206 (face_for_char): Don't call lookup_face.
9207 (make_fontset_for_ascii_face): New arg FACE.
9208 (fs_load_font): New arg CHARSET_ID. Don't check
9209 Vfont_encoding_alist here.
9210 (find_font_encoding): New function.
9211 (list_fontsets): Use STRINGP, not ! NILP.
9212 (accumulate_script_ranges): New function.
9213 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
9214 re-written to handle new fontset structure.
9215 (Ffontset_font): Return a copy of element.
9216 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
9217 docstring of font-encoding-alist.
9218
9219 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
9220 (Fset_fotset_font): Fix arguments to 5.
9221
1f45f627 9222 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
aca7a3d2
MB
9223
9224 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
9225 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
1f45f627 9226 (highlight_trailing_whitespace): Adjust for the change of
aca7a3d2
MB
9227 lookup_named_face.
9228
9229 * xfaces.c: Include charset.h.
1f45f627
GM
9230 (load_face_font): Delete argument C. Change caller.
9231 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
9232 (font_name_registry): New function.
9233 (cache_face): Store ascii faces before non-ascii faces in buckets.
1f45f627 9234 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
aca7a3d2
MB
9235 Lookup only ascii faces.
9236 (lookup_non_ascii_face): New function.
1f45f627
GM
9237 (lookup_named_face): Delete argument C. Change caller.
9238 (lookup_derived_face): Delete argument C. Change caller.
9239 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
aca7a3d2 9240 a string, just call font_list with it.
1f45f627
GM
9241 (choose_face_font): Delete arguments FACE and C. New arg
9242 FONT_SPEC. Change caller.
4c4475a8
GM
9243 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
9244 Change caller.
aca7a3d2
MB
9245 (realize_non_ascii_face): New function.
9246 (realize_x_face): Call load_face_font here.
1f45f627 9247 (realize_tty_face): Delete argument C. Change caller.
aca7a3d2
MB
9248 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
9249 get a face ID.
9250 (dump_realized_face): Don't print charset of FACE.
9251
9252 * xfns.c (x_set_font): Always call x_new_fontset and
9253 store_frame_parameter.
9254 (Fx_create_frame): Call x_new_fontset, not x_new_font.
1f45f627 9255 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
aca7a3d2
MB
9256
9257 * xterm.h (x_get_font_repertory): Extern it.
9258
9259 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
9260 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
9261 it->multibyte_p is zero.
9262 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
9263 (x_new_fontset): If FONTSETNAME doesn't match any existing
9264 fontsets, create a new one.
9265 (x_get_font_repertory): New function.
9266
73acf815 92672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9268
9269 * coding.c (Ffind_coding_systems_region_internal): Detect an
9270 ASCII only string correctly.
9271
9272 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
9273 version is 0.
9274
73acf815 92752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9276
9277 * lread.c: Include "coding.h".
1f45f627
GM
9278 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
9279 (load_each_byte, unread_char): New variables.
9280 (readchar_backlog): Delete.
aca7a3d2
MB
9281 (readchar): Return a character unless load_each_byte is nonzero.
9282 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
9283 cons. If unread_char is not -1, simply return it.
9284 (unreadchar): Handle the case that readcharfun is
1f45f627
GM
9285 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
9286 (read_multibyte): Delete.
aca7a3d2
MB
9287 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
9288 (read_emacs_mule_char): New functions.
9289 (Fload): Even if the file doesn't have the extention ".elc", if
9290 safe_to_load_p returns a positive version number, assume that the
9291 file contains bytecompiled code. If the version is less than 22,
9292 load the file while decoding multibyte sequences by emacs-mule.
9293 (readevalloop): Don't use readchar_backlog.
1f45f627
GM
9294 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
9295 (Fread_from_string): Pay attention to the case that STREAM is a cons.
9296 (read_escape): Delete the arg BYTEREP.
aca7a3d2
MB
9297 (read1): Set load_each_byte to 1 temporarily while handling
9298 #@NUMBER. Don't call read_multibyte.
9299 (read_vector): Call Fread with a cons. If readcharfun is
9300 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
1f45f627 9301 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
aca7a3d2
MB
9302 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
9303 and Qload_force_doc_strings.
9304
73acf815 93052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9306
9307 * xdisp.c (face_before_or_after_it_pos): Call
9308 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
9309
73acf815 93102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9311
9312 * character.h (TRAILING_CODE_P): New macro.
1f45f627 9313 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
aca7a3d2
MB
9314 (string_char_with_unification): Fix prototype.
9315 (Vscript_alist): Extern it.
9316
9317 * character.c (Vscript_alist): New variable.
4c4475a8
GM
9318 (string_char_with_unification, str_as_unibyte)
9319 (string_escape_byte8): Add `const' to local variables.
aca7a3d2
MB
9320 (syms_of_character): Declare script-alist as a Lisp variable.
9321
9322 * charset.h (Vcharset_ordered_list): Extern it.
9323 (charset_ordered_list_tick): Extern it.
9324 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
9325 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
9326 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
1f204af3 9327 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
1f45f627 9328 (Funify_charset): Adjust for the change of Funify_charset.
aca7a3d2
MB
9329
9330 * charset.c (charset_ordered_list_tick): New variable.
9331 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
9332 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
9333 deunify intead of unify a charset.
9334 (string_xstring_p): Add `const' to local variables.
1f45f627
GM
9335 (find_charsets_in_text): Add `const' to arguemnts and local variables.
9336 (encode_char): Adjust for the change of Funify_charset. Fix
aca7a3d2
MB
9337 detecting of invalid code.
9338 (Fset_charset_priority): Increment charset_ordered_list_tick.
9339 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
9340 and TO_CODE.
9341
9342 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
1f45f627
GM
9343 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
9344 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
4c4475a8
GM
9345 (decode_coding_ccl, consume_chars)
9346 (Ffind_coding_systems_region_internal)
9347 (Fcheck_coding_systems_region): Add `const' to local variables.
aca7a3d2
MB
9348
9349 * print.c (print_object): Use octal form for printing the
9350 contents of a bool vector.
9351
73acf815 93522008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9353
9354 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
9355 <version == 20>: Refuse to load.
9356
73acf815 93572008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9358
9359 * fns.c: Move coding.h.
9360 (Qcodeset, Qdays, Qmonths): New.
9361 (concat): Use CHARACTERP instead of INTERGERP.
1f45f627 9362 (Flocale_codeset): Delete.
aca7a3d2 9363 (Flanginfo): New function.
1f45f627 9364 (syms_of_fns): Change accordingly.
aca7a3d2
MB
9365
9366 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
9367
73acf815 93682008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9369
9370 * casetab.c (init_casetab_once, init_casetab_once): Fix
9371 CHAR_TABLE_SET call.
9372
9373 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
9374
9375 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
9376
9377 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
9378 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
9379 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
9380
9381 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
9382
9383 * coding.c (ENCODE_DESIGNATION, decode_eol)
9384 (make_conversion_work_buffer, code_conversion_restore)
9385 (Fdefine_coding_system_internal): Convert Lisp types.
9386 (code_conversion_restore): Use EQ, not ==.
9387 (Fencode_coding_string): Fix code_convert_string call.
9388
9389 * coding.h (code_convert_region): Fix prototype.
9390
1f45f627 9391 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
aca7a3d2
MB
9392
9393 * fontset.c (fontset_ref, fontset_set, fs_load_font)
9394 (Ffontset_info): Convert Lisp types.
9395
9396 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
9397
9398 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
9399
9400 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
9401
9402 * chartab.c: Include "...h", not <...h> in some cases.
9403
9404 * callproc.c (Fcall_process): Remove unused variables.
9405
73acf815 94062008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9407
9408 * coding.c (Fset_coding_system_priority): Allow null arg list.
9409
73acf815 94102008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9411
9412 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
9413 (Fself_insert_and_exit): Use CHARACTERP.
9414
9415 * callproc.c (Fcall_process): Remove unused vars.
9416
9417 * xterm.c (XTread_socket): Add extra dead keysyms.
9418
9419 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
9420
9421 * dispextern.h: Remove prototypes for redraw_frame,
9422 redraw_garbaged_frames.
9423
9424 * cmds.c (Fself_insert_command): Use CHARACTERP.
9425
9426 * chartab.c (make_sub_char_table): Remove unused var.
9427 (Fset_char_table_default, Fmap_char_table): Doc fix.
9428
9429 * keymap.c (access_keymap): Remove generic char code.
9430 (push_key_description): Use CHARACTERP.
9431
73acf815 94322008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9433
9434 * charset.c: Doc fixes.
9435 (Funify_charset): Extra checking.
9436
73acf815 94372008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9438
9439 * lread.c: Remove some unused variables.
9440 (safe_to_load_p): If safe, return the magic number version byte.
9441 (Fload): Maybe use load-with-code-conversion.
9442
73acf815 94432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9444
9445 * category.c (Fmodify_category_entry): Don't modify the contents
9446 of category_set for characters out of the range. Avoid
9447 unnecessary modification.
9448
1f45f627 9449 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
aca7a3d2
MB
9450 Vchar_unify_table. The default value of the table is now nil.
9451
9452 * character.c (syms_of_character): Setup Vchar_width_table for
9453 eight-bit-control and raw-byte chars.
9454
9455 * charset.h (enum define_charset_arg_index): Delete
9456 charset_arg_parents and add charset_arg_subset and
9457 charset_arg_superset.
9458 (enum charset_attr_index): Delete charset_parents and add
9459 charset_subset and charset_superset.
9460 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
9461 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
1f45f627 9462 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
aca7a3d2
MB
9463 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
9464 (CHARSET_SUPERSET): New macros.
9465 (charset_work): Extern it.
9466 (ENCODE_CHAR): Use charset_work.
1f45f627 9467 (CHAR_CHARSET_P): Adjust for the change of encoder format.
aca7a3d2
MB
9468 (map_charset_chars): Extern it.
9469
9470 * charset.c (load_charset_map): Set the default value of encoder
9471 and deunifier char-tables to nil.
1f45f627 9472 (map_charset_chars): Change argument. Change callers. Use
aca7a3d2
MB
9473 map_char_table_for_charset instead of map_char_table.
9474 (Fmap_charset_chars): New optional args from_code and to_code.
1f45f627 9475 (Fdefine_charset_internal): Adjust for the change of
aca7a3d2
MB
9476 `define-charset' (:parents -> :subset or :superset).
9477 (charset_work): New variable.
4c4475a8
GM
9478 (encode_char, syms_of_charset): Adjust for the change of
9479 Fdefine_charset_internal.
aca7a3d2
MB
9480 (Ffind_charset_string): Setup the vector `charsets' correctly.
9481
1f45f627 9482 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
aca7a3d2 9483 the previous change.
1f45f627 9484 (char_table_ref_and_range): Adjust for the above change.
aca7a3d2
MB
9485 (map_sub_char_table_for_charset): New function.
9486 (map_char_table_for_charset): New function.
9487
9488 * keymap.c (describe_vector): Handle a char-table directly here.
1f45f627 9489 (describe_char_table): Delete.
aca7a3d2 9490
1f45f627 9491 * lisp.h (map_charset_chars): Delete.
aca7a3d2 9492
73acf815 94932008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9494
9495 * fns.c (count_combining): Comment out (unused).
9496 (Flocale_codeset): New.
9497 (syms_of_fns): Defsubr it.
9498
9499 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
1f45f627 9500 (size_t): Remove.
aca7a3d2 9501
73acf815 95022008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 9503
6f69e89b 9504 * Makefile.in (chartab.o): Depend on charset.h.
aca7a3d2 9505
73acf815 95062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9507
9508 * character.c (syms_of_character): Set the default value of
9509 Vprintable_chars to Qnil.
9510
73acf815 95112008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9512
9513 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
9514
73acf815 95152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9516
9517 * charset.c (load_charset_map): Handle the case that from < to
9518 correctly.
9519
4c4475a8
GM
9520 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
9521 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
9522 Pay attention to raw-8-bit chars.
aca7a3d2 9523
73acf815 95242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9525
4c4475a8
GM
9526 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
9527 It is not bytecompiled now.
aca7a3d2
MB
9528
9529 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
9530 (charset_jisx0208): New variables.
9531 (Fdefine_charset_internal): Setup them if appropriate.
9532 (init_charset_once): Initialize them to -1.
9533
1f45f627
GM
9534 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
9535 (charset_jisx0208): Extern them.
aca7a3d2 9536
1f204af3 9537 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
aca7a3d2 9538 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
1f45f627
GM
9539 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
9540 (setup_iso_safe_charsets): Fix arguments to Fassq.
4c4475a8
GM
9541 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
9542 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
9543 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
aca7a3d2
MB
9544 (encode_coding_iso_2022): Change the 1st arg to
9545 ENCODE_ISO_CHARACTER to a variable.
9546
73acf815 95472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9548
9549 * charset.h (enum define_charset_arg_index): New enums
9550 charset_arg_min_code and charset_arg_max_code.
9551 (struct charset): New member char_index_offset.
9552
4c4475a8
GM
9553 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
9554 Take charset->char_index_offset into account.
aca7a3d2
MB
9555 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
9556 args[charset_arg_max_code]. Setup charset.char_index_offset.
9557 (syms_of_charset): Fix args to Fdefine_charset_internal.
9558
73acf815 95592008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9560
9561 * coding.c (decode_coding_utf_8): Reject overlong sequences.
9562
73acf815 95632008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9564
9565 * coding.c: Doc fixes.
9566 (Fcoding_system_aliases): Fix return value.
9567 (Qmac): Remove (duplicated) definition.
9568
73acf815 95692008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9570
9571 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
9572 functions.
9573
9574 * character.c (Fstring): Doc fix.
9575
9576 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
9577
9578 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
9579 ids.
9580 (font-encoding-alist): Doc fix.
9581
73acf815 95822008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9583
9584 * term.c (costs_set): Declare static, non-initialized for pcc.
1f45f627 9585 (encode_terminal_code): Remove unused var.
aca7a3d2
MB
9586
9587 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
9588 for K&R.
9589
9590 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
9591
9592 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
1f45f627 9593 (suffixes): Move out of make_subsidiaries for K&R.
aca7a3d2 9594
1f45f627 9595 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
aca7a3d2
MB
9596
9597 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
9598
73acf815 95992008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9600
9601 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
9602
1f45f627 9603 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
aca7a3d2 9604
2a2e8de7 96052008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2
MB
9606
9607 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
9608
1f45f627 9609 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
aca7a3d2 9610
73acf815 96112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9612
4c4475a8 9613 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
aca7a3d2 9614 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
aca7a3d2 9615
73acf815 96162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9617
1f45f627 9618 * coding.c (decode_coding_charset): Adjust for the change of
aca7a3d2
MB
9619 Fdefine_coding_system_internal.
9620 (Fdefine_coding_system_internal): For a coding system of
9621 `charset' type, store a list of charset IDs in
9622 `charset_attr_charset_valids' element of coding attributes.
9623
73acf815 96242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9625
9626 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
1f45f627
GM
9627 (emacs_mule_char): New arg src. Delete arg `composition'. Change
9628 caller. Handle 2-byte and 3-byte charsets correctly.
9629 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
9630 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
aca7a3d2
MB
9631 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
9632 (DECODE_EMACS_MULE_21_COMPOSITION): Call
9633 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
9634 sequence.
9635 (decode_coding_emacs_mule): Handle composition correctly. Rewind
1f45f627 9636 `src' and `consumed_chars' correctly before calling emacs_mule_char.
aca7a3d2
MB
9637 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
9638 and alt&rule composition.
9639 (decode_coding_iso_2022): Handle composition correctly.
9640 (init_coding_once): Setup emacs_mule_bytes for private charsets.
9641
9642 * charset.c (Fdefine_charset_internal): Fix bug for the case of
9643 re-defining a charset. If the charset has :emacs-mule-id, setup
9644 emacs_mule_bytes.
1f45f627 9645 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
aca7a3d2 9646
73acf815 96472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9648
4c4475a8
GM
9649 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
9650 (encode_coding_big5, encode_coding_charset): If coding requires safe
aca7a3d2
MB
9651 encoding, produce a character specified by
9652 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
aca7a3d2 9653
73acf815 96542008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9655
9656 * xterm.c (XSetIMValues): Declare.
9657
9658 * process.c: Conditionally include sys/wait.h, pty.h.
9659
1f45f627 9660 * print.c (print_object): Fix print format for 64-bit systems.
aca7a3d2 9661
1f45f627 9662 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
aca7a3d2
MB
9663
9664 * buffer.c (emacs_strerror): Declare.
aca7a3d2
MB
9665
9666 * fontset.c (Fclear_face_cache): Declare.
1f45f627 9667 (accumulate_font_info): Comment-out (unused).
aca7a3d2
MB
9668 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
9669 variables.
9670
9671 * character.h (string_escape_byte8): Declare.
9672
9673 * charset.c (load_charset_map, load_charset_map_from_file): Remove
9674 unused vars.
9675 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
9676 (Fmap_charset_chars): Doc fix.
9677
1f45f627 9678 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
aca7a3d2
MB
9679 (Fset_coding_system_priority, Fset_coding_system_priority)
9680 (Fdefine_coding_system_internal): Doc fix.
9681
73acf815 96822008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9683
9684 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
9685
73acf815 96862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9687
9688 * character.c (string_escape_byte8): Make multibyte string with
9689 correct size.
9690
9691 * charset.c (Fmake_char): Delete unnecessary code.
9692
73acf815 96932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9694
9695 * xfns.c (x_encode_text): Allocate coding.destination here, and
9696 call encode_coding_object with dst_object Qnil.
9697
9698 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
9699 multibyte form correctly.
9700
9701 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
9702 against Vfont_encoding_alist.
9703
9704 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
9705 handling of charset list.
9706 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
9707 (decode_coding_object): Move point to coding->dst_pos before
9708 calling post-read-conversion function.
9709 (encode_coding_object): Give correct arguments to
9710 pre-write-conversion. Ignore the return value of
9711 pre-write-conversion function. Pay attention to the case that
9712 pre-write-conversion changes the current buffer. If dst_object is
9713 Qt, even if coding->src_bytes is zero, allocate at least one byte
9714 to coding->destination.
9715
9716 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
9717
9718 * charset.c (Fmake_char): Make it more backward compatible.
9719 (Fmap_charset_chars): Fix docstring.
9720
73acf815 97212008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9722
9723 * coding.c: Doc fixes.
9724 (Fdefine_coding_system_alias): Use names, not symbols, in
9725 coding-system-alist.
9726
73acf815 97272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9728
9729 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
9730 of calling free_realized_face.
9731
2a2e8de7 97322008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2 9733
1f45f627
GM
9734 * charset.c (read_hex): Don't treat SPC as a comment starter.
9735 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return -1.
aca7a3d2
MB
9736 (Fdecode_char): Fix typo.
9737
73acf815 97382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9739
9740 * charset.h (struct charset): New member `code_space_mask'.
9741
1f45f627 9742 * coding.c (coding_set_source): Delete the local variable beg_byte.
4c4475a8
GM
9743 (encode_coding_charset, Fdefine_coding_system_internal):
9744 Delete the local variable charset.
aca7a3d2
MB
9745 (Fdefine_coding_system_internal): Setup
9746 attrs[coding_attr_charset_valids] correctly.
9747
9748 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
9749 member to check if CODE is valid or not.
9750 (Fdefine_charset_internal): Initialize `code_space_mask' member.
9751 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
9752 is within the range of charset->min_code and carset->max_code.
9753
73acf815 97542008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9755
9756 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
9757
9758 * dispextern.h (generate_ascii_font): Fix return type.
9759
9760 * xfaces.c (generate_ascii_font): Fix arg declaration.
9761
9762 * coding.c (coding_inherit_eol_type)
9763 (Fset_terminal_coding_system_internal)
9764 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
9765
73acf815 97662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9767
9768 * coding.c (decode_coding_charset, encode_coding_charset): Handle
9769 multiple charsets correctly.
9770
73acf815 97712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9772
9773 * search.c (boyer_moore): Fix handling of mulitbyte character
9774 translation.
9775
9776 * xdisp.c (display_mode_element): When the variable `elt' is
9777 changed, update `this' and `lisp_string'.
9778
73acf815 97792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9780
9781 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
9782
9783 * callproc.c (Fcall_process): Be sure to give the current buffer
1f45f627 9784 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
aca7a3d2
MB
9785
9786 * charset.c (struct charset_map_entries): New struct.
1f45f627
GM
9787 (load_charset_map): Rename from parse_charset_map. New args
9788 entries and n_entries. Change caller.
9789 (load_charset_map_from_file): Rename from load_charset_map.
9790 Change caller. New arg control_flag. Call load_charset_map at
aca7a3d2
MB
9791 the tail.
9792 (load_charset_map_from_vector): New function.
9793 (Fdefine_charset_internal): Setup charset.compact_codes_p.
9794 (encode_char): If the charset is compact, change a character index
9795 to a code point.
9796
9797 * coding.c (coding_alloc_by_making_gap): Check the case that the
9798 source and destination are the same correctly.
9799 (decode_coding_raw_text): Set coding->consumed_char and
9800 coding->consumed to 0.
9801 (produce_chars): If coding->chars_at_source is nonzero, update
9802 coding->consumed_char and coding->consumed before calling
9803 alloc_destination.
9804 (Fdefine_coding_system_alias): Register ALIAS in
9805 Vcoding_system_alist.
9806 (syms_of_coding): Define `no-convesion' coding system at the tail.
9807
9808 * fileio.c (Finsert_file_contents): Set coding_system instead of
9809 val. If the current buffer is multibyte, always call
9810 decode_coding_gap.
9811
9812 * xfaces.c (try_font_list): Give higher priority to fontset's
9813 family than face's family.
9814
73acf815 98152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9816
9817 * callproc.c (Fcall_process): Be sure to give the current buffer
9818 to decode_coding_c_string.
9819
9820 * xfaces.c (try_font_list): Give a family specified in a fontset
9821 higher priority than a family specified in a face.
9822
73acf815 98232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9824
9825 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
9826 Fix arguments to insert_from_buffer.
9827
9828 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
9829
73acf815 98302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9831
9832 * coding.c (produce_chars): Set the variable `multibytep' correctly.
9833 (decode_coding_gap): Set coding->dst_multibyte correctly.
9834
73acf815 98352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9836
9837 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
1f45f627 9838 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
aca7a3d2
MB
9839 (encode_coding_utf_16): Substitute coding->default_char for
9840 non-Unicode characters.
9841 (decode_coding): Don't call record_insert here.
9842 (setup_coding_system): Initialize `surrogate' of
9843 coding->spec.utf_16 to 0.
9844 (EMIT_ONE_BYTE): Fix for multibyte case.
9845
9846 * insdel.c (insert_from_gap): Call record_insert.
9847
73acf815 98482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9849
9850 * casefiddle.c (casify_region): Fix multibyte case.
9851
9852 * character.c (c_string_width): Add return type `int'.
1f45f627 9853 (char_string_with_unification): Delete arg ADVANCED.
aca7a3d2
MB
9854
9855 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
1f45f627 9856 (CHAR_STRING): Adjust for the change of char_string_with_unification.
aca7a3d2
MB
9857 (CHAR_STRING_ADVANCE): Make it do-while statement.
9858
1f45f627 9859 * chartab.c (sub_char_table_set_range): Optimize for the case
aca7a3d2
MB
9860 DEPTH == 3. Add workaround code for a GCC optimization bug.
9861
9862 * charset.c (parse_charset_map): Remove an unused variable.
9863
9864 * coding.c: Delete unused variables.
9865
9866 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
9867 earlier. If inserted is zero and the coding system doesn't
9868 require flushing, don't call decode_coding_gap.
9869
9870 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
9871
73acf815 98722008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9873
9874 The following changes are for using Unicode as an internal
9875 character model, and use UTF-8 format for buffer/string
9876 representation.
9877
1f45f627 9878 * .gdbinit (xchartable): Adjust for the change of char table structure.
aca7a3d2
MB
9879 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
9880
9881 * Makefile.in (obj): Add character.o and chartab.o.
c3f9fba8 9882 (lisp, shortlisp): Remove utf-8.elc.
aca7a3d2
MB
9883 (*.o): For many files, change dependency on charset.h to
9884 character.h, and add dependency on character.h.
9885 (character.o, chartab.o): New targets.
9886
1f45f627
GM
9887 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
9888 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
9889 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
aca7a3d2
MB
9890 of "charset.h".
9891
9892 * dired.c, filelock.c: Include "character.h".
9893
9894 * alloc.c: Include "character.h" instead of "charset.h".
4c4475a8 9895 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
aca7a3d2
MB
9896 (syms_of_alloc): Remove defsubr for Smake_char_table.
9897
9898 * buffer.c: Include "character.h" instead of "charset.h", don't
9899 include "coding.h".
1f45f627 9900 (Fset_buffer_multibyte): Adjust for UTF-8.
aca7a3d2
MB
9901
9902 * buffer.h: EXFUN Fbuffer_live_p.
9903
9904 * callproc.c: Include "character.h" instead of "charset.h".
9905 (Fcall_process): Big change for the new code-conversion APIs.
9906
9907 * casetab.c: Include "character.h" instead of "charset.h".
1f45f627 9908 (set_canon, set_identity, shuffle): Adjust for the new
aca7a3d2
MB
9909 map_char_table spec.
9910 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
9911 accessing the char table structure.
9912
9913 * chartab.c: New file that implements char table.
9914
9915 * category.c: Include "character.h".
9916 (copy_category_entry): New function.
9917 (copy_category_table): Call map_char_table and copy_category_entry.
9918 (Fmake_category_table): Initialize all top-vel slots.
9919 (char_category_set): New function.
1f45f627 9920 (modify_lower_category_set): Delete.
aca7a3d2
MB
9921 (Fmodify_category_entry): Call char_table_ref_and_range.
9922
9923 * category.h (CATEGORY_SET): Just call char_category_set.
9924
9925 * ccl.c: Include "character.h".
9926 (Qccl, Qcclp): New variables.
9927 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
9928 it's less than 256.
1f45f627
GM
9929 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
9930 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
aca7a3d2 9931 and DST type.
1f45f627
GM
9932 (ccl_driver): Change types of argument, adjust code accordingly.
9933 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
aca7a3d2
MB
9934 ccl_driver.
9935 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
9936
1f45f627
GM
9937 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
9938 New members src_multibyte, dst_multibyte, consumed, and produced.
9939 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
aca7a3d2 9940 (CODING_SPEC_CCL_PROGRAM): New macro.
1f45f627 9941 (ccl_driver): Update prototype.
aca7a3d2
MB
9942 (Qccl, Qcclp, Fccl_program_p): Extern them.
9943 (CHECK_CCL_PROGRAM): New macro.
9944
9945 * character.c, character.h, chartab.c: New files.
9946
1f45f627
GM
9947 * charset.c: Mostly re-written. Move character and multibyte sequence
9948 handling codes to character.c.
aca7a3d2 9949
1f45f627
GM
9950 * charset.h: Mostly re-written. Move character and multibyte sequence
9951 handling codes to character.h.
aca7a3d2
MB
9952
9953 * coding.c, coding.h: Mostly re-written.
9954
9955 * composite.c: Include "character.h" instead of "charset.h".
1f45f627
GM
9956 (CHAR_WIDTH): Move to character.h.
9957 (HASH_KEY, HASH_VALUE): Delete.
aca7a3d2 9958
1f45f627
GM
9959 * composite.h (enum composition_method): Change order of enumeration
9960 symbols.
aca7a3d2
MB
9961
9962 * data.c: Include "character.h" instead of "charset.h".
9963 (Faref): Call CHAR_TABLE_REF for a char table.
9964 (Faset): Call CHAR_TABLE_SET for a char table.
9965
1f45f627
GM
9966 * dispextern.h (free_realized_face, check_face_attribytes)
9967 (generate_ascii_font): Extern them.
9968 (free_realized_multibyte_face): Delete extern.
aca7a3d2 9969
1f45f627 9970 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
aca7a3d2
MB
9971 table structure.
9972
9973 * editfns.c: Include "character.h" instead of "charset.h".
9974 (Fchar_to_string): Always call CHAR_STRING.
9975
9976 * emacs.c (main): Call init_charset_once, init_charset,
9977 syms_of_chartab, and syms_of_character.
9978
9979 * fileio.c: Include "character.h" instead of "charset.h".
1f45f627 9980 (Finsert_file_contents): Big change for the new code-conversion API.
4c4475a8 9981 (choose_write_coding_system, Fwrite_region): Likewise.
1f45f627 9982 (build_annotations_2): Delete.
aca7a3d2
MB
9983 (e_write): Big change for the new code-conversion API.
9984
9985 * fns.c: Include "character.h" instead of "charset.h".
1f45f627 9986 (copy_sub_char_table): Move to chartab.c.
aca7a3d2
MB
9987 (Fcopy_sequence): Call copy_char_table for a char table.
9988 (concat): Delete codes calling count_multibyte.
4c4475a8
GM
9989 (string_char_to_byte, string_byte_to_char): Adjust for the new
9990 multibyte form.
1f45f627
GM
9991 (internal_equal): Adjust for the change of char table structure.
9992 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
9993 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
9994 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
9995 (char_table_translate, optimize_sub_char_table)
9996 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
aca7a3d2 9997 chartab.c.
1f45f627
GM
9998 (char_table_ref_and_index): Delete.
9999 (HASH_KEY, HASH_VALUE): Move to lisp.h.
aca7a3d2 10000 (Fmd5): Call preferred_coding_system instead of accessing
1f45f627
GM
10001 Vcoding_category_list. Adjust for the new code-conversion API.
10002 (syms_of_fns): Move defsubr for char table related functions to
aca7a3d2
MB
10003 chartab.c.
10004
10005 * fontset.c: Mostly re-written.
10006
1f45f627 10007 * fontset.h (struct font_info): Change type of the member encoding_type.
aca7a3d2 10008 (enum FONT_SPEC_INDEX): New enum.
1f45f627
GM
10009 (fontset_font_pattern, fs_load_font): Update prototype.
10010 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
aca7a3d2
MB
10011
10012 * indent.c: Include "character.h" instead of "charset.h".
1f45f627 10013 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
aca7a3d2
MB
10014
10015 * insdel.c: Include "character.h" instead of "charset.h".
10016 (copy_text): Don't refer to Vnonascii_translation_table.
10017 (insert_from_gap): New function.
10018
10019 * keyboard.c: Include "character.h" instead of "charset.h".
10020 (command_loop_1): Never call direct_output_forward_char before
10021 a non-ASCII character.
10022 (read_char): If Vkeyboard_translate_table is a char table, always
1f45f627 10023 translate a character.
aca7a3d2
MB
10024
10025 * keymap.c: Include "character.h".
10026 (store_in_keymap): Handle the case that IDX is a cons.
10027 (Fdefine_key): Handle the case that KEY is a cons and the car part
10028 is also a cons (range).
1f45f627 10029 (push_key_description): Adjust for the new character code.
aca7a3d2
MB
10030 (describe_vector): Call describe_char_table for a char table.
10031 (describe_char_table): New function.
10032
10033 * keymap.h (describe_char_table): Extern it.
10034
10035 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
10036 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
1f45f627
GM
10037 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
10038 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
10039 Delete.
10040 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
aca7a3d2
MB
10041 structure.
10042 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
1f45f627
GM
10043 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
10044 (CHARTAB_SIZE_BITS_3): New macros.
aca7a3d2 10045 (chartab_size): Extern it.
1f45f627 10046 (struct Lisp_Char_Table): Re-design.
aca7a3d2 10047 (struct Lisp_Sub_Char_Table): New structure.
1f45f627
GM
10048 (HASH_KEY, HASH_VALUE): Move from fns.c.
10049 (CHARACTERBITS): Define as 22.
10050 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
aca7a3d2
MB
10051 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
10052 (GC_SUB_CHAR_TABLE_P): New macro.
1f45f627
GM
10053 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
10054 (code_convert_string_norecord): Deleted extern.
10055 (init_character_once, syms_of_character, init_charset)
10056 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
aca7a3d2
MB
10057
10058 * lread.c: Include "character.h".
10059 (read_multibyte): New arg NBYTES.
1f45f627
GM
10060 (read_escape): Change the meaning of returned *BYTEREP.
10061 (to_multibyte): Delete.
10062 (read1): Adjust the handling of char table and string.
aca7a3d2
MB
10063
10064 * print.c: Include "character.h" instead of "charset.h".
10065 (print_string): Convert 8-bit raw bytes to octal form by
10066 string_escape_byte8.
1f45f627 10067 (print_object): Adjust for the new multibyte form. Print 8-bit
aca7a3d2
MB
10068 raw bytes always in octal form. Handle sub char table correctly.
10069
10070 * process.c: Include "character.h" instead of "charset.h".
4c4475a8
GM
10071 (read_process_output, send_process): Adjust for the new
10072 code-conversion API.
aca7a3d2 10073
1f45f627 10074 * puresize.h (BASE_PURESIZE): Increase.
aca7a3d2
MB
10075
10076 * regex.c: Include "character.h" instead of "charset.h".
10077 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
10078 (regex_compile): Accept a range whose starting and ending
10079 character have different leading bytes.
1f45f627 10080 (analyse_first): Adjust for the above change.
aca7a3d2
MB
10081
10082 * search.c: Include "character.h" instead of "charset.h".
1f45f627
GM
10083 (search_buffer, boyer_moore): Adjust for the new multibyte form.
10084 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
aca7a3d2
MB
10085
10086 * syntax.c: Include "character.h" instead of "charset.h".
1f45f627 10087 (syntax_parent_lookup): Delete.
aca7a3d2 10088 (Fmodify_syntax_entry): Accept a cons as CHAR.
1f45f627 10089 (skip_chars): Adjust for the new multibyte form.
aca7a3d2
MB
10090 (init_syntax_once): Call char_table_set_range instead of directly
10091 accessing the structure of a char table.
10092
10093 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
1f45f627 10094 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
aca7a3d2
MB
10095 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
10096 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
10097
10098 * term.c: Include "buffer.h" and "character.h".
4c4475a8
GM
10099 (encode_terminal_code, write_glyphs): Adjust for the new
10100 code-conversion API.
aca7a3d2
MB
10101 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
10102
1f45f627 10103 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
aca7a3d2
MB
10104
10105 * xdisp.c: Include "character.h".
1f45f627
GM
10106 (get_next_display_element): Adjust for the new multibyte form.
10107 (disp_char_vector): Adjust for the new char table structure.
10108 (decode_mode_spec_coding): Adjust for the new structure of
aca7a3d2 10109 coding system.
1f45f627 10110 (decode_mode_spec): Adjust for the new code-conversion API.
aca7a3d2
MB
10111
10112 * xfaces.c: Include "character.h" instead of "charset.h".
1f45f627 10113 (load_face_font): Adjust for the change of choose_face_font and
aca7a3d2
MB
10114 FS_LOAD_FONT.
10115 (generate_ascii_font): New function.
1f45f627
GM
10116 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
10117 (set_font_frame_param): Adjust for the change of choose_face_font.
aca7a3d2 10118 (free_realized_face): Make it public.
1f45f627 10119 (free_realized_faces_for_fontset): Rename from
aca7a3d2 10120 free_realized_multibyte_face. Free also faces realized for ASCII.
1f45f627 10121 (choose_face_font): Change arguments. Adjust for the change of
aca7a3d2
MB
10122 fontset_font_pattern and FS_LOAD_FONT.
10123
10124 * xfns.c: Include "character.h".
1f45f627 10125 (x_encode_text): Adjust for the new code-conversion API.
aca7a3d2
MB
10126
10127 * xselect.c: Don't include "charset.h".
1f45f627 10128 (selection_data_to_lisp_data): Adjust for the new code conversion API.
aca7a3d2
MB
10129
10130 * xterm.c: Include "character.h".
1f45f627 10131 (x_encode_char): New argument CHARSET. Change caller.
4c4475a8
GM
10132 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
10133 Call ENCODE_CHAR instead of SPLIT_CHAR.
aca7a3d2
MB
10134 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
10135 CHAR_WIDTH instead of CHARSET_WIDTH.
1f45f627
GM
10136 (XTread_socket): Adjust for the new code-conversion API.
10137 (x_new_font): Adjust for the change of FS_LOAD_FONT.
10138 (x_load_font): Adjust for the change of struct font.
aca7a3d2 10139
d6abfc14
SM
101402008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
10141
10142 * xfaces.c (face_at_buffer_position): Remove unused vars.
10143
0acdaf8d
KH
101442008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10145
4c4475a8
GM
10146 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
10147 Fix overflow checking.
0acdaf8d 10148
6c8a0ebf
GM
101492008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10150
10151 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
10152 Cancel previous change.
10153
101542008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
10155
10156 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
10157 ccl->eight_bit_control. Fix check for buffer overflow.
10158 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
10159 (ccl_driver): Initialize extra_bytes to 0.
10160
a32aad64
KH
101612008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
10162
10163 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
10164 return it ORed with ctrl_modifier.
10165
8b329dba
MB
101662008-01-29 Miles Bader <miles@gnu.org>
10167
10168 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
10169
548667aa
JR
101702008-01-28 Jason Rumney <jasonr@gnu.org>
10171
10172 * w32.c (stat): Don't double check for networked drive.
10173
0975aa24
SM
101742008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
10175
ef264c42
SM
10176 * window.c (run_window_configuration_change_hook): New function.
10177 Code extracted from set_window_buffer. Set the selected frame.
10178 (set_window_buffer): Use it.
10179 * window.h (run_window_configuration_change_hook): Declare.
10180 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
10181
0975aa24
SM
10182 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
10183
9c28b587
DN
101842008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
10185
10186 * Makefile.in: Remove references to unused macros.
10187
c617afce
EZ
101882008-01-26 Eli Zaretskii <eliz@gnu.org>
10189
10190 * w32.c (g_b_init_get_sid_sub_authority)
10191 (g_b_init_get_sid_sub_authority_count): New static variables.
10192 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
10193 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
0975aa24
SM
10194 (init_user_info): Use them to retrieve uid and gid.
10195 Use 500/513, the Windows defaults, as Administrator's uid/gid.
248c21c5
EZ
10196 (fstat): Use pw_uid and pw_gid from the_passwd structure for
10197 st_uid and st_gid of the file.
c617afce 10198
302d7d54
JR
101992008-01-26 Jason Rumney <jasonr@gnu.org>
10200
10201 * w32.c (logon_network_drive): New function.
10202 (stat): Use it.
10203
3ac7a21e
CY
102042008-01-26 Chong Yidong <cyd@stupidchicken.com>
10205
10206 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
10207 invisible text covered with an ellipsis.
10208
bbb9fc1f
RS
102092008-01-25 Richard Stallman <rms@gnu.org>
10210
10211 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
10212 jump back to beginning. Move some other initializations after that.
10213 (Qwindow_text_change_functions, Vwindow_text_change_functions):
10214 New variables.
10215 (syms_of_xdisp): Init them.
10216
10217 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
10218
0975aa24
SM
10219 * buffer.c (reset_buffer_local_variables):
10220 Implement `permanent-local-hook'.
bbb9fc1f 10221 (Qpermanent_local_hook): New variable.
0975aa24 10222 (syms_of_buffer): Init and staticpro it.
bbb9fc1f 10223
79235cbe
MA
102242008-01-25 Michael Albinus <michael.albinus@gmx.de>
10225
10226 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
10227
ccd8f7fe
TTN
102282008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
10229
10230 * fns.c (Fclrhash): Return TABLE.
10231
dfbe40f2 102322008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
223b3d1d
YM
10233
10234 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
10235 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
10236 is set even without positional changes.
10237 (x_scroll_bar_clear): Set bar->redraw_needed_p.
10238
10239 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
10240
dfbe40f2 102412008-01-23 Jason Rumney <jasonr@gnu.org>
602e142f 10242
d6169680
JR
10243 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
10244
602e142f
JR
10245 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
10246 the unicode range available in MULE by locale-coding-system.
c041e2d1 10247 Improve dbcs lead byte detection. Set event timestamp and modifiers
602e142f
JR
10248 earlier.
10249
dfbe40f2 102502008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5ee4de53
YM
10251
10252 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
10253 [MAC_OSX] (init_mac_osx_environment): Initialize it.
6f69e89b 10254 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
5ee4de53
YM
10255 when used on child processes.
10256
8c7a4ac5
MA
102572008-01-21 Michael Albinus <michael.albinus@gmx.de>
10258
e0df1b73 10259 * dbusbind.c (Fdbus_method_return_internal): Rename from
8c7a4ac5 10260 Fdbus_method_return.
e0df1b73 10261 (Fdbus_unregister_object): Move to dbus.el.
8c7a4ac5 10262 (Fdbus_call_method, Fdbus_method_return_internal)
e0df1b73 10263 (Fdbus_send_signal): Improve debug messages.
8c7a4ac5 10264
8abe0f97
MR
102652008-01-20 Martin Rudalics <rudalics@gmx.at>
10266
10267 * undo.c (undo_inhibit_record_point): New variable.
10268 (syms_of_undo): Initialize it.
10269 (record_point): Don't record point when undo_inhibit_record_point
10270 is set.
10271
c3b232e4
SM
102722008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
10273
e69c4cae
SM
10274 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
10275
823e0ebb
SM
10276 * xdisp.c (Qauto_hscroll_mode): New var.
10277 (syms_of_xdisp): Initialize it.
10278 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
10279 window's buffer.
10280 (hscroll_windows): Don't check automatic_hscrolling_p here.
10281
c3b232e4
SM
10282 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
10283 vscroll if we're setting window-buffer to the value it already has.
10284
76ed5e01
DN
102852008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
10286
10287 * m/intel386.h: Remove references to XENIX.
10288
55e6d9b2
AS
102892008-01-17 Andreas Schwab <schwab@suse.de>
10290
10291 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
10292 instead of HAVE_X86_64_LIB64_DIR.
10293 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
10294
b16ed52d
GM
102952008-01-17 Glenn Morris <rgm@gnu.org>
10296
10297 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
10298 to HAVE_X86_64_LIB64_DIR.
10299
6bed5c4a
DN
103002008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
10301
10302 * s/irix3-3.h:
10303 * s/irix4-0.h:
10304 * s/386-ix.h:
10305 * s/domain.h:
10306 * s/hpux9-x11r4.h:
10307 * s/hpux9shxr4.h: Remove files for systems no longer supported.
10308
10309 * sysdep.c: Remove code containing references to symbols defined
10310 by unsupported systems.
10311
fdecf907
GM
103122008-01-16 Glenn Morris <rgm@gnu.org>
10313
10314 * coding.c (select-safe-coding-system-function): Doc fix.
10315
9292328f
GM
103162008-01-15 Glenn Morris <rgm@gnu.org>
10317
10318 * config.in: Revert 2008-01-13 change: this is a generated file.
10319
944df511
MO
103202008-01-13 Tom Tromey <tromey@redhat.com>
10321
10322 * lisp.h: Fix typo.
10323
8111ec05
DN
103242008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
10325
f40f5dc3
DN
10326 * m/sequent-ptx.h:
10327 * m/sequent.h:
10328 * s/ptx.h:
10329 * s/ptx4-2.h:
10330 * s/ptx4.h: Remove files for systems no longer supported.
10331
ce20b664 10332 * callproc.c (Fcall_process): Fix previous change.
8111ec05 10333
e39a993c
DN
103342008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
10335
052e457f 10336 * unexsunos4.c: Remove file, system not supported anymore.
e39a993c 10337
290afd83
JB
10338 * m/mips.h:
10339 * m/intel386.h:
e39a993c
DN
10340 * callproc.c:
10341 * config.in:
10342 * ecrt0.c:
10343 * emacs.c:
10344 * fileio.c:
10345 * frame.c:
10346 * getpagesize.h:
10347 * keyboard.c:
10348 * lread.c:
10349 * process.c:
10350 * puresize.h:
10351 * sysdep.c:
10352 * systty.h:
10353 * syswait.h:
10354 * unexec.c:
10355 * xdisp.c:
10356 * alloc.c: Remove code containing references to symbols defined by
10357 unsupported systems.
10358
81cd7687
KH
103592008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
10360
10361 * coding.c (detect_coding_mask): Fix previous change.
10362
218b3b76
KH
103632008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
10364
10365 * coding.c (detect_coding_iso2022): New arg
10366 latin_extra_code_state. Allow Latin extra codes only
10367 when *latin_extra_code_state is nonzero.
10368 (detect_coding_mask): If there is a NULL byte, detect the encoding
10369 as UTF-16 or binary. If Latin extra codes exist, detect the
10370 encoding as ISO-2022 only when there's no other proper encoding is
10371 found.
10372
59ce725a 103732008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
081f2203 10374
59ce725a
MB
10375 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
10376 #ifdef MAC_OS.
048addec 10377
59ce725a 103782008-01-08 Richard Stallman <rms@gnu.org>
048addec 10379
59ce725a 10380 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
048addec 10381
8290574e
NR
103822008-01-06 Nick Roberts <nickrob@snap.net.nz>
10383
a0a3805c 10384 * keyboard.c (parse_menu_item): Don't enclose key bindings on
8290574e
NR
10385 menu bar in parentheses.
10386
f3041af1
DN
103872008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
10388
10389 * m/7300.h:
10390 * m/acorn.h:
10391 * m/alliant-2800.h:
10392 * m/alliant.h:
10393 * m/alliant1.h:
10394 * m/alliant4.h:
10395 * m/altos.h:
10396 * m/amdahl.h:
10397 * m/apollo.h:
10398 * m/att3b.h:
10399 * m/aviion-intel.h:
10400 * m/aviion.h:
10401 * m/celerity.h:
10402 * m/clipper.h:
10403 * m/cnvrgnt.h:
10404 * m/convex.h:
10405 * m/cydra5.h:
10406 * m/delta88k.h:
10407 * m/dpx2.h:
10408 * m/dual.h:
10409 * m/elxsi.h:
10410 * m/f301.h:
10411 * m/gould-np1.h:
10412 * m/gould.h:
10413 * m/i860.h:
10414 * m/ibmps2-aix.h:
10415 * m/ibmrt-aix.h:
10416 * m/ibmrt.h:
10417 * m/irist.h:
10418 * m/is386.h:
10419 * m/isi-ov.h:
10420 * m/mega68.h:
10421 * m/mg1.h:
10422 * m/news-r6.h:
10423 * m/news-risc.h:
10424 * m/news.h:
10425 * m/nh3000.h:
10426 * m/nh4000.h:
10427 * m/ns16000.h:
10428 * m/ns32000.h:
10429 * m/nu.h:
10430 * m/orion.h:
10431 * m/orion105.h:
10432 * m/paragon.h:
10433 * m/pfa50.h:
10434 * m/plexus.h:
10435 * m/pyramid.h:
10436 * m/pyrmips.h:
10437 * m/sh3el.h:
10438 * m/sps7.h:
10439 * m/sr2k.h:
10440 * m/stride.h:
10441 * m/sun1.h:
10442 * m/sun2.h:
10443 * m/sun3-68881.h:
10444 * m/sun3-fpa.h:
10445 * m/sun3-soft.h:
10446 * m/sun3.h:
10447 * m/sun386.h:
10448 * m/symmetry.h:
10449 * m/tad68k.h:
10450 * m/tahoe.h:
10451 * m/targon31.h:
10452 * m/tek4300.h:
10453 * m/tekxd88.h:
10454 * m/tower32.h:
10455 * m/tower32v3.h:
10456 * m/ustation.h:
10457 * m/wicat.h:
10458 * m/xps100.h:
10459 * s/cxux.h:
10460 * s/cxux7.h:
10461 * s/dgux.h:
10462 * s/dgux4.h:
10463 * s/dgux5-4-3.h:
10464 * s/dgux5-4r2.h:
10465 * s/esix.h:
10466 * s/esix5r4.h:
10467 * s/hiuxmpp.h:
10468 * s/hiuxwe2.h:
10469 * s/iris3-5.h:
10470 * s/iris3-6.h:
10471 * s/isc2-2.h:
10472 * s/isc3-0.h:
10473 * s/isc4-0.h:
10474 * s/isc4-1.h:
10475 * s/newsos5.h:
10476 * s/newsos6.h:
10477 * s/osf1.h:
10478 * s/osf5-0.h:
10479 * s/riscix1-1.h:
10480 * s/riscix12.h:
10481 * s/sco4.h:
10482 * s/sco5.h:
10483 * s/sunos4-0.h:
10484 * s/sunos4-1.h:
10485 * s/sunos413.h:
10486 * s/sunos4shr.h:
10487 * s/umax.h:
10488 * s/unipl5-2.h:
10489 * s/xenix.h:
10490 * cxux-crt0.s:
10491 * unexapollo.c:
10492 * unexconvex.c:
10493 * unexenix.c:
10494 * unexsni.c: Remove files for systems no longer supported.
10495
10496 * m/intel386.h: Remove references to unsupported systems.
10497
10498 * w32.c (get_emacs_configuration): Remove reference to i860.
10499
10500 * sysdep.c: Remove dead code.
10501
d35e1cd7
DN
105022008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
10503
10504 * s/rtu.h:
a0a3805c 10505 * m/masscomp.h: Remove files. Platform is obsolete.
d35e1cd7 10506
abe136ee
MA
105072008-01-04 Michael Albinus <michael.albinus@gmx.de>
10508
10509 * dbusbind.c (Fdbus_method_return): New function.
10510 (xd_read_message): Add the serial number to the event.
10511 (Fdbus_register_method): Activate the function.
10512
87df3c32
SM
105132008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
10514
10515 * keyboard.c (read_key_sequence): Fix typo.
10516
5125905e
MA
105172008-01-03 Michael Albinus <michael.albinus@gmx.de>
10518
10519 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
10520 (xd_signature, xd_append_arg): Handle element type detection for
10521 empty arrays.
10522 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
10523 SDATA () calls; this must be solved more general.
10524 (Fdbus_register_signal): Use SBYTES instead of strlen.
10525
8bba1b5c
MH
105262008-01-03 Magnus Henoch <magnus@zemdatav>
10527
10528 * dbusbind.c (xd_append_arg): Use unsigned char instead of
10529 unsigned int for byte values (necessary for big-endian platform).
2c3a8b27 10530 (Fdbus_call_method): Handle the case of no returned arguments.
8bba1b5c 10531
a0a3805c 105322007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
15f16c1b
MA
10533
10534 * dbusbind.c (xd_read_message): Use non-static input_event struct.
10535
a271e124
MH
105362007-12-31 Magnus Henoch <mange@freemail.hu>
10537
10538 * dbusbind.c (xd_signature): Signature of variant is just "v".
10539
17bc8f94
MA
105402007-12-30 Michael Albinus <michael.albinus@gmx.de>
10541
87df3c32 10542 * dbusbind.c: Fix several errors and compiler warnings.
1f204af3 10543 Reported by Tom Tromey <tromey@redhat.com>.
17bc8f94
MA
10544 (XD_ERROR, XD_DEBUG_MESSAGE)
10545 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
10546 (xd_append_arg): Part for basic D-Bus types rewitten.
10547 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
10548 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
10549 appropriate.
10550 (xd_read_message): Return Qnil. Don't signal an error; it is not
10551 useful during event reading.
10552 (Fdbus_register_signal): Signal an error if the check for
10553 FUNCTIONP fails.
10554 (Fdbus_register_method): New function. The implementation is not
10555 complete, the call of the function signals an error therefore.
10556 (Fdbus_unregister_object): New function, renamed from
10557 Fdbus_unregister_signal. The initial check signals an error, if
5125905e 10558 the object is not well formed.
17bc8f94 10559
dd6f2802
RS
105602007-12-30 Richard Stallman <rms@gnu.org>
10561
10562 * textprop.c (get_char_property_and_overlay):
10563 Signal error if POSITION is out of range in a buffer.
10564
1da8a031
MR
105652007-12-29 Martin Rudalics <rudalics@gmx.at>
10566
10567 * w32fns.c (Fx_create_frame): Make copy of frame parameters
10568 because the original parameters are in pure storage now.
10569
5742be86
YM
105702007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10571
10572 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
10573
b014713c
EZ
105742007-12-22 Eli Zaretskii <eliz@gnu.org>
10575
b17f53ab
MB
10576 * callint.c (syms_of_callint) <command-history>: Add reference to
10577 history-length in the doc string.
048addec 10578
b17f53ab 105792007-12-17 Jason Rumney <jasonr@gnu.org>
048addec 10580
b17f53ab
MB
10581 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
10582 before passing as wParam.
048addec 10583
9af5078b
MA
105842007-12-22 Michael Albinus <michael.albinus@gmx.de>
10585
10586 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
10587 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
10588 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
10589 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
10590 as number.
10591 (Fdbus_call_method): Fix docstring.
10592
87cf1a39
MA
105932007-12-21 Michael Albinus <michael.albinus@gmx.de>
10594
10595 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
10596 New macros.
87df3c32 10597 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
a0a3805c
JB
10598 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
10599 Simplify.
87cf1a39
MA
10600 (xd_signature): New function.
10601 (xd_append_arg): Compute also signatures. Major rewrite.
10602 (xd_retrieve_arg): Make debug messages friendly.
87df3c32
SM
10603 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
10604 Check for signatures of arguments.
87cf1a39 10605
54371585
MA
106062007-12-19 Michael Albinus <michael.albinus@gmx.de>
10607
10608 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
10609 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
10610 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
10611 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
10612 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
87df3c32 10613 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
54371585
MA
10614 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
10615 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
87df3c32 10616 (xd_retrieve_value): Remove. Functionality included in ...
54371585
MA
10617 (xd_append_arg): New function.
10618 (Fdbus_call_method, Fdbus_send_signal): Apply it.
10619
f5306ca3
MA
106202007-12-16 Michael Albinus <michael.albinus@gmx.de>
10621
10622 * dbusbind.c (top): Include <stdio.h>.
10623 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
10624 dbus_message_new_method_call and dbus_message_new_signal.
87df3c32
SM
10625 (Fdbus_register_signal): Rename unique_name to uname.
10626 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
f5306ca3
MA
10627 non-existing unique name. Fix typos in matching rule. Return an
10628 object which is useful in Fdbus_unregister_signal.
10629 (Fdbus_unregister_signal): Reimplementation, in order to remove
10630 only the corresponding entry.
10631 (Vdbus_registered_functions_table): Change the order of entries.
10632 Apply these changes in xd_read_message and Fdbus_register_signal.
10633
77a28bbf
AS
106342007-12-16 Andreas Schwab <schwab@suse.de>
10635
10636 * fileio.c (Finsert_file_contents): Fix overflow check to not
10637 depend on undefined integer overflow.
10638
2e3566d8
JR
106392007-12-14 Jason Rumney <jasonr@gnu.org>
10640
10641 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
10642 for characters above 127.
10643
bf254037
JR
106442007-12-13 Jason Rumney <jasonr@gnu.org>
10645
10646 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
10647 before dereferencing array.
10648 (lookup_vk_code): Remove zero comparison.
10649
eb7c7bf5
MA
106502007-12-14 Michael Albinus <michael.albinus@gmx.de>
10651
10652 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
87df3c32
SM
10653 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
10654 Use `unsigned int' instead of `uint'.
eb7c7bf5
MA
10655 (xd_read_message, Fdbus_register_signal): Split expressions into
10656 multiple lines before operators "&&" and "||", according to the
10657 GNU Coding Standards.
10658
34fb0fc9
EZ
106592007-12-14 Eli Zaretskii <eliz@gnu.org>
10660
10661 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
10662
c7d97628
JL
106632007-12-12 Juri Linkov <juri@jurta.org>
10664
10665 * buffer.c (Frename_buffer): In interactive spec replace
10666 `read-buffer' with `read-string' that uses `buffer-name-history'
10667 as history, and the current buffer's name as default.
10668
3709505e
SM
106692007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
10670
10671 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
10672 manipulating the backtrace manually.
10673 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
10674 (struct backtrace, backtrace_list): Remove.
10675 (command_loop_1): Remove dead var `no_direct'.
10676
10677 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
10678 preserve non-built-in buffer-local variables.
10679 (Fkill_all_local_variables): Don't re-create&re-set permanent
10680 buffer-local variables.
10681
e2bec886
JL
106822007-12-09 Juri Linkov <juri@jurta.org>
10683
10684 * buffer.c (Frename_buffer): Change interactive spec from "s" to
10685 Lisp code that uses `read-buffer' with current buffer as default.
10686
a31d47c7
MA
106872007-12-08 Michael Albinus <michael.albinus@gmx.de>
10688
10689 * dbusbind.c (xd_read_message): Generate an event for every
10690 registered handler. There might be several handlers registered
10691 for the same signal.
10692 (Fdbus_register_signal): Don't overwrite a registration for the
10693 same signal. Add a new registration if handlers are different.
10694 (Vdbus_registered_functions_table): Rework doc string.
10695
52da95fa
MA
106962007-12-07 Michael Albinus <michael.albinus@gmx.de>
10697
10698 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
10699 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
10700 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
10701 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
10702 Unify argument lists.
a0a3805c 10703 (xd_read_message, Fdbus_register_signal): Reorder and extend event
52da95fa
MA
10704 arguments and hash table keys. Use unique name for service.
10705 (Fdbus_unregister_signal): Remove checks.
10706 (Vdbus_registered_functions_table): Fix doc string.
10707
e5e76c04 107082007-12-05 Magnus Henoch <mange@freemail.hu>
0277bfa1
RS
10709
10710 * process.c (make_process): Initialize pty_flag to 0.
10711
e5e76c04 107122007-12-05 Jason Rumney <jasonr@gnu.org>
44b1dc2e
JR
10713
10714 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
10715 specified XBMs.
10716
e5e76c04 107172007-12-05 Richard Stallman <rms@gnu.org>
048addec 10718
e5e76c04 10719 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
048addec 10720
e5e76c04 107212007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 10722
e5e76c04
MB
10723 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
10724 New variable.
10725 (mac_try_close_socket) [MAC_OSX]: New function.
10726 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
10727 Update cfsockets_for_select. Replace invalid CFRunLoop source.
048addec 10728
e5e76c04
MB
10729 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
10730 Use mac_try_close_socket.
048addec 10731
e5e76c04 107322007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 10733
e5e76c04
MB
10734 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
10735 reloc_base.
10736 (copy_dysymtab): Compute relocation base here.
10737 (rebase_reloc_address) [__ppc64__]: New function.
10738 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
10739 changed.
048addec 10740
e5e76c04 107412007-12-05 Jason Rumney <jasonr@gnu.org>
048addec 10742
e5e76c04 10743 * w32proc.c (sys_spawnve): Quote args with wildcards.
048addec 10744
e5e76c04 107452007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 10746
e5e76c04
MB
10747 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
10748 __objc_* sections.
10749 (unrelocate) [_LP64]: Set relocation base to address of data segment.
048addec 10750
96faeb40
MA
107512007-12-05 Michael Albinus <michael.albinus@gmx.de>
10752
10753 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
10754 Move check for Vdbus_registered_functions_table to
10755 xd_read_queued_messages.
10756 (xd_read_queued_messages): Protect xd_read_message calls by
10757 internal_condition_case_1.
10758
39abdd4a
MA
107592007-12-04 Michael Albinus <michael.albinus@gmx.de>
10760
87df3c32 10761 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
39abdd4a 10762 Qdbus_system_bus and Qdbus_session_bus, respectively.
87df3c32 10763 (Vdbus_intern_symbols): Remove.
39abdd4a 10764 (Vdbus_registered_functions_table): New hash table.
87df3c32 10765 (XD_SYMBOL_INTERN_SYMBOL): Remove.
39abdd4a 10766 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
87df3c32 10767 Rewrite in order to manage registered functions by hash table
39abdd4a
MA
10768 Vdbus_registered_functions_table.
10769
880820fe 107702007-12-03 Jan Djärv <jan.h.d@swipnet.se>
7ba30657
JD
10771
10772 * xterm.c: Update URL to Window Manager Specification in comment.
10773
033b73e2
MA
107742007-12-02 Michael Albinus <michael.albinus@gmx.de>
10775
10776 * config.in (HAVE_DBUS): Add.
10777
a0a3805c 10778 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
033b73e2
MA
10779 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
10780 (obj): Add $(DBUS_OBJ).
10781 (LIBES): Add $(DBUS_LIBS).
10782 (dbusbind.o): New target.
10783
10784 * dbusbind.c: New file.
10785
10786 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
10787
10788 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
a0a3805c 10789 (Qdbus_event): New Lisp symbol.
033b73e2 10790 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
87df3c32 10791 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
033b73e2
MA
10792 (keys_of_keyboard ): Define dbus-event.
10793
10794 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
10795
39d0bf74
RS
107962007-12-01 Richard Stallman <rms@gnu.org>
10797
10798 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
10799
f3157c65
JR
108002007-11-30 Jason Rumney <jasonr@gnu.org>
10801
10802 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
10803 (w32con_reset_terminal_modes): Clear screen buffer.
f1e8dcf1
JR
10804 (w32_face_attributes): Don't use color indexes that are out of range.
10805 Only reverse the default colors.
f3157c65
JR
10806
10807 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
10808 WINDOWSNT.
10809
10810 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
10811
b510360c
JR
108122007-11-29 Jason Rumney <jasonr@gnu.org>
10813
10814 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
10815 (w32_face_attributes): Use Vtty_defined_color_alist to determine
10816 if the terminal colors are initialized.
10817 (unspecified_fg, unspecified_bg): Remove unused declarations.
10818
4b7ab1c4
AS
108192007-11-29 Andreas Schwab <schwab@suse.de>
10820
10821 * keyboard.c (apply_modifiers): Fix typo.
10822
4bb6c266
RS
108232007-11-29 Richard Stallman <rms@gnu.org>
10824
10825 * keymap.c (Fcurrent_local_map): Doc fix.
10826
aa44cd84
GM
108272007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
10828
10829 * s/gnu-kfreebsd.h: New file.
10830
21ec2c43
SM
108312007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
10832
cc648cef
SM
10833 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
10834 Don't cast redundantly.
10835
21ec2c43
SM
10836 * keyboard.c (KEY_TO_CHAR): New macro.
10837 (parse_modifiers, apply_modifiers): Accept integer arguments.
10838 (read_key_sequence): Use them to unify the "shift->unshift" mapping
10839 for chars and symbol keys.
10840 After doing such remapping, apply function-key-map again.
10841
73e72da4
DN
108422007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
10843
10844 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
10845 compiled anymore.
10846
254693ff
AS
108472007-11-26 Andreas Schwab <schwab@suse.de>
10848
10849 * process.c (list_processes_1): Fix indentation level of the
10850 command column.
10851
ff6e6ac8
AS
108522007-11-23 Andreas Schwab <schwab@suse.de>
10853
10854 * editfns.c (Fformat): Handle %c specially since it requires the
10855 argument to be of type int.
10856
f7cf8b20
SM
108572007-11-23 Markus Triska <markus.triska@gmx.at>
10858
10859 * emacs.c (main): Call init_editfns before init_process, since
2a2e8de7 10860 init_process sets Vprocess_connection_type depending on OS release.
f7cf8b20 10861
569c11e3
SM
108622007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
10863
8787dd73
SM
10864 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
10865 (find_symbol_value): Use do_symval_forwarding.
10866
569c11e3
SM
10867 * data.c (set_internal): Set the value in the `cons-cell' (for
10868 Buffer_Local_values) not only for frame-local variables.
10869
6af1696d
AS
108702007-11-22 Andreas Schwab <schwab@suse.de>
10871
10872 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
10873 values to sprintf.
10874 * keymap.c (Fsingle_key_description): Likewise.
10875 * print.c (print_object): Likewise.
10876
880820fe 108772007-11-22 Jan Djärv <jan.h.d@swipnet.se>
d4ad8c04
JD
10878
10879 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
10880 file for image is nil.
10881
7c401d15
DN
108822007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
10883
10884 * term.c: Include stdarg.h.
569c11e3 10885 (fatal): Implement using varargs.
a0a3805c 10886 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
7c401d15 10887
64e16c3c
SM
108882007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
10889
10890 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
10891 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
10892 Update call to buffer_slot_type_mismatch.
10893 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
10894 (buffer_slot_type_mismatch): Update.
10895 * buffer.c (buffer_local_types): Remove.
10896 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
10897 (defvar_per_buffer): Set the type in the buffer_objfwd.
10898
d4aa48db 108992007-11-21 Jason Rumney <jasonr@gnu.org>
5f42a7eb 10900
64e16c3c
SM
10901 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
10902 CreateFileMapping returns NULL on failure.
5f42a7eb 10903
d4aa48db 109042007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
048addec 10905
d4aa48db
MB
10906 * search.c (Fset_match_data): Remove the `evaporate' feature.
10907 (unwind_set_match_data): Don't use the `evaporate' feature.
437dfb9f 10908
bdae0540
JR
109092007-11-21 Jason Rumney <jasonr@gnu.org>
10910
10911 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
10912
10913 * w32console.c (w32con_write_glyphs): Remove unused variables.
10914
202c09a8
DN
109152007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
10916
b951420f
DN
10917 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
10918
202c09a8
DN
10919 * s/darwin.h (MULTI_KBOARD): Remove.
10920
10921 * macfns.c (x_create_tip_frame, Fx_create_frame)
10922 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
10923
bae72c12
SM
109242007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
10925
e7c10f83
SM
10926 * buffer.c (Fbuffer_local_value): Remove redundant test.
10927 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
10928 than in `current-buffer' to match the comment.
10929 Do the swap using swap_in_global_binding.
10930
136eb6ed
SM
10931 * data.c (store_symval_forwarding, set_internal):
10932 * eval.c (specbind): Remove dead code.
10933
bae72c12
SM
10934 * coding.c (detect_coding, Fupdate_coding_systems_internal):
10935 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
10936 Since we do not want to see internal Lisp_*fwd objects here.
10937
880820fe 109382007-11-18 Jan Djärv <jan.h.d@swipnet.se>
95fbaefc 10939
3d66b985
JD
10940 * sysdep.c (init_system_name): Use getaddrinfo if available.
10941
95fbaefc
JD
10942 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
10943 (x_scroll_bar_note_movement): start, end, with, height in struct
10944 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
10945
6c1d8cb6
DN
109462007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
10947
10948 * puresize.h (BASE_PURESIZE): Increase to 1190000.
10949
30f95089
SM
109502007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
10951
66b04bd4
SM
10952 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
10953 This undoes Richard's change of 14-Oct-2002.
10954
6d3f2bb2
SM
10955 * alloc.c (allocate_other_vector):
10956 * lisp.h (allocate_other_vector): Remove.
10957
b05b4e27
SM
10958 * window.c (struct save_window_data): Move non-lisp data to the end
10959 and make it `int' rather than Lisp_Object.
10960 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
10961 Done wrap/unwrap integer values.
10962 (Fset_window_configuration, compare_window_configurations):
10963 Update use of fields to their new types.
10964
056ce195
SM
10965 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
10966 Turn integer fields into `int'. Merge x_window_low and x_window_high.
10967 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
10968 (SET_SCROLL_BAR_X_WINDOW): Remove.
10969 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
10970 Access the new x_window field directly.
10971 * xterm.c (x_scroll_bar_create): Use a pseudovector.
10972 Don't wrap/unwrap integers into Lisp_Objects.
10973 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
10974 (x_scroll_bar_report_motion):
10975 Don't wrap/unwrap integers into Lisp_Objects.
10976 (x_term_init): Use SDATA.
10977 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
10978 (x_scroll_bar_set_handle, x_scroll_bar_remove)
10979 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
10980 (x_scroll_bar_report_motion, x_scroll_bar_clear):
10981 * xfns.c (x_set_background_color):
10982 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
10983 Access the new x_window field directly.
10984
30f95089
SM
10985 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
10986 (allocate_pseudovector): Make non-static.
6d3f2bb2 10987
30f95089
SM
10988 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
10989 (allocate_pseudovector): Declare.
6f69e89b 10990 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
30f95089 10991
9b6112e8
AS
109922007-11-15 Andreas Schwab <schwab@suse.de>
10993
30f95089
SM
10994 * editfns.c (Fformat): Correctly format EMACS_INT values.
10995 Also take precision into account when formatting an integer.
0f860bd7 10996
9b6112e8
AS
10997 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
10998
262fcd41
SM
109992007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
11000
58da34c7
SM
11001 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
11002 (syms_of_keyboard): Defsubr it.
11003
262fcd41
SM
11004 * data.c (swap_in_global_binding): Fix longstanding bug where
11005 store_symval_forwarding was not called with the right second argument,
11006 thus causing objfwd-ing from being dropped.
11007
d29a9848
JB
110082007-11-14 Juanma Barranquero <lekktu@gmail.com>
11009
11010 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
11011 (Fx_display_pixel_height, Fx_display_planes)
11012 (Fx_display_color_cells, Fx_server_max_request_size)
11013 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
11014 (Fx_display_visual_class, Fx_display_save_under):
11015 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
11016 (Fx_display_pixel_height, Fx_display_planes)
11017 (Fx_display_color_cells, Fx_server_max_request_size)
11018 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
11019 (Fx_display_mm_height, Fx_display_mm_width)
11020 (Fx_display_backing_store, Fx_display_visual_class)
11021 (Fw32_select_font, Fx_display_save_under):
11022 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
11023 (Fx_display_pixel_height, Fx_display_planes)
11024 (Fx_display_color_cells, Fx_server_max_request_size)
11025 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
11026 (Fx_display_save_under): Fix typos in docstrings.
11027
74084731
JB
110282007-11-14 Juanma Barranquero <lekktu@gmail.com>
11029
11030 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
11031 corresponding to deleted entries; they are an implementation detail.
11032 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
11033 Remove variables.
11034 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
11035 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
11036 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
11037 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
11038 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
d29a9848 11039 (Fw32_define_rgb_color, Fw32_load_color_file)
74084731 11040 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
02b39a28
JB
11041 Fix typos in docstrings.
11042 (Fx_server_version): Reflow docstring.
11043 (Fw32_shell_execute): Doc fixes.
74084731 11044
fb053a1f
JB
110452007-11-13 Juanma Barranquero <lekktu@gmail.com>
11046
11047 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
11048 if w32_parse_hot_key returned nil.
11049
a457417e 110502007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
9ec1bdb6 11051
a457417e 11052 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
9ec1bdb6 11053
4b219faa
JR
110542007-11-09 Jason Rumney <jasonr@gnu.org>
11055
11056 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
11057
11058 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
11059
11060 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
11061 Remove W32_SCROLL_BAR_CLICK_EVENT.
11062
11063 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
11064 Add MULTIMEDIA_KEY_EVENT.
11065
11066 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
11067 (lispy_multimedia_keys) [WINDOWSNT]: New array.
11068 (make_lispy_event) [WINDOWSNT]: Use it to translate
11069 MULTIMEDIA_KEY_EVENT.
11070
11071 * w32term.h (WM_APPCOMMAND): Define if not already.
11072 (GET_APPCOMMAND_LPARAM): Likewise.
11073
11074 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
11075 WM_APPCOMMAND.
11076
11077 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
11078 (syms_of_w32fns): Export and initialize it.
11079 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
11080
c12ecb0a 110812007-11-09 Chong Yidong <cyd@stupidchicken.com>
d388d2ac
CY
11082
11083 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
11084 twice.
11085
11086 * xdisp.c (handle_face_prop): Fix last change.
11087
c12ecb0a 110882007-11-09 Richard Stallman <rms@gnu.org>
048addec 11089
c12ecb0a
MB
11090 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
11091 not just for after-strings and before-strings.
11092 Call face_for_overlay_string and pass the overlay to it.
11093 (handle_display_prop): Determine whether property came from an overlay.
11094 Pass OVERLAY arg to handle_single_display_spec.
11095 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
11096 (load_overlay_strings): Fill in it->string_overlays.
11097 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
b5cb6072 11098
c12ecb0a
MB
11099 * xfaces.c (face_for_overlay_string): Function renamed from
11100 face_at_buffer_position_no_overlays, and add arg OVERLAY.
b5cb6072 11101
c12ecb0a
MB
11102 * dispextern.h (struct it): New elt string_overlays.
11103 New elt from_overlay, also in stack.
11104 Rearrange a few elements.
11105 (face_for_overlay_string): Decl renamed from
11106 face_at_buffer_position_no_overlays, and add argument.
15fff01d 11107
c12ecb0a 111082007-11-09 Richard Stallman <rms@gnu.org>
0065bb74 11109
c12ecb0a
MB
11110 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
11111 to get the base face for an overlay string.
0d8466cc 11112
c12ecb0a 11113 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
15fff01d 11114
c12ecb0a 11115 * xfaces.c (face_at_buffer_position_no_overlays): New function.
2fae9111 11116
c12ecb0a 11117 * xdisp.c (handle_stop): Move some code out of loop.
2d6c1fc0 11118
c12ecb0a 111192007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
07025a55 11120
c12ecb0a
MB
11121 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
11122 Fix conversion from Lisp object to ATSUFontID.
07025a55 11123
c12ecb0a 111242007-11-09 Jason Rumney <jasonr@gnu.org>
07025a55 11125
c12ecb0a 11126 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
3a232704 11127
c12ecb0a 111282007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
539e92ad 11129
c12ecb0a
MB
11130 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
11131 Don't assume regions are aligned to page boundary.
11132 (print_load_command_name): Add LC_UUID if defined.
3a232704 11133
c12ecb0a 111342007-11-09 Richard Stallman <rms@gnu.org>
0cb8bb48 11135
c12ecb0a 11136 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
539e92ad 11137
b8ddfbcc
JR
111382007-11-07 Jason Rumney <jasonr@gnu.org>
11139
11140 * s/windows95.h: Remove.
11141
880820fe 111422007-11-06 Jan Djärv <jan.h.d@swipnet.se>
e624c3f9
JD
11143
11144 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
11145 abort with a message on unhandled store_type values.
11146
880820fe 111472007-11-01 Jan Djärv <jan.h.d@swipnet.se>
ac1278c1
JD
11148
11149 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
11150 Remove HAVE_X11R5 and HAVE_X11R4.
11151
04a697fe
DN
111522007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
11153
11154 * Makefile.in: Remove references to sunfns.c and sunfns.o.
11155
880820fe 111562007-11-01 Johan Bockgård <bojohan@gnu.org>
56dad874
GM
11157
11158 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
fb053a1f 11159 Don't set s->stippled_p here, since it has already been set by
56dad874
GM
11160 x_set_glyph_string_gc from x_draw_glyph_string.
11161
07e5c0b0
DN
111622007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
11163
2a2e8de7 11164 * sunfns.c: Remove file.
07e5c0b0
DN
11165
11166 * m/sun386.h:
11167 * m/sun2.h:
11168 * m/sparc.h: Remove Sun windows code.
11169
1bc973c2
SM
111702007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
11171
11172 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
11173 (init_keyboard): Set current_kboard's window-system to nil.
11174 (tty_read_avail_input): Typo.
11175 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
11176
c22140f6
DN
111772007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
11178
11179 * s/usg5-4.h:
11180 * s/usg5-3.h:
11181 * s/ptx.h:
11182 * m/is386.h:
11183 * m/ibmps2-aix.h:
2a2e8de7 11184 * Makefile.in: Remove all mentions of X10.
c22140f6
DN
11185
11186 * dispnew.c (syms_of_display): Don't mention version 10.
11187
660a8219
JB
111882007-10-28 Juanma Barranquero <lekktu@gmail.com>
11189
11190 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
11191 ($(BLD)/abbrev.$(O)): Remove.
11192
e047f448
SM
111932007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
11194
11195 Rewrite abbrev.c in Elisp.
11196 * image.c (Qcount): Don't declare as extern.
11197 (syms_of_image): Initialize and staticpro `Qcount'.
11198 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
11199 * emacs.c (main): Don't call syms_of_abbrev.
11200 * Makefile.in (obj): Remove abbrev.o.
11201 (abbrev.o): Remove.
11202 * abbrev.c: Remove.
11203
67b73e3a
MR
112042007-10-26 Martin Rudalics <rudalics@gmx.at>
11205
11206 * window.c (window_min_size_2): Don't count header-line.
11207
e3d7bd83
DN
112082007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
11209
11210 * frame.h (struct frame): Move all bit fields after the first bit
660a8219 11211 field to take advantage of the available space. Group all the
e3d7bd83
DN
11212 chars together to reduce wasted space due to padding.
11213
a3547743
JB
112142007-10-26 Juanma Barranquero <lekktu@gmail.com>
11215
e298936f
JB
11216 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
11217
d3d47262
JB
11218 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
11219 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
11220 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
11221 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
11222 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
11223 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
11224 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
11225 (last_marked, mark_object_loop_halt): Make static.
11226
a3547743
JB
11227 * frame.c (syms_of_frame) <delete-frame-functions>:
11228 Fix typo in docstring.
11229
14c71d8b
JB
112302007-10-25 Juanma Barranquero <lekktu@gmail.com>
11231
11232 * w32.c (init_environment): Fix tiny memory leak.
66199f74 11233 (w32_get_resource): Remove unused variable `ok'.
14c71d8b 11234
70b8d0a4
SM
112352007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
11236
11237 Make `window-system' into a keyboard-local variable (rather than
11238 frame-local as done originally by multi-tty).
11239
11240 * keyboard.h (struct kboard): Add Vwindow_system.
11241 * keyboard.c (init_kboard): Set a default for Vwindow_system.
11242 (mark_kboards): Mark Vwindow_system.
11243
11244 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
11245 (init_display): Don't set the obsolete `window-system' frame-param.
11246
11247 * xterm.c (x_term_init):
11248 * w32term.c (w32_create_terminal):
11249 * term.c (init_tty): Set Vwindow_system.
11250 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
11251 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
11252
11253 * xfns.c (Fx_create_frame, x_create_tip_frame):
11254 * w32fns.c (Fx_create_frame, x_create_tip_frame):
11255 * macfns.c (Fx_create_frame):
11256 Don't set the obsolete `window-system' frame-param.
11257
11258 * frame.h (Qwindow_system): Remove.
11259 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
11260 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
11261
fdc90613 112622007-10-24 Richard Stallman <rms@gnu.org>
4521d1fc 11263
fdc90613
MB
11264 * frame.c (x_figure_window_size): For fullscreen case,
11265 set USPosition | PPosition without clobbering rest of window_prompting.
7c75be36 11266
fdc90613 11267 * keyboard.c (Fcurrent_idle_time): Doc fix.
4521d1fc 11268
fdc90613 11269 * print.c (Fwith_output_to_temp_buffer): Doc fix.
4521d1fc 11270
7357cb04
SM
112712007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
11272
98228e72
SM
11273 * process.c (unwind_request_sigio): Only define if __ultrix__.
11274
1baf6db9
SM
11275 * callproc.c (child_setup): Remove spurious *.
11276
4d0ac3d7
SM
11277 * lisp.h (Fget_text_property): Declare.
11278 (have_menus_p): Declare it here rather than in sys-dep header files.
11279 * macterm.h (have_menus_p):
11280 * msdos.h (have_menus_p):
11281 * xterm.h (have_menus_p): Remove.
11282
7357cb04
SM
11283 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
11284 (Fmake_variable_frame_local): Just check the variable's const-ness
11285 rather than checking nil or t.
11286
866e6dd6
JR
112872007-10-22 Jason Rumney <jasonr@gnu.org>
11288
b00afeae
JR
11289 * w32fns.c: Include math.h.
11290 (w32_abort): Declaration moved to nt/config.nt.
0f7f11b7 11291
c8f7c76b
JR
11292 * s/ms-w32.h (HAVE_STDLIB_H): Define.
11293 (abort): Redefinition moved to nt/config.nt.
11294
866e6dd6
JR
11295 * m/windowsnt.h: Remove.
11296
e79beb56
JB
112972007-10-22 Juanma Barranquero <lekktu@gmail.com>
11298
11299 * emacs.c (Fdump_emacs): Fix typo in message.
11300 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
11301 <installation-directory>: Reflow docstring.
11302
fb30dfd2
JL
113032007-10-22 Juri Linkov <juri@jurta.org>
11304
11305 * minibuf.c: Allow minibuffer default to be a list of default values.
11306 With empty input use the first element of this list as returned default.
e79beb56 11307 (string_to_object)
0f7f11b7 11308 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
fb30dfd2
JL
11309 (read_minibuf): If defalt is cons, set histstring to its car.
11310 (Fread_string): If default_value is cons, set val to its car.
11311 (Fread_buffer): If def is cons, use its car.
11312 (Fcompleting_read): If defalt is cons, set val to its car.
11313
1f163f28
MA
113142007-10-21 Michael Albinus <michael.albinus@gmx.de>
11315
11316 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
11317
db3534c3
JB
113182007-10-20 Juanma Barranquero <lekktu@gmail.com>
11319
11320 * doc.c (Fdocumentation): Check for advice in all cases.
11321
c6f18a07
CY
113222007-10-19 Chong Yidong <cyd@stupidchicken.com>
11323
11324 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
11325
2a1534d3
RS
113262007-10-19 Richard Stallman <rms@gnu.org>
11327
11328 * doc.c (Fdocumentation): Check for and handle an advised function.
11329
7b82c3b6
JB
113302007-10-19 Juanma Barranquero <lekktu@gmail.com>
11331
11332 * process.c (Fset_process_filter): Doc fix.
11333
3278f20e
SM
113342007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
11335
11336 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
11337 which caused key-translation-map to applied repeatedly (thus breaking
11338 double-mode).
11339
99784d63
SM
113402007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
11341
11342 * xselect.c (x_own_selection, x_handle_selection_clear)
11343 (x_clear_frame_selections):
11344 * w32menu.c (list_of_panes, list_of_items):
11345 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
11346 * textprop.c (validate_plist, interval_has_all_properties)
11347 (interval_has_some_properties, interval_has_some_properties_list)
11348 (add_properties, text_property_list):
11349 * process.c (Fget_buffer_process, list_processes_1, status_notify):
11350 * minibuf.c (Fassoc_string):
11351 * macselect.c (x_own_selection, x_clear_frame_selections)
11352 (Fx_disown_selection_internal):
11353 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
11354 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
11355
44bb704d
CY
113562007-10-17 Chong Yidong <cyd@stupidchicken.com>
11357
11358 * process.c: Link to libs for calling res_init() if available.
11359 (Fmake_network_process): Call res_init() before getaddrinfo or
11360 gethostbyname, if possible.
11361
d314756e
SM
113622007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
11363
2504022a
SM
11364 * lread.c (read1): Set pvectype for char_tables.
11365
19fa82b9
SM
11366 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
11367 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
11368 Add type checks.
11369 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
11370
d314756e
SM
11371 * alloc.c (free_misc): Use XMISCTYPE.
11372 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
11373
94b9aaa2
GM
113742007-10-17 Glenn Morris <rgm@gnu.org>
11375
11376 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
11377 (syms_of_minibuf): Add Qcompletion_ignore_case.
11378 * dired.c (Qcompletion_ignore_case): Change to external.
11379 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
11380 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
11381 (Fread_file_name): Use it rather than intern'ing.
11382
11383 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
11384 (Fread_coding_system): Ignore case of user input.
11385
da6658e8
YM
113862007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11387
11388 * xdisp.c (handle_display_prop): Ignore display specs after
11389 replacing one when string text is being replaced.
11390 (handle_single_display_spec): Pretend as if characters with display
11391 property haven't been consumed only when buffer text is being replaced.
11392
11fb4bdb
SM
113932007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
11394
9beb8baa
SM
11395 * xfns.c (Fx_create_frame, Fx_display_list):
11396 * window.c (window_fixed_size_p, enlarge_window)
11397 (shrink_window_lowest_first):
11398 * macterm.c (init_font_name_table):
11399 * macfns.c (Fx_create_frame, Fx_display_list):
11400 * lread.c (close_load_descs):
11401 * keyboard.c (read_char_x_menu_prompt):
11402 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
11403 * coding.c (code_convert_region_unwind): Test the type of an object
11404 rather than just !NILP before extracting data from it.
11405
d3f41ff5
SM
11406 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
11407
67ee9f6e
SM
11408 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
11409 (XMISCANY): New macro.
11410 (XMISCTYPE): Use it.
11411 (struct Lisp_Misc_Any): New type.
11412 (union Lisp_Misc): Use it.
11413 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
11414 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
11415 (find_symbol_value, set_internal, default_value, Fset_default)
11416 (Fmake_variable_buffer_local, Fmake_local_variable)
11417 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
11418 (Flocal_variable_if_set_p, Fvariable_binding_locus):
11419 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
11420 * alloc.c (allocate_buffer): Set the size and tag.
11421 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
11422 Use XMISCANY.
11423 (die): Follow the GNU convention for error messages.
11424 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
11425 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
11426 tag any more.
11427 (set_buffer_internal_1):
11428 * frame.c (store_frame_param):
11429 * eval.c (specbind):
11430 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
11431
11fb4bdb
SM
11432 * doc.c (Fsnarf_documentation): Simplify.
11433
decb374a
JB
114342007-10-14 Juanma Barranquero <lekktu@gmail.com>
11435
11436 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
11437 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
11438
b5a40ee7
SM
114392007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
11440
11441 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
11442
35277b03
JB
114432007-10-14 Juanma Barranquero <lekktu@gmail.com>
11444
11445 * eval.c (do_autoload): Don't save autoloads.
11446
11447 * data.c (Ffset): Save autoload of the function being set.
11448
35fdaa62
GM
114492007-10-07 John Paul Wallington <jpw@pobox.com>
11450
11451 * xfns.c (x_create_tip_frame): Set the `display-type' frame
11452 parameter before setting up faces.
11453
1ea40aa2
EZ
114542007-10-13 Eli Zaretskii <eliz@gnu.org>
11455
35fdaa62 11456 * ccl.c (Fregister_code_conversion_map):
96a5affb
EZ
11457 * keyboard.c (append_tool_bar_item): Reformat last change.
11458
1ea40aa2
EZ
11459 * lisp.h (eabs): Rename from `abs'. All callers changed.
11460
35277b03 114612007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
71d00ce4
EZ
11462
11463 * buffer.c (add_overlay_mod_hooklist):
11464 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
11465 * fontset.c (make_fontset):
11466 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
11467 (append_tool_bar_item):
11468 * macmenu.c (grow_menu_items):
35fdaa62 11469 * w32menu.c (grow_menu_items):
71d00ce4 11470 * xmenu.c (grow_menu_items): Use larger_vector.
35fdaa62 11471
bc82f120
EZ
114722007-10-13 Eli Zaretskii <eliz@gnu.org>
11473
11474 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
11475 selected frame'' on MSDOS).
11476
d57d5a78
MR
114772007-10-12 Martin Rudalics <rudalics@gmx.at>
11478
11479 * frame.c (Qexplicit_name): New variable.
11480 (x_report_frame_params): Report it in parameter alist.
11481 (syms_of_frame): Intern and staticpro it.
11482
35277b03 114832007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
04710ebd
JR
11484
11485 * macfns.c (x_create_tip_frame): Set terminal for frame.
11486
c7a4b95b
SM
114872007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
11488
26f9c7b7
SM
11489 * frame.c (Qenvironment): Remove.
11490 (syms_of_frame) <Qenvironment>: Don't initialize.
11491 (Fdelete_frame): Don't treat the `environment' param specially.
11492 * frame.h (Qenvironment): Don't declare.
11493 * callproc.c (set_initial_environment): Don't set unused frame param.
11494
c7a4b95b
SM
11495 * frame.c (Fframe_with_environment): Remove.
11496 (syms_of_frame) <Sframe_with_environment>: Don't declare.
26f9c7b7 11497
c7a4b95b
SM
11498 * lisp.h (Fframe_with_environment): Don't declare.
11499
c86f7377
JB
115002007-10-10 Juanma Barranquero <lekktu@gmail.com>
11501
11502 * indent.c (indent_tabs_mode, last_known_column)
11503 (last_known_column_modified): Make static.
11504 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
11505
d1b3a122
KY
115062007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
11507
11508 * puresize.h (BASE_PURESIZE): Increase to 1170000.
11509
d57d5a78
MR
115102007-10-09 Jason Rumney <jasonr@gnu.org>
11511
11512 * w32term.c (x_set_window_size): Disable code that attempts to tell
11513 Lisp code about a size change before it actually happens.
11514
81d3d428 115152007-10-09 Richard Stallman <rms@gnu.org>
91175673 11516
81d3d428
MB
11517 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
11518 return HANDLED_RETURN.
91175673 11519
1af74d06 115202007-10-08 Martin Rudalics <rudalics@gmx.at>
4f1b1854 11521
1af74d06
MB
11522 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
11523 when there's an unread command event.
e0fead5d 11524
c7a4b95b 11525 * frame.c (focus_follows_mouse): Move here from frame.el to allow
1af74d06
MB
11526 window autoselection act appropriately when leaving selected frame.
11527 (syms_of_frame): Initialize focus_follows_mouse.
11528 * frame.h (focus_follows_mouse): Extern it.
11529 * macterm.c (XTread_socket): When focus_follows_mouse is nil
c7a4b95b 11530 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
1af74d06
MB
11531 * msdos.c (dos_rawgetc): Likewise.
11532 * w32term.c (w32_read_socket): Likewise.
11533 * xterm.c (handle_one_xevent): Likewise.
11534 * xdisp.c (syms_of_xdisp): In doc-string of
11535 mouse-autoselect-window mention focus-follows-mouse.
e0fead5d 11536
1af74d06 115372007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
e0fead5d 11538
1af74d06
MB
11539 * macterm.c (mac_load_query_font): Fix missing return value.
11540 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
11541 Add BLOCK_INPUT.
c186cdb3 11542
1af74d06 115432007-10-08 Richard Stallman <rms@gnu.org>
c186cdb3 11544
1af74d06
MB
11545 * xdisp.c (get_window_cursor_type): Implement documented behavior
11546 for cursor-in-non-selected-windows = t.
c186cdb3 11547
1af74d06 115482007-10-08 Jason Rumney <jasonr@gnu.org>
c186cdb3 11549
1af74d06 11550 * w32.c (w32_get_resource): Always close registry keys.
58cfce98 11551
1af74d06 115522007-10-08 Jason Rumney <jasonr@gnu.org>
58cfce98 11553
1af74d06 11554 * makefile.w32-in (LIBS): Add COMCTL32.
62854fe2 11555
1af74d06 11556 * w32fns.c (globals_of_w32fns): Init common controls.
62854fe2 11557
1af74d06 115582007-10-08 Richard Stallman <rms@gnu.org>
a3c83618 11559
c7a4b95b 11560 * image.c (our_memory_buffer): Rename from omfib_buffer.
656f46bb 11561
1af74d06 115622007-10-08 Richard Stallman <rms@gnu.org>
656f46bb 11563
1af74d06 11564 * buffer.c (Foverlays_at): Doc fix.
036e218d 11565
1af74d06 115662007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
036e218d 11567
1af74d06 11568 * fns.c (Fplist_put): Preserve uneven tail data.
7ddb2c16 11569
1af74d06 115702007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
7ddb2c16 11571
1af74d06 11572 * termhooks.h (enum event_kind): Remove trailing comma.
ace9b298 11573
1af74d06 11574 * frame.h (enum): Remove trailing comma.
90647b07 11575
8993ad2e 115762007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
90647b07 11577
1af74d06 11578 * w32proc.c (delete_child): Don't terminate threads of zombies.
ace9b298 11579
1af74d06 115802007-10-08 Martin Rudalics <rudalics@gmx.at>
ace9b298 11581
1af74d06 11582 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
ace9b298 11583
1af74d06
MB
11584 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
11585 last-repeatable-command.
11586 (init_kboard): Initialize Vlast_repeatable_command.
11587 (command_loop_1): Set it to real_this_command unless that was
11588 bound to an input event.
11589 (mark_kboards): Mark it.
9fbc32aa 11590
1af74d06 115912007-10-08 Richard Stallman <rms@gnu.org>
036e218d 11592
1af74d06 11593 * eval.c (condition-case): Doc fix.
9fbc32aa 11594
1af74d06 115952007-10-08 Masatake YAMATO <jet@gyve.org>
9fbc32aa 11596
1af74d06
MB
11597 * xfaces.c (tty_supports_face_attributes_p): Fix code
11598 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
11599 was copied and not edited.
9fbc32aa 11600
beb9f745
SM
116012007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
11602
c86f7377 11603 Add new `input-decode-map' keymap and use it for terminal
4f4a84ec
SM
11604 escape sequences.
11605 * keyboard.h (struct kboard): Add Vinput_decode_map.
11606 Remove Vlocal_key_translation_map.
11607 * keyboard.c (read_key_sequence): Add support for input-decode-map.
11608 (init_kboard): Init input-decode-map.
11609 Replace local-key-translation-map back with key-translation-map.
11610 (syms_of_keyboard): Declare input-decode-map.
11611 Remove local-key-translation-map. Update docstrings.
11612 (mark_kboards): Mark Vinput_decode_map.
11613 Don't mark Vlocal_key_translation_map.
11614 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
11615 Replace local-key-translation-map back with key-translation-map.
11616 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
11617 Bind in input-decode-map rather than function-key-map.
11618
beb9f745
SM
11619 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
11620 This was made redundant by the previous introduction of XSETPVECTYPE.
11621
65342ae3
RS
116222007-10-09 Richard Stallman <rms@gnu.org>
11623
beb9f745 11624 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
65342ae3
RS
11625
116262007-09-29 Richard Stallman <rms@gnu.org>
11627
11628 * eval.c (internal_condition_case_2, internal_condition_case_1)
11629 (internal_condition_case): Reenable abort if x_catching_errors ()
11630 to see if that really happens and why.
11631
6cff77fd
AS
116322007-10-06 Andreas Schwab <schwab@suse.de>
11633
11634 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
11635
bbe6f2aa
JB
116362007-10-04 Juanma Barranquero <lekktu@gmail.com>
11637
11638 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
11639
a390930c
SM
116402007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
11641
11642 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
11643
d6aa1876
SM
116442007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
11645
d0fdb6da
SM
11646 * window.h (struct window):
11647 * window.c (struct save_window_data, struct saved_window):
11648 * termhooks.h (struct terminal):
11649 * process.h (struct Lisp_Process):
11650 * frame.h (struct frame):
11651 * buffer.h (struct buffer):
11652 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
11653 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
11654 The size field of (pseudo)vectors is now unsigned.
11655 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
11656
878f97ff
SM
11657 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
11658 Turn `count' into an integer.
d0fdb6da 11659
878f97ff
SM
11660 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
11661 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
11662 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
11663 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
11664 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
11665
d2029e5b
SM
11666 * alloc.c (allocate_pseudovector): New fun.
11667 (ALLOCATE_PSEUDOVECTOR): New macro.
11668 (allocate_window, allocate_terminal, allocate_frame)
11669 (allocate_process): Use it.
11670 (mark_vectorlike): New function.
11671 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
11672 (mark_terminals): Use it.
11673 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
11674 (Fmake_byte_code): Use XSETPVECTYPE.
11675
11676 * frame.c (Fframe_parameters): Minor simplification.
11677
11678 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
11679
11680 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
11681
11682 * buffer.c (Fget_buffer_create, init_buffer_once):
11683 * lread.c (defsubr):
11684 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
11685
11686 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
11687 defined differently in the m/*.h files.
11688 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
11689 (XSETPVECTYPE): New macro.
11690 (XSETPSEUDOVECTOR): Use it.
11691
d6aa1876
SM
11692 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
11693 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
d2029e5b 11694
d6aa1876
SM
11695 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
11696 * lread.c (defvar_per_buffer):
11697 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
11698
11699 * window.c (candidate_window_p): Only consider as visible frames that
11700 are on the same terminal.
11701
11702 * m/ibms390x.h (MARKBIT): Remove unused macro.
11703
88852d45
JB
117042007-10-01 Juanma Barranquero <lekktu@gmail.com>
11705
11706 * lread.c (Fload): Fix typo in docstring.
11707
880820fe 117082007-10-01 Michaël Cadilhac <michael@cadilhac.name>
2742fe30
MC
11709
11710 * floatfns.c (Fexpt): Manually check for overflows, so that a power
11711 of a non-zero value can't yield zero.
11712
ed0c79c6
SM
117132007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
11714
b870aa61
SM
11715 * term.c (term_clear_mouse_face, term_mouse_highlight)
11716 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
11717
4c37a414
SM
11718 * print.c (safe_debug_print): Use XHASH.
11719
b9466edb
SM
11720 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
11721 Lisp elements such as tags.
11722 (XHASH): New macro.
11723 (EQ): Use it.
11724 (SREF, SSET, STRING_COPYIN): Use SDATA.
11725 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
11726
9c545a55
SM
11727 * alloc.c (mark_terminal): Remove left-over declaration.
11728 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
11729 (allocate_vectorlike): Remove type argument. Adjust callers.
11730 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
11731 Only handle the one remaining MEM_TYPE_VECTORLIKE.
11732
dafc79fa
SM
11733 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
11734 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
11735 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
11736 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
11737 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
11738 Use them.
11739
ed0c79c6
SM
11740 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
11741 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
11742 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
11743
3c81afd4
DN
117442007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
11745
11746 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
11747 loaded by default.
11748
6178ce5e
SM
117492007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
11750
4ce5ab77
SM
11751 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
11752 on this tty.
11753 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
11754
6178ce5e
SM
11755 * term.c (mouse_face_window): Rename from Qmouse_face_window.
11756 Update all users.
11757 (handle_one_term_event): Use Gpm_DrawPointer.
11758 (Fgpm_mouse_start): Rename from Fterm_open_connection.
11759 Signal errors instead of returning nil. Always return nil.
11760 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
11761 Make it a noop if gpm-mouse was not activated.
11762 (syms_of_term): Update names.
11763
bdf5f8ef
SM
117642007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
11765
75a8734b
SM
11766 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
11767 (init_sys_modes): Check that gpm_tty is the current tty.
11768
13559ee0
SM
11769 * alloc.c (allocate_terminal): Set the vector size to only count the
11770 lisp fields. Initialize those to nil.
11771 (mark_object): Don't treat terminals specially.
11772 (mark_terminal): Remove.
11773 (mark_terminals): Use mark_object instead.
11774
ff16b875
SM
11775 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
11776 the GC to the beginning.
11777
83155776
SM
11778 * indent.h:
11779 * indent.c: Use EMACS_INT for ints coming from Elisp data.
11780
bdf5f8ef
SM
11781 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
11782
ec8705b6
JR
117832007-09-25 Jason Rumney <jasonr@gnu.org>
11784
11785 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
11786
11787 * w32console.c (create_w32cons_output): Remove.
11788
11789 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
11790
11791 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
11792 (reset_sys_modes): Use reset_terminal_modes_hook.
11793
7351b242
SM
117942007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
11795
11796 * eval.c (do_autoload): Don't output any message.
11797
16706228
JL
117982007-09-24 Juri Linkov <juri@jurta.org>
11799
11800 * emacs.c (standard_args): Change priority of "--no-splash"
11801 from 40 to 3. Add "--no-desktop" with the same priority.
11802
3ae2e3a3
RS
118032007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
11804
11805 * alloc.c (gc_sweep): Check cons cell mark bits word by word
11806 and optimize the case where they are all 1.
11807
7a58fb43
GM
118082007-09-23 Johannes Weiner <hannes@saeurebad.de>
11809
3ae2e3a3
RS
11810 * lisp.h (abs): Define if not defined.
11811 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
11812 Don't define `abs', since it's defined in lisp.h.
7a58fb43 11813
78048085
EZ
118142007-09-22 Eli Zaretskii <eliz@gnu.org>
11815
c7a4b95b 11816 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
78048085
EZ
11817 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
11818 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
11819 (init_tty): Use DEV_TTY instead of "/dev/tty".
11820 [WINDOWSNT]: No need to protect from NAME arg being null.
11821
23d4cba5
DN
118222007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
11823
11824 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
11825 up the tty state.
11826
71f44e7a
SM
118272007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
11828
11829 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
11830 (gpm_tty): Change its type.
11831 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
11832 (gpm_tty): Change its type and initialize it.
11833 (Fterm_open_connection): Check the frame is indeed a tty.
11834 Use the new gpm_tty.
11835 (Fterm_close_connection): Use the new gpm_tty.
11836 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
11837 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
11838
def7fa34
JB
118392007-09-21 Juanma Barranquero <lekktu@gmail.com>
11840
11841 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
11842 underline_color, to draw strike-through.
11843
d2bb6598
SM
118442007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
11845
273f164c
SM
11846 * lisp.h (allocate_terminal): Declare.
11847
ca2d5566
SM
11848 * window.c (candidate_window_p): Consider frames that are being placed
11849 by the user as somewhere between visible and iconified.
11850 (window_loop): Prefer windows on the current frame.
11851 (Fselect_window): Move the use of select-frame to the beginning so we
11852 can just delegate all the work (it'll call us back anyway).
11853
6168122d
SM
11854 * frame.c (Qdisplay_environment_variable):
11855 * frame.h (Qdisplay_environment_variable): Delete.
11856
c51842ec
SM
11857 * .gdbinit (xbacktrace): Print the arg's address rather than the value
11858 of the first arg, since that value may be a union.
11859
d2bb6598
SM
11860 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
11861 parameter rather than Qdisplay_environment_variable. If all else
11862 fails, look for DISPLAY in initial-environment.
11863
6f022c19
GM
118642007-09-21 Glenn Morris <rgm@gnu.org>
11865
11866 * Makefile.in (emacstool): Remove target.
f466320b 11867 (lisp, shortlisp): Remove termdev.elc.
6f022c19 11868
ea1bf8c7
GM
118692007-09-21 Markus Triska <markus.triska@gmx.at>
11870
d2bb6598 11871 * xterm.c (x_delete_display): Compile session management conditionally.
ea1bf8c7 11872
d30a25b3
SM
118732007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
11874
db699fc6
SM
11875 * callproc.c (getenv_internal_1): New function.
11876 (getenv_internal): Use it.
11877 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
11878
d2bb6598 11879 * terminal.c (get_terminal): Don't accept ints to represent terminals.
c5911e55
SM
11880 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
11881 (Fset_terminal_parameter): Work with dead terminals as well.
11882 (Fmodify_terminal_parameters): Remove.
11883
d30a25b3
SM
11884 * terminal.c (get_terminal): Handle terminals.
11885 Make sure the terminal returned is live.
11886 (create_terminal): Use allocate_terminal.
11887 (mark_terminals): Move to alloc.c.
11888 (delete_terminal): Use terminal->name as liveness status.
11889 NULL out fields after freeing their contents.
11890 Don't deallocate the object.
11891 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
11892 rather than an int.
11893 (Fterminal_live_p): Accept non-integer arguments.
11894 (Fterminal_list): Return terminal objects rather than an ints.
11895
11896 * alloc.c (enum mem_type): New member for `terminal' objects.
11897 (allocate_terminal): New function.
d2bb6598
SM
11898 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
11899 Handle terminals.
d30a25b3
SM
11900 (mark_terminal): New fun.
11901 (mark_terminals): Move from terminal.c.
11902
11903 * term.c (get_tty_terminal): Don't treat output_initial specially.
11904 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
11905 (delete_tty): Use terminal->name as liveness status.
11906
11907 * termhooks.h (struct terminal): Make it into a pseudovector.
11908 Remove `deleted' replaced by checking `name's nullness.
11909
11910 * print.c (print_object): Handle terminals.
11911
11912 * lisp.h (enum pvec_type): New `terminal' pseudovector.
11913 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
11914
11915 * frame.c (make_terminal_frame):
11916 * keyboard.c (tty_read_avail_input):
11917 * w32term.c (x_delete_terminal):
11918 * xfns.c (Fx_create_frame, x_create_tip_frame):
11919 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
11920
eba25e7c
GM
119212007-09-20 Glenn Morris <rgm@gnu.org>
11922
11923 * process.c (Fmake_network_process): Doc fix.
11924
2a29c3c1
JR
119252007-09-19 Jason Rumney <jasonr@gnu.org>
11926
11927 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
11928
880820fe 119292007-09-19 Michaël Cadilhac <michael@cadilhac.name>
ba1cbad7
MC
11930
11931 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
11932 Fix a C warning regarding variable constness.
11933
11934 * xterm.c (handle_one_xevent): Fix a C warning.
11935
334a1195
JR
119362007-09-18 Jason Rumney <jasonr@gnu.org>
11937
11938 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
11939
880820fe 119402007-09-17 Jan Djärv <jan.h.d@swipnet.se>
879ffad9
JD
11941
11942 * gtkutil.c (gdpy_def): New variable.
11943 (xg_initialize): Initialize gdpy_def.
11944 (xg_display_close): If no other display exists, set gdpy_def to a
11945 new connection.
11946
880820fe 119472007-09-16 Jan Djärv <jan.h.d@swipnet.se>
45c94881
JD
11948
11949 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
11950 when we have no file name for the icon.
11951 (xg_tool_bar_expose_callback): Remove.
11952 (xg_create_tool_bar): Don't connect expose signal to
11953 xg_tool_bar_expose_callback.
11954 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
11955
4d580af2
AS
119562007-09-16 Andreas Schwab <schwab@suse.de>
11957
11958 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
11959 values instead of zapping them.
11960
aca946f3
GM
119612007-09-14 Glenn Morris <rgm@gnu.org>
11962
11963 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
11964 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
11965 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
11966 scope and rename to omfib_buffer for clarity.
11967 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
11968
25c460e5
KH
119692007-09-14 Kenichi Handa <handa@m17n.org>
11970
11971 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
11972
09b69f01
JR
119732007-09-13 Jason Rumney <jasonr@gnu.org>
11974
11975 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
11976
11977 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
11978
11979 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
11980 (mac_term_init): Call here instead, passing rif.
11981
442218db
GM
119822007-09-13 Glenn Morris <rgm@gnu.org>
11983
11984 * s/hpux.h: No longer define `static' as nothing.
11985
880820fe 119862007-09-13 Johan Bockgård <bojohan@gnu.org>
4795c40f
GM
11987
11988 * callint.c (Fcall_interactively): Remove unused var `fun'.
11989
1971a872
RF
119902007-09-12 Romain Francoise <romain@orebokech.com>
11991
11992 * window.c (prefer_window_split_horizontally, display_buffer):
11993 Revert 2007-09-08 change.
11994
2d33f506
GM
119952007-09-12 Glenn Morris <rgm@gnu.org>
11996
585474ae 11997 * alloca.c: Remove file.
ca7af97a
GM
11998 * Makefile.in (alloca): Do not undef.
11999 (allocaobj, alloca.o): Remove.
12000 (otherobj): Remove allocaobj.
12001 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
12002 * regex.c (C_ALLOCA): Remove all references and code that was only
12003 used when this was defined.
12004 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
12005 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
99dfbaf1
GM
12006 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
12007
2d33f506 12008 * Makefile.in (SOURCES, unlock, relock): Delete.
ca7af97a
GM
12009
12010 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
12011 (menu_grab_callback): All uses changed.
12012
12013 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
12014 (x_reply_selection_request): All uses changed.
2d33f506 12015
18a4a65e
SM
120162007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
12017
12018 * lread.c (load_warn_old_style_backquotes): Change message to look
12019 better when it appears in the middle of byte-compiler messages.
12020
47cc8819
DN
120212007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
12022
b7ea0894
DN
12023 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
12024
47cc8819
DN
12025 * xterm.c (x_create_terminal): Add comment.
12026
12027 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
12028
5632bd0f
RS
120292007-09-10 Richard Stallman <rms@gnu.org>
12030
12031 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
12032
880820fe 120332007-09-10 Michaël Cadilhac <michael@cadilhac.name>
ccb5c14f 12034
4bca9161
MC
12035 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
12036 (DEFUN): Document `intspec', use it instead of `prompt'.
12037
04724b69
MC
12038 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
12039
8a6d230a
MC
12040 * data.c (Finteractive_form): If the interactive specification starts
12041 with a `(', use it as a Lisp form.
12042
09fbdf6c
MC
12043 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
12044 name and file modes.
12045
ccb5c14f
MC
12046 * callint.c (Fcall_interactively): Comment fixes.
12047
023accd6
SM
120482007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
12049
12050 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
12051 and compiled functions.
12052
f26b9544
EZ
120532007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
12054
12055 * window.c (prefer_window_split_horizontally): New variable.
12056 (display_buffer): Consider splitting window horizontally depending
12057 on prefer_window_split_horizontally.
12058
4d395425
EZ
120592007-09-08 Eli Zaretskii <eliz@gnu.org>
12060
97ddc760 12061 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
4d395425 12062
08c1d235
SM
120632007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
12064
179cef48
SM
12065 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
12066
08c1d235
SM
12067 * frame.c (x_set_frame_parameters): Check number is positive before
12068 using XFASTINT.
12069
12070 * window.c (freeze_window_start): Don't presume selected_window holds
12071 a window object.
92f94a12 12072 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
08c1d235 12073
97ddc760 120742007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
de52dcbb
DN
12075
12076 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
12077
90ab5c62
SM
120782007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
12079
12080 * window.c (Vsplit_window_preferred_function): New var.
12081 (Fdisplay_buffer): Use it.
12082 (syms_of_window): Export, and initialize it.
12083
1ab2cd43
TTN
120842007-09-06 Pixel <pixel@mandriva.com> (tiny change)
12085
12086 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
12087
0b0515bc
GM
120882007-09-06 Glenn Morris <rgm@gnu.org>
12089
57fd5c55 12090 * gtkutil.c (menu_grab_callback) <cnt>:
0b0515bc
GM
12091 * xselect.c (x_reply_selection_request) <cnt>: Move static
12092 variable to file scope.
12093
98594580
SM
120942007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
12095
12096 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
12097 consistent values of selected_frame and selected_window.
12098
0f4c7aef
JR
120992007-09-04 Jason Rumney <jasonr@gnu.org>
12100
12101 * w32console.c (initialize_w32_display): Zero unused hooks.
12102
e4019195
DN
121032007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
12104
12105 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
12106 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
12107
bce179b5
JR
121082007-09-04 Jason Rumney <jasonr@gnu.org>
12109
a0236551
JR
12110 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
12111 in w32console.c. Set up input. Remove XXX comments that have been
12112 confirmed as correct.
12113
a4926668
JR
12114 * s/ms-w32.h (MULTI_KBOARD): Define.
12115
953bf0dc
JR
12116 * w32console.c (one_and_only_w32cons): Remove.
12117 (initialize_w32_display): Take terminal argument.
12118
12119 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
12120 initialize_w32_display.
12121 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
12122
bce179b5
JR
12123 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
12124
12125 * keyboard.c (discard_mouse_events): Discard it.
12126 (make_lispy_event): Translate it to a lisp event.
12127 (lispy_wheel_names): Add wheel-left and right events.
12128 (syms_of_keyboard): Enlarge wheel_syms.
12129
12130 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
12131 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
12132
12133 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
12134
12135 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
12136 from WM_MOUSEHWHEEL.
12137 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
12138
12139 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
12140 terminal.
12141
12142 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
12143 keyboard for the terminal.
12144
92cd6a7c
DN
121452007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
12146
12147 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
12148 (Vresume_tty_hook): Rename from Vresume_tty_functions.
12149 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
12150 and resume-tty-function to resume-tty-hook.
12151 (Fsuspend_tty, Fresume_tty): Use new names.
12152
880820fe 121532007-09-02 Jan Djärv <jan.h.d@swipnet.se>
2154c964
JD
12154
12155 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
12156 if it starts with "n:".
12157
880820fe 121582007-08-31 Jan Djärv <jan.h.d@swipnet.se>
b42ff099
JD
12159
12160 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
12161
6b8e474c
SM
121622007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
12163
92d9c1d4
SM
12164 * frame.h:
12165 * frame.c (Qterm_environment_variable): Remove.
12166 (syms_of_frame): Don't init and staticpro it.
12167
92d9c1d4
SM
12168 * callproc.c (getenv_internal): Remove special case for $TERM.
12169
6b8e474c
SM
12170 * callproc.c (Vinitial_environment): New variable.
12171 (set_initial_environment): Initialize it.
12172 (syms_of_callproc): Declare it.
12173 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
12174 TERM under which a process runs is never related to the TERM in which
12175 Emacs is running.
12176
0f1444e1
DN
121772007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
12178
12179 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
12180 * s/darwin.h: ... do it here.
12181
b8866860
SM
121822007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
12183
12184 * lisp.h (set_initial_environment): Rename from set_global_environment.
12185
12186 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
12187 removed by mistake on the multi-tty branch.
12188
12189 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
12190 (Fmodify_frame_parameters): Return a value.
12191
12192 * image.c (png_load): Comment-out var only used in commented-out code.
12193
12194 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
12195 before passing it to mark_object.
12196
12197 * xfaces.c (internal_resolve_face_name): Return a value.
12198 (internal_resolve_face_name, resolve_face_name_error): Comment out.
12199
12200 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
12201 (x_icon): Comment-out var only used in commented-out code.
12202
0a42be6d
RF
122032007-08-29 Romain Francoise <romain@orebokech.com>
12204
12205 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
12206 QUIT hasn't been provided.
12207
8d9cc0b7
MB
122082007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
12209
12210 * callproc.c (child_setup, getenv_internal): Use the
ce20b664 12211 display-environment-variable and term-environment-variable frame params.
8d9cc0b7
MB
12212 (set_initial_environment): Initialise Vprocess_environment.
12213
12214 * config.in: Disable multi-keyboard support on a mac.
12215
12216 * frame.c (Qterm_environment_variable)
12217 (Qdisplay_environment_variable): New variables.
12218 (syms_of_frame): Intern and staticpro them.
12219 (Fmake_terminal_frame): Disable output method test.
12220
12221 * frame.h: Declare them here.
12222
12223 * macfns.c (x_set_mouse_color): Get rif from the frame.
12224 (x_set_tool_bar_lines): Don't use updating_frame.
12225 (mac_window): Add 2 new parameters for consistency with other systems.
12226 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
12227 frame parameters following what is done in X11 and w32. Don't use
12228 FRAME_MAC_DISPLAY_INFO.
12229 (Fx_open_connection, start_hourglass): Remove window-system check.
12230 (x_create_tip_frame): Get the keyboard from the terminal.
12231
12232 * macmenu.c: Reorder includes.
12233 (Fx_popup_menu): Use terminal specific mouse_position_hook.
12234
12235 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
12236 terminal parameter.
12237 (x_clear_frame): Add a frame parameter.
12238 (note_mouse_movement): Get rif from the frame.
12239 (mac_term_init): Initialize the terminal.
12240 (mac_initialize): Make static and move terminal initialization ...
12241 (mac_create_terminal): ... to this new function.
12242
12243 * macterm.h (struct mac_display_info): Add terminal.
7196c970 12244 (mac_initialize): Delete declaration.
8d9cc0b7 12245
381864b2 12246 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
8d9cc0b7
MB
12247
12248 * sysdep.c: Comment out text after #endif.
12249
12250 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
12251 is defined. Better initialize ttys in windows. Use terminal
12252 specific mouse_position_hook.
12253
12254 * termhooks.h (union display_info): Add mac_display_info.
12255
b8866860
SM
12256 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
12257 Set the default minibuffer frame, window_system and the rest of the
8d9cc0b7
MB
12258 frame parameters following what is done in X11.
12259
12260 * w32term.c (w32_initialize): Make static.
12261
12262 * xselect.c (x_handle_selection_clear): Only access
12263 terminal->kboard when MULTI_KBOARD is defined.
12264
12265 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
12266 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
12267
122682007-08-29 Jason Rumney <jasonr@gnu.org>
12269
12270 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
12271 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
12272
12273 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
12274 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
12275
12276 * keyboard.c (restore_kboard_configuration): Only define when
12277 MULTI_KBOARD defined.
12278
35277b03 12279 * makefile.w32-in: Update dependancies from Makefile.in.
8d9cc0b7
MB
12280 (OBJ1): Add terminal.$(O)
12281
b8866860
SM
12282 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
12283 Don't define function body.
8d9cc0b7
MB
12284 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
12285
12286 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
12287
12288 * w32.c (request_sigio, unrequest_sigio): Remove.
12289
12290 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
12291 (w32con_clear_frame, w32con_clear_end_of_line)
12292 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
12293 (w32con_delete_glyphs, w32con_set_terminal_window)
12294 (scroll_line, w32_sys_ring_bell): Add frame arg.
b8866860
SM
12295 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
12296 Add terminal arg.
8d9cc0b7
MB
12297 (PICK_FRAME): Remove.
12298 (w32con_write_glyphs): Use frame specific terminal coding.
12299 (one_and_only_w32cons): New global variable.
12300 (initialize_w32_display): Use it for storing hooks.
12301 (create_w32cons_output): New function.
12302
12303 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
12304 arg a frame.
12305
b8866860
SM
12306 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
12307 Set window_system.
8d9cc0b7
MB
12308 (x_set_tool_bar_lines): Don't use updating_frame.
12309 (Fx_create_frame): Set terminal and ref count.
12310 (Fx_open_connection): Remove window-system check.
12311
12312 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
12313
12314 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
12315 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
12316 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
12317 Add frame arg.
12318 (x_delete_terminal, w32_create_terminal): New functions.
12319 (w32_term_init): Create a terminal.
12320 (w32_initialize): Move terminal specific initialization to
12321 w32_create_terminal.
12322
b8866860 12323 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
8d9cc0b7
MB
12324 (w32_clear_rect, w32_clear_area): Use background from frame.
12325 (w32_display_info): Add terminal.
12326 (w32_sys_ring_bell, x_delete_display): Declare here.
12327
12328 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
12329
12330 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
12331
123322007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
12333
12334 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
12335 Fix get_named_tty calls for the controlling tty.
12336
123372007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
12338
12339 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
12340
123412007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
12342
12343 * term.c (tty_insert_glyphs): Add missing first parameter.
12344
880820fe 123452007-08-29 Károly Lőrentey <karoly@lorentey.hu>
8d9cc0b7 12346
b8866860
SM
12347 * buffer.c (Fbuffer_list, Fbury_buffer):
12348 Take frame->buried_buffer_list into account.
8d9cc0b7
MB
12349
12350 * cm.c (current_tty): New variable, for cmputc().
12351 (cmputc): Use it.
12352 (cmcheckmagic): Add tty parameter, look up terminal streams there.
12353 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
b8866860
SM
12354 (cmgoto): Add tty parameter. Pass it on to calccost().
12355 Use emacs_tputs() instead of tputs().
8d9cc0b7
MB
12356
12357 * cm.h (emacs_tputs): New macro to set current_tty, and then call
12358 tputs().
12359 (current_tty): New variable, for cmputc().
12360 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
12361
12362 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
12363 (internal_condition_case, internal_condition_case_1)
12364 (internal_condition_case_2): Don't abort when x_catching_errors.
12365
12366 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
12367 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
12368 prevent crashes caused by bogus longjmps in read_char.
12369
12370 * keymap.h (Fset_keymap_parent): Add EXFUN.
12371
12372 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
12373 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
12374 Remove redundant definition.
12375
b8866860
SM
12376 * macfns.c (x_set_mouse_color, x_make_gc):
12377 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7 12378
b8866860
SM
12379 * w32term.c (x_free_frame_resources):
12380 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
12381 (w32_initialize): Use the accessor macros for terminal characteristics.
12382
12383 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
12384 Use the accessor macros for terminal characteristics.
12385 * msdos.c (internal_terminal_init): Use the accessor macros for
12386 terminal characteristics.
b8866860
SM
12387 (ScreenVisualBell, internal_terminal_init):
12388 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
12389
12390 * termopts.h (no_redraw_on_reenter): Declare.
12391
12392 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
03f06e5c 12393 (mark_terminals, mark_ttys): Declare.
8d9cc0b7 12394 (Fgarbage_collect): Call them.
03f06e5c 12395 (mark_object): Mark buried_buffer_list.
8d9cc0b7
MB
12396
12397 * prefix-args.c: Include stdlib.h for exit.
12398
12399 * syssignal.h: Add comment.
12400
12401 * indent.c: Include stdio.h.
12402
12403 * window.h (Vinitial_window_system): Declare.
12404 (Vwindow_system): Delete declaration.
12405
12406 * fontset.c (Finternal_char_font): Use FRAME_RIF.
12407
12408 * image.c (lookup_image): Don't initialize `c' until the xasserts
12409 have been run.
12410
12411 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
12412 FRAME_FOREGROUND_PIXEL.
12413
12414 * print.c (print_preprocess): Don't lose print_depth levels while
12415 iterating.
12416
b8866860
SM
12417 * widget.c (update_from_various_frame_slots):
12418 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
12419
12420 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
12421 frames.
12422 (window_internal_height): Remove bogus make_number call.
b8866860 12423 (init_window_once): Call make_terminal_frame with two zero parameters.
8d9cc0b7
MB
12424
12425 * fileio.c (Fread_file_name): Update comment.
12426
b8866860
SM
12427 * callint.c (Fcall_interactively):
12428 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
8d9cc0b7
MB
12429 Make sure it is correctly unwound.
12430
12431 * xsmfns.c (x_session_close): New function.
12432
03f06e5c 12433 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
8d9cc0b7
MB
12434 Delete declarations.
12435
12436 * xterm.h: Remove declaration for x_fully_uncatch_errors.
12437 (x_output): Remove background_pixel and foreground_pixel fields.
03f06e5c 12438 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
c3f9fba8 12439 (x_delete_device, x_session_close): Declare.
8d9cc0b7
MB
12440
12441 * lread.c: Include setjmp.h. Update declaration of `read_char'.
12442 (read_filtered_event): Call `read_char' with a local
12443 `wrong_kboard_jmpbuf'.
12444
b8866860
SM
12445 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
12446 Don't call single_kboard_state. Use FRAME_RIF.
8d9cc0b7
MB
12447
12448 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
12449 systems.
12450
b8866860 12451 * lisp.h (set_process_environment): Rename to `set_global_environment'.
03f06e5c 12452 (Fframe_with_environment, Fset_input_meta_mode)
8d9cc0b7 12453 (Fset_quit_char): EXFUN.
03f06e5c 12454 (x_create_device, tty_output, terminal, tty_display_info): Declare.
8d9cc0b7
MB
12455 (init_sys_modes, reset_sys_modes): Update prototypes.
12456 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
12457
b8866860
SM
12458 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
12459 Vlocal_key_translation_map, and Vkeyboard_translate_table.
03f06e5c 12460 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
8d9cc0b7 12461 Delete declarations.
03f06e5c
JB
12462 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
12463 (temporarily_switch_to_single_kboard, tty_read_avail_input):
8d9cc0b7
MB
12464 New declarations.
12465
12466 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
12467 already does that during init_display(). Call syms_of_keymap
b8866860
SM
12468 before syms_of_keyboard. Call `syms_of_terminal'.
12469 Call set_initial_environment, not set_process_environment.
8d9cc0b7
MB
12470 (shut_down_emacs): Call reset_all_sys_modes() instead of
12471 reset_sys_modes().
12472
12473 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
03f06e5c
JB
12474 (internal_resolve_face_name, resolve_face_name_error): New functions.
12475 (resolve_face_name): Protect against loops and errors thrown by Fget.
12476 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
8d9cc0b7
MB
12477 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
12478
12479 * scroll.c: Replace CURTTY() with local variables throughout the
12480 file (where applicable).
12481 (calculate_scrolling, calculate_direct_scrolling)
12482 (scrolling_1, scroll_cost): Use the accessor macros for terminal
12483 characteristics.
12484
12485 * keymap.c (Vfunction_key_map): Remove.
b8866860 12486 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
8d9cc0b7
MB
12487 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
12488 (Vkey_translation_map): Remove.
12489 (syms_of_keymap): Remove DEFVAR for key-translation-map.
c3f9fba8 12490 (Fdescribe_buffer_bindings)
8d9cc0b7
MB
12491 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
12492 Update for terminal-local key-translation-map.
12493
12494 * Makefile.in (callproc.o): Update dependencies.
12495 (lisp, shortlisp): Add termdev.elc.
12496 (obj): Add terminal.o.
12497 (terminal.o): Add dependencies.
12498 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
12499 (data.o, fns.o): Add termhooks.h dependency.
12500 (SOME_MACHINE_LISP): Add dnd.elc.
12501 (minibuf.o): Fix typo.
12502 Update dependencies.
12503
12504 * data.c (do_symval_forwarding, store_symval_forwarding)
12505 (find_symbol_value): Use the selected frame's keyboard, not
12506 current_kboard.
12507
12508 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
12509 Vwindow_system.
12510
12511 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
12512 Fmenu_bar_open.
12513 (syms_of_xmenu): Update defsubr.
12514 (mouse_position_for_popup, Fx_popup_menu)
12515 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
12516 (set_frame_menubar, free_frame_menubar)
12517 (create_and_show_popup_menu, xmenu_show, )
12518 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
12519 an X frame.
12520
12521 * xselect.c (x_own_selection): Abort if not an X frame.
12522 (some_frame_on_display): Check if it is an X frame.
12523 (x_handle_selection_clear): Deal with MULTI_KBOARD.
12524
12525 * coding.c: Include frame.h and termhooks.h.
03f06e5c 12526 (terminal_coding, keyboard_coding): Delete.
c3f9fba8
JB
12527 (Fset_terminal_coding_system_internal)
12528 (Fset_keyboard_coding_system_internal)
12529 (Fkeyboard_coding_system)
03f06e5c
JB
12530 (Fterminal_coding_system): Add a terminal parameter.
12531 Get terminal_coding from the terminal.
8d9cc0b7
MB
12532 (init_coding_once): Don't call setup_coding_system here.
12533
12534 * dispextern.h (set_scroll_region, turn_off_insert)
12535 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
12536 (tty_clear_end_of_line, tty_setup_colors)
03f06e5c 12537 (delete_tty, updating_frame)
8d9cc0b7
MB
12538 (produce_special_glyphs, produce_glyphs, write_glyphs)
12539 (insert_glyphs): Remove.
12540 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
03f06e5c 12541 (tty_turn_off_highlight, get_tty_size): Add declaration.
b8866860 12542 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
8d9cc0b7
MB
12543
12544 * frame.h (enum output_method): Add output_initial.
12545 (struct x_output): Delete.
b8866860
SM
12546 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
12547 Access foreground_pixel and background_pixel directly from the frame.
8d9cc0b7
MB
12548 (tty_display): Delete.
12549 (struct frame): Add buried_buffer_list, foreground_pixel,
1f204af3 12550 background_pixel and terminal. Delete kboard.
8d9cc0b7
MB
12551 (union output_data): Add tty.
12552 (FRAME_KBOARD): Get the kboard from the terminal.
12553 (FRAME_INITIAL_P): New macro.
12554 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
12555 (Qterm_environment_variable, Qdisplay_environment_variable)
b8866860
SM
12556 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
12557 New declarations.
8d9cc0b7
MB
12558
12559 * termchar.h (tty_output, tty_display_info): New structures.
12560 (tty_list): Declare.
12561 (FRAME_TTY, CURTTY): New macros.
12562 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
12563 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
12564 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
12565 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
12566
12567 * callproc.c: Include frame.h and termhooks.h, for terminal
12568 parameters.
12569 (add_env): New function.
12570 (child_setup): Use it.
b8866860 12571 (child_setup, getenv_internal): Handle the new Vprocess_environment.
8d9cc0b7
MB
12572 (getenv_internal): Fix get_terminal_param call.
12573 (Fgetenv_internal, egetenv): Update doc.
12574 (syms_of_callproc): Initialize Vprocess_environment to nil.
03f06e5c 12575 Register and initialize them. Remove obsolete defvars. Update doc
8d9cc0b7
MB
12576 strings.
12577 (child_setup): Handle Vlocal_environment_variables.
b8866860
SM
12578 (getenv_internal): Add terminal parameter.
12579 Handle Vlocal_environment_variables.
8d9cc0b7
MB
12580 (Fgetenv_internal): Add terminal parameter.
12581 (child_setup, getenv_internal, Fgetenv_internal): Store the local
b8866860 12582 environment in a frame (not terminal) parameter. Update doc strings.
8d9cc0b7
MB
12583 (set_initial_environment): Rename from set_global_environment.
12584 Store Emacs environment in initial frame parameter.
12585
12586 * xdisp.c (redisplay_internal): Update references to
12587 `previous_terminal_frame'.
12588 (display_mode_line, Fformat_mode_line): Replace calls to
12589 `push_frame_kboard' with `push_kboard'.
12590 (get_glyph_string_clip_rects): Add extra parentheses and
12591 braces to prevent compiler warnings.
12592 (calc_pixel_width_or_height): Add xassert to check that the
12593 frame is alive. Don't call `lookup_image' on a termcap frame.
12594 (message2_nolog, message3_nolog, redisplay_internal)
12595 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
12596 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
12597 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
12598 (Fx_display_pixel_width, Fx_display_pixel_height)
12599 (Fx_display_planes, Fx_display_color_cells)
12600 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
12601 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
12602 (Fx_display_backing_store, Fx_display_visual_class)
12603 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
97ddc760 12604 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
8d9cc0b7
MB
12605
12606 * xfns.c (x_set_foreground_color x_set_background_color)
b8866860
SM
12607 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
12608 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
12609 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
12610 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
12611 terminal that is being deleted.
12612 (Fx_create_frame): Use `store_frame_param' to set `window-system'
b8866860 12613 frame parameter, and make sure it overrides any user-supplied setting.
8d9cc0b7
MB
12614 (Fx_close_connection, Fx_synchronize): Unify argument names with
12615 the rest of the DEFUNs.
12616
12617 * dispnew.c (Fsend_string_to_terminal): Update call to
12618 `get_tty_terminal'.
12619 (Fredraw_frame, Fsend_string_to_terminal)
2d33f506 12620 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
8d9cc0b7
MB
12621 FRAME_TERMCAP_P and FRAME_TTY.
12622 (window_change_signal): Don't believe width/height values that are
12623 impossibly small.
12624 (Vinitial_window_system): Rename from Vwindow_system.
12625 (termscript, Wcm, rif): Delete.
12626
12627 * termhooks.h (struct terminal): New struct containing the
12628 previously global text display hooks and new members NAME,
12629 DELETED and PARAM_ALIST.
12630 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
12631 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
12632 (FRAME_RIF): New macros.
12633 (get_terminal_param, get_device): New declarations.
12634 (termscript): Delete declaration.
12635
12636 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
12637 (XTflash, x_free_frame_resources, x_scroll_bar_create)
12638 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
12639 FRAME_FOREGROUND_PIXEL.
12640 (x_fully_uncatch_errors): Disable definition.
12641 (x_scroll_bar_expose): Fix reference to foreground pixel.
12642 (XTread_socket): Disable loop on all X displays.
12643 (x_delete_terminal): Don't set terminal->deleted and let
12644 delete_terminal delete the frames on the terminal.
12645 (x_delete_display): Doc update to reflect changes in
12646 delete_terminal.
12647 (x_display_info) <terminal>: Move member earlier in the struct.
8d9cc0b7
MB
12648 (deleting_tty): Remove old variable.
12649 (Fsuspend_tty): Call clear_tty_hooks.
12650 (Fresume_tty, init_tty): Call set_tty_hooks.
8d9cc0b7
MB
12651 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
12652 errors on X frames.
12653 (x_catch_errors_unwind): Abort if x_error_message is NULL.
12654 (handle_one_xevent): Initialize `f' to NULL.
9cab96b0 12655 (x_delete_terminal, x_create_terminal): New functions.
8d9cc0b7
MB
12656 (XTset_terminal_modes, XTreset_terminal_modes)
12657 (XTread_socket, x_connection_closed, x_term_init)
12658 (x_term_init, x_delete_display): Add terminal parameter.
12659 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
12660 X connections.
12661
bf380f53
GM
12662 * frame.c: Include termchar.h.
12663 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
12664 (Qwindow_system, Qenvironment, Qterm_environment_variable)
12665 (Qdisplay_environment_variable): New vars.
12666 (Fframep): Deal with output_initial.
12667 (Fframe-live-p): Doc fix.
12668 (Fwindow-system): New function.
8d9cc0b7
MB
12669 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
12670 (make_terminal_frame): Don't create frames on a terminal that is
bf380f53 12671 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
b8866860 12672 (store_frame_param): Check for found_for_frame before calling XFRAME.
8d9cc0b7
MB
12673 (Fmake_terminal_frame): Handle NULL tty names correctly.
12674 (syms_of_frame): Enhance doc string of `default-frame-alist'.
bf380f53
GM
12675 (Fdelete_frame): Remove unused variable `count'. Don't allow other
12676 frames to refer to a deleted frame in their 'environment parameter.
8d9cc0b7 12677 (Fframe_with_environment): New function.
b8866860 12678 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
8d9cc0b7
MB
12679 (get_future_frame_param): New function.
12680 (Fmake_terminal_frame): Use it.
2d33f506 12681 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
8d9cc0b7
MB
12682
12683 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
12684 * sysdep.c (reset_sys_modes): Update for renames.
12685
12686 * keyboard.c (tty_read_avail_input): New function.
03f06e5c 12687 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
8d9cc0b7
MB
12688 (syms_of_keyboard): Defsubr them.
12689 (Fset_input_meta_mode, Fset_quit_char): New functions.
12690 (Fset_input_mode): Split to above functions.
8d9cc0b7
MB
12691 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
12692 parameter. Use it in call to `read_char'.
b8866860
SM
12693 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
12694 Set wrong_kboard_jmpbuf correctly in recursive calls.
12695 Use current_kboard to access Vkeyboard_translate_table.
12696 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
12697 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
12698 Update longjmp invocations. Remember the original current_kboard,
12699 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
12700 changes it. Comment out unnecessary calls to
12701 `record_single_kboard_state' and `any_kboard_state'.
12702 Update recursive calls.
8d9cc0b7
MB
12703 (wrong_kboard_jmpbuf): Remove global variable.
12704 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
12705 Handle deleted interrupted_kboards correctly; that is a legal
12706 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
b8866860 12707 and read_char calls. Abort if interrupted_kboard died in read_char.
8d9cc0b7
MB
12708 (any_kboard_state, single_kboard_state)
12709 (push_frame_kboard): Remove function.
12710 (pop_kboard): Switch out of single_kboard mode if the kboard has
03f06e5c
JB
12711 been deleted. Remove unused variable. Help debugging by not
12712 changing current_kboard unnecessarily. Set current_kboard to the
8d9cc0b7
MB
12713 kboard of the selected frame when the stored kboard object has
12714 been deleted before pop_kboard.
12715 (temporarily_switch_to_single_kboard): Change first parameter to a
12716 frame pointer. Throw an error when caller wants to change kboards
12717 while in single_kboard mode. Don't push_kboard if we weren't in
12718 single kboard state. Don't pop_kboard if we popped into any
12719 kboard state.
12720 (restore_kboard_configuration): Abort if pop_kboard changed the
03f06e5c 12721 kboard in single_kboard mode. Call pop_kboard only after setting
8d9cc0b7
MB
12722 up single_kboard mode.
12723 (Frecursive_edit): Switch to single_kboard mode only in nested
12724 command loops.
b8866860
SM
12725 (cmd_error, command_loop, command_loop_1, timer_check):
12726 Comment out unnecessary call to `any_kboard_state' and
8d9cc0b7
MB
12727 `record_single_kboard_state'.
12728 (delete_kboard): Exit single_kboard mode if we have just deleted
03f06e5c 12729 that kboard. Use FRAME_KBOARD.
8d9cc0b7
MB
12730 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
12731 `fatal_error_signal'.
12732 (record_single_kboard_state): Don't push_kboard if we weren't in
12733 single kboard state. Don't pop_kboard if we popped into any
12734 kboard state.
12735 (push_frame_kboard): Rename to push_kboard.
12736 (kbd_buffer_get_event): Use FRAME_TERMINAL.
12737 (read_avail_input): Read input from all terminals.
12738 (mark_kboards): Also mark Vkeyboard_translate_table.
12739 (kbd_buffer_store_event_hold): Simplify condition.
12740 (read_key_sequence): Reinitialize fkey and keytran at each replay.
12741 (Vkeyboard_translate_table): Move to struct kboard.
12742 (init_kboard): Initialize Vkeyboard_translate_table.
12743 (syms_of_keyboard): Use DEFVAR_KBOARD to define
12744 Vkeyboard_translate_table. Update doc strings. Update docs of
12745 local-function-key-map and function-key-map.
12746
12747 * terminal.c: New file.
12748
12749 * term.c: Include errno.h.
12750 (Vring_bell_function, device_list, initial_device)
12751 (next_device_id, ring_bell, update_begin, update_end)
12752 (set_terminal_window, cursor_to, raw_cursor_to)
12753 (clear_to_end, clear_frame, clear_end_of_line)
12754 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
12755 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
12756 (syms_of_term): Move their initialization to terminal.c.
12757 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
12758 (Ftty_display_color_cells)
12759 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
9cab96b0 12760 (clear_tty_hooks, set_tty_hooks)
8d9cc0b7
MB
12761 (init_tty, maybe_fatal): New functions.
12762 (Ftty_type): Return nil if terminal is not on a tty instead of
12763 throwing an error. Doc update.
12764 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
03f06e5c 12765 Doc update. Initialize new subrs and variables.
8d9cc0b7
MB
12766 (delete_tty): Use terminal->deleted.
12767 (tty_set_terminal_modes): Rename from set_terminal_modes.
12768 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
12769 (set_scroll_region): Rename to `tty_set_scroll_region'.
12770 (turn_on_insert): Rename to `tty_turn_on_insert'.
12771 (turn_off_insert): Rename to `tty_turn_off_insert'.
12772 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
12773 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
12774 (toggle_highligh): Rename to `tty_toggle_highlight'.
12775 (background_highlight): Rename to `tty_background_highlight'.
12776 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
12777 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
12778 (tty_set_scroll_region, tty_background_highlight)
12779 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
12780 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
12781 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
12782 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
12783 Add static modifier.
12784 (tty_reset_terminal_modes, tty_set_terminal_window)
12785 (tty_set_scroll_region, tty_background_highlight)
12786 (tty_highlight_if_desired, tty_cursor_to)
12787 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
12788 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
12789 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
12790 renames.
12791
880820fe 127922007-08-28 Jan Djärv <jan.h.d@swipnet.se>
cf0590c4
JD
12793
12794 * keyboard.c: Qrtl is new.
12795 (parse_tool_bar_item): Handle :rtl keyword.
12796 (syms_of_keyboard): Intern :rtl keyword.
12797
12798 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
12799
12800 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
12801 so no Lisp code is executed.
12802 (file_for_image, find_rtl_image): New functions.
1f204af3 12803 (xg_get_image_for_pixmap): Use file_for_image.
cf0590c4
JD
12804 (update_frame_tool_bar): If direction is RTL, use RTL image if
12805 defined. Use Gtk stock images if defined.
12806
83cc8d35
YM
128072007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12808
12809 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
12810 for nonexistent or zero-width glyph in composition glyph.
12811
e60c4e15
SM
128122007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
12813
d7e2a28f
SM
12814 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
12815
e60c4e15
SM
12816 * xdisp.c (Finvisible_p): New function.
12817 (syms_of_xdisp): defsubr it.
12818
ee163e6d
JB
128192007-08-24 Juanma Barranquero <lekktu@gmail.com>
12820
12821 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
12822 Doc fixes.
12823
90fa408d
YM
128242007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12825
35277b03 12826 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
90fa408d 12827
cac4219c
MR
128282007-08-24 Martin Rudalics <rudalics@gmx.at>
12829
12830 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
12831 whether decoding has modified buffer contents.
12832
5fc9fdeb
JR
128332007-08-24 Jason Rumney <jasonr@gnu.org>
12834
12835 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
12836 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
12837 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
12838 (init_svg_functions) [HAVE_NTGUI]: New function.
12839 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
12840 (svg_load_image): Use them.
12841 (svg_load_image) [HAVE_NTGUI]: Implement background.
12842
93b23406
YM
128432007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12844
12845 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
12846 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
12847 (LIBX): Remove @RSVG_LIBS@.
12848 (LIBES): Add $(RSVG_LIBS).
12849
12850 * image.c (svg_load_image): Blend with specified background if exists.
12851 Use IMAGE_BACKGROUND. Add Mac OS Support.
12852
12853 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
12854 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
12855 Remove macros.
12856 [MAC_OSX] (socket_callback): Do nothing.
12857 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
12858 ReceiveNextEvent.
12859 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
12860 socket_callback.
12861 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
12862
2467875c
GM
128632007-08-22 Glenn Morris <rgm@gnu.org>
12864
ff8da443 12865 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
2467875c 12866
4ab27a43
GM
128672007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
12868
12869 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
ff8da443 12870
666e0eda
GM
12871 * image.c: Add support for SVG images. Some additional comments
12872 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
12873 (svg_image_p): New function to test for SVG image.
12874 (svg_load): New function to load SVG image.
12875 (svg_load_image): New function, helper for svg_load.
12876 (Qsvg): New Lisp_object.
12877 (svg_keyword_index): New enum.
12878 (svg_format): New static `image_keyword' struct.
12879 (svg_type): New static `image_type' struct.
12880 (librsvg/rsvg.h): Include it.
4ab27a43 12881
b636b4c1
SM
128822007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
12883
12884 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
12885
9ecb827b
SM
128862007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
12887
1d064697
SM
12888 * lread.c (Qold_style_backquotes): New var.
12889 (syms_of_lread): Init and staticpro it.
12890 (load_warn_old_style_backquotes): New fun.
12891 (Fload): Use them to warn about old style backquotes.
12892 (end_of_file_error, Fload): Remove unused vars.
12893
5772ed4b
SM
12894 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
12895
9ecb827b 12896 * lread.c (Vold_style_backquotes): New var.
5aa273b0 12897 (syms_of_lread): Init and export it to Elisp.
9ecb827b
SM
12898 (read1): Set it when we find an old-style (back)quote.
12899
32e1c7b1
JR
129002007-08-22 Jason Rumney <jasonr@gnu.org>
12901
12902 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
12903
b8fa755b
KY
129042007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
12905
12906 * puresize.h (BASE_PURESIZE): Increase to 1140000.
12907
1283140e
RS
129082007-08-19 Richard Stallman <rms@gnu.org>
12909
12910 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
12911
2c4685ee
AS
129122007-08-19 Andreas Schwab <schwab@suse.de>
12913
12914 * alloc.c (pure): Round PURESIZE up.
12915
880820fe 129162007-08-17 Jan Djärv <jan.h.d@swipnet.se>
e8953ebf
JD
12917
12918 * xterm.c (handle_one_xevent): Remove check that mouse click is in
12919 active frame.
12920
6e33efc4
RS
129212007-08-16 Richard Stallman <rms@gnu.org>
12922
12923 * eval.c (Fcommandp): Add parens to clarify.
12924
12925 * minibuf.c (Fall_completions): Use enum for type of table.
12926
12927 * emacs.c (USAGE2): Improve text.
12928
fcf8ff2e
GM
129292007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
12930
5205ee62
GM
12931 * term.c (tty_default_color_capabilities): Declare static
12932 variables in file scope, to avoid HPUX compiler problem.
fcf8ff2e 12933
880820fe 129342007-08-13 Jan Djärv <jan.h.d@swipnet.se>
81d13a51
JD
12935
12936 * gtkutil.c (update_frame_tool_bar): Use -1 as index
12937 to gtk_toolbar_insert.
12938
4a181359
SM
129392007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
12940
1bc99c9c
SM
12941 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
12942
4a181359
SM
12943 * insdel.c (reset_var_on_error): New fun.
12944 (signal_before_change, signal_after_change):
12945 Use it to reset (after|before)-change-functions to nil in case of error.
12946 Bind inhibit-modification-hooks to t.
12947 Don't bind (after|before)-change-functions to nil while they run.
12948
6c28435c
YM
129492007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12950
12951 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
12952 filling pixmap with stippled background.
12953
ad3b3e02
YM
129542007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12955
12956 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
12957 Don't use invisible frame as parent window for repositioning.
12958
a22dec27
SM
129592007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
12960
12961 * print.c (new_backquote_output): Rename from old_backquote_output.
12962 (print): Inverse its logic (according to its name) so as to match the
12963 behavior of new_backquote_flag in lread.c.
12964
7b7d07bb
YM
129652007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12966
12967 * gmalloc.c (posix_memalign): New function.
12968
12969 * macterm.c (frame_highlight, frame_unhighlight): Don't call
12970 ActivateControl/DeactivateControl here.
12971 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
12972 frame-notice-user-settings is non-nil.
12973 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
12974 for kEventParamFMFontStyle.
12975 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
12976 mac_pass_command_to_system and mac_pass_control_to_system here.
12977 (XTread_socket): Call ActivateControl/DeactivateControl here.
12978 (XTread_socket) [TARGET_API_MAC_CARBON]:
12979 Check mac_pass_command_to_system and mac_pass_control_to_system here.
f9426479
YM
12980 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
12981 for window repositioning.
7b7d07bb 12982
22e9fe24
GM
129832007-08-08 Glenn Morris <rgm@gnu.org>
12984
12985 * Replace `iff' in doc-strings and comments.
12986
ae494350
CY
129872007-08-07 Chong Yidong <cyd@stupidchicken.com>
12988
12989 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
12990
6f2528d8
MR
129912007-08-07 Martin Rudalics <rudalics@gmx.at>
12992
12993 * fileio.c (Finsert_file_contents): Run format-decode and
12994 after_insert_file_functions on entire buffer when REPLACE is
12995 non-nil and inhibit modification_hooks and point_motion_hooks.
12996 For consistency, run after_insert_file_functions iff something
12997 got inserted. Move signal_after_change and update_compositions
12998 after code running after_insert_file_functions. Make sure that
6b8e474c 12999 undo_list doesn't record intermediate steps of the decoding process.
6f2528d8 13000
3ceeb306
YM
130012007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13002
13003 * emacs.c (main)
13004 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
13005 Call malloc_enable_thread on interactive startup.
13006
13007 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
7b7d07bb
YM
13008 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
13009 [USE_PTHREAD]: Conditionalize with it.
3ceeb306
YM
13010 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
13011 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
13012 New functions.
13013
ca5e6fd5
CY
130142007-08-06 Chong Yidong <cyd@stupidchicken.com>
13015
32bfce5d
CY
13016 * xdisp.c (redisplay_window): When restoring original buffer
13017 position, make sure it is still valid.
13018
ca5e6fd5
CY
13019 * image.c (png_load): Ignore png-supplied background color.
13020
a5b11587
YM
130212007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13022
13023 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
13024 Use kCFAbsoluteTimeIntervalSince1970.
13025
13026 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
13027 New variable.
13028 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
13029 event loop should be quit.
13030 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
13031 Quit dialog event loop if quit_dialog_event_loop is set.
13032
13033 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
13034 (Selection): New typedef. Use instead of ScrapRef.
13035 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
13036 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
13037 (mac_clear_selection): Rename from clear_scrap.
13038 (get_flavor_type_from_symbol): New argument SEL and subsume function of
ff8da443 13039 scrap_has_target_type. All uses changed.
a5b11587
YM
13040 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
13041 (mac_selection_has_target_p): New functions.
13042 (mac_put_selection_value): Rename from put_scrap_string.
13043 (mac_get_selection_value): Rename from get_scrap_string.
13044 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
13045 (put_scrap_private_timestamp, scrap_has_target_type)
13046 (get_scrap_private_timestamp): Remove functions.
13047 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
13048 (x_own_selection, x_get_local_selection):
13049 Use mac_valid_selection_value_p.
13050 (x_own_selection): Don't use put_scrap_private_timestamp.
13051 Record OWNERSHIP-INFO into Vselection_alist instead.
13052 (x_get_local_selection): Don't check type if request is local.
13053 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
13054 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
13055
880820fe 130562007-08-04 Jan Djärv <jan.h.d@swipnet.se>
991bde0d
JD
13057
13058 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
13059 add comment explaining why.
13060
73ff9d42
RS
130612007-08-03 Richard Stallman <rms@gnu.org>
13062
13063 * fileio.c (Fvisited_file_modtime): Use make_time.
13064
54ed9a2d 130652007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
cdf5c17a
VJL
13066
13067 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
13068 build.
13069
65a9c8e2
SM
130702007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
13071
13072 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
13073
c5925799
KY
130742007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
13075
13076 * puresize.h (BASE_PURESIZE): Increase to 1130000.
13077
adef3de7
RS
130782007-07-30 Richard Stallman <rms@gnu.org>
13079
13080 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
13081
880820fe 130822007-07-29 Jan Djärv <jan.h.d@swipnet.se>
784c1472
JD
13083
13084 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
13085
a10421a1
NR
130862007-07-28 Nick Roberts <nickrob@snap.net.nz>
13087
13088 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
13089 remote default-directory.
13090
13091 * buffer.c (mode-line-format): Update doc string.
13092
0cb1ae20
YM
130932007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13094
13095 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
13096 scroll bar gap.
13097 (x_scroll_bar_create): Set bar->fringe_extended_p.
13098 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
13099 on frame edge. Check fringe background extension. Don't clear
13100 extended fringe background area.
13101
13102 * w32term.h (struct scroll_bar): New member fringe_extended_p.
13103 (w32_fill_area): Enclose multiple statements with do ... while (0).
13104
13105 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
13106 Extend fringe background to scroll bar gap.
13107 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
13108 Set bar->fringe_extended_p.
13109 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
13110 Put leftmost/rightmost scroll bars on frame edge. Check fringe
13111 background extension. Don't clear extended fringe background area.
13112
13113 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
13114 New member fringe_extended_p.
13115
cacc7b51
GM
131162007-07-25 Glenn Morris <rgm@gnu.org>
13117
13118 * Relicense all FSF files to GPLv3 or later.
13119
13120 * COPYING: Switch to GPLv3.
13121
89835619
SM
131222007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
13123
c4f46926
SM
13124 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
13125
13126 * data.c (Finteractive_form): Check for the presence of an
13127 `interactive-form' symbol property more thoroughly.
13128
13129 * data.c (Finteractive_form): Use an `interactive-form' property if
89835619
SM
13130 present, analogous to the function-documentation property.
13131
ee04257d
JR
131322007-07-24 Jason Rumney <jasonr@gnu.org>
13133
13134 * w32fns.c (x_real_positions): Get real position from OS instead of
13135 calculating it.
13136
50624218
JR
131372007-07-23 Jason Rumney <jasonr@gnu.org>
13138
13139 * filelock.c (current_lock_owner): Allow for @ sign in username.
13140
3650f60e
NR
131412007-07-22 Nick Roberts <nickrob@snap.net.nz>
13142
13143 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
13144 remote default-directory.
13145
13146 * buffer.c (mode-line-format): Describe above case in doc string.
13147
1e899515 131482007-07-20 Eli Zaretskii <eliz@gnu.org>
b395d6e1 13149
75be5258
EZ
13150 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
13151 Define if not defined.
13152
2b6e2f4d
JR
131532007-07-18 Jason Rumney <jasonr@gnu.org>
13154
13155 * w32proc.c (w32_executable_type): Handle 64 bit executables.
13156
23dacf80
JB
131572007-07-18 Richard Stallman <rms@gnu.org>
13158
13159 * data.c (Fsetq_default): Doc fix.
13160
13161 * eval.c (Fsetq): Doc fix.
13162
131632007-07-18 Juanma Barranquero <lekktu@gmail.com>
13164
13165 * coding.c (Ffind_operation_coding_system):
13166 * eval.c (For, Fand): Doc fixes.
880820fe 13167 Reported by Johan Bockgård.
23dacf80 13168
880820fe 131692007-07-18 Jan Djärv <jan.h.d@swipnet.se>
656de71a 13170
23dacf80 13171 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
656de71a 13172
23dacf80 13173 * xterm.h: Declare x_ewmh_activate_frame.
656de71a
JD
13174
13175 * xterm.c (x_ewmh_activate_frame): New function.
13176 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
13177
71ec17e6
MR
131782007-07-17 Martin Rudalics <rudalics@gmx.at>
13179
13180 * window.c (Fdisplay_buffer): If largest or LRU window is the
13181 only window, split it even if it is not eligible for splitting.
13182 This restores the original behavior broken by the 2007-07-15
13183 change.
13184
e9818042
GM
131852007-07-17 Glenn Morris <rgm@gnu.org>
13186
13187 * abbrev.c (abbrev_check_chars): New function.
6b8e474c
SM
13188 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
13189 Call abbrev_check_chars to check abbrev characters are word
e9818042
GM
13190 constituents. Doc fix.
13191
e6fca843
SM
131922007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
13193
13194 * process.c (Fstart_process, Fmake_network_process)
13195 (read_process_output): Fix up last changes.
13196
b5d2b4ab
EZ
131972007-07-16 Eli Zaretskii <eliz@gnu.org>
13198
13199 * makefile.w32-in (clean): Don't delete *~.
13200
413a79ad
AS
132012007-07-16 Andreas Schwab <schwab@suse.de>
13202
13203 * window.c (Fdisplay_buffer): Use NILP.
13204 (Fset_window_scroll_bars): Likewise.
13205
f1de8c77
MR
132062007-07-15 Martin Rudalics <rudalics@gmx.at>
13207
13208 * window.c (window_min_size_2): New function.
13209 (window_min_size_1, size_window, Fdisplay_buffer)
13210 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
13211 windows without mode- or header-lines when window-min-height is
13212 too small.
13213 (size_window): Reset nodelete_p after testing it, following an
13214 earlier note by Kim F. Storm.
13215 (display_buffer): Do not set split_height_threshold to twice the
13216 value of window_min_height to avoid changing the value of a
13217 customizable variable. Rather explicitly check whether the
13218 height of the window that shall be splitted is at least as large
13219 as split_height_threshold.
1af74d06
MB
13220 (Fwindow_full_width_p): New defun.
13221 (syms_of_window): Defsubr it.
d31053f9 13222
1af74d06 13223 * window.h: Add EXFUN for Fwindow_full_width_p.
f1de8c77 13224
5e1ab613
JR
132252007-07-14 Jason Rumney <jasonr@gnu.org>
13226
13227 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
13228
f01cbfdd
RS
132292007-07-14 Richard Stallman <rms@gnu.org>
13230
13231 * eval.c (maybe_call_debugger): New function.
13232 (find_handler_clause): Use maybe_call_debugger.
13233 Call it when the handler says `debug'.
13234 Eliminate DEBUGGER_VALUE_PTR.
13235 (Fsignal): Eliminate debugger_value.
13236 (Qdebug): New variable.
13237 (syms_of_eval): Initialize it.
13238
1bab435a
JB
132392007-07-14 Juanma Barranquero <lekktu@gmail.com>
13240
13241 * eval.c (Fprogn):
13242 * keyboard.c (Ftrack_mouse):
13243 * print.c (Fwith_output_to_temp_buffer):
13244 * window.c (Fsave_window_excursion): Doc fix.
13245
be436d23
SM
132462007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
13247
13248 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
13249
60f0fb11
SM
132502007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
13251
13252 * process.h (struct Lisp_Process): Turn slots infd, outfd,
13253 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
13254 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
13255 read_output_delay, and read_output_skip from Lisp_Objects to ints.
13256 Remove unused encoding_carryover.
13257 * process.c: Adjust all functions accordingly.
13258
d8b18043
RS
132592007-07-12 Richard Stallman <rms@gnu.org>
13260
13261 * term.c: Include unistd.h only if HAVE_UNISTD_H.
13262
d5781bb6
JR
132632007-07-11 Jason Rumney <jasonr@gnu.org>
13264
13265 * makefile.w32-in (LIBS): Include OLE32.
13266
13267 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
13268 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
13269
5bb7dfee
SM
132702007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
13271
13272 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
13273 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
13274 from a Lisp_Object into a bare pointer.
13275 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
13276 Adjust the code correspondingly.
13277
13278 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
13279
13280 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
13281 (term_show_mouse_face): Remove unused var `j'.
13282 (handle_one_term_event): Remove unused vars `i' and `j'.
13283 Don't cast return value of ttyname since it's not necessary.
13284
a1be1ce8
SM
132852007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
13286
5045e68e
SM
13287 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
13288 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
13289
8071c00f
SM
13290 * fns.c (map_char_table): Use an array of int for `indices' rather than
13291 an array of Lisp_Objects (which are only ever integers anyway).
13292 (Fmap_char_table): Update caller.
13293 * lisp.h: Update prototype.
13294 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
13295 * fontset.c (Ffontset_info):
13296 * casetab.c (set_case_table): Update callers.
13297
13298 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
13299
fab84e3c
SM
13300 * keymap.c (struct accessible_keymaps_data)
13301 (struct where_is_internal_data): New structures.
13302 (accessible_keymaps_1, where_is_internal_1): Use them to change
13303 interface to adhere to the one used by map_keymap.
13304 (Faccessible_keymaps, where_is_internal): Use map_keymap.
13305 (accessible_keymaps_char_table, where_is_internal_2): Remove.
13306
a1be1ce8
SM
13307 * keymap.h (map_keymap_function_t): More informative prototype.
13308
ef887810
RS
133092007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
13310
13311 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
13312 (looking_at_1): Don't change search_regs and last_thing_searched
13313 if `inhibit-changing-match-data' is non-nil.
13314 (string_match_1, search_buffer, set_search_regs): Likewise.
13315 (syms_of_search): Add Lisp level definition for
13316 `inhibit-changing-match-data' and set it to nil.
8071c00f
SM
13317 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
13318 start and end of the match, instead of using values in search_regs.
ef887810 13319
4d02fc25
SM
133202007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
13321
13322 * minibuf.c (Fcompleting_read): New value `confirm-only'
13323 for `require-match'.
13324
fe45b81f
SM
133252007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
13326
13327 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
13328 part of the 2007-06-27 change to syms_of_fileio.
13329
a56dd283
YM
133302007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13331
13332 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
13333 Check WINDOWP before using XWINDOW. Consolidate return statements.
13334
0cf9f5b5
RS
133352007-06-27 Richard Stallman <rms@gnu.org>
13336
13337 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
13338
a66f285a
JB
133392007-06-27 Juanma Barranquero <lekktu@gmail.com>
13340
13341 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
13342
8d0d84d2
YM
133432007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13344
13345 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
13346 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
13347 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
13348 (_free_internal, memalign): Use them.
13349 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
13350 Initialize to PTHREAD_MUTEX_INITIALIZER.
13351 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
13352 (morecore_nolock): Rename from morecore. All uses changed.
13353 Use only nolock versions of internal allocation functions.
13354 (_malloc_internal_nolock, _realloc_internal_nolock)
13355 (_free_internal_nolock): New functions created from
13356 _malloc_internal, _realloc_internal, and _free_internal.
13357 (_malloc_internal, _realloc_internal, _free_internal): Use them.
13358 Copy hook value to automatic variable before its use.
13359 (memalign): Copy hook value to automatic variable before its use.
13360
5a0bbd9a
KH
133612007-06-26 Kenichi Handa <handa@m17n.org>
13362
13363 * coding.c (Ffind_operation_coding_system): Docstring improved.
13364 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
13365
9a51747b
DK
133662007-06-25 David Kastrup <dak@gnu.org>
13367
13368 * keymap.c (Fcurrent_active_maps): Add `position' argument.
13369 (Fwhere_is_internal): Adjust call to `current-active-maps' to
13370 cater for additional parameter.
13371
13372 * keymap.h: Adjust number of parameters to `current-active-maps'.
13373
13374 * doc.c (Fsubstitute_command_keys): Adjust call of
13375 `current-active-maps'.
13376
e4305426
DK
133772007-06-25 David Kastrup <dak@gnu.org>
13378
13379 * callint.c (Fcall_interactively): Make the parsing of interactive
13380 specs somewhat more readable.
13381
511a18d9
YM
133822007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13383
13384 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
13385 to scroll bar gap also when bitmap fills fringe. Draw only foreground
13386 if extended background has already been filled.
13387
512eb161
YM
133882007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13389
13390 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
13391 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
13392
13393 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
13394 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
13395 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
13396 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
13397 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
13398 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
13399 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
13400 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
13401 Run timers during dialog popup.
13402 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
13403
2386b1f1
JR
134042007-06-21 Jason Rumney <jasonr@gnu.org>
13405
13406 * image.c (convert_mono_to_color_image): Swap fore and background.
13407
fab8b787
JR
134082007-06-20 Jason Rumney <jasonr@gnu.org>
13409
13410 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
13411 (w32_free_bdf_font): Unmap memory not handle.
13412
15bdd7a0 134132007-06-20 Sam Steingold <sds@gnu.org>
3cacba85
SS
13414
13415 * gmalloc.c (__morecore): Fix the declaration to comply with the
13416 definition.
13417
1bb8a291
JB
134182007-06-20 Juanma Barranquero <lekktu@gmail.com>
13419
13420 * w32term.c (w32_delete_display): Remove leftover declaration.
13421 (w32_define_cursor, w32_initialize): Make static.
13422
13423 * w32.c (_wsa_errlist): Fix typo in error message.
13424 (init_environment): Ignore any environment variable from the
13425 registry having a null value.
13426
92648dea
GM
134272007-06-20 Glenn Morris <rgm@gnu.org>
13428
13429 * Makefile.in (LIBGIF): Default to -lgif.
13430
ff25d115
JR
134312007-06-17 Jason Rumney <jasonr@gnu.org>
13432
13433 * w32menu.c (add_menu_item): Don't use multibyte string functions on
13434 unicode strings.
13435
a1a578a5
JB
134362007-06-16 Juanma Barranquero <lekktu@gmail.com>
13437
13438 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
13439 Fix typo in docstring.
13440
af41f8a8
EZ
134412007-06-16 Eli Zaretskii <eliz@gnu.org>
13442
13443 * w32menu.c (add_menu_item): Escape `&' characters in menu items
13444 and their keybindings.
13445
8b29cab9
CY
134462007-06-15 Chong Yidong <cyd@stupidchicken.com>
13447
13448 * composite.c (update_compositions): Fix last fix.
13449
c433c134
JR
134502007-06-14 Jason Rumney <jasonr@gnu.org>
13451
13452 * w32.c (get_process_times_fn): New function pointer.
13453 (globals_of_w32): Intialize it if present in kernel32.dll.
13454 (w32_get_internal_run_time): New function.
13455
13456 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
13457
553d3164
KH
134582007-06-14 Kenichi Handa <handa@etlken.m17n.org>
13459
13460 * composite.c (update_compositions): Check the validness of
13461 compositions.
13462
446ba96f
YM
134632007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13464
13465 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
13466 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
13467
13468 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
13469 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
13470
13471 * macgui.h (USE_MAC_TOOLBAR): New define.
13472
13473 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
13474 Return immediately unless popup is activated.
13475
13476 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
13477 background to scroll bar gap.
13478 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
13479 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
13480 scroll bars on frame edge. Check fringe background extension.
13481 Don't clear extended fringe background area.
13482 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
13483 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
13484 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
13485 [USE_MAC_TOOLBAR]: New macros.
13486 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
13487 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
13488 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
13489 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
13490 [USE_MAC_TOOLBAR]: New functions.
13491 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
13492 manually if previous repositioning has failed.
13493 (mac_handle_keyboard_event): Use precomputed event kind.
13494 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
13495 as tool bar item click. Handle mouse movement over tool bar items.
13496
13497 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
13498 toolbar_win_gravity.
13499 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
13500 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
13501 Add externs.
13502
13503 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
13504 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
13505
9720173f
CY
135062007-06-14 Chong Yidong <cyd@stupidchicken.com>
13507
13508 * image.c (search_image_cache): Remove unused variable.
13509
1217dd00
CY
135102007-06-13 Chong Yidong <cyd@stupidchicken.com>
13511
13512 * xfns.c, xmenu.c: Link to xaw3d if available.
13513
c5b8e0ea
YM
135142007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13515
13516 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
13517 frame_foreground and frame_background.
13518
13519 * image.c (lookup_image): Save frame foreground and background colors.
13520 (search_image_cache): Check if saved and current frame colors match.
13521
c69b0314
SM
135222007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
13523
13524 * regex.c (regex_compile): Remove the `regnum' counter.
13525 Use bufp->re_nsub instead. Add support for \(?N:RE\).
13526
c9612b8e
SM
135272007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
13528
13529 * term.c: Include intervals.h to declare Fget_text_property.
13530
843d2458
JR
135312007-06-10 Jason Rumney <jasonr@gnu.org>
13532
13533 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
13534
1e0d2d60 135352007-06-08 Juanma Barranquero <lekktu@gmail.com>
977f6cfb
JB
13536
13537 * callint.c (Fcall_interactively):
13538 * editfns.c (Fdelete_and_extract_region):
13539 * fileio.c (Fread_file_name):
13540 * fns.c (Fmapconcat):
13541 * keyboard.c (cmd_error_internal):
13542 * keymap.c (Fkey_description):
13543 * lread.c (openp):
13544 * minibuf.c (read_minibuf):
13545 * search.c (wordify):
13546 * sunfns.c (sel_read):
13547 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
13548 * xfns.c (x_default_scroll_bar_color_parameter):
13549 * xmenu.c (menu_help_callback):
13550 * xselect.c (Fx_get_atom_name):
13551 * xterm.c (x_term_init): Use empty_unibyte_string.
13552
15bdd7a0 135532007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
977f6cfb
JB
13554
13555 * alloc.c (init_strings): Initialize canonical empty strings.
13556 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
13557 canonical empty string when the requested size is 0.
13558
13559 * emacs.c (empty_unibyte_string): Rename from empty_string.
13560 (empty_multibyte_string): New canonical empty string.
13561 (syms_of_emacs): Don't initialize empty_string.
13562
13563 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
13564 string, if appropriate.
13565 (empty_unibyte_string, empty_multibyte_string): New externs.
13566 (empty_string): Remove extern.
13567
13568 * lread.c (syms_of_lread): Use empty_unibyte_string.
13569
42c4c67a
JR
135702007-06-07 Jason Rumney <jasonr@gnu.org>
13571
13572 * s/ms-w32.h: Don't define HAVE_TZNAME.
13573
13574 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
13575
aa8280d3
YM
135762007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13577
13578 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
13579
13580 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
13581 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
13582
13583 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
13584 Don't call next handler.
13585 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
13586 Remove argument. Install handler to application.
13587 (set_frame_menubar): Don't change deep_p.
1e0d2d60 13588 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
aa8280d3
YM
13589 FRAME_OUTER_TO_INNER_DIFF_Y.
13590 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
13591 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
13592 [HAVE_DIALOGS]: New macros.
13593 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
13594 Use them.
13595 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
13596
13597 * macselect.c [MAC_OSX] (install_service_handler): Rename from
13598 init_service_handler. All callers changed. Return OSStatus value.
13599
13600 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
13601 All callers changed so as not to call SetPortWindowPort.
13602 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
13603 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
13604 mac_draw_string_common.
13605 (mac_draw_image_string_qd): Likewise.
13606 (mac_draw_string_common): Use them. Add INLINE.
13607 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
13608 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
13609 GetGlobalMouse.
13610 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
13611 and FRAME_OUTER_TO_INNER_DIFF_Y.
13612 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
13613 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
13614 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
13615 repositioning window to mac_handle_window_event.
13616 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
13617 saving window location to mac_handle_window_event
13618 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
13619 (install_menu_target_item_handler): Remove argument in extern.
13620 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
13621 Also accept command events.
13622 (do_keystroke): New function created from XTread_socket.
13623 (init_command_handler): Remove functions.
13624 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
13625 and save window location by kEventWindowShowing and kEventWindowHiding
13626 handlers here. Don't call next handler for window state change and
13627 focus events.
13628 (mac_handle_application_event, mac_handle_keyboard_event)
13629 [TARGET_API_MAC_CARBON]: New functions.
13630 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
13631 kEventWindowShowing and kEventWindowHiding events. Move installation
13632 of mouse, font, text input and menu target item handlers to
13633 install_application_handler.
13634 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
13635 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
13636 New function.
13637 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
13638 Register it.
c9612b8e
SM
13639 (XTread_socket) [TARGET_API_MAC_CARBON]:
13640 Consolidate SendEventToEventTarget calls.
13641 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
13642 Move application activation handler to mac_handle_application_event.
13643 Move keyboard handler to mac_handle_keyboard_event.
aa8280d3
YM
13644 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
13645 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
13646 init_command_handler. Call install_application_handler.
13647
13648 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
13649 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
13650
6926c954
GM
136512007-06-07 Glenn Morris <rgm@gnu.org>
13652
13653 * emacs.c (main): Use `emacs-copyright' in --version output.
13654
6fe04c89
CY
136552007-06-06 Chong Yidong <cyd@stupidchicken.com>
13656
c9612b8e 13657 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
6fe04c89 13658
7eb0d727
YM
136592007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13660
13661 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
13662
13663 * macgui.h: Replace WindowPtr with WindowRef.
13664
13665 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
13666 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
13667 Replace ControlHandle with ControlRef.
13668 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
13669
13670 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
13671 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
13672 Replace ControlHandle with ControlRef.
13673 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
13674 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
13675
13676 * macterm.h (struct scroll_bar): Rename member control_handle_low
13677 and control_handle_high to control_ref_low and control_ref_high.
13678 All uses changed.
13679 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
13680 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
13681 respectively. All uses changed.
13682 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
13683 (install_window_handler, remove_window_handler): Replace WindowPtr
13684 with WindowRef in externs.
13685
65fddb74
JB
136862007-06-05 Juanma Barranquero <lekktu@gmail.com>
13687
13688 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
13689
db1213a9
NR
136902007-06-03 Nick Roberts <nickrob@snap.net.nz>
13691
13692 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
13693
65fddb74 13694 * frame.c (Fmouse_position, Fmouse_pixel_position):
db1213a9
NR
13695 Condition on HAVE_GPM too.
13696
13697 * term.c (term_mouse_highlight): Remove unused variables.
13698 (Fterm_open_connection): Set gpm_zerobased to 1.
13699 (term_mouse_movement, term_mouse_click, handle_one_term_event):
13700 Use zero based co-ordinates.
13701 (handle_one_term_event): Report a drag as mouse movement too.
13702
13703 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
13704
d94df25b
CY
137052007-06-03 Chong Yidong <cyd@stupidchicken.com>
13706
13707 * image.c (search_image_cache): New function. Require background
13708 color match if background color is unspecified in the image spec.
13709 (uncache_image, lookup_image): Use it.
13710
4797b6d9
JB
137112007-06-01 Juanma Barranquero <lekktu@gmail.com>
13712
13713 * window.c (Fshrink_window): Reflow docstring.
13714
1ffe7343
NR
137152007-06-02 Chong Yidong <cyd@stupidchicken.com>
13716
13717 * Version 22.1 released.
13718
137192007-06-01 Richard Stallman <rms@gnu.org>
13720
13721 * xfns.c (x_encode_text): Add GCPRO.
13722
137232007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13724
13725 * xfns.c (x_set_name_internal): Save encoded name before
13726 x_encode_text in case string data is relocated.
13727
137282007-05-31 Richard Stallman <rms@gnu.org>
13729
13730 * buffer.c (syms_of_buffer): Doc fix.
13731
137322007-05-30 Nick Roberts <nickrob@snap.net.nz>
13733
13734 * sysdep.c (init_sys_modes): Add rather than replace with
13735 O_NONBLOCK.
13736
13737 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
13738 term_mouse_moveto.
13739
13740 * termhooks.h (term_mouse_moveto): New extern.
13741
13742 * term.c (mouse_face_window): Rename...
13743 (Qmouse_face_window): ...to this.
13744 (term_show_mouse_face, term_clear_mouse_face)
13745 (term_mouse_highlight): Use Qmouse_face_window.
13746 (term_mouse_moveto): New function.
13747 (term_mouse_position): Make it work.
13748 (syms_of_term): Uncomment assignment to mouse_position_hook.
13749 Staticpro Qmouse_face_window.
13750
137512007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13752
13753 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
13754 around current_column call.
13755
137562007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
13757
13758 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
13759 * xdisp.c (next_element_from_buffer):
13760 * window.c (delete_window):
13761 * term.c (term_mouse_highlight):
13762 * msdos.c (getdefdir):
13763 * macterm.c (mac_create_bitmap_from_bitmap_data)
13764 (init_font_name_table):
13765 * fns.c (Fsxhash):
13766 * data.c (Fmake_local_variable):
13767 * ccl.c (ccl_driver): Likewise.
13768
137692007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13770
13771 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
13772 Call mac_wakeup_from_rne on window size change.
13773
137742007-05-25 Chong Yidong <cyd@stupidchicken.com>
13775
13776 * image.c (uncache_image): Fix typo.
13777
137782007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
13779
13780 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
13781
137822007-05-22 Richard Stallman <rms@gnu.org>
13783
13784 * xterm.c (x_connection_closed): Remove NO_RETURN.
13785
137862007-05-22 Martin Rudalics <rudalics@gmx.at>
13787
13788 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
13789
137902007-05-21 Chong Yidong <cyd@stupidchicken.com>
13791
13792 * image.c (uncache_image): New function.
13793 (Fimage_refresh): New function.
13794
880820fe 137952007-05-20 Jan Djärv <jan.h.d@swipnet.se>
1ffe7343
NR
13796
13797 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
13798
137992007-05-20 Nick Roberts <nickrob@snap.net.nz>
13800
13801 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
13802 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
13803
138042007-05-20 Nick Roberts <nickrob@snap.net.nz>
13805
13806 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
13807 conditional on [HAVE_GPM_H].
13808
138092007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
13810
13811 * syntax.c (skip_chars): Update syntax-table only after we checked that
13812 the new location is valid.
13813
138142007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13815
13816 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
13817 mac_get_window_bounds.
13818
138192007-05-20 Nick Roberts <nickrob@snap.net.nz>
13820
13821 * Makefile.in (LIBGPM): Allow it to be set from configure.
13822 If set then link Emacs with it.
13823
13824 * config.in: Regenerate.
13825
13826 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
13827 New externs.
13828
13829 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
13830 Include gpm.h.
13831 (handle_one_term_event, term_gpm): New externs.
13832
13833 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
13834 and allow it to be interrupted by SIGIO.
13835
13836 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
13837 (wait_reading_process_output): Wait on gpm_fd too.
13838 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
13839 (add_gpm_wait_descriptor_called_flag): New variable.
13840 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
13841
13842 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
13843 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
13844 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
13845 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
13846 (make_lispy_event): Add case GPM_CLICK_EVENT.
13847 (read_avail_input): Handle mouse input.
13848
13849 * term.c (write_glyphs_with_face): New function.
13850 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
13851 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
13852 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
13853 (mouse_face_face_id, term_gpm, pos_x, pos_y)
13854 (last_mouse_x, last_mouse_y): New variables.
13855 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
13856 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
13857 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
13858 (Fterm_close_connection): New functions.
13859 (term_init): Initialise mouse_face_window.
13860
138612007-05-19 Chong Yidong <cyd@stupidchicken.com>
13862
13863 * xdisp.c (redisplay_window): If first window line is a
13864 continuation line, recompute the new window start instead of
13865 recentering.
13866
138672007-05-18 Glenn Morris <rgm@gnu.org>
13868
13869 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
13870 Suggested by Alfred M. Szmidt <ams@gnu.org>.
13871
138722007-05-17 Glenn Morris <rgm@gnu.org>
13873
13874 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
13875
138762007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13877
13878 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
13879 dead key repeat and up events.
13880
138812007-05-14 Chong Yidong <cyd@stupidchicken.com>
13882
13883 * image.c (pbm_load): Check image size for monochrome pbm.
13884
138852007-05-13 Chong Yidong <cyd@stupidchicken.com>
13886
13887 * xterm.c (XTread_socket): Revert last change.
13888
138892007-05-12 Chong Yidong <cyd@stupidchicken.com>
13890
13891 * image.c (pbm_load): Correctly check image size for greyscale pbm.
13892
13893 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
13894
138952007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
13896
13897 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
13898 mixup (YAILOM).
13899
139002007-05-07 Andreas Schwab <schwab@suse.de>
13901
13902 * keymap.c (Flookup_key): Fix typo in last change.
13903
139042007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
13905
13906 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
13907 mapping for unibyte strings.
13908
139092007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13910
13911 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
13912 (Fx_popup_dialog) [MAC_OSX]: Likewise.
13913
139142007-04-29 Richard Stallman <rms@gnu.org>
13915
13916 * insdel.c (replace_range): For undo, record insertion first.
13917
139182007-04-29 Andreas Schwab <schwab@suse.de>
13919
13920 * lisp.h (VECSIZE): Use OFFSETOF.
13921
139222007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13923
13924 * xdisp.c (try_window_reusing_current_matrix): Fix number of
13925 disabled lines.
13926
139272007-04-28 Richard Stallman <rms@gnu.org>
13928
13929 * lread.c (read_escape): In a string, \s is always space.
13930
880820fe 139312007-04-27 Jan Djärv <jan.h.d@swipnet.se>
1ffe7343
NR
13932
13933 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
13934
13935 * gtkutil.c (xg_update_menubar, create_menus): Create empty
13936 submenu for menu bar items.
13937
382c648d 13938See ChangeLog.10 for earlier changes.
6922b018
KH
13939
13940;; Local Variables:
880820fe 13941;; coding: utf-8
33462dfa 13942;; add-log-time-zone-rule: t
67e8d28a 13943;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
6922b018 13944;; End:
2a34a036 13945
59ce725a 13946 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
7f6d64f8
GM
13947
13948 This file is part of GNU Emacs.
13949
5a1dde61 13950 GNU Emacs is free software: you can redistribute it and/or modify
7f6d64f8 13951 it under the terms of the GNU General Public License as published by
5a1dde61
GM
13952 the Free Software Foundation, either version 3 of the License, or
13953 (at your option) any later version.
7f6d64f8
GM
13954
13955 GNU Emacs is distributed in the hope that it will be useful,
13956 but WITHOUT ANY WARRANTY; without even the implied warranty of
13957 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13958 GNU General Public License for more details.
13959
13960 You should have received a copy of the GNU General Public License
5a1dde61 13961 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
ab5796a9 13962
28f60c3d 13963;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40